diff --git a/Android.bp b/Android.bp
index 558810c..44f064e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -103,6 +103,7 @@
         "plat_seapp_contexts",
         "plat_sepolicy.cil",
         "plat_sepolicy_genfs_202504.cil",
+        "plat_sepolicy_genfs_202604.cil",
         "plat_service_contexts",
         "secilc",
         "plat_29.0.cil",
@@ -123,6 +124,14 @@
             "plat_202404.cil",
             "202404.compat.cil",
         ],
+    }) + select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        // TODO(b/391513934): clean up once we can simplify complex select statements.
+        "202404": [],
+        "202504": [],
+        default: [
+            "plat_202504.cil",
+            "202504.compat.cil",
+        ],
     }) + select(soong_config_variable("ANDROID", "PRODUCT_PRECOMPILED_SEPOLICY"), {
         true: ["plat_sepolicy_and_mapping.sha256"],
         default: [],
@@ -256,9 +265,6 @@
     name: "plat_sepolicy.cil",
     src: ":plat_sepolicy.conf",
     additional_cil_files: [":sepolicy_technical_debt{.plat_private}"],
-    dist: {
-        targets: ["sepolicy_finalize"],
-    },
 }
 
 // userdebug_plat_policy.conf - the userdebug version plat_sepolicy.cil
@@ -367,9 +373,6 @@
     mapping: true,
     version: "current",
     relative_install_path: "mapping", // install to /system/etc/selinux/mapping
-    dist: {
-        targets: ["sepolicy_finalize"],
-    },
 }
 
 se_versioned_policy {
@@ -672,7 +675,8 @@
         ":product_mapping_file",
     ],
     device_first_srcs: select(soong_config_variable("ANDROID", "BOARD_GENFS_LABELS_VERSION"), {
-        "202504": [":plat_sepolicy_genfs_202504.cil"],
+        "202404": [],
+        any @ ver: [":plat_sepolicy_genfs_" + ver + ".cil"],
         default: [],
     }),
     // Make precompiled_sepolicy_srcs as public so that OEMs have access to them.
@@ -774,6 +778,9 @@
     additional_cil_files: ["private/technical_debt.cil"],
     installable: false,
     secilc_check: false, // done by se_policy_binary
+    dist: {
+        targets: ["sepolicy_finalize"],
+    },
 }
 
 se_policy_binary {
@@ -835,6 +842,18 @@
     },
 }
 
+se_versioned_policy {
+    name: "base_plat_mapping_file",
+    base: ":base_plat_pub_policy.cil",
+    mapping: true,
+    version: "current",
+    relative_install_path: "mapping", // install to /system/etc/selinux/mapping
+    dist: {
+        targets: ["sepolicy_finalize"],
+    },
+    installable: false,
+}
+
 se_policy_conf {
     name: "base_product_pub_policy.conf",
     defaults: ["se_policy_conf_flags_defaults"],
@@ -906,8 +925,32 @@
 // Additional directories can be specified via Makefile variables:
 // SEPOLICY_FREEZE_TEST_EXTRA_DIRS and SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS.
 //////////////////////////////////
+
+FREEZE_TEST_BOARD_API_LEVEL = "202504"
+
+se_policy_conf {
+    name: "base_plat_pub_policy_for_freeze_test.conf",
+    defaults: ["se_policy_conf_flags_defaults"],
+    srcs: plat_public_policy +
+        reqd_mask_policy,
+    build_variant: "user",
+    installable: false,
+    board_api_level: FREEZE_TEST_BOARD_API_LEVEL,
+}
+
+se_policy_cil {
+    name: "base_plat_pub_policy_for_freeze_test.cil",
+    src: ":base_plat_pub_policy_for_freeze_test.conf",
+    filter_out: [":reqd_policy_mask.cil"],
+    secilc_check: false,
+    installable: false,
+}
+
 se_freeze_test {
     name: "se_freeze_test",
+    board_api_level: FREEZE_TEST_BOARD_API_LEVEL,
+    current_cil: ":base_plat_pub_policy_for_freeze_test.cil",
+    prebuilt_cil: ":" + FREEZE_TEST_BOARD_API_LEVEL + "_plat_pub_policy.cil",
 }
 
 //////////////////////////////////
@@ -998,6 +1041,13 @@
         default: [
             "system_ext_202404.cil",
         ],
+    }) + select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        // TODO(b/391513934): clean up once we can simplify complex select statements.
+        "202404": [],
+        "202504": [],
+        default: [
+            "system_ext_202504.cil",
+        ],
     }) +
     select(soong_config_variable("ANDROID", "PRODUCT_PRECOMPILED_SEPOLICY"), {
         true: ["system_ext_sepolicy_and_mapping.sha256"],
@@ -1027,6 +1077,13 @@
         default: [
             "system_ext_202404.compat.cil",
         ],
+    }) + select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        // TODO(b/391513934): clean up once we can simplify complex select statements.
+        "202404": [],
+        "202504": [],
+        default: [
+            "system_ext_202504.compat.cil",
+        ],
     }) + select(release_flag("RELEASE_AVF_ENABLE_VM_TO_TEE_SERVICES_ALLOWLIST"), {
         true: ["system_ext_tee_service_contexts"],
         default: [],
@@ -1066,6 +1123,13 @@
         default: [
             "product_202404.cil",
         ],
+    }) + select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        // TODO(b/391513934): clean up once we can simplify complex select statements.
+        "202404": [],
+        "202504": [],
+        default: [
+            "product_202504.cil",
+        ],
     }) + select(release_flag("RELEASE_AVF_ENABLE_VM_TO_TEE_SERVICES_ALLOWLIST"), {
         true: ["product_tee_service_contexts"],
         default: [],
@@ -1170,6 +1234,7 @@
         "plat_seapp_contexts",
         "plat_sepolicy.cil",
         "plat_sepolicy_genfs_202504.cil",
+        "plat_sepolicy_genfs_202604.cil",
         "plat_service_contexts",
         "plat_service_contexts_test",
         "searchpolicy",
@@ -1180,6 +1245,14 @@
             "202404.compat.cil",
             "plat_202404.cil",
         ],
+    }) + select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        // TODO(b/391513934): clean up once we can simplify complex select statements.
+        "202404": [],
+        "202504": [],
+        default: [
+            "202504.compat.cil",
+            "plat_202504.cil",
+        ],
     }) + select(soong_config_variable("ANDROID", "PRODUCT_PRECOMPILED_SEPOLICY"), {
         true: ["plat_sepolicy_and_mapping.sha256"],
         default: [],
@@ -1210,6 +1283,17 @@
         (default, default, default): [
             "treble_sepolicy_tests_202404",
         ],
+    }) + select((
+        soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"),
+        soong_config_variable("ANDROID", "ASAN_ENABLED"),
+        product_variable("selinux_ignore_neverallows"),
+    ), {
+        ("202404", default, default): [], // TODO(b/391513934): clean up once we can simplify complex select statements.
+        ("202504", true, true): [],
+        (default, true, true): [],
+        (default, default, default): [
+            "treble_sepolicy_tests_202504",
+        ],
     }) + select(soong_config_variable("ANDROID", "RELEASE_BOARD_API_LEVEL_FROZEN"), {
         true: ["se_freeze_test"],
         default: [],
diff --git a/apex/Android.bp b/apex/Android.bp
index 37400dd..66f8ef3 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -253,6 +253,13 @@
 }
 
 filegroup {
+    name: "com.android.bt-file_contexts",
+    srcs: [
+        "com.android.bt-file_contexts",
+    ],
+}
+
+filegroup {
     name: "com.android.car.framework-file_contexts",
     srcs: [
         "com.android.car.framework-file_contexts",
diff --git a/apex/com.android.biometrics.virtual.face-file_contexts b/apex/com.android.biometrics.virtual.face-file_contexts
index 07fc0a8..8d9b86c 100644
--- a/apex/com.android.biometrics.virtual.face-file_contexts
+++ b/apex/com.android.biometrics.virtual.face-file_contexts
@@ -1,3 +1,3 @@
-(/.*)?                                          u:object_r:vendor_file:s0
-/etc(/.*)?                                      u:object_r:vendor_configs_file:s0
+(/.*)?                                          u:object_r:system_file:s0
+/lib(64)?(/.*)                                  u:object_r:system_lib_file:s0
 /bin/hw/android\.hardware\.biometrics\.face-service\.example u:object_r:virtual_face_exec:s0
diff --git a/apex/com.android.bluetooth-file_contexts b/apex/com.android.bt-file_contexts
similarity index 100%
rename from apex/com.android.bluetooth-file_contexts
rename to apex/com.android.bt-file_contexts
diff --git a/apex/com.android.virt-file_contexts b/apex/com.android.virt-file_contexts
index 75f9c10..bb0f909 100644
--- a/apex/com.android.virt-file_contexts
+++ b/apex/com.android.virt-file_contexts
@@ -12,3 +12,4 @@
 is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `
     /bin/early_virtmgr u:object_r:early_virtmgr_exec:s0
 ')
+/lib(64)?(/.*)?          u:object_r:system_lib_file:s0
diff --git a/build/soong/selinux_test.go b/build/soong/selinux_test.go
index dd980a5..beecf9f 100644
--- a/build/soong/selinux_test.go
+++ b/build/soong/selinux_test.go
@@ -72,7 +72,7 @@
 			`),
 	).RunTest(t).TestContext
 
-	collectorModule := ctx.ModuleForTests("se_flags_collector", "").Module()
+	collectorModule := ctx.ModuleForTests(t, "se_flags_collector", "").Module()
 	collectorData, ok := android.OtherModuleProvider(ctx.OtherModuleProviderAdaptor(), collectorModule, buildFlagsProviderKey)
 	if !ok {
 		t.Errorf("se_flags_collector must provide buildFlags")
diff --git a/build/soong/sepolicy_freeze.go b/build/soong/sepolicy_freeze.go
index 41d460d..21f6dba 100644
--- a/build/soong/sepolicy_freeze.go
+++ b/build/soong/sepolicy_freeze.go
@@ -20,9 +20,6 @@
 	"android/soong/android"
 )
 
-var currentCilTag = dependencyTag{name: "current_cil"}
-var prebuiltCilTag = dependencyTag{name: "prebuilt_cil"}
-
 func init() {
 	ctx := android.InitRegistrationContext
 	ctx.RegisterModuleType("se_freeze_test", freezeTestFactory)
@@ -33,72 +30,35 @@
 // SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS.
 func freezeTestFactory() android.Module {
 	f := &freezeTestModule{}
+	f.AddProperties(&f.properties)
 	android.InitAndroidArchModule(f, android.DeviceSupported, android.MultilibCommon)
-	android.AddLoadHook(f, func(ctx android.LoadHookContext) {
-		f.loadHook(ctx)
-	})
 	return f
 }
 
+type freezeTestProperties struct {
+	// Frozen SEPolicy version to compare
+	Board_api_level *string
+
+	// Path to the base platform public policy cil
+	Current_cil *string `android:"path"`
+
+	// Path to the prebuilt cil of given board API level
+	Prebuilt_cil *string `android:"path"`
+}
+
 type freezeTestModule struct {
 	android.ModuleBase
+
+	properties freezeTestProperties
+
 	freezeTestTimestamp android.ModuleOutPath
 }
 
-func (f *freezeTestModule) shouldRunTest(ctx android.EarlyModuleContext) bool {
+func (f *freezeTestModule) shouldCompareExtraDirs(ctx android.EarlyModuleContext) bool {
 	val, _ := ctx.Config().GetBuildFlag("RELEASE_BOARD_API_LEVEL_FROZEN")
 	return val == "true"
 }
 
-func (f *freezeTestModule) loadHook(ctx android.LoadHookContext) {
-	extraDirs := ctx.DeviceConfig().SepolicyFreezeTestExtraDirs()
-	extraPrebuiltDirs := ctx.DeviceConfig().SepolicyFreezeTestExtraPrebuiltDirs()
-
-	if !f.shouldRunTest(ctx) {
-		if len(extraDirs) > 0 || len(extraPrebuiltDirs) > 0 {
-			ctx.ModuleErrorf("SEPOLICY_FREEZE_TEST_EXTRA_DIRS or SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS cannot be set before system/sepolicy freezes.")
-			return
-		}
-
-		return
-	}
-
-	if len(extraDirs) != len(extraPrebuiltDirs) {
-		ctx.ModuleErrorf("SEPOLICY_FREEZE_TEST_EXTRA_DIRS and SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS must have the same number of directories.")
-		return
-	}
-}
-
-func (f *freezeTestModule) prebuiltCilModuleName(ctx android.EarlyModuleContext) string {
-	return ctx.DeviceConfig().PlatformSepolicyVersion() + "_plat_pub_policy.cil"
-}
-
-func (f *freezeTestModule) DepsMutator(ctx android.BottomUpMutatorContext) {
-	if !f.shouldRunTest(ctx) {
-		return
-	}
-
-	ctx.AddDependency(f, currentCilTag, "base_plat_pub_policy.cil")
-	ctx.AddDependency(f, prebuiltCilTag, f.prebuiltCilModuleName(ctx))
-}
-
-func (f *freezeTestModule) outputFileOfDep(ctx android.ModuleContext, depTag dependencyTag) android.Path {
-	deps := ctx.GetDirectDepsWithTag(depTag)
-	if len(deps) != 1 {
-		ctx.ModuleErrorf("%d deps having tag %q; expected only one dep", len(deps), depTag)
-		return nil
-	}
-
-	dep := deps[0]
-	output := android.OutputFilesForModule(ctx, dep, "")
-	if len(output) != 1 {
-		ctx.ModuleErrorf("module %q produced %d outputs; expected only one output", dep.String(), len(output))
-		return nil
-	}
-
-	return output[0]
-}
-
 func (f *freezeTestModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	if ctx.ModuleName() != "se_freeze_test" || ctx.ModuleDir() != "system/sepolicy" {
 		// two freeze test modules don't make sense.
@@ -107,15 +67,9 @@
 
 	f.freezeTestTimestamp = android.PathForModuleOut(ctx, "freeze_test")
 
-	if !f.shouldRunTest(ctx) {
-		// we still build a rule to prevent possible regression
-		android.WriteFileRule(ctx, f.freezeTestTimestamp, ";; no freeze tests needed before system/sepolicy freezes")
-		return
-	}
-
 	// Freeze test 1: compare ToT sepolicy and prebuilt sepolicy
-	currentCil := f.outputFileOfDep(ctx, currentCilTag)
-	prebuiltCil := f.outputFileOfDep(ctx, prebuiltCilTag)
+	currentCil := android.PathForModuleSrc(ctx, String(f.properties.Current_cil))
+	prebuiltCil := android.PathForModuleSrc(ctx, String(f.properties.Prebuilt_cil))
 	if ctx.Failed() {
 		return
 	}
@@ -131,23 +85,35 @@
 	extraPrebuiltDirs := ctx.DeviceConfig().SepolicyFreezeTestExtraPrebuiltDirs()
 
 	var implicits []string
-	for _, dir := range append(extraDirs, extraPrebuiltDirs...) {
-		glob, err := ctx.GlobWithDeps(dir+"/**/*", []string{"bug_map"} /* exclude */)
-		if err != nil {
-			ctx.ModuleErrorf("failed to glob sepolicy dir %q: %s", dir, err.Error())
+	if f.shouldCompareExtraDirs(ctx) {
+		if len(extraDirs) != len(extraPrebuiltDirs) {
+			ctx.ModuleErrorf("SEPOLICY_FREEZE_TEST_EXTRA_DIRS and SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS must have the same number of directories.")
 			return
 		}
-		implicits = append(implicits, glob...)
-	}
-	sort.Strings(implicits)
 
-	for idx, _ := range extraDirs {
-		rule.Command().Text("diff").
-			Flag("-r").
-			Flag("-q").
-			FlagWithArg("-x ", "bug_map"). // exclude
-			Text(extraDirs[idx]).
-			Text(extraPrebuiltDirs[idx])
+		for _, dir := range append(extraDirs, extraPrebuiltDirs...) {
+			glob, err := ctx.GlobWithDeps(dir+"/**/*", []string{"bug_map"} /* exclude */)
+			if err != nil {
+				ctx.ModuleErrorf("failed to glob sepolicy dir %q: %s", dir, err.Error())
+				return
+			}
+			implicits = append(implicits, glob...)
+		}
+		sort.Strings(implicits)
+
+		for idx, _ := range extraDirs {
+			rule.Command().Text("diff").
+				Flag("-r").
+				Flag("-q").
+				FlagWithArg("-x ", "bug_map"). // exclude
+				Text(extraDirs[idx]).
+				Text(extraPrebuiltDirs[idx])
+		}
+	} else {
+		if len(extraDirs) > 0 || len(extraPrebuiltDirs) > 0 {
+			ctx.ModuleErrorf("SEPOLICY_FREEZE_TEST_EXTRA_DIRS or SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS cannot be set before system/sepolicy freezes.")
+			return
+		}
 	}
 
 	rule.Command().Text("touch").
diff --git a/build/soong/service_fuzzer_bindings.go b/build/soong/service_fuzzer_bindings.go
index 39f414c..35b7d7f 100644
--- a/build/soong/service_fuzzer_bindings.go
+++ b/build/soong/service_fuzzer_bindings.go
@@ -23,144 +23,149 @@
 
 var (
 	ServiceFuzzerBindings = map[string][]string{
-		"android.hardware.audio.core.IConfig/default":                             EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/default":                             EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/a2dp":                                EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/bluetooth":                           EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/hearing_aid":                         EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/msd":                                 EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/r_submix":                            EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/stub":                                EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.core.IModule/usb":                                 EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.effect.IFactory/default":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.audio.sounddose.ISoundDoseFactory/default":              EXCEPTION_NO_FUZZER,
-		"android.hardware.authsecret.IAuthSecret/default":                         EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.evs.IEvsEnumerator/hw/0":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.boot.IBootControl/default":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.can.ICanController/default":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.evs.IEvsEnumerator/hw/1":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.ivn.IIvnAndroidDevice/default":               EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.remoteaccess.IRemoteAccess/default":          EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.vehicle.IVehicle/default":                    EXCEPTION_NO_FUZZER,
-		"android.hardware.automotive.audiocontrol.IAudioControl/default":          EXCEPTION_NO_FUZZER,
-		"android.hardware.biometrics.face.IFace/default":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.biometrics.face.IFace/virtual":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.biometrics.face.virtualhal.IVirtualHal/virtual":         EXCEPTION_NO_FUZZER,
-		"android.hardware.biometrics.fingerprint.IFingerprint/default":            EXCEPTION_NO_FUZZER,
-		"android.hardware.biometrics.fingerprint.IFingerprint/virtual":            EXCEPTION_NO_FUZZER,
-		"android.hardware.biometrics.fingerprint.virtualhal.IVirtualHal/virtual":  EXCEPTION_NO_FUZZER,
-		"android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default": EXCEPTION_NO_FUZZER,
-		"android.hardware.broadcastradio.IBroadcastRadio/amfm":                    []string{"android.hardware.broadcastradio-service.default_fuzzer"},
-		"android.hardware.broadcastradio.IBroadcastRadio/dab":                     []string{"android.hardware.broadcastradio-service.default_fuzzer"},
-		"android.hardware.bluetooth.IBluetoothHci/default":                        EXCEPTION_NO_FUZZER,
-		"android.hardware.bluetooth.finder.IBluetoothFinder/default":              EXCEPTION_NO_FUZZER,
-		"android.hardware.bluetooth.ranging.IBluetoothChannelSounding/default":    EXCEPTION_NO_FUZZER,
-		"android.hardware.bluetooth.lmp_event.IBluetoothLmpEvent/default":         EXCEPTION_NO_FUZZER,
-		"android.hardware.bluetooth.socket.IBluetoothSocket/default":              []string{"android.hardware.bluetooth.socket-service_fuzzer"},
-		"android.hardware.camera.provider.ICameraProvider/internal/0":             EXCEPTION_NO_FUZZER,
-		"android.hardware.camera.provider.ICameraProvider/virtual/0":              EXCEPTION_NO_FUZZER,
-		"android.hardware.cas.IMediaCasService/default":                           EXCEPTION_NO_FUZZER,
-		"android.hardware.confirmationui.IConfirmationUI/default":                 []string{"android.hardware.confirmationui-service.trusty_fuzzer"},
-		"android.hardware.contexthub.IContextHub/default":                         EXCEPTION_NO_FUZZER,
-		"android.hardware.drm.IDrmFactory/clearkey":                               EXCEPTION_NO_FUZZER,
-		"android.hardware.drm.ICryptoFactory/clearkey":                            EXCEPTION_NO_FUZZER,
-		"android.hardware.dumpstate.IDumpstateDevice/default":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.fastboot.IFastboot/default":                             EXCEPTION_NO_FUZZER,
-		"android.hardware.gatekeeper.IGatekeeper/default":                         EXCEPTION_NO_FUZZER,
-		"android.hardware.gnss.IGnss/default":                                     EXCEPTION_NO_FUZZER,
-		"android.hardware.graphics.allocator.IAllocator/default":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.graphics.composer3.IComposer/default":                   EXCEPTION_NO_FUZZER,
-		"android.hardware.health.storage.IStorage/default":                        EXCEPTION_NO_FUZZER,
-		"android.hardware.health.IHealth/default":                                 []string{"android.hardware.health-service.aidl_fuzzer"},
-		"android.hardware.identity.IIdentityCredentialStore/default":              EXCEPTION_NO_FUZZER,
-		"android.hardware.input.processor.IInputProcessor/default":                EXCEPTION_NO_FUZZER,
-		"android.hardware.ir.IConsumerIr/default":                                 EXCEPTION_NO_FUZZER,
-		"android.hardware.light.ILights/default":                                  EXCEPTION_NO_FUZZER,
-		"android.hardware.macsec.IMacsecPskPlugin/default":                        EXCEPTION_NO_FUZZER,
-		"android.hardware.media.c2.IComponentStore/default":                       EXCEPTION_NO_FUZZER,
-		"android.hardware.media.c2.IComponentStore/default1":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.media.c2.IComponentStore/default2":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.media.c2.IComponentStore/software":                      []string{"libcodec2-aidl-fuzzer"},
-		"android.hardware.memtrack.IMemtrack/default":                             EXCEPTION_NO_FUZZER,
-		"android.hardware.net.nlinterceptor.IInterceptor/default":                 EXCEPTION_NO_FUZZER,
-		"android.hardware.nfc.INfc/default":                                       []string{"nfc_service_fuzzer"},
-		"android.hardware.oemlock.IOemLock/default":                               EXCEPTION_NO_FUZZER,
-		"android.hardware.power.IPower/default":                                   EXCEPTION_NO_FUZZER,
-		"android.hardware.power.stats.IPowerStats/default":                        EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.config.IRadioConfig/default":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.data.IRadioData/slot1":                            EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.data.IRadioData/slot2":                            EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.data.IRadioData/slot3":                            EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.ims.IRadioIms/slot1":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.ims.IRadioIms/slot2":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.ims.IRadioIms/slot3":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.ims.media.IImsMedia/default":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.messaging.IRadioMessaging/slot1":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.messaging.IRadioMessaging/slot2":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.messaging.IRadioMessaging/slot3":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.modem.IRadioModem/slot1":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.modem.IRadioModem/slot2":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.modem.IRadioModem/slot3":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.network.IRadioNetwork/slot1":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.network.IRadioNetwork/slot2":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.network.IRadioNetwork/slot3":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.satellite.IRadioSatellite/slot1":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.satellite.IRadioSatellite/slot2":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.satellite.IRadioSatellite/slot3":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.sim.IRadioSim/slot1":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.sim.IRadioSim/slot2":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.sim.IRadioSim/slot3":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.sap.ISap/slot1":                                   EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.sap.ISap/slot2":                                   EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.sap.ISap/slot3":                                   EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.voice.IRadioVoice/slot1":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.voice.IRadioVoice/slot2":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.radio.voice.IRadioVoice/slot3":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.rebootescrow.IRebootEscrow/default":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.secure_element.ISecureElement/eSE1":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.secure_element.ISecureElement/eSE2":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.secure_element.ISecureElement/eSE3":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.secure_element.ISecureElement/SIM1":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.secure_element.ISecureElement/SIM2":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.secure_element.ISecureElement/SIM3":                     EXCEPTION_NO_FUZZER,
-		"android.hardware.security.authgraph.IAuthGraphKeyExchange/nonsecure":     []string{"android.hardware.authgraph-service.nonsecure_fuzzer"},
-		"android.hardware.security.dice.IDiceDevice/default":                      EXCEPTION_NO_FUZZER,
-		"android.hardware.security.keymint.IKeyMintDevice/default":                EXCEPTION_NO_FUZZER,
-		"android.hardware.security.keymint.IRemotelyProvisionedComponent/default": EXCEPTION_NO_FUZZER,
-		"android.hardware.security.secretkeeper.ISecretkeeper/default":            EXCEPTION_NO_FUZZER,
-		"android.hardware.security.secretkeeper.ISecretkeeper/nonsecure":          []string{"android.hardware.security.secretkeeper-service.nonsecure_fuzzer"},
-		"android.hardware.security.secureclock.ISecureClock/default":              EXCEPTION_NO_FUZZER,
-		"android.hardware.security.sharedsecret.ISharedSecret/default":            EXCEPTION_NO_FUZZER,
-		"android.hardware.sensors.ISensors/default":                               EXCEPTION_NO_FUZZER,
-		"android.hardware.soundtrigger3.ISoundTriggerHw/default":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.tetheroffload.IOffload/default":                         EXCEPTION_NO_FUZZER,
-		"android.hardware.thermal.IThermal/default":                               EXCEPTION_NO_FUZZER,
-		"android.hardware.threadnetwork.IThreadChip/chip0":                        []string{"android.hardware.threadnetwork-service.fuzzer"},
-		"android.hardware.tv.hdmi.cec.IHdmiCec/default":                           EXCEPTION_NO_FUZZER,
-		"android.hardware.tv.hdmi.connection.IHdmiConnection/default":             EXCEPTION_NO_FUZZER,
-		"android.hardware.tv.hdmi.earc.IEArc/default":                             EXCEPTION_NO_FUZZER,
-		"android.hardware.tv.input.ITvInput/default":                              EXCEPTION_NO_FUZZER,
-		"android.hardware.tv.mediaquality.IMediaQuality/default":                  EXCEPTION_NO_FUZZER,
-		"android.hardware.tv.tuner.ITuner/default":                                EXCEPTION_NO_FUZZER,
-		"android.hardware.usb.IUsb/default":                                       EXCEPTION_NO_FUZZER,
-		"android.hardware.usb.gadget.IUsbGadget/default":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.uwb.IUwb/default":                                       EXCEPTION_NO_FUZZER,
-		"android.hardware.vibrator.IVibrator/default":                             EXCEPTION_NO_FUZZER,
-		"android.hardware.vibrator.IVibratorManager/default":                      []string{"android.hardware.vibrator-service.example_fuzzer"},
-		"android.hardware.weaver.IWeaver/default":                                 EXCEPTION_NO_FUZZER,
-		"android.hardware.wifi.IWifi/default":                                     EXCEPTION_NO_FUZZER,
-		"android.hardware.wifi.hostapd.IHostapd/default":                          EXCEPTION_NO_FUZZER,
-		"android.hardware.wifi.supplicant.ISupplicant/default":                    EXCEPTION_NO_FUZZER,
-		"android.frameworks.cameraservice.service.ICameraService/default":         EXCEPTION_NO_FUZZER,
-		"android.frameworks.devicestate.IDeviceStateService/default":              EXCEPTION_NO_FUZZER,
-		"android.frameworks.location.altitude.IAltitudeService/default":           EXCEPTION_NO_FUZZER,
-		"android.frameworks.sensorservice.ISensorManager/default":                 []string{"libsensorserviceaidl_fuzzer"},
-		"android.frameworks.stats.IStats/default":                                 EXCEPTION_NO_FUZZER,
-		"android.frameworks.vibrator.IVibratorControlService/default":             EXCEPTION_NO_FUZZER,
-		"android.se.omapi.ISecureElementService/default":                          EXCEPTION_NO_FUZZER,
-		"android.system.keystore2.IKeystoreService/default":                       EXCEPTION_NO_FUZZER,
-		"android.system.net.netd.INetd/default":                                   []string{"netd_hw_service_fuzzer"},
-		"android.system.suspend.ISystemSuspend/default":                           EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IConfig/default":                                 EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/default":                                 EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/a2dp":                                    EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/bluetooth":                               EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/hearing_aid":                             EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/msd":                                     EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/r_submix":                                EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/stub":                                    EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.core.IModule/usb":                                     EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.effect.IFactory/default":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.audio.sounddose.ISoundDoseFactory/default":                  EXCEPTION_NO_FUZZER,
+		"android.hardware.authsecret.IAuthSecret/default":                             EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.evs.IEvsEnumerator/hw/0":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.boot.IBootControl/default":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.can.ICanController/default":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.evs.IEvsEnumerator/hw/1":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.ivn.IIvnAndroidDevice/default":                   EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.remoteaccess.IRemoteAccess/default":              EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.vehicle.IVehicle/default":                        EXCEPTION_NO_FUZZER,
+		"android.hardware.automotive.audiocontrol.IAudioControl/default":              EXCEPTION_NO_FUZZER,
+		"android.hardware.biometrics.face.IFace/default":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.biometrics.face.IFace/virtual":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.biometrics.face.virtualhal.IVirtualHal/virtual":             EXCEPTION_NO_FUZZER,
+		"android.hardware.biometrics.fingerprint.IFingerprint/default":                EXCEPTION_NO_FUZZER,
+		"android.hardware.biometrics.fingerprint.IFingerprint/virtual":                EXCEPTION_NO_FUZZER,
+		"android.hardware.biometrics.fingerprint.virtualhal.IVirtualHal/virtual":      EXCEPTION_NO_FUZZER,
+		"android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default":     EXCEPTION_NO_FUZZER,
+		"android.hardware.broadcastradio.IBroadcastRadio/amfm":                        []string{"android.hardware.broadcastradio-service.default_fuzzer"},
+		"android.hardware.broadcastradio.IBroadcastRadio/dab":                         []string{"android.hardware.broadcastradio-service.default_fuzzer"},
+		"android.hardware.bluetooth.IBluetoothHci/default":                            EXCEPTION_NO_FUZZER,
+		"android.hardware.bluetooth.offload.leaudio.IHciProxy/default":                EXCEPTION_NO_FUZZER,
+		"android.hardware.bluetooth.finder.IBluetoothFinder/default":                  EXCEPTION_NO_FUZZER,
+		"android.hardware.bluetooth.ranging.IBluetoothChannelSounding/default":        EXCEPTION_NO_FUZZER,
+		"android.hardware.bluetooth.lmp_event.IBluetoothLmpEvent/default":             EXCEPTION_NO_FUZZER,
+		"android.hardware.bluetooth.socket.IBluetoothSocket/default":                  []string{"android.hardware.bluetooth.socket-service_fuzzer"},
+		"android.hardware.camera.provider.ICameraProvider/internal/0":                 EXCEPTION_NO_FUZZER,
+		"android.hardware.camera.provider.ICameraProvider/virtual/0":                  EXCEPTION_NO_FUZZER,
+		"android.hardware.cas.IMediaCasService/default":                               EXCEPTION_NO_FUZZER,
+		"android.hardware.confirmationui.IConfirmationUI/default":                     []string{"android.hardware.confirmationui-service.trusty_fuzzer"},
+		"android.hardware.contexthub.IContextHub/default":                             EXCEPTION_NO_FUZZER,
+		"android.hardware.drm.IDrmFactory/clearkey":                                   EXCEPTION_NO_FUZZER,
+		"android.hardware.drm.ICryptoFactory/clearkey":                                EXCEPTION_NO_FUZZER,
+		"android.hardware.dumpstate.IDumpstateDevice/default":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.fastboot.IFastboot/default":                                 EXCEPTION_NO_FUZZER,
+		"android.hardware.gatekeeper.IGatekeeper/default":                             EXCEPTION_NO_FUZZER,
+		"android.hardware.gnss.IGnss/default":                                         EXCEPTION_NO_FUZZER,
+		"android.hardware.graphics.allocator.IAllocator/default":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.graphics.composer3.IComposer/default":                       EXCEPTION_NO_FUZZER,
+		"android.hardware.tv.mediaquality.IPictureProfileChangedListener/default":     EXCEPTION_NO_FUZZER,
+		"android.hardware.health.storage.IStorage/default":                            EXCEPTION_NO_FUZZER,
+		"android.hardware.health.IHealth/default":                                     []string{"android.hardware.health-service.aidl_fuzzer"},
+		"android.hardware.identity.IIdentityCredentialStore/default":                  EXCEPTION_NO_FUZZER,
+		"android.hardware.input.processor.IInputProcessor/default":                    EXCEPTION_NO_FUZZER,
+		"android.hardware.ir.IConsumerIr/default":                                     EXCEPTION_NO_FUZZER,
+		"android.hardware.light.ILights/default":                                      EXCEPTION_NO_FUZZER,
+		"android.hardware.macsec.IMacsecPskPlugin/default":                            EXCEPTION_NO_FUZZER,
+		"android.hardware.media.c2.IComponentStore/default":                           EXCEPTION_NO_FUZZER,
+		"android.hardware.media.c2.IComponentStore/default1":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.media.c2.IComponentStore/default2":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.media.c2.IComponentStore/software":                          []string{"libcodec2-aidl-fuzzer"},
+		"android.hardware.memtrack.IMemtrack/default":                                 EXCEPTION_NO_FUZZER,
+		"android.hardware.net.nlinterceptor.IInterceptor/default":                     EXCEPTION_NO_FUZZER,
+		"android.hardware.nfc.INfc/default":                                           []string{"nfc_service_fuzzer"},
+		"android.hardware.oemlock.IOemLock/default":                                   EXCEPTION_NO_FUZZER,
+		"android.hardware.power.IPower/default":                                       EXCEPTION_NO_FUZZER,
+		"android.hardware.power.stats.IPowerStats/default":                            EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.config.IRadioConfig/default":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.data.IRadioData/slot1":                                EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.data.IRadioData/slot2":                                EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.data.IRadioData/slot3":                                EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.ims.IRadioIms/slot1":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.ims.IRadioIms/slot2":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.ims.IRadioIms/slot3":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.ims.media.IImsMedia/default":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.messaging.IRadioMessaging/slot1":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.messaging.IRadioMessaging/slot2":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.messaging.IRadioMessaging/slot3":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.modem.IRadioModem/slot1":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.modem.IRadioModem/slot2":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.modem.IRadioModem/slot3":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.network.IRadioNetwork/slot1":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.network.IRadioNetwork/slot2":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.network.IRadioNetwork/slot3":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.satellite.IRadioSatellite/slot1":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.satellite.IRadioSatellite/slot2":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.satellite.IRadioSatellite/slot3":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.sim.IRadioSim/slot1":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.sim.IRadioSim/slot2":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.sim.IRadioSim/slot3":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.sap.ISap/slot1":                                       EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.sap.ISap/slot2":                                       EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.sap.ISap/slot3":                                       EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.voice.IRadioVoice/slot1":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.voice.IRadioVoice/slot2":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.radio.voice.IRadioVoice/slot3":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.rebootescrow.IRebootEscrow/default":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.secure_element.ISecureElement/eSE1":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.secure_element.ISecureElement/eSE2":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.secure_element.ISecureElement/eSE3":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.secure_element.ISecureElement/SIM1":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.secure_element.ISecureElement/SIM2":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.secure_element.ISecureElement/SIM3":                         EXCEPTION_NO_FUZZER,
+		"android.hardware.security.authgraph.IAuthGraphKeyExchange/nonsecure":         []string{"android.hardware.authgraph-service.nonsecure_fuzzer"},
+		"android.hardware.security.dice.IDiceDevice/default":                          EXCEPTION_NO_FUZZER,
+		"android.hardware.security.keymint.IKeyMintDevice/default":                    EXCEPTION_NO_FUZZER,
+		"android.hardware.security.keymint.IRemotelyProvisionedComponent/default":     EXCEPTION_NO_FUZZER,
+		"android.hardware.security.secretkeeper.ISecretkeeper/default":                EXCEPTION_NO_FUZZER,
+		"android.hardware.security.secretkeeper.ISecretkeeper/nonsecure":              []string{"android.hardware.security.secretkeeper-service.nonsecure_fuzzer"},
+		"android.hardware.security.secureclock.ISecureClock/default":                  EXCEPTION_NO_FUZZER,
+		"android.hardware.security.see.hwcrypto.IHwCryptoKey/default":                 []string{"android.hardware.trusty.hwcryptohal-service_fuzzer"},
+		"android.hardware.security.sharedsecret.ISharedSecret/default":                EXCEPTION_NO_FUZZER,
+		"android.hardware.sensors.ISensors/default":                                   EXCEPTION_NO_FUZZER,
+		"android.hardware.soundtrigger3.ISoundTriggerHw/default":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.tetheroffload.IOffload/default":                             EXCEPTION_NO_FUZZER,
+		"android.hardware.thermal.IThermal/default":                                   EXCEPTION_NO_FUZZER,
+		"android.hardware.threadnetwork.IThreadChip/chip0":                            []string{"android.hardware.threadnetwork-service.fuzzer"},
+		"android.hardware.tv.hdmi.cec.IHdmiCec/default":                               EXCEPTION_NO_FUZZER,
+		"android.hardware.tv.hdmi.connection.IHdmiConnection/default":                 EXCEPTION_NO_FUZZER,
+		"android.hardware.tv.hdmi.earc.IEArc/default":                                 EXCEPTION_NO_FUZZER,
+		"android.hardware.tv.input.ITvInput/default":                                  EXCEPTION_NO_FUZZER,
+		"android.hardware.tv.mediaquality.IMediaQuality/default":                      EXCEPTION_NO_FUZZER,
+		"android.hardware.tv.tuner.ITuner/default":                                    EXCEPTION_NO_FUZZER,
+		"android.hardware.usb.IUsb/default":                                           EXCEPTION_NO_FUZZER,
+		"android.hardware.usb.gadget.IUsbGadget/default":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.uwb.IUwb/default":                                           EXCEPTION_NO_FUZZER,
+		"android.hardware.vibrator.IVibrator/default":                                 EXCEPTION_NO_FUZZER,
+		"android.hardware.vibrator.IVibratorManager/default":                          []string{"android.hardware.vibrator-service.example_fuzzer"},
+		"android.hardware.virtualization.capabilities.IVmCapabilitiesService/default": EXCEPTION_NO_FUZZER,
+		"android.hardware.virtualization.capabilities.IVmCapabilitiesService/noop":    EXCEPTION_NO_FUZZER,
+		"android.hardware.weaver.IWeaver/default":                                     EXCEPTION_NO_FUZZER,
+		"android.hardware.wifi.IWifi/default":                                         EXCEPTION_NO_FUZZER,
+		"android.hardware.wifi.hostapd.IHostapd/default":                              EXCEPTION_NO_FUZZER,
+		"android.hardware.wifi.supplicant.ISupplicant/default":                        EXCEPTION_NO_FUZZER,
+		"android.frameworks.cameraservice.service.ICameraService/default":             EXCEPTION_NO_FUZZER,
+		"android.frameworks.devicestate.IDeviceStateService/default":                  EXCEPTION_NO_FUZZER,
+		"android.frameworks.location.altitude.IAltitudeService/default":               EXCEPTION_NO_FUZZER,
+		"android.frameworks.sensorservice.ISensorManager/default":                     []string{"libsensorserviceaidl_fuzzer"},
+		"android.frameworks.stats.IStats/default":                                     EXCEPTION_NO_FUZZER,
+		"android.frameworks.vibrator.IVibratorControlService/default":                 EXCEPTION_NO_FUZZER,
+		"android.se.omapi.ISecureElementService/default":                              EXCEPTION_NO_FUZZER,
+		"android.system.keystore2.IKeystoreService/default":                           EXCEPTION_NO_FUZZER,
+		"android.system.net.netd.INetd/default":                                       []string{"netd_hw_service_fuzzer"},
+		"android.system.suspend.ISystemSuspend/default":                               EXCEPTION_NO_FUZZER,
 		"accessibility":       EXCEPTION_NO_FUZZER,
 		"account":             EXCEPTION_NO_FUZZER,
 		"activity":            EXCEPTION_NO_FUZZER,
@@ -197,101 +202,101 @@
 		"android.system.virtualizationservice_internal.IVmnic":                EXCEPTION_NO_FUZZER,
 		"android.system.virtualizationmaintenance":                            EXCEPTION_NO_FUZZER,
 		"android.system.vmtethering.IVmTethering":                             EXCEPTION_NO_FUZZER,
-		"ambient_context":               EXCEPTION_NO_FUZZER,
-		"app_binding":                   EXCEPTION_NO_FUZZER,
-		"app_function":                  EXCEPTION_NO_FUZZER,
-		"app_hibernation":               EXCEPTION_NO_FUZZER,
-		"app_integrity":                 EXCEPTION_NO_FUZZER,
-		"app_prediction":                EXCEPTION_NO_FUZZER,
-		"app_search":                    EXCEPTION_NO_FUZZER,
-		"apexservice":                   EXCEPTION_NO_FUZZER,
-		"archive":                       EXCEPTION_NO_FUZZER,
-		"attestation_verification":      EXCEPTION_NO_FUZZER,
-		"authentication_policy":         EXCEPTION_NO_FUZZER,
-		"blob_store":                    EXCEPTION_NO_FUZZER,
-		"gsiservice":                    EXCEPTION_NO_FUZZER,
-		"appops":                        EXCEPTION_NO_FUZZER,
-		"appwidget":                     EXCEPTION_NO_FUZZER,
-		"artd":                          []string{"artd_fuzzer"},
-		"artd_pre_reboot":               []string{"artd_fuzzer"},
-		"assetatlas":                    EXCEPTION_NO_FUZZER,
-		"attention":                     EXCEPTION_NO_FUZZER,
-		"audio":                         EXCEPTION_NO_FUZZER,
-		"auth":                          EXCEPTION_NO_FUZZER,
-		"autofill":                      EXCEPTION_NO_FUZZER,
-		"background_install_control":    EXCEPTION_NO_FUZZER,
-		"backup":                        EXCEPTION_NO_FUZZER,
-		"batteryproperties":             EXCEPTION_NO_FUZZER,
-		"batterystats":                  EXCEPTION_NO_FUZZER,
-		"battery":                       EXCEPTION_NO_FUZZER,
-		"binder_calls_stats":            EXCEPTION_NO_FUZZER,
-		"biometric":                     EXCEPTION_NO_FUZZER,
-		"bluetooth_manager":             EXCEPTION_NO_FUZZER,
-		"bluetooth":                     EXCEPTION_NO_FUZZER,
-		"broadcastradio":                EXCEPTION_NO_FUZZER,
-		"bugreport":                     EXCEPTION_NO_FUZZER,
-		"cacheinfo":                     EXCEPTION_NO_FUZZER,
-		"carrier_config":                EXCEPTION_NO_FUZZER,
-		"clipboard":                     EXCEPTION_NO_FUZZER,
-		"cloudsearch":                   EXCEPTION_NO_FUZZER,
-		"cloudsearch_service":           EXCEPTION_NO_FUZZER,
-		"com.android.net.IProxyService": EXCEPTION_NO_FUZZER,
-		"companiondevice":               EXCEPTION_NO_FUZZER,
-		"communal":                      EXCEPTION_NO_FUZZER,
-		"platform_compat":               EXCEPTION_NO_FUZZER,
-		"platform_compat_native":        EXCEPTION_NO_FUZZER,
-		"connectivity":                  EXCEPTION_NO_FUZZER,
-		"connectivity_native":           EXCEPTION_NO_FUZZER,
-		"connmetrics":                   EXCEPTION_NO_FUZZER,
-		"consumer_ir":                   EXCEPTION_NO_FUZZER,
-		"content":                       EXCEPTION_NO_FUZZER,
-		"content_capture":               EXCEPTION_NO_FUZZER,
-		"content_suggestions":           EXCEPTION_NO_FUZZER,
-		"contexthub":                    EXCEPTION_NO_FUZZER,
-		"contextual_search":             EXCEPTION_NO_FUZZER,
-		"country_detector":              EXCEPTION_NO_FUZZER,
-		"coverage":                      EXCEPTION_NO_FUZZER,
-		"cpuinfo":                       EXCEPTION_NO_FUZZER,
-		"cpu_monitor":                   EXCEPTION_NO_FUZZER,
-		"credential":                    EXCEPTION_NO_FUZZER,
-		"crossprofileapps":              EXCEPTION_NO_FUZZER,
-		"dataloader_manager":            EXCEPTION_NO_FUZZER,
-		"dbinfo":                        EXCEPTION_NO_FUZZER,
-		"device_config":                 EXCEPTION_NO_FUZZER,
-		"device_config_updatable":       EXCEPTION_NO_FUZZER,
-		"device_policy":                 EXCEPTION_NO_FUZZER,
-		"device_identifiers":            EXCEPTION_NO_FUZZER,
-		"deviceidle":                    EXCEPTION_NO_FUZZER,
-		"device_lock":                   EXCEPTION_NO_FUZZER,
-		"device_state":                  EXCEPTION_NO_FUZZER,
-		"devicestoragemonitor":          EXCEPTION_NO_FUZZER,
-		"dexopt_chroot_setup":           []string{"dexopt_chroot_setup_fuzzer"},
-		"diskstats":                     EXCEPTION_NO_FUZZER,
-		"display":                       EXCEPTION_NO_FUZZER,
-		"dnsresolver":                   []string{"resolv_service_fuzzer"},
-		"domain_verification":           EXCEPTION_NO_FUZZER,
-		"color_display":                 EXCEPTION_NO_FUZZER,
-		"netd_listener":                 EXCEPTION_NO_FUZZER,
-		"network_watchlist":             EXCEPTION_NO_FUZZER,
-		"DockObserver":                  EXCEPTION_NO_FUZZER,
-		"dreams":                        EXCEPTION_NO_FUZZER,
-		"drm.drmManager":                []string{"drmserver_fuzzer"},
-		"dropbox":                       EXCEPTION_NO_FUZZER,
-		"dumpstate":                     EXCEPTION_NO_FUZZER,
-		"dynamic_system":                EXCEPTION_NO_FUZZER,
-		"dynamic_instrumentation":       EXCEPTION_NO_FUZZER,
-		"econtroller":                   EXCEPTION_NO_FUZZER,
-		"ecm_enhanced_confirmation":     EXCEPTION_NO_FUZZER,
-		"emergency_affordance":          EXCEPTION_NO_FUZZER,
-		"euicc_card_controller":         EXCEPTION_NO_FUZZER,
-		"external_vibrator_service":     EXCEPTION_NO_FUZZER,
-		"ethernet":                      EXCEPTION_NO_FUZZER,
-		"face":                          EXCEPTION_NO_FUZZER,
-		"file_integrity":                EXCEPTION_NO_FUZZER,
-		"fingerprint":                   EXCEPTION_NO_FUZZER,
-		"feature_flags":                 EXCEPTION_NO_FUZZER,
-		"font":                          EXCEPTION_NO_FUZZER,
-		"forensic":                      EXCEPTION_NO_FUZZER,
+		"android.system.vold.IVold/default":                                   []string{"vold_native_service_fuzzer"},
+		"ambient_context":                                                     EXCEPTION_NO_FUZZER,
+		"app_binding":                                                         EXCEPTION_NO_FUZZER,
+		"app_function":                                                        EXCEPTION_NO_FUZZER,
+		"app_hibernation":                                                     EXCEPTION_NO_FUZZER,
+		"app_integrity":                                                       EXCEPTION_NO_FUZZER,
+		"app_prediction":                                                      EXCEPTION_NO_FUZZER,
+		"app_search":                                                          EXCEPTION_NO_FUZZER,
+		"apexservice":                                                         EXCEPTION_NO_FUZZER,
+		"archive":                                                             EXCEPTION_NO_FUZZER,
+		"attestation_verification":                                            EXCEPTION_NO_FUZZER,
+		"authentication_policy":                                               EXCEPTION_NO_FUZZER,
+		"blob_store":                                                          EXCEPTION_NO_FUZZER,
+		"gsiservice":                                                          EXCEPTION_NO_FUZZER,
+		"appops":                                                              EXCEPTION_NO_FUZZER,
+		"appwidget":                                                           EXCEPTION_NO_FUZZER,
+		"artd":                                                                []string{"artd_fuzzer"},
+		"artd_pre_reboot":                                                     []string{"artd_fuzzer"},
+		"assetatlas":                                                          EXCEPTION_NO_FUZZER,
+		"attention":                                                           EXCEPTION_NO_FUZZER,
+		"audio":                                                               EXCEPTION_NO_FUZZER,
+		"auth":                                                                EXCEPTION_NO_FUZZER,
+		"autofill":                                                            EXCEPTION_NO_FUZZER,
+		"background_install_control":                                          EXCEPTION_NO_FUZZER,
+		"backup":                                                              EXCEPTION_NO_FUZZER,
+		"batteryproperties":                                                   EXCEPTION_NO_FUZZER,
+		"batterystats":                                                        EXCEPTION_NO_FUZZER,
+		"battery":                                                             EXCEPTION_NO_FUZZER,
+		"binder_calls_stats":                                                  EXCEPTION_NO_FUZZER,
+		"biometric":                                                           EXCEPTION_NO_FUZZER,
+		"bluetooth_manager":                                                   EXCEPTION_NO_FUZZER,
+		"bluetooth":                                                           EXCEPTION_NO_FUZZER,
+		"broadcastradio":                                                      EXCEPTION_NO_FUZZER,
+		"bugreport":                                                           EXCEPTION_NO_FUZZER,
+		"cacheinfo":                                                           EXCEPTION_NO_FUZZER,
+		"carrier_config":                                                      EXCEPTION_NO_FUZZER,
+		"clipboard":                                                           EXCEPTION_NO_FUZZER,
+		"cloudsearch":                                                         EXCEPTION_NO_FUZZER,
+		"cloudsearch_service":                                                 EXCEPTION_NO_FUZZER,
+		"com.android.net.IProxyService":                                       EXCEPTION_NO_FUZZER,
+		"companiondevice":                                                     EXCEPTION_NO_FUZZER,
+		"communal":                                                            EXCEPTION_NO_FUZZER,
+		"platform_compat":                                                     EXCEPTION_NO_FUZZER,
+		"platform_compat_native":                                              EXCEPTION_NO_FUZZER,
+		"connectivity":                                                        EXCEPTION_NO_FUZZER,
+		"connectivity_native":                                                 EXCEPTION_NO_FUZZER,
+		"connmetrics":                                                         EXCEPTION_NO_FUZZER,
+		"consumer_ir":                                                         EXCEPTION_NO_FUZZER,
+		"content":                                                             EXCEPTION_NO_FUZZER,
+		"content_capture":                                                     EXCEPTION_NO_FUZZER,
+		"content_suggestions":                                                 EXCEPTION_NO_FUZZER,
+		"contexthub":                                                          EXCEPTION_NO_FUZZER,
+		"contextual_search":                                                   EXCEPTION_NO_FUZZER,
+		"country_detector":                                                    EXCEPTION_NO_FUZZER,
+		"coverage":                                                            EXCEPTION_NO_FUZZER,
+		"cpuinfo":                                                             EXCEPTION_NO_FUZZER,
+		"cpu_monitor":                                                         EXCEPTION_NO_FUZZER,
+		"credential":                                                          EXCEPTION_NO_FUZZER,
+		"crossprofileapps":                                                    EXCEPTION_NO_FUZZER,
+		"dataloader_manager":                                                  EXCEPTION_NO_FUZZER,
+		"dbinfo":                                                              EXCEPTION_NO_FUZZER,
+		"device_config":                                                       EXCEPTION_NO_FUZZER,
+		"device_config_updatable":                                             EXCEPTION_NO_FUZZER,
+		"device_policy":                                                       EXCEPTION_NO_FUZZER,
+		"device_identifiers":                                                  EXCEPTION_NO_FUZZER,
+		"deviceidle":                                                          EXCEPTION_NO_FUZZER,
+		"device_lock":                                                         EXCEPTION_NO_FUZZER,
+		"device_state":                                                        EXCEPTION_NO_FUZZER,
+		"devicestoragemonitor":                                                EXCEPTION_NO_FUZZER,
+		"dexopt_chroot_setup":                                                 []string{"dexopt_chroot_setup_fuzzer"},
+		"diskstats":                                                           EXCEPTION_NO_FUZZER,
+		"display":                                                             EXCEPTION_NO_FUZZER,
+		"dnsresolver":                                                         []string{"resolv_service_fuzzer"},
+		"domain_verification":                                                 EXCEPTION_NO_FUZZER,
+		"color_display":                                                       EXCEPTION_NO_FUZZER,
+		"netd_listener":                                                       EXCEPTION_NO_FUZZER,
+		"network_watchlist":                                                   EXCEPTION_NO_FUZZER,
+		"DockObserver":                                                        EXCEPTION_NO_FUZZER,
+		"dreams":                                                              EXCEPTION_NO_FUZZER,
+		"drm.drmManager":                                                      []string{"drmserver_fuzzer"},
+		"dropbox":                                                             EXCEPTION_NO_FUZZER,
+		"dumpstate":                                                           EXCEPTION_NO_FUZZER,
+		"dynamic_system":                                                      EXCEPTION_NO_FUZZER,
+		"dynamic_instrumentation":                                             EXCEPTION_NO_FUZZER,
+		"econtroller":                                                         EXCEPTION_NO_FUZZER,
+		"ecm_enhanced_confirmation":                                           EXCEPTION_NO_FUZZER,
+		"emergency_affordance":                                                EXCEPTION_NO_FUZZER,
+		"euicc_card_controller":                                               EXCEPTION_NO_FUZZER,
+		"external_vibrator_service":                                           EXCEPTION_NO_FUZZER,
+		"ethernet":                                                            EXCEPTION_NO_FUZZER,
+		"face":                                                                EXCEPTION_NO_FUZZER,
+		"file_integrity":                                                      EXCEPTION_NO_FUZZER,
+		"fingerprint":                                                         EXCEPTION_NO_FUZZER,
+		"feature_flags":                                                       EXCEPTION_NO_FUZZER,
+		"font":                                                                EXCEPTION_NO_FUZZER,
 		"android.hardware.fingerprint.IFingerprintDaemon": EXCEPTION_NO_FUZZER,
 		"game":                                   EXCEPTION_NO_FUZZER,
 		"gfxinfo":                                EXCEPTION_NO_FUZZER,
diff --git a/compat/Android.bp b/compat/Android.bp
index 28936dd..be895d9 100644
--- a/compat/Android.bp
+++ b/compat/Android.bp
@@ -532,6 +532,7 @@
     stem: "202404.cil",
     bottom_half: [":202404.board.compat.map{.plat_private}"],
     version: "202404",
+    top_half: "plat_202504.cil",
 }
 
 se_cil_compat_map {
@@ -540,6 +541,7 @@
     bottom_half: [":202404.board.compat.map{.system_ext_private}"],
     system_ext_specific: true,
     version: "202404",
+    top_half: "system_ext_202504.cil",
 }
 
 se_cil_compat_map {
@@ -548,12 +550,14 @@
     bottom_half: [":202404.board.compat.map{.product_private}"],
     product_specific: true,
     version: "202404",
+    top_half: "product_202504.cil",
 }
 
 se_cil_compat_map {
     name: "202404.ignore.cil",
     bottom_half: [":202404.board.ignore.map{.plat_private}"],
     version: "202404",
+    top_half: "202504.ignore.cil",
 }
 
 se_cil_compat_map {
@@ -562,6 +566,7 @@
     bottom_half: [":202404.board.ignore.map{.system_ext_private}"],
     system_ext_specific: true,
     version: "202404",
+    top_half: "system_ext_202504.ignore.cil",
 }
 
 se_cil_compat_map {
@@ -570,6 +575,7 @@
     bottom_half: [":202404.board.ignore.map{.product_private}"],
     product_specific: true,
     version: "202404",
+    top_half: "product_202504.ignore.cil",
 }
 
 se_compat_cil {
@@ -591,3 +597,83 @@
     src: "plat_sepolicy_genfs_202504.cil",
     relative_install_path: "selinux",
 }
+
+se_build_files {
+    name: "202504.board.compat.map",
+    srcs: ["compat/202504/202504.cil"],
+}
+
+se_build_files {
+    name: "202504.board.compat.cil",
+    srcs: ["compat/202504/202504.compat.cil"],
+}
+
+se_build_files {
+    name: "202504.board.ignore.map",
+    srcs: ["compat/202504/202504.ignore.cil"],
+}
+
+se_cil_compat_map {
+    name: "plat_202504.cil",
+    stem: "202504.cil",
+    bottom_half: [":202504.board.compat.map{.plat_private}"],
+    version: "202504",
+}
+
+se_cil_compat_map {
+    name: "system_ext_202504.cil",
+    stem: "202504.cil",
+    bottom_half: [":202504.board.compat.map{.system_ext_private}"],
+    system_ext_specific: true,
+    version: "202504",
+}
+
+se_cil_compat_map {
+    name: "product_202504.cil",
+    stem: "202504.cil",
+    bottom_half: [":202504.board.compat.map{.product_private}"],
+    product_specific: true,
+    version: "202504",
+}
+
+se_cil_compat_map {
+    name: "202504.ignore.cil",
+    bottom_half: [":202504.board.ignore.map{.plat_private}"],
+    version: "202504",
+}
+
+se_cil_compat_map {
+    name: "system_ext_202504.ignore.cil",
+    stem: "202504.ignore.cil",
+    bottom_half: [":202504.board.ignore.map{.system_ext_private}"],
+    system_ext_specific: true,
+    version: "202504",
+}
+
+se_cil_compat_map {
+    name: "product_202504.ignore.cil",
+    stem: "202504.ignore.cil",
+    bottom_half: [":202504.board.ignore.map{.product_private}"],
+    product_specific: true,
+    version: "202504",
+}
+
+se_compat_cil {
+    name: "202504.compat.cil",
+    srcs: [":202504.board.compat.cil{.plat_private}"],
+    version: "202504",
+}
+
+se_compat_cil {
+    name: "system_ext_202504.compat.cil",
+    stem: "202504.compat.cil",
+    srcs: [":202504.board.compat.cil{.system_ext_private}"],
+    system_ext_specific: true,
+    version: "202504",
+}
+
+prebuilt_etc {
+    name: "plat_sepolicy_genfs_202604.cil",
+    src: "plat_sepolicy_genfs_202604.cil",
+    relative_install_path: "selinux",
+}
diff --git a/compat/plat_sepolicy_genfs_202504.cil b/compat/plat_sepolicy_genfs_202504.cil
index 79cc732..d78194f 100644
--- a/compat/plat_sepolicy_genfs_202504.cil
+++ b/compat/plat_sepolicy_genfs_202504.cil
@@ -1 +1,2 @@
 (genfscon sysfs "/class/udc" (u object_r sysfs_udc ((s0) (s0))))
+(genfscon sysfs "/power/mem_sleep" (u object_r sysfs_mem_sleep ((s0) (s0))))
diff --git a/compat/plat_sepolicy_genfs_202604.cil b/compat/plat_sepolicy_genfs_202604.cil
new file mode 100644
index 0000000..d78194f
--- /dev/null
+++ b/compat/plat_sepolicy_genfs_202604.cil
@@ -0,0 +1,2 @@
+(genfscon sysfs "/class/udc" (u object_r sysfs_udc ((s0) (s0))))
+(genfscon sysfs "/power/mem_sleep" (u object_r sysfs_mem_sleep ((s0) (s0))))
diff --git a/contexts/Android.bp b/contexts/Android.bp
index 08a4f64..cf7c175 100644
--- a/contexts/Android.bp
+++ b/contexts/Android.bp
@@ -87,6 +87,14 @@
     },
 }
 
+// The platform file context without any extra added. This is used by CTS to
+// ensure that no entries are removed from the AOSP file.
+file_contexts {
+    name: "plat_file_contexts_cts",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [":file_contexts_files{.plat_private}"],
+}
+
 file_contexts {
     name: "plat_file_contexts.recovery",
     defaults: ["contexts_flags_defaults"],
@@ -242,7 +250,14 @@
     defaults: ["contexts_flags_defaults"],
     srcs: [":property_contexts_files{.system_ext_private}"],
     system_ext_specific: true,
-    recovery_available: true,
+}
+
+property_contexts {
+    name: "system_ext_property_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [":property_contexts_files{.system_ext_private}"],
+    recovery: true,
+    stem: "system_ext_property_contexts",
 }
 
 property_contexts {
@@ -250,7 +265,14 @@
     defaults: ["contexts_flags_defaults"],
     srcs: [":property_contexts_files{.product_private}"],
     product_specific: true,
-    recovery_available: true,
+}
+
+property_contexts {
+    name: "product_property_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [":property_contexts_files{.product_private}"],
+    recovery: true,
+    stem: "product_property_contexts",
 }
 
 property_contexts {
@@ -262,7 +284,18 @@
         ":property_contexts_files{.reqd_mask}",
     ],
     soc_specific: true,
-    recovery_available: true,
+}
+
+property_contexts {
+    name: "vendor_property_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [
+        ":property_contexts_files{.plat_vendor}",
+        ":property_contexts_files{.vendor}",
+        ":property_contexts_files{.reqd_mask}",
+    ],
+    recovery: true,
+    stem: "vendor_property_contexts",
 }
 
 property_contexts {
@@ -270,7 +303,14 @@
     defaults: ["contexts_flags_defaults"],
     srcs: [":property_contexts_files{.odm}"],
     device_specific: true,
-    recovery_available: true,
+}
+
+property_contexts {
+    name: "odm_property_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [":property_contexts_files{.odm}"],
+    recovery: true,
+    stem: "odm_property_contexts",
 }
 
 service_contexts {
@@ -292,7 +332,14 @@
     defaults: ["contexts_flags_defaults"],
     srcs: [":service_contexts_files{.system_ext_private}"],
     system_ext_specific: true,
-    recovery_available: true,
+}
+
+service_contexts {
+    name: "system_ext_service_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [":service_contexts_files{.system_ext_private}"],
+    recovery: true,
+    stem: "system_ext_service_contexts",
 }
 
 service_contexts {
@@ -300,7 +347,14 @@
     defaults: ["contexts_flags_defaults"],
     srcs: [":service_contexts_files{.product_private}"],
     product_specific: true,
-    recovery_available: true,
+}
+
+service_contexts {
+    name: "product_service_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [":service_contexts_files{.product_private}"],
+    recovery: true,
+    stem: "product_service_contexts",
 }
 
 service_contexts {
@@ -312,7 +366,18 @@
         ":service_contexts_files{.reqd_mask}",
     ],
     soc_specific: true,
-    recovery_available: true,
+}
+
+service_contexts {
+    name: "vendor_service_contexts.recovery",
+    defaults: ["contexts_flags_defaults"],
+    srcs: [
+        ":service_contexts_files{.plat_vendor}",
+        ":service_contexts_files{.vendor}",
+        ":service_contexts_files{.reqd_mask}",
+    ],
+    recovery: true,
+    stem: "vendor_service_contexts",
 }
 
 service_contexts {
diff --git a/contexts/plat_file_contexts_test b/contexts/plat_file_contexts_test
index fc2d7b8..bff3c87 100644
--- a/contexts/plat_file_contexts_test
+++ b/contexts/plat_file_contexts_test
@@ -321,7 +321,6 @@
 /system/bin/fsck.f2fs                                             fsck_exec
 /system/bin/init                                                  init_exec
 /system/bin/mini-keyctl                                           toolbox_exec
-/system/bin/fsverity_init                                         fsverity_init_exec
 /system/bin/sload_f2fs                                            e2fs_exec
 /system/bin/make_f2fs                                             e2fs_exec
 /system/bin/fsck_msdos                                            fsck_exec
@@ -340,6 +339,7 @@
 /system/bin/bootstat                                              bootstat_exec
 /system/bin/app_process32                                         zygote_exec
 /system/bin/app_process64                                         zygote_exec
+/system/bin/pbtombstone                                           pbtombstone_exec
 /system/bin/servicemanager                                        servicemanager_exec
 /system/bin/surfaceflinger                                        surfaceflinger_exec
 /system/bin/gpuservice                                            gpuservice_exec
@@ -436,6 +436,7 @@
 /system/bin/virtual_touchpad                                      virtual_touchpad_exec
 /system/bin/hw/android.frameworks.bufferhub@1.0-service           fwk_bufferhub_exec
 /system/bin/hw/android.system.suspend-service                     system_suspend_exec
+/system/bin/memcgv2_activation_depth.sh                           memcgv2_activation_depth_exec
 /system/etc/aconfig                                               system_aconfig_storage_file
 /system/etc/cgroups.json                                          cgroup_desc_file
 /system/etc/task_profiles/cgroups_0.json                          cgroup_desc_file
@@ -807,6 +808,9 @@
 /system/system_ext/lib64                                          system_lib_file
 /system/system_ext/lib64/does_not_exist                           system_lib_file
 
+/system_ext/bin/hw/android.hardware.drm-service.widevine.system          hal_widevine_system_exec
+/system/system_ext/bin/hw/android.hardware.drm-service.widevine.system   hal_widevine_system_exec
+
 /vendor_dlkm                                                      vendor_file
 /vendor_dlkm/does_not_exist                                       vendor_file
 /vendor/vendor_dlkm                                               vendor_file
@@ -1298,6 +1302,8 @@
 /metadata/tradeinmode/test                                        tradeinmode_metadata_file
 /metadata/prefetch                                                prefetch_metadata_file
 /metadata/prefetch/test                                           prefetch_metadata_file
+/metadata/libprocessgroup                                         libprocessgroup_metadata_file
+/metadata/libprocessgroup/test                                    libprocessgroup_metadata_file
 
 /mnt/asec                                                         asec_apk_file
 /mnt/asec/test                                                    asec_apk_file
@@ -1342,3 +1348,5 @@
 /tmp                                                              shell_data_file
 
 /mnt/pre_reboot_dexopt                                            pre_reboot_dexopt_file
+
+/second_stage_resources/overlay_remounter                         overlay_remounter_exec
diff --git a/microdroid/system/private/apexd.te b/microdroid/system/private/apexd.te
index 275a455..8c331d0 100644
--- a/microdroid/system/private/apexd.te
+++ b/microdroid/system/private/apexd.te
@@ -92,6 +92,9 @@
 # apexd can set apexd sysprop
 set_prop(apexd, apexd_prop)
 
+# apexd can set apex.all.ready sysprop
+set_prop(apexd, apex_ready_prop)
+
 # Allow apexd to stop itself
 set_prop(apexd, ctl_apexd_prop)
 
diff --git a/microdroid/system/private/encryptedstore.te b/microdroid/system/private/encryptedstore.te
index 61c89a1..aab6d98 100644
--- a/microdroid/system/private/encryptedstore.te
+++ b/microdroid/system/private/encryptedstore.te
@@ -21,6 +21,9 @@
 # encryptedstore is forked from microdroid_manager
 allow encryptedstore microdroid_manager:fd use;
 
+# encryptedstore runs e2fsck and resize2fs to expand encrypted storage device
+allow encryptedstore fsck_exec:file { rx_file_perms };
+
 # For formatting encrypted storage device
 allow encryptedstore e2fs_exec:file { rx_file_perms };
 allowxperm encryptedstore dm_device:blk_file ioctl {
diff --git a/microdroid/system/private/file.te b/microdroid/system/private/file.te
index 82a5564..0d2e3e6 100644
--- a/microdroid/system/private/file.te
+++ b/microdroid/system/private/file.te
@@ -13,7 +13,8 @@
 allow system_data_file tmpfs:filesystem associate;
 
 type authfs_fuse, fs_type, contextmount_type;
-
+# /system/bin/e2fsck, /system/bin/resize2fs - used to expand encryptedstore block device
+type fsck_exec, system_file_type, exec_type, file_type;
 # /system/bin/mke2fs - used to format encryptedstore block device
 type e2fs_exec, system_file_type, exec_type, file_type;
 
diff --git a/microdroid/system/private/file_contexts b/microdroid/system/private/file_contexts
index 8416087..3962c7c 100644
--- a/microdroid/system/private/file_contexts
+++ b/microdroid/system/private/file_contexts
@@ -105,7 +105,9 @@
 /system/bin/authfs               u:object_r:authfs_exec:s0
 /system/bin/authfs_service       u:object_r:authfs_service_exec:s0
 /system/bin/encryptedstore       u:object_r:encryptedstore_exec:s0
-/system/bin/mke2fs		u:object_r:e2fs_exec:s0
+/system/bin/e2fsck               u:object_r:fsck_exec:s0
+/system/bin/mke2fs               u:object_r:e2fs_exec:s0
+/system/bin/resize2fs            u:object_r:fsck_exec:s0
 /system/bin/kexec_load           u:object_r:kexec_exec:s0
 /system/bin/prng_seeder          u:object_r:prng_seeder_exec:s0
 /system/bin/atrace               u:object_r:atrace_exec:s0
diff --git a/microdroid/system/private/init.te b/microdroid/system/private/init.te
index 9a0345f..11e398e 100644
--- a/microdroid/system/private/init.te
+++ b/microdroid/system/private/init.te
@@ -19,6 +19,12 @@
 allow init self:global_capability2_class_set perfmon;
 dontaudit init self:perf_event { kernel tracepoint read write };
 
+# Allow opening /proc/kallsyms so that on boot, init can create and retain an
+# fd with the full address visibility (which is evaluated on open and persists
+# for the lifetime of the open file description). This fd can then be shared
+# with other privileged processes.
+allow init proc_kallsyms:file r_file_perms;
+
 # Allow init to restore contexts of vd_device(/dev/block/vd[..]) when labeling
 # /dev/block.
 allow init vd_device:blk_file relabelto;
diff --git a/microdroid/system/private/microdroid_app.te b/microdroid/system/private/microdroid_app.te
index 77667ff..ecb21cb 100644
--- a/microdroid/system/private/microdroid_app.te
+++ b/microdroid/system/private/microdroid_app.te
@@ -12,3 +12,7 @@
 # Let microdroid_manager kernel-log.
 allow microdroid_app kmsg_device:chr_file w_file_perms;
 allow microdroid_app kmsg_debug_device:chr_file w_file_perms;
+
+# Allow microdroid_manager to read /apex directory to learn about activated
+# APEXes. It uses this to create linker namespace links to those APEXes.
+allow microdroid_app apex_mnt_dir:dir r_dir_perms;
diff --git a/microdroid/system/private/microdroid_payload.te b/microdroid/system/private/microdroid_payload.te
index e4315a2..822797c 100644
--- a/microdroid/system/private/microdroid_payload.te
+++ b/microdroid/system/private/microdroid_payload.te
@@ -14,6 +14,10 @@
 # Allow to set debug prop
 set_prop(microdroid_payload, debug_prop)
 
+# Allow to use service manager APIs without waiting for the servicemanager
+# process because it's not installed in microdroid
+get_prop(microdroid_payload, servicemanager_prop)
+
 # Allow microdroid_payload to use vsock inherited from microdroid_manager
 allow microdroid_payload microdroid_manager:vsock_socket { read write };
 
diff --git a/microdroid/system/private/property_contexts b/microdroid/system/private/property_contexts
index 2bd5a22..13306dd 100644
--- a/microdroid/system/private/property_contexts
+++ b/microdroid/system/private/property_contexts
@@ -58,6 +58,7 @@
 
 apexd.status      u:object_r:apexd_prop:s0 exact enum starting activated ready
 ro.apex.updatable u:object_r:apexd_prop:s0 exact bool
+apex.all.ready    u:object_r:apex_ready_prop:s0 exact bool
 
 ro.cold_boot_done u:object_r:cold_boot_done_prop:s0 exact bool
 
@@ -121,6 +122,9 @@
 microdroid_manager.config_done u:object_r:microdroid_lifecycle_prop:s0 exact bool
 microdroid_manager.init_done u:object_r:microdroid_lifecycle_prop:s0 exact bool
 
+# servicemanager property to avoid waiting for servicemanager process
+servicemanager.installed u:object_r:servicemanager_prop:s0 exact bool
+
 init_debug_policy.adbd.enabled u:object_r:init_debug_policy_prop:s0 exact bool
 
 dev.mnt.blk.root   u:object_r:dev_mnt_prop:s0 exact string
diff --git a/microdroid/system/public/property.te b/microdroid/system/public/property.te
index 7db53d0..ae1c70c 100644
--- a/microdroid/system/public/property.te
+++ b/microdroid/system/public/property.te
@@ -2,6 +2,7 @@
 type apex_config_prop, property_type;
 type apexd_payload_metadata_prop, property_type;
 type apexd_prop, property_type;
+type apex_ready_prop, property_type;
 type arm64_memtag_prop, property_type;
 type bootloader_prop, property_type;
 type boottime_prop, property_type;
@@ -49,6 +50,7 @@
 type usb_control_prop, property_type;
 type vendor_default_prop, property_type;
 type powerctl_prop, property_type;
+type servicemanager_prop, property_type;
 
 # public is for vendor-facing type and attribute definitions.
 # DO NOT ADD allow, neverallow, or dontaudit statements here.
diff --git a/prebuilts/api/202504/202504_general_sepolicy.conf b/prebuilts/api/202504/202504_general_sepolicy.conf
new file mode 100644
index 0000000..33ca1ac
--- /dev/null
+++ b/prebuilts/api/202504/202504_general_sepolicy.conf
@@ -0,0 +1,90117 @@
+#line 1 "system/sepolicy/flagging/flagging_macros"
+####################################
+# is_flag_enabled(flag, rules)
+# SELinux rules which apply only if given feature is turned on
+
+
+####################################
+# is_flag_disabled(flag, rules)
+# SELinux rules which apply only if given feature is turned off
+
+
+####################################
+# starting_at_board_api(api_level, rules_if_api_level)
+#
+# This macro conditionally exposes SELinux rules ensuring they are available
+# only when the board API level is at or above the specified 'api_level'.
+
+
+####################################
+# until_board_api(api_level, rules_if_lower_api_level)
+#
+# This macro conditionally exposes SELinux rules ensuring they are available
+# only when the board API level is below the specified 'api_level'.
+
+#line 1 "system/sepolicy/private/security_classes"
+# FLASK
+
+#
+# Define the security object classes
+#
+
+# Classes marked as userspace are classes
+# for userspace object managers
+
+class security
+class process
+class system
+class capability
+
+# file-related classes
+class filesystem
+class file
+class anon_inode
+class dir
+class fd
+class lnk_file
+class chr_file
+class blk_file
+class sock_file
+class fifo_file
+
+# network-related classes
+class socket
+class tcp_socket
+class udp_socket
+class rawip_socket
+class node
+class netif
+class netlink_socket
+class packet_socket
+class key_socket
+class unix_stream_socket
+class unix_dgram_socket
+
+# sysv-ipc-related classes
+class sem
+class msg
+class msgq
+class shm
+class ipc
+
+# extended netlink sockets
+class netlink_route_socket
+class netlink_tcpdiag_socket
+class netlink_nflog_socket
+class netlink_xfrm_socket
+class netlink_selinux_socket
+class netlink_audit_socket
+class netlink_dnrt_socket
+
+# IPSec association
+class association
+
+# Updated Netlink class for KOBJECT_UEVENT family.
+class netlink_kobject_uevent_socket
+
+class appletalk_socket
+
+class packet
+
+# Kernel access key retention
+class key
+
+class dccp_socket
+
+class memprotect
+
+# network peer labels
+class peer
+
+# Capabilities >= 32
+class capability2
+
+# kernel services that need to override task security, e.g. cachefiles
+class kernel_service
+
+class tun_socket
+
+class binder
+
+# Updated netlink classes for more recent netlink protocols.
+class netlink_iscsi_socket
+class netlink_fib_lookup_socket
+class netlink_connector_socket
+class netlink_netfilter_socket
+class netlink_generic_socket
+class netlink_scsitransport_socket
+class netlink_rdma_socket
+class netlink_crypto_socket
+
+# Infiniband
+class infiniband_pkey
+class infiniband_endport
+
+# Capability checks when on a non-init user namespace
+class cap_userns
+class cap2_userns
+
+# New socket classes introduced by extended_socket_class policy capability.
+# These two were previously mapped to rawip_socket.
+class sctp_socket
+class icmp_socket
+# These were previously mapped to socket.
+class ax25_socket
+class ipx_socket
+class netrom_socket
+class atmpvc_socket
+class x25_socket
+class rose_socket
+class decnet_socket
+class atmsvc_socket
+class rds_socket
+class irda_socket
+class pppox_socket
+class llc_socket
+class can_socket
+class tipc_socket
+class bluetooth_socket
+class iucv_socket
+class rxrpc_socket
+class isdn_socket
+class phonet_socket
+class ieee802154_socket
+class caif_socket
+class alg_socket
+class nfc_socket
+class vsock_socket
+class kcm_socket
+class qipcrtr_socket
+class smc_socket
+class xdp_socket
+class mctp_socket
+
+class process2
+
+class bpf
+
+class perf_event
+
+class io_uring
+
+# Introduced in https://github.com/torvalds/linux/commit/59438b46471ae6cdfb761afc8c9beaf1e428a331
+class lockdown
+
+class user_namespace
+
+# Property service
+class property_service          # userspace
+
+# Service manager
+class service_manager           # userspace
+
+# hardware service manager      # userspace
+class hwservice_manager
+
+# Legacy Keystore key permissions
+class keystore_key              # userspace
+
+# Keystore 2.0 permissions
+class keystore2                 # userspace
+
+# Keystore 2.0 key permissions
+class keystore2_key             # userspace
+
+# Diced permissions
+class diced                     # userspace
+
+class drmservice                # userspace
+# FLASK
+
+# Permissions for VMs to access SMC services
+class tee_service            		# userspace
+#line 1 "system/sepolicy/private/initial_sids"
+# FLASK
+
+#
+# Define initial security identifiers
+#
+
+sid kernel
+sid security
+sid unlabeled
+sid fs
+sid file
+sid file_labels
+sid init
+sid any_socket
+sid port
+sid netif
+sid netmsg
+sid node
+sid igmp_packet
+sid icmp_socket
+sid tcp_socket
+sid sysctl_modprobe
+sid sysctl
+sid sysctl_fs
+sid sysctl_kernel
+sid sysctl_net
+sid sysctl_net_unix
+sid sysctl_vm
+sid sysctl_dev
+sid kmod
+sid policy
+sid scmp_packet
+sid devnull
+
+# FLASK
+#line 1 "system/sepolicy/private/access_vectors"
+#
+# Define common prefixes for access vectors
+#
+# common common_name { permission_name ... }
+
+
+#
+# Define a common prefix for file access vectors.
+#
+
+common file
+{
+	ioctl
+	read
+	write
+	create
+	getattr
+	setattr
+	lock
+	relabelfrom
+	relabelto
+	append
+	map
+	unlink
+	link
+	rename
+	execute
+	quotaon
+	mounton
+	audit_access
+	open
+	execmod
+	watch
+	watch_mount
+	watch_sb
+	watch_with_perm
+	watch_reads
+}
+
+
+#
+# Define a common prefix for socket access vectors.
+#
+
+common socket
+{
+# inherited from file
+	ioctl
+	read
+	write
+	create
+	getattr
+	setattr
+	lock
+	relabelfrom
+	relabelto
+	append
+	map
+# socket-specific
+	bind
+	connect
+	listen
+	accept
+	getopt
+	setopt
+	shutdown
+	recvfrom
+	sendto
+	name_bind
+}
+
+#
+# Define a common prefix for ipc access vectors.
+#
+
+common ipc
+{
+	create
+	destroy
+	getattr
+	setattr
+	read
+	write
+	associate
+	unix_read
+	unix_write
+}
+
+#
+# Define a common for capability access vectors.
+#
+common cap
+{
+	# The capabilities are defined in include/linux/capability.h
+	# Capabilities >= 32 are defined in the cap2 common.
+	# Care should be taken to ensure that these are consistent with
+	# those definitions. (Order matters)
+
+	chown
+	dac_override
+	dac_read_search
+	fowner
+	fsetid
+	kill
+	setgid
+	setuid
+	setpcap
+	linux_immutable
+	net_bind_service
+	net_broadcast
+	net_admin
+	net_raw
+	ipc_lock
+	ipc_owner
+	sys_module
+	sys_rawio
+	sys_chroot
+	sys_ptrace
+	sys_pacct
+	sys_admin
+	sys_boot
+	sys_nice
+	sys_resource
+	sys_time
+	sys_tty_config
+	mknod
+	lease
+	audit_write
+	audit_control
+	setfcap
+}
+
+common cap2
+{
+	mac_override	# unused by SELinux
+	mac_admin
+	syslog
+	wake_alarm
+	block_suspend
+	audit_read
+	perfmon
+	checkpoint_restore
+	bpf
+}
+
+#
+# Define the access vectors.
+#
+# class class_name [ inherits common_name ] { permission_name ... }
+
+
+#
+# Define the access vector interpretation for file-related objects.
+#
+
+class filesystem
+{
+	mount
+	remount
+	unmount
+	getattr
+	relabelfrom
+	relabelto
+	associate
+	quotamod
+	quotaget
+	watch
+}
+
+class dir
+inherits file
+{
+	add_name
+	remove_name
+	reparent
+	search
+	rmdir
+}
+
+class file
+inherits file
+{
+	execute_no_trans
+	entrypoint
+}
+
+class anon_inode
+inherits file
+
+class lnk_file
+inherits file
+
+class chr_file
+inherits file
+{
+	execute_no_trans
+	entrypoint
+}
+
+class blk_file
+inherits file
+
+class sock_file
+inherits file
+
+class fifo_file
+inherits file
+
+class fd
+{
+	use
+}
+
+
+#
+# Define the access vector interpretation for network-related objects.
+#
+
+class socket
+inherits socket
+
+class tcp_socket
+inherits socket
+{
+	node_bind
+	name_connect
+}
+
+class udp_socket
+inherits socket
+{
+	node_bind
+}
+
+class rawip_socket
+inherits socket
+{
+	node_bind
+}
+
+class node
+{
+	recvfrom
+	sendto
+}
+
+class netif
+{
+	ingress
+	egress
+}
+
+class netlink_socket
+inherits socket
+
+class packet_socket
+inherits socket
+
+class key_socket
+inherits socket
+
+class unix_stream_socket
+inherits socket
+{
+	connectto
+}
+
+class unix_dgram_socket
+inherits socket
+
+#
+# Define the access vector interpretation for process-related objects
+#
+
+class process
+{
+	fork
+	transition
+	sigchld # commonly granted from child to parent
+	sigkill # cannot be caught or ignored
+	sigstop # cannot be caught or ignored
+	signull # for kill(pid, 0)
+	signal  # all other signals
+	ptrace
+	getsched
+	setsched
+	getsession
+	getpgid
+	setpgid
+	getcap
+	setcap
+	share
+	getattr
+	setexec
+	setfscreate
+	noatsecure
+	siginh
+	setrlimit
+	rlimitinh
+	dyntransition
+	setcurrent
+	execmem
+	execstack
+	execheap
+	setkeycreate
+	setsockcreate
+	getrlimit
+}
+
+class process2
+{
+	nnp_transition
+	nosuid_transition
+}
+
+#
+# Define the access vector interpretation for ipc-related objects
+#
+
+class ipc
+inherits ipc
+
+class sem
+inherits ipc
+
+class msgq
+inherits ipc
+{
+	enqueue
+}
+
+class msg
+{
+	send
+	receive
+}
+
+class shm
+inherits ipc
+{
+	lock
+}
+
+
+#
+# Define the access vector interpretation for the security server.
+#
+
+class security
+{
+	compute_av
+	compute_create
+	compute_member
+	check_context
+	load_policy
+	compute_relabel
+	compute_user
+	setenforce     # was avc_toggle in system class
+	setbool
+	setsecparam
+	setcheckreqprot
+	read_policy
+	validate_trans
+}
+
+
+#
+# Define the access vector interpretation for system operations.
+#
+
+class system
+{
+	ipc_info
+	syslog_read
+	syslog_mod
+	syslog_console
+	module_request
+	module_load
+}
+
+#
+# Define the access vector interpretation for controlling capabilities
+#
+
+class capability
+inherits cap
+
+class capability2
+inherits cap2
+
+#
+# Extended Netlink classes
+#
+class netlink_route_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+	nlmsg_readpriv
+	nlmsg_getneigh
+}
+
+class netlink_tcpdiag_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+}
+
+class netlink_nflog_socket
+inherits socket
+
+class netlink_xfrm_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+}
+
+class netlink_selinux_socket
+inherits socket
+
+class netlink_audit_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+	nlmsg_relay
+	nlmsg_readpriv
+	nlmsg_tty_audit
+}
+
+class netlink_dnrt_socket
+inherits socket
+
+# Define the access vector interpretation for controlling
+# access to IPSec network data by association
+#
+class association
+{
+	sendto
+	recvfrom
+	setcontext
+	polmatch
+}
+
+# Updated Netlink class for KOBJECT_UEVENT family.
+class netlink_kobject_uevent_socket
+inherits socket
+
+class appletalk_socket
+inherits socket
+
+class packet
+{
+	send
+	recv
+	relabelto
+	forward_in
+	forward_out
+}
+
+class key
+{
+	view
+	read
+	write
+	search
+	link
+	setattr
+	create
+}
+
+class dccp_socket
+inherits socket
+{
+	node_bind
+	name_connect
+}
+
+class memprotect
+{
+	mmap_zero
+}
+
+# network peer labels
+class peer
+{
+	recv
+}
+
+class kernel_service
+{
+	use_as_override
+	create_files_as
+}
+
+class tun_socket
+inherits socket
+{
+	attach_queue
+}
+
+class binder
+{
+	impersonate
+	call
+	set_context_mgr
+	transfer
+}
+
+class netlink_iscsi_socket
+inherits socket
+
+class netlink_fib_lookup_socket
+inherits socket
+
+class netlink_connector_socket
+inherits socket
+
+class netlink_netfilter_socket
+inherits socket
+
+class netlink_generic_socket
+inherits socket
+
+class netlink_scsitransport_socket
+inherits socket
+
+class netlink_rdma_socket
+inherits socket
+
+class netlink_crypto_socket
+inherits socket
+
+class infiniband_pkey
+{
+	access
+}
+
+class infiniband_endport
+{
+	manage_subnet
+}
+
+#
+# Define the access vector interpretation for controlling capabilities
+# in user namespaces
+#
+
+class cap_userns
+inherits cap
+
+class cap2_userns
+inherits cap2
+
+
+#
+# Define the access vector interpretation for the new socket classes
+# enabled by the extended_socket_class policy capability.
+#
+
+#
+# The next two classes were previously mapped to rawip_socket and therefore
+# have the same definition as rawip_socket (until further permissions
+# are defined).
+#
+class sctp_socket
+inherits socket
+{
+	node_bind
+	name_connect
+	association
+}
+
+class icmp_socket
+inherits socket
+{
+	node_bind
+}
+
+#
+# The remaining network socket classes were previously
+# mapped to the socket class and therefore have the
+# same definition as socket.
+#
+
+class ax25_socket
+inherits socket
+
+class ipx_socket
+inherits socket
+
+class netrom_socket
+inherits socket
+
+class atmpvc_socket
+inherits socket
+
+class x25_socket
+inherits socket
+
+class rose_socket
+inherits socket
+
+class decnet_socket
+inherits socket
+
+class atmsvc_socket
+inherits socket
+
+class rds_socket
+inherits socket
+
+class irda_socket
+inherits socket
+
+class pppox_socket
+inherits socket
+
+class llc_socket
+inherits socket
+
+class can_socket
+inherits socket
+
+class tipc_socket
+inherits socket
+
+class bluetooth_socket
+inherits socket
+
+class iucv_socket
+inherits socket
+
+class rxrpc_socket
+inherits socket
+
+class isdn_socket
+inherits socket
+
+class phonet_socket
+inherits socket
+
+class ieee802154_socket
+inherits socket
+
+class caif_socket
+inherits socket
+
+class alg_socket
+inherits socket
+
+class nfc_socket
+inherits socket
+
+class vsock_socket
+inherits socket
+
+class kcm_socket
+inherits socket
+
+class qipcrtr_socket
+inherits socket
+
+class smc_socket
+inherits socket
+
+class xdp_socket
+inherits socket
+
+class mctp_socket
+inherits socket
+
+class bpf
+{
+	map_create
+	map_read
+	map_write
+	prog_load
+	prog_run
+}
+
+class property_service
+{
+	set
+}
+
+class service_manager
+{
+	add
+	find
+	list
+}
+
+class hwservice_manager
+{
+	add
+	find
+	list
+}
+
+class keystore_key # No longer used
+{
+	get_state
+	get
+	insert
+	delete
+	exist
+	list
+	reset
+	password
+	lock
+	unlock
+	is_empty
+	sign
+	verify
+	grant
+	duplicate
+	clear_uid
+	add_auth
+	user_changed
+	gen_unique_id
+}
+
+class keystore2
+{
+	add_auth
+	change_password
+	change_user
+	clear_ns
+	clear_uid
+	delete_all_keys
+	early_boot_ended
+	get_attestation_key
+	get_auth_token
+	get_last_auth_time
+	get_state # No longer used
+	list
+	lock
+	pull_metrics
+	report_off_body # No longer used
+	reset
+	unlock
+}
+
+class keystore2_key
+{
+	convert_storage_key_to_ephemeral
+	delete
+	gen_unique_id
+	get_info
+	grant
+	manage_blob
+	rebind
+	req_forced_op
+	update
+	use
+	use_dev_id
+}
+
+class diced
+{
+	demote
+	demote_self
+	derive
+	get_attestation_chain
+	use_seal
+	use_sign
+}
+
+class drmservice {
+	consumeRights
+	setPlaybackStatus
+	openDecryptSession
+	closeDecryptSession
+	initializeDecryptUnit
+	decrypt
+	finalizeDecryptUnit
+	pread
+}
+
+class perf_event
+{
+	open
+	cpu
+	kernel
+	tracepoint
+	read
+	write
+}
+
+class lockdown
+{
+	integrity
+	confidentiality
+}
+
+class io_uring
+{
+	override_creds
+	sqpoll
+	cmd
+}
+
+class user_namespace
+{
+	create
+}
+
+class tee_service
+{
+	use
+}
+#line 1 "system/sepolicy/public/global_macros"
+#####################################
+# Common groupings of object classes.
+#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#####################################
+# Common groupings of permissions.
+#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#####################################
+# Common socket permission sets.
+
+
+
+
+
+
+#line 1 "system/sepolicy/public/neverallow_macros"
+#
+# Common neverallow permissions
+
+
+
+
+
+#####################################
+# neverallow_establish_socket_comms(src, dst)
+# neverallow src domain establishing socket connections to dst domain.
+#
+#line 15
+
+#line 1 "system/sepolicy/private/mls_macros"
+########################################
+#
+# gen_cats(N)
+#
+# declares categores c0 to c(N-1)
+#
+#line 10
+
+
+
+
+########################################
+#
+# gen_sens(N)
+#
+# declares sensitivites s0 to s(N-1) with dominance
+# in increasing numeric order with s0 lowest, s(N-1) highest
+#
+#line 24
+
+
+
+
+#line 34
+
+
+########################################
+#
+# gen_levels(N,M)
+#
+# levels from s0 to (N-1) with categories c0 to (M-1)
+#
+#line 45
+
+
+
+
+########################################
+#
+# Basic level names for system low and high
+#
+
+
+#line 1 "system/sepolicy/private/mls_decl"
+#########################################
+# MLS declarations
+#
+
+# Generate the desired number of sensitivities and categories.
+
+#line 6
+# Each sensitivity has a name and zero or more aliases.
+#line 6
+sensitivity s0;
+#line 6
+
+#line 6
+
+#line 6
+# Define the ordering of the sensitivity levels (least to greatest)
+#line 6
+dominance { s0  }
+#line 6
+
+category c0;
+#line 7
+category c1;
+#line 7
+category c2;
+#line 7
+category c3;
+#line 7
+category c4;
+#line 7
+category c5;
+#line 7
+category c6;
+#line 7
+category c7;
+#line 7
+category c8;
+#line 7
+category c9;
+#line 7
+category c10;
+#line 7
+category c11;
+#line 7
+category c12;
+#line 7
+category c13;
+#line 7
+category c14;
+#line 7
+category c15;
+#line 7
+category c16;
+#line 7
+category c17;
+#line 7
+category c18;
+#line 7
+category c19;
+#line 7
+category c20;
+#line 7
+category c21;
+#line 7
+category c22;
+#line 7
+category c23;
+#line 7
+category c24;
+#line 7
+category c25;
+#line 7
+category c26;
+#line 7
+category c27;
+#line 7
+category c28;
+#line 7
+category c29;
+#line 7
+category c30;
+#line 7
+category c31;
+#line 7
+category c32;
+#line 7
+category c33;
+#line 7
+category c34;
+#line 7
+category c35;
+#line 7
+category c36;
+#line 7
+category c37;
+#line 7
+category c38;
+#line 7
+category c39;
+#line 7
+category c40;
+#line 7
+category c41;
+#line 7
+category c42;
+#line 7
+category c43;
+#line 7
+category c44;
+#line 7
+category c45;
+#line 7
+category c46;
+#line 7
+category c47;
+#line 7
+category c48;
+#line 7
+category c49;
+#line 7
+category c50;
+#line 7
+category c51;
+#line 7
+category c52;
+#line 7
+category c53;
+#line 7
+category c54;
+#line 7
+category c55;
+#line 7
+category c56;
+#line 7
+category c57;
+#line 7
+category c58;
+#line 7
+category c59;
+#line 7
+category c60;
+#line 7
+category c61;
+#line 7
+category c62;
+#line 7
+category c63;
+#line 7
+category c64;
+#line 7
+category c65;
+#line 7
+category c66;
+#line 7
+category c67;
+#line 7
+category c68;
+#line 7
+category c69;
+#line 7
+category c70;
+#line 7
+category c71;
+#line 7
+category c72;
+#line 7
+category c73;
+#line 7
+category c74;
+#line 7
+category c75;
+#line 7
+category c76;
+#line 7
+category c77;
+#line 7
+category c78;
+#line 7
+category c79;
+#line 7
+category c80;
+#line 7
+category c81;
+#line 7
+category c82;
+#line 7
+category c83;
+#line 7
+category c84;
+#line 7
+category c85;
+#line 7
+category c86;
+#line 7
+category c87;
+#line 7
+category c88;
+#line 7
+category c89;
+#line 7
+category c90;
+#line 7
+category c91;
+#line 7
+category c92;
+#line 7
+category c93;
+#line 7
+category c94;
+#line 7
+category c95;
+#line 7
+category c96;
+#line 7
+category c97;
+#line 7
+category c98;
+#line 7
+category c99;
+#line 7
+category c100;
+#line 7
+category c101;
+#line 7
+category c102;
+#line 7
+category c103;
+#line 7
+category c104;
+#line 7
+category c105;
+#line 7
+category c106;
+#line 7
+category c107;
+#line 7
+category c108;
+#line 7
+category c109;
+#line 7
+category c110;
+#line 7
+category c111;
+#line 7
+category c112;
+#line 7
+category c113;
+#line 7
+category c114;
+#line 7
+category c115;
+#line 7
+category c116;
+#line 7
+category c117;
+#line 7
+category c118;
+#line 7
+category c119;
+#line 7
+category c120;
+#line 7
+category c121;
+#line 7
+category c122;
+#line 7
+category c123;
+#line 7
+category c124;
+#line 7
+category c125;
+#line 7
+category c126;
+#line 7
+category c127;
+#line 7
+category c128;
+#line 7
+category c129;
+#line 7
+category c130;
+#line 7
+category c131;
+#line 7
+category c132;
+#line 7
+category c133;
+#line 7
+category c134;
+#line 7
+category c135;
+#line 7
+category c136;
+#line 7
+category c137;
+#line 7
+category c138;
+#line 7
+category c139;
+#line 7
+category c140;
+#line 7
+category c141;
+#line 7
+category c142;
+#line 7
+category c143;
+#line 7
+category c144;
+#line 7
+category c145;
+#line 7
+category c146;
+#line 7
+category c147;
+#line 7
+category c148;
+#line 7
+category c149;
+#line 7
+category c150;
+#line 7
+category c151;
+#line 7
+category c152;
+#line 7
+category c153;
+#line 7
+category c154;
+#line 7
+category c155;
+#line 7
+category c156;
+#line 7
+category c157;
+#line 7
+category c158;
+#line 7
+category c159;
+#line 7
+category c160;
+#line 7
+category c161;
+#line 7
+category c162;
+#line 7
+category c163;
+#line 7
+category c164;
+#line 7
+category c165;
+#line 7
+category c166;
+#line 7
+category c167;
+#line 7
+category c168;
+#line 7
+category c169;
+#line 7
+category c170;
+#line 7
+category c171;
+#line 7
+category c172;
+#line 7
+category c173;
+#line 7
+category c174;
+#line 7
+category c175;
+#line 7
+category c176;
+#line 7
+category c177;
+#line 7
+category c178;
+#line 7
+category c179;
+#line 7
+category c180;
+#line 7
+category c181;
+#line 7
+category c182;
+#line 7
+category c183;
+#line 7
+category c184;
+#line 7
+category c185;
+#line 7
+category c186;
+#line 7
+category c187;
+#line 7
+category c188;
+#line 7
+category c189;
+#line 7
+category c190;
+#line 7
+category c191;
+#line 7
+category c192;
+#line 7
+category c193;
+#line 7
+category c194;
+#line 7
+category c195;
+#line 7
+category c196;
+#line 7
+category c197;
+#line 7
+category c198;
+#line 7
+category c199;
+#line 7
+category c200;
+#line 7
+category c201;
+#line 7
+category c202;
+#line 7
+category c203;
+#line 7
+category c204;
+#line 7
+category c205;
+#line 7
+category c206;
+#line 7
+category c207;
+#line 7
+category c208;
+#line 7
+category c209;
+#line 7
+category c210;
+#line 7
+category c211;
+#line 7
+category c212;
+#line 7
+category c213;
+#line 7
+category c214;
+#line 7
+category c215;
+#line 7
+category c216;
+#line 7
+category c217;
+#line 7
+category c218;
+#line 7
+category c219;
+#line 7
+category c220;
+#line 7
+category c221;
+#line 7
+category c222;
+#line 7
+category c223;
+#line 7
+category c224;
+#line 7
+category c225;
+#line 7
+category c226;
+#line 7
+category c227;
+#line 7
+category c228;
+#line 7
+category c229;
+#line 7
+category c230;
+#line 7
+category c231;
+#line 7
+category c232;
+#line 7
+category c233;
+#line 7
+category c234;
+#line 7
+category c235;
+#line 7
+category c236;
+#line 7
+category c237;
+#line 7
+category c238;
+#line 7
+category c239;
+#line 7
+category c240;
+#line 7
+category c241;
+#line 7
+category c242;
+#line 7
+category c243;
+#line 7
+category c244;
+#line 7
+category c245;
+#line 7
+category c246;
+#line 7
+category c247;
+#line 7
+category c248;
+#line 7
+category c249;
+#line 7
+category c250;
+#line 7
+category c251;
+#line 7
+category c252;
+#line 7
+category c253;
+#line 7
+category c254;
+#line 7
+category c255;
+#line 7
+category c256;
+#line 7
+category c257;
+#line 7
+category c258;
+#line 7
+category c259;
+#line 7
+category c260;
+#line 7
+category c261;
+#line 7
+category c262;
+#line 7
+category c263;
+#line 7
+category c264;
+#line 7
+category c265;
+#line 7
+category c266;
+#line 7
+category c267;
+#line 7
+category c268;
+#line 7
+category c269;
+#line 7
+category c270;
+#line 7
+category c271;
+#line 7
+category c272;
+#line 7
+category c273;
+#line 7
+category c274;
+#line 7
+category c275;
+#line 7
+category c276;
+#line 7
+category c277;
+#line 7
+category c278;
+#line 7
+category c279;
+#line 7
+category c280;
+#line 7
+category c281;
+#line 7
+category c282;
+#line 7
+category c283;
+#line 7
+category c284;
+#line 7
+category c285;
+#line 7
+category c286;
+#line 7
+category c287;
+#line 7
+category c288;
+#line 7
+category c289;
+#line 7
+category c290;
+#line 7
+category c291;
+#line 7
+category c292;
+#line 7
+category c293;
+#line 7
+category c294;
+#line 7
+category c295;
+#line 7
+category c296;
+#line 7
+category c297;
+#line 7
+category c298;
+#line 7
+category c299;
+#line 7
+category c300;
+#line 7
+category c301;
+#line 7
+category c302;
+#line 7
+category c303;
+#line 7
+category c304;
+#line 7
+category c305;
+#line 7
+category c306;
+#line 7
+category c307;
+#line 7
+category c308;
+#line 7
+category c309;
+#line 7
+category c310;
+#line 7
+category c311;
+#line 7
+category c312;
+#line 7
+category c313;
+#line 7
+category c314;
+#line 7
+category c315;
+#line 7
+category c316;
+#line 7
+category c317;
+#line 7
+category c318;
+#line 7
+category c319;
+#line 7
+category c320;
+#line 7
+category c321;
+#line 7
+category c322;
+#line 7
+category c323;
+#line 7
+category c324;
+#line 7
+category c325;
+#line 7
+category c326;
+#line 7
+category c327;
+#line 7
+category c328;
+#line 7
+category c329;
+#line 7
+category c330;
+#line 7
+category c331;
+#line 7
+category c332;
+#line 7
+category c333;
+#line 7
+category c334;
+#line 7
+category c335;
+#line 7
+category c336;
+#line 7
+category c337;
+#line 7
+category c338;
+#line 7
+category c339;
+#line 7
+category c340;
+#line 7
+category c341;
+#line 7
+category c342;
+#line 7
+category c343;
+#line 7
+category c344;
+#line 7
+category c345;
+#line 7
+category c346;
+#line 7
+category c347;
+#line 7
+category c348;
+#line 7
+category c349;
+#line 7
+category c350;
+#line 7
+category c351;
+#line 7
+category c352;
+#line 7
+category c353;
+#line 7
+category c354;
+#line 7
+category c355;
+#line 7
+category c356;
+#line 7
+category c357;
+#line 7
+category c358;
+#line 7
+category c359;
+#line 7
+category c360;
+#line 7
+category c361;
+#line 7
+category c362;
+#line 7
+category c363;
+#line 7
+category c364;
+#line 7
+category c365;
+#line 7
+category c366;
+#line 7
+category c367;
+#line 7
+category c368;
+#line 7
+category c369;
+#line 7
+category c370;
+#line 7
+category c371;
+#line 7
+category c372;
+#line 7
+category c373;
+#line 7
+category c374;
+#line 7
+category c375;
+#line 7
+category c376;
+#line 7
+category c377;
+#line 7
+category c378;
+#line 7
+category c379;
+#line 7
+category c380;
+#line 7
+category c381;
+#line 7
+category c382;
+#line 7
+category c383;
+#line 7
+category c384;
+#line 7
+category c385;
+#line 7
+category c386;
+#line 7
+category c387;
+#line 7
+category c388;
+#line 7
+category c389;
+#line 7
+category c390;
+#line 7
+category c391;
+#line 7
+category c392;
+#line 7
+category c393;
+#line 7
+category c394;
+#line 7
+category c395;
+#line 7
+category c396;
+#line 7
+category c397;
+#line 7
+category c398;
+#line 7
+category c399;
+#line 7
+category c400;
+#line 7
+category c401;
+#line 7
+category c402;
+#line 7
+category c403;
+#line 7
+category c404;
+#line 7
+category c405;
+#line 7
+category c406;
+#line 7
+category c407;
+#line 7
+category c408;
+#line 7
+category c409;
+#line 7
+category c410;
+#line 7
+category c411;
+#line 7
+category c412;
+#line 7
+category c413;
+#line 7
+category c414;
+#line 7
+category c415;
+#line 7
+category c416;
+#line 7
+category c417;
+#line 7
+category c418;
+#line 7
+category c419;
+#line 7
+category c420;
+#line 7
+category c421;
+#line 7
+category c422;
+#line 7
+category c423;
+#line 7
+category c424;
+#line 7
+category c425;
+#line 7
+category c426;
+#line 7
+category c427;
+#line 7
+category c428;
+#line 7
+category c429;
+#line 7
+category c430;
+#line 7
+category c431;
+#line 7
+category c432;
+#line 7
+category c433;
+#line 7
+category c434;
+#line 7
+category c435;
+#line 7
+category c436;
+#line 7
+category c437;
+#line 7
+category c438;
+#line 7
+category c439;
+#line 7
+category c440;
+#line 7
+category c441;
+#line 7
+category c442;
+#line 7
+category c443;
+#line 7
+category c444;
+#line 7
+category c445;
+#line 7
+category c446;
+#line 7
+category c447;
+#line 7
+category c448;
+#line 7
+category c449;
+#line 7
+category c450;
+#line 7
+category c451;
+#line 7
+category c452;
+#line 7
+category c453;
+#line 7
+category c454;
+#line 7
+category c455;
+#line 7
+category c456;
+#line 7
+category c457;
+#line 7
+category c458;
+#line 7
+category c459;
+#line 7
+category c460;
+#line 7
+category c461;
+#line 7
+category c462;
+#line 7
+category c463;
+#line 7
+category c464;
+#line 7
+category c465;
+#line 7
+category c466;
+#line 7
+category c467;
+#line 7
+category c468;
+#line 7
+category c469;
+#line 7
+category c470;
+#line 7
+category c471;
+#line 7
+category c472;
+#line 7
+category c473;
+#line 7
+category c474;
+#line 7
+category c475;
+#line 7
+category c476;
+#line 7
+category c477;
+#line 7
+category c478;
+#line 7
+category c479;
+#line 7
+category c480;
+#line 7
+category c481;
+#line 7
+category c482;
+#line 7
+category c483;
+#line 7
+category c484;
+#line 7
+category c485;
+#line 7
+category c486;
+#line 7
+category c487;
+#line 7
+category c488;
+#line 7
+category c489;
+#line 7
+category c490;
+#line 7
+category c491;
+#line 7
+category c492;
+#line 7
+category c493;
+#line 7
+category c494;
+#line 7
+category c495;
+#line 7
+category c496;
+#line 7
+category c497;
+#line 7
+category c498;
+#line 7
+category c499;
+#line 7
+category c500;
+#line 7
+category c501;
+#line 7
+category c502;
+#line 7
+category c503;
+#line 7
+category c504;
+#line 7
+category c505;
+#line 7
+category c506;
+#line 7
+category c507;
+#line 7
+category c508;
+#line 7
+category c509;
+#line 7
+category c510;
+#line 7
+category c511;
+#line 7
+category c512;
+#line 7
+category c513;
+#line 7
+category c514;
+#line 7
+category c515;
+#line 7
+category c516;
+#line 7
+category c517;
+#line 7
+category c518;
+#line 7
+category c519;
+#line 7
+category c520;
+#line 7
+category c521;
+#line 7
+category c522;
+#line 7
+category c523;
+#line 7
+category c524;
+#line 7
+category c525;
+#line 7
+category c526;
+#line 7
+category c527;
+#line 7
+category c528;
+#line 7
+category c529;
+#line 7
+category c530;
+#line 7
+category c531;
+#line 7
+category c532;
+#line 7
+category c533;
+#line 7
+category c534;
+#line 7
+category c535;
+#line 7
+category c536;
+#line 7
+category c537;
+#line 7
+category c538;
+#line 7
+category c539;
+#line 7
+category c540;
+#line 7
+category c541;
+#line 7
+category c542;
+#line 7
+category c543;
+#line 7
+category c544;
+#line 7
+category c545;
+#line 7
+category c546;
+#line 7
+category c547;
+#line 7
+category c548;
+#line 7
+category c549;
+#line 7
+category c550;
+#line 7
+category c551;
+#line 7
+category c552;
+#line 7
+category c553;
+#line 7
+category c554;
+#line 7
+category c555;
+#line 7
+category c556;
+#line 7
+category c557;
+#line 7
+category c558;
+#line 7
+category c559;
+#line 7
+category c560;
+#line 7
+category c561;
+#line 7
+category c562;
+#line 7
+category c563;
+#line 7
+category c564;
+#line 7
+category c565;
+#line 7
+category c566;
+#line 7
+category c567;
+#line 7
+category c568;
+#line 7
+category c569;
+#line 7
+category c570;
+#line 7
+category c571;
+#line 7
+category c572;
+#line 7
+category c573;
+#line 7
+category c574;
+#line 7
+category c575;
+#line 7
+category c576;
+#line 7
+category c577;
+#line 7
+category c578;
+#line 7
+category c579;
+#line 7
+category c580;
+#line 7
+category c581;
+#line 7
+category c582;
+#line 7
+category c583;
+#line 7
+category c584;
+#line 7
+category c585;
+#line 7
+category c586;
+#line 7
+category c587;
+#line 7
+category c588;
+#line 7
+category c589;
+#line 7
+category c590;
+#line 7
+category c591;
+#line 7
+category c592;
+#line 7
+category c593;
+#line 7
+category c594;
+#line 7
+category c595;
+#line 7
+category c596;
+#line 7
+category c597;
+#line 7
+category c598;
+#line 7
+category c599;
+#line 7
+category c600;
+#line 7
+category c601;
+#line 7
+category c602;
+#line 7
+category c603;
+#line 7
+category c604;
+#line 7
+category c605;
+#line 7
+category c606;
+#line 7
+category c607;
+#line 7
+category c608;
+#line 7
+category c609;
+#line 7
+category c610;
+#line 7
+category c611;
+#line 7
+category c612;
+#line 7
+category c613;
+#line 7
+category c614;
+#line 7
+category c615;
+#line 7
+category c616;
+#line 7
+category c617;
+#line 7
+category c618;
+#line 7
+category c619;
+#line 7
+category c620;
+#line 7
+category c621;
+#line 7
+category c622;
+#line 7
+category c623;
+#line 7
+category c624;
+#line 7
+category c625;
+#line 7
+category c626;
+#line 7
+category c627;
+#line 7
+category c628;
+#line 7
+category c629;
+#line 7
+category c630;
+#line 7
+category c631;
+#line 7
+category c632;
+#line 7
+category c633;
+#line 7
+category c634;
+#line 7
+category c635;
+#line 7
+category c636;
+#line 7
+category c637;
+#line 7
+category c638;
+#line 7
+category c639;
+#line 7
+category c640;
+#line 7
+category c641;
+#line 7
+category c642;
+#line 7
+category c643;
+#line 7
+category c644;
+#line 7
+category c645;
+#line 7
+category c646;
+#line 7
+category c647;
+#line 7
+category c648;
+#line 7
+category c649;
+#line 7
+category c650;
+#line 7
+category c651;
+#line 7
+category c652;
+#line 7
+category c653;
+#line 7
+category c654;
+#line 7
+category c655;
+#line 7
+category c656;
+#line 7
+category c657;
+#line 7
+category c658;
+#line 7
+category c659;
+#line 7
+category c660;
+#line 7
+category c661;
+#line 7
+category c662;
+#line 7
+category c663;
+#line 7
+category c664;
+#line 7
+category c665;
+#line 7
+category c666;
+#line 7
+category c667;
+#line 7
+category c668;
+#line 7
+category c669;
+#line 7
+category c670;
+#line 7
+category c671;
+#line 7
+category c672;
+#line 7
+category c673;
+#line 7
+category c674;
+#line 7
+category c675;
+#line 7
+category c676;
+#line 7
+category c677;
+#line 7
+category c678;
+#line 7
+category c679;
+#line 7
+category c680;
+#line 7
+category c681;
+#line 7
+category c682;
+#line 7
+category c683;
+#line 7
+category c684;
+#line 7
+category c685;
+#line 7
+category c686;
+#line 7
+category c687;
+#line 7
+category c688;
+#line 7
+category c689;
+#line 7
+category c690;
+#line 7
+category c691;
+#line 7
+category c692;
+#line 7
+category c693;
+#line 7
+category c694;
+#line 7
+category c695;
+#line 7
+category c696;
+#line 7
+category c697;
+#line 7
+category c698;
+#line 7
+category c699;
+#line 7
+category c700;
+#line 7
+category c701;
+#line 7
+category c702;
+#line 7
+category c703;
+#line 7
+category c704;
+#line 7
+category c705;
+#line 7
+category c706;
+#line 7
+category c707;
+#line 7
+category c708;
+#line 7
+category c709;
+#line 7
+category c710;
+#line 7
+category c711;
+#line 7
+category c712;
+#line 7
+category c713;
+#line 7
+category c714;
+#line 7
+category c715;
+#line 7
+category c716;
+#line 7
+category c717;
+#line 7
+category c718;
+#line 7
+category c719;
+#line 7
+category c720;
+#line 7
+category c721;
+#line 7
+category c722;
+#line 7
+category c723;
+#line 7
+category c724;
+#line 7
+category c725;
+#line 7
+category c726;
+#line 7
+category c727;
+#line 7
+category c728;
+#line 7
+category c729;
+#line 7
+category c730;
+#line 7
+category c731;
+#line 7
+category c732;
+#line 7
+category c733;
+#line 7
+category c734;
+#line 7
+category c735;
+#line 7
+category c736;
+#line 7
+category c737;
+#line 7
+category c738;
+#line 7
+category c739;
+#line 7
+category c740;
+#line 7
+category c741;
+#line 7
+category c742;
+#line 7
+category c743;
+#line 7
+category c744;
+#line 7
+category c745;
+#line 7
+category c746;
+#line 7
+category c747;
+#line 7
+category c748;
+#line 7
+category c749;
+#line 7
+category c750;
+#line 7
+category c751;
+#line 7
+category c752;
+#line 7
+category c753;
+#line 7
+category c754;
+#line 7
+category c755;
+#line 7
+category c756;
+#line 7
+category c757;
+#line 7
+category c758;
+#line 7
+category c759;
+#line 7
+category c760;
+#line 7
+category c761;
+#line 7
+category c762;
+#line 7
+category c763;
+#line 7
+category c764;
+#line 7
+category c765;
+#line 7
+category c766;
+#line 7
+category c767;
+#line 7
+category c768;
+#line 7
+category c769;
+#line 7
+category c770;
+#line 7
+category c771;
+#line 7
+category c772;
+#line 7
+category c773;
+#line 7
+category c774;
+#line 7
+category c775;
+#line 7
+category c776;
+#line 7
+category c777;
+#line 7
+category c778;
+#line 7
+category c779;
+#line 7
+category c780;
+#line 7
+category c781;
+#line 7
+category c782;
+#line 7
+category c783;
+#line 7
+category c784;
+#line 7
+category c785;
+#line 7
+category c786;
+#line 7
+category c787;
+#line 7
+category c788;
+#line 7
+category c789;
+#line 7
+category c790;
+#line 7
+category c791;
+#line 7
+category c792;
+#line 7
+category c793;
+#line 7
+category c794;
+#line 7
+category c795;
+#line 7
+category c796;
+#line 7
+category c797;
+#line 7
+category c798;
+#line 7
+category c799;
+#line 7
+category c800;
+#line 7
+category c801;
+#line 7
+category c802;
+#line 7
+category c803;
+#line 7
+category c804;
+#line 7
+category c805;
+#line 7
+category c806;
+#line 7
+category c807;
+#line 7
+category c808;
+#line 7
+category c809;
+#line 7
+category c810;
+#line 7
+category c811;
+#line 7
+category c812;
+#line 7
+category c813;
+#line 7
+category c814;
+#line 7
+category c815;
+#line 7
+category c816;
+#line 7
+category c817;
+#line 7
+category c818;
+#line 7
+category c819;
+#line 7
+category c820;
+#line 7
+category c821;
+#line 7
+category c822;
+#line 7
+category c823;
+#line 7
+category c824;
+#line 7
+category c825;
+#line 7
+category c826;
+#line 7
+category c827;
+#line 7
+category c828;
+#line 7
+category c829;
+#line 7
+category c830;
+#line 7
+category c831;
+#line 7
+category c832;
+#line 7
+category c833;
+#line 7
+category c834;
+#line 7
+category c835;
+#line 7
+category c836;
+#line 7
+category c837;
+#line 7
+category c838;
+#line 7
+category c839;
+#line 7
+category c840;
+#line 7
+category c841;
+#line 7
+category c842;
+#line 7
+category c843;
+#line 7
+category c844;
+#line 7
+category c845;
+#line 7
+category c846;
+#line 7
+category c847;
+#line 7
+category c848;
+#line 7
+category c849;
+#line 7
+category c850;
+#line 7
+category c851;
+#line 7
+category c852;
+#line 7
+category c853;
+#line 7
+category c854;
+#line 7
+category c855;
+#line 7
+category c856;
+#line 7
+category c857;
+#line 7
+category c858;
+#line 7
+category c859;
+#line 7
+category c860;
+#line 7
+category c861;
+#line 7
+category c862;
+#line 7
+category c863;
+#line 7
+category c864;
+#line 7
+category c865;
+#line 7
+category c866;
+#line 7
+category c867;
+#line 7
+category c868;
+#line 7
+category c869;
+#line 7
+category c870;
+#line 7
+category c871;
+#line 7
+category c872;
+#line 7
+category c873;
+#line 7
+category c874;
+#line 7
+category c875;
+#line 7
+category c876;
+#line 7
+category c877;
+#line 7
+category c878;
+#line 7
+category c879;
+#line 7
+category c880;
+#line 7
+category c881;
+#line 7
+category c882;
+#line 7
+category c883;
+#line 7
+category c884;
+#line 7
+category c885;
+#line 7
+category c886;
+#line 7
+category c887;
+#line 7
+category c888;
+#line 7
+category c889;
+#line 7
+category c890;
+#line 7
+category c891;
+#line 7
+category c892;
+#line 7
+category c893;
+#line 7
+category c894;
+#line 7
+category c895;
+#line 7
+category c896;
+#line 7
+category c897;
+#line 7
+category c898;
+#line 7
+category c899;
+#line 7
+category c900;
+#line 7
+category c901;
+#line 7
+category c902;
+#line 7
+category c903;
+#line 7
+category c904;
+#line 7
+category c905;
+#line 7
+category c906;
+#line 7
+category c907;
+#line 7
+category c908;
+#line 7
+category c909;
+#line 7
+category c910;
+#line 7
+category c911;
+#line 7
+category c912;
+#line 7
+category c913;
+#line 7
+category c914;
+#line 7
+category c915;
+#line 7
+category c916;
+#line 7
+category c917;
+#line 7
+category c918;
+#line 7
+category c919;
+#line 7
+category c920;
+#line 7
+category c921;
+#line 7
+category c922;
+#line 7
+category c923;
+#line 7
+category c924;
+#line 7
+category c925;
+#line 7
+category c926;
+#line 7
+category c927;
+#line 7
+category c928;
+#line 7
+category c929;
+#line 7
+category c930;
+#line 7
+category c931;
+#line 7
+category c932;
+#line 7
+category c933;
+#line 7
+category c934;
+#line 7
+category c935;
+#line 7
+category c936;
+#line 7
+category c937;
+#line 7
+category c938;
+#line 7
+category c939;
+#line 7
+category c940;
+#line 7
+category c941;
+#line 7
+category c942;
+#line 7
+category c943;
+#line 7
+category c944;
+#line 7
+category c945;
+#line 7
+category c946;
+#line 7
+category c947;
+#line 7
+category c948;
+#line 7
+category c949;
+#line 7
+category c950;
+#line 7
+category c951;
+#line 7
+category c952;
+#line 7
+category c953;
+#line 7
+category c954;
+#line 7
+category c955;
+#line 7
+category c956;
+#line 7
+category c957;
+#line 7
+category c958;
+#line 7
+category c959;
+#line 7
+category c960;
+#line 7
+category c961;
+#line 7
+category c962;
+#line 7
+category c963;
+#line 7
+category c964;
+#line 7
+category c965;
+#line 7
+category c966;
+#line 7
+category c967;
+#line 7
+category c968;
+#line 7
+category c969;
+#line 7
+category c970;
+#line 7
+category c971;
+#line 7
+category c972;
+#line 7
+category c973;
+#line 7
+category c974;
+#line 7
+category c975;
+#line 7
+category c976;
+#line 7
+category c977;
+#line 7
+category c978;
+#line 7
+category c979;
+#line 7
+category c980;
+#line 7
+category c981;
+#line 7
+category c982;
+#line 7
+category c983;
+#line 7
+category c984;
+#line 7
+category c985;
+#line 7
+category c986;
+#line 7
+category c987;
+#line 7
+category c988;
+#line 7
+category c989;
+#line 7
+category c990;
+#line 7
+category c991;
+#line 7
+category c992;
+#line 7
+category c993;
+#line 7
+category c994;
+#line 7
+category c995;
+#line 7
+category c996;
+#line 7
+category c997;
+#line 7
+category c998;
+#line 7
+category c999;
+#line 7
+category c1000;
+#line 7
+category c1001;
+#line 7
+category c1002;
+#line 7
+category c1003;
+#line 7
+category c1004;
+#line 7
+category c1005;
+#line 7
+category c1006;
+#line 7
+category c1007;
+#line 7
+category c1008;
+#line 7
+category c1009;
+#line 7
+category c1010;
+#line 7
+category c1011;
+#line 7
+category c1012;
+#line 7
+category c1013;
+#line 7
+category c1014;
+#line 7
+category c1015;
+#line 7
+category c1016;
+#line 7
+category c1017;
+#line 7
+category c1018;
+#line 7
+category c1019;
+#line 7
+category c1020;
+#line 7
+category c1021;
+#line 7
+category c1022;
+#line 7
+category c1023;
+#line 7
+
+
+# Generate level definitions for each sensitivity and category.
+level s0:c0.c1023;
+#line 10
+
+#line 1 "system/sepolicy/private/mls"
+#################################################
+# MLS policy constraints
+#
+
+#
+# Process constraints
+#
+
+# Process transition:  Require equivalence unless the subject is trusted.
+mlsconstrain process { transition dyntransition }
+	     ((h1 eq h2 and l1 eq l2) or t1 == mlstrustedsubject);
+
+# Process read operations: No read up unless trusted.
+mlsconstrain process { getsched getsession getpgid getcap getattr ptrace share }
+	     (l1 dom l2 or t1 == mlstrustedsubject);
+
+# Process write operations:  Require equivalence unless trusted.
+mlsconstrain process { sigkill sigstop signal setsched setpgid setcap setrlimit ptrace share }
+	     (l1 eq l2 or t1 == mlstrustedsubject);
+
+#
+# Socket constraints
+#
+
+# Create/relabel operations:  Subject must be equivalent to object unless
+# the subject is trusted.  Sockets inherit the range of their creator.
+mlsconstrain { socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } { create relabelfrom relabelto }
+	     ((h1 eq h2 and l1 eq l2) or t1 == mlstrustedsubject);
+
+# Datagram send: Sender must be equivalent to the receiver unless one of them
+# is trusted.
+mlsconstrain unix_dgram_socket { sendto }
+	     (l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedsubject);
+
+# Stream connect:  Client must be equivalent to server unless one of them
+# is trusted.
+mlsconstrain unix_stream_socket { connectto }
+	     (l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedsubject);
+
+#
+# Directory/file constraints
+#
+
+# Create/relabel operations:  Subject must be equivalent to object unless
+# the subject is trusted. Also, files should always be single-level.
+# Do NOT exempt mlstrustedobject types from this constraint.
+mlsconstrain { dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create relabelfrom relabelto }
+	     (l2 eq h2 and (l1 eq l2 or t1 == mlstrustedsubject));
+
+#
+# Userfaultfd constraints
+#
+# To enforce that anonymous inodes are self contained in the application's process.
+mlsconstrain anon_inode { ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute open execmod }
+	     (l1 eq l2);
+
+#
+# Constraints for app data files only.
+#
+
+# Only constrain open, not read/write, so already open fds can be used.
+# Also constrain other forms of manipulation, e.g. chmod/chown, unlink, rename, etc.
+# Subject must dominate object unless the subject is trusted.
+mlsconstrain dir { open search getattr setattr rename add_name remove_name reparent rmdir }
+	     (t2 != app_data_file_type or l1 dom l2 or t1 == mlstrustedsubject);
+mlsconstrain { file sock_file } { open setattr unlink link rename }
+	     ( (t2 != app_data_file_type and t2 != appdomain_tmpfs) or l1 dom l2 or t1 == mlstrustedsubject);
+
+# For symlinks in app data files, require equivalence in order to manipulate or follow (read).
+mlsconstrain { lnk_file } { open setattr unlink link rename read }
+	     ( (t2 != app_data_file_type or t2 == privapp_data_file) or l1 eq l2 or t1 == mlstrustedsubject);
+# But for priv_app_data_file, continue to use dominance for symlinks because dynamite relies on this.
+# TODO: Migrate to equivalence when it's no longer needed.
+mlsconstrain { lnk_file } { open setattr unlink link rename read }
+	     ( (t2 != privapp_data_file and t2 != appdomain_tmpfs) or l1 dom l2 or t1 == mlstrustedsubject);
+
+#
+# Constraints for file types other than app data files.
+#
+
+# Read operations: Subject must dominate object unless the subject
+# or the object is trusted.
+mlsconstrain dir { read getattr search }
+	     (t2 == app_data_file_type or l1 dom l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject
+	     or (t1 == mlsvendorcompat and (t2 == system_data_file or t2 == user_profile_root_file) ) );
+
+mlsconstrain { file lnk_file sock_file chr_file blk_file } { read getattr execute }
+	     (t2 == app_data_file_type or t2 == appdomain_tmpfs or l1 dom l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
+
+# Write operations: Subject must be equivalent to the object unless the
+# subject or the object is trusted.
+mlsconstrain dir { write setattr rename add_name remove_name reparent rmdir }
+	     (t2 == app_data_file_type or l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
+
+mlsconstrain { file lnk_file sock_file chr_file blk_file } { write setattr append unlink link rename }
+	     (t2 == app_data_file_type or t2 == appdomain_tmpfs or l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
+
+# Special case for FIFOs.
+# These can be unnamed pipes, in which case they will be labeled with the
+# creating process' label. Thus we also have an exemption when the "object"
+# is a domain type, so that processes can communicate via unnamed pipes
+# passed by binder or local socket IPC.
+mlsconstrain fifo_file { read getattr }
+	     (l1 dom l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject or t2 == domain);
+
+mlsconstrain fifo_file { write setattr append unlink link rename }
+	     (l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject or t2 == domain);
+
+#
+# Binder IPC constraints
+#
+# Presently commented out, as apps are expected to call one another.
+# This would only make sense if apps were assigned categories
+# based on allowable communications rather than per-app categories.
+#mlsconstrain binder call
+#	(l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedsubject);
+#line 1 "system/sepolicy/private/policy_capabilities"
+# Enable new networking controls.
+policycap network_peer_controls;
+
+# Enable open permission check.
+policycap open_perms;
+
+# Enable separate security classes for
+# all network address families previously
+# mapped to the socket class and for
+# ICMP and SCTP sockets previously mapped
+# to the rawip_socket class.
+policycap extended_socket_class;
+
+# Enable NoNewPrivileges support.  Requires libsepol 2.7+
+# and kernel 4.14 (estimated).
+#
+# Checks enabled;
+# process2: nnp_transition, nosuid_transition
+#
+policycap nnp_nosuid_transition;
+#line 1 "system/sepolicy/public/te_macros"
+#####################################
+# domain_trans(olddomain, type, newdomain)
+# Allow a transition from olddomain to newdomain
+# upon executing a file labeled with type.
+# This only allows the transition; it does not
+# cause it to occur automatically - use domain_auto_trans
+# if that is what you want.
+#
+#line 21
+
+
+#####################################
+# domain_auto_trans(olddomain, type, newdomain)
+# Automatically transition from olddomain to newdomain
+# upon executing a file labeled with type.
+#
+#line 33
+
+
+#####################################
+# file_type_trans(domain, dir_type, file_type)
+# Allow domain to create a file labeled file_type in a
+# directory labeled dir_type.
+# This only allows the transition; it does not
+# cause it to occur automatically - use file_type_auto_trans
+# if that is what you want.
+#
+#line 49
+
+
+#####################################
+# file_type_auto_trans(domain, dir_type, file_type)
+# Automatically label new files with file_type when
+# they are created by domain in directories labeled dir_type.
+#
+#line 62
+
+
+#####################################
+# r_dir_file(domain, type)
+# Allow the specified domain to read directories, files
+# and symbolic links of the specified type.
+#line 71
+
+
+#####################################
+# tmpfs_domain(domain)
+# Allow access to a unique type for this domain when creating tmpfs / ashmem files.
+#line 79
+
+
+# pdx macros for IPC. pdx is a high-level name which contains transport-specific
+# rules from underlying transport (e.g. UDS-based implementation).
+
+#####################################
+# pdx_service_attributes(service)
+# Defines type attribute used to identify various service-related types.
+#line 92
+
+
+#####################################
+# pdx_service_socket_types(service, endpoint_dir_t)
+# Define types for endpoint and channel sockets.
+#line 105
+
+
+#####################################
+# pdx_server(server_domain, service)
+#line 124
+
+
+#####################################
+# pdx_connect(client, service)
+#line 134
+
+
+#####################################
+# pdx_use(client, service)
+#line 149
+
+
+#####################################
+# pdx_client(client, service)
+#line 156
+
+
+#####################################
+# init_daemon_domain(domain)
+# Set up a transition from init to the daemon domain
+# upon executing its binary.
+#line 164
+
+
+####################################
+# userfaultfd_use(domain)
+# Allow domain to create/use userfaultfd.
+#line 179
+
+
+####################################
+# virtualizationservice_use(domain)
+# Allow domain to create and communicate with a virtual machine using
+# virtualizationservice and virtualizationmanager.
+#line 208
+
+
+####################################
+# early_virtmgr_use(domain)
+# Allow domain to create and communicate with an early virtual machine using
+# early_virtmgr.
+#line 236
+
+
+#####################################
+# app_domain(domain)
+# Allow a base set of permissions required for all apps.
+#line 258
+
+
+#####################################
+# untrusted_app_domain(domain)
+# Allow a base set of permissions required for all untrusted apps.
+#line 265
+
+
+#####################################
+# isolated_app_domain(domain)
+# Allow a base set of permissions required for all isolated apps.
+#line 272
+
+
+#####################################
+# net_domain(domain)
+# Allow a base set of permissions required for network access.
+#line 279
+
+
+#####################################
+# bluetooth_domain(domain)
+# Allow a base set of permissions required for bluetooth access.
+#line 286
+
+
+#####################################
+# hal_attribute(hal_name)
+# Add an attribute for hal implementations along with necessary
+# restrictions.
+#line 308
+
+
+#####################################
+# hal_server_domain(domain, hal_type)
+# Allow a base set of permissions required for a domain to offer a
+# HAL implementation of the specified type over HwBinder.
+#
+# For example, default implementation of Foo HAL:
+#   type hal_foo_default, domain;
+#   hal_server_domain(hal_foo_default, hal_foo)
+#
+#line 323
+
+
+#####################################
+# hal_client_domain(domain, hal_type)
+# Allow a base set of permissions required for a domain to be a
+# client of a HAL of the specified type.
+#
+# For example, make some_domain a client of Foo HAL:
+#   hal_client_domain(some_domain, hal_foo)
+#
+#line 347
+
+
+#####################################
+# passthrough_hal_client_domain(domain, hal_type)
+# Allow a base set of permissions required for a domain to be a
+# client of a passthrough HAL of the specified type.
+#
+# For example, make some_domain a client of passthrough Foo HAL:
+#   passthrough_hal_client_domain(some_domain, hal_foo)
+#
+#line 365
+
+
+#####################################
+# unix_socket_connect(clientdomain, socket, serverdomain)
+# Allow a local socket connection from clientdomain via
+# socket to serverdomain.
+#
+# Note: If you see denial records that distill to the
+# following allow rules:
+# allow clientdomain property_socket:sock_file write;
+# allow clientdomain init:unix_stream_socket connectto;
+# allow clientdomain something_prop:property_service set;
+#
+# This sequence is indicative of attempting to set a property.
+# use set_prop(sourcedomain, targetproperty)
+#
+#line 384
+
+
+#####################################
+# set_prop(sourcedomain, targetproperty)
+# Allows source domain to set the
+# targetproperty.
+#
+#line 395
+
+
+#####################################
+# get_prop(sourcedomain, targetproperty)
+# Allows source domain to read the
+# targetproperty.
+#
+#line 404
+
+
+#####################################
+# unix_socket_send(clientdomain, socket, serverdomain)
+# Allow a local socket send from clientdomain via
+# socket to serverdomain.
+#line 413
+
+
+#####################################
+# binder_use(domain)
+# Allow domain to use Binder IPC.
+#line 429
+
+
+#####################################
+# hwbinder_use(domain)
+# Allow domain to use HwBinder IPC.
+#line 445
+
+
+#####################################
+# vndbinder_use(domain)
+# Allow domain to use Binder IPC.
+#line 459
+
+
+#####################################
+# binder_call(clientdomain, serverdomain)
+# Allow clientdomain to perform binder IPC to serverdomain.
+#line 471
+
+
+#####################################
+# binder_service(domain)
+# Deprecated. Consider granting the exact permissions required by your service.
+#line 478
+
+
+#####################################
+# wakelock_use(domain)
+# Allow domain to manage wake locks
+#line 500
+
+
+#####################################
+# selinux_check_access(domain)
+# Allow domain to check SELinux permissions via selinuxfs.
+#line 510
+
+
+#####################################
+# selinux_check_context(domain)
+# Allow domain to check SELinux contexts via selinuxfs.
+#line 519
+
+
+#####################################
+# create_pty(domain)
+# Allow domain to create and use a pty, isolated from any other domain ptys.
+#line 538
+
+
+#####################################
+# Non system_app application set
+#
+
+
+#####################################
+# Recovery only
+# SELinux rules which apply only to recovery mode
+#
+
+
+#####################################
+# Not recovery
+# SELinux rules which apply only to non-recovery (normal) mode
+#
+
+
+#####################################
+# Full TREBLE only
+# SELinux rules which apply only to full TREBLE devices
+#
+#line 566
+
+
+#####################################
+# Not full TREBLE
+# SELinux rules which apply only to devices which are not full TREBLE devices
+#
+
+
+#####################################
+# enforce_debugfs_restriction
+# SELinux rules which apply to devices that enable debugfs restrictions.
+# The keyword "cts" is used to insert markers to only CTS test the neverallows
+# added by the macro for S-launch devices and newer.
+#line 584
+
+
+#####################################
+# no_debugfs_restriction
+# SELinux rules which apply to devices that do not have debugfs restrictions in non-user builds.
+
+
+#####################################
+# Compatible property only
+# SELinux rules which apply only to devices with compatible property
+#
+#line 600
+
+
+#####################################
+# Not compatible property
+# SELinux rules which apply only to devices without compatible property
+#
+
+
+#####################################
+# Userdebug or eng builds
+# SELinux rules which apply only to userdebug or eng builds
+#
+
+
+#####################################
+# asan builds
+# SELinux rules which apply only to asan builds
+#
+
+
+#####################################
+# native coverage builds
+# SELinux rules which apply only to builds with native coverage
+#
+
+
+#####################################
+# Build-time-only test
+# SELinux rules which are verified during build, but not as part of *TS testing.
+#
+
+
+####################################
+# Fallback crash handling for processes that can't exec crash_dump (e.g. because of seccomp).
+#
+#line 650
+
+
+#####################################
+# WITH_DEXPREOPT builds
+# SELinux rules which apply only when pre-opting.
+#
+
+
+#####################################
+# write_logd(domain)
+# Ability to write to android log
+# daemon via sockets
+#line 665
+
+
+#####################################
+# read_logd(domain)
+# Ability to run logcat and read from android
+# log daemon via sockets
+#line 674
+
+
+#####################################
+# read_runtime_log_tags(domain)
+# ability to directly map the runtime event log tags
+#line 681
+
+
+#####################################
+# control_logd(domain)
+# Ability to control
+# android log daemon via sockets
+#line 691
+
+
+#####################################
+# use_keystore(domain)
+# Ability to use keystore.
+# Keystore is requires the following permissions
+# to call getpidcon.
+#line 707
+
+
+#####################################
+# use_credstore(domain)
+# Ability to use credstore.
+#line 719
+
+
+###########################################
+# use_drmservice(domain)
+# Ability to use DrmService which requires
+# DrmService to call getpidcon.
+#line 729
+
+
+###########################################
+# add_service(domain, service)
+# Ability for domain to add a service to service_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+#line 745
+
+
+###########################################
+# add_hwservice(domain, service)
+# Ability for domain to add a service to hwservice_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+#line 756
+
+
+###########################################
+# hal_attribute_hwservice(attribute, service)
+# Ability for domain to get a service to hwservice_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+#
+# Used to pair hal_foo_client with hal_foo_hwservice
+#line 775
+
+
+###########################################
+# hal_attribute_service(attribute, service)
+# Ability for domain to get a service to service_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+#
+# Used to pair hal_foo_client with hal_foo_service
+#line 803
+
+
+###################################
+# can_profile_heap(domain)
+# Allow processes within the domain to have their heap profiled by central
+# heapprofd.
+#line 833
+
+
+###################################
+# never_profile_heap(domain)
+# Opt out of heap profiling by heapprofd.
+#line 841
+
+
+###################################
+# can_profile_perf(domain)
+# Allow processes within the domain to be profiled, and have their stacks
+# sampled, by traced_perf.
+#line 861
+
+
+###################################
+# never_profile_perf(domain)
+# Opt out of profiling by traced_perf.
+#line 869
+
+
+###################################
+# perfetto_producer(domain)
+# Allow processes within the domain to write data to Perfetto.
+# When applying this macro, you might need to also allow traced to use the
+# producer tmpfs domain, if the producer will be the one creating the shared
+# memory.
+#line 886
+
+
+###########################################
+# dump_hal(hal_type)
+# Ability to dump the hal debug info
+#
+#line 896
+
+
+#####################################
+# treble_sysprop_neverallow(rules)
+# SELinux neverallow rules which enforces the accessibility of each property
+# outside the owner.
+#
+# For devices launching with R or later, exported properties must be explicitly marked as
+# "restricted" or "public", depending on the accessibility outside the owner.
+# For devices launching with Q or eariler, this neverallow rules can be relaxed with defining
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true on BoardConfig.mk.
+# See {partition}_{accessibility}_prop macros below.
+#
+# CTS uses these rules only for devices launching with R or later.
+#
+# TODO(b/131162102): deprecate BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW
+#
+#line 918
+
+
+#####################################
+# enforce_sysprop_owner(rules)
+# SELinux neverallow rules which enforces the owner of each property.
+#
+# For devices launching with S or later, all properties must be explicitly marked as one of:
+# system_property_type, vendor_property_type, or product_property_type.
+# For devices launching with R or eariler, this neverallow rules can be relaxed with defining
+# BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true on BoardConfig.mk.
+# See {partition}_{accessibility}_prop macros below.
+#
+# CTS uses these ules only for devices launching with S or later.
+#
+#line 937
+
+
+###########################################
+# define_prop(name, owner, scope)
+# Define a property with given owner and scope
+#
+#line 945
+
+
+###########################################
+# system_internal_prop(name)
+# Define a /system-owned property used only in /system
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+#line 958
+
+
+###########################################
+# system_restricted_prop(name)
+# Define a /system-owned property which can't be written outside /system
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+#line 971
+
+
+###########################################
+# system_public_prop(name)
+# Define a /system-owned property with no restrictions
+#
+
+
+###########################################
+# system_vendor_config_prop(name)
+# Define a /system-owned property which can only be written by vendor_init
+# This is a macro for vendor-specific configuration properties which is meant
+# to be set once from vendor_init.
+#
+#line 989
+
+
+###########################################
+# product_internal_prop(name)
+# Define a /product-owned property used only in /product
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+#line 1002
+
+
+###########################################
+# product_restricted_prop(name)
+# Define a /product-owned property which can't be written outside /product
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+#line 1015
+
+
+###########################################
+# product_public_prop(name)
+# Define a /product-owned property with no restrictions
+#
+
+
+###########################################
+# vendor_internal_prop(name)
+# Define a /vendor-owned property used only in /vendor
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+#line 1035
+
+
+###########################################
+# vendor_restricted_prop(name)
+# Define a /vendor-owned property which can't be written outside /vendor
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+#line 1049
+
+
+###########################################
+# vendor_public_prop(name)
+# Define a /vendor-owned property with no restrictions
+#
+
+
+#####################################
+# read_fstab(domain)
+# Ability to call ReadDefaultFstab() and ReadFstabFromFile().
+#
+#line 1065
+
+
+######################################
+# use_bootstrap_libs(domain)
+# Allow domain to use bootstrap bionic libraries in system/lib[64]/bootstrap
+#line 1073
+
+
+######################################
+# use_apex_info(domain)
+# Allow access to apex information
+#line 1082
+
+
+####################################
+# io_uring_use(domain)
+# Allow domain to create/use io_uring.
+#line 1100
+
+#line 1 "system/sepolicy/public/ioctl_defines"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#line 1 "system/sepolicy/public/ioctl_macros"
+# socket ioctls allowed to unprivileged apps
+#line 12
+
+
+# socket ioctls never allowed to unprivileged apps
+#line 42
+
+
+# commonly used ioctls on unix sockets
+#line 47
+
+
+# commonly used TTY ioctls
+# merge with unpriv_unix_sock_ioctls?
+#line 54
+
+
+# point to point ioctls
+#line 68
+
+
+# unprivileged binder ioctls
+#line 77
+
+#line 1 "system/sepolicy/public/attributes"
+######################################
+# Attribute declarations
+#
+
+# All types used for devices.
+# On change, update CHECK_FC_ASSERT_ATTRS
+# in tools/checkfc.c
+attribute dev_type;
+
+# Attribute for all bpf filesystem subtypes.
+attribute bpffs_type;
+
+# All types used for processes.
+attribute domain;
+
+# All types used for filesystems.
+# On change, update CHECK_FC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute fs_type;
+
+# All types used for context= mounts.
+attribute contextmount_type;
+
+# All types referencing a FUSE filesystem.
+# When mounting a new FUSE filesystem, the fscontext= option should be used to
+# set a domain-specific type with this attribute. See app_fusefs for an
+# example.
+attribute fusefs_type;
+
+# All types used for files that can exist on a labeled fs.
+# Do not use for pseudo file types.
+# On change, update CHECK_FC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute file_type;
+
+# All types used for domain entry points.
+attribute exec_type;
+
+# All types used for /data files.
+attribute data_file_type;
+expandattribute data_file_type false;
+# All types in /data, not in /data/vendor
+attribute core_data_file_type;
+expandattribute core_data_file_type false;
+
+# All types used for app private data files in seapp_contexts.
+# Such types should not be applied to any other files.
+attribute app_data_file_type;
+expandattribute app_data_file_type false;
+
+# All types in /system
+attribute system_file_type;
+
+# All types in /system_dlkm
+attribute system_dlkm_file_type;
+
+# All types in /vendor
+attribute vendor_file_type;
+
+# All types used for procfs files.
+attribute proc_type;
+expandattribute proc_type false;
+
+# Types in /proc/net, excluding qtaguid types.
+# TODO(b/9496886) Lock down access to /proc/net.
+# This attribute is used to audit access to proc_net. it is temporary and will
+# be removed.
+attribute proc_net_type;
+expandattribute proc_net_type true;
+
+# All types used for sysfs files.
+attribute sysfs_type;
+
+# All types use for debugfs files.
+attribute debugfs_type;
+
+# All types used for tracefs files.
+attribute tracefs_type;
+
+# Attribute used for all sdcards
+attribute sdcard_type;
+
+# All types used for nodes/hosts.
+attribute node_type;
+
+# All types used for network interfaces.
+attribute netif_type;
+
+# All types used for network ports.
+attribute port_type;
+
+# All types used for property service
+# On change, update CHECK_PC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute property_type;
+
+# All properties defined in core SELinux policy. Should not be
+# used by device specific properties
+attribute core_property_type;
+
+# All properties used to configure log filtering.
+attribute log_property_type;
+
+# All properties that are not specific to device but are added from
+# outside of AOSP. (e.g. OEM-specific properties)
+# These properties are not accessible from device-specific domains
+attribute extended_core_property_type;
+
+# Properties used for representing ownership. All properties should have one
+# of: system_property_type, product_property_type, or vendor_property_type.
+
+# All properties defined by /system.
+attribute system_property_type;
+expandattribute system_property_type false;
+
+# All /system-defined properties used only in /system.
+attribute system_internal_property_type;
+expandattribute system_internal_property_type false;
+
+# All /system-defined properties which can't be written outside /system.
+attribute system_restricted_property_type;
+expandattribute system_restricted_property_type false;
+
+# All /system-defined properties with no restrictions.
+attribute system_public_property_type;
+expandattribute system_public_property_type false;
+
+# All keystore2_key labels.
+attribute keystore2_key_type;
+
+# All properties defined by /product.
+# Currently there are no enforcements between /system and /product, so for now
+# /product attributes are just replaced to /system attributes.
+
+
+
+
+
+# All properties defined by /vendor.
+attribute vendor_property_type;
+expandattribute vendor_property_type false;
+
+# All /vendor-defined properties used only in /vendor.
+attribute vendor_internal_property_type;
+expandattribute vendor_internal_property_type false;
+
+# All /vendor-defined properties which can't be written outside /vendor.
+attribute vendor_restricted_property_type;
+expandattribute vendor_restricted_property_type false;
+
+# All /vendor-defined properties with no restrictions.
+attribute vendor_public_property_type;
+expandattribute vendor_public_property_type false;
+
+# All service_manager types created by system_server
+attribute system_server_service;
+
+# services which should be available to all but isolated apps
+attribute app_api_service;
+
+# services which should be available to all ephemeral apps
+attribute ephemeral_app_api_service;
+
+# services which export only system_api
+attribute system_api_service;
+
+# services which are explicitly disallowed for untrusted apps to access
+attribute protected_service;
+
+# All types used for services managed by servicemanager.
+# On change, update CHECK_SC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute service_manager_type;
+
+# All types used for services managed by hwservicemanager
+attribute hwservice_manager_type;
+
+# All HwBinder services guaranteed to be passthrough. These services always run
+# in the process of their clients, and thus operate with the same access as
+# their clients.
+attribute same_process_hwservice;
+
+# All HwBinder services guaranteed to be offered only by core domain components
+attribute coredomain_hwservice;
+
+# All HwBinder services that untrusted apps can't directly access
+attribute protected_hwservice;
+
+# All types used for services managed by vndservicemanager
+attribute vndservice_manager_type;
+
+# All services declared as part of an HAL
+attribute hal_service_type;
+
+# All domains that can override MLS restrictions.
+# i.e. processes that can read up and write down.
+attribute mlstrustedsubject;
+
+# All types that can override MLS restrictions.
+# i.e. files that can be read by lower and written by higher
+attribute mlstrustedobject;
+
+# All domains used for apps.
+attribute appdomain;
+
+# All third party apps (except isolated_app and ephemeral_app)
+attribute untrusted_app_all;
+
+# All apps with UID between AID_ISOLATED_START (99000) and AID_ISOLATED_END (99999).
+attribute isolated_app_all;
+
+# All service types that would be allowed for isolated_compute_app.
+attribute isolated_compute_allowed_service;
+
+# All device types that would be allowed for isolated_compute_app.
+attribute isolated_compute_allowed_device;
+
+# All domains used for apps with network access.
+attribute netdomain;
+
+# All domains used for apps with bluetooth access.
+attribute bluetoothdomain;
+
+# Specific domains that expose a binder service.
+# Deprecated, consider granting the exact permissions required by your service.
+attribute binderservicedomain;
+
+# All domains which have BPF access.
+attribute bpfdomain;
+expandattribute bpfdomain false;
+
+# update_engine related domains that need to apply an update and run
+# postinstall. This includes the background daemon and the sideload tool from
+# recovery for A/B devices.
+attribute update_engine_common;
+
+# All core domains (as opposed to vendor/device-specific domains)
+attribute coredomain;
+
+# All vendor hwservice.
+attribute vendor_hwservice_type;
+
+# All socket devices owned by core domain components
+attribute coredomain_socket;
+expandattribute coredomain_socket false;
+
+# All vendor domains which violate the requirement of not using sockets for
+# communicating with core components
+# TODO(b/36577153): Remove this once there are no violations
+attribute socket_between_core_and_vendor_violators;
+expandattribute socket_between_core_and_vendor_violators false;
+
+
+#line 253
+# All vsock communication is required to go through AVF so that we can
+#line 253
+# have a consistent permission model for which is allowed to talk to
+#line 253
+# which. This breaks Treble as well as updatability of VMs and
+#line 253
+# other components.
+#line 253
+# TODO(b/347661724): Remove this once there are no violations.
+#line 253
+attribute unconstrained_vsock_violators;
+#line 253
+expandattribute unconstrained_vsock_violators false;
+#line 261
+
+
+# All vendor domains which violate the requirement of not executing
+# system processes
+# TODO(b/36463595)
+attribute vendor_executes_system_violators;
+expandattribute vendor_executes_system_violators false;
+
+# All domains which violate the requirement of not sharing files by path
+# between between vendor and core domains.
+# TODO(b/34980020)
+attribute data_between_core_and_vendor_violators;
+expandattribute data_between_core_and_vendor_violators false;
+
+# All system domains which violate the requirement of not executing vendor
+# binaries/libraries.
+# TODO(b/62041836)
+attribute system_executes_vendor_violators;
+expandattribute system_executes_vendor_violators false;
+
+# All system domains which violate the requirement of not writing vendor
+# properties.
+# TODO(b/78598545): Remove this once there are no violations
+attribute system_writes_vendor_properties_violators;
+expandattribute system_writes_vendor_properties_violators false;
+
+# All system domains which violate the requirement of not writing to
+# /mnt/vendor/*. Must not be used on devices launched with P or later.
+attribute system_writes_mnt_vendor_violators;
+expandattribute system_writes_mnt_vendor_violators false;
+
+# hwservices that are accessible from untrusted applications
+# WARNING: Use of this attribute should be avoided unless
+# absolutely necessary.  It is a temporary allowance to aid the
+# transition to treble and will be removed in a future platform
+# version, requiring all hwservices that are labeled with this
+# attribute to be submitted to AOSP in order to maintain their
+# app-visibility.
+attribute untrusted_app_visible_hwservice_violators;
+expandattribute untrusted_app_visible_hwservice_violators false;
+
+# halserver domains that are accessible to untrusted applications.  These
+# domains are typically those hosting  hwservices attributed by the
+# untrusted_app_visible_hwservice_violators.
+# WARNING: Use of this attribute should be avoided unless absolutely necessary.
+# It is a temporary allowance to aid the transition to treble and will be
+# removed in the future platform version, requiring all halserver domains that
+# are labeled with this attribute to be submitted to AOSP in order to maintain
+# their app-visibility.
+attribute untrusted_app_visible_halserver_violators;
+expandattribute untrusted_app_visible_halserver_violators false;
+
+# PDX services
+attribute pdx_endpoint_dir_type;
+attribute pdx_endpoint_socket_type;
+expandattribute pdx_endpoint_socket_type false;
+attribute pdx_channel_socket_type;
+expandattribute pdx_channel_socket_type false;
+
+
+#line 320
+attribute pdx_display_client_endpoint_dir_type;
+#line 320
+attribute pdx_display_client_endpoint_socket_type;
+#line 320
+attribute pdx_display_client_channel_socket_type;
+#line 320
+attribute pdx_display_client_server_type;
+#line 320
+
+
+#line 321
+attribute pdx_display_manager_endpoint_dir_type;
+#line 321
+attribute pdx_display_manager_endpoint_socket_type;
+#line 321
+attribute pdx_display_manager_channel_socket_type;
+#line 321
+attribute pdx_display_manager_server_type;
+#line 321
+
+
+#line 322
+attribute pdx_display_screenshot_endpoint_dir_type;
+#line 322
+attribute pdx_display_screenshot_endpoint_socket_type;
+#line 322
+attribute pdx_display_screenshot_channel_socket_type;
+#line 322
+attribute pdx_display_screenshot_server_type;
+#line 322
+
+
+#line 323
+attribute pdx_display_vsync_endpoint_dir_type;
+#line 323
+attribute pdx_display_vsync_endpoint_socket_type;
+#line 323
+attribute pdx_display_vsync_channel_socket_type;
+#line 323
+attribute pdx_display_vsync_server_type;
+#line 323
+
+
+#line 324
+attribute pdx_performance_client_endpoint_dir_type;
+#line 324
+attribute pdx_performance_client_endpoint_socket_type;
+#line 324
+attribute pdx_performance_client_channel_socket_type;
+#line 324
+attribute pdx_performance_client_server_type;
+#line 324
+
+
+#line 325
+attribute pdx_bufferhub_client_endpoint_dir_type;
+#line 325
+attribute pdx_bufferhub_client_endpoint_socket_type;
+#line 325
+attribute pdx_bufferhub_client_channel_socket_type;
+#line 325
+attribute pdx_bufferhub_client_server_type;
+#line 325
+
+
+# All HAL servers
+attribute halserverdomain;
+# All HAL clients
+attribute halclientdomain;
+expandattribute halclientdomain true;
+
+# Exempt for halserverdomain to access sockets. Only builds for automotive
+# device types are allowed to use this attribute (enforced by CTS).
+# Unlike phone, in a car many modules are external from Android perspective and
+# HALs should be able to communicate with those devices through sockets.
+attribute hal_automotive_socket_exemption;
+
+# HALs
+
+#line 340
+attribute hal_allocator;
+#line 340
+expandattribute hal_allocator true;
+#line 340
+attribute hal_allocator_client;
+#line 340
+expandattribute hal_allocator_client true;
+#line 340
+attribute hal_allocator_server;
+#line 340
+expandattribute hal_allocator_server false;
+#line 340
+
+#line 340
+neverallow { hal_allocator_server -halserverdomain } domain:process fork;
+#line 340
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 340
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 340
+# verified by CTS since these attributes are already expanded by that time.
+#line 340
+
+#line 340
+;
+
+#line 341
+attribute hal_atrace;
+#line 341
+expandattribute hal_atrace true;
+#line 341
+attribute hal_atrace_client;
+#line 341
+expandattribute hal_atrace_client true;
+#line 341
+attribute hal_atrace_server;
+#line 341
+expandattribute hal_atrace_server false;
+#line 341
+
+#line 341
+neverallow { hal_atrace_server -halserverdomain } domain:process fork;
+#line 341
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 341
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 341
+# verified by CTS since these attributes are already expanded by that time.
+#line 341
+
+#line 341
+;
+
+#line 342
+attribute hal_audio;
+#line 342
+expandattribute hal_audio true;
+#line 342
+attribute hal_audio_client;
+#line 342
+expandattribute hal_audio_client true;
+#line 342
+attribute hal_audio_server;
+#line 342
+expandattribute hal_audio_server false;
+#line 342
+
+#line 342
+neverallow { hal_audio_server -halserverdomain } domain:process fork;
+#line 342
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 342
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 342
+# verified by CTS since these attributes are already expanded by that time.
+#line 342
+
+#line 342
+;
+
+#line 343
+attribute hal_audiocontrol;
+#line 343
+expandattribute hal_audiocontrol true;
+#line 343
+attribute hal_audiocontrol_client;
+#line 343
+expandattribute hal_audiocontrol_client true;
+#line 343
+attribute hal_audiocontrol_server;
+#line 343
+expandattribute hal_audiocontrol_server false;
+#line 343
+
+#line 343
+neverallow { hal_audiocontrol_server -halserverdomain } domain:process fork;
+#line 343
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 343
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 343
+# verified by CTS since these attributes are already expanded by that time.
+#line 343
+
+#line 343
+;
+
+#line 344
+attribute hal_authgraph;
+#line 344
+expandattribute hal_authgraph true;
+#line 344
+attribute hal_authgraph_client;
+#line 344
+expandattribute hal_authgraph_client true;
+#line 344
+attribute hal_authgraph_server;
+#line 344
+expandattribute hal_authgraph_server false;
+#line 344
+
+#line 344
+neverallow { hal_authgraph_server -halserverdomain } domain:process fork;
+#line 344
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 344
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 344
+# verified by CTS since these attributes are already expanded by that time.
+#line 344
+
+#line 344
+;
+
+#line 345
+attribute hal_authsecret;
+#line 345
+expandattribute hal_authsecret true;
+#line 345
+attribute hal_authsecret_client;
+#line 345
+expandattribute hal_authsecret_client true;
+#line 345
+attribute hal_authsecret_server;
+#line 345
+expandattribute hal_authsecret_server false;
+#line 345
+
+#line 345
+neverallow { hal_authsecret_server -halserverdomain } domain:process fork;
+#line 345
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 345
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 345
+# verified by CTS since these attributes are already expanded by that time.
+#line 345
+
+#line 345
+;
+
+#line 346
+attribute hal_bluetooth;
+#line 346
+expandattribute hal_bluetooth true;
+#line 346
+attribute hal_bluetooth_client;
+#line 346
+expandattribute hal_bluetooth_client true;
+#line 346
+attribute hal_bluetooth_server;
+#line 346
+expandattribute hal_bluetooth_server false;
+#line 346
+
+#line 346
+neverallow { hal_bluetooth_server -halserverdomain } domain:process fork;
+#line 346
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 346
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 346
+# verified by CTS since these attributes are already expanded by that time.
+#line 346
+
+#line 346
+;
+
+#line 347
+attribute hal_bootctl;
+#line 347
+expandattribute hal_bootctl true;
+#line 347
+attribute hal_bootctl_client;
+#line 347
+expandattribute hal_bootctl_client true;
+#line 347
+attribute hal_bootctl_server;
+#line 347
+expandattribute hal_bootctl_server false;
+#line 347
+
+#line 347
+neverallow { hal_bootctl_server -halserverdomain } domain:process fork;
+#line 347
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 347
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 347
+# verified by CTS since these attributes are already expanded by that time.
+#line 347
+
+#line 347
+;
+
+#line 348
+attribute hal_broadcastradio;
+#line 348
+expandattribute hal_broadcastradio true;
+#line 348
+attribute hal_broadcastradio_client;
+#line 348
+expandattribute hal_broadcastradio_client true;
+#line 348
+attribute hal_broadcastradio_server;
+#line 348
+expandattribute hal_broadcastradio_server false;
+#line 348
+
+#line 348
+neverallow { hal_broadcastradio_server -halserverdomain } domain:process fork;
+#line 348
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 348
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 348
+# verified by CTS since these attributes are already expanded by that time.
+#line 348
+
+#line 348
+;
+
+#line 349
+attribute hal_camera;
+#line 349
+expandattribute hal_camera true;
+#line 349
+attribute hal_camera_client;
+#line 349
+expandattribute hal_camera_client true;
+#line 349
+attribute hal_camera_server;
+#line 349
+expandattribute hal_camera_server false;
+#line 349
+
+#line 349
+neverallow { hal_camera_server -halserverdomain } domain:process fork;
+#line 349
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 349
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 349
+# verified by CTS since these attributes are already expanded by that time.
+#line 349
+
+#line 349
+;
+
+#line 350
+attribute hal_can_bus;
+#line 350
+expandattribute hal_can_bus true;
+#line 350
+attribute hal_can_bus_client;
+#line 350
+expandattribute hal_can_bus_client true;
+#line 350
+attribute hal_can_bus_server;
+#line 350
+expandattribute hal_can_bus_server false;
+#line 350
+
+#line 350
+neverallow { hal_can_bus_server -halserverdomain } domain:process fork;
+#line 350
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 350
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 350
+# verified by CTS since these attributes are already expanded by that time.
+#line 350
+
+#line 350
+;
+
+#line 351
+attribute hal_can_controller;
+#line 351
+expandattribute hal_can_controller true;
+#line 351
+attribute hal_can_controller_client;
+#line 351
+expandattribute hal_can_controller_client true;
+#line 351
+attribute hal_can_controller_server;
+#line 351
+expandattribute hal_can_controller_server false;
+#line 351
+
+#line 351
+neverallow { hal_can_controller_server -halserverdomain } domain:process fork;
+#line 351
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 351
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 351
+# verified by CTS since these attributes are already expanded by that time.
+#line 351
+
+#line 351
+;
+
+#line 352
+attribute hal_cas;
+#line 352
+expandattribute hal_cas true;
+#line 352
+attribute hal_cas_client;
+#line 352
+expandattribute hal_cas_client true;
+#line 352
+attribute hal_cas_server;
+#line 352
+expandattribute hal_cas_server false;
+#line 352
+
+#line 352
+neverallow { hal_cas_server -halserverdomain } domain:process fork;
+#line 352
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 352
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 352
+# verified by CTS since these attributes are already expanded by that time.
+#line 352
+
+#line 352
+;
+
+#line 353
+attribute hal_codec2;
+#line 353
+expandattribute hal_codec2 true;
+#line 353
+attribute hal_codec2_client;
+#line 353
+expandattribute hal_codec2_client true;
+#line 353
+attribute hal_codec2_server;
+#line 353
+expandattribute hal_codec2_server false;
+#line 353
+
+#line 353
+neverallow { hal_codec2_server -halserverdomain } domain:process fork;
+#line 353
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 353
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 353
+# verified by CTS since these attributes are already expanded by that time.
+#line 353
+
+#line 353
+;
+
+#line 354
+attribute hal_configstore;
+#line 354
+expandattribute hal_configstore true;
+#line 354
+attribute hal_configstore_client;
+#line 354
+expandattribute hal_configstore_client true;
+#line 354
+attribute hal_configstore_server;
+#line 354
+expandattribute hal_configstore_server false;
+#line 354
+
+#line 354
+neverallow { hal_configstore_server -halserverdomain } domain:process fork;
+#line 354
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 354
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 354
+# verified by CTS since these attributes are already expanded by that time.
+#line 354
+
+#line 354
+;
+
+#line 355
+attribute hal_confirmationui;
+#line 355
+expandattribute hal_confirmationui true;
+#line 355
+attribute hal_confirmationui_client;
+#line 355
+expandattribute hal_confirmationui_client true;
+#line 355
+attribute hal_confirmationui_server;
+#line 355
+expandattribute hal_confirmationui_server false;
+#line 355
+
+#line 355
+neverallow { hal_confirmationui_server -halserverdomain } domain:process fork;
+#line 355
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 355
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 355
+# verified by CTS since these attributes are already expanded by that time.
+#line 355
+
+#line 355
+;
+
+#line 356
+attribute hal_contexthub;
+#line 356
+expandattribute hal_contexthub true;
+#line 356
+attribute hal_contexthub_client;
+#line 356
+expandattribute hal_contexthub_client true;
+#line 356
+attribute hal_contexthub_server;
+#line 356
+expandattribute hal_contexthub_server false;
+#line 356
+
+#line 356
+neverallow { hal_contexthub_server -halserverdomain } domain:process fork;
+#line 356
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 356
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 356
+# verified by CTS since these attributes are already expanded by that time.
+#line 356
+
+#line 356
+;
+
+#line 357
+attribute hal_drm;
+#line 357
+expandattribute hal_drm true;
+#line 357
+attribute hal_drm_client;
+#line 357
+expandattribute hal_drm_client true;
+#line 357
+attribute hal_drm_server;
+#line 357
+expandattribute hal_drm_server false;
+#line 357
+
+#line 357
+neverallow { hal_drm_server -halserverdomain } domain:process fork;
+#line 357
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 357
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 357
+# verified by CTS since these attributes are already expanded by that time.
+#line 357
+
+#line 357
+;
+
+#line 358
+attribute hal_dumpstate;
+#line 358
+expandattribute hal_dumpstate true;
+#line 358
+attribute hal_dumpstate_client;
+#line 358
+expandattribute hal_dumpstate_client true;
+#line 358
+attribute hal_dumpstate_server;
+#line 358
+expandattribute hal_dumpstate_server false;
+#line 358
+
+#line 358
+neverallow { hal_dumpstate_server -halserverdomain } domain:process fork;
+#line 358
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 358
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 358
+# verified by CTS since these attributes are already expanded by that time.
+#line 358
+
+#line 358
+;
+
+#line 359
+attribute hal_evs;
+#line 359
+expandattribute hal_evs true;
+#line 359
+attribute hal_evs_client;
+#line 359
+expandattribute hal_evs_client true;
+#line 359
+attribute hal_evs_server;
+#line 359
+expandattribute hal_evs_server false;
+#line 359
+
+#line 359
+neverallow { hal_evs_server -halserverdomain } domain:process fork;
+#line 359
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 359
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 359
+# verified by CTS since these attributes are already expanded by that time.
+#line 359
+
+#line 359
+;
+
+#line 360
+attribute hal_face;
+#line 360
+expandattribute hal_face true;
+#line 360
+attribute hal_face_client;
+#line 360
+expandattribute hal_face_client true;
+#line 360
+attribute hal_face_server;
+#line 360
+expandattribute hal_face_server false;
+#line 360
+
+#line 360
+neverallow { hal_face_server -halserverdomain } domain:process fork;
+#line 360
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 360
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 360
+# verified by CTS since these attributes are already expanded by that time.
+#line 360
+
+#line 360
+;
+
+#line 361
+attribute hal_fastboot;
+#line 361
+expandattribute hal_fastboot true;
+#line 361
+attribute hal_fastboot_client;
+#line 361
+expandattribute hal_fastboot_client true;
+#line 361
+attribute hal_fastboot_server;
+#line 361
+expandattribute hal_fastboot_server false;
+#line 361
+
+#line 361
+neverallow { hal_fastboot_server -halserverdomain } domain:process fork;
+#line 361
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 361
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 361
+# verified by CTS since these attributes are already expanded by that time.
+#line 361
+
+#line 361
+;
+
+#line 362
+attribute hal_fingerprint;
+#line 362
+expandattribute hal_fingerprint true;
+#line 362
+attribute hal_fingerprint_client;
+#line 362
+expandattribute hal_fingerprint_client true;
+#line 362
+attribute hal_fingerprint_server;
+#line 362
+expandattribute hal_fingerprint_server false;
+#line 362
+
+#line 362
+neverallow { hal_fingerprint_server -halserverdomain } domain:process fork;
+#line 362
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 362
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 362
+# verified by CTS since these attributes are already expanded by that time.
+#line 362
+
+#line 362
+;
+
+#line 363
+attribute hal_gatekeeper;
+#line 363
+expandattribute hal_gatekeeper true;
+#line 363
+attribute hal_gatekeeper_client;
+#line 363
+expandattribute hal_gatekeeper_client true;
+#line 363
+attribute hal_gatekeeper_server;
+#line 363
+expandattribute hal_gatekeeper_server false;
+#line 363
+
+#line 363
+neverallow { hal_gatekeeper_server -halserverdomain } domain:process fork;
+#line 363
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 363
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 363
+# verified by CTS since these attributes are already expanded by that time.
+#line 363
+
+#line 363
+;
+
+#line 364
+attribute hal_gnss;
+#line 364
+expandattribute hal_gnss true;
+#line 364
+attribute hal_gnss_client;
+#line 364
+expandattribute hal_gnss_client true;
+#line 364
+attribute hal_gnss_server;
+#line 364
+expandattribute hal_gnss_server false;
+#line 364
+
+#line 364
+neverallow { hal_gnss_server -halserverdomain } domain:process fork;
+#line 364
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 364
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 364
+# verified by CTS since these attributes are already expanded by that time.
+#line 364
+
+#line 364
+;
+
+#line 365
+attribute hal_graphics_allocator;
+#line 365
+expandattribute hal_graphics_allocator true;
+#line 365
+attribute hal_graphics_allocator_client;
+#line 365
+expandattribute hal_graphics_allocator_client true;
+#line 365
+attribute hal_graphics_allocator_server;
+#line 365
+expandattribute hal_graphics_allocator_server false;
+#line 365
+
+#line 365
+neverallow { hal_graphics_allocator_server -halserverdomain } domain:process fork;
+#line 365
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 365
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 365
+# verified by CTS since these attributes are already expanded by that time.
+#line 365
+
+#line 365
+;
+
+#line 366
+attribute hal_graphics_composer;
+#line 366
+expandattribute hal_graphics_composer true;
+#line 366
+attribute hal_graphics_composer_client;
+#line 366
+expandattribute hal_graphics_composer_client true;
+#line 366
+attribute hal_graphics_composer_server;
+#line 366
+expandattribute hal_graphics_composer_server false;
+#line 366
+
+#line 366
+neverallow { hal_graphics_composer_server -halserverdomain } domain:process fork;
+#line 366
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 366
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 366
+# verified by CTS since these attributes are already expanded by that time.
+#line 366
+
+#line 366
+;
+
+#line 367
+attribute hal_health;
+#line 367
+expandattribute hal_health true;
+#line 367
+attribute hal_health_client;
+#line 367
+expandattribute hal_health_client true;
+#line 367
+attribute hal_health_server;
+#line 367
+expandattribute hal_health_server false;
+#line 367
+
+#line 367
+neverallow { hal_health_server -halserverdomain } domain:process fork;
+#line 367
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 367
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 367
+# verified by CTS since these attributes are already expanded by that time.
+#line 367
+
+#line 367
+;
+
+#line 368
+attribute hal_health_storage;
+#line 368
+expandattribute hal_health_storage true;
+#line 368
+attribute hal_health_storage_client;
+#line 368
+expandattribute hal_health_storage_client true;
+#line 368
+attribute hal_health_storage_server;
+#line 368
+expandattribute hal_health_storage_server false;
+#line 368
+
+#line 368
+neverallow { hal_health_storage_server -halserverdomain } domain:process fork;
+#line 368
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 368
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 368
+# verified by CTS since these attributes are already expanded by that time.
+#line 368
+
+#line 368
+;
+
+#line 369
+    
+#line 369
+attribute hal_hwcrypto;
+#line 369
+expandattribute hal_hwcrypto true;
+#line 369
+attribute hal_hwcrypto_client;
+#line 369
+expandattribute hal_hwcrypto_client true;
+#line 369
+attribute hal_hwcrypto_server;
+#line 369
+expandattribute hal_hwcrypto_server false;
+#line 369
+
+#line 369
+neverallow { hal_hwcrypto_server -halserverdomain } domain:process fork;
+#line 369
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 369
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 369
+# verified by CTS since these attributes are already expanded by that time.
+#line 369
+
+#line 369
+;
+#line 371
+
+
+#line 372
+attribute hal_identity;
+#line 372
+expandattribute hal_identity true;
+#line 372
+attribute hal_identity_client;
+#line 372
+expandattribute hal_identity_client true;
+#line 372
+attribute hal_identity_server;
+#line 372
+expandattribute hal_identity_server false;
+#line 372
+
+#line 372
+neverallow { hal_identity_server -halserverdomain } domain:process fork;
+#line 372
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 372
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 372
+# verified by CTS since these attributes are already expanded by that time.
+#line 372
+
+#line 372
+;
+
+#line 373
+attribute hal_input_classifier;
+#line 373
+expandattribute hal_input_classifier true;
+#line 373
+attribute hal_input_classifier_client;
+#line 373
+expandattribute hal_input_classifier_client true;
+#line 373
+attribute hal_input_classifier_server;
+#line 373
+expandattribute hal_input_classifier_server false;
+#line 373
+
+#line 373
+neverallow { hal_input_classifier_server -halserverdomain } domain:process fork;
+#line 373
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 373
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 373
+# verified by CTS since these attributes are already expanded by that time.
+#line 373
+
+#line 373
+;
+
+#line 374
+attribute hal_input_processor;
+#line 374
+expandattribute hal_input_processor true;
+#line 374
+attribute hal_input_processor_client;
+#line 374
+expandattribute hal_input_processor_client true;
+#line 374
+attribute hal_input_processor_server;
+#line 374
+expandattribute hal_input_processor_server false;
+#line 374
+
+#line 374
+neverallow { hal_input_processor_server -halserverdomain } domain:process fork;
+#line 374
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 374
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 374
+# verified by CTS since these attributes are already expanded by that time.
+#line 374
+
+#line 374
+;
+
+#line 375
+attribute hal_ir;
+#line 375
+expandattribute hal_ir true;
+#line 375
+attribute hal_ir_client;
+#line 375
+expandattribute hal_ir_client true;
+#line 375
+attribute hal_ir_server;
+#line 375
+expandattribute hal_ir_server false;
+#line 375
+
+#line 375
+neverallow { hal_ir_server -halserverdomain } domain:process fork;
+#line 375
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 375
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 375
+# verified by CTS since these attributes are already expanded by that time.
+#line 375
+
+#line 375
+;
+
+#line 376
+attribute hal_ivn;
+#line 376
+expandattribute hal_ivn true;
+#line 376
+attribute hal_ivn_client;
+#line 376
+expandattribute hal_ivn_client true;
+#line 376
+attribute hal_ivn_server;
+#line 376
+expandattribute hal_ivn_server false;
+#line 376
+
+#line 376
+neverallow { hal_ivn_server -halserverdomain } domain:process fork;
+#line 376
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 376
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 376
+# verified by CTS since these attributes are already expanded by that time.
+#line 376
+
+#line 376
+;
+
+#line 377
+attribute hal_keymaster;
+#line 377
+expandattribute hal_keymaster true;
+#line 377
+attribute hal_keymaster_client;
+#line 377
+expandattribute hal_keymaster_client true;
+#line 377
+attribute hal_keymaster_server;
+#line 377
+expandattribute hal_keymaster_server false;
+#line 377
+
+#line 377
+neverallow { hal_keymaster_server -halserverdomain } domain:process fork;
+#line 377
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 377
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 377
+# verified by CTS since these attributes are already expanded by that time.
+#line 377
+
+#line 377
+;
+
+#line 378
+attribute hal_keymint;
+#line 378
+expandattribute hal_keymint true;
+#line 378
+attribute hal_keymint_client;
+#line 378
+expandattribute hal_keymint_client true;
+#line 378
+attribute hal_keymint_server;
+#line 378
+expandattribute hal_keymint_server false;
+#line 378
+
+#line 378
+neverallow { hal_keymint_server -halserverdomain } domain:process fork;
+#line 378
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 378
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 378
+# verified by CTS since these attributes are already expanded by that time.
+#line 378
+
+#line 378
+;
+
+#line 379
+attribute hal_light;
+#line 379
+expandattribute hal_light true;
+#line 379
+attribute hal_light_client;
+#line 379
+expandattribute hal_light_client true;
+#line 379
+attribute hal_light_server;
+#line 379
+expandattribute hal_light_server false;
+#line 379
+
+#line 379
+neverallow { hal_light_server -halserverdomain } domain:process fork;
+#line 379
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 379
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 379
+# verified by CTS since these attributes are already expanded by that time.
+#line 379
+
+#line 379
+;
+
+#line 380
+attribute hal_lowpan;
+#line 380
+expandattribute hal_lowpan true;
+#line 380
+attribute hal_lowpan_client;
+#line 380
+expandattribute hal_lowpan_client true;
+#line 380
+attribute hal_lowpan_server;
+#line 380
+expandattribute hal_lowpan_server false;
+#line 380
+
+#line 380
+neverallow { hal_lowpan_server -halserverdomain } domain:process fork;
+#line 380
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 380
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 380
+# verified by CTS since these attributes are already expanded by that time.
+#line 380
+
+#line 380
+;
+
+#line 381
+attribute hal_macsec;
+#line 381
+expandattribute hal_macsec true;
+#line 381
+attribute hal_macsec_client;
+#line 381
+expandattribute hal_macsec_client true;
+#line 381
+attribute hal_macsec_server;
+#line 381
+expandattribute hal_macsec_server false;
+#line 381
+
+#line 381
+neverallow { hal_macsec_server -halserverdomain } domain:process fork;
+#line 381
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 381
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 381
+# verified by CTS since these attributes are already expanded by that time.
+#line 381
+
+#line 381
+;
+
+#line 382
+    
+#line 382
+attribute hal_mediaquality;
+#line 382
+expandattribute hal_mediaquality true;
+#line 382
+attribute hal_mediaquality_client;
+#line 382
+expandattribute hal_mediaquality_client true;
+#line 382
+attribute hal_mediaquality_server;
+#line 382
+expandattribute hal_mediaquality_server false;
+#line 382
+
+#line 382
+neverallow { hal_mediaquality_server -halserverdomain } domain:process fork;
+#line 382
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 382
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 382
+# verified by CTS since these attributes are already expanded by that time.
+#line 382
+
+#line 382
+;
+#line 384
+
+
+#line 385
+attribute hal_memtrack;
+#line 385
+expandattribute hal_memtrack true;
+#line 385
+attribute hal_memtrack_client;
+#line 385
+expandattribute hal_memtrack_client true;
+#line 385
+attribute hal_memtrack_server;
+#line 385
+expandattribute hal_memtrack_server false;
+#line 385
+
+#line 385
+neverallow { hal_memtrack_server -halserverdomain } domain:process fork;
+#line 385
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 385
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 385
+# verified by CTS since these attributes are already expanded by that time.
+#line 385
+
+#line 385
+;
+
+#line 386
+attribute hal_neuralnetworks;
+#line 386
+expandattribute hal_neuralnetworks true;
+#line 386
+attribute hal_neuralnetworks_client;
+#line 386
+expandattribute hal_neuralnetworks_client true;
+#line 386
+attribute hal_neuralnetworks_server;
+#line 386
+expandattribute hal_neuralnetworks_server false;
+#line 386
+
+#line 386
+neverallow { hal_neuralnetworks_server -halserverdomain } domain:process fork;
+#line 386
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 386
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 386
+# verified by CTS since these attributes are already expanded by that time.
+#line 386
+
+#line 386
+;
+
+#line 387
+attribute hal_nfc;
+#line 387
+expandattribute hal_nfc true;
+#line 387
+attribute hal_nfc_client;
+#line 387
+expandattribute hal_nfc_client true;
+#line 387
+attribute hal_nfc_server;
+#line 387
+expandattribute hal_nfc_server false;
+#line 387
+
+#line 387
+neverallow { hal_nfc_server -halserverdomain } domain:process fork;
+#line 387
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 387
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 387
+# verified by CTS since these attributes are already expanded by that time.
+#line 387
+
+#line 387
+;
+
+#line 388
+attribute hal_nlinterceptor;
+#line 388
+expandattribute hal_nlinterceptor true;
+#line 388
+attribute hal_nlinterceptor_client;
+#line 388
+expandattribute hal_nlinterceptor_client true;
+#line 388
+attribute hal_nlinterceptor_server;
+#line 388
+expandattribute hal_nlinterceptor_server false;
+#line 388
+
+#line 388
+neverallow { hal_nlinterceptor_server -halserverdomain } domain:process fork;
+#line 388
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 388
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 388
+# verified by CTS since these attributes are already expanded by that time.
+#line 388
+
+#line 388
+;
+
+#line 389
+attribute hal_oemlock;
+#line 389
+expandattribute hal_oemlock true;
+#line 389
+attribute hal_oemlock_client;
+#line 389
+expandattribute hal_oemlock_client true;
+#line 389
+attribute hal_oemlock_server;
+#line 389
+expandattribute hal_oemlock_server false;
+#line 389
+
+#line 389
+neverallow { hal_oemlock_server -halserverdomain } domain:process fork;
+#line 389
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 389
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 389
+# verified by CTS since these attributes are already expanded by that time.
+#line 389
+
+#line 389
+;
+
+#line 390
+attribute hal_omx;
+#line 390
+expandattribute hal_omx true;
+#line 390
+attribute hal_omx_client;
+#line 390
+expandattribute hal_omx_client true;
+#line 390
+attribute hal_omx_server;
+#line 390
+expandattribute hal_omx_server false;
+#line 390
+
+#line 390
+neverallow { hal_omx_server -halserverdomain } domain:process fork;
+#line 390
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 390
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 390
+# verified by CTS since these attributes are already expanded by that time.
+#line 390
+
+#line 390
+;
+
+#line 391
+attribute hal_power;
+#line 391
+expandattribute hal_power true;
+#line 391
+attribute hal_power_client;
+#line 391
+expandattribute hal_power_client true;
+#line 391
+attribute hal_power_server;
+#line 391
+expandattribute hal_power_server false;
+#line 391
+
+#line 391
+neverallow { hal_power_server -halserverdomain } domain:process fork;
+#line 391
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 391
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 391
+# verified by CTS since these attributes are already expanded by that time.
+#line 391
+
+#line 391
+;
+
+#line 392
+attribute hal_power_stats;
+#line 392
+expandattribute hal_power_stats true;
+#line 392
+attribute hal_power_stats_client;
+#line 392
+expandattribute hal_power_stats_client true;
+#line 392
+attribute hal_power_stats_server;
+#line 392
+expandattribute hal_power_stats_server false;
+#line 392
+
+#line 392
+neverallow { hal_power_stats_server -halserverdomain } domain:process fork;
+#line 392
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 392
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 392
+# verified by CTS since these attributes are already expanded by that time.
+#line 392
+
+#line 392
+;
+
+#line 393
+attribute hal_rebootescrow;
+#line 393
+expandattribute hal_rebootescrow true;
+#line 393
+attribute hal_rebootescrow_client;
+#line 393
+expandattribute hal_rebootescrow_client true;
+#line 393
+attribute hal_rebootescrow_server;
+#line 393
+expandattribute hal_rebootescrow_server false;
+#line 393
+
+#line 393
+neverallow { hal_rebootescrow_server -halserverdomain } domain:process fork;
+#line 393
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 393
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 393
+# verified by CTS since these attributes are already expanded by that time.
+#line 393
+
+#line 393
+;
+
+#line 394
+attribute hal_remoteaccess;
+#line 394
+expandattribute hal_remoteaccess true;
+#line 394
+attribute hal_remoteaccess_client;
+#line 394
+expandattribute hal_remoteaccess_client true;
+#line 394
+attribute hal_remoteaccess_server;
+#line 394
+expandattribute hal_remoteaccess_server false;
+#line 394
+
+#line 394
+neverallow { hal_remoteaccess_server -halserverdomain } domain:process fork;
+#line 394
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 394
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 394
+# verified by CTS since these attributes are already expanded by that time.
+#line 394
+
+#line 394
+;
+
+#line 395
+attribute hal_secretkeeper;
+#line 395
+expandattribute hal_secretkeeper true;
+#line 395
+attribute hal_secretkeeper_client;
+#line 395
+expandattribute hal_secretkeeper_client true;
+#line 395
+attribute hal_secretkeeper_server;
+#line 395
+expandattribute hal_secretkeeper_server false;
+#line 395
+
+#line 395
+neverallow { hal_secretkeeper_server -halserverdomain } domain:process fork;
+#line 395
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 395
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 395
+# verified by CTS since these attributes are already expanded by that time.
+#line 395
+
+#line 395
+;
+
+#line 396
+attribute hal_remotelyprovisionedcomponent_avf;
+#line 396
+expandattribute hal_remotelyprovisionedcomponent_avf true;
+#line 396
+attribute hal_remotelyprovisionedcomponent_avf_client;
+#line 396
+expandattribute hal_remotelyprovisionedcomponent_avf_client true;
+#line 396
+attribute hal_remotelyprovisionedcomponent_avf_server;
+#line 396
+expandattribute hal_remotelyprovisionedcomponent_avf_server false;
+#line 396
+
+#line 396
+neverallow { hal_remotelyprovisionedcomponent_avf_server -halserverdomain } domain:process fork;
+#line 396
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 396
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 396
+# verified by CTS since these attributes are already expanded by that time.
+#line 396
+
+#line 396
+;
+
+#line 397
+attribute hal_secure_element;
+#line 397
+expandattribute hal_secure_element true;
+#line 397
+attribute hal_secure_element_client;
+#line 397
+expandattribute hal_secure_element_client true;
+#line 397
+attribute hal_secure_element_server;
+#line 397
+expandattribute hal_secure_element_server false;
+#line 397
+
+#line 397
+neverallow { hal_secure_element_server -halserverdomain } domain:process fork;
+#line 397
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 397
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 397
+# verified by CTS since these attributes are already expanded by that time.
+#line 397
+
+#line 397
+;
+
+#line 398
+attribute hal_sensors;
+#line 398
+expandattribute hal_sensors true;
+#line 398
+attribute hal_sensors_client;
+#line 398
+expandattribute hal_sensors_client true;
+#line 398
+attribute hal_sensors_server;
+#line 398
+expandattribute hal_sensors_server false;
+#line 398
+
+#line 398
+neverallow { hal_sensors_server -halserverdomain } domain:process fork;
+#line 398
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 398
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 398
+# verified by CTS since these attributes are already expanded by that time.
+#line 398
+
+#line 398
+;
+
+#line 399
+attribute hal_telephony;
+#line 399
+expandattribute hal_telephony true;
+#line 399
+attribute hal_telephony_client;
+#line 399
+expandattribute hal_telephony_client true;
+#line 399
+attribute hal_telephony_server;
+#line 399
+expandattribute hal_telephony_server false;
+#line 399
+
+#line 399
+neverallow { hal_telephony_server -halserverdomain } domain:process fork;
+#line 399
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 399
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 399
+# verified by CTS since these attributes are already expanded by that time.
+#line 399
+
+#line 399
+;
+
+#line 400
+attribute hal_tetheroffload;
+#line 400
+expandattribute hal_tetheroffload true;
+#line 400
+attribute hal_tetheroffload_client;
+#line 400
+expandattribute hal_tetheroffload_client true;
+#line 400
+attribute hal_tetheroffload_server;
+#line 400
+expandattribute hal_tetheroffload_server false;
+#line 400
+
+#line 400
+neverallow { hal_tetheroffload_server -halserverdomain } domain:process fork;
+#line 400
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 400
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 400
+# verified by CTS since these attributes are already expanded by that time.
+#line 400
+
+#line 400
+;
+
+#line 401
+attribute hal_thermal;
+#line 401
+expandattribute hal_thermal true;
+#line 401
+attribute hal_thermal_client;
+#line 401
+expandattribute hal_thermal_client true;
+#line 401
+attribute hal_thermal_server;
+#line 401
+expandattribute hal_thermal_server false;
+#line 401
+
+#line 401
+neverallow { hal_thermal_server -halserverdomain } domain:process fork;
+#line 401
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 401
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 401
+# verified by CTS since these attributes are already expanded by that time.
+#line 401
+
+#line 401
+;
+
+#line 402
+attribute hal_threadnetwork;
+#line 402
+expandattribute hal_threadnetwork true;
+#line 402
+attribute hal_threadnetwork_client;
+#line 402
+expandattribute hal_threadnetwork_client true;
+#line 402
+attribute hal_threadnetwork_server;
+#line 402
+expandattribute hal_threadnetwork_server false;
+#line 402
+
+#line 402
+neverallow { hal_threadnetwork_server -halserverdomain } domain:process fork;
+#line 402
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 402
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 402
+# verified by CTS since these attributes are already expanded by that time.
+#line 402
+
+#line 402
+;
+
+#line 403
+attribute hal_tv_cec;
+#line 403
+expandattribute hal_tv_cec true;
+#line 403
+attribute hal_tv_cec_client;
+#line 403
+expandattribute hal_tv_cec_client true;
+#line 403
+attribute hal_tv_cec_server;
+#line 403
+expandattribute hal_tv_cec_server false;
+#line 403
+
+#line 403
+neverallow { hal_tv_cec_server -halserverdomain } domain:process fork;
+#line 403
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 403
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 403
+# verified by CTS since these attributes are already expanded by that time.
+#line 403
+
+#line 403
+;
+
+#line 404
+attribute hal_tv_hdmi_cec;
+#line 404
+expandattribute hal_tv_hdmi_cec true;
+#line 404
+attribute hal_tv_hdmi_cec_client;
+#line 404
+expandattribute hal_tv_hdmi_cec_client true;
+#line 404
+attribute hal_tv_hdmi_cec_server;
+#line 404
+expandattribute hal_tv_hdmi_cec_server false;
+#line 404
+
+#line 404
+neverallow { hal_tv_hdmi_cec_server -halserverdomain } domain:process fork;
+#line 404
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 404
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 404
+# verified by CTS since these attributes are already expanded by that time.
+#line 404
+
+#line 404
+;
+
+#line 405
+attribute hal_tv_hdmi_connection;
+#line 405
+expandattribute hal_tv_hdmi_connection true;
+#line 405
+attribute hal_tv_hdmi_connection_client;
+#line 405
+expandattribute hal_tv_hdmi_connection_client true;
+#line 405
+attribute hal_tv_hdmi_connection_server;
+#line 405
+expandattribute hal_tv_hdmi_connection_server false;
+#line 405
+
+#line 405
+neverallow { hal_tv_hdmi_connection_server -halserverdomain } domain:process fork;
+#line 405
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 405
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 405
+# verified by CTS since these attributes are already expanded by that time.
+#line 405
+
+#line 405
+;
+
+#line 406
+attribute hal_tv_hdmi_earc;
+#line 406
+expandattribute hal_tv_hdmi_earc true;
+#line 406
+attribute hal_tv_hdmi_earc_client;
+#line 406
+expandattribute hal_tv_hdmi_earc_client true;
+#line 406
+attribute hal_tv_hdmi_earc_server;
+#line 406
+expandattribute hal_tv_hdmi_earc_server false;
+#line 406
+
+#line 406
+neverallow { hal_tv_hdmi_earc_server -halserverdomain } domain:process fork;
+#line 406
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 406
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 406
+# verified by CTS since these attributes are already expanded by that time.
+#line 406
+
+#line 406
+;
+
+#line 407
+attribute hal_tv_input;
+#line 407
+expandattribute hal_tv_input true;
+#line 407
+attribute hal_tv_input_client;
+#line 407
+expandattribute hal_tv_input_client true;
+#line 407
+attribute hal_tv_input_server;
+#line 407
+expandattribute hal_tv_input_server false;
+#line 407
+
+#line 407
+neverallow { hal_tv_input_server -halserverdomain } domain:process fork;
+#line 407
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 407
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 407
+# verified by CTS since these attributes are already expanded by that time.
+#line 407
+
+#line 407
+;
+
+#line 408
+attribute hal_tv_tuner;
+#line 408
+expandattribute hal_tv_tuner true;
+#line 408
+attribute hal_tv_tuner_client;
+#line 408
+expandattribute hal_tv_tuner_client true;
+#line 408
+attribute hal_tv_tuner_server;
+#line 408
+expandattribute hal_tv_tuner_server false;
+#line 408
+
+#line 408
+neverallow { hal_tv_tuner_server -halserverdomain } domain:process fork;
+#line 408
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 408
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 408
+# verified by CTS since these attributes are already expanded by that time.
+#line 408
+
+#line 408
+;
+
+#line 409
+attribute hal_usb;
+#line 409
+expandattribute hal_usb true;
+#line 409
+attribute hal_usb_client;
+#line 409
+expandattribute hal_usb_client true;
+#line 409
+attribute hal_usb_server;
+#line 409
+expandattribute hal_usb_server false;
+#line 409
+
+#line 409
+neverallow { hal_usb_server -halserverdomain } domain:process fork;
+#line 409
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 409
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 409
+# verified by CTS since these attributes are already expanded by that time.
+#line 409
+
+#line 409
+;
+
+#line 410
+attribute hal_usb_gadget;
+#line 410
+expandattribute hal_usb_gadget true;
+#line 410
+attribute hal_usb_gadget_client;
+#line 410
+expandattribute hal_usb_gadget_client true;
+#line 410
+attribute hal_usb_gadget_server;
+#line 410
+expandattribute hal_usb_gadget_server false;
+#line 410
+
+#line 410
+neverallow { hal_usb_gadget_server -halserverdomain } domain:process fork;
+#line 410
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 410
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 410
+# verified by CTS since these attributes are already expanded by that time.
+#line 410
+
+#line 410
+;
+
+#line 411
+attribute hal_uwb;
+#line 411
+expandattribute hal_uwb true;
+#line 411
+attribute hal_uwb_client;
+#line 411
+expandattribute hal_uwb_client true;
+#line 411
+attribute hal_uwb_server;
+#line 411
+expandattribute hal_uwb_server false;
+#line 411
+
+#line 411
+neverallow { hal_uwb_server -halserverdomain } domain:process fork;
+#line 411
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 411
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 411
+# verified by CTS since these attributes are already expanded by that time.
+#line 411
+
+#line 411
+;
+# TODO(b/196225233): Remove this attribute and its usages elsewhere
+# once all chip vendors integrate to the new UWB stack.
+
+#line 414
+attribute hal_uwb_vendor;
+#line 414
+expandattribute hal_uwb_vendor true;
+#line 414
+attribute hal_uwb_vendor_client;
+#line 414
+expandattribute hal_uwb_vendor_client true;
+#line 414
+attribute hal_uwb_vendor_server;
+#line 414
+expandattribute hal_uwb_vendor_server false;
+#line 414
+
+#line 414
+neverallow { hal_uwb_vendor_server -halserverdomain } domain:process fork;
+#line 414
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 414
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 414
+# verified by CTS since these attributes are already expanded by that time.
+#line 414
+
+#line 414
+;
+
+#line 415
+attribute hal_vehicle;
+#line 415
+expandattribute hal_vehicle true;
+#line 415
+attribute hal_vehicle_client;
+#line 415
+expandattribute hal_vehicle_client true;
+#line 415
+attribute hal_vehicle_server;
+#line 415
+expandattribute hal_vehicle_server false;
+#line 415
+
+#line 415
+neverallow { hal_vehicle_server -halserverdomain } domain:process fork;
+#line 415
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 415
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 415
+# verified by CTS since these attributes are already expanded by that time.
+#line 415
+
+#line 415
+;
+
+#line 416
+attribute hal_vibrator;
+#line 416
+expandattribute hal_vibrator true;
+#line 416
+attribute hal_vibrator_client;
+#line 416
+expandattribute hal_vibrator_client true;
+#line 416
+attribute hal_vibrator_server;
+#line 416
+expandattribute hal_vibrator_server false;
+#line 416
+
+#line 416
+neverallow { hal_vibrator_server -halserverdomain } domain:process fork;
+#line 416
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 416
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 416
+# verified by CTS since these attributes are already expanded by that time.
+#line 416
+
+#line 416
+;
+
+#line 417
+attribute hal_vr;
+#line 417
+expandattribute hal_vr true;
+#line 417
+attribute hal_vr_client;
+#line 417
+expandattribute hal_vr_client true;
+#line 417
+attribute hal_vr_server;
+#line 417
+expandattribute hal_vr_server false;
+#line 417
+
+#line 417
+neverallow { hal_vr_server -halserverdomain } domain:process fork;
+#line 417
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 417
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 417
+# verified by CTS since these attributes are already expanded by that time.
+#line 417
+
+#line 417
+;
+
+#line 418
+attribute hal_weaver;
+#line 418
+expandattribute hal_weaver true;
+#line 418
+attribute hal_weaver_client;
+#line 418
+expandattribute hal_weaver_client true;
+#line 418
+attribute hal_weaver_server;
+#line 418
+expandattribute hal_weaver_server false;
+#line 418
+
+#line 418
+neverallow { hal_weaver_server -halserverdomain } domain:process fork;
+#line 418
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 418
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 418
+# verified by CTS since these attributes are already expanded by that time.
+#line 418
+
+#line 418
+;
+
+#line 419
+attribute hal_wifi;
+#line 419
+expandattribute hal_wifi true;
+#line 419
+attribute hal_wifi_client;
+#line 419
+expandattribute hal_wifi_client true;
+#line 419
+attribute hal_wifi_server;
+#line 419
+expandattribute hal_wifi_server false;
+#line 419
+
+#line 419
+neverallow { hal_wifi_server -halserverdomain } domain:process fork;
+#line 419
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 419
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 419
+# verified by CTS since these attributes are already expanded by that time.
+#line 419
+
+#line 419
+;
+
+#line 420
+attribute hal_wifi_hostapd;
+#line 420
+expandattribute hal_wifi_hostapd true;
+#line 420
+attribute hal_wifi_hostapd_client;
+#line 420
+expandattribute hal_wifi_hostapd_client true;
+#line 420
+attribute hal_wifi_hostapd_server;
+#line 420
+expandattribute hal_wifi_hostapd_server false;
+#line 420
+
+#line 420
+neverallow { hal_wifi_hostapd_server -halserverdomain } domain:process fork;
+#line 420
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 420
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 420
+# verified by CTS since these attributes are already expanded by that time.
+#line 420
+
+#line 420
+;
+
+#line 421
+attribute hal_wifi_supplicant;
+#line 421
+expandattribute hal_wifi_supplicant true;
+#line 421
+attribute hal_wifi_supplicant_client;
+#line 421
+expandattribute hal_wifi_supplicant_client true;
+#line 421
+attribute hal_wifi_supplicant_server;
+#line 421
+expandattribute hal_wifi_supplicant_server false;
+#line 421
+
+#line 421
+neverallow { hal_wifi_supplicant_server -halserverdomain } domain:process fork;
+#line 421
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 421
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 421
+# verified by CTS since these attributes are already expanded by that time.
+#line 421
+
+#line 421
+;
+
+# HwBinder services offered across the core-vendor boundary
+#
+# We annotate server domains with x_server  to loosen the coupling between
+# system and vendor images. For example, it should be possible to move a service
+# from one core domain to another, without having to update the vendor image
+# which contains clients of this service.
+
+attribute automotive_display_service_server;
+attribute camera_service_server;
+attribute display_service_server;
+attribute evsmanager_service_server;
+attribute remote_provisioning_service_server;
+attribute scheduler_service_server;
+attribute sensor_service_server;
+attribute stats_service_server;
+attribute system_suspend_internal_server;
+attribute system_suspend_server;
+attribute wifi_keystore_service_server;
+
+# All types used for super partition block devices.
+attribute super_block_device_type;
+
+# All types used for DMA-BUF heaps
+attribute dmabuf_heap_device_type;
+expandattribute dmabuf_heap_device_type false;
+
+# Types for VM managers
+attribute vm_manager_device_type;
+
+# All types used for DSU metadata files.
+attribute gsi_metadata_file_type;
+
+# Types used for module-specific APEX data directories under
+# /data/{misc,misc_ce,misc_de}/apexdata.
+attribute apex_data_file_type;
+
+# Domains used for charger.
+# This is the common type for domains that executes charger's
+# functionalities, including setting and getting necessary properties,
+# permissions to maintain the health loop, writing to kernel log, handling
+# inputs and drawing screens, etc.
+attribute charger_type;
+
+# All types of ART properties.
+attribute dalvik_config_prop_type;
+
+# All tee services that can be accessed by VMs
+
+#line 470
+    attribute tee_service_type;
+#line 472
+
+
+# HAL service used for custom smc filtering project
+
+#line 475
+    
+#line 475
+attribute hal_vm_capabilities;
+#line 475
+expandattribute hal_vm_capabilities true;
+#line 475
+attribute hal_vm_capabilities_client;
+#line 475
+expandattribute hal_vm_capabilities_client true;
+#line 475
+attribute hal_vm_capabilities_server;
+#line 475
+expandattribute hal_vm_capabilities_server false;
+#line 475
+
+#line 475
+neverallow { hal_vm_capabilities_server -halserverdomain } domain:process fork;
+#line 475
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 475
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 475
+# verified by CTS since these attributes are already expanded by that time.
+#line 475
+
+#line 475
+;
+#line 477
+
+#line 1 "system/sepolicy/public/adbd.te"
+# adbd seclabel is specified in init.rc since
+# it lives in the rootfs and has no unique file type.
+type adbd, domain;
+type adbd_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/aidl_lazy_test_server.te"
+type aidl_lazy_test_server, domain;
+type aidl_lazy_test_server_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/apexd.te"
+# apexd -- manager for APEX packages
+type apexd, domain;
+type apexd_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/app.te"
+###
+### Domain for all zygote spawned apps
+###
+### This file is the base policy for all zygote spawned apps.
+### Other policy files, such as isolated_app.te, untrusted_app.te, etc
+### extend from this policy. Only policies which should apply to ALL
+### zygote spawned apps should be added here.
+###
+type appdomain_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/app_zygote.te"
+# app_zygote is an auxiliary zygote process that is used to spawn
+# isolated service processes for individual applications. It is
+# spawned from the regular zygote process as a "child zygote".
+type app_zygote, domain;
+type app_zygote_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/artd.te"
+# ART service daemon.
+type artd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/asan_extract.te"
+# asan_extract
+#
+# This command set moves the artifact corresponding to the current slot
+# from /data/ota to /data/dalvik-cache.
+
+#line 9
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/atrace.te"
+type atrace, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/audioserver.te"
+# audioserver - audio services daemon
+type audioserver, domain;
+type audioserver_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/blkid.te"
+# blkid called from vold
+type blkid, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/blkid_untrusted.te"
+# blkid for untrusted block devices
+type blkid_untrusted, domain;
+#line 1 "system/sepolicy/public/bluetooth.te"
+# bluetooth subsystem
+type bluetooth, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/bootanim.te"
+# bootanimation oneshot service
+type bootanim, domain;
+type bootanim_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/bootstat.te"
+# bootstat command
+type bootstat, domain;
+type bootstat_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/bpfloader.te"
+type bpfloader, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/bufferhubd.te"
+# bufferhubd
+type bufferhubd, domain, mlstrustedsubject;
+type bufferhubd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/cameraserver.te"
+# cameraserver - camera daemon
+type cameraserver, domain;
+type cameraserver_exec, system_file_type, exec_type, file_type;
+type cameraserver_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/charger.te"
+type charger, charger_type, domain;
+type charger_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/charger_vendor.te"
+# Context when health HAL runs charger mode
+type charger_vendor, charger_type, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/crash_dump.te"
+type crash_dump, domain;
+type crash_dump_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/credstore.te"
+# credstore daemon
+type credstore, domain;
+type credstore_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/crosvm.te"
+
+#line 1
+    type crosvm, domain, coredomain;
+#line 3
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/device.te"
+# Device types
+type device, dev_type, fs_type;
+type ashmem_device, dev_type, mlstrustedobject;
+type ashmem_libcutils_device, dev_type, mlstrustedobject;
+type audio_device, dev_type;
+type binder_device, dev_type, mlstrustedobject;
+type hwbinder_device, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type vndbinder_device, dev_type;
+type block_device, dev_type;
+type bt_device, dev_type;
+type camera_device, dev_type;
+type dm_device, dev_type;
+type ublk_block_device, dev_type;
+type dm_user_device, dev_type;
+type ublk_control_device, dev_type;
+type keychord_device, dev_type;
+type loop_control_device, dev_type;
+type loop_device, dev_type;
+type pmsg_device, dev_type, mlstrustedobject;
+type radio_device, dev_type;
+type ram_device, dev_type;
+type rtc_device, dev_type;
+type vd_device, dev_type;
+type vold_device, dev_type;
+type console_device, dev_type;
+type fscklogs, dev_type;
+# GPU (used by most UI apps)
+type gpu_device, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type graphics_device, dev_type;
+type hw_random_device, dev_type;
+type input_device, dev_type;
+type port_device, dev_type;
+type lowpan_device, dev_type;
+type mtp_device, dev_type, mlstrustedobject;
+type nfc_device, dev_type;
+type ptmx_device, dev_type, mlstrustedobject;
+type kmsg_device, dev_type, mlstrustedobject;
+type kmsg_debug_device, dev_type;
+type null_device, dev_type, mlstrustedobject;
+type random_device, dev_type, mlstrustedobject;
+type secure_element_device, dev_type;
+type sensors_device, dev_type;
+type serial_device, dev_type;
+type socket_device, dev_type;
+type owntty_device, dev_type, mlstrustedobject;
+type tty_device, dev_type;
+type video_device, dev_type;
+type zero_device, dev_type, mlstrustedobject;
+type fuse_device, dev_type, mlstrustedobject;
+type iio_device, dev_type;
+type ion_device, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type dmabuf_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject;
+type dmabuf_system_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type dmabuf_system_secure_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject;
+type qtaguid_device, dev_type;
+type watchdog_device, dev_type;
+type uhid_device, dev_type, mlstrustedobject;
+type uio_device, dev_type;
+type tun_device, dev_type, mlstrustedobject;
+type usbaccessory_device, dev_type, mlstrustedobject;
+type usb_device, dev_type, mlstrustedobject;
+type usb_serial_device, dev_type;
+type gnss_device, dev_type;
+type properties_device, dev_type;
+type properties_serial, dev_type;
+type property_info, dev_type;
+type hidraw_device, dev_type;
+
+# All devices have a uart for the hci
+# attach service. The uart dev node
+# varies per device. This type
+# is used in per device policy
+type hci_attach_dev, dev_type;
+
+# All devices have a rpmsg device for
+# achieving remoteproc and rpmsg modules
+type rpmsg_device, dev_type;
+
+# Partition layout block device
+type root_block_device, dev_type;
+
+# factory reset protection block device
+type frp_block_device, dev_type;
+
+# System block device mounted on /system.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type system_block_device, dev_type;
+
+# Recovery block device.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type recovery_block_device, dev_type;
+
+# boot block device.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type boot_block_device, dev_type;
+
+# dtbo block device, type used for getting DTBO information for AVF.
+# Documented at https://source.android.com/docs/core/architecture/dto/partitions
+type dtbo_block_device, dev_type;
+
+# Userdata block device mounted on /data.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type userdata_block_device, dev_type;
+
+# Zoned block device.
+type zoned_block_device, dev_type;
+
+# Cache block device mounted on /cache.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type cache_block_device, dev_type;
+
+# Block device for any swap partition.
+type swap_block_device, dev_type;
+
+# Metadata block device mounted on /metadata, used for encryption metadata and
+# various other purposes.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type metadata_block_device, dev_type;
+
+# The 'misc' partition used by recovery and A/B.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type misc_block_device, dev_type;
+
+# 'super' partition to be used for logical partitioning.
+type super_block_device, super_block_device_type, dev_type;
+
+# sdcard devices; normally vold uses the vold_block_device label and creates a
+# separate device node. gsid, however, accesses the original devide node
+# created through uevents, so we use a separate label.
+type sdcard_block_device, dev_type;
+
+# Userdata device file for filesystem tunables
+type userdata_sysdev, dev_type;
+
+# Root disk file for disk tunables
+type rootdisk_sysdev, dev_type;
+
+# vfio device
+type vfio_device, dev_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/dhcp.te"
+type dhcp, domain;
+type dhcp_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/dnsmasq.te"
+# DNS, DHCP services
+type dnsmasq, domain;
+type dnsmasq_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/drmserver.te"
+# drmserver - DRM service
+type drmserver, domain;
+type drmserver_exec, system_file_type, exec_type, file_type;
+type drmserver_socket, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/dumpstate.te"
+# dumpstate
+type dumpstate, domain, mlstrustedsubject;
+type dumpstate_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/e2fs.te"
+type e2fs, domain, coredomain;
+type e2fs_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/early_virtmgr.te"
+
+#line 1
+    # Domain for a child process that manages early VMs available before /data mount, on behalf of
+#line 1
+    # its parent.
+#line 1
+    
+#line 1
+        type early_virtmgr, domain, coredomain;
+#line 1
+        type early_virtmgr_exec, system_file_type, exec_type, file_type;
+#line 1
+    
+#line 8
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/ephemeral_app.te"
+###
+### Ephemeral apps.
+###
+### This file defines the security policy for apps with the ephemeral
+### feature.
+###
+### The ephemeral_app domain is a reduced permissions sandbox allowing
+### ephemeral applications to be safely installed and run. Non ephemeral
+### applications may also opt-in to ephemeral to take advantage of the
+### additional security features.
+###
+### PackageManager flags an app as ephemeral at install time.
+
+type ephemeral_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/evsmanagerd.te"
+# evsmanager daemon
+type evsmanagerd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/extra_free_kbytes.te"
+# The extra_free_kbytes.sh script run by init.
+type extra_free_kbytes, domain;
+type extra_free_kbytes_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/fastbootd.te"
+# fastbootd (used in recovery init.rc for /sbin/fastbootd)
+
+# Declare the domain unconditionally so we can always reference it
+# in neverallow rules.
+type fastbootd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/file.te"
+# Filesystem types
+type labeledfs, fs_type;
+type pipefs, fs_type;
+type sockfs, fs_type;
+type rootfs, fs_type;
+type proc, fs_type, proc_type;
+type binderfs, fs_type;
+type binderfs_logs, fs_type;
+type binderfs_logs_proc, fs_type;
+type binderfs_logs_stats, fs_type;
+
+
+#line 12
+    type binderfs_logs_transactions, fs_type;
+#line 12
+    type binderfs_logs_transaction_history, fs_type;
+#line 15
+
+
+type binderfs_features, fs_type;
+# Security-sensitive proc nodes that should not be writable to most.
+type proc_security, fs_type, proc_type;
+type proc_drop_caches, fs_type, proc_type;
+type proc_overcommit_memory, fs_type, proc_type;
+type proc_min_free_order_shift, fs_type, proc_type;
+type proc_kpageflags, fs_type, proc_type;
+type proc_watermark_boost_factor, fs_type, proc_type;
+type proc_percpu_pagelist_high_fraction, fs_type, proc_type;
+# proc, sysfs, or other nodes that permit configuration of kernel usermodehelpers.
+type usermodehelper, fs_type, proc_type;
+type sysfs_usermodehelper, fs_type, sysfs_type;
+type proc_qtaguid_ctrl, fs_type, mlstrustedobject, proc_type;
+type proc_qtaguid_stat, fs_type, mlstrustedobject, proc_type;
+type proc_bluetooth_writable, fs_type, proc_type;
+type proc_abi, fs_type, proc_type;
+type proc_asound, fs_type, proc_type;
+type proc_bootconfig, fs_type, proc_type;
+type proc_bpf, fs_type, proc_type;
+type proc_buddyinfo, fs_type, proc_type;
+
+#line 37
+    type proc_cgroups, fs_type, proc_type;
+#line 39
+
+type proc_cmdline, fs_type, proc_type;
+type proc_cpu_alignment, fs_type, proc_type;
+type proc_cpuinfo, fs_type, proc_type;
+type proc_dirty, fs_type, proc_type;
+type proc_diskstats, fs_type, proc_type;
+type proc_extra_free_kbytes, fs_type, proc_type;
+type proc_filesystems, fs_type, proc_type;
+type proc_fs_verity, fs_type, proc_type;
+type proc_hostname, fs_type, proc_type;
+type proc_hung_task, fs_type, proc_type;
+type proc_interrupts, fs_type, proc_type;
+type proc_iomem, fs_type, proc_type;
+type proc_kallsyms, fs_type, proc_type;
+type proc_keys, fs_type, proc_type;
+type proc_kmsg, fs_type, proc_type;
+type proc_loadavg, fs_type, proc_type;
+type proc_locks, fs_type, proc_type;
+type proc_lowmemorykiller, fs_type, proc_type;
+type proc_max_map_count, fs_type, proc_type;
+type proc_meminfo, fs_type, proc_type;
+type proc_misc, fs_type, proc_type;
+type proc_modules, fs_type, proc_type;
+type proc_mounts, fs_type, proc_type;
+type proc_net, fs_type, proc_type, proc_net_type;
+type proc_net_tcp_udp, fs_type, proc_type;
+type proc_page_cluster, fs_type, proc_type;
+type proc_pagetypeinfo, fs_type, proc_type;
+type proc_panic, fs_type, proc_type;
+type proc_perf, fs_type, proc_type;
+type proc_pid_max, fs_type, proc_type;
+type proc_pipe_conf, fs_type, proc_type;
+type proc_pressure_cpu, fs_type, proc_type;
+type proc_pressure_io, fs_type, proc_type;
+type proc_pressure_mem, fs_type, proc_type;
+type proc_random, fs_type, proc_type;
+type proc_sched, fs_type, proc_type;
+type proc_slabinfo, fs_type, proc_type;
+type proc_stat, fs_type, proc_type;
+type proc_swaps, fs_type, proc_type;
+type proc_sysrq, fs_type, proc_type;
+type proc_timer, fs_type, proc_type;
+type proc_tty_drivers, fs_type, proc_type;
+type proc_uid_cputime_showstat, fs_type, proc_type;
+type proc_uid_cputime_removeuid, fs_type, proc_type;
+type proc_uid_io_stats, fs_type, proc_type;
+type proc_uid_procstat_set, fs_type, proc_type;
+type proc_uid_time_in_state, fs_type, proc_type;
+type proc_uid_concurrent_active_time, fs_type, proc_type;
+type proc_uid_concurrent_policy_time, fs_type, proc_type;
+type proc_uid_cpupower, fs_type, proc_type;
+type proc_uptime, fs_type, proc_type;
+type proc_version, fs_type, proc_type;
+type proc_vmallocinfo, fs_type, proc_type;
+type proc_vmstat, fs_type, proc_type;
+type proc_watermark_scale_factor, fs_type, proc_type;
+type proc_zoneinfo, fs_type, proc_type;
+type proc_vendor_sched, proc_type, fs_type;
+type selinuxfs, fs_type, mlstrustedobject;
+type fusectlfs, fs_type;
+type cgroup, fs_type, mlstrustedobject;
+type cgroup_v2, fs_type;
+type sysfs, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_android_usb, fs_type, sysfs_type;
+type sysfs_uio, sysfs_type, fs_type;
+type sysfs_batteryinfo, fs_type, sysfs_type;
+type sysfs_bluetooth_writable, fs_type, sysfs_type, mlstrustedobject;
+
+
+#line 107
+    type sysfs_cma, fs_type, sysfs_type;
+#line 109
+
+
+type sysfs_devfreq_cur, fs_type, sysfs_type;
+type sysfs_devfreq_dir, fs_type, sysfs_type;
+type sysfs_devices_block, fs_type, sysfs_type;
+type sysfs_dm, fs_type, sysfs_type;
+type sysfs_dm_verity, fs_type, sysfs_type;
+type sysfs_dma_heap, fs_type, sysfs_type;
+type sysfs_dmabuf_stats, fs_type, sysfs_type;
+type sysfs_dt_firmware_android, fs_type, sysfs_type;
+type sysfs_extcon, fs_type, sysfs_type;
+type sysfs_ion, fs_type, sysfs_type;
+type sysfs_ipv4, fs_type, sysfs_type;
+type sysfs_kernel_notes, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_leds, fs_type, sysfs_type;
+type sysfs_loop, fs_type, sysfs_type;
+type sysfs_gpu, fs_type, sysfs_type;
+type sysfs_hwrandom, fs_type, sysfs_type;
+type sysfs_nfc_power_writable, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_wake_lock, fs_type, sysfs_type;
+type sysfs_net, fs_type, sysfs_type;
+type sysfs_power, fs_type, sysfs_type;
+type sysfs_rtc, fs_type, sysfs_type;
+
+
+#line 133
+    type sysfs_mem_sleep, fs_type, sysfs_type;
+#line 135
+
+
+type sysfs_suspend_stats, fs_type, sysfs_type;
+type sysfs_switch, fs_type, sysfs_type;
+type sysfs_sync_on_suspend, fs_type, sysfs_type;
+type sysfs_transparent_hugepage, fs_type, sysfs_type;
+type sysfs_lru_gen_enabled, fs_type, sysfs_type;
+type sysfs_usb, fs_type, sysfs_type;
+type sysfs_wakeup, fs_type, sysfs_type;
+type sysfs_wakeup_reasons, fs_type, sysfs_type;
+type sysfs_fs_ext4_features, sysfs_type, fs_type;
+type sysfs_fs_f2fs, sysfs_type, fs_type;
+type sysfs_fs_fuse_bpf, sysfs_type, fs_type;
+type sysfs_fs_fuse_features, sysfs_type, fs_type;
+type sysfs_fs_incfs_features, sysfs_type, fs_type;
+type sysfs_fs_incfs_metrics, sysfs_type, fs_type;
+type sysfs_vendor_sched, sysfs_type, fs_type;
+#line 154
+
+type fs_bpf, fs_type, bpffs_type;
+# TODO: S+ fs_bpf_tethering (used by mainline) should be private
+type fs_bpf_tethering, fs_type, bpffs_type;
+type fs_bpf_vendor, fs_type, bpffs_type;
+
+type configfs, fs_type;
+# /sys/devices/cs_etm
+type sysfs_devices_cs_etm, fs_type, sysfs_type;
+# /sys/devices/system/cpu
+type sysfs_devices_system_cpu, fs_type, sysfs_type;
+# /sys/module/lowmemorykiller
+type sysfs_lowmemorykiller, fs_type, sysfs_type;
+# /sys/module/wlan/parameters/fwpath
+type sysfs_wlan_fwpath, fs_type, sysfs_type;
+type sysfs_vibrator, fs_type, sysfs_type;
+type sysfs_uhid, fs_type, sysfs_type;
+type sysfs_thermal, sysfs_type, fs_type;
+
+type sysfs_zram, fs_type, sysfs_type;
+type sysfs_zram_uevent, fs_type, sysfs_type;
+type inotify, fs_type, mlstrustedobject;
+type devpts, fs_type, mlstrustedobject;
+type tmpfs, fs_type;
+type shm, fs_type;
+type mqueue, fs_type;
+type fuse, fusefs_type, fs_type, mlstrustedobject;
+type fuseblk, sdcard_type, fusefs_type, fs_type, mlstrustedobject;
+type sdcardfs, sdcard_type, fs_type, mlstrustedobject;
+type vfat, sdcard_type, fs_type, mlstrustedobject;
+type exfat, sdcard_type, fs_type, mlstrustedobject;
+type debugfs, fs_type, debugfs_type;
+type debugfs_kprobes, fs_type, debugfs_type;
+type debugfs_mmc, fs_type, debugfs_type;
+type debugfs_mm_events_tracing, fs_type, debugfs_type, tracefs_type;
+type debugfs_trace_marker, fs_type, debugfs_type, mlstrustedobject, tracefs_type;
+type debugfs_tracing, fs_type, debugfs_type, mlstrustedobject, tracefs_type;
+type debugfs_tracing_debug, fs_type, debugfs_type, mlstrustedobject, tracefs_type;
+type debugfs_tracing_instances, fs_type, debugfs_type, tracefs_type;
+type debugfs_tracing_printk_formats, fs_type, debugfs_type, tracefs_type;
+type debugfs_wakeup_sources, fs_type, debugfs_type;
+type debugfs_wifi_tracing, fs_type, debugfs_type, tracefs_type;
+type securityfs, fs_type;
+
+type pstorefs, fs_type;
+type functionfs, fs_type, mlstrustedobject;
+type oemfs, fs_type, contextmount_type;
+type usbfs, fs_type;
+type binfmt_miscfs, fs_type;
+type app_fusefs, fs_type, fusefs_type, contextmount_type;
+
+# File types
+type unlabeled, file_type;
+
+# Default type for anything under /system.
+type system_file, system_file_type, file_type;
+# Default type for /system/asan.options
+type system_asan_options_file, system_file_type, file_type;
+# Type for /system/etc/event-log-tags (liblog implementation detail)
+type system_event_log_tags_file, system_file_type, file_type;
+# Default type for anything under /system/lib[64].
+type system_lib_file, system_file_type, file_type;
+# system libraries that are available only to bootstrap processes
+type system_bootstrap_lib_file, system_file_type, file_type;
+# Default type for the group file /system/etc/group.
+type system_group_file, system_file_type, file_type;
+# Default type for linker executable /system/bin/linker[64].
+type system_linker_exec, system_file_type, file_type;
+# Default type for linker config /system/etc/ld.config.*.
+type system_linker_config_file, system_file_type, file_type;
+# Default type for the passwd file /system/etc/passwd.
+type system_passwd_file, system_file_type, file_type;
+# Default type for linker config /system/etc/seccomp_policy/*.
+type system_seccomp_policy_file, system_file_type, file_type;
+# Default type for cacerts in /system/etc/security/cacerts/*.
+type system_security_cacerts_file, system_file_type, file_type;
+# Default type for /system/bin/tcpdump.
+type tcpdump_exec, system_file_type, exec_type, file_type;
+# Default type for zoneinfo files in /system/usr/share/zoneinfo/*.
+type system_zoneinfo_file, system_file_type, file_type;
+# Cgroups description file under /system/etc/cgroups.json or
+# API file under /system/etc/task_profiles/cgroups_*.json
+type cgroup_desc_file, system_file_type, file_type;
+#line 240
+
+# Vendor cgroups description file under /vendor/etc/cgroups.json
+type vendor_cgroup_desc_file, vendor_file_type, file_type;
+# Task profiles file under /system/etc/task_profiles.json or
+# API file under /system/etc/task_profiles/task_profiles_*.json
+type task_profiles_file, system_file_type, file_type;
+#line 249
+
+# Vendor task profiles file under /vendor/etc/task_profiles.json
+type vendor_task_profiles_file, vendor_file_type, file_type;
+# Type for /system/apex/com.android.art
+type art_apex_dir, system_file_type, file_type;
+# /linkerconfig(/.*)?
+type linkerconfig_file, file_type;
+# Control files under /data/incremental
+type incremental_control_file, file_type, data_file_type, core_data_file_type;
+# /oem/media/bootanimation.zip|shutdownanimation.zip|userspace-reboot.zip
+type bootanim_oem_file, file_type, system_file_type;
+
+# Default type for directories search for
+# HAL implementations
+type vendor_hal_file, vendor_file_type, file_type;
+# Default type for under /vendor or /system/vendor
+type vendor_file, vendor_file_type, file_type;
+# Default type for everything in /vendor/app
+type vendor_app_file, vendor_file_type, file_type;
+# Default type for everything under /vendor/etc/
+type vendor_configs_file, vendor_file_type, file_type;
+# Default type for all *same process* HALs and their lib/bin dependencies.
+# e.g. libEGL_xxx.so, android.hardware.graphics.mapper@2.0-impl.so
+type same_process_hal_file, vendor_file_type, file_type;
+# Default type for vndk-sp libs. /vendor/lib/vndk-sp
+type vndk_sp_file, vendor_file_type, file_type;
+# Default type for everything in /vendor/framework
+type vendor_framework_file, vendor_file_type, file_type;
+# Default type for everything in /vendor/overlay
+type vendor_overlay_file, vendor_file_type, file_type;
+# Type for all vendor public libraries. These libs should only be exposed to
+# apps. ABI stability of these libs is vendor's responsibility.
+type vendor_public_lib_file, vendor_file_type, file_type;
+# Type for all vendor public libraries for system. These libs should only be exposed to
+# system. ABI stability of these libs is vendor's responsibility.
+type vendor_public_framework_file, vendor_file_type, file_type;
+# Type for all microdroid related files in the vendor partition.
+# Files having this type should be read-only.
+type vendor_microdroid_file, vendor_file_type, file_type;
+
+
+#line 289
+    # boot otas for 16KB developer option
+#line 289
+    type vendor_boot_ota_file, vendor_file_type, file_type;
+#line 292
+
+
+# Input configuration
+type vendor_keylayout_file, vendor_file_type, file_type;
+type vendor_keychars_file, vendor_file_type, file_type;
+type vendor_idc_file, vendor_file_type, file_type;
+
+# Type for vendor uuid mapping config file
+type vendor_uuid_mapping_config_file, vendor_file_type, file_type;
+
+# SoC-specific virtual machine disk files
+type vendor_vm_file, vendor_file_type, file_type;
+# SoC-specific virtual machine disk files that are mutable
+type vendor_vm_data_file, vendor_file_type, file_type;
+
+# /metadata partition itself
+type metadata_file, file_type;
+# Vold files within /metadata
+type vold_metadata_file, file_type;
+# GSI files within /metadata
+type gsi_metadata_file, gsi_metadata_file_type, file_type;
+# DSU (GSI) files within /metadata that are globally readable.
+type gsi_public_metadata_file, gsi_metadata_file_type, file_type;
+# system_server shares Weaver slot information in /metadata
+type password_slot_metadata_file, file_type;
+# APEX files within /metadata
+type apex_metadata_file, file_type;
+# libsnapshot files within /metadata
+type ota_metadata_file, file_type;
+# property files within /metadata/bootstat
+type metadata_bootstat_file, file_type;
+# userspace reboot files within /metadata/userspacereboot
+type userspace_reboot_metadata_file, file_type;
+# Staged install files within /metadata/staged-install
+type staged_install_file, file_type;
+# Metadata information within /metadata/watchdog
+type watchdog_metadata_file, file_type;
+# Repair mode files within /metadata/repair-mode
+type repair_mode_metadata_file, file_type;
+# Aconfig storage file
+type aconfig_storage_metadata_file, file_type;
+# Aconfig storage flag value persistent copy
+type aconfig_storage_flags_metadata_file, file_type;
+
+# Type for /dev/cpu_variant:.*.
+type dev_cpu_variant, file_type;
+# Speedup access for trusted applications to the runtime event tags
+type runtime_event_log_tags_file, file_type;
+# Type for /system/bin/logcat.
+type logcat_exec, system_file_type, exec_type, file_type;
+# Speedup access to cgroup map file
+type cgroup_rc_file, file_type;
+# /cores for coredumps on userdebug / eng builds
+type coredump_file, file_type;
+# Type of /data itself
+type system_data_root_file, file_type, data_file_type, core_data_file_type;
+# Default type for anything under /data.
+type system_data_file, file_type, data_file_type, core_data_file_type;
+# Default type for directories containing per-user encrypted directories, such
+# as /data/user and /data/user_de.
+type system_userdir_file, file_type, data_file_type, core_data_file_type;
+# Type for /data/system/packages.list.
+# TODO(b/129332765): Narrow down permissions to this.
+# Find out users of system_data_file that should be granted only this.
+type packages_list_file, file_type, data_file_type, core_data_file_type;
+type game_mode_intervention_list_file, file_type, data_file_type, core_data_file_type;
+# Default type for anything inside /data/vendor_{ce,de}.
+type vendor_data_file, file_type, data_file_type;
+# Type for /data/vendor_{ce,de} themselves.  This has core_data_file_type
+# because these directories themselves are platform-managed; only the files
+# *inside* them are vendor data.  (Somewhat similar to system_data_root_file.)
+type vendor_userdir_file, file_type, data_file_type, core_data_file_type;
+# Unencrypted data
+type unencrypted_data_file, file_type, data_file_type, core_data_file_type;
+# installd-create files in /data/misc/installd such as layout_version
+type install_data_file, file_type, data_file_type, core_data_file_type;
+# /data/drm - DRM plugin data
+type drm_data_file, file_type, data_file_type, core_data_file_type;
+# /data/adb - adb debugging files
+type adb_data_file, file_type, data_file_type, core_data_file_type;
+# /data/anr - ANR traces
+type anr_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/tombstones - core dumps
+type tombstone_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/vendor/tombstones/wifi - vendor wifi dumps
+type tombstone_wifi_data_file, file_type, data_file_type;
+# /data/apex - APEX data files
+type apex_data_file, file_type, data_file_type, core_data_file_type;
+# /data/app - user-installed apps
+type apk_data_file, file_type, data_file_type, core_data_file_type;
+type apk_tmp_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/app-private - forward-locked apps
+type apk_private_data_file, file_type, data_file_type, core_data_file_type;
+type apk_private_tmp_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/dalvik-cache
+type dalvikcache_data_file, file_type, data_file_type, core_data_file_type;
+# /data/ota
+type ota_data_file, file_type, data_file_type, core_data_file_type;
+# /data/ota_package
+type ota_package_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/misc/profiles
+type user_profile_root_file, file_type, data_file_type, core_data_file_type;
+type user_profile_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/misc/profman
+type profman_dump_data_file, file_type, data_file_type, core_data_file_type;
+# /data/misc/prereboot
+type prereboot_data_file, file_type, data_file_type, core_data_file_type;
+# /data/resource-cache
+type resourcecache_data_file, file_type, data_file_type, core_data_file_type;
+# /data/local - writable by shell
+type shell_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type, mlstrustedobject;
+# /data/property
+type property_data_file, file_type, data_file_type, core_data_file_type;
+# /data/bootchart
+type bootchart_data_file, file_type, data_file_type, core_data_file_type;
+# /data/system/dropbox
+type dropbox_data_file, file_type, data_file_type, core_data_file_type;
+# /data/system/heapdump
+type heapdump_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/nativetest
+type nativetest_data_file, file_type, data_file_type, core_data_file_type;
+# /data/local/tests
+type shell_test_data_file, file_type, data_file_type, core_data_file_type;
+# /data/system_de/0/ringtones
+type ringtone_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/preloads
+type preloads_data_file, file_type, data_file_type, core_data_file_type;
+# /data/preloads/media
+type preloads_media_file, file_type, data_file_type, core_data_file_type;
+# /data/misc/dhcp and /data/misc/dhcp-6.8.2
+type dhcp_data_file, file_type, data_file_type, core_data_file_type;
+# /data/server_configurable_flags
+type server_configurable_flags_data_file, file_type, data_file_type, core_data_file_type;
+# /data/app-staging
+type staging_data_file, file_type, data_file_type, core_data_file_type;
+# /vendor/apex
+type vendor_apex_file, vendor_file_type, file_type;
+# apex_manifest.pb in vendor apex
+type vendor_apex_metadata_file, vendor_file_type, file_type;
+# /data/system/shutdown-checkpoints
+type shutdown_checkpoints_system_data_file, file_type, data_file_type, core_data_file_type;
+
+# Mount locations managed by vold
+type mnt_media_rw_file, file_type;
+type mnt_user_file, file_type;
+type mnt_pass_through_file, file_type;
+type mnt_expand_file, file_type;
+type mnt_sdcard_file, file_type;
+type storage_file, file_type;
+
+# Label for storage dirs which are just mount stubs
+type mnt_media_rw_stub_file, file_type;
+type storage_stub_file, file_type;
+
+# Mount location for read-write vendor partitions.
+type mnt_vendor_file, file_type;
+
+# Mount location for read-write product partitions.
+type mnt_product_file, file_type;
+
+# Mount point used for APEX images
+type apex_mnt_dir, file_type;
+
+# /apex/apex-info-list.xml created by apexd
+type apex_info_file, file_type;
+
+# /postinstall: Mount point used by update_engine to run postinstall.
+type postinstall_mnt_dir, file_type;
+# Files inside the /postinstall mountpoint are all labeled as postinstall_file.
+type postinstall_file, file_type;
+# /postinstall/apex: Mount point used for APEX images within /postinstall.
+type postinstall_apex_mnt_dir, file_type;
+
+# /data_mirror: Contains mirror directory for storing all apps data.
+type mirror_data_file, file_type, core_data_file_type;
+
+# /data/misc subdirectories
+type adb_keys_file, file_type, data_file_type, core_data_file_type;
+type apex_system_server_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_module_data_file, file_type, data_file_type, core_data_file_type;
+type apex_ota_reserved_file, file_type, data_file_type, core_data_file_type;
+type apex_rollback_data_file, file_type, data_file_type, core_data_file_type;
+type appcompat_data_file, file_type, data_file_type, core_data_file_type;
+type audio_data_file, file_type, data_file_type, core_data_file_type;
+type audioserver_data_file, file_type, data_file_type, core_data_file_type;
+type bluetooth_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+type bluetooth_logs_data_file, file_type, data_file_type, core_data_file_type;
+type bootstat_data_file, file_type, data_file_type, core_data_file_type;
+type boottrace_data_file, file_type, data_file_type, core_data_file_type;
+type camera_data_file, file_type, data_file_type, core_data_file_type;
+type credstore_data_file, file_type, data_file_type, core_data_file_type;
+type gatekeeper_data_file, file_type, data_file_type, core_data_file_type;
+type incident_data_file, file_type, data_file_type, core_data_file_type;
+type keychain_data_file, file_type, data_file_type, core_data_file_type;
+type keystore_data_file, file_type, data_file_type, core_data_file_type;
+type media_data_file, file_type, data_file_type, core_data_file_type;
+type media_rw_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type media_userdir_file, file_type, data_file_type, core_data_file_type;
+type misc_user_data_file, file_type, data_file_type, core_data_file_type;
+type net_data_file, file_type, data_file_type, core_data_file_type;
+type network_watchlist_data_file, file_type, data_file_type, core_data_file_type;
+type nfc_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+type nfc_logs_data_file, file_type, data_file_type, core_data_file_type;
+type radio_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type, mlstrustedobject;
+type recovery_data_file, file_type, data_file_type, core_data_file_type;
+type shared_relro_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type snapshotctl_log_data_file, file_type, data_file_type, core_data_file_type;
+type stats_config_data_file, file_type, data_file_type, core_data_file_type;
+type stats_data_file, file_type, data_file_type, core_data_file_type;
+type systemkeys_data_file, file_type, data_file_type, core_data_file_type;
+type textclassifier_data_file, file_type, data_file_type, core_data_file_type;
+type trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type vpn_data_file, file_type, data_file_type, core_data_file_type;
+type wifi_data_file, file_type, data_file_type, core_data_file_type;
+type vold_data_file, file_type, data_file_type, core_data_file_type;
+type tee_data_file, file_type, data_file_type;
+type update_engine_data_file, file_type, data_file_type, core_data_file_type;
+type update_engine_log_data_file, file_type, data_file_type, core_data_file_type;
+type snapuserd_log_data_file, file_type, data_file_type, core_data_file_type;
+# /data/misc/trace for method traces on userdebug / eng builds
+type method_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type gsi_data_file, file_type, data_file_type, core_data_file_type;
+type radio_core_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/data subdirectories - app sandboxes
+type app_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# /data/data subdirectories - priv-app sandboxes
+type privapp_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# /data/data subdirectory for system UID apps.
+type system_app_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type, mlstrustedobject;
+# Compatibility with type name used in Android 4.3 and 4.4.
+# Default type for anything under /cache
+type cache_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for /cache/overlay /mnt/scratch/overlay
+type overlayfs_file, file_type, data_file_type, core_data_file_type;
+# Type for /cache/backup_stage/* (fd interchange with apps)
+type cache_backup_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# type for anything under /cache/backup (local transport storage)
+type cache_private_backup_file, file_type, data_file_type, core_data_file_type;
+# Type for anything under /cache/recovery
+type cache_recovery_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Default type for anything under /efs
+type efs_file, file_type;
+# Type for wallpaper file.
+type wallpaper_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for shortcut manager icon file.
+type shortcut_manager_icons, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for user icon file.
+type icon_file, file_type, data_file_type, core_data_file_type;
+# /mnt/asec
+type asec_apk_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Elements of asec files (/mnt/asec) that are world readable
+type asec_public_file, file_type, data_file_type, core_data_file_type;
+# /data/app-asec
+type asec_image_file, file_type, data_file_type, core_data_file_type;
+# /data/backup and /data/secure/backup
+type backup_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# All devices have bluetooth efs files. But they
+# vary per device, so this type is used in per
+# device policy
+type bluetooth_efs_file, file_type;
+# Type for fingerprint template file
+type fingerprintd_data_file, file_type, data_file_type, core_data_file_type;
+# Type for _new_ fingerprint template file
+type fingerprint_vendor_data_file, file_type, data_file_type;
+# Type for appfuse file.
+type app_fuse_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for face template file
+type face_vendor_data_file, file_type, data_file_type;
+# Type for iris template file
+type iris_vendor_data_file, file_type, data_file_type;
+
+# Socket types
+type adbd_socket, file_type, coredomain_socket;
+type bluetooth_socket, file_type, data_file_type, core_data_file_type, coredomain_socket;
+type dnsproxyd_socket, file_type, coredomain_socket, mlstrustedobject;
+type dumpstate_socket, file_type, coredomain_socket;
+type fwmarkd_socket, file_type, coredomain_socket, mlstrustedobject;
+type lmkd_socket, file_type, coredomain_socket;
+type logd_socket, file_type, coredomain_socket, mlstrustedobject;
+type logdr_socket, file_type, coredomain_socket, mlstrustedobject;
+type logdw_socket, file_type, coredomain_socket, mlstrustedobject;
+type mdns_socket, file_type, coredomain_socket;
+type mdnsd_socket, file_type, coredomain_socket, mlstrustedobject;
+type misc_logd_file, coredomain_socket, file_type, data_file_type, core_data_file_type;
+type mtpd_socket, file_type, coredomain_socket;
+type ot_daemon_socket, file_type, coredomain_socket;
+type property_socket, file_type, coredomain_socket, mlstrustedobject;
+type racoon_socket, file_type, coredomain_socket;
+type recovery_socket, file_type, coredomain_socket;
+type rild_socket, file_type;
+type rild_debug_socket, file_type;
+type snapuserd_socket, file_type, coredomain_socket;
+type snapuserd_proxy_socket, file_type, coredomain_socket;
+type statsdw_socket, file_type, coredomain_socket, mlstrustedobject;
+type system_wpa_socket, file_type, data_file_type, core_data_file_type, coredomain_socket;
+type system_ndebug_socket, file_type, data_file_type, core_data_file_type, coredomain_socket, mlstrustedobject;
+type system_unsolzygote_socket, file_type, data_file_type, core_data_file_type, coredomain_socket, mlstrustedobject;
+type tombstoned_crash_socket, file_type, coredomain_socket, mlstrustedobject;
+type tombstoned_java_trace_socket, file_type, mlstrustedobject;
+type tombstoned_intercept_socket, file_type, coredomain_socket;
+type traced_consumer_socket, file_type, coredomain_socket, mlstrustedobject;
+type traced_perf_socket, file_type, coredomain_socket, mlstrustedobject;
+type traced_producer_socket, file_type, coredomain_socket, mlstrustedobject;
+type uncrypt_socket, file_type, coredomain_socket;
+type wpa_socket, file_type, data_file_type, core_data_file_type;
+type zygote_socket, file_type, coredomain_socket;
+type heapprofd_socket, file_type, coredomain_socket, mlstrustedobject;
+# UART (for GPS) control proc file
+type gps_control, file_type;
+
+# PDX endpoint types
+type pdx_display_dir, pdx_endpoint_dir_type, file_type;
+type pdx_performance_dir, pdx_endpoint_dir_type, file_type;
+type pdx_bufferhub_dir, pdx_endpoint_dir_type, file_type;
+
+
+#line 608
+typeattribute pdx_display_dir pdx_display_client_endpoint_dir_type;
+#line 608
+type pdx_display_client_endpoint_socket, pdx_display_client_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+#line 608
+type pdx_display_client_channel_socket, pdx_display_client_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+#line 608
+
+#line 608
+
+
+#line 609
+typeattribute pdx_display_dir pdx_display_manager_endpoint_dir_type;
+#line 609
+type pdx_display_manager_endpoint_socket, pdx_display_manager_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+#line 609
+type pdx_display_manager_channel_socket, pdx_display_manager_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+#line 609
+
+#line 609
+
+
+#line 610
+typeattribute pdx_display_dir pdx_display_screenshot_endpoint_dir_type;
+#line 610
+type pdx_display_screenshot_endpoint_socket, pdx_display_screenshot_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+#line 610
+type pdx_display_screenshot_channel_socket, pdx_display_screenshot_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+#line 610
+
+#line 610
+
+
+#line 611
+typeattribute pdx_display_dir pdx_display_vsync_endpoint_dir_type;
+#line 611
+type pdx_display_vsync_endpoint_socket, pdx_display_vsync_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+#line 611
+type pdx_display_vsync_channel_socket, pdx_display_vsync_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+#line 611
+
+#line 611
+
+
+#line 612
+typeattribute pdx_performance_dir pdx_performance_client_endpoint_dir_type;
+#line 612
+type pdx_performance_client_endpoint_socket, pdx_performance_client_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+#line 612
+type pdx_performance_client_channel_socket, pdx_performance_client_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+#line 612
+
+#line 612
+
+
+#line 613
+typeattribute pdx_bufferhub_dir pdx_bufferhub_client_endpoint_dir_type;
+#line 613
+type pdx_bufferhub_client_endpoint_socket, pdx_bufferhub_client_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+#line 613
+type pdx_bufferhub_client_channel_socket, pdx_bufferhub_client_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+#line 613
+
+#line 613
+
+
+# file_contexts files
+type file_contexts_file, system_file_type, file_type;
+
+# mac_permissions file
+type mac_perms_file, system_file_type, file_type;
+
+# property_contexts file
+type property_contexts_file, system_file_type, file_type;
+
+# seapp_contexts file
+type seapp_contexts_file, system_file_type, file_type;
+
+# sepolicy files binary and others
+type sepolicy_file, system_file_type, file_type;
+
+# service_contexts file
+type service_contexts_file, system_file_type, file_type;
+
+# keystore2_key_contexts_file
+type keystore2_key_contexts_file, system_file_type, file_type;
+
+# vendor service_contexts file
+type vendor_service_contexts_file, vendor_file_type, file_type;
+
+# hwservice_contexts file
+type hwservice_contexts_file, system_file_type, file_type;
+
+# vndservice_contexts file
+type vndservice_contexts_file, file_type;
+
+# /sys/kernel/tracing/instances/bootreceiver for monitoring kernel memory corruptions.
+type debugfs_bootreceiver_tracing, fs_type, debugfs_type, tracefs_type;
+
+# kernel modules
+type vendor_kernel_modules, vendor_file_type, file_type;
+
+# system_dlkm
+type system_dlkm_file, system_dlkm_file_type, file_type;
+
+# asanwrapper (run a sanitized app_process, to be used with wrap properties)
+
+
+# Deprecated in SDK version 28
+type audiohal_data_file, file_type, data_file_type, core_data_file_type;
+
+
+#line 660
+    type sysfs_udc, fs_type, sysfs_type;
+#line 660
+    type tee_service_contexts_file, system_file_type, file_type;
+#line 663
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/fingerprintd.te"
+type fingerprintd, domain;
+type fingerprintd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/flags_health_check.te"
+# The flags_health_check command run by init.
+type flags_health_check, domain, coredomain;
+type flags_health_check_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/fsck.te"
+# Any fsck program run by init
+type fsck, domain;
+type fsck_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/fsck_untrusted.te"
+# Any fsck program run on untrusted block devices
+type fsck_untrusted, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/gatekeeperd.te"
+type gatekeeperd, domain;
+type gatekeeperd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/gmscore_app.te"
+###
+### A domain for further sandboxing the PrebuiltGMSCore app.
+###
+
+type gmscore_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/gpuservice.te"
+# gpuservice - server for gpu stats and other gpu related services
+type gpuservice, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/hal_graphics_composer.te"
+type hal_graphics_composer_server_tmpfs, file_type;
+attribute hal_graphics_composer_client_tmpfs;
+expandattribute hal_graphics_composer_client_tmpfs true;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/healthd.te"
+# healthd - battery/charger monitoring service daemon
+# healthd is removed. The type is kept for backwards compatibility.
+type healthd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/heapprofd.te"
+type heapprofd, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/hwservice.te"
+# hwservice types. By default most of the HALs are protected_hwservice, which means
+# access from untrusted apps is prohibited.
+type default_android_hwservice, hwservice_manager_type, protected_hwservice;
+type fwk_camera_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_display_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_scheduler_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_sensor_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_stats_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_automotive_display_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type hal_atrace_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_audio_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_audiocontrol_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_authsecret_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_bluetooth_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_bootctl_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_broadcastradio_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_camera_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_can_bus_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_can_controller_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_confirmationui_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_contexthub_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_dumpstate_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_evs_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_face_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_fingerprint_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_gatekeeper_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_gnss_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_graphics_composer_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_health_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_health_storage_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_input_classifier_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_ir_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_keymaster_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_light_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_lowpan_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_memtrack_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_nfc_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_oemlock_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_power_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_power_stats_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_secure_element_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_sensors_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_telephony_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tetheroffload_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_thermal_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tv_cec_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tv_input_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tv_tuner_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_usb_gadget_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_usb_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_vehicle_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_vibrator_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_vr_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_weaver_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_wifi_hostapd_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_wifi_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_wifi_supplicant_hwservice, hwservice_manager_type, protected_hwservice;
+type system_net_netd_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type system_suspend_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type system_wifi_keystore_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+
+# Following is the hwservices that are explicitly not marked with protected_hwservice.
+# These are directly accessible from untrusted apps.
+# - same process services: because they by definition run in the process
+#   of the client and thus have the same access as the client domain in which
+#   the process runs
+# - coredomain_hwservice: are considered safer than ordinary hwservices which
+#   are from vendor partition
+# - hal_configstore_ISurfaceFlingerConfigs:  becuase it has specifically been
+#   designed for use by any domain.
+# - hal_graphics_allocator_hwservice: because these operations are also offered
+#   by surfaceflinger Binder service, which apps are permitted to access
+# - hal_omx_hwservice: because this is a HwBinder version of the mediacodec
+#   Binder service which apps were permitted to access.
+# - hal_codec2_hwservice: because this is a newer version of hal_omx_hwservice.
+# - hal_drm_hwservice: versions > API 29 are designed specifically with
+#   untrusted app access in mind.
+type fwk_bufferhub_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hal_cas_hwservice, hwservice_manager_type;
+type hal_codec2_hwservice, hwservice_manager_type;
+type hal_configstore_ISurfaceFlingerConfigs, hwservice_manager_type;
+type hal_drm_hwservice, hwservice_manager_type;
+type hal_graphics_allocator_hwservice, hwservice_manager_type;
+type hal_graphics_mapper_hwservice, hwservice_manager_type, same_process_hwservice;
+type hal_neuralnetworks_hwservice, hwservice_manager_type;
+type hal_omx_hwservice, hwservice_manager_type;
+type hal_renderscript_hwservice, hwservice_manager_type, same_process_hwservice;
+type hidl_allocator_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hidl_base_hwservice, hwservice_manager_type;
+type hidl_manager_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hidl_memory_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hidl_token_hwservice, hwservice_manager_type, coredomain_hwservice;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/hwservicemanager.te"
+# hwservicemanager - the Binder context manager for HAL services
+type hwservicemanager, domain, mlstrustedsubject;
+type hwservicemanager_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/idmap.te"
+# idmap, when executed by installd
+type idmap, domain;
+type idmap_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/incident.te"
+# The incident command is used to call into the incidentd service to
+# take an incident report (binary, shared bugreport), download incident
+# reports that have already been taken, and monitor for new ones.
+# It doesn't do anything else.
+
+# incident
+type incident, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/incident_helper.te"
+# The incident_helper is called by incidentd and
+# can only read/write data from/to incidentd
+
+# incident_helper
+type incident_helper, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/incidentd.te"
+# incidentd
+type incidentd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/init.te"
+# init is its own domain.
+type init, domain, mlstrustedsubject;
+type init_exec, system_file_type, exec_type, file_type;
+type init_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/inputflinger.te"
+# inputflinger
+type inputflinger, domain;
+type inputflinger_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/installd.te"
+# installer daemon
+type installd, domain;
+type installd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/isolated_app.te"
+###
+### Services with isolatedProcess=true in their manifest.
+###
+### This file defines the rules for isolated apps. An "isolated
+### app" is an APP with UID between AID_ISOLATED_START (99000)
+### and AID_ISOLATED_END (99999).
+###
+
+type isolated_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/isolated_compute_app.te"
+type isolated_compute_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/kernel.te"
+# Life begins with the kernel.
+type kernel, domain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/keystore.te"
+# keystore daemon
+type keystore, domain, keystore2_key_type;
+type keystore_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/keystore_keys.te"
+# A keystore2 namespace for WI-FI.
+type wifi_key, keystore2_key_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/llkd.te"
+# llkd Live LocK Daemon
+type llkd, domain, mlstrustedsubject;
+type llkd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/lmkd.te"
+# lmkd low memory killer daemon
+type lmkd, domain, mlstrustedsubject;
+type lmkd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/logd.te"
+# android user-space log manager
+type logd, domain, mlstrustedsubject;
+type logd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/logpersist.te"
+# android debug logging, logpersist domains
+type logpersist, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mdnsd.te"
+# mdns daemon
+type mdnsd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediadrmserver.te"
+# mediadrmserver - mediadrm daemon
+type mediadrmserver, domain;
+type mediadrmserver_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediaextractor.te"
+# mediaextractor - multimedia daemon
+type mediaextractor, domain;
+type mediaextractor_exec, system_file_type, exec_type, file_type;
+type mediaextractor_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediametrics.te"
+# mediametrics - daemon for collecting media.metrics data
+type mediametrics, domain;
+type mediametrics_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediaprovider.te"
+###
+### A domain for android.process.media, which contains both
+### MediaProvider and DownloadProvider and associated services.
+###
+
+type mediaprovider, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediaserver.te"
+# mediaserver - multimedia daemon
+type mediaserver, domain;
+type mediaserver_exec, system_file_type, exec_type, file_type;
+type mediaserver_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediaswcodec.te"
+type mediaswcodec, domain;
+type mediaswcodec_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mediatranscoding.te"
+type mediatranscoding, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/modprobe.te"
+type modprobe, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/mtp.te"
+# vpn tunneling protocol manager
+type mtp, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/net.te"
+## Network types
+type node, node_type;
+type netif, netif_type;
+type port, port_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/netd.te"
+# network manager
+type netd, domain, mlstrustedsubject;
+type netd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/netutils_wrapper.te"
+type netutils_wrapper, domain;
+type netutils_wrapper_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/network_stack.te"
+# Network stack service app
+type network_stack, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/nfc.te"
+# nfc subsystem
+type nfc, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/otapreopt_chroot.te"
+# otapreopt_chroot seclabel
+
+# TODO: Only present to allow mediatek/wembley-sepolicy to see it for validation reasons.
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/perfetto.te"
+type perfetto, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/performanced.te"
+# performanced
+type performanced, domain, mlstrustedsubject;
+type performanced_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/platform_app.te"
+###
+### Apps signed with the platform key.
+###
+
+type platform_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/postinstall.te"
+# Domain where the postinstall program runs during the update.
+# Extend the permissions in this domain to allow this program to access other
+# files needed by the specific device on your device's sepolicy directory.
+type postinstall, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/ppp.te"
+# Point to Point Protocol daemon
+type ppp, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/priv_app.te"
+###
+### A domain for further sandboxing privileged apps.
+###
+
+type priv_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/prng_seeder.te"
+# PRNG seeder daemon
+type prng_seeder, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/profman.te"
+# profman
+type profman, domain;
+type profman_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/property.te"
+# Properties used only in /system
+#
+# DO NOT ADD system_internal_prop here.
+# Instead, add to private/property.te.
+# TODO(b/150331497): move these to private/property.te
+
+#line 6
+  
+#line 6
+  type apexd_prop, property_type, system_property_type, system_internal_property_type;
+#line 6
+
+#line 6
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 6
+
+#line 6
+    neverallow { domain -coredomain } apexd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+  
+#line 6
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 6
+
+#line 6
+
+
+#line 7
+  
+#line 7
+  type bootloader_boot_reason_prop, property_type, system_property_type, system_internal_property_type;
+#line 7
+
+#line 7
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 7
+
+#line 7
+    neverallow { domain -coredomain } bootloader_boot_reason_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+  
+#line 7
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 7
+
+#line 7
+
+
+#line 8
+  
+#line 8
+  type device_config_activity_manager_native_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 8
+
+#line 8
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 8
+
+#line 8
+    neverallow { domain -coredomain } device_config_activity_manager_native_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 8
+  
+#line 8
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 8
+
+#line 8
+
+
+#line 9
+  
+#line 9
+  type device_config_boot_count_prop, property_type, system_property_type, system_internal_property_type;
+#line 9
+
+#line 9
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 9
+
+#line 9
+    neverallow { domain -coredomain } device_config_boot_count_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 9
+  
+#line 9
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 9
+
+#line 9
+
+
+#line 10
+  
+#line 10
+  type device_config_input_native_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 10
+
+#line 10
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 10
+
+#line 10
+    neverallow { domain -coredomain } device_config_input_native_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 10
+  
+#line 10
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 10
+
+#line 10
+
+
+#line 11
+  
+#line 11
+  type device_config_netd_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 11
+
+#line 11
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 11
+
+#line 11
+    neverallow { domain -coredomain } device_config_netd_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 11
+  
+#line 11
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 11
+
+#line 11
+
+
+#line 12
+  
+#line 12
+  type device_config_reset_performed_prop, property_type, system_property_type, system_internal_property_type;
+#line 12
+
+#line 12
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 12
+
+#line 12
+    neverallow { domain -coredomain } device_config_reset_performed_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 12
+  
+#line 12
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 12
+
+#line 12
+
+
+#line 13
+  
+#line 13
+  type firstboot_prop, property_type, system_property_type, system_internal_property_type;
+#line 13
+
+#line 13
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 13
+
+#line 13
+    neverallow { domain -coredomain } firstboot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+  
+#line 13
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 13
+
+#line 13
+
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    # DO NOT ADD ANY PROPERTIES HERE
+#line 15
+    
+#line 15
+  
+#line 15
+  type boottime_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } boottime_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type charger_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } charger_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type cold_boot_done_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } cold_boot_done_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_adbd_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_adbd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_apexd_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_apexd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_bootanim_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_bootanim_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_bugreport_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_bugreport_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_console_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_console_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_dumpstate_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_dumpstate_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_fuse_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_fuse_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_gsid_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_gsid_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_interface_restart_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_interface_restart_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_interface_stop_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_interface_stop_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_mdnsd_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_mdnsd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_restart_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_restart_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_rildaemon_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_rildaemon_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type ctl_sigstop_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } ctl_sigstop_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type dynamic_system_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } dynamic_system_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type heapprofd_enabled_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } heapprofd_enabled_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type llkd_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } llkd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type lpdumpd_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } lpdumpd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type mmc_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } mmc_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type mock_ota_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } mock_ota_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type net_dns_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } net_dns_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type overlay_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } overlay_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type persistent_properties_ready_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } persistent_properties_ready_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type safemode_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } safemode_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type system_lmk_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } system_lmk_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type system_trace_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } system_trace_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type test_boot_reason_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } test_boot_reason_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type time_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } time_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type traced_enabled_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } traced_enabled_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+    
+#line 15
+  
+#line 15
+  type traced_lazy_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } traced_lazy_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+#line 15
+
+#line 15
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 50
+
+
+# Properties which can't be written outside system
+
+#line 53
+  
+#line 53
+  type aac_drc_prop, property_type, system_property_type, system_restricted_property_type;
+#line 53
+
+#line 53
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 53
+
+#line 53
+    neverallow { domain -coredomain } aac_drc_prop:property_service set;
+#line 53
+  
+#line 53
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 53
+
+#line 53
+
+
+#line 54
+  
+#line 54
+  type adaptive_haptics_prop, property_type, system_property_type, system_restricted_property_type;
+#line 54
+
+#line 54
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 54
+
+#line 54
+    neverallow { domain -coredomain } adaptive_haptics_prop:property_service set;
+#line 54
+  
+#line 54
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 54
+
+#line 54
+
+
+#line 55
+  
+#line 55
+  type apex_ready_prop, property_type, system_property_type, system_restricted_property_type;
+#line 55
+
+#line 55
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 55
+
+#line 55
+    neverallow { domain -coredomain } apex_ready_prop:property_service set;
+#line 55
+  
+#line 55
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 55
+
+#line 55
+
+
+#line 56
+  
+#line 56
+  type arm64_memtag_prop, property_type, system_property_type, system_restricted_property_type;
+#line 56
+
+#line 56
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 56
+
+#line 56
+    neverallow { domain -coredomain } arm64_memtag_prop:property_service set;
+#line 56
+  
+#line 56
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 56
+
+#line 56
+
+
+#line 57
+  
+#line 57
+  type binder_cache_bluetooth_server_prop, property_type, system_property_type, system_restricted_property_type;
+#line 57
+
+#line 57
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 57
+
+#line 57
+    neverallow { domain -coredomain } binder_cache_bluetooth_server_prop:property_service set;
+#line 57
+  
+#line 57
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 57
+
+#line 57
+
+
+#line 58
+  
+#line 58
+  type binder_cache_system_server_prop, property_type, system_property_type, system_restricted_property_type;
+#line 58
+
+#line 58
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 58
+
+#line 58
+    neverallow { domain -coredomain } binder_cache_system_server_prop:property_service set;
+#line 58
+  
+#line 58
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 58
+
+#line 58
+
+
+#line 59
+  
+#line 59
+  type binder_cache_telephony_server_prop, property_type, system_property_type, system_restricted_property_type;
+#line 59
+
+#line 59
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 59
+
+#line 59
+    neverallow { domain -coredomain } binder_cache_telephony_server_prop:property_service set;
+#line 59
+  
+#line 59
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 59
+
+#line 59
+
+
+#line 60
+  
+#line 60
+  type boot_status_prop, property_type, system_property_type, system_restricted_property_type;
+#line 60
+
+#line 60
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 60
+
+#line 60
+    neverallow { domain -coredomain } boot_status_prop:property_service set;
+#line 60
+  
+#line 60
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 60
+
+#line 60
+
+
+#line 61
+  
+#line 61
+  type bootanim_system_prop, property_type, system_property_type, system_restricted_property_type;
+#line 61
+
+#line 61
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 61
+
+#line 61
+    neverallow { domain -coredomain } bootanim_system_prop:property_service set;
+#line 61
+  
+#line 61
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 61
+
+#line 61
+
+
+#line 62
+  
+#line 62
+  type bootloader_prop, property_type, system_property_type, system_restricted_property_type;
+#line 62
+
+#line 62
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 62
+
+#line 62
+    neverallow { domain -coredomain } bootloader_prop:property_service set;
+#line 62
+  
+#line 62
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 62
+
+#line 62
+
+
+#line 63
+  
+#line 63
+  type boottime_public_prop, property_type, system_property_type, system_restricted_property_type;
+#line 63
+
+#line 63
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 63
+
+#line 63
+    neverallow { domain -coredomain } boottime_public_prop:property_service set;
+#line 63
+  
+#line 63
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 63
+
+#line 63
+
+
+#line 64
+  
+#line 64
+  type bq_config_prop, property_type, system_property_type, system_restricted_property_type;
+#line 64
+
+#line 64
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 64
+
+#line 64
+    neverallow { domain -coredomain } bq_config_prop:property_service set;
+#line 64
+  
+#line 64
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 64
+
+#line 64
+
+
+#line 65
+  
+#line 65
+  type build_bootimage_prop, property_type, system_property_type, system_restricted_property_type;
+#line 65
+
+#line 65
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 65
+
+#line 65
+    neverallow { domain -coredomain } build_bootimage_prop:property_service set;
+#line 65
+  
+#line 65
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 65
+
+#line 65
+
+
+#line 66
+  
+#line 66
+  type build_prop, property_type, system_property_type, system_restricted_property_type;
+#line 66
+
+#line 66
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 66
+
+#line 66
+    neverallow { domain -coredomain } build_prop:property_service set;
+#line 66
+  
+#line 66
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 66
+
+#line 66
+
+
+#line 67
+  
+#line 67
+  type composd_vm_art_prop, property_type, system_property_type, system_restricted_property_type;
+#line 67
+
+#line 67
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 67
+
+#line 67
+    neverallow { domain -coredomain } composd_vm_art_prop:property_service set;
+#line 67
+  
+#line 67
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 67
+
+#line 67
+
+
+#line 68
+  
+#line 68
+  type device_config_aconfig_flags_prop, property_type, system_property_type, system_restricted_property_type;
+#line 68
+
+#line 68
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 68
+
+#line 68
+    neverallow { domain -coredomain } device_config_aconfig_flags_prop:property_service set;
+#line 68
+  
+#line 68
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 68
+
+#line 68
+
+
+#line 69
+  
+#line 69
+  type device_config_camera_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 69
+
+#line 69
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 69
+
+#line 69
+    neverallow { domain -coredomain } device_config_camera_native_prop:property_service set;
+#line 69
+  
+#line 69
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 69
+
+#line 69
+
+
+#line 70
+  
+#line 70
+  type device_config_edgetpu_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 70
+
+#line 70
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 70
+
+#line 70
+    neverallow { domain -coredomain } device_config_edgetpu_native_prop:property_service set;
+#line 70
+  
+#line 70
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 70
+
+#line 70
+
+
+#line 71
+  
+#line 71
+  type device_config_media_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 71
+
+#line 71
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 71
+
+#line 71
+    neverallow { domain -coredomain } device_config_media_native_prop:property_service set;
+#line 71
+  
+#line 71
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 71
+
+#line 71
+
+
+#line 72
+  
+#line 72
+  type device_config_nnapi_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 72
+
+#line 72
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 72
+
+#line 72
+    neverallow { domain -coredomain } device_config_nnapi_native_prop:property_service set;
+#line 72
+  
+#line 72
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 72
+
+#line 72
+
+
+#line 73
+  
+#line 73
+  type device_config_runtime_native_boot_prop, property_type, system_property_type, system_restricted_property_type;
+#line 73
+
+#line 73
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 73
+
+#line 73
+    neverallow { domain -coredomain } device_config_runtime_native_boot_prop:property_service set;
+#line 73
+  
+#line 73
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 73
+
+#line 73
+
+
+#line 74
+  
+#line 74
+  type device_config_runtime_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 74
+
+#line 74
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 74
+
+#line 74
+    neverallow { domain -coredomain } device_config_runtime_native_prop:property_service set;
+#line 74
+  
+#line 74
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 74
+
+#line 74
+
+
+#line 75
+  
+#line 75
+  type device_config_surface_flinger_native_boot_prop, property_type, system_property_type, system_restricted_property_type;
+#line 75
+
+#line 75
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 75
+
+#line 75
+    neverallow { domain -coredomain } device_config_surface_flinger_native_boot_prop:property_service set;
+#line 75
+  
+#line 75
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 75
+
+#line 75
+
+
+#line 76
+  
+#line 76
+  type device_config_vendor_system_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 76
+
+#line 76
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 76
+
+#line 76
+    neverallow { domain -coredomain } device_config_vendor_system_native_prop:property_service set;
+#line 76
+  
+#line 76
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 76
+
+#line 76
+
+
+#line 77
+  
+#line 77
+  type device_config_vendor_system_native_boot_prop, property_type, system_property_type, system_restricted_property_type;
+#line 77
+
+#line 77
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 77
+
+#line 77
+    neverallow { domain -coredomain } device_config_vendor_system_native_boot_prop:property_service set;
+#line 77
+  
+#line 77
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 77
+
+#line 77
+
+
+#line 78
+  
+#line 78
+  type drm_forcel3_prop, property_type, system_property_type, system_restricted_property_type;
+#line 78
+
+#line 78
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 78
+
+#line 78
+    neverallow { domain -coredomain } drm_forcel3_prop:property_service set;
+#line 78
+  
+#line 78
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 78
+
+#line 78
+
+
+#line 79
+  
+#line 79
+  type fingerprint_prop, property_type, system_property_type, system_restricted_property_type;
+#line 79
+
+#line 79
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 79
+
+#line 79
+    neverallow { domain -coredomain } fingerprint_prop:property_service set;
+#line 79
+  
+#line 79
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 79
+
+#line 79
+
+
+#line 80
+  
+#line 80
+  type gwp_asan_prop, property_type, system_property_type, system_restricted_property_type;
+#line 80
+
+#line 80
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 80
+
+#line 80
+    neverallow { domain -coredomain } gwp_asan_prop:property_service set;
+#line 80
+  
+#line 80
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 80
+
+#line 80
+
+
+#line 81
+  
+#line 81
+  type hal_instrumentation_prop, property_type, system_property_type, system_restricted_property_type;
+#line 81
+
+#line 81
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 81
+
+#line 81
+    neverallow { domain -coredomain } hal_instrumentation_prop:property_service set;
+#line 81
+  
+#line 81
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 81
+
+#line 81
+
+
+#line 82
+  
+#line 82
+  type userdebug_or_eng_prop, property_type, system_property_type, system_restricted_property_type;
+#line 82
+
+#line 82
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 82
+
+#line 82
+    neverallow { domain -coredomain } userdebug_or_eng_prop:property_service set;
+#line 82
+  
+#line 82
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 82
+
+#line 82
+
+
+#line 83
+  
+#line 83
+  type init_service_status_prop, property_type, system_property_type, system_restricted_property_type;
+#line 83
+
+#line 83
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 83
+
+#line 83
+    neverallow { domain -coredomain } init_service_status_prop:property_service set;
+#line 83
+  
+#line 83
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 83
+
+#line 83
+
+
+#line 84
+  
+#line 84
+  type libc_debug_prop, property_type, system_property_type, system_restricted_property_type;
+#line 84
+
+#line 84
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 84
+
+#line 84
+    neverallow { domain -coredomain } libc_debug_prop:property_service set;
+#line 84
+  
+#line 84
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 84
+
+#line 84
+
+
+#line 85
+  
+#line 85
+  type module_sdkextensions_prop, property_type, system_property_type, system_restricted_property_type;
+#line 85
+
+#line 85
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 85
+
+#line 85
+    neverallow { domain -coredomain } module_sdkextensions_prop:property_service set;
+#line 85
+  
+#line 85
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 85
+
+#line 85
+
+
+#line 86
+  
+#line 86
+  type nnapi_ext_deny_product_prop, property_type, system_property_type, system_restricted_property_type;
+#line 86
+
+#line 86
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 86
+
+#line 86
+    neverallow { domain -coredomain } nnapi_ext_deny_product_prop:property_service set;
+#line 86
+  
+#line 86
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 86
+
+#line 86
+
+
+#line 87
+  
+#line 87
+  type persist_wm_debug_prop, property_type, system_property_type, system_restricted_property_type;
+#line 87
+
+#line 87
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 87
+
+#line 87
+    neverallow { domain -coredomain } persist_wm_debug_prop:property_service set;
+#line 87
+  
+#line 87
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 87
+
+#line 87
+
+
+#line 88
+  
+#line 88
+  type power_debug_prop, property_type, system_property_type, system_restricted_property_type;
+#line 88
+
+#line 88
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 88
+
+#line 88
+    neverallow { domain -coredomain } power_debug_prop:property_service set;
+#line 88
+  
+#line 88
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 88
+
+#line 88
+
+
+#line 89
+  
+#line 89
+  type property_service_version_prop, property_type, system_property_type, system_restricted_property_type;
+#line 89
+
+#line 89
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 89
+
+#line 89
+    neverallow { domain -coredomain } property_service_version_prop:property_service set;
+#line 89
+  
+#line 89
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 89
+
+#line 89
+
+
+#line 90
+  
+#line 90
+  type provisioned_prop, property_type, system_property_type, system_restricted_property_type;
+#line 90
+
+#line 90
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 90
+
+#line 90
+    neverallow { domain -coredomain } provisioned_prop:property_service set;
+#line 90
+  
+#line 90
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 90
+
+#line 90
+
+
+#line 91
+  
+#line 91
+  type restorecon_prop, property_type, system_property_type, system_restricted_property_type;
+#line 91
+
+#line 91
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 91
+
+#line 91
+    neverallow { domain -coredomain } restorecon_prop:property_service set;
+#line 91
+  
+#line 91
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 91
+
+#line 91
+
+
+#line 92
+  
+#line 92
+  type retaildemo_prop, property_type, system_property_type, system_restricted_property_type;
+#line 92
+
+#line 92
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 92
+
+#line 92
+    neverallow { domain -coredomain } retaildemo_prop:property_service set;
+#line 92
+  
+#line 92
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 92
+
+#line 92
+
+
+#line 93
+  
+#line 93
+  type servicemanager_prop, property_type, system_property_type, system_restricted_property_type;
+#line 93
+
+#line 93
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 93
+
+#line 93
+    neverallow { domain -coredomain } servicemanager_prop:property_service set;
+#line 93
+  
+#line 93
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 93
+
+#line 93
+
+
+#line 94
+  
+#line 94
+  type smart_idle_maint_enabled_prop, property_type, system_property_type, system_restricted_property_type;
+#line 94
+
+#line 94
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 94
+
+#line 94
+    neverallow { domain -coredomain } smart_idle_maint_enabled_prop:property_service set;
+#line 94
+  
+#line 94
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 94
+
+#line 94
+
+
+#line 95
+  
+#line 95
+  type socket_hook_prop, property_type, system_property_type, system_restricted_property_type;
+#line 95
+
+#line 95
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 95
+
+#line 95
+    neverallow { domain -coredomain } socket_hook_prop:property_service set;
+#line 95
+  
+#line 95
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 95
+
+#line 95
+
+
+#line 96
+  
+#line 96
+  type sqlite_log_prop, property_type, system_property_type, system_restricted_property_type;
+#line 96
+
+#line 96
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 96
+
+#line 96
+    neverallow { domain -coredomain } sqlite_log_prop:property_service set;
+#line 96
+  
+#line 96
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 96
+
+#line 96
+
+
+#line 97
+  
+#line 97
+  type surfaceflinger_display_prop, property_type, system_property_type, system_restricted_property_type;
+#line 97
+
+#line 97
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 97
+
+#line 97
+    neverallow { domain -coredomain } surfaceflinger_display_prop:property_service set;
+#line 97
+  
+#line 97
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 97
+
+#line 97
+
+
+#line 98
+  
+#line 98
+  type system_boot_reason_prop, property_type, system_property_type, system_restricted_property_type;
+#line 98
+
+#line 98
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 98
+
+#line 98
+    neverallow { domain -coredomain } system_boot_reason_prop:property_service set;
+#line 98
+  
+#line 98
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 98
+
+#line 98
+
+
+#line 99
+  
+#line 99
+  type system_jvmti_agent_prop, property_type, system_property_type, system_restricted_property_type;
+#line 99
+
+#line 99
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 99
+
+#line 99
+    neverallow { domain -coredomain } system_jvmti_agent_prop:property_service set;
+#line 99
+  
+#line 99
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 99
+
+#line 99
+
+
+#line 100
+  
+#line 100
+  type traced_oome_heap_session_count_prop, property_type, system_property_type, system_restricted_property_type;
+#line 100
+
+#line 100
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 100
+
+#line 100
+    neverallow { domain -coredomain } traced_oome_heap_session_count_prop:property_service set;
+#line 100
+  
+#line 100
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 100
+
+#line 100
+
+
+#line 101
+  
+#line 101
+  type ab_update_gki_prop, property_type, system_property_type, system_restricted_property_type;
+#line 101
+
+#line 101
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 101
+
+#line 101
+    neverallow { domain -coredomain } ab_update_gki_prop:property_service set;
+#line 101
+  
+#line 101
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 101
+
+#line 101
+
+
+#line 102
+  
+#line 102
+  type usb_prop, property_type, system_property_type, system_restricted_property_type;
+#line 102
+
+#line 102
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 102
+
+#line 102
+    neverallow { domain -coredomain } usb_prop:property_service set;
+#line 102
+  
+#line 102
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 102
+
+#line 102
+
+
+#line 103
+  
+#line 103
+  type userspace_reboot_exported_prop, property_type, system_property_type, system_restricted_property_type;
+#line 103
+
+#line 103
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 103
+
+#line 103
+    neverallow { domain -coredomain } userspace_reboot_exported_prop:property_service set;
+#line 103
+  
+#line 103
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 103
+
+#line 103
+
+
+#line 104
+  
+#line 104
+  type vold_status_prop, property_type, system_property_type, system_restricted_property_type;
+#line 104
+
+#line 104
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 104
+
+#line 104
+    neverallow { domain -coredomain } vold_status_prop:property_service set;
+#line 104
+  
+#line 104
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 104
+
+#line 104
+
+
+#line 105
+  
+#line 105
+  type vts_status_prop, property_type, system_property_type, system_restricted_property_type;
+#line 105
+
+#line 105
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 105
+
+#line 105
+    neverallow { domain -coredomain } vts_status_prop:property_service set;
+#line 105
+  
+#line 105
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 105
+
+#line 105
+
+
+
+#line 107
+    
+#line 107
+  
+#line 107
+  type enable_16k_pages_prop, property_type, system_property_type, system_restricted_property_type;
+#line 107
+
+#line 107
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 107
+
+#line 107
+    neverallow { domain -coredomain } enable_16k_pages_prop:property_service set;
+#line 107
+  
+#line 107
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 107
+
+#line 107
+
+#line 107
+    
+#line 107
+  
+#line 107
+  type profcollectd_etr_prop, property_type, system_property_type, system_restricted_property_type;
+#line 107
+
+#line 107
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 107
+
+#line 107
+    neverallow { domain -coredomain } profcollectd_etr_prop:property_service set;
+#line 107
+  
+#line 107
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 107
+
+#line 107
+
+#line 110
+
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    # DO NOT ADD ANY PROPERTIES HERE
+#line 112
+    
+#line 112
+  
+#line 112
+  type config_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } config_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type cppreopt_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } cppreopt_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type dalvik_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } dalvik_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type debuggerd_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } debuggerd_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type device_logging_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } device_logging_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type dhcp_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } dhcp_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type dumpstate_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } dumpstate_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type exported3_system_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } exported3_system_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type exported_dumpstate_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } exported_dumpstate_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type exported_secure_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } exported_secure_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type heapprofd_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } heapprofd_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type net_radio_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } net_radio_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type pan_result_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } pan_result_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type persist_debug_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } persist_debug_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type shell_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } shell_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type test_harness_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } test_harness_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type theme_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } theme_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type use_memfd_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } use_memfd_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+    
+#line 112
+  
+#line 112
+  type vold_prop, property_type, system_property_type, system_restricted_property_type;
+#line 112
+
+#line 112
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+    neverallow { domain -coredomain } vold_prop:property_service set;
+#line 112
+  
+#line 112
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+#line 112
+
+#line 112
+
+#line 112
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 133
+
+
+# Properties which can be written only by vendor_init
+
+#line 136
+  
+#line 136
+  type apexd_config_prop, property_type, system_property_type, system_public_property_type;
+#line 136
+
+#line 136
+  
+#line 136
+
+#line 136
+allow vendor_init property_socket:sock_file write;
+#line 136
+allow vendor_init init:unix_stream_socket connectto;
+#line 136
+
+#line 136
+allow vendor_init apexd_config_prop:property_service set;
+#line 136
+
+#line 136
+allow vendor_init apexd_config_prop:file { getattr open read map };
+#line 136
+
+#line 136
+
+#line 136
+  neverallow { domain -init -vendor_init } apexd_config_prop:property_service set;
+#line 136
+
+
+#line 137
+  
+#line 137
+  type apexd_select_prop, property_type, system_property_type, system_public_property_type;
+#line 137
+
+#line 137
+  
+#line 137
+
+#line 137
+allow vendor_init property_socket:sock_file write;
+#line 137
+allow vendor_init init:unix_stream_socket connectto;
+#line 137
+
+#line 137
+allow vendor_init apexd_select_prop:property_service set;
+#line 137
+
+#line 137
+allow vendor_init apexd_select_prop:file { getattr open read map };
+#line 137
+
+#line 137
+
+#line 137
+  neverallow { domain -init -vendor_init } apexd_select_prop:property_service set;
+#line 137
+
+
+#line 138
+  
+#line 138
+  type aaudio_config_prop, property_type, system_property_type, system_public_property_type;
+#line 138
+
+#line 138
+  
+#line 138
+
+#line 138
+allow vendor_init property_socket:sock_file write;
+#line 138
+allow vendor_init init:unix_stream_socket connectto;
+#line 138
+
+#line 138
+allow vendor_init aaudio_config_prop:property_service set;
+#line 138
+
+#line 138
+allow vendor_init aaudio_config_prop:file { getattr open read map };
+#line 138
+
+#line 138
+
+#line 138
+  neverallow { domain -init -vendor_init } aaudio_config_prop:property_service set;
+#line 138
+
+
+#line 139
+  
+#line 139
+  type apk_verity_prop, property_type, system_property_type, system_public_property_type;
+#line 139
+
+#line 139
+  
+#line 139
+
+#line 139
+allow vendor_init property_socket:sock_file write;
+#line 139
+allow vendor_init init:unix_stream_socket connectto;
+#line 139
+
+#line 139
+allow vendor_init apk_verity_prop:property_service set;
+#line 139
+
+#line 139
+allow vendor_init apk_verity_prop:file { getattr open read map };
+#line 139
+
+#line 139
+
+#line 139
+  neverallow { domain -init -vendor_init } apk_verity_prop:property_service set;
+#line 139
+
+
+#line 140
+  
+#line 140
+  type audio_config_prop, property_type, system_property_type, system_public_property_type;
+#line 140
+
+#line 140
+  
+#line 140
+
+#line 140
+allow vendor_init property_socket:sock_file write;
+#line 140
+allow vendor_init init:unix_stream_socket connectto;
+#line 140
+
+#line 140
+allow vendor_init audio_config_prop:property_service set;
+#line 140
+
+#line 140
+allow vendor_init audio_config_prop:file { getattr open read map };
+#line 140
+
+#line 140
+
+#line 140
+  neverallow { domain -init -vendor_init } audio_config_prop:property_service set;
+#line 140
+
+
+#line 141
+  
+#line 141
+  type bootanim_config_prop, property_type, system_property_type, system_public_property_type;
+#line 141
+
+#line 141
+  
+#line 141
+
+#line 141
+allow vendor_init property_socket:sock_file write;
+#line 141
+allow vendor_init init:unix_stream_socket connectto;
+#line 141
+
+#line 141
+allow vendor_init bootanim_config_prop:property_service set;
+#line 141
+
+#line 141
+allow vendor_init bootanim_config_prop:file { getattr open read map };
+#line 141
+
+#line 141
+
+#line 141
+  neverallow { domain -init -vendor_init } bootanim_config_prop:property_service set;
+#line 141
+
+
+#line 142
+  
+#line 142
+  type bluetooth_config_prop, property_type, system_property_type, system_public_property_type;
+#line 142
+
+#line 142
+  
+#line 142
+
+#line 142
+allow vendor_init property_socket:sock_file write;
+#line 142
+allow vendor_init init:unix_stream_socket connectto;
+#line 142
+
+#line 142
+allow vendor_init bluetooth_config_prop:property_service set;
+#line 142
+
+#line 142
+allow vendor_init bluetooth_config_prop:file { getattr open read map };
+#line 142
+
+#line 142
+
+#line 142
+  neverallow { domain -init -vendor_init } bluetooth_config_prop:property_service set;
+#line 142
+
+
+#line 143
+  
+#line 143
+  type build_attestation_prop, property_type, system_property_type, system_public_property_type;
+#line 143
+
+#line 143
+  
+#line 143
+
+#line 143
+allow vendor_init property_socket:sock_file write;
+#line 143
+allow vendor_init init:unix_stream_socket connectto;
+#line 143
+
+#line 143
+allow vendor_init build_attestation_prop:property_service set;
+#line 143
+
+#line 143
+allow vendor_init build_attestation_prop:file { getattr open read map };
+#line 143
+
+#line 143
+
+#line 143
+  neverallow { domain -init -vendor_init } build_attestation_prop:property_service set;
+#line 143
+
+
+#line 144
+  
+#line 144
+  type build_config_prop, property_type, system_property_type, system_public_property_type;
+#line 144
+
+#line 144
+  
+#line 144
+
+#line 144
+allow vendor_init property_socket:sock_file write;
+#line 144
+allow vendor_init init:unix_stream_socket connectto;
+#line 144
+
+#line 144
+allow vendor_init build_config_prop:property_service set;
+#line 144
+
+#line 144
+allow vendor_init build_config_prop:file { getattr open read map };
+#line 144
+
+#line 144
+
+#line 144
+  neverallow { domain -init -vendor_init } build_config_prop:property_service set;
+#line 144
+
+
+#line 145
+  
+#line 145
+  type build_odm_prop, property_type, system_property_type, system_public_property_type;
+#line 145
+
+#line 145
+  
+#line 145
+
+#line 145
+allow vendor_init property_socket:sock_file write;
+#line 145
+allow vendor_init init:unix_stream_socket connectto;
+#line 145
+
+#line 145
+allow vendor_init build_odm_prop:property_service set;
+#line 145
+
+#line 145
+allow vendor_init build_odm_prop:file { getattr open read map };
+#line 145
+
+#line 145
+
+#line 145
+  neverallow { domain -init -vendor_init } build_odm_prop:property_service set;
+#line 145
+
+
+#line 146
+  
+#line 146
+  type build_vendor_prop, property_type, system_property_type, system_public_property_type;
+#line 146
+
+#line 146
+  
+#line 146
+
+#line 146
+allow vendor_init property_socket:sock_file write;
+#line 146
+allow vendor_init init:unix_stream_socket connectto;
+#line 146
+
+#line 146
+allow vendor_init build_vendor_prop:property_service set;
+#line 146
+
+#line 146
+allow vendor_init build_vendor_prop:file { getattr open read map };
+#line 146
+
+#line 146
+
+#line 146
+  neverallow { domain -init -vendor_init } build_vendor_prop:property_service set;
+#line 146
+
+
+#line 147
+  
+#line 147
+  type camera_calibration_prop, property_type, system_property_type, system_public_property_type;
+#line 147
+
+#line 147
+  
+#line 147
+
+#line 147
+allow vendor_init property_socket:sock_file write;
+#line 147
+allow vendor_init init:unix_stream_socket connectto;
+#line 147
+
+#line 147
+allow vendor_init camera_calibration_prop:property_service set;
+#line 147
+
+#line 147
+allow vendor_init camera_calibration_prop:file { getattr open read map };
+#line 147
+
+#line 147
+
+#line 147
+  neverallow { domain -init -vendor_init } camera_calibration_prop:property_service set;
+#line 147
+
+
+#line 148
+  
+#line 148
+  type camera_config_prop, property_type, system_property_type, system_public_property_type;
+#line 148
+
+#line 148
+  
+#line 148
+
+#line 148
+allow vendor_init property_socket:sock_file write;
+#line 148
+allow vendor_init init:unix_stream_socket connectto;
+#line 148
+
+#line 148
+allow vendor_init camera_config_prop:property_service set;
+#line 148
+
+#line 148
+allow vendor_init camera_config_prop:file { getattr open read map };
+#line 148
+
+#line 148
+
+#line 148
+  neverallow { domain -init -vendor_init } camera_config_prop:property_service set;
+#line 148
+
+
+#line 149
+  
+#line 149
+  type camera2_extensions_prop, property_type, system_property_type, system_public_property_type;
+#line 149
+
+#line 149
+  
+#line 149
+
+#line 149
+allow vendor_init property_socket:sock_file write;
+#line 149
+allow vendor_init init:unix_stream_socket connectto;
+#line 149
+
+#line 149
+allow vendor_init camera2_extensions_prop:property_service set;
+#line 149
+
+#line 149
+allow vendor_init camera2_extensions_prop:file { getattr open read map };
+#line 149
+
+#line 149
+
+#line 149
+  neverallow { domain -init -vendor_init } camera2_extensions_prop:property_service set;
+#line 149
+
+
+#line 150
+  
+#line 150
+  type camerax_extensions_prop, property_type, system_property_type, system_public_property_type;
+#line 150
+
+#line 150
+  
+#line 150
+
+#line 150
+allow vendor_init property_socket:sock_file write;
+#line 150
+allow vendor_init init:unix_stream_socket connectto;
+#line 150
+
+#line 150
+allow vendor_init camerax_extensions_prop:property_service set;
+#line 150
+
+#line 150
+allow vendor_init camerax_extensions_prop:file { getattr open read map };
+#line 150
+
+#line 150
+
+#line 150
+  neverallow { domain -init -vendor_init } camerax_extensions_prop:property_service set;
+#line 150
+
+
+#line 151
+  
+#line 151
+  type charger_config_prop, property_type, system_property_type, system_public_property_type;
+#line 151
+
+#line 151
+  
+#line 151
+
+#line 151
+allow vendor_init property_socket:sock_file write;
+#line 151
+allow vendor_init init:unix_stream_socket connectto;
+#line 151
+
+#line 151
+allow vendor_init charger_config_prop:property_service set;
+#line 151
+
+#line 151
+allow vendor_init charger_config_prop:file { getattr open read map };
+#line 151
+
+#line 151
+
+#line 151
+  neverallow { domain -init -vendor_init } charger_config_prop:property_service set;
+#line 151
+
+
+#line 152
+  
+#line 152
+  type codec2_config_prop, property_type, system_property_type, system_public_property_type;
+#line 152
+
+#line 152
+  
+#line 152
+
+#line 152
+allow vendor_init property_socket:sock_file write;
+#line 152
+allow vendor_init init:unix_stream_socket connectto;
+#line 152
+
+#line 152
+allow vendor_init codec2_config_prop:property_service set;
+#line 152
+
+#line 152
+allow vendor_init codec2_config_prop:file { getattr open read map };
+#line 152
+
+#line 152
+
+#line 152
+  neverallow { domain -init -vendor_init } codec2_config_prop:property_service set;
+#line 152
+
+
+#line 153
+  
+#line 153
+  type composd_vm_vendor_prop, property_type, system_property_type, system_public_property_type;
+#line 153
+
+#line 153
+  
+#line 153
+
+#line 153
+allow vendor_init property_socket:sock_file write;
+#line 153
+allow vendor_init init:unix_stream_socket connectto;
+#line 153
+
+#line 153
+allow vendor_init composd_vm_vendor_prop:property_service set;
+#line 153
+
+#line 153
+allow vendor_init composd_vm_vendor_prop:file { getattr open read map };
+#line 153
+
+#line 153
+
+#line 153
+  neverallow { domain -init -vendor_init } composd_vm_vendor_prop:property_service set;
+#line 153
+
+
+#line 154
+  
+#line 154
+  type cpu_variant_prop, property_type, system_property_type, system_public_property_type;
+#line 154
+
+#line 154
+  
+#line 154
+
+#line 154
+allow vendor_init property_socket:sock_file write;
+#line 154
+allow vendor_init init:unix_stream_socket connectto;
+#line 154
+
+#line 154
+allow vendor_init cpu_variant_prop:property_service set;
+#line 154
+
+#line 154
+allow vendor_init cpu_variant_prop:file { getattr open read map };
+#line 154
+
+#line 154
+
+#line 154
+  neverallow { domain -init -vendor_init } cpu_variant_prop:property_service set;
+#line 154
+
+
+#line 155
+  
+#line 155
+  type debugfs_restriction_prop, property_type, system_property_type, system_public_property_type;
+#line 155
+
+#line 155
+  
+#line 155
+
+#line 155
+allow vendor_init property_socket:sock_file write;
+#line 155
+allow vendor_init init:unix_stream_socket connectto;
+#line 155
+
+#line 155
+allow vendor_init debugfs_restriction_prop:property_service set;
+#line 155
+
+#line 155
+allow vendor_init debugfs_restriction_prop:file { getattr open read map };
+#line 155
+
+#line 155
+
+#line 155
+  neverallow { domain -init -vendor_init } debugfs_restriction_prop:property_service set;
+#line 155
+
+
+#line 156
+    
+#line 156
+  
+#line 156
+  type drm_config_prop, property_type, system_property_type, system_public_property_type;
+#line 156
+
+#line 156
+  
+#line 156
+
+#line 156
+allow vendor_init property_socket:sock_file write;
+#line 156
+allow vendor_init init:unix_stream_socket connectto;
+#line 156
+
+#line 156
+allow vendor_init drm_config_prop:property_service set;
+#line 156
+
+#line 156
+allow vendor_init drm_config_prop:file { getattr open read map };
+#line 156
+
+#line 156
+
+#line 156
+  neverallow { domain -init -vendor_init } drm_config_prop:property_service set;
+#line 156
+
+#line 158
+
+
+#line 159
+  
+#line 159
+  type drm_service_config_prop, property_type, system_property_type, system_public_property_type;
+#line 159
+
+#line 159
+  
+#line 159
+
+#line 159
+allow vendor_init property_socket:sock_file write;
+#line 159
+allow vendor_init init:unix_stream_socket connectto;
+#line 159
+
+#line 159
+allow vendor_init drm_service_config_prop:property_service set;
+#line 159
+
+#line 159
+allow vendor_init drm_service_config_prop:file { getattr open read map };
+#line 159
+
+#line 159
+
+#line 159
+  neverallow { domain -init -vendor_init } drm_service_config_prop:property_service set;
+#line 159
+
+
+#line 160
+  
+#line 160
+  type exported_camera_prop, property_type, system_property_type, system_public_property_type;
+#line 160
+
+#line 160
+  
+#line 160
+
+#line 160
+allow vendor_init property_socket:sock_file write;
+#line 160
+allow vendor_init init:unix_stream_socket connectto;
+#line 160
+
+#line 160
+allow vendor_init exported_camera_prop:property_service set;
+#line 160
+
+#line 160
+allow vendor_init exported_camera_prop:file { getattr open read map };
+#line 160
+
+#line 160
+
+#line 160
+  neverallow { domain -init -vendor_init } exported_camera_prop:property_service set;
+#line 160
+
+
+#line 161
+  
+#line 161
+  type exported_config_prop, property_type, system_property_type, system_public_property_type;
+#line 161
+
+#line 161
+  
+#line 161
+
+#line 161
+allow vendor_init property_socket:sock_file write;
+#line 161
+allow vendor_init init:unix_stream_socket connectto;
+#line 161
+
+#line 161
+allow vendor_init exported_config_prop:property_service set;
+#line 161
+
+#line 161
+allow vendor_init exported_config_prop:file { getattr open read map };
+#line 161
+
+#line 161
+
+#line 161
+  neverallow { domain -init -vendor_init } exported_config_prop:property_service set;
+#line 161
+
+
+#line 162
+  
+#line 162
+  type exported_default_prop, property_type, system_property_type, system_public_property_type;
+#line 162
+
+#line 162
+  
+#line 162
+
+#line 162
+allow vendor_init property_socket:sock_file write;
+#line 162
+allow vendor_init init:unix_stream_socket connectto;
+#line 162
+
+#line 162
+allow vendor_init exported_default_prop:property_service set;
+#line 162
+
+#line 162
+allow vendor_init exported_default_prop:file { getattr open read map };
+#line 162
+
+#line 162
+
+#line 162
+  neverallow { domain -init -vendor_init } exported_default_prop:property_service set;
+#line 162
+
+
+#line 163
+  
+#line 163
+  type ffs_config_prop, property_type, system_property_type, system_public_property_type;
+#line 163
+
+#line 163
+  
+#line 163
+
+#line 163
+allow vendor_init property_socket:sock_file write;
+#line 163
+allow vendor_init init:unix_stream_socket connectto;
+#line 163
+
+#line 163
+allow vendor_init ffs_config_prop:property_service set;
+#line 163
+
+#line 163
+allow vendor_init ffs_config_prop:file { getattr open read map };
+#line 163
+
+#line 163
+
+#line 163
+  neverallow { domain -init -vendor_init } ffs_config_prop:property_service set;
+#line 163
+
+
+#line 164
+  
+#line 164
+  type framework_watchdog_config_prop, property_type, system_property_type, system_public_property_type;
+#line 164
+
+#line 164
+  
+#line 164
+
+#line 164
+allow vendor_init property_socket:sock_file write;
+#line 164
+allow vendor_init init:unix_stream_socket connectto;
+#line 164
+
+#line 164
+allow vendor_init framework_watchdog_config_prop:property_service set;
+#line 164
+
+#line 164
+allow vendor_init framework_watchdog_config_prop:file { getattr open read map };
+#line 164
+
+#line 164
+
+#line 164
+  neverallow { domain -init -vendor_init } framework_watchdog_config_prop:property_service set;
+#line 164
+
+
+#line 165
+  
+#line 165
+  type graphics_config_prop, property_type, system_property_type, system_public_property_type;
+#line 165
+
+#line 165
+  
+#line 165
+
+#line 165
+allow vendor_init property_socket:sock_file write;
+#line 165
+allow vendor_init init:unix_stream_socket connectto;
+#line 165
+
+#line 165
+allow vendor_init graphics_config_prop:property_service set;
+#line 165
+
+#line 165
+allow vendor_init graphics_config_prop:file { getattr open read map };
+#line 165
+
+#line 165
+
+#line 165
+  neverallow { domain -init -vendor_init } graphics_config_prop:property_service set;
+#line 165
+
+
+#line 166
+  
+#line 166
+  type hdmi_config_prop, property_type, system_property_type, system_public_property_type;
+#line 166
+
+#line 166
+  
+#line 166
+
+#line 166
+allow vendor_init property_socket:sock_file write;
+#line 166
+allow vendor_init init:unix_stream_socket connectto;
+#line 166
+
+#line 166
+allow vendor_init hdmi_config_prop:property_service set;
+#line 166
+
+#line 166
+allow vendor_init hdmi_config_prop:file { getattr open read map };
+#line 166
+
+#line 166
+
+#line 166
+  neverallow { domain -init -vendor_init } hdmi_config_prop:property_service set;
+#line 166
+
+
+#line 167
+  
+#line 167
+  type hw_timeout_multiplier_prop, property_type, system_property_type, system_public_property_type;
+#line 167
+
+#line 167
+  
+#line 167
+
+#line 167
+allow vendor_init property_socket:sock_file write;
+#line 167
+allow vendor_init init:unix_stream_socket connectto;
+#line 167
+
+#line 167
+allow vendor_init hw_timeout_multiplier_prop:property_service set;
+#line 167
+
+#line 167
+allow vendor_init hw_timeout_multiplier_prop:file { getattr open read map };
+#line 167
+
+#line 167
+
+#line 167
+  neverallow { domain -init -vendor_init } hw_timeout_multiplier_prop:property_service set;
+#line 167
+
+
+#line 168
+  
+#line 168
+  type hypervisor_prop, property_type, system_property_type, system_public_property_type;
+#line 168
+
+#line 168
+  
+#line 168
+
+#line 168
+allow vendor_init property_socket:sock_file write;
+#line 168
+allow vendor_init init:unix_stream_socket connectto;
+#line 168
+
+#line 168
+allow vendor_init hypervisor_prop:property_service set;
+#line 168
+
+#line 168
+allow vendor_init hypervisor_prop:file { getattr open read map };
+#line 168
+
+#line 168
+
+#line 168
+  neverallow { domain -init -vendor_init } hypervisor_prop:property_service set;
+#line 168
+
+
+#line 169
+  
+#line 169
+  type hypervisor_restricted_prop, property_type, system_property_type, system_public_property_type;
+#line 169
+
+#line 169
+  
+#line 169
+
+#line 169
+allow vendor_init property_socket:sock_file write;
+#line 169
+allow vendor_init init:unix_stream_socket connectto;
+#line 169
+
+#line 169
+allow vendor_init hypervisor_restricted_prop:property_service set;
+#line 169
+
+#line 169
+allow vendor_init hypervisor_restricted_prop:file { getattr open read map };
+#line 169
+
+#line 169
+
+#line 169
+  neverallow { domain -init -vendor_init } hypervisor_restricted_prop:property_service set;
+#line 169
+
+
+#line 170
+  
+#line 170
+  type incremental_prop, property_type, system_property_type, system_public_property_type;
+#line 170
+
+#line 170
+  
+#line 170
+
+#line 170
+allow vendor_init property_socket:sock_file write;
+#line 170
+allow vendor_init init:unix_stream_socket connectto;
+#line 170
+
+#line 170
+allow vendor_init incremental_prop:property_service set;
+#line 170
+
+#line 170
+allow vendor_init incremental_prop:file { getattr open read map };
+#line 170
+
+#line 170
+
+#line 170
+  neverallow { domain -init -vendor_init } incremental_prop:property_service set;
+#line 170
+
+
+#line 171
+  
+#line 171
+  type input_device_config_prop, property_type, system_property_type, system_public_property_type;
+#line 171
+
+#line 171
+  
+#line 171
+
+#line 171
+allow vendor_init property_socket:sock_file write;
+#line 171
+allow vendor_init init:unix_stream_socket connectto;
+#line 171
+
+#line 171
+allow vendor_init input_device_config_prop:property_service set;
+#line 171
+
+#line 171
+allow vendor_init input_device_config_prop:file { getattr open read map };
+#line 171
+
+#line 171
+
+#line 171
+  neverallow { domain -init -vendor_init } input_device_config_prop:property_service set;
+#line 171
+
+
+#line 172
+  
+#line 172
+  type keyguard_config_prop, property_type, system_property_type, system_public_property_type;
+#line 172
+
+#line 172
+  
+#line 172
+
+#line 172
+allow vendor_init property_socket:sock_file write;
+#line 172
+allow vendor_init init:unix_stream_socket connectto;
+#line 172
+
+#line 172
+allow vendor_init keyguard_config_prop:property_service set;
+#line 172
+
+#line 172
+allow vendor_init keyguard_config_prop:file { getattr open read map };
+#line 172
+
+#line 172
+
+#line 172
+  neverallow { domain -init -vendor_init } keyguard_config_prop:property_service set;
+#line 172
+
+
+#line 173
+  
+#line 173
+  type keystore_config_prop, property_type, system_property_type, system_public_property_type;
+#line 173
+
+#line 173
+  
+#line 173
+
+#line 173
+allow vendor_init property_socket:sock_file write;
+#line 173
+allow vendor_init init:unix_stream_socket connectto;
+#line 173
+
+#line 173
+allow vendor_init keystore_config_prop:property_service set;
+#line 173
+
+#line 173
+allow vendor_init keystore_config_prop:file { getattr open read map };
+#line 173
+
+#line 173
+
+#line 173
+  neverallow { domain -init -vendor_init } keystore_config_prop:property_service set;
+#line 173
+
+
+#line 174
+  
+#line 174
+  type lmkd_config_prop, property_type, system_property_type, system_public_property_type;
+#line 174
+
+#line 174
+  
+#line 174
+
+#line 174
+allow vendor_init property_socket:sock_file write;
+#line 174
+allow vendor_init init:unix_stream_socket connectto;
+#line 174
+
+#line 174
+allow vendor_init lmkd_config_prop:property_service set;
+#line 174
+
+#line 174
+allow vendor_init lmkd_config_prop:file { getattr open read map };
+#line 174
+
+#line 174
+
+#line 174
+  neverallow { domain -init -vendor_init } lmkd_config_prop:property_service set;
+#line 174
+
+
+#line 175
+  
+#line 175
+  type media_config_prop, property_type, system_property_type, system_public_property_type;
+#line 175
+
+#line 175
+  
+#line 175
+
+#line 175
+allow vendor_init property_socket:sock_file write;
+#line 175
+allow vendor_init init:unix_stream_socket connectto;
+#line 175
+
+#line 175
+allow vendor_init media_config_prop:property_service set;
+#line 175
+
+#line 175
+allow vendor_init media_config_prop:file { getattr open read map };
+#line 175
+
+#line 175
+
+#line 175
+  neverallow { domain -init -vendor_init } media_config_prop:property_service set;
+#line 175
+
+
+#line 176
+  
+#line 176
+  type media_variant_prop, property_type, system_property_type, system_public_property_type;
+#line 176
+
+#line 176
+  
+#line 176
+
+#line 176
+allow vendor_init property_socket:sock_file write;
+#line 176
+allow vendor_init init:unix_stream_socket connectto;
+#line 176
+
+#line 176
+allow vendor_init media_variant_prop:property_service set;
+#line 176
+
+#line 176
+allow vendor_init media_variant_prop:file { getattr open read map };
+#line 176
+
+#line 176
+
+#line 176
+  neverallow { domain -init -vendor_init } media_variant_prop:property_service set;
+#line 176
+
+
+#line 177
+  
+#line 177
+  type mediadrm_config_prop, property_type, system_property_type, system_public_property_type;
+#line 177
+
+#line 177
+  
+#line 177
+
+#line 177
+allow vendor_init property_socket:sock_file write;
+#line 177
+allow vendor_init init:unix_stream_socket connectto;
+#line 177
+
+#line 177
+allow vendor_init mediadrm_config_prop:property_service set;
+#line 177
+
+#line 177
+allow vendor_init mediadrm_config_prop:file { getattr open read map };
+#line 177
+
+#line 177
+
+#line 177
+  neverallow { domain -init -vendor_init } mediadrm_config_prop:property_service set;
+#line 177
+
+
+#line 178
+  
+#line 178
+  type mm_events_config_prop, property_type, system_property_type, system_public_property_type;
+#line 178
+
+#line 178
+  
+#line 178
+
+#line 178
+allow vendor_init property_socket:sock_file write;
+#line 178
+allow vendor_init init:unix_stream_socket connectto;
+#line 178
+
+#line 178
+allow vendor_init mm_events_config_prop:property_service set;
+#line 178
+
+#line 178
+allow vendor_init mm_events_config_prop:file { getattr open read map };
+#line 178
+
+#line 178
+
+#line 178
+  neverallow { domain -init -vendor_init } mm_events_config_prop:property_service set;
+#line 178
+
+
+#line 179
+  
+#line 179
+  type oem_unlock_prop, property_type, system_property_type, system_public_property_type;
+#line 179
+
+#line 179
+  
+#line 179
+
+#line 179
+allow vendor_init property_socket:sock_file write;
+#line 179
+allow vendor_init init:unix_stream_socket connectto;
+#line 179
+
+#line 179
+allow vendor_init oem_unlock_prop:property_service set;
+#line 179
+
+#line 179
+allow vendor_init oem_unlock_prop:file { getattr open read map };
+#line 179
+
+#line 179
+
+#line 179
+  neverallow { domain -init -vendor_init } oem_unlock_prop:property_service set;
+#line 179
+
+
+#line 180
+  
+#line 180
+  type ota_build_prop, property_type, system_property_type, system_public_property_type;
+#line 180
+
+#line 180
+  
+#line 180
+
+#line 180
+allow vendor_init property_socket:sock_file write;
+#line 180
+allow vendor_init init:unix_stream_socket connectto;
+#line 180
+
+#line 180
+allow vendor_init ota_build_prop:property_service set;
+#line 180
+
+#line 180
+allow vendor_init ota_build_prop:file { getattr open read map };
+#line 180
+
+#line 180
+
+#line 180
+  neverallow { domain -init -vendor_init } ota_build_prop:property_service set;
+#line 180
+
+
+#line 181
+  
+#line 181
+  type packagemanager_config_prop, property_type, system_property_type, system_public_property_type;
+#line 181
+
+#line 181
+  
+#line 181
+
+#line 181
+allow vendor_init property_socket:sock_file write;
+#line 181
+allow vendor_init init:unix_stream_socket connectto;
+#line 181
+
+#line 181
+allow vendor_init packagemanager_config_prop:property_service set;
+#line 181
+
+#line 181
+allow vendor_init packagemanager_config_prop:file { getattr open read map };
+#line 181
+
+#line 181
+
+#line 181
+  neverallow { domain -init -vendor_init } packagemanager_config_prop:property_service set;
+#line 181
+
+
+#line 182
+  
+#line 182
+  type quick_start_prop, property_type, system_property_type, system_public_property_type;
+#line 182
+
+#line 182
+  
+#line 182
+
+#line 182
+allow vendor_init property_socket:sock_file write;
+#line 182
+allow vendor_init init:unix_stream_socket connectto;
+#line 182
+
+#line 182
+allow vendor_init quick_start_prop:property_service set;
+#line 182
+
+#line 182
+allow vendor_init quick_start_prop:file { getattr open read map };
+#line 182
+
+#line 182
+
+#line 182
+  neverallow { domain -init -vendor_init } quick_start_prop:property_service set;
+#line 182
+
+
+#line 183
+  
+#line 183
+  type recovery_config_prop, property_type, system_property_type, system_public_property_type;
+#line 183
+
+#line 183
+  
+#line 183
+
+#line 183
+allow vendor_init property_socket:sock_file write;
+#line 183
+allow vendor_init init:unix_stream_socket connectto;
+#line 183
+
+#line 183
+allow vendor_init recovery_config_prop:property_service set;
+#line 183
+
+#line 183
+allow vendor_init recovery_config_prop:file { getattr open read map };
+#line 183
+
+#line 183
+
+#line 183
+  neverallow { domain -init -vendor_init } recovery_config_prop:property_service set;
+#line 183
+
+
+#line 184
+  
+#line 184
+  type recovery_usb_config_prop, property_type, system_property_type, system_public_property_type;
+#line 184
+
+#line 184
+  
+#line 184
+
+#line 184
+allow vendor_init property_socket:sock_file write;
+#line 184
+allow vendor_init init:unix_stream_socket connectto;
+#line 184
+
+#line 184
+allow vendor_init recovery_usb_config_prop:property_service set;
+#line 184
+
+#line 184
+allow vendor_init recovery_usb_config_prop:file { getattr open read map };
+#line 184
+
+#line 184
+
+#line 184
+  neverallow { domain -init -vendor_init } recovery_usb_config_prop:property_service set;
+#line 184
+
+
+#line 185
+  
+#line 185
+  type sendbug_config_prop, property_type, system_property_type, system_public_property_type;
+#line 185
+
+#line 185
+  
+#line 185
+
+#line 185
+allow vendor_init property_socket:sock_file write;
+#line 185
+allow vendor_init init:unix_stream_socket connectto;
+#line 185
+
+#line 185
+allow vendor_init sendbug_config_prop:property_service set;
+#line 185
+
+#line 185
+allow vendor_init sendbug_config_prop:file { getattr open read map };
+#line 185
+
+#line 185
+
+#line 185
+  neverallow { domain -init -vendor_init } sendbug_config_prop:property_service set;
+#line 185
+
+
+#line 186
+  
+#line 186
+  type soc_prop, property_type, system_property_type, system_public_property_type;
+#line 186
+
+#line 186
+  
+#line 186
+
+#line 186
+allow vendor_init property_socket:sock_file write;
+#line 186
+allow vendor_init init:unix_stream_socket connectto;
+#line 186
+
+#line 186
+allow vendor_init soc_prop:property_service set;
+#line 186
+
+#line 186
+allow vendor_init soc_prop:file { getattr open read map };
+#line 186
+
+#line 186
+
+#line 186
+  neverallow { domain -init -vendor_init } soc_prop:property_service set;
+#line 186
+
+
+#line 187
+  
+#line 187
+  type storage_config_prop, property_type, system_property_type, system_public_property_type;
+#line 187
+
+#line 187
+  
+#line 187
+
+#line 187
+allow vendor_init property_socket:sock_file write;
+#line 187
+allow vendor_init init:unix_stream_socket connectto;
+#line 187
+
+#line 187
+allow vendor_init storage_config_prop:property_service set;
+#line 187
+
+#line 187
+allow vendor_init storage_config_prop:file { getattr open read map };
+#line 187
+
+#line 187
+
+#line 187
+  neverallow { domain -init -vendor_init } storage_config_prop:property_service set;
+#line 187
+
+
+#line 188
+  
+#line 188
+  type storagemanager_config_prop, property_type, system_property_type, system_public_property_type;
+#line 188
+
+#line 188
+  
+#line 188
+
+#line 188
+allow vendor_init property_socket:sock_file write;
+#line 188
+allow vendor_init init:unix_stream_socket connectto;
+#line 188
+
+#line 188
+allow vendor_init storagemanager_config_prop:property_service set;
+#line 188
+
+#line 188
+allow vendor_init storagemanager_config_prop:file { getattr open read map };
+#line 188
+
+#line 188
+
+#line 188
+  neverallow { domain -init -vendor_init } storagemanager_config_prop:property_service set;
+#line 188
+
+
+#line 189
+  
+#line 189
+  type surfaceflinger_prop, property_type, system_property_type, system_public_property_type;
+#line 189
+
+#line 189
+  
+#line 189
+
+#line 189
+allow vendor_init property_socket:sock_file write;
+#line 189
+allow vendor_init init:unix_stream_socket connectto;
+#line 189
+
+#line 189
+allow vendor_init surfaceflinger_prop:property_service set;
+#line 189
+
+#line 189
+allow vendor_init surfaceflinger_prop:file { getattr open read map };
+#line 189
+
+#line 189
+
+#line 189
+  neverallow { domain -init -vendor_init } surfaceflinger_prop:property_service set;
+#line 189
+
+
+#line 190
+  
+#line 190
+  type suspend_prop, property_type, system_property_type, system_public_property_type;
+#line 190
+
+#line 190
+  
+#line 190
+
+#line 190
+allow vendor_init property_socket:sock_file write;
+#line 190
+allow vendor_init init:unix_stream_socket connectto;
+#line 190
+
+#line 190
+allow vendor_init suspend_prop:property_service set;
+#line 190
+
+#line 190
+allow vendor_init suspend_prop:file { getattr open read map };
+#line 190
+
+#line 190
+
+#line 190
+  neverallow { domain -init -vendor_init } suspend_prop:property_service set;
+#line 190
+
+
+#line 191
+  
+#line 191
+  type systemsound_config_prop, property_type, system_property_type, system_public_property_type;
+#line 191
+
+#line 191
+  
+#line 191
+
+#line 191
+allow vendor_init property_socket:sock_file write;
+#line 191
+allow vendor_init init:unix_stream_socket connectto;
+#line 191
+
+#line 191
+allow vendor_init systemsound_config_prop:property_service set;
+#line 191
+
+#line 191
+allow vendor_init systemsound_config_prop:file { getattr open read map };
+#line 191
+
+#line 191
+
+#line 191
+  neverallow { domain -init -vendor_init } systemsound_config_prop:property_service set;
+#line 191
+
+
+#line 192
+  
+#line 192
+  type telephony_config_prop, property_type, system_property_type, system_public_property_type;
+#line 192
+
+#line 192
+  
+#line 192
+
+#line 192
+allow vendor_init property_socket:sock_file write;
+#line 192
+allow vendor_init init:unix_stream_socket connectto;
+#line 192
+
+#line 192
+allow vendor_init telephony_config_prop:property_service set;
+#line 192
+
+#line 192
+allow vendor_init telephony_config_prop:file { getattr open read map };
+#line 192
+
+#line 192
+
+#line 192
+  neverallow { domain -init -vendor_init } telephony_config_prop:property_service set;
+#line 192
+
+
+#line 193
+  
+#line 193
+  type threadnetwork_config_prop, property_type, system_property_type, system_public_property_type;
+#line 193
+
+#line 193
+  
+#line 193
+
+#line 193
+allow vendor_init property_socket:sock_file write;
+#line 193
+allow vendor_init init:unix_stream_socket connectto;
+#line 193
+
+#line 193
+allow vendor_init threadnetwork_config_prop:property_service set;
+#line 193
+
+#line 193
+allow vendor_init threadnetwork_config_prop:file { getattr open read map };
+#line 193
+
+#line 193
+
+#line 193
+  neverallow { domain -init -vendor_init } threadnetwork_config_prop:property_service set;
+#line 193
+
+
+#line 194
+  
+#line 194
+  type tombstone_config_prop, property_type, system_property_type, system_public_property_type;
+#line 194
+
+#line 194
+  
+#line 194
+
+#line 194
+allow vendor_init property_socket:sock_file write;
+#line 194
+allow vendor_init init:unix_stream_socket connectto;
+#line 194
+
+#line 194
+allow vendor_init tombstone_config_prop:property_service set;
+#line 194
+
+#line 194
+allow vendor_init tombstone_config_prop:file { getattr open read map };
+#line 194
+
+#line 194
+
+#line 194
+  neverallow { domain -init -vendor_init } tombstone_config_prop:property_service set;
+#line 194
+
+
+#line 195
+  
+#line 195
+  type usb_config_prop, property_type, system_property_type, system_public_property_type;
+#line 195
+
+#line 195
+  
+#line 195
+
+#line 195
+allow vendor_init property_socket:sock_file write;
+#line 195
+allow vendor_init init:unix_stream_socket connectto;
+#line 195
+
+#line 195
+allow vendor_init usb_config_prop:property_service set;
+#line 195
+
+#line 195
+allow vendor_init usb_config_prop:file { getattr open read map };
+#line 195
+
+#line 195
+
+#line 195
+  neverallow { domain -init -vendor_init } usb_config_prop:property_service set;
+#line 195
+
+
+#line 196
+  
+#line 196
+  type userspace_reboot_config_prop, property_type, system_property_type, system_public_property_type;
+#line 196
+
+#line 196
+  
+#line 196
+
+#line 196
+allow vendor_init property_socket:sock_file write;
+#line 196
+allow vendor_init init:unix_stream_socket connectto;
+#line 196
+
+#line 196
+allow vendor_init userspace_reboot_config_prop:property_service set;
+#line 196
+
+#line 196
+allow vendor_init userspace_reboot_config_prop:file { getattr open read map };
+#line 196
+
+#line 196
+
+#line 196
+  neverallow { domain -init -vendor_init } userspace_reboot_config_prop:property_service set;
+#line 196
+
+
+#line 197
+  
+#line 197
+  type vehicle_hal_prop, property_type, system_property_type, system_public_property_type;
+#line 197
+
+#line 197
+  
+#line 197
+
+#line 197
+allow vendor_init property_socket:sock_file write;
+#line 197
+allow vendor_init init:unix_stream_socket connectto;
+#line 197
+
+#line 197
+allow vendor_init vehicle_hal_prop:property_service set;
+#line 197
+
+#line 197
+allow vendor_init vehicle_hal_prop:file { getattr open read map };
+#line 197
+
+#line 197
+
+#line 197
+  neverallow { domain -init -vendor_init } vehicle_hal_prop:property_service set;
+#line 197
+
+
+#line 198
+  
+#line 198
+  type vendor_security_patch_level_prop, property_type, system_property_type, system_public_property_type;
+#line 198
+
+#line 198
+  
+#line 198
+
+#line 198
+allow vendor_init property_socket:sock_file write;
+#line 198
+allow vendor_init init:unix_stream_socket connectto;
+#line 198
+
+#line 198
+allow vendor_init vendor_security_patch_level_prop:property_service set;
+#line 198
+
+#line 198
+allow vendor_init vendor_security_patch_level_prop:file { getattr open read map };
+#line 198
+
+#line 198
+
+#line 198
+  neverallow { domain -init -vendor_init } vendor_security_patch_level_prop:property_service set;
+#line 198
+
+
+#line 199
+  
+#line 199
+  type vendor_socket_hook_prop, property_type, system_property_type, system_public_property_type;
+#line 199
+
+#line 199
+  
+#line 199
+
+#line 199
+allow vendor_init property_socket:sock_file write;
+#line 199
+allow vendor_init init:unix_stream_socket connectto;
+#line 199
+
+#line 199
+allow vendor_init vendor_socket_hook_prop:property_service set;
+#line 199
+
+#line 199
+allow vendor_init vendor_socket_hook_prop:file { getattr open read map };
+#line 199
+
+#line 199
+
+#line 199
+  neverallow { domain -init -vendor_init } vendor_socket_hook_prop:property_service set;
+#line 199
+
+
+#line 200
+  
+#line 200
+  type virtual_ab_prop, property_type, system_property_type, system_public_property_type;
+#line 200
+
+#line 200
+  
+#line 200
+
+#line 200
+allow vendor_init property_socket:sock_file write;
+#line 200
+allow vendor_init init:unix_stream_socket connectto;
+#line 200
+
+#line 200
+allow vendor_init virtual_ab_prop:property_service set;
+#line 200
+
+#line 200
+allow vendor_init virtual_ab_prop:file { getattr open read map };
+#line 200
+
+#line 200
+
+#line 200
+  neverallow { domain -init -vendor_init } virtual_ab_prop:property_service set;
+#line 200
+
+
+#line 201
+  
+#line 201
+  type vndk_prop, property_type, system_property_type, system_public_property_type;
+#line 201
+
+#line 201
+  
+#line 201
+
+#line 201
+allow vendor_init property_socket:sock_file write;
+#line 201
+allow vendor_init init:unix_stream_socket connectto;
+#line 201
+
+#line 201
+allow vendor_init vndk_prop:property_service set;
+#line 201
+
+#line 201
+allow vendor_init vndk_prop:file { getattr open read map };
+#line 201
+
+#line 201
+
+#line 201
+  neverallow { domain -init -vendor_init } vndk_prop:property_service set;
+#line 201
+
+
+#line 202
+  
+#line 202
+  type vts_config_prop, property_type, system_property_type, system_public_property_type;
+#line 202
+
+#line 202
+  
+#line 202
+
+#line 202
+allow vendor_init property_socket:sock_file write;
+#line 202
+allow vendor_init init:unix_stream_socket connectto;
+#line 202
+
+#line 202
+allow vendor_init vts_config_prop:property_service set;
+#line 202
+
+#line 202
+allow vendor_init vts_config_prop:file { getattr open read map };
+#line 202
+
+#line 202
+
+#line 202
+  neverallow { domain -init -vendor_init } vts_config_prop:property_service set;
+#line 202
+
+
+#line 203
+  
+#line 203
+  type vold_config_prop, property_type, system_property_type, system_public_property_type;
+#line 203
+
+#line 203
+  
+#line 203
+
+#line 203
+allow vendor_init property_socket:sock_file write;
+#line 203
+allow vendor_init init:unix_stream_socket connectto;
+#line 203
+
+#line 203
+allow vendor_init vold_config_prop:property_service set;
+#line 203
+
+#line 203
+allow vendor_init vold_config_prop:file { getattr open read map };
+#line 203
+
+#line 203
+
+#line 203
+  neverallow { domain -init -vendor_init } vold_config_prop:property_service set;
+#line 203
+
+
+#line 204
+  
+#line 204
+  type wifi_config_prop, property_type, system_property_type, system_public_property_type;
+#line 204
+
+#line 204
+  
+#line 204
+
+#line 204
+allow vendor_init property_socket:sock_file write;
+#line 204
+allow vendor_init init:unix_stream_socket connectto;
+#line 204
+
+#line 204
+allow vendor_init wifi_config_prop:property_service set;
+#line 204
+
+#line 204
+allow vendor_init wifi_config_prop:file { getattr open read map };
+#line 204
+
+#line 204
+
+#line 204
+  neverallow { domain -init -vendor_init } wifi_config_prop:property_service set;
+#line 204
+
+
+#line 205
+  
+#line 205
+  type zram_config_prop, property_type, system_property_type, system_public_property_type;
+#line 205
+
+#line 205
+  
+#line 205
+
+#line 205
+allow vendor_init property_socket:sock_file write;
+#line 205
+allow vendor_init init:unix_stream_socket connectto;
+#line 205
+
+#line 205
+allow vendor_init zram_config_prop:property_service set;
+#line 205
+
+#line 205
+allow vendor_init zram_config_prop:file { getattr open read map };
+#line 205
+
+#line 205
+
+#line 205
+  neverallow { domain -init -vendor_init } zram_config_prop:property_service set;
+#line 205
+
+
+#line 206
+  
+#line 206
+  type zygote_config_prop, property_type, system_property_type, system_public_property_type;
+#line 206
+
+#line 206
+  
+#line 206
+
+#line 206
+allow vendor_init property_socket:sock_file write;
+#line 206
+allow vendor_init init:unix_stream_socket connectto;
+#line 206
+
+#line 206
+allow vendor_init zygote_config_prop:property_service set;
+#line 206
+
+#line 206
+allow vendor_init zygote_config_prop:file { getattr open read map };
+#line 206
+
+#line 206
+
+#line 206
+  neverallow { domain -init -vendor_init } zygote_config_prop:property_service set;
+#line 206
+
+
+#line 207
+  
+#line 207
+  type dck_prop, property_type, system_property_type, system_public_property_type;
+#line 207
+
+#line 207
+  
+#line 207
+
+#line 207
+allow vendor_init property_socket:sock_file write;
+#line 207
+allow vendor_init init:unix_stream_socket connectto;
+#line 207
+
+#line 207
+allow vendor_init dck_prop:property_service set;
+#line 207
+
+#line 207
+allow vendor_init dck_prop:file { getattr open read map };
+#line 207
+
+#line 207
+
+#line 207
+  neverallow { domain -init -vendor_init } dck_prop:property_service set;
+#line 207
+
+
+#line 208
+  
+#line 208
+  type tuner_config_prop, property_type, system_property_type, system_public_property_type;
+#line 208
+
+#line 208
+  
+#line 208
+
+#line 208
+allow vendor_init property_socket:sock_file write;
+#line 208
+allow vendor_init init:unix_stream_socket connectto;
+#line 208
+
+#line 208
+allow vendor_init tuner_config_prop:property_service set;
+#line 208
+
+#line 208
+allow vendor_init tuner_config_prop:file { getattr open read map };
+#line 208
+
+#line 208
+
+#line 208
+  neverallow { domain -init -vendor_init } tuner_config_prop:property_service set;
+#line 208
+
+
+#line 209
+  
+#line 209
+  type usb_uvc_enabled_prop, property_type, system_property_type, system_public_property_type;
+#line 209
+
+#line 209
+  
+#line 209
+
+#line 209
+allow vendor_init property_socket:sock_file write;
+#line 209
+allow vendor_init init:unix_stream_socket connectto;
+#line 209
+
+#line 209
+allow vendor_init usb_uvc_enabled_prop:property_service set;
+#line 209
+
+#line 209
+allow vendor_init usb_uvc_enabled_prop:file { getattr open read map };
+#line 209
+
+#line 209
+
+#line 209
+  neverallow { domain -init -vendor_init } usb_uvc_enabled_prop:property_service set;
+#line 209
+
+
+#line 210
+  
+#line 210
+  type setupwizard_mode_prop, property_type, system_property_type, system_public_property_type;
+#line 210
+
+#line 210
+  
+#line 210
+
+#line 210
+allow vendor_init property_socket:sock_file write;
+#line 210
+allow vendor_init init:unix_stream_socket connectto;
+#line 210
+
+#line 210
+allow vendor_init setupwizard_mode_prop:property_service set;
+#line 210
+
+#line 210
+allow vendor_init setupwizard_mode_prop:file { getattr open read map };
+#line 210
+
+#line 210
+
+#line 210
+  neverallow { domain -init -vendor_init } setupwizard_mode_prop:property_service set;
+#line 210
+
+
+#line 211
+  
+#line 211
+  type pm_archiving_enabled_prop, property_type, system_property_type, system_public_property_type;
+#line 211
+
+#line 211
+  
+#line 211
+
+#line 211
+allow vendor_init property_socket:sock_file write;
+#line 211
+allow vendor_init init:unix_stream_socket connectto;
+#line 211
+
+#line 211
+allow vendor_init pm_archiving_enabled_prop:property_service set;
+#line 211
+
+#line 211
+allow vendor_init pm_archiving_enabled_prop:file { getattr open read map };
+#line 211
+
+#line 211
+
+#line 211
+  neverallow { domain -init -vendor_init } pm_archiving_enabled_prop:property_service set;
+#line 211
+
+
+#line 212
+    
+#line 212
+  
+#line 212
+  type trusty_security_vm_sys_vendor_prop, property_type, system_property_type, system_public_property_type;
+#line 212
+
+#line 212
+  
+#line 212
+
+#line 212
+allow vendor_init property_socket:sock_file write;
+#line 212
+allow vendor_init init:unix_stream_socket connectto;
+#line 212
+
+#line 212
+allow vendor_init trusty_security_vm_sys_vendor_prop:property_service set;
+#line 212
+
+#line 212
+allow vendor_init trusty_security_vm_sys_vendor_prop:file { getattr open read map };
+#line 212
+
+#line 212
+
+#line 212
+  neverallow { domain -init -vendor_init } trusty_security_vm_sys_vendor_prop:property_service set;
+#line 212
+
+#line 214
+
+
+# Properties with no restrictions
+
+#line 217
+  type adbd_config_prop, property_type, system_property_type, system_public_property_type;
+#line 217
+
+
+#line 218
+  type audio_prop, property_type, system_property_type, system_public_property_type;
+#line 218
+
+
+#line 219
+  type bluetooth_a2dp_offload_prop, property_type, system_property_type, system_public_property_type;
+#line 219
+
+
+#line 220
+  type bluetooth_audio_hal_prop, property_type, system_property_type, system_public_property_type;
+#line 220
+
+
+#line 221
+    
+#line 221
+  type bluetooth_finder_prop, property_type, system_property_type, system_public_property_type;
+#line 221
+
+#line 223
+
+
+#line 224
+  type bluetooth_prop, property_type, system_property_type, system_public_property_type;
+#line 224
+
+
+#line 225
+  type bpf_progs_loaded_prop, property_type, system_property_type, system_public_property_type;
+#line 225
+
+
+#line 226
+  type charger_status_prop, property_type, system_property_type, system_public_property_type;
+#line 226
+
+
+#line 227
+  type ctl_default_prop, property_type, system_property_type, system_public_property_type;
+#line 227
+
+
+#line 228
+  type ctl_interface_start_prop, property_type, system_property_type, system_public_property_type;
+#line 228
+
+
+#line 229
+  type ctl_start_prop, property_type, system_property_type, system_public_property_type;
+#line 229
+
+
+#line 230
+  type ctl_stop_prop, property_type, system_property_type, system_public_property_type;
+#line 230
+
+
+#line 231
+  type dalvik_config_prop, property_type, system_property_type, system_public_property_type;
+#line 231
+
+
+#line 232
+  type dalvik_dynamic_config_prop, property_type, system_property_type, system_public_property_type;
+#line 232
+
+
+#line 233
+  type dalvik_runtime_prop, property_type, system_property_type, system_public_property_type;
+#line 233
+
+
+#line 234
+  type debug_prop, property_type, system_property_type, system_public_property_type;
+#line 234
+
+
+#line 235
+  type device_config_memory_safety_native_boot_prop, property_type, system_property_type, system_public_property_type;
+#line 235
+
+
+#line 236
+  type device_config_memory_safety_native_prop, property_type, system_property_type, system_public_property_type;
+#line 236
+
+
+#line 237
+  type dumpstate_options_prop, property_type, system_property_type, system_public_property_type;
+#line 237
+
+
+#line 238
+  type exported_system_prop, property_type, system_property_type, system_public_property_type;
+#line 238
+
+
+#line 239
+  type exported_bluetooth_prop, property_type, system_property_type, system_public_property_type;
+#line 239
+
+
+#line 240
+  type exported_overlay_prop, property_type, system_property_type, system_public_property_type;
+#line 240
+
+
+#line 241
+  type exported_pm_prop, property_type, system_property_type, system_public_property_type;
+#line 241
+
+
+#line 242
+  type future_pm_prop, property_type, system_property_type, system_public_property_type;
+#line 242
+
+
+#line 243
+  type ffs_control_prop, property_type, system_property_type, system_public_property_type;
+#line 243
+
+
+#line 244
+  type framework_status_prop, property_type, system_property_type, system_public_property_type;
+#line 244
+
+
+#line 245
+  type gesture_prop, property_type, system_property_type, system_public_property_type;
+#line 245
+
+
+#line 246
+  type graphics_config_writable_prop, property_type, system_property_type, system_public_property_type;
+#line 246
+
+
+#line 247
+  type hal_dumpstate_config_prop, property_type, system_property_type, system_public_property_type;
+#line 247
+
+
+#line 248
+  type sota_prop, property_type, system_property_type, system_public_property_type;
+#line 248
+
+
+#line 249
+  type hwservicemanager_prop, property_type, system_property_type, system_public_property_type;
+#line 249
+
+
+#line 250
+  type lmkd_prop, property_type, system_property_type, system_public_property_type;
+#line 250
+
+
+#line 251
+  type locale_prop, property_type, system_property_type, system_public_property_type;
+#line 251
+
+
+#line 252
+  type logd_prop, property_type, system_property_type, system_public_property_type;
+#line 252
+
+
+#line 253
+  type logpersistd_logging_prop, property_type, system_property_type, system_public_property_type;
+#line 253
+
+
+#line 254
+  type log_prop, property_type, system_property_type, system_public_property_type;
+#line 254
+
+
+#line 255
+  type log_tag_prop, property_type, system_property_type, system_public_property_type;
+#line 255
+
+
+#line 256
+  type lowpan_prop, property_type, system_property_type, system_public_property_type;
+#line 256
+
+
+#line 257
+  type nfc_prop, property_type, system_property_type, system_public_property_type;
+#line 257
+
+
+#line 258
+  type ota_prop, property_type, system_property_type, system_public_property_type;
+#line 258
+
+
+#line 259
+  type permissive_mte_prop, property_type, system_property_type, system_public_property_type;
+#line 259
+
+
+#line 260
+  type powerctl_prop, property_type, system_property_type, system_public_property_type;
+#line 260
+
+
+#line 261
+  type qemu_hw_prop, property_type, system_property_type, system_public_property_type;
+#line 261
+
+
+#line 262
+  type qemu_sf_lcd_density_prop, property_type, system_property_type, system_public_property_type;
+#line 262
+
+
+#line 263
+  type radio_control_prop, property_type, system_property_type, system_public_property_type;
+#line 263
+
+
+#line 264
+  type radio_prop, property_type, system_property_type, system_public_property_type;
+#line 264
+
+
+#line 265
+  type serialno_prop, property_type, system_property_type, system_public_property_type;
+#line 265
+
+
+#line 266
+  type surfaceflinger_color_prop, property_type, system_property_type, system_public_property_type;
+#line 266
+
+
+#line 267
+  type system_prop, property_type, system_property_type, system_public_property_type;
+#line 267
+
+
+#line 268
+  type system_user_mode_emulation_prop, property_type, system_property_type, system_public_property_type;
+#line 268
+
+
+#line 269
+  type telephony_status_prop, property_type, system_property_type, system_public_property_type;
+#line 269
+
+
+#line 270
+  type timezone_prop, property_type, system_property_type, system_public_property_type;
+#line 270
+
+
+#line 271
+  type usb_control_prop, property_type, system_property_type, system_public_property_type;
+#line 271
+
+
+#line 272
+  type vold_post_fs_data_prop, property_type, system_property_type, system_public_property_type;
+#line 272
+
+
+#line 273
+  type wifi_hal_prop, property_type, system_property_type, system_public_property_type;
+#line 273
+
+
+#line 274
+  type wifi_log_prop, property_type, system_property_type, system_public_property_type;
+#line 274
+
+
+#line 275
+  type wifi_prop, property_type, system_property_type, system_public_property_type;
+#line 275
+
+
+#line 276
+  type zram_control_prop, property_type, system_property_type, system_public_property_type;
+#line 276
+
+
+# Properties which don't have entries on property_contexts
+
+#line 279
+  
+#line 279
+  type default_prop, property_type, system_property_type, system_internal_property_type;
+#line 279
+
+#line 279
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 279
+
+#line 279
+    neverallow { domain -coredomain } default_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 279
+  
+#line 279
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 279
+
+#line 279
+
+
+# Properties used in default HAL implementations
+
+#line 282
+  
+#line 282
+  type rebootescrow_hal_prop, property_type, vendor_property_type, vendor_internal_property_type;
+#line 282
+
+#line 282
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 282
+
+#line 282
+# init and dumpstate are in coredomain, but should be able to read all props.
+#line 282
+    neverallow { coredomain -init -dumpstate } rebootescrow_hal_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 282
+  
+#line 282
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 282
+
+#line 282
+
+
+# Properties used in the default Face HAL implementations
+
+#line 285
+  
+#line 285
+  type virtual_face_hal_prop, property_type, vendor_property_type, vendor_internal_property_type;
+#line 285
+
+#line 285
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 285
+
+#line 285
+# init and dumpstate are in coredomain, but should be able to read all props.
+#line 285
+    neverallow { coredomain -init -dumpstate } virtual_face_hal_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 285
+  
+#line 285
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 285
+
+#line 285
+
+
+#line 286
+    
+#line 286
+  type virtual_face_prop, property_type, system_property_type, system_public_property_type;
+#line 286
+
+#line 288
+
+
+# Properties used in the default Fingerprint HAL implementations
+
+#line 291
+  
+#line 291
+  type virtual_fingerprint_hal_prop, property_type, vendor_property_type, vendor_internal_property_type;
+#line 291
+
+#line 291
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 291
+
+#line 291
+# init and dumpstate are in coredomain, but should be able to read all props.
+#line 291
+    neverallow { coredomain -init -dumpstate } virtual_fingerprint_hal_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 291
+  
+#line 291
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 291
+
+#line 291
+
+
+#line 292
+    
+#line 292
+  type virtual_fingerprint_prop, property_type, system_property_type, system_public_property_type;
+#line 292
+
+#line 294
+
+
+
+#line 296
+  type persist_vendor_debug_wifi_prop, property_type, vendor_property_type, vendor_public_property_type;
+#line 296
+
+
+# Properties which are public for devices launching with Android O or earlier
+# This should not be used for any new properties.
+
+#line 300
+    # DO NOT ADD ANY PROPERTIES HERE
+#line 300
+    
+#line 300
+  type boottime_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type charger_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type cold_boot_done_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_adbd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_apexd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_bootanim_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_bugreport_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_console_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_dumpstate_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_fuse_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_gsid_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_interface_restart_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_interface_stop_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_mdnsd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_restart_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_rildaemon_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type ctl_sigstop_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type dynamic_system_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type heapprofd_enabled_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type llkd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type lpdumpd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type mmc_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type mock_ota_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type net_dns_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type overlay_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type persistent_properties_ready_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type safemode_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type system_lmk_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type system_trace_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type test_boot_reason_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type time_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type traced_enabled_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type traced_lazy_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+
+#line 300
+    
+#line 300
+  type config_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type cppreopt_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type dalvik_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type debuggerd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type device_logging_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type dhcp_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type dumpstate_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type exported3_system_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type exported_dumpstate_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type exported_secure_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type heapprofd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type net_radio_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type pan_result_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type persist_debug_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type shell_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type test_harness_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type theme_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type use_memfd_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 300
+    
+#line 300
+  type vold_prop, property_type, system_property_type, system_public_property_type;
+#line 300
+
+#line 355
+
+
+
+#line 357
+    
+#line 357
+  type vendor_default_prop, property_type, vendor_property_type, vendor_public_property_type;
+#line 357
+
+#line 359
+
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 361
+
+#line 361
+    
+#line 361
+  
+#line 361
+  type vendor_default_prop, property_type, vendor_property_type, vendor_internal_property_type;
+#line 361
+
+#line 361
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 361
+
+#line 361
+# init and dumpstate are in coredomain, but should be able to read all props.
+#line 361
+    neverallow { coredomain -init -dumpstate } vendor_default_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 361
+  
+#line 361
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 361
+
+#line 361
+
+#line 361
+
+#line 361
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 363
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/radio.te"
+# phone subsystem
+type radio, domain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/recovery.te"
+# recovery console (used in recovery init.rc for /sbin/recovery)
+
+# Declare the domain unconditionally so we can always reference it
+# in neverallow rules.
+type recovery, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/recovery_persist.te"
+# android recovery persistent log manager
+type recovery_persist, domain;
+type recovery_persist_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/recovery_refresh.te"
+# android recovery refresh log manager
+type recovery_refresh, domain;
+type recovery_refresh_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/rkpd_app.te"
+###
+### A domain for sandboxing the remote key provisioning daemon
+### app that is shipped via mainline.
+###
+
+type rkpdapp, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/rs.te"
+type rs, domain, coredomain;
+type rs_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/rss_hwm_reset.te"
+# rss_hwm_reset resets RSS high-water mark counters for all procesess.
+type rss_hwm_reset, domain, coredomain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/runas.te"
+type runas, domain, mlstrustedsubject;
+type runas_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/runas_app.te"
+type runas_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/sdcardd.te"
+type sdcardd, domain;
+type sdcardd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/secure_element.te"
+# secure_element subsystem
+type secure_element, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/service.te"
+type aidl_lazy_test_service,    service_manager_type;
+type apc_service,               service_manager_type;
+type apex_service,              service_manager_type;
+type artd_service,              service_manager_type;
+type artd_pre_reboot_service,   service_manager_type;
+type audioserver_service,       service_manager_type, isolated_compute_allowed_service;
+type authorization_service,     service_manager_type;
+type batteryproperties_service, app_api_service, ephemeral_app_api_service, service_manager_type;
+type bluetooth_service,         service_manager_type;
+type cameraserver_service,      service_manager_type, isolated_compute_allowed_service;
+type fwk_camera_service,        service_manager_type;
+type default_android_service,   service_manager_type;
+type device_config_updatable_service,       system_api_service, system_server_service,service_manager_type;
+type dexopt_chroot_setup_service, service_manager_type;
+type dnsresolver_service,       service_manager_type;
+type drmserver_service,         service_manager_type;
+type dumpstate_service,         service_manager_type;
+type evsmanagerd_service,       service_manager_type;
+type fingerprintd_service,      service_manager_type;
+type fwk_automotive_display_service, service_manager_type;
+
+#line 21
+    type fwk_vold_service,      service_manager_type;
+#line 23
+
+type gatekeeper_service,        app_api_service, service_manager_type;
+type gpu_service,               app_api_service, ephemeral_app_api_service, service_manager_type;
+type idmap_service,             service_manager_type;
+type incident_service,          service_manager_type;
+type installd_service,          service_manager_type;
+type credstore_service,         app_api_service, service_manager_type;
+type keystore_compat_hal_service, service_manager_type;
+type keystore_maintenance_service, service_manager_type;
+type keystore_metrics_service, service_manager_type;
+type keystore_service,          service_manager_type;
+type legacykeystore_service,    service_manager_type;
+type lpdump_service,            service_manager_type;
+type mdns_service,              service_manager_type;
+type mediaserver_service,       service_manager_type, isolated_compute_allowed_service;
+type mediametrics_service,      service_manager_type;
+type mediaextractor_service,    service_manager_type;
+type mediadrmserver_service,    service_manager_type;
+type mediatranscoding_service,  app_api_service, service_manager_type;
+type netd_service,              service_manager_type;
+type nfc_service,               service_manager_type;
+type ondevicepersonalization_system_service, system_api_service, system_server_service, service_manager_type;
+type ot_daemon_service,         service_manager_type;
+type profiling_service,         app_api_service, system_server_service, service_manager_type;
+type radio_service,             service_manager_type;
+type secure_element_service,    service_manager_type;
+type service_manager_service,   service_manager_type;
+type storaged_service,          service_manager_type;
+type surfaceflinger_service,    app_api_service, ephemeral_app_api_service, service_manager_type;
+type system_app_service,        service_manager_type;
+type system_net_netd_service,   service_manager_type;
+type system_suspend_control_internal_service, service_manager_type;
+type system_suspend_control_service, service_manager_type;
+type update_engine_service,     service_manager_type;
+type update_engine_stable_service, service_manager_type;
+type virtualization_service,    service_manager_type;
+type virtual_camera_service,    service_manager_type;
+type virtual_touchpad_service,  service_manager_type;
+type vold_service,              service_manager_type;
+type vr_hwc_service,            service_manager_type;
+type vrflinger_vsync_service,   service_manager_type;
+
+# system_server_services broken down
+type accessibility_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type account_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type activity_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type activity_task_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type adb_service, system_api_service, system_server_service, service_manager_type;
+type adservices_manager_service, system_api_service, system_server_service, service_manager_type;
+type alarm_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type app_binding_service, system_server_service, service_manager_type;
+
+#line 74
+    type app_function_service, app_api_service, system_server_service, service_manager_type;
+#line 76
+
+type app_hibernation_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type app_integrity_service, system_api_service, system_server_service, service_manager_type;
+type app_prediction_service, app_api_service, system_server_service, service_manager_type;
+type app_search_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type appops_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type appwidget_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type archive_service, app_api_service, system_server_service, service_manager_type;
+type assetatlas_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type attestation_verification_service, app_api_service, system_server_service, service_manager_type;
+type audio_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type auth_service, app_api_service, system_server_service, service_manager_type;
+type autofill_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type backup_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type batterystats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type battery_service, system_server_service, service_manager_type;
+type binder_calls_stats_service, system_server_service, service_manager_type;
+type blob_store_service, app_api_service, system_server_service, service_manager_type;
+type bluetooth_manager_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type broadcastradio_service, app_api_service, system_server_service, service_manager_type;
+type cacheinfo_service, system_api_service, system_server_service, service_manager_type;
+type cameraproxy_service, system_server_service, service_manager_type;
+type clipboard_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type cloudsearch_service, app_api_service, system_server_service, service_manager_type;
+type contexthub_service, app_api_service,  system_server_service, service_manager_type;
+type contextual_search_service, app_api_service, system_server_service, service_manager_type;
+type crossprofileapps_service, app_api_service, system_server_service, service_manager_type;
+type IProxyService_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type companion_device_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type connectivity_native_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type connectivity_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type connmetrics_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type consumer_ir_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type content_capture_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type content_suggestions_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type content_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type country_detector_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+# Note: The coverage_service should only be enabled for userdebug / eng builds that were compiled
+# with EMMA_INSTRUMENT=true. We should consider locking this down in the future.
+type coverage_service, system_server_service, service_manager_type;
+type cpuinfo_service, system_api_service, system_server_service, service_manager_type;
+type cpu_monitor_service, system_server_service, service_manager_type;
+type credential_service, app_api_service, ephemeral_app_api_service, system_api_service, system_server_service, service_manager_type;
+type dataloader_manager_service, system_server_service, service_manager_type;
+type dbinfo_service, system_api_service, system_server_service, service_manager_type;
+type device_config_service, system_server_service, service_manager_type;
+type device_policy_service, app_api_service, system_server_service, service_manager_type;
+type device_state_service, app_api_service, system_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type deviceidle_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type device_identifiers_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type devicestoragemonitor_service, system_server_service, service_manager_type;
+type diskstats_service, system_api_service, system_server_service, service_manager_type;
+type display_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type domain_verification_service, app_api_service, system_server_service, service_manager_type;
+type color_display_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type ecm_enhanced_confirmation_service, app_api_service, system_server_service, service_manager_type;
+type external_vibrator_service, system_server_service, service_manager_type;
+type file_integrity_service, app_api_service, system_server_service, service_manager_type;
+type font_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type netd_listener_service, system_server_service, service_manager_type;
+type network_watchlist_service, system_server_service, service_manager_type;
+type devicelock_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type DockObserver_service, system_server_service, service_manager_type;
+type dreams_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type dropbox_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type ethernet_service, app_api_service, system_server_service, service_manager_type;
+type biometric_service, app_api_service, system_server_service, service_manager_type;
+type bugreport_service, app_api_service, system_server_service, service_manager_type;
+type platform_compat_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type face_service, app_api_service, system_server_service, service_manager_type;
+type fingerprint_service, app_api_service, system_server_service, service_manager_type;
+type fwk_altitude_service, system_server_service, service_manager_type;
+type fwk_stats_service, app_api_service, system_server_service, service_manager_type;
+type fwk_sensor_service, system_server_service, service_manager_type;
+type fwk_vibrator_control_service, system_server_service, service_manager_type;
+type game_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type gfxinfo_service, system_api_service, system_server_service, service_manager_type;
+type gnss_time_update_service, system_server_service, service_manager_type;
+type grammatical_inflection_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type graphicsstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type hardware_service, system_server_service, service_manager_type;
+type hardware_properties_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type hdmi_control_service, app_api_service, system_server_service, service_manager_type;
+type healthconnect_service, app_api_service, system_server_service, service_manager_type;
+type hint_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type imms_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type incremental_service, system_server_service, service_manager_type;
+type input_method_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type input_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+
+#line 165
+    type intrusion_detection_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+#line 167
+
+type ipsec_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type iris_service, app_api_service, system_server_service, service_manager_type;
+type jobscheduler_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type launcherapps_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type legacy_permission_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type light_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type locale_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type location_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type location_time_zone_manager_service, system_server_service, service_manager_type;
+type lock_settings_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type looper_stats_service, system_server_service, service_manager_type;
+type media_communication_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type media_metrics_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type media_projection_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+
+#line 182
+    type media_quality_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+#line 184
+
+type media_router_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type media_session_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type meminfo_service, system_api_service, system_server_service, service_manager_type;
+type memtrackproxy_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type midi_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type mount_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type music_recognition_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type nearby_service, app_api_service, system_server_service, service_manager_type;
+type netpolicy_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type netstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type network_management_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type network_score_service, system_api_service, system_server_service, service_manager_type;
+type network_stack_service, system_server_service, service_manager_type;
+type network_time_update_service, system_server_service, service_manager_type;
+type notification_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type oem_lock_service, system_api_service, system_server_service, service_manager_type;
+type otadexopt_service, system_server_service, service_manager_type;
+type overlay_service, system_api_service, system_server_service, service_manager_type;
+type pac_proxy_service, app_api_service, system_server_service, service_manager_type;
+type package_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type package_native_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type people_service, app_api_service, system_server_service, service_manager_type;
+type permission_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type permissionmgr_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type permission_checker_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type persistent_data_block_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type pinner_service, system_server_service, service_manager_type;
+type powerstats_service, app_api_service, system_server_service, service_manager_type;
+type power_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type print_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type processinfo_service, system_server_service, service_manager_type;
+type procstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type reboot_readiness_service, app_api_service, system_server_service, service_manager_type;
+type recovery_service, system_server_service, service_manager_type;
+type registry_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type remote_auth_service, app_api_service, system_server_service, service_manager_type;
+type remote_provisioning_service, system_server_service, service_manager_type;
+type resources_manager_service, system_api_service, system_server_service, service_manager_type;
+type restrictions_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type role_service, app_api_service, system_server_service, service_manager_type;
+type rollback_service, app_api_service, system_server_service, service_manager_type;
+type runtime_service, system_server_service, service_manager_type;
+type rttmanager_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type samplingprofiler_service, system_server_service, service_manager_type;
+type scheduling_policy_service, system_server_service, service_manager_type;
+type search_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type search_ui_service, app_api_service, system_server_service, service_manager_type;
+type sec_key_att_app_id_provider_service, app_api_service, system_server_service, service_manager_type;
+type security_state_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type selection_toolbar_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type sensitive_content_protection_service, app_api_service, system_server_service, service_manager_type;
+type sensorservice_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type sensor_privacy_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type serial_service, system_api_service, system_server_service, service_manager_type;
+type servicediscovery_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type settings_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type shortcut_service, app_api_service, system_server_service, service_manager_type;
+type slice_service, app_api_service, system_server_service, service_manager_type;
+type smartspace_service, app_api_service, system_server_service, service_manager_type;
+type statusbar_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type storagestats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type sdk_sandbox_service, app_api_service, system_server_service, service_manager_type;
+type system_config_service, system_api_service, system_server_service, service_manager_type;
+type system_server_dumper_service, system_api_service, system_server_service, service_manager_type;
+type system_update_service, system_server_service, service_manager_type;
+type soundtrigger_middleware_service, system_server_service, service_manager_type;
+type speech_recognition_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type tare_service, app_api_service, system_server_service, service_manager_type;
+type task_service, system_server_service, service_manager_type;
+type testharness_service, system_server_service, service_manager_type;
+type textclassification_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type textservices_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type texttospeech_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type telecom_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type thermal_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type threadnetwork_service, app_api_service, system_server_service, service_manager_type;
+type timedetector_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type timezonedetector_service, app_api_service, system_server_service, service_manager_type;
+type translation_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type trust_service, app_api_service, system_server_service, service_manager_type;
+type tv_ad_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type tv_iapp_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type tv_input_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type tv_tuner_resource_mgr_service, app_api_service, system_server_service, service_manager_type;
+type uimode_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type updatelock_service, system_api_service, system_server_service, service_manager_type;
+type uri_grants_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type usagestats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type usb_service, app_api_service, system_server_service, service_manager_type;
+type user_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type uwb_service, app_api_service, system_server_service, service_manager_type;
+type vcn_management_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type vibrator_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type vibrator_manager_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type virtual_device_service, app_api_service, system_server_service, service_manager_type;
+type virtual_device_native_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type voiceinteraction_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type vpn_management_service, app_api_service, system_server_service, service_manager_type;
+type vr_manager_service, system_server_service, service_manager_type;
+type wallpaper_service, app_api_service, system_server_service, service_manager_type;
+type wallpaper_effects_generation_service, app_api_service, system_server_service, service_manager_type;
+type webviewupdate_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type wifip2p_service, app_api_service, system_server_service, service_manager_type;
+type wifiscanner_service, app_api_service, system_server_service, service_manager_type;
+type wifi_service, app_api_service, system_server_service, service_manager_type;
+type wifinl80211_service, service_manager_type;
+type wifiaware_service, app_api_service, system_server_service, service_manager_type;
+
+#line 292
+   type wifi_usd_service, app_api_service, system_server_service, service_manager_type;
+#line 294
+
+type window_service, system_api_service, system_server_service, service_manager_type;
+type inputflinger_service, system_api_service, system_server_service, service_manager_type;
+type tethering_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type emergency_affordance_service, system_server_service, service_manager_type;
+
+###
+### HAL Services
+###
+
+type hal_audio_service, protected_service, hal_service_type, service_manager_type;
+type hal_audiocontrol_service, hal_service_type, service_manager_type;
+type hal_authgraph_service, protected_service, hal_service_type, service_manager_type;
+type hal_authsecret_service, protected_service, hal_service_type, service_manager_type;
+type hal_bluetooth_service, protected_service, hal_service_type, service_manager_type;
+type hal_bootctl_service, protected_service, hal_service_type, service_manager_type;
+type hal_broadcastradio_service, protected_service, hal_service_type, service_manager_type;
+type hal_camera_service, protected_service, hal_service_type, service_manager_type;
+type hal_can_controller_service, protected_service, hal_service_type, service_manager_type;
+type hal_cas_service, hal_service_type, service_manager_type;
+type hal_codec2_service, hal_service_type, service_manager_type, isolated_compute_allowed_service;
+type hal_confirmationui_service, protected_service, hal_service_type, service_manager_type;
+type hal_contexthub_service, protected_service, hal_service_type, service_manager_type;
+type hal_drm_service, hal_service_type, service_manager_type;
+type hal_dumpstate_service, protected_service, hal_service_type, service_manager_type;
+type hal_evs_service, protected_service, hal_service_type, service_manager_type;
+type hal_face_service, protected_service, hal_service_type, service_manager_type;
+type hal_fastboot_service, protected_service, hal_service_type, service_manager_type;
+type hal_fingerprint_service, protected_service, hal_service_type, service_manager_type;
+type hal_gnss_service, protected_service, hal_service_type, service_manager_type;
+type hal_graphics_allocator_service, hal_service_type, service_manager_type;
+type hal_graphics_composer_service, protected_service, hal_service_type, service_manager_type;
+type hal_graphics_mapper_service, hal_service_type, service_manager_type;
+type hal_health_service, protected_service, hal_service_type, service_manager_type;
+type hal_health_storage_service, protected_service, hal_service_type, service_manager_type;
+
+#line 329
+    type hal_hwcrypto_service, protected_service, hal_service_type, service_manager_type;
+#line 331
+
+type hal_identity_service, protected_service, hal_service_type, service_manager_type;
+type hal_input_processor_service, protected_service, hal_service_type, service_manager_type;
+type hal_ir_service, protected_service, hal_service_type, service_manager_type;
+type hal_ivn_service, protected_service, hal_service_type, service_manager_type;
+type hal_keymint_service, protected_service, hal_service_type, service_manager_type;
+type hal_light_service, protected_service, hal_service_type, service_manager_type;
+type hal_macsec_service, protected_service, hal_service_type, service_manager_type;
+
+#line 339
+    type hal_mediaquality_service, protected_service, hal_service_type, service_manager_type;
+#line 341
+
+type hal_memtrack_service, protected_service, hal_service_type, service_manager_type;
+type hal_neuralnetworks_service, hal_service_type, service_manager_type;
+type hal_nfc_service, protected_service, hal_service_type, service_manager_type;
+type hal_oemlock_service, protected_service, hal_service_type, service_manager_type;
+type hal_power_service, protected_service, hal_service_type, service_manager_type;
+type hal_power_stats_service, protected_service, hal_service_type, service_manager_type;
+type hal_radio_service, protected_service, hal_service_type, service_manager_type;
+type hal_rebootescrow_service, protected_service, hal_service_type, service_manager_type;
+type hal_remoteaccess_service, protected_service, hal_service_type, service_manager_type;
+type hal_remotelyprovisionedcomponent_avf_service, protected_service, hal_service_type, service_manager_type;
+type hal_remotelyprovisionedcomponent_service, protected_service, hal_service_type, service_manager_type;
+type hal_sensors_service, protected_service, hal_service_type, service_manager_type;
+type hal_secretkeeper_service, protected_service, hal_service_type, service_manager_type;
+type hal_secureclock_service, protected_service, hal_service_type, service_manager_type;
+type hal_secure_element_service, protected_service, hal_service_type, service_manager_type;
+type hal_sharedsecret_service, protected_service, hal_service_type, service_manager_type;
+type hal_system_suspend_service, protected_service, hal_service_type, service_manager_type;
+type hal_tetheroffload_service, protected_service, hal_service_type, service_manager_type;
+type hal_thermal_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_cec_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_connection_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_earc_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_input_service, protected_service, hal_service_type, service_manager_type;
+type hal_threadnetwork_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_tuner_service, protected_service, hal_service_type, service_manager_type;
+type hal_usb_service, protected_service, hal_service_type, service_manager_type;
+type hal_usb_gadget_service, protected_service, hal_service_type, service_manager_type;
+type hal_uwb_service, protected_service, hal_service_type, service_manager_type;
+type hal_vehicle_service, protected_service, hal_service_type, service_manager_type;
+type hal_vibrator_service, protected_service, hal_service_type, service_manager_type;
+type hal_weaver_service, protected_service, hal_service_type, service_manager_type;
+type hal_nlinterceptor_service, protected_service, hal_service_type, service_manager_type;
+type hal_wifi_service, protected_service, hal_service_type, service_manager_type;
+type hal_wifi_hostapd_service, protected_service, hal_service_type, service_manager_type;
+type hal_wifi_supplicant_service, protected_service, hal_service_type, service_manager_type;
+type hal_gatekeeper_service, protected_service, hal_service_type, service_manager_type;
+
+#line 378
+    type hal_vm_capabilities_service, protected_service, hal_service_type, service_manager_type;
+#line 380
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/servicemanager.te"
+# servicemanager - the Binder context manager
+type servicemanager, domain, mlstrustedsubject;
+type servicemanager_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/sgdisk.te"
+# sgdisk called from vold
+type sgdisk, domain;
+type sgdisk_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/shared_relro.te"
+# Process which creates/updates shared RELRO files to be used by other apps.
+type shared_relro, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/shell.te"
+# Domain for shell processes spawned by ADB or console service.
+type shell, domain, mlstrustedsubject;
+type shell_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/simpleperf.te"
+type simpleperf, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/simpleperf_app_runner.te"
+type simpleperf_app_runner, domain, mlstrustedsubject;
+type simpleperf_app_runner_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/slideshow.te"
+# slideshow seclabel is specified in init.rc since
+# it lives in the rootfs and has no unique file type.
+type slideshow, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/statsd.te"
+type statsd, domain, mlstrustedsubject;
+type statsd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/su.te"
+# Domain used for su processes, as well as for adbd and adb shell
+# after performing an adb root command.
+
+# All types must be defined regardless of build variant to ensure
+# policy compilation succeeds with userdebug/user combination at boot
+type su, domain;
+
+# File types must be defined for file_contexts.
+type su_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/surfaceflinger.te"
+# surfaceflinger - display compositor service
+type surfaceflinger, domain;
+type surfaceflinger_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/system_app.te"
+###
+### Apps that run with the system UID, e.g. com.android.system.ui,
+### com.android.settings.  These are not as privileged as the system
+### server.
+###
+
+type system_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/system_server.te"
+#
+# System Server aka system_server spawned by zygote.
+# Most of the framework services run in this process.
+#
+type system_server, domain;
+type system_server_tmpfs, file_type, mlstrustedobject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/tee.te"
+##
+# trusted execution environment (tee) daemon
+#
+type tee, domain;
+
+# Device(s) for communicating with the TEE
+type tee_device, dev_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/tombstoned.te"
+# debugger interface
+type tombstoned, domain, mlstrustedsubject;
+type tombstoned_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/toolbox.te"
+# Any toolbox command run by init.
+# Do NOT use this domain for toolbox when run by any other domain.
+type toolbox, domain;
+type toolbox_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/traced.te"
+type traced, domain, coredomain, mlstrustedsubject;
+type traced_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/traced_perf.te"
+type traced_perf, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/traced_probes.te"
+type traced_probes, domain, coredomain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/traceur_app.te"
+type traceur_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/ueventd.te"
+# ueventd seclabel is specified in init.rc since
+# it lives in the rootfs and has no unique file type.
+type ueventd, domain;
+type ueventd_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/uncrypt.te"
+# uncrypt
+type uncrypt, domain, mlstrustedsubject;
+type uncrypt_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/untrusted_app.te"
+###
+### Untrusted apps.
+###
+### Apps are labeled based on mac_permissions.xml (maps signer and
+### optionally package name to seinfo value) and seapp_contexts (maps UID
+### and optionally seinfo value to domain for process and type for data
+### directory).  The untrusted_app domain is the default assignment in
+### seapp_contexts for any app with UID between APP_AID (10000)
+### and AID_ISOLATED_START (99000) if the app has no specific seinfo
+### value as determined from mac_permissions.xml.  In current AOSP, this
+### domain is assigned to all non-system apps as well as to any system apps
+### that are not signed by the platform key.  To move
+### a system app into a specific domain, add a signer entry for it to
+### mac_permissions.xml and assign it one of the pre-existing seinfo values
+### or define and use a new seinfo value in both mac_permissions.xml and
+### seapp_contexts.
+###
+
+# This file defines the rules for untrusted apps running with
+# targetSdkVersion >= 34.
+type untrusted_app, domain;
+# This file defines the rules for untrusted apps running with
+# 31 < targetSdkVersion <= 33.
+type untrusted_app_32, domain;
+# This file defines the rules for untrusted apps running with
+# 29 < targetSdkVersion <= 31.
+type untrusted_app_30, domain;
+# This file defines the rules for untrusted apps running with
+# targetSdkVersion = 29.
+type untrusted_app_29, domain;
+# This file defines the rules for untrusted apps running with
+# 25 < targetSdkVersion <= 28.
+type untrusted_app_27, domain;
+# This file defines the rules for untrusted apps running with
+# targetSdkVersion <= 25.
+type untrusted_app_25, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/update_engine.te"
+# Domain for update_engine daemon.
+type update_engine, domain, update_engine_common;
+type update_engine_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/update_verifier.te"
+# update_verifier
+type update_verifier, domain;
+type update_verifier_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/usbd.te"
+type usbd, domain;
+type usbd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vdc.te"
+# vdc is a helper program for making Binder calls to vold.  It is spawned from
+# init for various reasons, such as initializing file-based encryption and
+# metadata encryption, and managing userdata checkpointing.
+#
+# We also transition into this domain from dumpstate, when
+# collecting bug reports.
+type vdc, domain;
+type vdc_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vendor_init.te"
+# vendor_init is its own domain.
+type vendor_init, domain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vendor_misc_writer.te"
+# vendor_misc_writer
+type vendor_misc_writer, domain;
+type vendor_misc_writer_exec, vendor_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vendor_modprobe.te"
+type vendor_modprobe, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vendor_shell.te"
+type vendor_shell, domain;
+type vendor_shell_exec, exec_type, vendor_file_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vendor_toolbox.te"
+# Toolbox installation for vendor binaries / scripts
+# Non-vendor processes are not allowed to execute the binary
+# and is always executed without transition.
+type vendor_toolbox_exec, exec_type, vendor_file_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/virtual_camera.te"
+# virtual_camera - virtual camera daemon
+
+
+#line 3
+    type virtual_camera, domain, coredomain;
+#line 3
+    type virtual_camera_exec, system_file_type, exec_type, file_type;
+#line 6
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/virtual_touchpad.te"
+type virtual_touchpad, domain;
+type virtual_touchpad_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/virtualizationmanager.te"
+# Domain for a child process that manages virtual machines on behalf of its parent.
+
+#line 2
+    type virtualizationmanager, domain, coredomain;
+#line 2
+    type virtualizationmanager_exec, system_file_type, exec_type, file_type;
+#line 5
+
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vndservice.te"
+type service_manager_vndservice, vndservice_manager_type;
+type default_android_vndservice, vndservice_manager_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vndservicemanager.te"
+# vndservicemanager - the Binder context manager for vendor processes
+type vndservicemanager, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vold.te"
+# volume manager
+type vold, domain;
+type vold_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/vold_prepare_subdirs.te"
+# SELinux directory creation and labelling for vold-managed directories
+type vold_prepare_subdirs, domain;
+type vold_prepare_subdirs_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/watchdogd.te"
+# watchdogd seclabel is specified in init.<board>.rc
+type watchdogd, domain;
+type watchdogd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/webview_zygote.te"
+# webview_zygote is an auxiliary zygote process that is used to spawn
+# isolated_app processes for rendering untrusted web content.
+type webview_zygote, domain;
+type webview_zygote_exec, exec_type, file_type;
+type webview_zygote_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/wificond.te"
+# wificond
+type wificond, domain;
+type wificond_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/public/zygote.te"
+# zygote
+type zygote, domain;
+type zygote_tmpfs, file_type;
+type zygote_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
+#line 1 "system/sepolicy/private/attributes"
+
+#line 1
+attribute hal_lazy_test;
+#line 1
+expandattribute hal_lazy_test true;
+#line 1
+attribute hal_lazy_test_client;
+#line 1
+expandattribute hal_lazy_test_client true;
+#line 1
+attribute hal_lazy_test_server;
+#line 1
+expandattribute hal_lazy_test_server false;
+#line 1
+
+#line 1
+neverallow { hal_lazy_test_server -halserverdomain } domain:process fork;
+#line 1
+# hal_*_client and halclientdomain attributes are always expanded for
+#line 1
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+#line 1
+# verified by CTS since these attributes are already expanded by that time.
+#line 1
+
+#line 1
+;
+
+# This is applied to apps on vendor images with SDK <=30 only,
+# to exempt them from recent mls changes. It must not be applied
+# to any domain on newer system or vendor image.
+attribute mlsvendorcompat;
+
+# Attributes for property types having both system_property_type
+# and vendor_property_type. Such types are ill-formed because
+# property owner attributes must be exclusive.
+attribute system_and_vendor_property_type;
+expandattribute system_and_vendor_property_type false;
+
+# HALs
+#line 17
+
+
+#line 22
+
+
+# All SDK sandbox domains
+attribute sdk_sandbox_all;
+# The SDK sandbox domains for the current SDK level.
+attribute sdk_sandbox_current;
+# Common to adbd and adbd_tradeinmode.
+attribute adbd_common;
+
+# Provides access to platform update services.
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+attribute update_provider;
+expandattribute update_provider false;
+
+#line 38
+
+
+#line 42
+
+
+#line 46
+
+#line 1 "system/sepolicy/private/aconfigd.te"
+# aconfigd -- manager for aconfig flags
+type aconfigd, domain, coredomain, mlstrustedsubject;
+type aconfigd_exec, exec_type, file_type, system_file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init aconfigd_exec:file { getattr open read execute map };
+#line 5
+allow init aconfigd:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow aconfigd aconfigd_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init aconfigd:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init aconfigd:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init aconfigd_exec:process aconfigd;
+#line 5
+
+#line 5
+
+
+allow aconfigd metadata_file:dir search;
+
+allow aconfigd {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+allow aconfigd {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow aconfigd to log to the kernel dmesg via a file descriptor
+# passed from init to aconfigd
+allow aconfigd kmsg_device:chr_file write;
+
+# allow aconfigd to read vendor partition storage files
+allow aconfigd vendor_aconfig_storage_file:file { getattr open read ioctl lock map watch watch_reads };
+allow aconfigd vendor_aconfig_storage_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# allow aconfigd to read /apex dir
+allow aconfigd apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+allow aconfigd apex_mnt_dir:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit aconfigd apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### Neverallow assertions
+###
+
+# only init is allowed to enter the aconfigd domain
+neverallow { domain -init } aconfigd:process transition;
+neverallow * aconfigd:process dyntransition;
+
+# Do not allow write access to boot/map storage files except, aconfigd and aconfigd_mainline.
+# These files are meant to serve flag reads for all processes. They are created by aconfigd (for
+# platform storage files) and aconfigd_mainline (mainline storage files) processes.
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_metadata_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_metadata_file:file { append create link unlink relabelfrom rename setattr write };
+
+# Only aconfigd and aconfigd_mainline can access persist storage files
+# These files are meant to serve as persist flag value storage, only aconfigd and
+# aconfigd_mainline process should manage them. Other processes should have zero access.
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_flags_metadata_file:dir *;
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_flags_metadata_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 1 "system/sepolicy/private/aconfigd_mainline.te"
+# aconfigd_mainline -- manager for mainline aconfig flags
+type aconfigd_mainline, domain, coredomain, mlstrustedsubject;
+type aconfigd_mainline_exec, exec_type, file_type, system_file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init aconfigd_mainline_exec:file { getattr open read execute map };
+#line 5
+allow init aconfigd_mainline:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow aconfigd_mainline aconfigd_mainline_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init aconfigd_mainline:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init aconfigd_mainline:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init aconfigd_mainline_exec:process aconfigd_mainline;
+#line 5
+
+#line 5
+
+
+# allow aconfigd_mainline to search /metadata dir as it needs to access files under
+# /metadata/aconfig dir
+allow aconfigd_mainline metadata_file:dir search;
+
+# aconfigd_mainline should be able to create storage files under /metadata/aconfig dir
+allow aconfigd_mainline {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+allow aconfigd_mainline {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow aconfigd_mainline to log to the kernel.
+allow aconfigd_mainline kmsg_device:chr_file write;
+
+# allow aconfigd_mainline to read /apex dir, aconfigd_mainline need to loop thru all
+# dirs under /apex to find all currently mounted mainline modules and get their
+# storage files
+allow aconfigd_mainline apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+allow aconfigd_mainline apex_mnt_dir:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit aconfigd_mainline apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### Neverallow assertions
+###
+
+# only init is allowed to enter the aconfigd_mainline domain
+neverallow { domain -init } aconfigd_mainline:process transition;
+neverallow * aconfigd_mainline:process dyntransition;
+#line 1 "system/sepolicy/private/adbd.te"
+### ADB daemon
+
+typeattribute adbd coredomain;
+typeattribute adbd mlstrustedsubject;
+typeattribute adbd adbd_common;
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init adbd_exec:file { getattr open read execute map };
+#line 7
+allow init adbd:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow adbd adbd_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init adbd:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init adbd:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init adbd_exec:process adbd;
+#line 7
+
+#line 7
+
+
+
+#line 9
+# Allow the necessary permissions.
+#line 9
+
+#line 9
+# Old domain may exec the file and transition to the new domain.
+#line 9
+allow adbd shell_exec:file { getattr open read execute map };
+#line 9
+allow adbd shell:process transition;
+#line 9
+# New domain is entered by executing the file.
+#line 9
+allow shell shell_exec:file { entrypoint open read execute getattr map };
+#line 9
+# New domain can send SIGCHLD to its caller.
+#line 9
+allow shell adbd:process sigchld;
+#line 9
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 9
+dontaudit adbd shell:process noatsecure;
+#line 9
+# XXX dontaudit candidate but requires further study.
+#line 9
+allow adbd shell:process { siginh rlimitinh };
+#line 9
+
+#line 9
+# Make the transition occur by default.
+#line 9
+type_transition adbd shell_exec:process shell;
+#line 9
+
+
+# Allow adb to setcon() to tradeinmode.
+allow adbd self:process setcurrent;
+allow adbd adbd_tradeinmode:process dyntransition;
+
+#line 17
+
+
+# When 'adb shell' is executed in recovery mode, adbd explicitly
+# switches into shell domain using setcon() because the shell executable
+# is not labeled as shell but as rootfs.
+#line 28
+
+
+# Control Perfetto traced and obtain traces from it.
+# Needed to allow port forwarding directly to traced.
+
+#line 32
+allow adbd traced_consumer_socket:sock_file write;
+#line 32
+allow adbd traced:unix_stream_socket connectto;
+#line 32
+
+
+# Do not sanitize the environment or open fds of the shell. Allow signaling
+# created processes.
+allow adbd shell:process { noatsecure signal };
+
+# Set UID and GID to shell.  Set supplementary groups.
+allow adbd self:{ capability cap_userns } { setuid setgid };
+
+# Drop capabilities from bounding set on user builds.
+allow adbd self:{ capability cap_userns } setpcap;
+
+# ignore spurious denials for adbd when disk space is low.
+dontaudit adbd self:{ capability cap_userns } sys_resource;
+
+# Create and use network sockets.
+
+#line 48
+typeattribute adbd netdomain;
+#line 48
+
+# Access /dev/usb-ffs/adb/ep0
+allow adbd functionfs:dir search;
+allow adbd functionfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm adbd functionfs:file ioctl {
+  0x80096782
+  0x00006703
+};
+
+# adb pull /data/local/traces/*
+allow adbd trace_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd trace_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# adb pull /data/misc/profman.
+allow adbd profman_dump_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd profman_dump_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# adb push/pull sdcard.
+allow adbd tmpfs:dir search;
+allow adbd rootfs:lnk_file { getattr open read ioctl lock map watch watch_reads };  # /sdcard symlink
+allow adbd tmpfs:lnk_file { getattr open read ioctl lock map watch watch_reads };   # /mnt/sdcard symlink
+allow adbd { sdcard_type fuse }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow adbd { sdcard_type fuse }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# adb pull /data/anr/traces.txt
+allow adbd anr_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd anr_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# adb pull /vendor/framework/*
+allow adbd vendor_framework_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd vendor_framework_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Set service.adb.*, sys.powerctl, and sys.usb.ffs.ready properties.
+
+#line 81
+
+#line 81
+allow adbd property_socket:sock_file write;
+#line 81
+allow adbd init:unix_stream_socket connectto;
+#line 81
+
+#line 81
+allow adbd shell_prop:property_service set;
+#line 81
+
+#line 81
+allow adbd shell_prop:file { getattr open read map };
+#line 81
+
+#line 81
+
+
+#line 82
+
+#line 82
+allow adbd property_socket:sock_file write;
+#line 82
+allow adbd init:unix_stream_socket connectto;
+#line 82
+
+#line 82
+allow adbd powerctl_prop:property_service set;
+#line 82
+
+#line 82
+allow adbd powerctl_prop:file { getattr open read map };
+#line 82
+
+#line 82
+
+
+#line 83
+allow adbd ffs_config_prop:file { getattr open read map };
+#line 83
+
+
+#line 84
+
+#line 84
+allow adbd property_socket:sock_file write;
+#line 84
+allow adbd init:unix_stream_socket connectto;
+#line 84
+
+#line 84
+allow adbd ffs_control_prop:property_service set;
+#line 84
+
+#line 84
+allow adbd ffs_control_prop:file { getattr open read map };
+#line 84
+
+#line 84
+
+
+#line 85
+
+#line 85
+allow adbd property_socket:sock_file write;
+#line 85
+allow adbd init:unix_stream_socket connectto;
+#line 85
+
+#line 85
+allow adbd adbd_tradeinmode_prop:property_service set;
+#line 85
+
+#line 85
+allow adbd adbd_tradeinmode_prop:file { getattr open read map };
+#line 85
+
+#line 85
+
+
+# Allow adbd start/stop mdnsd via ctl.start
+
+#line 88
+
+#line 88
+allow adbd property_socket:sock_file write;
+#line 88
+allow adbd init:unix_stream_socket connectto;
+#line 88
+
+#line 88
+allow adbd ctl_mdnsd_prop:property_service set;
+#line 88
+
+#line 88
+allow adbd ctl_mdnsd_prop:file { getattr open read map };
+#line 88
+
+#line 88
+
+
+# Read device's overlayfs related properties and files
+#line 94
+
+
+# Run /system/bin/bu
+allow adbd system_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Perform binder IPC to surfaceflinger (screencap)
+# XXX Run screencap in a separate domain?
+
+#line 101
+# Call the servicemanager and transfer references to it.
+#line 101
+allow adbd servicemanager:binder { call transfer };
+#line 101
+# Allow servicemanager to send out callbacks
+#line 101
+allow servicemanager adbd:binder { call transfer };
+#line 101
+# servicemanager performs getpidcon on clients.
+#line 101
+allow servicemanager adbd:dir search;
+#line 101
+allow servicemanager adbd:file { read open };
+#line 101
+allow servicemanager adbd:process getattr;
+#line 101
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 101
+# all domains in domain.te.
+#line 101
+
+
+#line 102
+# Call the server domain and optionally transfer references to it.
+#line 102
+allow adbd surfaceflinger:binder { call transfer };
+#line 102
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 102
+allow surfaceflinger adbd:binder transfer;
+#line 102
+# Receive and use open files from the server.
+#line 102
+allow adbd surfaceflinger:fd use;
+#line 102
+
+
+#line 103
+# Call the server domain and optionally transfer references to it.
+#line 103
+allow adbd gpuservice:binder { call transfer };
+#line 103
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 103
+allow gpuservice adbd:binder transfer;
+#line 103
+# Receive and use open files from the server.
+#line 103
+allow adbd gpuservice:fd use;
+#line 103
+
+# b/13188914
+allow adbd gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow adbd gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+#line 108
+allow adbd system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 108
+allow adbd system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 108
+
+
+# Needed for various screenshots
+
+#line 111
+typeattribute adbd halclientdomain;
+#line 111
+typeattribute adbd hal_graphics_allocator_client;
+#line 111
+
+#line 111
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 111
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 111
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 111
+
+#line 111
+typeattribute adbd hal_graphics_allocator;
+#line 111
+# Find passthrough HAL implementations
+#line 111
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 111
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 111
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 111
+
+#line 111
+
+
+# Read /data/misc/adb/adb_keys.
+allow adbd adb_keys_file:dir search;
+allow adbd adb_keys_file:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 123
+
+
+# ndk-gdb invokes adb forward to forward the gdbserver socket.
+allow adbd app_data_file:dir search;
+allow adbd app_data_file:sock_file write;
+allow adbd appdomain:unix_stream_socket connectto;
+
+# ndk-gdb invokes adb pull of app_process, linker, and libc.so.
+allow adbd zygote_exec:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd system_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow pulling the SELinux policy for CTS purposes
+allow adbd selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd selinuxfs:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd kernel:security read_policy;
+allow adbd service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd property_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd sepolicy_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow pulling config.gz for CTS purposes
+allow adbd config_gz:file { getattr open read ioctl lock map watch watch_reads };
+
+# For CTS listening ports test.
+allow adbd proc_net_tcp_udp:file { getattr open read ioctl lock map watch watch_reads };
+
+allow adbd gpu_service:service_manager find;
+allow adbd surfaceflinger_service:service_manager find;
+allow adbd bootchart_data_file:dir search;
+allow adbd bootchart_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow access to external storage; we have several visible mount points under /storage
+# and symlinks to primary storage at places like /storage/sdcard0 and /mnt/user/0/primary
+allow adbd storage_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd storage_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow adbd mnt_user_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd mnt_user_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow adbd media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow adbd media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 168
+allow adbd apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 168
+allow adbd apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 168
+
+
+allow adbd rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow killing child "perfetto" binary processes, which auto-transition to
+# their own domain. Allows propagating termination of "adb shell perfetto ..."
+# invocations.
+allow adbd perfetto:process signal;
+
+# Allow to pull Perfetto traces.
+allow adbd perfetto_traces_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd perfetto_traces_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow to pull ProfilingManager Perfetto traces.
+allow adbd perfetto_traces_profiling_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd perfetto_traces_profiling_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow to push and manage configs in /data/misc/perfetto-configs.
+allow adbd perfetto_configs_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow adbd perfetto_configs_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Connect to shell and use a socket transferred from it.
+# Used for e.g. abb.
+allow adbd shell:unix_stream_socket { read write shutdown };
+allow adbd shell:fd use;
+
+# adb push/pull /data/local/tmp.
+allow adbd shell_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow adbd shell_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow pull /vendor/apex files for CTS tests
+
+#line 199
+allow adbd vendor_apex_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 199
+allow adbd vendor_apex_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 199
+
+
+# Allow adb pull of updated apex files in /data/apex/active.
+allow adbd apex_data_file:dir search;
+allow adbd staging_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow adbd to pull /apex/apex-info-list.xml for CTS tests.
+allow adbd apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# allow reading tombstones. users can already use bugreports to get those.
+allow adbd tombstone_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd tombstone_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /data/local/tests.
+allow adbd shell_test_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow adbd shell_test_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow adbd shell_test_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+###
+### Neverallow rules
+###
+
+# No transitions from adbd to non-shell, non-crash_dump domains. adbd only ever
+# transitions to the shell or tradeinmode domain (except when it crashes). In
+# particular, we never want to see a transition from adbd to su (aka "adb root")
+neverallow adbd { domain -crash_dump -shell -adbd_tradeinmode }:process transition;
+neverallow adbd {
+    domain
+    
+    
+    -adbd_tradeinmode
+}:process dyntransition;
+
+# Only init is allowed to enter the adbd domain via exec()
+neverallow { domain -init } adbd:process transition;
+neverallow * adbd:process dyntransition;
+
+# allow adbd to check if an app is frozen
+allow adbd cgroup_v2:file read;
+#line 1 "system/sepolicy/private/adbd_common.te"
+### ADB daemon common rules.
+### Put things here that are needed for both adbd proper and adbd in trade-in mode.
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 5
+allow adbd_common mdnsd_socket:sock_file write;
+#line 5
+allow adbd_common mdnsd:unix_stream_socket connectto;
+#line 5
+
+
+# adbd probes for vsock support. Do not generate denials when
+# this occurs. (b/123569840)
+dontaudit adbd_common self:{ socket vsock_socket } create;
+
+# Allow adbd inside vm to forward vm's vsock.
+allow adbd_common self:vsock_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } listen accept };
+
+# Access device logging gating property
+
+#line 15
+allow adbd_common device_logging_prop:file { getattr open read map };
+#line 15
+
+
+# Use a pseudo tty.
+allow adbd_common devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read persist.adb.tls_server.enable property
+
+#line 21
+allow adbd_common system_adbd_prop:file { getattr open read map };
+#line 21
+
+
+# Read whether or not Test Harness Mode is enabled
+
+#line 24
+allow adbd_common test_harness_prop:file { getattr open read map };
+#line 24
+
+
+# Set service.adb.tcp.port, service.adb.tls.port, persist.adb.wifi.* properties
+
+#line 27
+
+#line 27
+allow adbd_common property_socket:sock_file write;
+#line 27
+allow adbd_common init:unix_stream_socket connectto;
+#line 27
+
+#line 27
+allow adbd_common adbd_prop:property_service set;
+#line 27
+
+#line 27
+allow adbd_common adbd_prop:file { getattr open read map };
+#line 27
+
+#line 27
+
+
+#line 28
+
+#line 28
+allow adbd_common property_socket:sock_file write;
+#line 28
+allow adbd_common init:unix_stream_socket connectto;
+#line 28
+
+#line 28
+allow adbd_common adbd_config_prop:property_service set;
+#line 28
+
+#line 28
+allow adbd_common adbd_config_prop:file { getattr open read map };
+#line 28
+
+#line 28
+
+
+# Read device's serial number from system properties
+
+#line 31
+allow adbd_common serialno_prop:file { getattr open read map };
+#line 31
+
+#line 1 "system/sepolicy/private/adbd_tradeinmode.te"
+### ADB in trade-in mode
+type adbd_tradeinmode, domain, coredomain, adbd_common;
+
+# Create and use network sockets.
+
+#line 5
+typeattribute adbd_tradeinmode netdomain;
+#line 5
+
+
+# Run /system/bin/tradeinmode
+
+#line 8
+# Allow the necessary permissions.
+#line 8
+
+#line 8
+# Old domain may exec the file and transition to the new domain.
+#line 8
+allow adbd_tradeinmode tradeinmode_exec:file { getattr open read execute map };
+#line 8
+allow adbd_tradeinmode tradeinmode:process transition;
+#line 8
+# New domain is entered by executing the file.
+#line 8
+allow tradeinmode tradeinmode_exec:file { entrypoint open read execute getattr map };
+#line 8
+# New domain can send SIGCHLD to its caller.
+#line 8
+allow tradeinmode adbd_tradeinmode:process sigchld;
+#line 8
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 8
+dontaudit adbd_tradeinmode tradeinmode:process noatsecure;
+#line 8
+# XXX dontaudit candidate but requires further study.
+#line 8
+allow adbd_tradeinmode tradeinmode:process { siginh rlimitinh };
+#line 8
+
+#line 8
+# Make the transition occur by default.
+#line 8
+type_transition adbd_tradeinmode tradeinmode_exec:process tradeinmode;
+#line 8
+
+
+# Baseline rules to make adbd work after setcon().
+allow adbd_tradeinmode adbd:unix_stream_socket {
+    { read getattr write setattr lock append bind connect getopt setopt shutdown map }
+    listen
+    accept
+};
+allow adbd_tradeinmode adbd:fd use;
+allow adbd_tradeinmode adbd:unix_dgram_socket { connect write };
+allow adbd_tradeinmode functionfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow adbd_tradeinmode functionfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow adbd_tradeinmode proc_uptime:file { getattr open read ioctl lock map watch watch_reads };
+allow adbd_tradeinmode rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+
+#line 23
+
+#line 23
+allow adbd_tradeinmode property_socket:sock_file write;
+#line 23
+allow adbd_tradeinmode init:unix_stream_socket connectto;
+#line 23
+
+#line 23
+allow adbd_tradeinmode ffs_control_prop:property_service set;
+#line 23
+
+#line 23
+allow adbd_tradeinmode ffs_control_prop:file { getattr open read map };
+#line 23
+
+#line 23
+
+
+# Allow changing persist.adb.tradeinmode when testing.
+
+#line 10 "system/sepolicy/private/aidl_lazy_test_server.te"
+
+#line 1 "system/sepolicy/private/apex_test_prepostinstall.te"
+# APEX pre- & post-install test.
+#
+# Allow to run pre- and post-install hooks for APEX test modules
+# in debuggable builds.
+
+type apex_test_prepostinstall, domain, coredomain;
+type apex_test_prepostinstall_exec, system_file_type, exec_type, file_type;
+
+#line 20
+
+#line 1 "system/sepolicy/private/apexd.te"
+typeattribute apexd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init apexd_exec:file { getattr open read execute map };
+#line 3
+allow init apexd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow apexd apexd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init apexd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init apexd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init apexd_exec:process apexd;
+#line 3
+
+#line 3
+
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow apexd servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager apexd:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager apexd:dir search;
+#line 5
+allow servicemanager apexd:file { read open };
+#line 5
+allow servicemanager apexd:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+#line 6
+  allow apexd apex_service:service_manager { add find };
+#line 6
+  neverallow { domain -apexd } apex_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+
+# Allow creating, reading and writing of APEX files/dirs in the APEX data dir
+allow apexd apex_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow apexd apex_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# Allow relabeling file created in /data/apex/decompressed
+allow apexd apex_data_file:file relabelfrom;
+
+# Allow creating, reading and writing of APEX files/dirs in the APEX metadata dir
+allow apexd metadata_file:dir search;
+allow apexd apex_metadata_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow apexd apex_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow reserving space on /data/apex/ota_reserved for apex decompression
+allow apexd apex_ota_reserved_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow apexd apex_ota_reserved_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow apexd to create files and directories for snapshots of apex data
+allow apexd apex_data_file_type:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow apexd apex_data_file_type:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelto };
+allow apexd apex_module_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow apexd apex_module_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom };
+allow apexd apex_rollback_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow apexd apex_rollback_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow apexd to read /data/misc_de and the directories under it, in order to
+# snapshot and restore apex data for all users.
+allow apexd {
+    system_userdir_file
+    system_data_file
+}:dir { open getattr read search ioctl lock watch watch_reads };
+
+# allow apexd to create loop devices with /dev/loop-control
+allow apexd loop_control_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# allow apexd to access loop devices
+allow apexd loop_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm apexd loop_device:blk_file ioctl {
+  0x00004c05
+  0x00004c04
+  0x00004c00
+  0x00004c09
+  0x00004c08
+  0x00004c01
+  0x00001261
+  0x00004c0a
+};
+# Allow apexd to access /dev/block
+allow apexd dev_type:dir { open getattr read search ioctl lock watch watch_reads };
+allow apexd dev_type:blk_file getattr;
+
+#allow apexd to access virtual disks
+allow apexd vd_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# allow apexd to access /dev/block/dm-* (device-mapper entries)
+allow apexd dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow apexd dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# sys_admin is required to access the device-mapper and mount
+# dac_override, chown, and fowner are needed for snapshot and restore
+allow apexd self:{ capability cap_userns } { sys_admin chown dac_override dac_read_search fowner };
+
+# Note: fsetid is deliberately not included above. fsetid checks are
+# triggered by chmod on a directory or file owned by a group other
+# than one of the groups assigned to the current process to see if
+# the setgid bit should be cleared, regardless of whether the setgid
+# bit was even set.  We do not appear to truly need this capability
+# for apexd to operate.
+dontaudit apexd self:{ capability cap_userns } fsetid;
+
+# allow apexd to create a mount point in /apex
+allow apexd apex_mnt_dir:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+# allow apexd to mount in /apex
+allow apexd apex_mnt_dir:filesystem { mount unmount };
+allow apexd apex_mnt_dir:dir mounton;
+# allow apexd to create symlinks in /apex
+allow apexd apex_mnt_dir:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# allow apexd to create /apex/apex-info-list.xml and relabel to apex_info_file
+allow apexd apex_mnt_dir:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom mounton };
+allow apexd apex_info_file:file relabelto;
+# apexd needs to update /apex/apex-info-list.xml after non-staged APEX update.
+allow apexd apex_info_file:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# allow apexd to unlink apex files in /data/apex/active
+# note that apexd won't be able to unlink files in /data/app-staging/session_XXXX,
+# because it doesn't have write permission for staging_data_file object.
+allow apexd staging_data_file:file unlink;
+
+# allow apexd to read files from /data/app-staging and hardlink them to /data/apex.
+allow apexd staging_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow apexd staging_data_file:file { { getattr open read ioctl lock map watch watch_reads } link };
+# # Allow relabeling file created in /data/apex/decompressed
+allow apexd staging_data_file:file relabelto;
+# Allow renaming files in /data/apex/decompressed (from .ota.apex to .decompressed.apex)
+allow apexd staging_data_file:file rename;
+
+# allow apexd to read files from /vendor/apex
+
+#line 102
+allow apexd vendor_apex_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 102
+allow apexd vendor_apex_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 102
+
+
+#line 103
+allow apexd vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 103
+allow apexd vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 103
+
+
+# Unmount and mount filesystems
+allow apexd labeledfs:filesystem { mount unmount };
+
+# /sys directory tree traversal
+allow apexd sysfs_type:dir search;
+# Access to /sys/class/block
+allow apexd sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+allow apexd sysfs_type:file { getattr open read ioctl lock map watch watch_reads };
+# Configure read-ahead of dm-verity and loop devices
+# for dm-X
+allow apexd sysfs_dm:dir { open getattr read search ioctl lock watch watch_reads };
+allow apexd sysfs_dm:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# for loopX
+allow apexd sysfs_loop:dir { open getattr read search ioctl lock watch watch_reads };
+allow apexd sysfs_loop:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow apexd to log to the kernel.
+allow apexd kmsg_device:chr_file { open append write lock map };
+
+# Allow apexd to reboot device. Required for rollbacks of apexes that are
+# not covered by rollback manager.
+
+#line 126
+
+#line 126
+allow apexd property_socket:sock_file write;
+#line 126
+allow apexd init:unix_stream_socket connectto;
+#line 126
+
+#line 126
+allow apexd powerctl_prop:property_service set;
+#line 126
+
+#line 126
+allow apexd powerctl_prop:file { getattr open read map };
+#line 126
+
+#line 126
+
+
+# Allow apexd to stop itself
+
+#line 129
+
+#line 129
+allow apexd property_socket:sock_file write;
+#line 129
+allow apexd init:unix_stream_socket connectto;
+#line 129
+
+#line 129
+allow apexd ctl_apexd_prop:property_service set;
+#line 129
+
+#line 129
+allow apexd ctl_apexd_prop:file { getattr open read map };
+#line 129
+
+#line 129
+
+
+# Allow apexd to send control messages to load/unload apex from init
+
+#line 132
+
+#line 132
+allow apexd property_socket:sock_file write;
+#line 132
+allow apexd init:unix_stream_socket connectto;
+#line 132
+
+#line 132
+allow apexd ctl_apex_load_prop:property_service set;
+#line 132
+
+#line 132
+allow apexd ctl_apex_load_prop:file { getattr open read map };
+#line 132
+
+#line 132
+
+
+# Find the vold service, and call into vold to manage FS checkpoints
+allow apexd vold_service:service_manager find;
+
+#line 136
+# Call the server domain and optionally transfer references to it.
+#line 136
+allow apexd vold:binder { call transfer };
+#line 136
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 136
+allow vold apexd:binder transfer;
+#line 136
+# Receive and use open files from the server.
+#line 136
+allow apexd vold:fd use;
+#line 136
+
+
+# apexd is using bootstrap bionic
+
+#line 139
+  allow apexd system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 139
+  allow apexd system_bootstrap_lib_file:file { execute read open getattr map };
+#line 139
+
+
+# Allow apexd to be invoked with logwrapper from init during userspace reboot.
+allow apexd devpts:chr_file { read write };
+
+# Allow apexd to create pts files via logwrap_fork_exec for its own use, to pass to
+# other processes
+
+#line 146
+# Each domain gets a unique devpts type.
+#line 146
+type apexd_devpts, fs_type;
+#line 146
+# Label the pty with the unique type when created.
+#line 146
+type_transition apexd devpts:chr_file apexd_devpts;
+#line 146
+# Allow use of the pty after creation.
+#line 146
+allow apexd apexd_devpts:chr_file { open getattr read write ioctl };
+#line 146
+allowxperm apexd apexd_devpts:chr_file ioctl {
+#line 146
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 146
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 146
+};
+#line 146
+# TIOCSTI is only ever used for exploits. Block it.
+#line 146
+# b/33073072, b/7530569
+#line 146
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+#line 146
+neverallowxperm * apexd_devpts:chr_file ioctl 0x00005412;
+#line 146
+# Note: devpts:dir search and ptmx_device:chr_file rw_file_perms
+#line 146
+# allowed to everyone via domain.te.
+#line 146
+
+
+# Allow apexd to read file contexts when performing restorecon of snapshots.
+allow apexd file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow apexd to execute toybox for snapshot & restore
+allow apexd toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow apexd to release compressed blocks in case /data is f2fs-compressed fs.
+allowxperm apexd staging_data_file:file ioctl {
+  0x80086601
+  0xf512
+};
+
+# Allow apexd to read ro.cold_boot_done prop.
+# apexd uses it to decide whether it needs to keep retrying polling for loop device.
+
+#line 162
+allow apexd cold_boot_done_prop:file { getattr open read map };
+#line 162
+
+
+# Allow apexd to read per-device configuration properties.
+
+#line 165
+allow apexd apexd_config_prop:file { getattr open read map };
+#line 165
+
+
+# Allow apexd to read apex selection properties.
+# These are used to choose between multi-installed APEXes at activation time.
+
+#line 169
+allow apexd apexd_select_prop:file { getattr open read map };
+#line 169
+
+#
+# Allow apexd to read apexd_payload_metadata_prop
+
+#line 172
+allow apexd apexd_payload_metadata_prop:file { getattr open read map };
+#line 172
+
+
+
+#line 174
+
+#line 174
+allow apexd property_socket:sock_file write;
+#line 174
+allow apexd init:unix_stream_socket connectto;
+#line 174
+
+#line 174
+allow apexd apexd_prop:property_service set;
+#line 174
+
+#line 174
+allow apexd apexd_prop:file { getattr open read map };
+#line 174
+
+#line 174
+
+
+# Allow for use in postinstall
+allow apexd otapreopt_chroot:fd use;
+allow apexd postinstall_apex_mnt_dir:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow apexd postinstall_apex_mnt_dir:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom };
+allow apexd postinstall_apex_mnt_dir:lnk_file create;
+allow apexd proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow for use in Pre-reboot Dexopt.
+allow apexd dexopt_chroot_setup:fd use;
+
+# Allow calling derive_classpath to gather BCP information for staged sessions
+
+#line 187
+# Allow the necessary permissions.
+#line 187
+
+#line 187
+# Old domain may exec the file and transition to the new domain.
+#line 187
+allow apexd derive_classpath_exec:file { getattr open read execute map };
+#line 187
+allow apexd apexd_derive_classpath:process transition;
+#line 187
+# New domain is entered by executing the file.
+#line 187
+allow apexd_derive_classpath derive_classpath_exec:file { entrypoint open read execute getattr map };
+#line 187
+# New domain can send SIGCHLD to its caller.
+#line 187
+allow apexd_derive_classpath apexd:process sigchld;
+#line 187
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 187
+dontaudit apexd apexd_derive_classpath:process noatsecure;
+#line 187
+# XXX dontaudit candidate but requires further study.
+#line 187
+allow apexd apexd_derive_classpath:process { siginh rlimitinh };
+#line 187
+
+#line 187
+# Make the transition occur by default.
+#line 187
+type_transition apexd derive_classpath_exec:process apexd_derive_classpath;
+#line 187
+;
+
+# Allow set apex ready property
+
+#line 190
+
+#line 190
+allow apexd property_socket:sock_file write;
+#line 190
+allow apexd init:unix_stream_socket connectto;
+#line 190
+
+#line 190
+allow apexd apex_ready_prop:property_service set;
+#line 190
+
+#line 190
+allow apexd apex_ready_prop:file { getattr open read map };
+#line 190
+
+#line 190
+
+
+# Allow apexd to write to statsd.
+
+#line 193
+allow apexd statsdw_socket:sock_file write;
+#line 193
+allow apexd statsd:unix_dgram_socket sendto;
+#line 193
+
+# Allow apexd to call
+allow apexd statsbootstrap_service:service_manager find;
+
+#line 196
+# Call the server domain and optionally transfer references to it.
+#line 196
+allow apexd system_server:binder { call transfer };
+#line 196
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 196
+allow system_server apexd:binder transfer;
+#line 196
+# Receive and use open files from the server.
+#line 196
+allow apexd system_server:fd use;
+#line 196
+ # system_server serves statsbootstrap_service
+
+###
+### Neverallow rules
+###
+
+neverallow { domain -apexd -init } apex_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain -apexd -init } apex_metadata_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain -apexd -init -kernel } apex_data_file:file { append create link unlink relabelfrom rename setattr write };
+neverallow { domain -apexd -init -kernel } apex_metadata_file:file { append create link unlink relabelfrom rename setattr write };
+neverallow { domain -apexd } apex_mnt_dir:lnk_file { append create link unlink relabelfrom rename setattr write };
+
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_module_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_module_data_file:file { append create link unlink relabelfrom rename setattr write };
+
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_rollback_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_rollback_data_file:file { append create link unlink relabelfrom rename setattr write };
+
+# only apexd can set apexd sysprop
+neverallow { domain -apexd -init } apexd_prop:property_service set;
+
+# only apexd can write apex-info-list.xml
+neverallow { domain -apexd } apex_info_file:file { append create link unlink relabelfrom rename setattr write };
+
+# Only apexd and init should be allowed to manage /apex mounts
+# A note on otapreopt_chroot. It used to mount APEXes during postainstall stage of A/B OTAs,
+# but starting from S it just calls into apexd to prepare /apex for otapreoprt. Once the sepolicies
+# around otapreopt_chroot are cleaned up we should be able to remove it from the lists below.
+# dexopt_chroot_setup calls apexd to prepare /apex for Pre-reboot Dexopt, but it
+# needs to mount a tmpfs on /apex for apexd to work on.
+neverallow { domain -apexd -init -otapreopt_chroot } apex_mnt_dir:filesystem { mount unmount };
+neverallow { domain -apexd -dexopt_chroot_setup -init -otapreopt_chroot } apex_mnt_dir:dir mounton;
+
+# The update_provider performs APEX updates. To do this, it needs to be able to find apex_service
+# and make binder calls to apexd.
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -apexd -keystore -system_server -update_engine -update_provider } apex_service:service_manager find;
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -apexd -keystore -system_server -servicemanager -update_engine -update_provider } apexd:binder call;
+
+neverallow { domain  } apexd:process ptrace;
+#line 1 "system/sepolicy/private/apexd_derive_classpath.te"
+# Exclusive domain for apexd calling into derive_classpath binary
+type apexd_derive_classpath, domain, coredomain;
+
+# Allow the binary to write into output file at location /apex/derive_classpath_temp
+allow apexd_derive_classpath apexd:fd use;
+allow apexd_derive_classpath apex_mnt_dir:file { write open };
+# Allow the binary to log using logwrap
+allow apexd_derive_classpath apexd_devpts:chr_file { read write };
+
+#line 1 "system/sepolicy/private/app.te"
+# /proc/net access.
+# TODO(b/9496886) Audit access for removal.
+# proc_net access for the negated domains below is granted (or not) in their
+# individual .te files.
+
+#line 5
+allow {
+#line 5
+  appdomain
+#line 5
+  -ephemeral_app
+#line 5
+  -isolated_app_all
+#line 5
+  -network_stack
+#line 5
+  -platform_app
+#line 5
+  -priv_app
+#line 5
+  -shell
+#line 5
+  -sdk_sandbox_all
+#line 5
+  -system_app
+#line 5
+  -untrusted_app_all
+#line 5
+} proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 5
+allow {
+#line 5
+  appdomain
+#line 5
+  -ephemeral_app
+#line 5
+  -isolated_app_all
+#line 5
+  -network_stack
+#line 5
+  -platform_app
+#line 5
+  -priv_app
+#line 5
+  -shell
+#line 5
+  -sdk_sandbox_all
+#line 5
+  -system_app
+#line 5
+  -untrusted_app_all
+#line 5
+} proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 16
+
+# audit access for all these non-core app domains.
+#line 32
+
+
+# Allow apps to read the Test Harness Mode property. This property is used in
+# the implementation of ActivityManager.isDeviceInTestHarnessMode()
+
+#line 36
+allow appdomain test_harness_prop:file { getattr open read map };
+#line 36
+
+
+
+#line 38
+allow appdomain boot_status_prop:file { getattr open read map };
+#line 38
+
+
+#line 39
+allow appdomain dalvik_config_prop_type:file { getattr open read map };
+#line 39
+
+
+#line 40
+allow appdomain media_config_prop:file { getattr open read map };
+#line 40
+
+
+#line 41
+allow appdomain packagemanager_config_prop:file { getattr open read map };
+#line 41
+
+
+#line 42
+allow appdomain radio_control_prop:file { getattr open read map };
+#line 42
+
+
+#line 43
+allow appdomain surfaceflinger_color_prop:file { getattr open read map };
+#line 43
+
+
+#line 44
+allow appdomain systemsound_config_prop:file { getattr open read map };
+#line 44
+
+
+#line 45
+allow appdomain telephony_config_prop:file { getattr open read map };
+#line 45
+
+
+#line 46
+allow appdomain userspace_reboot_config_prop:file { getattr open read map };
+#line 46
+
+
+#line 47
+allow appdomain vold_config_prop:file { getattr open read map };
+#line 47
+
+
+#line 48
+allow appdomain adbd_config_prop:file { getattr open read map };
+#line 48
+
+
+#line 49
+allow appdomain dck_prop:file { getattr open read map };
+#line 49
+
+
+#line 50
+allow appdomain persist_wm_debug_prop:file { getattr open read map };
+#line 50
+
+
+#line 51
+allow appdomain persist_sysui_builder_extras_prop:file { getattr open read map };
+#line 51
+
+
+#line 52
+allow appdomain persist_sysui_ranking_update_prop:file { getattr open read map };
+#line 52
+
+
+# Allow the heap dump ART plugin to the count of sessions waiting for OOME
+
+#line 55
+allow appdomain traced_oome_heap_session_count_prop:file { getattr open read map };
+#line 55
+
+
+# Allow to read ro.vendor.camera.extensions.enabled
+
+#line 58
+allow appdomain camera2_extensions_prop:file { getattr open read map };
+#line 58
+
+
+# Allow to ro.camerax.extensions.enabled
+
+#line 61
+allow appdomain camerax_extensions_prop:file { getattr open read map };
+#line 61
+
+
+# Prevent apps from causing presubmit failures.
+# Apps can cause selinux denials by accessing CE storage
+# and/or external storage. In either case, the selinux denial is
+# not the cause of the failure, but just a symptom that
+# storage isn't ready. Many apps handle the failure appropriately.
+#
+# Apps cannot access external storage before it becomes available.
+dontaudit appdomain storage_stub_file:dir getattr;
+# Attempts to write to system_data_file is generally a sign
+# that apps are attempting to access encrypted storage before
+# the ACTION_USER_UNLOCKED intent is delivered. Apps are not
+# allowed to write to CE storage before it's available.
+# Attempting to do so will be blocked by both selinux and unix
+# permissions.
+dontaudit appdomain system_data_file:dir write;
+# Apps should not be reading vendor-defined properties.
+dontaudit appdomain vendor_default_prop:file read;
+
+# Access to /mnt/media_rw/<vol> (limited by DAC to apps with external_storage gid)
+allow { appdomain -sdk_sandbox_all } mnt_media_rw_file:dir search;
+
+# allow apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow appdomain system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# Allow to read sendbug.preferred.domain
+
+#line 90
+allow appdomain sendbug_config_prop:file { getattr open read map };
+#line 90
+
+
+# Allow to read graphics related properties.
+
+#line 93
+allow appdomain graphics_config_prop:file { getattr open read map };
+#line 93
+
+
+# Allow to read persist.config.calibration_fac
+
+#line 96
+allow appdomain camera_calibration_prop:file { getattr open read map };
+#line 96
+
+
+# Allow to read db.log.detailed, db.log.slow_query_threshold*
+
+#line 99
+allow appdomain sqlite_log_prop:file { getattr open read map };
+#line 99
+
+
+# Allow to read system_user_mode_emulation_prop, which is used by UserManager.java
+
+
+# Allow font file read by apps.
+allow appdomain font_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow appdomain font_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Enter /data/misc/apexdata/
+allow appdomain apex_module_data_file:dir search;
+# Read /data/misc/apexdata/com.android.art, execute signed AOT artifacts.
+allow appdomain apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow appdomain apex_art_data_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow access to tombstones if an fd to one is given to you.
+# An app cannot open the tombstone itself because it lacks `open`.
+allow appdomain tombstone_data_file:file { getattr read };
+
+# Execute the shell or other system executables.
+allow { appdomain -ephemeral_app -sdk_sandbox_all } shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow { appdomain -ephemeral_app -sdk_sandbox_all } toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow { appdomain -ephemeral_app -sdk_sandbox_all } vendor_file:file { getattr execute execute_no_trans map };
+
+# Allow apps access to /vendor/app except for privileged
+# apps which cannot be in /vendor.
+
+#line 125
+allow { appdomain -ephemeral_app -sdk_sandbox_all } vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 125
+allow { appdomain -ephemeral_app -sdk_sandbox_all } vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 125
+
+allow { appdomain -ephemeral_app -sdk_sandbox_all } vendor_app_file:file execute;
+
+# Allow apps to read microdroid related files in vendor partition for CTS purpose.
+
+#line 129
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } vendor_microdroid_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 129
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } vendor_microdroid_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 129
+
+
+# Perform binder IPC to sdk sandbox.
+
+#line 132
+# Call the server domain and optionally transfer references to it.
+#line 132
+allow appdomain sdk_sandbox_all:binder { call transfer };
+#line 132
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 132
+allow sdk_sandbox_all appdomain:binder transfer;
+#line 132
+# Receive and use open files from the server.
+#line 132
+allow appdomain sdk_sandbox_all:fd use;
+#line 132
+
+
+# Allow apps to communicate via binder with virtual camera service.
+
+#line 135
+# Call the server domain and optionally transfer references to it.
+#line 135
+allow appdomain virtual_camera:binder { call transfer };
+#line 135
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 135
+allow virtual_camera appdomain:binder transfer;
+#line 135
+# Receive and use open files from the server.
+#line 135
+allow appdomain virtual_camera:fd use;
+#line 135
+
+
+# Allow access to external storage; we have several visible mount points under /storage
+# and symlinks to primary storage at places like /storage/sdcard0 and /mnt/user/0/primary
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } storage_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } storage_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } mnt_user_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } mnt_user_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Read/write visible storage
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } { sdcard_type fuse }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } { sdcard_type fuse }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow apps to use the USB Accessory interface.
+# http://developer.android.com/guide/topics/connectivity/usb/accessory.html
+#
+# USB devices are first opened by the system server (USBDeviceManagerService)
+# and the file descriptor is passed to the right Activity via binder.
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } usb_device:chr_file { read write getattr ioctl };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } usbaccessory_device:chr_file { read write getattr };
+
+#logd access
+
+#line 161
+# Group AID_LOG checked by filesystem & logd
+#line 161
+# to permit control commands
+#line 161
+
+#line 161
+allow { appdomain -ephemeral_app -sdk_sandbox_all } logd_socket:sock_file write;
+#line 161
+allow { appdomain -ephemeral_app -sdk_sandbox_all } logd:unix_stream_socket connectto;
+#line 161
+
+#line 161
+
+
+# application inherit logd write socket (urge is to deprecate this long term)
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore:keystore2_key { delete use get_info grant rebind update };
+
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore_maintenance_service:service_manager find;
+
+
+#line 168
+  allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:dir search;
+#line 168
+  allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:file { read open };
+#line 168
+  allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:process getattr;
+#line 168
+  allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } apc_service:service_manager find;
+#line 168
+  allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore_service:service_manager find;
+#line 168
+  allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } legacykeystore_service:service_manager find;
+#line 168
+  
+#line 168
+# Call the server domain and optionally transfer references to it.
+#line 168
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore:binder { call transfer };
+#line 168
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 168
+allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:binder transfer;
+#line 168
+# Receive and use open files from the server.
+#line 168
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore:fd use;
+#line 168
+
+#line 168
+  
+#line 168
+# Call the server domain and optionally transfer references to it.
+#line 168
+allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:binder { call transfer };
+#line 168
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 168
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore:binder transfer;
+#line 168
+# Receive and use open files from the server.
+#line 168
+allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 168
+
+#line 168
+
+
+
+#line 170
+  allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:dir search;
+#line 170
+  allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:file { read open };
+#line 170
+  allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:process getattr;
+#line 170
+  allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } credstore_service:service_manager find;
+#line 170
+  
+#line 170
+# Call the server domain and optionally transfer references to it.
+#line 170
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } credstore:binder { call transfer };
+#line 170
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 170
+allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:binder transfer;
+#line 170
+# Receive and use open files from the server.
+#line 170
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } credstore:fd use;
+#line 170
+
+#line 170
+  
+#line 170
+# Call the server domain and optionally transfer references to it.
+#line 170
+allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:binder { call transfer };
+#line 170
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 170
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } credstore:binder transfer;
+#line 170
+# Receive and use open files from the server.
+#line 170
+allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 170
+
+#line 170
+
+
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } persistent_data_block_service:service_manager find;
+
+# For app fuse.
+
+#line 175
+
+#line 175
+# Allow client to open the service endpoint file.
+#line 175
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_client_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 175
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_client_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 175
+# Allow the client to connect to endpoint socket.
+#line 175
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_client_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 175
+
+#line 175
+
+#line 175
+# Allow the client to use the PDX channel socket.
+#line 175
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 175
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 175
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_client_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 175
+# Client needs to use an channel event fd from the server.
+#line 175
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_client_server_type:fd use;
+#line 175
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 175
+# This could be tightened on a per-server basis, but keeping track of service
+#line 175
+# clients is error prone.
+#line 175
+allow pdx_display_client_server_type { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 175
+
+#line 175
+
+
+#line 176
+
+#line 176
+# Allow client to open the service endpoint file.
+#line 176
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_manager_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 176
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_manager_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 176
+# Allow the client to connect to endpoint socket.
+#line 176
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_manager_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 176
+
+#line 176
+
+#line 176
+# Allow the client to use the PDX channel socket.
+#line 176
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 176
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 176
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_manager_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 176
+# Client needs to use an channel event fd from the server.
+#line 176
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_manager_server_type:fd use;
+#line 176
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 176
+# This could be tightened on a per-server basis, but keeping track of service
+#line 176
+# clients is error prone.
+#line 176
+allow pdx_display_manager_server_type { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 176
+
+#line 176
+
+
+#line 177
+
+#line 177
+# Allow client to open the service endpoint file.
+#line 177
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_vsync_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 177
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_vsync_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 177
+# Allow the client to connect to endpoint socket.
+#line 177
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_vsync_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 177
+
+#line 177
+
+#line 177
+# Allow the client to use the PDX channel socket.
+#line 177
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 177
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 177
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_vsync_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 177
+# Client needs to use an channel event fd from the server.
+#line 177
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_display_vsync_server_type:fd use;
+#line 177
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 177
+# This could be tightened on a per-server basis, but keeping track of service
+#line 177
+# clients is error prone.
+#line 177
+allow pdx_display_vsync_server_type { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 177
+
+#line 177
+
+
+#line 178
+
+#line 178
+# Allow client to open the service endpoint file.
+#line 178
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_performance_client_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 178
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_performance_client_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 178
+# Allow the client to connect to endpoint socket.
+#line 178
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_performance_client_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 178
+
+#line 178
+
+#line 178
+# Allow the client to use the PDX channel socket.
+#line 178
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 178
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 178
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_performance_client_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 178
+# Client needs to use an channel event fd from the server.
+#line 178
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_performance_client_server_type:fd use;
+#line 178
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 178
+# This could be tightened on a per-server basis, but keeping track of service
+#line 178
+# clients is error prone.
+#line 178
+allow pdx_performance_client_server_type { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 178
+
+#line 178
+
+# Apps do not directly open the IPC socket for bufferhubd.
+
+#line 180
+# Allow the client to use the PDX channel socket.
+#line 180
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 180
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 180
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_bufferhub_client_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 180
+# Client needs to use an channel event fd from the server.
+#line 180
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } pdx_bufferhub_client_server_type:fd use;
+#line 180
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 180
+# This could be tightened on a per-server basis, but keeping track of service
+#line 180
+# clients is error prone.
+#line 180
+allow pdx_bufferhub_client_server_type { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:fd use;
+#line 180
+
+
+# Apps receive an open tun fd from the framework for
+# device traffic. Do not allow untrusted app to directly open tun_device
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } tun_device:chr_file { read write getattr append ioctl };
+allowxperm { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } tun_device:chr_file ioctl 0x800454d2;
+
+
+# WebView and other application-specific JIT compilers
+allow appdomain self:process execmem;
+
+allow appdomain { ashmem_device ashmem_libcutils_device }:chr_file execute;
+
+# Receive and use open file descriptors inherited from zygote.
+allow appdomain zygote:fd use;
+
+# Receive and use open file descriptors inherited from app zygote.
+allow appdomain app_zygote:fd use;
+
+# gdbserver for ndk-gdb reads the zygote.
+# valgrind needs mmap exec for zygote
+allow appdomain zygote_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Notify zygote of death;
+allow appdomain zygote:process sigchld;
+
+# Read /data/dalvik-cache.
+allow appdomain dalvikcache_data_file:dir { search getattr };
+allow appdomain dalvikcache_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read the /sdcard and /mnt/sdcard symlinks
+allow { appdomain -isolated_app_all -sdk_sandbox_all } rootfs:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow { appdomain -isolated_app_all -sdk_sandbox_all } tmpfs:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Search /storage/emulated tmpfs mount.
+allow { appdomain -sdk_sandbox_all } tmpfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Notify zygote of the wrapped process PID when using --invoke-with.
+allow appdomain zygote:fifo_file write;
+
+#line 224
+
+
+# Notify shell and adbd of death when spawned via runas for ndk-gdb.
+allow appdomain shell:process sigchld;
+allow appdomain adbd:process sigchld;
+
+# child shell or gdbserver pty access for runas.
+allow appdomain devpts:chr_file { getattr read write ioctl };
+
+# Use pipes and sockets provided by system_server via binder or local socket.
+allow appdomain system_server:fd use;
+allow appdomain system_server:fifo_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow appdomain system_server:unix_stream_socket { read write setopt getattr getopt shutdown };
+allow appdomain system_server:tcp_socket { read write getattr getopt shutdown };
+
+# For AppFuse.
+allow appdomain vold:fd use;
+
+# Communication with other apps via fifos
+allow appdomain appdomain:fifo_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Communicate with surfaceflinger.
+allow appdomain surfaceflinger:unix_stream_socket { read write setopt getattr getopt shutdown };
+
+# App sandbox file accesses.
+allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+}:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 260
+  # an app can read but cannot write to its own directory of storage areas
+#line 260
+  allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } storage_area_app_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 260
+  # an app can write to its storage areas
+#line 260
+  allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } storage_area_dir:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+#line 265
+
+
+allowxperm { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+}:file ioctl 0x6686;
+
+# Access via already open fds is ok even for mlstrustedsubject.
+allow { appdomain -isolated_app_all -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  system_app_data_file
+  storage_area_content_file
+}:file { getattr map read write };
+
+# Access open fds from SDK sandbox
+allow appdomain sdk_sandbox_data_file:file { getattr read };
+
+# Traverse into expanded storage
+allow appdomain mnt_expand_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Keychain and user-trusted credentials
+
+#line 288
+allow appdomain keychain_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 288
+allow appdomain keychain_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 288
+
+allow appdomain misc_user_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow appdomain misc_user_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# TextClassifier
+
+#line 293
+allow { appdomain -isolated_app_all } textclassifier_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 293
+allow { appdomain -isolated_app_all } textclassifier_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 293
+
+
+# Access to OEM provided data and apps
+allow appdomain oemfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow appdomain oemfs:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+allow appdomain system_file:file { getattr execute execute_no_trans map };
+
+# Renderscript needs the ability to read directories on /system
+allow appdomain system_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow appdomain system_file:lnk_file { getattr open read };
+# Renderscript specific permissions to open /system/vendor/lib64.
+
+#line 305
+    allow appdomain vendor_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 305
+    allow appdomain vendor_file_type:lnk_file { getattr open read };
+#line 308
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 310
+
+#line 310
+    # For looking up Renderscript vendor drivers
+#line 310
+    allow { appdomain -isolated_app_all } vendor_file:dir { open read };
+#line 310
+
+#line 310
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 313
+
+
+# Allow apps access to /vendor/overlay
+
+#line 316
+allow appdomain vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 316
+allow appdomain vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 316
+
+
+# Allow apps access to /vendor/framework
+# for vendor provided libraries.
+
+#line 320
+allow appdomain vendor_framework_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 320
+allow appdomain vendor_framework_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 320
+
+
+# Allow apps read / execute access to vendor public libraries.
+allow appdomain {vendor_public_framework_file vendor_public_lib_file}:dir { open getattr read search ioctl lock watch watch_reads };
+allow appdomain {vendor_public_framework_file vendor_public_lib_file}:file { execute read open getattr map };
+
+# Read/write wallpaper file (opened by system).
+allow appdomain wallpaper_file:file { getattr read write map };
+
+# Read/write cached ringtones (opened by system).
+allow appdomain ringtone_file:file { getattr read write map };
+
+# Read ShortcutManager icon files (opened by system).
+allow appdomain shortcut_manager_icons:file { getattr read map };
+
+# Read icon file (opened by system).
+allow appdomain icon_file:file { getattr read map };
+
+# Old stack dumping scheme : append to a global trace file (/data/anr/traces.txt).
+#
+# TODO: All of these permissions except for anr_data_file:file append can be
+# withdrawn once we've switched to the new stack dumping mechanism, see b/32064548
+# and the rules below.
+allow appdomain anr_data_file:dir search;
+allow appdomain anr_data_file:file { open append };
+
+# New stack dumping scheme : request an output FD from tombstoned via a unix
+# domain socket.
+#
+# Allow apps to connect and write to the tombstoned java trace socket in
+# order to dump their traces. Also allow them to append traces to pipes
+# created by dumptrace. (Also see the rules below where they are given
+# additional permissions to dumpstate pipes for other aspects of bug report
+# creation).
+
+#line 354
+allow appdomain tombstoned_java_trace_socket:sock_file write;
+#line 354
+allow appdomain tombstoned:unix_stream_socket connectto;
+#line 354
+
+allow appdomain tombstoned:fd use;
+allow appdomain dumpstate:fifo_file append;
+allow appdomain incidentd:fifo_file append;
+
+# Allow apps to send dump information to dumpstate
+allow appdomain dumpstate:fd use;
+allow appdomain dumpstate:unix_stream_socket { read write getopt getattr shutdown };
+allow appdomain dumpstate:fifo_file { write getattr };
+allow appdomain shell_data_file:file { write getattr };
+
+# Allow apps to send dump information to incidentd
+allow appdomain incidentd:fd use;
+allow appdomain incidentd:fifo_file { write getattr };
+
+# Allow apps to send information to statsd socket.
+
+#line 370
+allow appdomain statsdw_socket:sock_file write;
+#line 370
+allow appdomain statsd:unix_dgram_socket sendto;
+#line 370
+
+
+# Write profiles /data/misc/profiles
+allow appdomain user_profile_root_file:dir search;
+allow appdomain user_profile_data_file:dir { open search write add_name remove_name lock };
+allow appdomain user_profile_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow writing performance tracing data into the perfetto traced daemon.
+# Needed for java heap graph ART plugin (perfetto_hprof).
+# The perfetto profiling daemon will check for the specific application's
+# opt-in/opt-out.
+
+#line 381
+  allow appdomain traced:fd use;
+#line 381
+  allow appdomain traced_tmpfs:file { read write getattr map };
+#line 381
+  
+#line 381
+allow appdomain traced_producer_socket:sock_file write;
+#line 381
+allow appdomain traced:unix_stream_socket connectto;
+#line 381
+
+#line 381
+
+#line 381
+  # Also allow the service to use the producer file descriptors. This is
+#line 381
+  # necessary when the producer is creating the shared memory, as it will be
+#line 381
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 381
+  allow traced appdomain:fd use;
+#line 381
+
+
+# Send heap dumps to system_server via an already open file descriptor
+# % adb shell am set-watch-heap com.android.systemui 1048576
+# % adb shell dumpsys procstats --start-testing
+# debuggable builds only.
+#line 389
+
+
+# Grant GPU access to all processes started by Zygote.
+# They need that to render the standard UI.
+allow { appdomain -isolated_app_all } gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow { appdomain -isolated_app_all } gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow { appdomain -isolated_app_all } sysfs_gpu:file { getattr open read ioctl lock map watch watch_reads };
+
+
+# Use the Binder.
+
+#line 399
+# Call the servicemanager and transfer references to it.
+#line 399
+allow appdomain servicemanager:binder { call transfer };
+#line 399
+# Allow servicemanager to send out callbacks
+#line 399
+allow servicemanager appdomain:binder { call transfer };
+#line 399
+# servicemanager performs getpidcon on clients.
+#line 399
+allow servicemanager appdomain:dir search;
+#line 399
+allow servicemanager appdomain:file { read open };
+#line 399
+allow servicemanager appdomain:process getattr;
+#line 399
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 399
+# all domains in domain.te.
+#line 399
+
+# Perform binder IPC to binder services.
+
+#line 401
+# Call the server domain and optionally transfer references to it.
+#line 401
+allow appdomain binderservicedomain:binder { call transfer };
+#line 401
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 401
+allow binderservicedomain appdomain:binder transfer;
+#line 401
+# Receive and use open files from the server.
+#line 401
+allow appdomain binderservicedomain:fd use;
+#line 401
+
+# Perform binder IPC to other apps.
+
+#line 403
+# Call the server domain and optionally transfer references to it.
+#line 403
+allow appdomain appdomain:binder { call transfer };
+#line 403
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 403
+allow appdomain appdomain:binder transfer;
+#line 403
+# Receive and use open files from the server.
+#line 403
+allow appdomain appdomain:fd use;
+#line 403
+
+# Perform binder IPC to ephemeral apps.
+
+#line 405
+# Call the server domain and optionally transfer references to it.
+#line 405
+allow appdomain ephemeral_app:binder { call transfer };
+#line 405
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 405
+allow ephemeral_app appdomain:binder transfer;
+#line 405
+# Receive and use open files from the server.
+#line 405
+allow appdomain ephemeral_app:fd use;
+#line 405
+
+# Perform binder IPC to gpuservice.
+
+#line 407
+# Call the server domain and optionally transfer references to it.
+#line 407
+allow { appdomain -isolated_app_all } gpuservice:binder { call transfer };
+#line 407
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 407
+allow gpuservice { appdomain -isolated_app_all }:binder transfer;
+#line 407
+# Receive and use open files from the server.
+#line 407
+allow { appdomain -isolated_app_all } gpuservice:fd use;
+#line 407
+
+
+# Talk with graphics composer fences
+allow appdomain hal_graphics_composer:fd use;
+
+# Already connected, unnamed sockets being passed over some other IPC
+# hence no sock_file or connectto permission. This appears to be how
+# Chrome works, may need to be updated as more apps using isolated services
+# are examined.
+allow appdomain appdomain:unix_stream_socket { getopt getattr read write shutdown };
+
+# Backup ability for every app. BMS opens and passes the fd
+# to any app that has backup ability. Hence, no open permissions here.
+allow appdomain backup_data_file:file { read write getattr map };
+allow appdomain cache_backup_file:file { read write getattr map };
+allow appdomain cache_backup_file:dir getattr;
+# Backup ability using 'adb backup'
+allow appdomain system_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow appdomain system_data_file:file { getattr read map };
+
+# Allow read/stat of /data/media files passed by Binder or local socket IPC.
+allow { appdomain -isolated_app_all -sdk_sandbox_all } media_rw_data_file:file { read getattr };
+
+# Read and write /data/data/com.android.providers.telephony files passed over Binder.
+allow { appdomain -isolated_app_all } radio_data_file:file { read write getattr };
+
+# For art.
+allow appdomain dalvikcache_data_file:file execute;
+allow appdomain dalvikcache_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow any app to read shared RELRO files.
+allow appdomain shared_relro_file:dir search;
+allow appdomain shared_relro_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow apps to read/execute installed binaries
+allow appdomain apk_data_file:dir { open getattr read search ioctl lock };
+allow appdomain apk_data_file:file { getattr open read ioctl lock map { getattr execute execute_no_trans map } };
+
+# /data/resource-cache
+allow appdomain resourcecache_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow appdomain resourcecache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# logd access
+
+#line 450
+allow appdomain logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 450
+
+#line 450
+allow appdomain logdr_socket:sock_file write;
+#line 450
+allow appdomain logd:unix_stream_socket connectto;
+#line 450
+
+#line 450
+
+
+allow appdomain zygote:unix_dgram_socket write;
+
+allow appdomain console_device:chr_file { read write };
+
+# only allow unprivileged socket ioctl commands
+allowxperm { appdomain -bluetooth } self:{ rawip_socket tcp_socket udp_socket }
+  ioctl { 
+#line 458
+{
+#line 458
+# Socket ioctls for gathering information about the interface
+#line 458
+0x00008906 0x00008907
+#line 458
+0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
+#line 458
+0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
+#line 458
+# Wireless extension ioctls. Primarily get functions.
+#line 458
+0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
+#line 458
+0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
+#line 458
+0x00008b25 0x00008b27 0x00008b29 0x00008b2d
+#line 458
+} {
+#line 458
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 458
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 458
+} };
+
+allow { appdomain -isolated_app_all } ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow { appdomain -isolated_app_all } dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow { appdomain -isolated_app_all } dmabuf_system_secure_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow AAudio apps to use shared memory file descriptors from the HAL
+allow { appdomain -isolated_app_all } hal_audio:fd use;
+
+# Allow app to access shared memory created by camera HAL1
+allow { appdomain -isolated_app_all } hal_camera:fd use;
+
+# Allow apps to access shared memory file descriptor from the tuner HAL
+allow {appdomain -isolated_app_all} hal_tv_tuner_server:fd use;
+
+# Allow app to access shared memory created by PowerHAL for FMQ use
+allow { appdomain -isolated_app_all } hal_power_server:fd use;
+
+# RenderScript always-passthrough HAL
+allow { appdomain -isolated_app_all } hal_renderscript_hwservice:hwservice_manager find;
+allow appdomain same_process_hal_file:file { execute read open getattr map };
+
+# TODO: switch to meminfo service
+allow appdomain proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# For app fuse.
+allow appdomain app_fuse_file:file { getattr read append write map };
+
+###
+### CTS-specific rules
+###
+
+# For cts/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java.
+# testRunAsHasCorrectCapabilities
+allow appdomain runas_exec:file getattr;
+# Others are either allowed elsewhere or not desired.
+
+
+#line 495
+allow appdomain high_barometer_quality_prop:file { getattr open read map };
+#line 495
+
+
+# Connect to adbd and use a socket transferred from it.
+# This is used for e.g. adb backup/restore.
+allow appdomain adbd:unix_stream_socket connectto;
+allow appdomain adbd:fd use;
+allow appdomain adbd:unix_stream_socket { getattr getopt ioctl read write shutdown };
+
+allow appdomain cache_file:dir getattr;
+
+# Allow apps to run with asanwrapper.
+
+
+# Read access to FDs from the DropboxManagerService.
+allow appdomain dropbox_data_file:file { getattr read };
+
+# Read tmpfs types from these processes.
+allow appdomain audioserver_tmpfs:file { getattr map read write };
+allow appdomain system_server_tmpfs:file { getattr map read write };
+allow appdomain zygote_tmpfs:file { map read };
+
+###
+### Neverallow rules
+###
+### These are things that Android apps should NEVER be able to do
+###
+
+# Superuser capabilities.
+# bluetooth requires net_admin and wake_alarm. network stack app requires net_admin.
+neverallow { appdomain -bluetooth -network_stack } self:{ capability capability2 cap_userns cap2_userns } *;
+
+# Block device access.
+neverallow appdomain dev_type:blk_file { read write };
+
+# Note: Try expanding list of app domains in the future.
+neverallow { untrusted_app isolated_app shell } graphics_device:chr_file { read write };
+
+neverallow { appdomain -nfc } nfc_device:chr_file
+    { read write };
+neverallow { appdomain -bluetooth } hci_attach_dev:chr_file
+    { read write };
+neverallow appdomain tee_device:chr_file { read write };
+
+# Privileged netlink socket interfaces.
+neverallow { appdomain -network_stack }
+    domain:{
+        netlink_tcpdiag_socket
+        netlink_nflog_socket
+        netlink_xfrm_socket
+        netlink_audit_socket
+        netlink_dnrt_socket
+    } *;
+
+# These messages are broadcast messages from the kernel to userspace.
+# Do not allow the writing of netlink messages, which has been a source
+# of rooting vulns in the past.
+neverallow { appdomain -network_stack }
+    domain:netlink_kobject_uevent_socket { write append };
+
+# Sockets under /dev/socket that are not specifically typed.
+neverallow appdomain socket_device:sock_file write;
+
+# Unix domain sockets.
+neverallow appdomain adbd_socket:sock_file write;
+neverallow { appdomain -radio } rild_socket:sock_file write;
+
+# ptrace access to non-app domains.
+neverallow appdomain { domain -appdomain }:process ptrace;
+
+# The Android security model guarantees the confidentiality and integrity
+# of application data and execution state. Ptrace bypasses those
+# confidentiality guarantees. Disallow ptrace access from system components
+# to apps. Crash_dump is excluded, as it needs ptrace access to
+# produce stack traces.  llkd is excluded, as it needs ptrace access to
+# inspect stack traces for live lock conditions.
+
+neverallow {
+  domain
+  -appdomain
+  -crash_dump
+  
+} appdomain:process ptrace;
+
+# Read or write access to /proc/pid entries for any non-app domain.
+# A different form of hidepid=2 like protections
+neverallow appdomain { domain -appdomain }:file { append create link unlink relabelfrom rename setattr write };
+neverallow { appdomain -shell } { domain -appdomain }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# signal access to non-app domains.
+# sigchld allowed for parent death notification.
+# signull allowed for kill(pid, 0) existence test.
+# All others prohibited.
+# -perfetto is to allow shell (which is an appdomain) to kill perfetto
+# (see private/shell.te).
+neverallow appdomain { domain -appdomain -perfetto }:process
+    { sigkill sigstop signal };
+
+# Write to rootfs.
+neverallow appdomain rootfs:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to /system.
+neverallow appdomain system_file_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to entrypoint executables.
+neverallow appdomain exec_type:file
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to system-owned parts of /data.
+# This is the default type for anything under /data not otherwise
+# specified in file_contexts.  Define a different type for portions
+# that should be writable by apps.
+neverallow appdomain system_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to various other parts of /data.
+neverallow appdomain drm_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -platform_app }
+    apk_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -platform_app }
+    apk_private_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -platform_app }
+    apk_private_tmp_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -shell }
+    shell_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -bluetooth }
+    bluetooth_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { domain -credstore -init } credstore_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } *;
+neverallow appdomain
+    keystore_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow appdomain
+    systemkeys_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow appdomain
+    wifi_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow appdomain
+    dhcp_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# access tmp apk files
+neverallow { appdomain -platform_app }
+    apk_tmp_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Access to factory files.
+neverallow appdomain efs_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+neverallow { appdomain -shell } efs_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } read;
+
+# Write to various pseudo file systems.
+neverallow { appdomain -bluetooth -nfc }
+    sysfs:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+neverallow appdomain
+    proc:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Access to syslog(2) or /proc/kmsg.
+neverallow appdomain kernel:system { syslog_read syslog_mod syslog_console };
+
+# SELinux is not an API for apps to use
+neverallow { appdomain -shell } *:security { compute_av check_context };
+neverallow { appdomain -shell } *:netlink_selinux_socket *;
+
+# Ability to perform any filesystem operation other than statfs(2).
+# i.e. no mount(2), unmount(2), etc.
+neverallow appdomain fs_type:filesystem ~getattr;
+
+# prevent creation/manipulation of globally readable symlinks
+neverallow appdomain {
+  apk_data_file
+  cache_file
+  cache_recovery_file
+  dev_type
+  rootfs
+  system_file
+  tmpfs
+}:lnk_file { append create link unlink relabelfrom rename setattr write };
+
+# Applications should use the activity model for receiving events
+neverallow {
+  appdomain
+  -shell # bugreport
+} input_device:chr_file ~getattr;
+
+# Do not allow access to Bluetooth-related system properties except for a few allowed domains.
+# neverallow rules for access to Bluetooth-related data files are above.
+neverallow {
+  appdomain
+  -bluetooth
+  -system_app
+} { bluetooth_audio_hal_prop bluetooth_a2dp_offload_prop bluetooth_prop exported_bluetooth_prop }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow system_app to access Nfc-related system properties.
+
+#line 695
+
+#line 695
+allow system_app property_socket:sock_file write;
+#line 695
+allow system_app init:unix_stream_socket connectto;
+#line 695
+
+#line 695
+allow system_app nfc_prop:property_service set;
+#line 695
+
+#line 695
+allow system_app nfc_prop:file { getattr open read map };
+#line 695
+
+#line 695
+
+
+# allow system_app to access radio_config system properties.
+
+#line 698
+
+#line 698
+allow system_app property_socket:sock_file write;
+#line 698
+allow system_app init:unix_stream_socket connectto;
+#line 698
+
+#line 698
+allow system_app radio_control_prop:property_service set;
+#line 698
+
+#line 698
+allow system_app radio_control_prop:file { getattr open read map };
+#line 698
+
+#line 698
+
+
+# Apps cannot access proc_uid_time_in_state
+neverallow appdomain proc_uid_time_in_state:file *;
+
+# Apps cannot access proc_uid_concurrent_active_time
+neverallow appdomain proc_uid_concurrent_active_time:file *;
+
+# Apps cannot access proc_uid_concurrent_policy_time
+neverallow appdomain proc_uid_concurrent_policy_time:file *;
+
+# Apps cannot access proc_uid_cpupower
+neverallow appdomain proc_uid_cpupower:file *;
+
+# Apps may not read /proc/net/{tcp,tcp6,udp,udp6}. These files leak information across the
+# application boundary. VPN apps may use the ConnectivityManager.getConnectionOwnerUid() API to
+# perform UID lookups.
+neverallow { appdomain -shell } proc_net_tcp_udp:file *;
+
+# Apps cannot access bootstrap files. The bootstrap files are only for
+# extremely early processes (like init, etc.) which are started before
+# the runtime APEX is activated and Bionic libs are provided from there.
+# If app process accesses (or even load/execute) the bootstrap files,
+# it might cause problems such as ODR violation, etc.
+neverallow appdomain system_bootstrap_lib_file:file
+    { open read write append execute execute_no_trans map };
+neverallow appdomain system_bootstrap_lib_file:dir
+    { open read getattr search };
+
+# Sensitive app domains are not allowed to execute from /data
+# to prevent persistence attacks and ensure all code is executed
+# from read-only locations.
+neverallow {
+  bluetooth
+  isolated_app_all
+  nfc
+  radio
+  shared_relro
+  sdk_sandbox_all
+  system_app
+} {
+  data_file_type
+  -apex_art_data_file
+  -dalvikcache_data_file
+  -system_data_file # shared libs in apks
+  -apk_data_file
+}:file { execute execute_no_trans };
+
+# Don't allow apps access to any of the following character devices.
+neverallow appdomain {
+    audio_device
+    camera_device
+    dm_device
+    radio_device
+    rpmsg_device
+}:chr_file { read write };
+
+# Block video device access for all apps except the DeviceAsWebcam Service which
+# needs access to /dev/video* for interfacing with the host
+neverallow {
+    appdomain
+    -device_as_webcam
+} video_device:chr_file { read write };
+
+# Prevent calling inotify on APKs. This can be used as a side channel
+# to observer app launches, so it must be disallowed. b/231587164
+# Gate by targetSdkVersion to avoid breaking existing apps.
+neverallow {
+  appdomain
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} apk_data_file:dir { watch watch_reads };
+neverallow {
+  appdomain
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} apk_data_file:file { watch watch_reads };
+
+neverallow appdomain system_server:udp_socket {
+        accept append bind create ioctl listen lock name_bind
+        relabelfrom relabelto setattr shutdown };
+
+# Transition to a non-app domain.
+# Exception for the shell and su domains, can transition to runas, etc.
+# Exception for crash_dump to allow for app crash reporting.
+# Exception for renderscript binaries (/system/bin/bcc, /system/bin/ld.mc)
+# to allow renderscript to create privileged executable files.
+# Exception for virtualizationmanager to allow running VMs as child processes.
+neverallow { appdomain -shell  }
+    { domain -appdomain -crash_dump -rs -virtualizationmanager }:process { transition };
+neverallow { appdomain -shell  }
+    { domain -appdomain }:process { dyntransition };
+
+# Don't allow regular apps access to storage configuration properties.
+neverallow { appdomain -mediaprovider_app } storage_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Don't allow apps reading /system/etc/font_fallback.xml
+dontaudit appdomain system_font_fallback_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow appdomain system_font_fallback_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow { appdomain -shell } tombstone_data_file:file ~{ getattr read };
+
+#line 805
+  # Files and directories that apps write to their storage areas
+#line 805
+  # should have type storage_area_content_file
+#line 805
+  type_transition {
+#line 805
+    appdomain
+#line 805
+    -isolated_app_all
+#line 805
+    -ephemeral_app
+#line 805
+    -sdk_sandbox_all
+#line 805
+  } storage_area_dir:{ { file lnk_file sock_file fifo_file } dir } storage_area_content_file;
+#line 814
+
+#line 1 "system/sepolicy/private/app_neverallows.te"
+###
+### neverallow rules for untrusted app domains
+###
+
+#line 18
+
+# Receive or send uevent messages.
+neverallow {
+#line 20
+  ephemeral_app
+#line 20
+  isolated_app
+#line 20
+  isolated_app_all
+#line 20
+  isolated_compute_app
+#line 20
+  mediaprovider
+#line 20
+  mediaprovider_app
+#line 20
+  untrusted_app
+#line 20
+  untrusted_app_25
+#line 20
+  untrusted_app_27
+#line 20
+  untrusted_app_29
+#line 20
+  untrusted_app_30
+#line 20
+  untrusted_app_all
+#line 20
+} domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow {
+#line 23
+  ephemeral_app
+#line 23
+  isolated_app
+#line 23
+  isolated_app_all
+#line 23
+  isolated_compute_app
+#line 23
+  mediaprovider
+#line 23
+  mediaprovider_app
+#line 23
+  untrusted_app
+#line 23
+  untrusted_app_25
+#line 23
+  untrusted_app_27
+#line 23
+  untrusted_app_29
+#line 23
+  untrusted_app_30
+#line 23
+  untrusted_app_all
+#line 23
+} domain:netlink_socket *;
+
+# Read or write kernel printk buffer
+neverallow {
+#line 26
+  ephemeral_app
+#line 26
+  isolated_app
+#line 26
+  isolated_app_all
+#line 26
+  isolated_compute_app
+#line 26
+  mediaprovider
+#line 26
+  mediaprovider_app
+#line 26
+  untrusted_app
+#line 26
+  untrusted_app_25
+#line 26
+  untrusted_app_27
+#line 26
+  untrusted_app_29
+#line 26
+  untrusted_app_30
+#line 26
+  untrusted_app_all
+#line 26
+} kmsg_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow {
+#line 30
+  ephemeral_app
+#line 30
+  isolated_app
+#line 30
+  isolated_app_all
+#line 30
+  isolated_compute_app
+#line 30
+  mediaprovider
+#line 30
+  mediaprovider_app
+#line 30
+  untrusted_app
+#line 30
+  untrusted_app_25
+#line 30
+  untrusted_app_27
+#line 30
+  untrusted_app_29
+#line 30
+  untrusted_app_30
+#line 30
+  untrusted_app_all
+#line 30
+} { debugfs_type -debugfs_kcov }:file read;
+neverallow {{
+#line 31
+  ephemeral_app
+#line 31
+  isolated_app
+#line 31
+  isolated_app_all
+#line 31
+  isolated_compute_app
+#line 31
+  mediaprovider
+#line 31
+  mediaprovider_app
+#line 31
+  untrusted_app
+#line 31
+  untrusted_app_25
+#line 31
+  untrusted_app_27
+#line 31
+  untrusted_app_29
+#line 31
+  untrusted_app_30
+#line 31
+  untrusted_app_all
+#line 31
+} } debugfs_type:{ file lnk_file } read;
+
+# Do not allow untrusted apps to register services.
+# Only trusted components of Android should be registering
+# services.
+neverallow {
+#line 36
+  ephemeral_app
+#line 36
+  isolated_app
+#line 36
+  isolated_app_all
+#line 36
+  isolated_compute_app
+#line 36
+  mediaprovider
+#line 36
+  mediaprovider_app
+#line 36
+  untrusted_app
+#line 36
+  untrusted_app_25
+#line 36
+  untrusted_app_27
+#line 36
+  untrusted_app_29
+#line 36
+  untrusted_app_30
+#line 36
+  untrusted_app_all
+#line 36
+} service_manager_type:service_manager add;
+
+# Do not allow untrusted apps to use VendorBinder
+neverallow {
+#line 39
+  ephemeral_app
+#line 39
+  isolated_app
+#line 39
+  isolated_app_all
+#line 39
+  isolated_compute_app
+#line 39
+  mediaprovider
+#line 39
+  mediaprovider_app
+#line 39
+  untrusted_app
+#line 39
+  untrusted_app_25
+#line 39
+  untrusted_app_27
+#line 39
+  untrusted_app_29
+#line 39
+  untrusted_app_30
+#line 39
+  untrusted_app_all
+#line 39
+} vndbinder_device:chr_file *;
+neverallow {
+#line 40
+  ephemeral_app
+#line 40
+  isolated_app
+#line 40
+  isolated_app_all
+#line 40
+  isolated_compute_app
+#line 40
+  mediaprovider
+#line 40
+  mediaprovider_app
+#line 40
+  untrusted_app
+#line 40
+  untrusted_app_25
+#line 40
+  untrusted_app_27
+#line 40
+  untrusted_app_29
+#line 40
+  untrusted_app_30
+#line 40
+  untrusted_app_all
+#line 40
+} vndservice_manager_type:service_manager *;
+
+# Do not allow untrusted apps to connect to the property service
+# or set properties. b/10243159
+neverallow { {
+#line 44
+  ephemeral_app
+#line 44
+  isolated_app
+#line 44
+  isolated_app_all
+#line 44
+  isolated_compute_app
+#line 44
+  mediaprovider
+#line 44
+  mediaprovider_app
+#line 44
+  untrusted_app
+#line 44
+  untrusted_app_25
+#line 44
+  untrusted_app_27
+#line 44
+  untrusted_app_29
+#line 44
+  untrusted_app_30
+#line 44
+  untrusted_app_all
+#line 44
+} -mediaprovider } property_socket:sock_file write;
+neverallow { {
+#line 45
+  ephemeral_app
+#line 45
+  isolated_app
+#line 45
+  isolated_app_all
+#line 45
+  isolated_compute_app
+#line 45
+  mediaprovider
+#line 45
+  mediaprovider_app
+#line 45
+  untrusted_app
+#line 45
+  untrusted_app_25
+#line 45
+  untrusted_app_27
+#line 45
+  untrusted_app_29
+#line 45
+  untrusted_app_30
+#line 45
+  untrusted_app_all
+#line 45
+} -mediaprovider } init:unix_stream_socket connectto;
+neverallow { {
+#line 46
+  ephemeral_app
+#line 46
+  isolated_app
+#line 46
+  isolated_app_all
+#line 46
+  isolated_compute_app
+#line 46
+  mediaprovider
+#line 46
+  mediaprovider_app
+#line 46
+  untrusted_app
+#line 46
+  untrusted_app_25
+#line 46
+  untrusted_app_27
+#line 46
+  untrusted_app_29
+#line 46
+  untrusted_app_30
+#line 46
+  untrusted_app_all
+#line 46
+} -mediaprovider } property_type:property_service set;
+
+# Do not allow untrusted apps to modify temporarily staged APKs.
+neverallow {
+#line 49
+  ephemeral_app
+#line 49
+  isolated_app
+#line 49
+  isolated_app_all
+#line 49
+  isolated_compute_app
+#line 49
+  mediaprovider
+#line 49
+  mediaprovider_app
+#line 49
+  untrusted_app
+#line 49
+  untrusted_app_25
+#line 49
+  untrusted_app_27
+#line 49
+  untrusted_app_29
+#line 49
+  untrusted_app_30
+#line 49
+  untrusted_app_all
+#line 49
+} { apk_tmp_file apk_private_tmp_file }:{ { chr_file blk_file } dir fifo_file lnk_file sock_file } *;
+neverallow {
+#line 50
+  ephemeral_app
+#line 50
+  isolated_app
+#line 50
+  isolated_app_all
+#line 50
+  isolated_compute_app
+#line 50
+  mediaprovider
+#line 50
+  mediaprovider_app
+#line 50
+  untrusted_app
+#line 50
+  untrusted_app_25
+#line 50
+  untrusted_app_27
+#line 50
+  untrusted_app_29
+#line 50
+  untrusted_app_30
+#line 50
+  untrusted_app_all
+#line 50
+} { apk_tmp_file apk_private_tmp_file }:file ~{ getattr read map };
+
+# net.dns properties are not a public API. Disallow untrusted apps from reading this property.
+neverallow { {
+#line 53
+  ephemeral_app
+#line 53
+  isolated_app
+#line 53
+  isolated_app_all
+#line 53
+  isolated_compute_app
+#line 53
+  mediaprovider
+#line 53
+  mediaprovider_app
+#line 53
+  untrusted_app
+#line 53
+  untrusted_app_25
+#line 53
+  untrusted_app_27
+#line 53
+  untrusted_app_29
+#line 53
+  untrusted_app_30
+#line 53
+  untrusted_app_all
+#line 53
+} } net_dns_prop:file read;
+
+# radio_cdma_ecm_prop properties are not a public API. Disallow untrusted apps from reading this property.
+neverallow { {
+#line 56
+  ephemeral_app
+#line 56
+  isolated_app
+#line 56
+  isolated_app_all
+#line 56
+  isolated_compute_app
+#line 56
+  mediaprovider
+#line 56
+  mediaprovider_app
+#line 56
+  untrusted_app
+#line 56
+  untrusted_app_25
+#line 56
+  untrusted_app_27
+#line 56
+  untrusted_app_29
+#line 56
+  untrusted_app_30
+#line 56
+  untrusted_app_all
+#line 56
+} } radio_cdma_ecm_prop:file read;
+
+# Shared libraries created by trusted components within an app home
+# directory can be dlopen()ed. To maintain the W^X property, these files
+# must never be writable to the app.
+neverallow {
+#line 61
+  ephemeral_app
+#line 61
+  isolated_app
+#line 61
+  isolated_app_all
+#line 61
+  isolated_compute_app
+#line 61
+  mediaprovider
+#line 61
+  mediaprovider_app
+#line 61
+  untrusted_app
+#line 61
+  untrusted_app_25
+#line 61
+  untrusted_app_27
+#line 61
+  untrusted_app_29
+#line 61
+  untrusted_app_30
+#line 61
+  untrusted_app_all
+#line 61
+} app_exec_data_file:file
+  { append create link relabelfrom relabelto rename setattr write };
+
+# Block calling execve() on files in an apps home directory.
+# This is a W^X violation (loading executable code from a writable
+# home directory). For compatibility, allow for targetApi <= 28.
+# b/112357170
+neverallow {
+  {
+#line 69
+  ephemeral_app
+#line 69
+  isolated_app
+#line 69
+  isolated_app_all
+#line 69
+  isolated_compute_app
+#line 69
+  mediaprovider
+#line 69
+  mediaprovider_app
+#line 69
+  untrusted_app
+#line 69
+  untrusted_app_25
+#line 69
+  untrusted_app_27
+#line 69
+  untrusted_app_29
+#line 69
+  untrusted_app_30
+#line 69
+  untrusted_app_all
+#line 69
+}
+  -untrusted_app_25
+  -untrusted_app_27
+  -runas_app
+} { app_data_file privapp_data_file }:file execute_no_trans;
+
+
+#line 75
+  # block apps from executing files in their storage areas
+#line 75
+  # this is a stronger and more desirable guarantee than blocking execute_no_trans, but
+#line 75
+  # execute cannot be blocked on all of app_data_file without causing
+#line 75
+  # backwards compatibility issues (see b/237289679)
+#line 75
+  neverallow appdomain storage_area_content_file:file execute;
+#line 81
+
+
+
+#line 83
+     # dont allow apps to modify their own directories of storage areas
+#line 83
+    neverallow appdomain storage_area_app_dir:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } {
+#line 83
+        create write setattr relabelfrom relabelto append unlink link rename
+#line 83
+    };
+#line 88
+
+
+# Do not allow untrusted apps to invoke dex2oat. This was historically required
+# by ART for compiling secondary dex files but has been removed in Q.
+# Exempt legacy apps (targetApi<=28) for compatibility.
+neverallow {
+  {
+#line 94
+  ephemeral_app
+#line 94
+  isolated_app
+#line 94
+  isolated_app_all
+#line 94
+  isolated_compute_app
+#line 94
+  mediaprovider
+#line 94
+  mediaprovider_app
+#line 94
+  untrusted_app
+#line 94
+  untrusted_app_25
+#line 94
+  untrusted_app_27
+#line 94
+  untrusted_app_29
+#line 94
+  untrusted_app_30
+#line 94
+  untrusted_app_all
+#line 94
+}
+  -untrusted_app_25
+  -untrusted_app_27
+} dex2oat_exec:file { execute execute_no_trans };
+
+# Do not allow untrusted apps to be assigned mlstrustedsubject.
+# This would undermine the per-user isolation model being
+# enforced via levelFrom=user in seapp_contexts and the mls
+# constraints.  As there is no direct way to specify a neverallow
+# on attribute assignment, this relies on the fact that fork
+# permission only makes sense within a domain (hence should
+# never be granted to any other domain within mlstrustedsubject)
+# and an untrusted app is allowed fork permission to itself.
+neverallow {
+#line 107
+  ephemeral_app
+#line 107
+  isolated_app
+#line 107
+  isolated_app_all
+#line 107
+  isolated_compute_app
+#line 107
+  mediaprovider
+#line 107
+  mediaprovider_app
+#line 107
+  untrusted_app
+#line 107
+  untrusted_app_25
+#line 107
+  untrusted_app_27
+#line 107
+  untrusted_app_29
+#line 107
+  untrusted_app_30
+#line 107
+  untrusted_app_all
+#line 107
+} mlstrustedsubject:process fork;
+
+# Do not allow untrusted apps to hard link to any files.
+# In particular, if an untrusted app links to other app data
+# files, installd will not be able to guarantee the deletion
+# of the linked to file. Hard links also contribute to security
+# bugs, so we want to ensure untrusted apps never have this
+# capability.
+neverallow {
+#line 115
+  ephemeral_app
+#line 115
+  isolated_app
+#line 115
+  isolated_app_all
+#line 115
+  isolated_compute_app
+#line 115
+  mediaprovider
+#line 115
+  mediaprovider_app
+#line 115
+  untrusted_app
+#line 115
+  untrusted_app_25
+#line 115
+  untrusted_app_27
+#line 115
+  untrusted_app_29
+#line 115
+  untrusted_app_30
+#line 115
+  untrusted_app_all
+#line 115
+} file_type:file link;
+
+# Do not allow untrusted apps to access network MAC address file
+neverallow {
+#line 118
+  ephemeral_app
+#line 118
+  isolated_app
+#line 118
+  isolated_app_all
+#line 118
+  isolated_compute_app
+#line 118
+  mediaprovider
+#line 118
+  mediaprovider_app
+#line 118
+  untrusted_app
+#line 118
+  untrusted_app_25
+#line 118
+  untrusted_app_27
+#line 118
+  untrusted_app_29
+#line 118
+  untrusted_app_30
+#line 118
+  untrusted_app_all
+#line 118
+} sysfs_net:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Do not allow any write access to files in /sys
+neverallow {
+#line 121
+  ephemeral_app
+#line 121
+  isolated_app
+#line 121
+  isolated_app_all
+#line 121
+  isolated_compute_app
+#line 121
+  mediaprovider
+#line 121
+  mediaprovider_app
+#line 121
+  untrusted_app
+#line 121
+  untrusted_app_25
+#line 121
+  untrusted_app_27
+#line 121
+  untrusted_app_29
+#line 121
+  untrusted_app_30
+#line 121
+  untrusted_app_all
+#line 121
+} sysfs_type:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+
+# Apps may never access the default sysfs label.
+neverallow {
+#line 124
+  ephemeral_app
+#line 124
+  isolated_app
+#line 124
+  isolated_app_all
+#line 124
+  isolated_compute_app
+#line 124
+  mediaprovider
+#line 124
+  mediaprovider_app
+#line 124
+  untrusted_app
+#line 124
+  untrusted_app_25
+#line 124
+  untrusted_app_27
+#line 124
+  untrusted_app_29
+#line 124
+  untrusted_app_30
+#line 124
+  untrusted_app_all
+#line 124
+} sysfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Restrict socket ioctls. Either 1. disallow privileged ioctls, 2. disallow the
+# ioctl permission, or 3. disallow the socket class.
+neverallowxperm {
+#line 128
+  ephemeral_app
+#line 128
+  isolated_app
+#line 128
+  isolated_app_all
+#line 128
+  isolated_compute_app
+#line 128
+  mediaprovider
+#line 128
+  mediaprovider_app
+#line 128
+  untrusted_app
+#line 128
+  untrusted_app_25
+#line 128
+  untrusted_app_27
+#line 128
+  untrusted_app_29
+#line 128
+  untrusted_app_30
+#line 128
+  untrusted_app_all
+#line 128
+} domain:{ icmp_socket rawip_socket tcp_socket udp_socket } ioctl 
+#line 128
+{
+#line 128
+# qualcomm rmnet ioctls
+#line 128
+0x00006900 0x00006902
+#line 128
+# socket ioctls
+#line 128
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 128
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 128
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 128
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 128
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 128
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 128
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 128
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 128
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 128
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 128
+# device and protocol specific ioctls
+#line 128
+0x000089f0-0x000089ff
+#line 128
+0x000089e0-0x000089ef
+#line 128
+# Wireless extension ioctls
+#line 128
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 128
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 128
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 128
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 128
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 128
+0x00008b34 0x00008b35 0x00008b36
+#line 128
+# Dev private ioctl i.e. hardware specific ioctls
+#line 128
+0x00008be0-0x00008bff
+#line 128
+};
+neverallow {
+#line 129
+  ephemeral_app
+#line 129
+  isolated_app
+#line 129
+  isolated_app_all
+#line 129
+  isolated_compute_app
+#line 129
+  mediaprovider
+#line 129
+  mediaprovider_app
+#line 129
+  untrusted_app
+#line 129
+  untrusted_app_25
+#line 129
+  untrusted_app_27
+#line 129
+  untrusted_app_29
+#line 129
+  untrusted_app_30
+#line 129
+  untrusted_app_all
+#line 129
+} *:{ netlink_route_socket netlink_selinux_socket } ioctl;
+neverallow {
+#line 130
+  ephemeral_app
+#line 130
+  isolated_app
+#line 130
+  isolated_app_all
+#line 130
+  isolated_compute_app
+#line 130
+  mediaprovider
+#line 130
+  mediaprovider_app
+#line 130
+  untrusted_app
+#line 130
+  untrusted_app_25
+#line 130
+  untrusted_app_27
+#line 130
+  untrusted_app_29
+#line 130
+  untrusted_app_30
+#line 130
+  untrusted_app_all
+#line 130
+} *:{
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket sctp_socket
+  ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket
+  atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket kcm_socket qipcrtr_socket smc_socket xdp_socket
+} *;
+
+# Apps can read/write an already open vsock (e.g. created by
+# virtualizationservice) but nothing more than that (e.g. creating a
+# new vsock, etc.)
+neverallow {
+#line 147
+  ephemeral_app
+#line 147
+  isolated_app
+#line 147
+  isolated_app_all
+#line 147
+  isolated_compute_app
+#line 147
+  mediaprovider
+#line 147
+  mediaprovider_app
+#line 147
+  untrusted_app
+#line 147
+  untrusted_app_25
+#line 147
+  untrusted_app_27
+#line 147
+  untrusted_app_29
+#line 147
+  untrusted_app_30
+#line 147
+  untrusted_app_all
+#line 147
+} *:vsock_socket ~{ getattr getopt read write };
+
+# Disallow sending RTM_GETLINK messages on netlink sockets.
+neverallow {
+#line 150
+  ephemeral_app
+#line 150
+  isolated_app
+#line 150
+  isolated_app_all
+#line 150
+  isolated_compute_app
+#line 150
+  mediaprovider
+#line 150
+  mediaprovider_app
+#line 150
+  untrusted_app
+#line 150
+  untrusted_app_25
+#line 150
+  untrusted_app_27
+#line 150
+  untrusted_app_29
+#line 150
+  untrusted_app_30
+#line 150
+  untrusted_app_all
+#line 150
+} domain:netlink_route_socket { bind nlmsg_readpriv };
+neverallow priv_app domain:netlink_route_socket { bind nlmsg_readpriv };
+
+# Disallow sending RTM_GETNEIGH{TBL} messages on netlink sockets.
+neverallow {
+  {
+#line 155
+  ephemeral_app
+#line 155
+  isolated_app
+#line 155
+  isolated_app_all
+#line 155
+  isolated_compute_app
+#line 155
+  mediaprovider
+#line 155
+  mediaprovider_app
+#line 155
+  untrusted_app
+#line 155
+  untrusted_app_25
+#line 155
+  untrusted_app_27
+#line 155
+  untrusted_app_29
+#line 155
+  untrusted_app_30
+#line 155
+  untrusted_app_all
+#line 155
+}
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+} domain:netlink_route_socket nlmsg_getneigh;
+
+# Do not allow untrusted apps access to /cache
+neverallow { {
+#line 163
+  ephemeral_app
+#line 163
+  isolated_app
+#line 163
+  isolated_app_all
+#line 163
+  isolated_compute_app
+#line 163
+  mediaprovider
+#line 163
+  mediaprovider_app
+#line 163
+  untrusted_app
+#line 163
+  untrusted_app_25
+#line 163
+  untrusted_app_27
+#line 163
+  untrusted_app_29
+#line 163
+  untrusted_app_30
+#line 163
+  untrusted_app_all
+#line 163
+} -mediaprovider } { cache_file cache_recovery_file }:dir ~{ { open getattr read search ioctl lock watch watch_reads } };
+neverallow { {
+#line 164
+  ephemeral_app
+#line 164
+  isolated_app
+#line 164
+  isolated_app_all
+#line 164
+  isolated_compute_app
+#line 164
+  mediaprovider
+#line 164
+  mediaprovider_app
+#line 164
+  untrusted_app
+#line 164
+  untrusted_app_25
+#line 164
+  untrusted_app_27
+#line 164
+  untrusted_app_29
+#line 164
+  untrusted_app_30
+#line 164
+  untrusted_app_all
+#line 164
+} -mediaprovider } { cache_file cache_recovery_file }:file ~{ read getattr };
+
+# Do not allow untrusted apps to create/unlink files outside of its sandbox,
+# internal storage or sdcard.
+# World accessible data locations allow application to fill the device
+# with unaccounted for data. This data will not get removed during
+# application un-installation.
+neverallow { {
+#line 171
+  ephemeral_app
+#line 171
+  isolated_app
+#line 171
+  isolated_app_all
+#line 171
+  isolated_compute_app
+#line 171
+  mediaprovider
+#line 171
+  mediaprovider_app
+#line 171
+  untrusted_app
+#line 171
+  untrusted_app_25
+#line 171
+  untrusted_app_27
+#line 171
+  untrusted_app_29
+#line 171
+  untrusted_app_30
+#line 171
+  untrusted_app_all
+#line 171
+} -mediaprovider } {
+  fs_type
+  -sdcard_type
+  -fuse
+  file_type
+  -app_data_file            # The apps sandbox itself
+  -privapp_data_file
+  -storage_area_content_file
+  -app_exec_data_file       # stored within the app sandbox directory
+  -media_rw_data_file       # Internal storage. Known that apps can
+                            # leave artfacts here after uninstall.
+  -user_profile_data_file   # Access to profile files
+  
+#line 187
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create unlink };
+
+# No untrusted component except mediaprovider_app should be touching /dev/fuse
+neverallow { {
+#line 190
+  ephemeral_app
+#line 190
+  isolated_app
+#line 190
+  isolated_app_all
+#line 190
+  isolated_compute_app
+#line 190
+  mediaprovider
+#line 190
+  mediaprovider_app
+#line 190
+  untrusted_app
+#line 190
+  untrusted_app_25
+#line 190
+  untrusted_app_27
+#line 190
+  untrusted_app_29
+#line 190
+  untrusted_app_30
+#line 190
+  untrusted_app_all
+#line 190
+} -mediaprovider_app } fuse_device:chr_file *;
+
+# Do not allow untrusted apps to directly open the tun_device
+neverallow {
+#line 193
+  ephemeral_app
+#line 193
+  isolated_app
+#line 193
+  isolated_app_all
+#line 193
+  isolated_compute_app
+#line 193
+  mediaprovider
+#line 193
+  mediaprovider_app
+#line 193
+  untrusted_app
+#line 193
+  untrusted_app_25
+#line 193
+  untrusted_app_27
+#line 193
+  untrusted_app_29
+#line 193
+  untrusted_app_30
+#line 193
+  untrusted_app_all
+#line 193
+} tun_device:chr_file open;
+# The tun_device ioctls below are not allowed, to prove equivalence
+# to the kernel patch at
+# https://android.googlesource.com/kernel/common/+/11cee2be0c2062ba88f04eb51196506f870a3b5d%5E%21
+neverallowxperm {
+#line 197
+  ephemeral_app
+#line 197
+  isolated_app
+#line 197
+  isolated_app_all
+#line 197
+  isolated_compute_app
+#line 197
+  mediaprovider
+#line 197
+  mediaprovider_app
+#line 197
+  untrusted_app
+#line 197
+  untrusted_app_25
+#line 197
+  untrusted_app_27
+#line 197
+  untrusted_app_29
+#line 197
+  untrusted_app_30
+#line 197
+  untrusted_app_all
+#line 197
+} tun_device:chr_file ioctl ~{ 0x00005451 0x00005450 0x800454d2 };
+
+# Only allow appending to /data/anr/traces.txt (b/27853304, b/18340553)
+neverallow {
+#line 200
+  ephemeral_app
+#line 200
+  isolated_app
+#line 200
+  isolated_app_all
+#line 200
+  isolated_compute_app
+#line 200
+  mediaprovider
+#line 200
+  mediaprovider_app
+#line 200
+  untrusted_app
+#line 200
+  untrusted_app_25
+#line 200
+  untrusted_app_27
+#line 200
+  untrusted_app_29
+#line 200
+  untrusted_app_30
+#line 200
+  untrusted_app_all
+#line 200
+} anr_data_file:file ~{ open append };
+neverallow {
+#line 201
+  ephemeral_app
+#line 201
+  isolated_app
+#line 201
+  isolated_app_all
+#line 201
+  isolated_compute_app
+#line 201
+  mediaprovider
+#line 201
+  mediaprovider_app
+#line 201
+  untrusted_app
+#line 201
+  untrusted_app_25
+#line 201
+  untrusted_app_27
+#line 201
+  untrusted_app_29
+#line 201
+  untrusted_app_30
+#line 201
+  untrusted_app_all
+#line 201
+} anr_data_file:dir ~search;
+
+# Avoid reads from generically labeled /proc files
+# Create a more specific label if needed
+neverallow {
+#line 205
+  ephemeral_app
+#line 205
+  isolated_app
+#line 205
+  isolated_app_all
+#line 205
+  isolated_compute_app
+#line 205
+  mediaprovider
+#line 205
+  mediaprovider_app
+#line 205
+  untrusted_app
+#line 205
+  untrusted_app_25
+#line 205
+  untrusted_app_27
+#line 205
+  untrusted_app_29
+#line 205
+  untrusted_app_30
+#line 205
+  untrusted_app_all
+#line 205
+} {
+  proc
+  proc_allocinfo
+  proc_asound
+  proc_kmsg
+  proc_loadavg
+  proc_mounts
+  proc_pagetypeinfo
+  proc_slabinfo
+  proc_stat
+  proc_swaps
+  proc_uptime
+  proc_version
+  proc_vmallocinfo
+  proc_vmstat
+}:file { { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads } { execute execute_no_trans } };
+
+# /proc/filesystems is accessible to mediaprovider_app only since it handles
+# external storage
+neverallow { {
+#line 224
+  ephemeral_app
+#line 224
+  isolated_app
+#line 224
+  isolated_app_all
+#line 224
+  isolated_compute_app
+#line 224
+  mediaprovider
+#line 224
+  mediaprovider_app
+#line 224
+  untrusted_app
+#line 224
+  untrusted_app_25
+#line 224
+  untrusted_app_27
+#line 224
+  untrusted_app_29
+#line 224
+  untrusted_app_30
+#line 224
+  untrusted_app_all
+#line 224
+} - mediaprovider_app } proc_filesystems:file { { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads } { execute execute_no_trans } };
+
+# Avoid all access to kernel configuration
+neverallow {
+#line 227
+  ephemeral_app
+#line 227
+  isolated_app
+#line 227
+  isolated_app_all
+#line 227
+  isolated_compute_app
+#line 227
+  mediaprovider
+#line 227
+  mediaprovider_app
+#line 227
+  untrusted_app
+#line 227
+  untrusted_app_25
+#line 227
+  untrusted_app_27
+#line 227
+  untrusted_app_29
+#line 227
+  untrusted_app_30
+#line 227
+  untrusted_app_all
+#line 227
+} config_gz:file { { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads } { execute execute_no_trans } };
+
+# Do not allow untrusted apps access to preloads data files
+neverallow {
+#line 230
+  ephemeral_app
+#line 230
+  isolated_app
+#line 230
+  isolated_app_all
+#line 230
+  isolated_compute_app
+#line 230
+  mediaprovider
+#line 230
+  mediaprovider_app
+#line 230
+  untrusted_app
+#line 230
+  untrusted_app_25
+#line 230
+  untrusted_app_27
+#line 230
+  untrusted_app_29
+#line 230
+  untrusted_app_30
+#line 230
+  untrusted_app_all
+#line 230
+} preloads_data_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Locking of files on /system could lead to denial of service attacks
+# against privileged system components
+neverallow {
+#line 234
+  ephemeral_app
+#line 234
+  isolated_app
+#line 234
+  isolated_app_all
+#line 234
+  isolated_compute_app
+#line 234
+  mediaprovider
+#line 234
+  mediaprovider_app
+#line 234
+  untrusted_app
+#line 234
+  untrusted_app_25
+#line 234
+  untrusted_app_27
+#line 234
+  untrusted_app_29
+#line 234
+  untrusted_app_30
+#line 234
+  untrusted_app_all
+#line 234
+} system_file:file lock;
+
+# Do not permit untrusted apps to perform actions on HwBinder service_manager
+# other than find actions for services listed below
+neverallow {
+#line 238
+  ephemeral_app
+#line 238
+  isolated_app
+#line 238
+  isolated_app_all
+#line 238
+  isolated_compute_app
+#line 238
+  mediaprovider
+#line 238
+  mediaprovider_app
+#line 238
+  untrusted_app
+#line 238
+  untrusted_app_25
+#line 238
+  untrusted_app_27
+#line 238
+  untrusted_app_29
+#line 238
+  untrusted_app_30
+#line 238
+  untrusted_app_all
+#line 238
+} *:hwservice_manager ~find;
+
+# Do not permit access from apps which host arbitrary code to the protected services
+# The two main reasons for this are:
+# 1. Protected HwBinder servers do not perform client authentication because
+#    vendor code does not have a way to understand apps or their relation to
+#    caller UID information and, even if it did, those services either operate
+#    at a level below that of apps (e.g., HALs) or must not rely on app identity
+#    for authorization. Thus, to be safe, the default assumption for all added
+#    vendor services is that they treat all their clients as equally authorized
+#    to perform operations offered by the service.
+# 2. HAL servers contain code with higher incidence rate of security issues
+#    than system/core components and have access to lower layes of the stack
+#    (all the way down to hardware) thus increasing opportunities for bypassing
+#    the Android security model.
+neverallow {
+#line 253
+  ephemeral_app
+#line 253
+  isolated_app
+#line 253
+  isolated_app_all
+#line 253
+  isolated_compute_app
+#line 253
+  mediaprovider
+#line 253
+  mediaprovider_app
+#line 253
+  untrusted_app
+#line 253
+  untrusted_app_25
+#line 253
+  untrusted_app_27
+#line 253
+  untrusted_app_29
+#line 253
+  untrusted_app_30
+#line 253
+  untrusted_app_all
+#line 253
+} protected_hwservice:hwservice_manager find;
+neverallow {
+#line 254
+  ephemeral_app
+#line 254
+  isolated_app
+#line 254
+  isolated_app_all
+#line 254
+  isolated_compute_app
+#line 254
+  mediaprovider
+#line 254
+  mediaprovider_app
+#line 254
+  untrusted_app
+#line 254
+  untrusted_app_25
+#line 254
+  untrusted_app_27
+#line 254
+  untrusted_app_29
+#line 254
+  untrusted_app_30
+#line 254
+  untrusted_app_all
+#line 254
+} protected_service:service_manager find;
+
+# SELinux is not an API for untrusted apps to use
+neverallow {
+#line 257
+  ephemeral_app
+#line 257
+  isolated_app
+#line 257
+  isolated_app_all
+#line 257
+  isolated_compute_app
+#line 257
+  mediaprovider
+#line 257
+  mediaprovider_app
+#line 257
+  untrusted_app
+#line 257
+  untrusted_app_25
+#line 257
+  untrusted_app_27
+#line 257
+  untrusted_app_29
+#line 257
+  untrusted_app_30
+#line 257
+  untrusted_app_all
+#line 257
+} selinuxfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Access to /proc/tty/drivers, to allow apps to determine if they
+# are running in an emulated environment.
+# b/33214085 b/33814662 b/33791054 b/33211769
+# https://github.com/strazzere/anti-emulator/blob/master/AntiEmulator/src/diff/strazzere/anti/emulator/FindEmulator.java
+# This will go away in a future Android release
+neverallow { {
+#line 264
+  ephemeral_app
+#line 264
+  isolated_app
+#line 264
+  isolated_app_all
+#line 264
+  isolated_compute_app
+#line 264
+  mediaprovider
+#line 264
+  mediaprovider_app
+#line 264
+  untrusted_app
+#line 264
+  untrusted_app_25
+#line 264
+  untrusted_app_27
+#line 264
+  untrusted_app_29
+#line 264
+  untrusted_app_30
+#line 264
+  untrusted_app_all
+#line 264
+} -untrusted_app_25 } proc_tty_drivers:file { getattr open read ioctl lock map watch watch_reads };
+neverallow {
+#line 265
+  ephemeral_app
+#line 265
+  isolated_app
+#line 265
+  isolated_app_all
+#line 265
+  isolated_compute_app
+#line 265
+  mediaprovider
+#line 265
+  mediaprovider_app
+#line 265
+  untrusted_app
+#line 265
+  untrusted_app_25
+#line 265
+  untrusted_app_27
+#line 265
+  untrusted_app_29
+#line 265
+  untrusted_app_30
+#line 265
+  untrusted_app_all
+#line 265
+} proc_tty_drivers:file ~{ getattr open read ioctl lock map watch watch_reads };
+
+# Untrusted apps are not allowed to use cgroups.
+neverallow {
+#line 268
+  ephemeral_app
+#line 268
+  isolated_app
+#line 268
+  isolated_app_all
+#line 268
+  isolated_compute_app
+#line 268
+  mediaprovider
+#line 268
+  mediaprovider_app
+#line 268
+  untrusted_app
+#line 268
+  untrusted_app_25
+#line 268
+  untrusted_app_27
+#line 268
+  untrusted_app_29
+#line 268
+  untrusted_app_30
+#line 268
+  untrusted_app_all
+#line 268
+} cgroup:file *;
+neverallow {
+#line 269
+  ephemeral_app
+#line 269
+  isolated_app
+#line 269
+  isolated_app_all
+#line 269
+  isolated_compute_app
+#line 269
+  mediaprovider
+#line 269
+  mediaprovider_app
+#line 269
+  untrusted_app
+#line 269
+  untrusted_app_25
+#line 269
+  untrusted_app_27
+#line 269
+  untrusted_app_29
+#line 269
+  untrusted_app_30
+#line 269
+  untrusted_app_all
+#line 269
+} cgroup_v2:file *;
+
+# /mnt/sdcard symlink was supposed to have been removed in Gingerbread. Apps
+# must not use it.
+neverallow {
+  {
+#line 274
+  ephemeral_app
+#line 274
+  isolated_app
+#line 274
+  isolated_app_all
+#line 274
+  isolated_compute_app
+#line 274
+  mediaprovider
+#line 274
+  mediaprovider_app
+#line 274
+  untrusted_app
+#line 274
+  untrusted_app_25
+#line 274
+  untrusted_app_27
+#line 274
+  untrusted_app_29
+#line 274
+  untrusted_app_30
+#line 274
+  untrusted_app_all
+#line 274
+}
+  -untrusted_app_25
+  -untrusted_app_27
+} mnt_sdcard_file:lnk_file *;
+
+# Only privileged apps may find the incident service
+neverallow {
+#line 280
+  ephemeral_app
+#line 280
+  isolated_app
+#line 280
+  isolated_app_all
+#line 280
+  isolated_compute_app
+#line 280
+  mediaprovider
+#line 280
+  mediaprovider_app
+#line 280
+  untrusted_app
+#line 280
+  untrusted_app_25
+#line 280
+  untrusted_app_27
+#line 280
+  untrusted_app_29
+#line 280
+  untrusted_app_30
+#line 280
+  untrusted_app_all
+#line 280
+} incident_service:service_manager find;
+
+# Only privileged apps may find stats service
+neverallow {
+#line 283
+  ephemeral_app
+#line 283
+  isolated_app
+#line 283
+  isolated_app_all
+#line 283
+  isolated_compute_app
+#line 283
+  mediaprovider
+#line 283
+  mediaprovider_app
+#line 283
+  untrusted_app
+#line 283
+  untrusted_app_25
+#line 283
+  untrusted_app_27
+#line 283
+  untrusted_app_29
+#line 283
+  untrusted_app_30
+#line 283
+  untrusted_app_all
+#line 283
+} stats_service:service_manager find;
+
+# Do not allow untrusted app to read hidden system proprerties.
+# We do not include in the exclusions other normally untrusted applications such as mediaprovider
+#  due to the specific logging use cases.
+# Context: b/193912100
+neverallow {
+  {
+#line 290
+  ephemeral_app
+#line 290
+  isolated_app
+#line 290
+  isolated_app_all
+#line 290
+  isolated_compute_app
+#line 290
+  mediaprovider
+#line 290
+  mediaprovider_app
+#line 290
+  untrusted_app
+#line 290
+  untrusted_app_25
+#line 290
+  untrusted_app_27
+#line 290
+  untrusted_app_29
+#line 290
+  untrusted_app_30
+#line 290
+  untrusted_app_all
+#line 290
+}
+  -mediaprovider
+  -mediaprovider_app
+} { userdebug_or_eng_prop }:file read;
+
+# Do not allow untrusted app to access /dev/socket/mdnsd since U. The socket is
+# used to communicate to the mdnsd responder. The mdnsd responder will be
+# replaced by a java implementation which is integrated into the system server.
+# For untrusted apps running with API level 33-, they still have access to
+# /dev/socket/mdnsd for backward compatibility.
+neverallow {
+  {
+#line 301
+  ephemeral_app
+#line 301
+  isolated_app
+#line 301
+  isolated_app_all
+#line 301
+  isolated_compute_app
+#line 301
+  mediaprovider
+#line 301
+  mediaprovider_app
+#line 301
+  untrusted_app
+#line 301
+  untrusted_app_25
+#line 301
+  untrusted_app_27
+#line 301
+  untrusted_app_29
+#line 301
+  untrusted_app_30
+#line 301
+  untrusted_app_all
+#line 301
+}
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} mdnsd_socket:sock_file write;
+neverallow {
+  {
+#line 309
+  ephemeral_app
+#line 309
+  isolated_app
+#line 309
+  isolated_app_all
+#line 309
+  isolated_compute_app
+#line 309
+  mediaprovider
+#line 309
+  mediaprovider_app
+#line 309
+  untrusted_app
+#line 309
+  untrusted_app_25
+#line 309
+  untrusted_app_27
+#line 309
+  untrusted_app_29
+#line 309
+  untrusted_app_30
+#line 309
+  untrusted_app_all
+#line 309
+}
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} mdnsd:unix_stream_socket connectto;
+
+# Do not allow untrusted apps to use anonymous inodes. At the moment,
+# type transitions are the only way to distinguish between different
+# anon_inode usages like userfaultfd and io_uring. This prevents us from
+# creating a more fine-grained neverallow policy for each anon_inode usage.
+neverallow {
+#line 321
+  ephemeral_app
+#line 321
+  isolated_app
+#line 321
+  isolated_app_all
+#line 321
+  isolated_compute_app
+#line 321
+  mediaprovider
+#line 321
+  mediaprovider_app
+#line 321
+  untrusted_app
+#line 321
+  untrusted_app_25
+#line 321
+  untrusted_app_27
+#line 321
+  untrusted_app_29
+#line 321
+  untrusted_app_30
+#line 321
+  untrusted_app_all
+#line 321
+} domain:anon_inode *;
+
+# Do not allow untrusted app access to hidraw devices.
+neverallow {
+#line 324
+  ephemeral_app
+#line 324
+  isolated_app
+#line 324
+  isolated_app_all
+#line 324
+  isolated_compute_app
+#line 324
+  mediaprovider
+#line 324
+  mediaprovider_app
+#line 324
+  untrusted_app
+#line 324
+  untrusted_app_25
+#line 324
+  untrusted_app_27
+#line 324
+  untrusted_app_29
+#line 324
+  untrusted_app_30
+#line 324
+  untrusted_app_all
+#line 324
+} hidraw_device:chr_file *;
+#line 1 "system/sepolicy/private/app_zygote.te"
+typeattribute app_zygote coredomain;
+
+######
+###### Policy below is different from regular zygote-spawned apps
+######
+
+# Allow access to temporary files, which is normally permitted through
+# a domain macro.
+
+#line 9
+type_transition app_zygote tmpfs:file app_zygote_tmpfs;
+#line 9
+allow app_zygote app_zygote_tmpfs:file { read write getattr map };
+#line 9
+;
+
+# Set the UID/GID of the process.
+# This will be further limited to a range of isolated UIDs with seccomp.
+allow app_zygote self:{ capability cap_userns } { setgid setuid };
+# Drop capabilities from bounding set.
+allow app_zygote self:{ capability cap_userns } setpcap;
+# Switch SELinux context to isolated app domain.
+allow app_zygote self:process setcurrent;
+allow app_zygote isolated_app:process dyntransition;
+
+# For JIT
+allow app_zygote self:process execmem;
+
+# Allow exec mapping from tmpfs (memfds) for binary translation
+allow app_zygote app_zygote_tmpfs:file execute;
+
+# Allow app_zygote to stat the files that it opens. It must
+# be able to inspect them so that it can reopen them on fork
+# if necessary: b/30963384.
+allow app_zygote debugfs_trace_marker:file getattr;
+
+# get system_server process group
+allow app_zygote system_server:process getpgid;
+
+# Interaction between the app_zygote and its children.
+allow app_zygote isolated_app:process setpgid;
+
+# TODO (b/63631799) fix this access
+dontaudit app_zygote mnt_expand_file:dir getattr;
+
+# Get seapp_contexts
+allow app_zygote seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+# Check validity of SELinux context before use.
+
+#line 43
+
+#line 43
+allow app_zygote selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 43
+allow app_zygote selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 43
+
+#line 43
+allow app_zygote selinuxfs:file { open append write lock map };
+#line 43
+allow app_zygote kernel:security check_context;
+#line 43
+
+# Check SELinux permissions.
+
+#line 45
+
+#line 45
+allow app_zygote selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 45
+allow app_zygote selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 45
+
+#line 45
+allow app_zygote selinuxfs:file { open append write lock map };
+#line 45
+allow app_zygote kernel:security compute_av;
+#line 45
+allow app_zygote self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 45
+
+
+# Read and inspect temporary files managed by zygote.
+allow app_zygote zygote_tmpfs:file { read getattr };
+
+######
+###### Policy below is shared with regular zygote-spawned apps
+######
+
+# Child of zygote.
+allow app_zygote zygote:fd use;
+allow app_zygote zygote:process sigchld;
+
+# For ART (read /data/dalvik-cache).
+
+#line 59
+allow app_zygote dalvikcache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 59
+allow app_zygote dalvikcache_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 59
+;
+allow app_zygote dalvikcache_data_file:file execute;
+
+# For ART (allow userfaultfd and related ioctls)
+
+#line 63
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 63
+type app_zygote_userfaultfd;
+#line 63
+type_transition app_zygote app_zygote:anon_inode app_zygote_userfaultfd "[userfaultfd]";
+#line 63
+# Allow domain to create/use userfaultfd anon_inode.
+#line 63
+allow app_zygote app_zygote_userfaultfd:anon_inode { create ioctl read };
+#line 63
+# Suppress errors generate during bugreport
+#line 63
+dontaudit su app_zygote_userfaultfd:anon_inode *;
+#line 63
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 63
+neverallow { domain -app_zygote } app_zygote_userfaultfd:anon_inode *;
+#line 63
+
+
+# Read /data/misc/apexdata/ to (get to com.android.art/dalvik-cache).
+allow app_zygote apex_module_data_file:dir search;
+# For ART APEX (read /data/misc/apexdata/com.android.art/dalvik-cache).
+
+#line 68
+allow app_zygote apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 68
+allow app_zygote apex_art_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 68
+
+
+# Allow reading/executing installed binaries to enable preloading
+# application data
+allow app_zygote apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow app_zygote apk_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# /oem accesses.
+allow app_zygote oemfs:dir search;
+
+# Allow app_zygote access to /vendor/overlay
+
+#line 79
+allow app_zygote vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 79
+allow app_zygote vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 79
+
+# Allow app_zygote to read vendor_overlay_file from vendor apex as well
+allow app_zygote vendor_apex_metadata_file:dir { getattr search };
+
+allow app_zygote system_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow app_zygote system_data_file:file { getattr read map };
+
+# Send unsolicited message to system_server
+
+#line 87
+allow app_zygote system_unsolzygote_socket:sock_file write;
+#line 87
+allow app_zygote system_server:unix_dgram_socket sendto;
+#line 87
+
+
+# Allow the app_zygote to access the runtime feature flag properties.
+
+#line 90
+allow app_zygote device_config_runtime_native_prop:file { getattr open read map };
+#line 90
+
+
+#line 91
+allow app_zygote device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 91
+
+
+# Allow app_zygote to access odsign verification status
+
+#line 94
+allow app_zygote odsign_prop:file { getattr open read map };
+#line 94
+
+
+# /data/resource-cache
+allow app_zygote resourcecache_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow app_zygote resourcecache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+#####
+##### Neverallow
+#####
+
+# Only permit transition to isolated_app.
+neverallow app_zygote { domain -isolated_app }:process dyntransition;
+
+# Only setcon() transitions, no exec() based transitions, except for crash_dump.
+neverallow app_zygote { domain -crash_dump }:process transition;
+
+# Must not exec() a program without changing domains.
+# Having said that, exec() above is not allowed.
+neverallow app_zygote *:file execute_no_trans;
+
+# The only way to enter this domain is for the zygote to fork a new
+# app_zygote child.
+neverallow { domain -zygote } app_zygote:process dyntransition;
+
+# Disallow write access to properties.
+neverallow app_zygote property_socket:sock_file write;
+neverallow app_zygote property_type:property_service set;
+
+# Should not have any access to data files.
+neverallow app_zygote app_data_file_type:file { { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } { getattr execute execute_no_trans map } } };
+
+neverallow app_zygote {
+    service_manager_type
+    -activity_service
+    -webviewupdate_service
+}:service_manager find;
+
+# Isolated apps should not be able to access the driver directly.
+neverallow app_zygote gpu_device:chr_file { { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } { getattr execute execute_no_trans map } } };
+
+# Do not allow app_zygote access to /cache.
+neverallow app_zygote cache_file:dir ~{ { open getattr read search ioctl lock watch watch_reads } };
+neverallow app_zygote cache_file:file ~{ read getattr };
+
+# Do not allow most socket access. This is socket_class_set, excluding unix_dgram_socket,
+# unix_stream_socket, and netlink_selinux_socket.
+neverallow app_zygote domain:{
+  socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket
+  appletalk_socket netlink_route_socket netlink_tcpdiag_socket
+  netlink_nflog_socket netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket
+  netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket
+  netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket
+  sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket
+  x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket
+  pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket
+  rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket
+} *;
+
+# Only allow app_zygote to talk to the logd socket, and su on eng/userdebug.
+# This is because cap_setuid/cap_setgid allow to forge uid/gid in
+# SCM_CREDENTIALS. Think twice before changing.
+neverallow app_zygote {
+  domain
+  -app_zygote
+  -logd
+  -system_server
+  
+}:unix_dgram_socket *;
+
+neverallow app_zygote {
+  domain
+  -app_zygote
+  -prng_seeder
+  
+}:unix_stream_socket *;
+
+# Never allow ptrace
+neverallow app_zygote *:process ptrace;
+
+# Do not allow access to Bluetooth-related system properties.
+# neverallow rules for Bluetooth-related data files are listed above.
+neverallow app_zygote {
+  bluetooth_a2dp_offload_prop
+  bluetooth_audio_hal_prop
+  bluetooth_prop
+  exported_bluetooth_prop
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1 "system/sepolicy/private/art_boot.te"
+# ART boot oneshot service
+type art_boot, domain, coredomain;
+type art_boot_exec, exec_type, file_type, system_file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init art_boot_exec:file { getattr open read execute map };
+#line 5
+allow init art_boot:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow art_boot art_boot_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init art_boot:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init art_boot:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init art_boot_exec:process art_boot;
+#line 5
+
+#line 5
+
+
+# Allow query of device config properties, typically experiment flags.
+
+#line 8
+allow art_boot device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 8
+
+
+#line 9
+allow art_boot device_config_runtime_native_prop:file { getattr open read map };
+#line 9
+
+
+# Allow ART to set its config properties at boot, mainly to be able to propagate
+# experiment flags to properties that only may change at boot.
+
+#line 13
+
+#line 13
+allow art_boot property_socket:sock_file write;
+#line 13
+allow art_boot init:unix_stream_socket connectto;
+#line 13
+
+#line 13
+allow art_boot dalvik_config_prop_type:property_service set;
+#line 13
+
+#line 13
+allow art_boot dalvik_config_prop_type:file { getattr open read map };
+#line 13
+
+#line 13
+
+#line 1 "system/sepolicy/private/art_exec.te"
+# A wrapper program that configures the process and executes a command.
+type art_exec, domain, coredomain;
+type art_exec_exec, system_file_type, exec_type, file_type;
+
+# Usually, this program is executed in the caller's domain. For example, it is
+# executed in the `artd` domain when artd calls it. Domain transition will take
+# place as soon as it executes other programs.
+# The only exception is when called by init. In this case, it's executed in its
+# own domain because init should never execute a program without changing to
+# another domain.
+
+#line 11
+
+#line 11
+# Allow the necessary permissions.
+#line 11
+
+#line 11
+# Old domain may exec the file and transition to the new domain.
+#line 11
+allow init art_exec_exec:file { getattr open read execute map };
+#line 11
+allow init art_exec:process transition;
+#line 11
+# New domain is entered by executing the file.
+#line 11
+allow art_exec art_exec_exec:file { entrypoint open read execute getattr map };
+#line 11
+# New domain can send SIGCHLD to its caller.
+#line 11
+
+#line 11
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 11
+dontaudit init art_exec:process noatsecure;
+#line 11
+# XXX dontaudit candidate but requires further study.
+#line 11
+allow init art_exec:process { siginh rlimitinh };
+#line 11
+
+#line 11
+# Make the transition occur by default.
+#line 11
+type_transition init art_exec_exec:process art_exec;
+#line 11
+
+#line 11
+
+
+# init calls this program to execute artd in a chroot environment for Pre-reboot
+# Dexopt.
+
+#line 15
+# Allow the necessary permissions.
+#line 15
+
+#line 15
+# Old domain may exec the file and transition to the new domain.
+#line 15
+allow art_exec artd_exec:file { getattr open read execute map };
+#line 15
+allow art_exec artd:process transition;
+#line 15
+# New domain is entered by executing the file.
+#line 15
+allow artd artd_exec:file { entrypoint open read execute getattr map };
+#line 15
+# New domain can send SIGCHLD to its caller.
+#line 15
+allow artd art_exec:process sigchld;
+#line 15
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 15
+dontaudit art_exec artd:process noatsecure;
+#line 15
+# XXX dontaudit candidate but requires further study.
+#line 15
+allow art_exec artd:process { siginh rlimitinh };
+#line 15
+
+#line 15
+# Make the transition occur by default.
+#line 15
+type_transition art_exec artd_exec:process artd;
+#line 15
+
+
+# "sys_chroot" is for chroot'ing into the chroot environment, created by
+# dexopt_chroot_setup.
+allow art_exec self:{ capability cap_userns } sys_chroot;
+
+# Allow finding artd in the chroot dir for Pre-reboot Dexopt.
+allow art_exec pre_reboot_dexopt_file:dir search;
+#line 1 "system/sepolicy/private/artd.te"
+# ART service daemon.
+typeattribute artd coredomain;
+typeattribute artd mlstrustedsubject;
+type artd_exec, system_file_type, exec_type, file_type;
+type artd_tmpfs, file_type;
+
+# All types of artd subprocesses, which artd can kill.
+attribute artd_subprocess_type;
+
+# Allow artd to publish a binder service and make binder calls.
+
+#line 11
+# Call the servicemanager and transfer references to it.
+#line 11
+allow artd servicemanager:binder { call transfer };
+#line 11
+# Allow servicemanager to send out callbacks
+#line 11
+allow servicemanager artd:binder { call transfer };
+#line 11
+# servicemanager performs getpidcon on clients.
+#line 11
+allow servicemanager artd:dir search;
+#line 11
+allow servicemanager artd:file { read open };
+#line 11
+allow servicemanager artd:process getattr;
+#line 11
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 11
+# all domains in domain.te.
+#line 11
+
+
+#line 12
+  allow artd artd_service:service_manager { add find };
+#line 12
+  neverallow { domain -artd } artd_service:service_manager add;
+#line 12
+
+#line 12
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 12
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 12
+  
+#line 12
+
+
+#line 13
+  allow artd artd_pre_reboot_service:service_manager { add find };
+#line 13
+  neverallow { domain -artd } artd_pre_reboot_service:service_manager add;
+#line 13
+
+#line 13
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 13
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 13
+  
+#line 13
+
+allow artd dumpstate:fifo_file { getattr write };
+allow artd dumpstate:fd use;
+
+
+#line 17
+
+#line 17
+# Allow the necessary permissions.
+#line 17
+
+#line 17
+# Old domain may exec the file and transition to the new domain.
+#line 17
+allow init artd_exec:file { getattr open read execute map };
+#line 17
+allow init artd:process transition;
+#line 17
+# New domain is entered by executing the file.
+#line 17
+allow artd artd_exec:file { entrypoint open read execute getattr map };
+#line 17
+# New domain can send SIGCHLD to its caller.
+#line 17
+
+#line 17
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 17
+dontaudit init artd:process noatsecure;
+#line 17
+# XXX dontaudit candidate but requires further study.
+#line 17
+allow init artd:process { siginh rlimitinh };
+#line 17
+
+#line 17
+# Make the transition occur by default.
+#line 17
+type_transition init artd_exec:process artd;
+#line 17
+
+#line 17
+
+
+# Allow query ART device config properties
+
+#line 20
+allow artd device_config_runtime_native_prop:file { getattr open read map };
+#line 20
+
+
+#line 21
+allow artd device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 21
+
+
+# Access to "odsign.verification.success" for deciding whether to deny files in
+# the ART APEX data directory.
+
+#line 25
+allow artd odsign_prop:file { getattr open read map };
+#line 25
+
+
+# Reading an APK opens a ZipArchive, which unpack to tmpfs.
+# Use tmpfs_domain() which will give tmpfs files created by artd their
+# own label, which differs from other labels created by other processes.
+# This allows to distinguish in policy files created by artd vs other
+# processes.
+
+#line 32
+type_transition artd tmpfs:file artd_tmpfs;
+#line 32
+allow artd artd_tmpfs:file { read write getattr map };
+#line 32
+
+
+# Allow testing userfaultfd support.
+
+#line 35
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 35
+type artd_userfaultfd;
+#line 35
+type_transition artd artd:anon_inode artd_userfaultfd "[userfaultfd]";
+#line 35
+# Allow domain to create/use userfaultfd anon_inode.
+#line 35
+allow artd artd_userfaultfd:anon_inode { create ioctl read };
+#line 35
+# Suppress errors generate during bugreport
+#line 35
+dontaudit su artd_userfaultfd:anon_inode *;
+#line 35
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 35
+neverallow { domain -artd } artd_userfaultfd:anon_inode *;
+#line 35
+
+
+# Read access to primary dex'es on writable partitions
+# ({/data,/mnt/expand/<volume-uuid>}/app/...).
+# Also allow creating the "oat" directory before restorecon.
+allow artd mnt_expand_file:dir { getattr search };
+allow artd apk_data_file:dir { { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } create setattr relabelfrom };
+allow artd apk_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow artd apk_tmp_file:dir { { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } create setattr relabelfrom };
+allow artd apk_tmp_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read access to vendor APKs ({/vendor,/odm}/{app,priv-app}/...).
+
+#line 47
+allow artd vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 47
+allow artd vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 47
+
+
+# Read access to vendor overlay APKs ({/vendor,/odm,/oem,/apex/*}/overlay/...).
+allow artd oemfs:dir { getattr search };
+
+#line 51
+allow artd vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 51
+allow artd vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 51
+
+# Vendor overlay can be found in vendor apex
+allow artd vendor_apex_metadata_file:dir { getattr search };
+
+# Read access to vendor shared libraries ({/vendor,/odm}/framework/...).
+
+#line 56
+allow artd vendor_framework_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 56
+allow artd vendor_framework_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 56
+
+
+# Read/write access to all compilation artifacts generated on device for apps'
+# primary dex'es. (/data/dalvik-cache/..., /data/app/.../oat/..., etc.)
+allow artd dalvikcache_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow artd dalvikcache_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelto };
+
+# Read access to the ART APEX data directory.
+# Needed for reading the boot image generated on device.
+allow artd apex_module_data_file:dir { getattr search };
+
+#line 66
+allow artd apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 66
+allow artd apex_art_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 66
+
+
+# Read access to /apex/apex-info-list.xml
+# Needed for getting APEX versions.
+allow artd apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow getting root capabilities to bypass permission checks.
+# - "dac_override" and "dac_read_search" are for
+#   - reading secondary dex'es in app data directories (reading primary dex'es
+#     doesn't need root capabilities)
+#   - managing (CRUD) compilation artifacts in both APK directories for primary
+#     dex'es and in app data directories for secondary dex'es
+#   - managing (CRUD) profile files for both primary dex'es and secondary dex'es
+# - "fowner" is for adjusting the file permissions of compilation artifacts and
+#   profile files based on whether they include user data or not.
+# - "chown" is for transferring the ownership of compilation artifacts and
+#   profile files to the system or apps.
+allow artd self:{ capability cap_userns } { dac_override dac_read_search fowner chown };
+
+# Read/write access to profiles (/data/misc/profiles/{ref,cur}/...). Also allow
+# scanning /data/misc/profiles/cur, for cleaning up obsolete managed files.
+allow artd user_profile_root_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow artd user_profile_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow artd user_profile_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read/write access to secondary dex files, their profiles, and their
+# compilation artifacts
+# ({/data,/mnt/expand/<volume-uuid>}/{user,user_de}/<user-id>/<package-name>/...).
+allow artd app_data_file_type:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom relabelto };
+allow artd app_data_file_type:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom relabelto };
+
+# Allow symlinks for secondary dex files. This has be to restricted because
+# symlinks can cause various security issues. We allow "privapp_data_file" just
+# for GMS because so far we only see GMS using symlinks.
+allow artd privapp_data_file:lnk_file { getattr read };
+
+# Read access to SELinux context files, for restorecon.
+allow artd file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow artd seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Check validity of SELinux context, for restorecon.
+
+#line 107
+
+#line 107
+allow artd selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 107
+allow artd selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 107
+
+#line 107
+allow artd selinuxfs:file { open append write lock map };
+#line 107
+allow artd kernel:security check_context;
+#line 107
+
+
+# Allow scanning /, for cleaning up obsolete managed files.
+allow artd rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow scanning /data, for cleaning up obsolete managed files.
+allow artd system_data_root_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow scanning /mnt, for cleaning up obsolete managed files.
+allow artd tmpfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow scanning /mnt/expand, for cleaning up obsolete managed files.
+allow artd mnt_expand_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow scanning {/data,/mnt/expand/<volume-uuid>}/{user,user_de}, for cleaning
+# up obsolete managed files.
+allow artd system_userdir_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow scanning {/data,/mnt/expand/<volume-uuid>}/{user,user_de}/<user-id> and
+# /mnt/expand/<volume-uuid>, for cleaning up obsolete managed files.
+allow artd system_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow art_exec_exec to use the artd domain because it is a thin wrapper that
+# executes other binaries on behalf of artd. Domain transition will take place
+# as soon as art_exec_exec executes other binaries.
+allow artd art_exec_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow running other binaries in their own domains.
+
+#line 135
+# Allow the necessary permissions.
+#line 135
+
+#line 135
+# Old domain may exec the file and transition to the new domain.
+#line 135
+allow artd profman_exec:file { getattr open read execute map };
+#line 135
+allow artd profman:process transition;
+#line 135
+# New domain is entered by executing the file.
+#line 135
+allow profman profman_exec:file { entrypoint open read execute getattr map };
+#line 135
+# New domain can send SIGCHLD to its caller.
+#line 135
+allow profman artd:process sigchld;
+#line 135
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 135
+dontaudit artd profman:process noatsecure;
+#line 135
+# XXX dontaudit candidate but requires further study.
+#line 135
+allow artd profman:process { siginh rlimitinh };
+#line 135
+
+#line 135
+# Make the transition occur by default.
+#line 135
+type_transition artd profman_exec:process profman;
+#line 135
+
+
+#line 136
+# Allow the necessary permissions.
+#line 136
+
+#line 136
+# Old domain may exec the file and transition to the new domain.
+#line 136
+allow artd dex2oat_exec:file { getattr open read execute map };
+#line 136
+allow artd dex2oat:process transition;
+#line 136
+# New domain is entered by executing the file.
+#line 136
+allow dex2oat dex2oat_exec:file { entrypoint open read execute getattr map };
+#line 136
+# New domain can send SIGCHLD to its caller.
+#line 136
+allow dex2oat artd:process sigchld;
+#line 136
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 136
+dontaudit artd dex2oat:process noatsecure;
+#line 136
+# XXX dontaudit candidate but requires further study.
+#line 136
+allow artd dex2oat:process { siginh rlimitinh };
+#line 136
+
+#line 136
+# Make the transition occur by default.
+#line 136
+type_transition artd dex2oat_exec:process dex2oat;
+#line 136
+
+
+# Allow sending sigkill to subprocesses.
+allow artd artd_subprocess_type:process sigkill;
+
+# Allow reading process info (/proc/<pid>/...).
+# This is needed for getting CPU time and wall time spent on subprocesses.
+
+#line 143
+allow artd profman:dir { open getattr read search ioctl lock watch watch_reads };
+#line 143
+allow artd profman:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 143
+;
+
+#line 144
+allow artd dex2oat:dir { open getattr read search ioctl lock watch watch_reads };
+#line 144
+allow artd dex2oat:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 144
+;
+
+# Allow artd to reopen its own memfd.
+# artd needs to reopen a memfd with readonly in order to pass it to subprocesses
+# that don't have write permissions on memfds.
+allow artd artd_tmpfs:file open;
+
+# For Pre-reboot Dexopt.
+
+# Allow init to execute artd through art_exec.
+allow artd art_exec:fd use;
+
+# During Pre-reboot Dexopt, artd needs one more capability:
+# - "sys_admin" is for bind-mounting temp dirs at
+#   /data/misc/apexdata/com.android.art and /data/misc/odrefresh, to run
+#   odrefresh innocuously (in a way that doesn't affect the real boot images,
+#   metrics, etc.).
+allow artd self:{ capability cap_userns } sys_admin;
+
+# Allow running other binaries in their own domains.
+
+#line 164
+# Allow the necessary permissions.
+#line 164
+
+#line 164
+# Old domain may exec the file and transition to the new domain.
+#line 164
+allow artd derive_classpath_exec:file { getattr open read execute map };
+#line 164
+allow artd derive_classpath:process transition;
+#line 164
+# New domain is entered by executing the file.
+#line 164
+allow derive_classpath derive_classpath_exec:file { entrypoint open read execute getattr map };
+#line 164
+# New domain can send SIGCHLD to its caller.
+#line 164
+allow derive_classpath artd:process sigchld;
+#line 164
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 164
+dontaudit artd derive_classpath:process noatsecure;
+#line 164
+# XXX dontaudit candidate but requires further study.
+#line 164
+allow artd derive_classpath:process { siginh rlimitinh };
+#line 164
+
+#line 164
+# Make the transition occur by default.
+#line 164
+type_transition artd derive_classpath_exec:process derive_classpath;
+#line 164
+
+
+#line 165
+# Allow the necessary permissions.
+#line 165
+
+#line 165
+# Old domain may exec the file and transition to the new domain.
+#line 165
+allow artd odrefresh_exec:file { getattr open read execute map };
+#line 165
+allow artd odrefresh:process transition;
+#line 165
+# New domain is entered by executing the file.
+#line 165
+allow odrefresh odrefresh_exec:file { entrypoint open read execute getattr map };
+#line 165
+# New domain can send SIGCHLD to its caller.
+#line 165
+allow odrefresh artd:process sigchld;
+#line 165
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 165
+dontaudit artd odrefresh:process noatsecure;
+#line 165
+# XXX dontaudit candidate but requires further study.
+#line 165
+allow artd odrefresh:process { siginh rlimitinh };
+#line 165
+
+#line 165
+# Make the transition occur by default.
+#line 165
+type_transition artd odrefresh_exec:process odrefresh;
+#line 165
+
+
+# Allow accessing Pre-reboot Dexopt files.
+allow artd pre_reboot_dexopt_file:dir { getattr search };
+
+# Allow reading /init.environ.rc in chroot, to extract env vars from it.
+allow artd rootfs:file { read open getattr };
+
+# Allow managing Pre-reboot Dexopt temp files.
+# The root of the temp dir that artd uses during Pre-reboot Dexopt is labeled
+# pre_reboot_dexopt_artd_file. Inside the temp dir, we create files and dirs and
+# relabel them after creation, so we need relabelfrom.
+allow artd pre_reboot_dexopt_artd_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow artd pre_reboot_dexopt_artd_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom };
+
+# Allow bind-mounting at /data/misc/apexdata/com.android.art and
+# /data/misc/odrefresh and restorecon, to run odrefresh innocuously.
+allow artd { apex_art_data_file odrefresh_data_file }:dir relabelto;
+allow artd { apex_art_data_file odrefresh_data_file pre_reboot_dexopt_artd_file }:dir mounton;
+
+# Neverallow rules.
+
+# Never allow running other binaries without a domain transition.
+# The exception for art_exec_exec is explained above.
+neverallow artd ~{art_exec_exec}:file execute_no_trans;
+
+# Make sure artd_subprocess_type is complete, in a sense that it includes all
+# types of artd subprocesses.
+neverallow artd ~{artd_subprocess_type crash_dump}:process transition;
+
+# artd uses process groups to manage subprocesses and kill them. To ensure
+# successful kill, we need to prevent subprocesses from changing their
+# process groups or transitioning to other domains.
+# Transitioning crash_dump is allowed because it is transient and is only used
+# upon crashes.
+neverallow artd_subprocess_type self:process setpgid;
+neverallow artd_subprocess_type ~{artd_subprocess_type crash_dump}:process transition;
+#line 1 "system/sepolicy/private/asan_extract.te"
+# type_transition must be private policy the domain_trans rules could stay
+# public, but conceptually should go with this
+# Technically not a daemon but we do want the transition from init domain to
+# asan_extract to occur.
+#line 35
+
+#line 1 "system/sepolicy/private/atrace.te"
+# Domain for atrace process.
+# It is spawned either by traced_probes or by init for the boottrace service.
+
+type atrace_exec, exec_type, file_type, system_file_type;
+
+# boottrace services uses /data/misc/boottrace/categories
+allow atrace boottrace_data_file:dir search;
+allow atrace boottrace_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow atrace to access tracefs.
+allow atrace debugfs_tracing:dir { open getattr read search ioctl lock watch watch_reads };
+allow atrace debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow atrace debugfs_trace_marker:file getattr;
+
+# Allow atrace to write data when a pipe is used for stdout/stderr.
+# This is used by Perfetto to capture atrace stdout/stderr.
+allow atrace traced_probes:fd use;
+allow atrace traced_probes:fifo_file { getattr write };
+
+# atrace sets debug.atrace.* properties
+
+#line 21
+
+#line 21
+allow atrace property_socket:sock_file write;
+#line 21
+allow atrace init:unix_stream_socket connectto;
+#line 21
+
+#line 21
+allow atrace debug_prop:property_service set;
+#line 21
+
+#line 21
+allow atrace debug_prop:file { getattr open read map };
+#line 21
+
+#line 21
+
+
+# atrace pokes all the binder-enabled processes at startup with a
+# SYSPROPS_TRANSACTION, to tell them to reload the debug.atrace.* properties.
+
+# Allow discovery of binder services.
+allow atrace {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -dumpstate_service
+  -incident_service
+  -installd_service
+  -lpdump_service
+  -mdns_service
+  -netd_service
+  -stats_service
+  -tracingproxy_service
+  -vold_service
+  -default_android_service
+}:service_manager { find };
+allow atrace servicemanager:service_manager list;
+
+# Allow notifying the processes hosting specific binder services that
+# trace-related system properties have changed.
+
+#line 46
+# Call the servicemanager and transfer references to it.
+#line 46
+allow atrace servicemanager:binder { call transfer };
+#line 46
+# Allow servicemanager to send out callbacks
+#line 46
+allow servicemanager atrace:binder { call transfer };
+#line 46
+# servicemanager performs getpidcon on clients.
+#line 46
+allow servicemanager atrace:dir search;
+#line 46
+allow servicemanager atrace:file { read open };
+#line 46
+allow servicemanager atrace:process getattr;
+#line 46
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 46
+# all domains in domain.te.
+#line 46
+
+allow atrace surfaceflinger:binder call;
+allow atrace system_server:binder call;
+allow atrace cameraserver:binder call;
+
+# Similarly, on debug builds, allow specific HALs to be notified that
+# trace-related system properties have changed.
+#line 59
+
+
+# Remove logspam from notification attempts to non-allowlisted services.
+dontaudit atrace hwservice_manager_type:hwservice_manager find;
+dontaudit atrace service_manager_type:service_manager find;
+dontaudit atrace domain:binder call;
+
+# atrace can call atrace HAL
+
+#line 67
+typeattribute atrace halclientdomain;
+#line 67
+typeattribute atrace hal_atrace_client;
+#line 67
+
+#line 67
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 67
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 67
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 67
+
+#line 67
+typeattribute atrace hal_atrace;
+#line 67
+# Find passthrough HAL implementations
+#line 67
+allow hal_atrace system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 67
+allow hal_atrace vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 67
+allow hal_atrace vendor_file:file { read open getattr execute map };
+#line 67
+
+#line 67
+
+
+
+#line 69
+allow atrace hwservicemanager_prop:file { getattr open read map };
+#line 69
+
+
+#line 79
+
+
+dontaudit atrace debugfs_tracing_debug:file audit_access;
+#line 1 "system/sepolicy/private/audioserver.te"
+# audioserver - audio services daemon
+type audioserver_exec, exec_type, file_type, system_file_type;
+typeattribute audioserver coredomain;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init audioserver_exec:file { getattr open read execute map };
+#line 5
+allow init audioserver:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow audioserver audioserver_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init audioserver:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init audioserver:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init audioserver_exec:process audioserver;
+#line 5
+
+#line 5
+
+
+#line 6
+type_transition audioserver tmpfs:file audioserver_tmpfs;
+#line 6
+allow audioserver audioserver_tmpfs:file { read write getattr map };
+#line 6
+
+
+
+#line 8
+allow audioserver sdcard_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 8
+allow audioserver sdcard_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 8
+
+
+#line 9
+allow audioserver fuse:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow audioserver fuse:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 9
+
+
+
+#line 11
+# Call the servicemanager and transfer references to it.
+#line 11
+allow audioserver servicemanager:binder { call transfer };
+#line 11
+# Allow servicemanager to send out callbacks
+#line 11
+allow servicemanager audioserver:binder { call transfer };
+#line 11
+# servicemanager performs getpidcon on clients.
+#line 11
+allow servicemanager audioserver:dir search;
+#line 11
+allow servicemanager audioserver:file { read open };
+#line 11
+allow servicemanager audioserver:process getattr;
+#line 11
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 11
+# all domains in domain.te.
+#line 11
+
+
+#line 12
+# Call the server domain and optionally transfer references to it.
+#line 12
+allow audioserver binderservicedomain:binder { call transfer };
+#line 12
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 12
+allow binderservicedomain audioserver:binder transfer;
+#line 12
+# Receive and use open files from the server.
+#line 12
+allow audioserver binderservicedomain:fd use;
+#line 12
+
+
+#line 13
+# Call the server domain and optionally transfer references to it.
+#line 13
+allow audioserver appdomain:binder { call transfer };
+#line 13
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 13
+allow appdomain audioserver:binder transfer;
+#line 13
+# Receive and use open files from the server.
+#line 13
+allow audioserver appdomain:fd use;
+#line 13
+
+
+#line 14
+typeattribute audioserver binderservicedomain;
+#line 14
+
+
+
+#line 16
+typeattribute audioserver halclientdomain;
+#line 16
+typeattribute audioserver hal_allocator_client;
+#line 16
+
+#line 16
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 16
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 16
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 16
+
+#line 16
+typeattribute audioserver hal_allocator;
+#line 16
+# Find passthrough HAL implementations
+#line 16
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 16
+
+#line 16
+
+# /system/lib64/hw for always-passthrough Allocator HAL ashmem / mapper .so
+
+#line 18
+allow audioserver system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow audioserver system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 18
+
+
+
+#line 20
+typeattribute audioserver halclientdomain;
+#line 20
+typeattribute audioserver hal_audio_client;
+#line 20
+
+#line 20
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 20
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 20
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 20
+
+#line 20
+typeattribute audioserver hal_audio;
+#line 20
+# Find passthrough HAL implementations
+#line 20
+allow hal_audio system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_audio vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_audio vendor_file:file { read open getattr execute map };
+#line 20
+
+#line 20
+
+
+#line 30
+
+
+
+#line 32
+  allow audioserver audioserver_service:service_manager { add find };
+#line 32
+  neverallow { domain -audioserver } audioserver_service:service_manager add;
+#line 32
+
+#line 32
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 32
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 32
+  
+#line 32
+
+allow audioserver activity_service:service_manager find;
+allow audioserver appops_service:service_manager find;
+allow audioserver batterystats_service:service_manager find;
+allow audioserver external_vibrator_service:service_manager find;
+allow audioserver package_native_service:service_manager find;
+allow audioserver permission_service:service_manager find;
+allow audioserver permission_checker_service:service_manager find;
+allow audioserver power_service:service_manager find;
+allow audioserver scheduling_policy_service:service_manager find;
+allow audioserver mediametrics_service:service_manager find;
+allow audioserver sensor_privacy_service:service_manager find;
+allow audioserver soundtrigger_middleware_service:service_manager find;
+allow audioserver audio_service:service_manager find;
+allow audioserver virtual_device_native_service:service_manager find;
+
+# Allow read/write access to bluetooth-specific properties
+
+#line 49
+
+#line 49
+allow audioserver property_socket:sock_file write;
+#line 49
+allow audioserver init:unix_stream_socket connectto;
+#line 49
+
+#line 49
+allow audioserver bluetooth_a2dp_offload_prop:property_service set;
+#line 49
+
+#line 49
+allow audioserver bluetooth_a2dp_offload_prop:file { getattr open read map };
+#line 49
+
+#line 49
+
+
+#line 50
+
+#line 50
+allow audioserver property_socket:sock_file write;
+#line 50
+allow audioserver init:unix_stream_socket connectto;
+#line 50
+
+#line 50
+allow audioserver bluetooth_audio_hal_prop:property_service set;
+#line 50
+
+#line 50
+allow audioserver bluetooth_audio_hal_prop:file { getattr open read map };
+#line 50
+
+#line 50
+
+
+#line 51
+
+#line 51
+allow audioserver property_socket:sock_file write;
+#line 51
+allow audioserver init:unix_stream_socket connectto;
+#line 51
+
+#line 51
+allow audioserver bluetooth_prop:property_service set;
+#line 51
+
+#line 51
+allow audioserver bluetooth_prop:file { getattr open read map };
+#line 51
+
+#line 51
+
+
+#line 52
+
+#line 52
+allow audioserver property_socket:sock_file write;
+#line 52
+allow audioserver init:unix_stream_socket connectto;
+#line 52
+
+#line 52
+allow audioserver exported_bluetooth_prop:property_service set;
+#line 52
+
+#line 52
+allow audioserver exported_bluetooth_prop:file { getattr open read map };
+#line 52
+
+#line 52
+
+
+# Grant access to audio files to audioserver
+allow audioserver audio_data_file:dir { { open getattr read search ioctl lock watch watch_reads } add_name write };
+allow audioserver audio_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow access to ALSA MMAP FDs for AAudio API
+allow audioserver audio_device:chr_file { read write };
+
+allow audioserver audio_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow audioserver audio_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# For A2DP bridge which is loaded directly into audioserver
+
+#line 65
+allow audioserver bluetooth_socket:sock_file write;
+#line 65
+allow audioserver bluetooth:unix_stream_socket connectto;
+#line 65
+
+
+# Allow shell commands from ADB and shell for CTS testing/dumping
+allow audioserver adbd:fd use;
+allow audioserver adbd:unix_stream_socket { read write };
+allow audioserver shell:fifo_file { read write };
+
+# Allow shell commands from ADB for CTS testing/dumping
+#line 77
+
+
+# Allow write access to log tag property
+
+#line 80
+
+#line 80
+allow audioserver property_socket:sock_file write;
+#line 80
+allow audioserver init:unix_stream_socket connectto;
+#line 80
+
+#line 80
+allow audioserver log_tag_prop:property_service set;
+#line 80
+
+#line 80
+allow audioserver log_tag_prop:file { getattr open read map };
+#line 80
+
+#line 80
+;
+
+# Allow audioserver to signal audio HAL processes and dump their stacks.
+allow audioserver hal_audio_server:process signal;
+
+# Allow audioserver to access sensorservice.
+allow audioserver sensorservice_service:service_manager find;
+allow audioserver system_server:unix_stream_socket { read write };
+
+# Allow using wake locks
+
+#line 90
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 90
+# deprecated.
+#line 90
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 90
+allow audioserver sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 90
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 90
+allow audioserver self:{ capability2 cap2_userns } block_suspend;
+#line 90
+# system_suspend permissions
+#line 90
+
+#line 90
+# Call the server domain and optionally transfer references to it.
+#line 90
+allow audioserver system_suspend_server:binder { call transfer };
+#line 90
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 90
+allow system_suspend_server audioserver:binder transfer;
+#line 90
+# Receive and use open files from the server.
+#line 90
+allow audioserver system_suspend_server:fd use;
+#line 90
+
+#line 90
+allow audioserver system_suspend_hwservice:hwservice_manager find;
+#line 90
+# halclientdomain permissions
+#line 90
+
+#line 90
+# Call the hwservicemanager and transfer references to it.
+#line 90
+allow audioserver hwservicemanager:binder { call transfer };
+#line 90
+# Allow hwservicemanager to send out callbacks
+#line 90
+allow hwservicemanager audioserver:binder { call transfer };
+#line 90
+# hwservicemanager performs getpidcon on clients.
+#line 90
+allow hwservicemanager audioserver:dir search;
+#line 90
+allow hwservicemanager audioserver:file { read open map };
+#line 90
+allow hwservicemanager audioserver:process getattr;
+#line 90
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 90
+# all domains in domain.te.
+#line 90
+
+#line 90
+
+#line 90
+allow audioserver hwservicemanager_prop:file { getattr open read map };
+#line 90
+
+#line 90
+allow audioserver hidl_manager_hwservice:hwservice_manager find;
+#line 90
+# AIDL suspend hal permissions
+#line 90
+allow audioserver hal_system_suspend_service:service_manager find;
+#line 90
+
+#line 90
+# Call the servicemanager and transfer references to it.
+#line 90
+allow audioserver servicemanager:binder { call transfer };
+#line 90
+# Allow servicemanager to send out callbacks
+#line 90
+allow servicemanager audioserver:binder { call transfer };
+#line 90
+# servicemanager performs getpidcon on clients.
+#line 90
+allow servicemanager audioserver:dir search;
+#line 90
+allow servicemanager audioserver:file { read open };
+#line 90
+allow servicemanager audioserver:process getattr;
+#line 90
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 90
+# all domains in domain.te.
+#line 90
+
+#line 90
+
+
+# Allow reading audio config props, e.g. af.fast_track_multiplier
+
+#line 93
+allow audioserver audio_config_prop:file { getattr open read map };
+#line 93
+
+
+#line 94
+allow audioserver system_audio_config_prop:file { getattr open read map };
+#line 94
+
+
+###
+### neverallow rules
+###
+
+# audioserver should never execute any executable without a
+# domain transition
+neverallow audioserver { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow audioserver domain:{ udp_socket rawip_socket } *;
+neverallow audioserver { domain  }:tcp_socket *;
+#line 1 "system/sepolicy/private/auditctl.te"
+#
+# /system/bin/auditctl executed for logd
+#
+# Performs maintenance of the kernel auditing system, including
+# setting rate limits on SELinux denials.
+#
+
+type auditctl, domain, coredomain;
+type auditctl_exec, file_type, system_file_type, exec_type;
+
+# Uncomment the line below to put this domain into permissive
+# mode. This helps speed SELinux policy development.
+# userdebug_or_eng(`permissive auditctl;')
+
+
+#line 15
+
+#line 15
+# Allow the necessary permissions.
+#line 15
+
+#line 15
+# Old domain may exec the file and transition to the new domain.
+#line 15
+allow init auditctl_exec:file { getattr open read execute map };
+#line 15
+allow init auditctl:process transition;
+#line 15
+# New domain is entered by executing the file.
+#line 15
+allow auditctl auditctl_exec:file { entrypoint open read execute getattr map };
+#line 15
+# New domain can send SIGCHLD to its caller.
+#line 15
+
+#line 15
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 15
+dontaudit init auditctl:process noatsecure;
+#line 15
+# XXX dontaudit candidate but requires further study.
+#line 15
+allow init auditctl:process { siginh rlimitinh };
+#line 15
+
+#line 15
+# Make the transition occur by default.
+#line 15
+type_transition init auditctl_exec:process auditctl;
+#line 15
+
+#line 15
+
+
+allow auditctl self:{ capability cap_userns } audit_control;
+allow auditctl self:netlink_audit_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_write };
+#line 1 "system/sepolicy/private/automotive_display_service.te"
+# Display proxy service for Automotive
+type automotive_display_service, domain, coredomain;
+type automotive_display_service_exec, system_file_type, exec_type, file_type;
+
+typeattribute automotive_display_service automotive_display_service_server;
+
+# Allow to add a display service to the hwservicemanager
+
+#line 8
+  allow automotive_display_service fwk_automotive_display_hwservice:hwservice_manager { add find };
+#line 8
+  allow automotive_display_service hidl_base_hwservice:hwservice_manager add;
+#line 8
+  neverallow { domain -automotive_display_service } fwk_automotive_display_hwservice:hwservice_manager add;
+#line 8
+;
+
+# Allow init to launch automotive display service
+
+#line 11
+
+#line 11
+# Allow the necessary permissions.
+#line 11
+
+#line 11
+# Old domain may exec the file and transition to the new domain.
+#line 11
+allow init automotive_display_service_exec:file { getattr open read execute map };
+#line 11
+allow init automotive_display_service:process transition;
+#line 11
+# New domain is entered by executing the file.
+#line 11
+allow automotive_display_service automotive_display_service_exec:file { entrypoint open read execute getattr map };
+#line 11
+# New domain can send SIGCHLD to its caller.
+#line 11
+
+#line 11
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 11
+dontaudit init automotive_display_service:process noatsecure;
+#line 11
+# XXX dontaudit candidate but requires further study.
+#line 11
+allow init automotive_display_service:process { siginh rlimitinh };
+#line 11
+
+#line 11
+# Make the transition occur by default.
+#line 11
+type_transition init automotive_display_service_exec:process automotive_display_service;
+#line 11
+
+#line 11
+
+
+# Allow to use Binder IPC for SurfaceFlinger.
+
+#line 14
+# Call the servicemanager and transfer references to it.
+#line 14
+allow automotive_display_service servicemanager:binder { call transfer };
+#line 14
+# Allow servicemanager to send out callbacks
+#line 14
+allow servicemanager automotive_display_service:binder { call transfer };
+#line 14
+# servicemanager performs getpidcon on clients.
+#line 14
+allow servicemanager automotive_display_service:dir search;
+#line 14
+allow servicemanager automotive_display_service:file { read open };
+#line 14
+allow servicemanager automotive_display_service:process getattr;
+#line 14
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+
+# Allow to use HwBinder IPC for HAL implementations.
+
+#line 17
+# Call the hwservicemanager and transfer references to it.
+#line 17
+allow automotive_display_service hwservicemanager:binder { call transfer };
+#line 17
+# Allow hwservicemanager to send out callbacks
+#line 17
+allow hwservicemanager automotive_display_service:binder { call transfer };
+#line 17
+# hwservicemanager performs getpidcon on clients.
+#line 17
+allow hwservicemanager automotive_display_service:dir search;
+#line 17
+allow hwservicemanager automotive_display_service:file { read open map };
+#line 17
+allow hwservicemanager automotive_display_service:process getattr;
+#line 17
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 17
+# all domains in domain.te.
+#line 17
+
+
+#line 18
+typeattribute automotive_display_service halclientdomain;
+#line 18
+typeattribute automotive_display_service hal_graphics_composer_client;
+#line 18
+
+#line 18
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 18
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 18
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 18
+
+#line 18
+typeattribute automotive_display_service hal_graphics_composer;
+#line 18
+# Find passthrough HAL implementations
+#line 18
+allow hal_graphics_composer system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_graphics_composer vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_graphics_composer vendor_file:file { read open getattr execute map };
+#line 18
+
+#line 18
+
+
+#line 19
+typeattribute automotive_display_service halclientdomain;
+#line 19
+typeattribute automotive_display_service hal_graphics_allocator_client;
+#line 19
+
+#line 19
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 19
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 19
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 19
+
+#line 19
+typeattribute automotive_display_service hal_graphics_allocator;
+#line 19
+# Find passthrough HAL implementations
+#line 19
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 19
+
+#line 19
+
+
+# Allow to read the target property.
+
+#line 22
+allow automotive_display_service hwservicemanager_prop:file { getattr open read map };
+#line 22
+
+
+# Allow to find SurfaceFlinger.
+allow automotive_display_service surfaceflinger_service:service_manager find;
+
+# Allow client domain to do binder IPC to serverdomain.
+
+#line 28
+# Call the server domain and optionally transfer references to it.
+#line 28
+allow automotive_display_service surfaceflinger:binder { call transfer };
+#line 28
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 28
+allow surfaceflinger automotive_display_service:binder transfer;
+#line 28
+# Receive and use open files from the server.
+#line 28
+allow automotive_display_service surfaceflinger:fd use;
+#line 28
+
+
+# Allow to use a graphics mapper
+allow automotive_display_service hal_graphics_mapper_hwservice:hwservice_manager find;
+
+# Allow to use hidl token service
+allow automotive_display_service hidl_token_hwservice:hwservice_manager find;
+
+# Allow to access EGL files
+allow automotive_display_service gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow automotive_display_service gpu_device:dir search;
+
+# Allow to add a service to the servicemanager
+
+#line 41
+  allow automotive_display_service fwk_automotive_display_service:service_manager { add find };
+#line 41
+  neverallow { domain -automotive_display_service } fwk_automotive_display_service:service_manager add;
+#line 41
+
+#line 41
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 41
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 41
+  
+#line 41
+;
+
+# Allow to communicate with EVS services
+
+#line 44
+# Call the server domain and optionally transfer references to it.
+#line 44
+allow automotive_display_service hal_evs:binder { call transfer };
+#line 44
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 44
+allow hal_evs automotive_display_service:binder transfer;
+#line 44
+# Receive and use open files from the server.
+#line 44
+allow automotive_display_service hal_evs:fd use;
+#line 44
+
+#line 1 "system/sepolicy/private/bert_collector.te"
+type bert_collector, domain, coredomain;
+type bert_collector_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init bert_collector_exec:file { getattr open read execute map };
+#line 4
+allow init bert_collector:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow bert_collector bert_collector_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init bert_collector:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init bert_collector:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init bert_collector_exec:process bert_collector;
+#line 4
+
+#line 4
+
+
+
+#line 6
+allow bert_collector sysfs_firmware_acpi_tables:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow bert_collector sysfs_firmware_acpi_tables:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow bert_collector servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager bert_collector:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager bert_collector:dir search;
+#line 8
+allow servicemanager bert_collector:file { read open };
+#line 8
+allow servicemanager bert_collector:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow bert_collector system_server:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow system_server bert_collector:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow bert_collector system_server:fd use;
+#line 9
+
+
+allow bert_collector dropbox_service:service_manager find;
+allow bert_collector proc_version:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/binderservicedomain.te"
+# Rules common to some specific binder service domains.
+# Deprecated. Consider granting the exact permissions required by your service.
+
+# Allow dumpstate and incidentd to collect information from binder services
+allow binderservicedomain { dumpstate incidentd }:fd use;
+allow binderservicedomain { dumpstate incidentd }:unix_stream_socket { read write getopt getattr };
+allow binderservicedomain { dumpstate incidentd }:fifo_file  { getattr write };
+allow binderservicedomain shell_data_file:file { getattr write };
+
+# Allow dumpsys to work from adb shell or the serial console
+allow binderservicedomain devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow binderservicedomain console_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Receive and write to a pipe received over Binder from an app.
+allow binderservicedomain appdomain:fd use;
+allow binderservicedomain appdomain:fifo_file write;
+
+# allow all services to run permission checks
+allow binderservicedomain permission_service:service_manager find;
+
+allow binderservicedomain keystore:keystore2_key { delete get_info rebind use };
+
+
+#line 23
+  allow keystore binderservicedomain:dir search;
+#line 23
+  allow keystore binderservicedomain:file { read open };
+#line 23
+  allow keystore binderservicedomain:process getattr;
+#line 23
+  allow binderservicedomain apc_service:service_manager find;
+#line 23
+  allow binderservicedomain keystore_service:service_manager find;
+#line 23
+  allow binderservicedomain legacykeystore_service:service_manager find;
+#line 23
+  
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow binderservicedomain keystore:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow keystore binderservicedomain:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow binderservicedomain keystore:fd use;
+#line 23
+
+#line 23
+  
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow keystore binderservicedomain:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow binderservicedomain keystore:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow keystore binderservicedomain:fd use;
+#line 23
+
+#line 23
+
+# binderservicedomain is using apex_info via libvintf
+
+#line 25
+  allow binderservicedomain apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+  allow binderservicedomain apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 25
+  
+#line 25
+allow binderservicedomain vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow binderservicedomain vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 25
+
+#line 25
+
+#line 1 "system/sepolicy/private/blank_screen.te"
+type blank_screen, domain, coredomain;
+type blank_screen_exec, exec_type, file_type, system_file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init blank_screen_exec:file { getattr open read execute map };
+#line 4
+allow init blank_screen:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow blank_screen blank_screen_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init blank_screen:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init blank_screen:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init blank_screen_exec:process blank_screen;
+#line 4
+
+#line 4
+
+
+# hal_light_client has access to hal_light_server
+
+#line 7
+typeattribute blank_screen halclientdomain;
+#line 7
+typeattribute blank_screen hal_light_client;
+#line 7
+
+#line 7
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 7
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 7
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 7
+
+#line 7
+typeattribute blank_screen hal_light;
+#line 7
+# Find passthrough HAL implementations
+#line 7
+allow hal_light system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 7
+allow hal_light vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 7
+allow hal_light vendor_file:file { read open getattr execute map };
+#line 7
+
+#line 7
+
+#line 1 "system/sepolicy/private/blkid.te"
+# blkid called from vold
+
+typeattribute blkid coredomain;
+
+type blkid_exec, system_file_type, exec_type, file_type;
+
+# Allowed read-only access to encrypted devices to extract UUID/label
+allow blkid block_device:dir search;
+allow blkid userdata_block_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+allow blkid dm_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow stdin/out back to vold
+allow blkid vold:fd use;
+allow blkid vold:fifo_file { read write getattr };
+
+# For blkid launched through popen()
+allow blkid blkid_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Only allow entry from vold
+neverallow { domain -vold } blkid:process transition;
+neverallow * blkid:process dyntransition;
+neverallow blkid { file_type fs_type -blkid_exec -shell_exec }:file entrypoint;
+#line 1 "system/sepolicy/private/blkid_untrusted.te"
+# blkid for untrusted block devices
+
+typeattribute blkid_untrusted coredomain;
+
+# Allowed read-only access to vold block devices to extract UUID/label
+allow blkid_untrusted block_device:dir search;
+allow blkid_untrusted vold_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow stdin/out back to vold
+allow blkid_untrusted vold:fd use;
+allow blkid_untrusted vold:fifo_file { read write getattr };
+
+# For blkid launched through popen()
+allow blkid_untrusted blkid_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+###
+### neverallow rules
+###
+
+# Untrusted blkid should never be run on block devices holding sensitive data
+neverallow blkid_untrusted {
+  boot_block_device
+  frp_block_device
+  metadata_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdata_block_device
+  cache_block_device
+  dm_device
+}:blk_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Only allow entry from vold via blkid binary
+neverallow { domain -vold } blkid_untrusted:process transition;
+neverallow * blkid_untrusted:process dyntransition;
+neverallow blkid_untrusted { file_type fs_type -blkid_exec -shell_exec }:file entrypoint;
+#line 1 "system/sepolicy/private/bluetooth.te"
+# bluetooth app
+
+typeattribute bluetooth coredomain, mlstrustedsubject;
+
+
+#line 5
+typeattribute bluetooth appdomain;
+#line 5
+# Label tmpfs objects for all apps.
+#line 5
+type_transition bluetooth tmpfs:file appdomain_tmpfs;
+#line 5
+
+#line 5
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 5
+type bluetooth_userfaultfd;
+#line 5
+type_transition bluetooth bluetooth:anon_inode bluetooth_userfaultfd "[userfaultfd]";
+#line 5
+# Allow domain to create/use userfaultfd anon_inode.
+#line 5
+allow bluetooth bluetooth_userfaultfd:anon_inode { create ioctl read };
+#line 5
+# Suppress errors generate during bugreport
+#line 5
+dontaudit su bluetooth_userfaultfd:anon_inode *;
+#line 5
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 5
+neverallow { domain -bluetooth } bluetooth_userfaultfd:anon_inode *;
+#line 5
+
+#line 5
+allow bluetooth appdomain_tmpfs:file { execute getattr map read write };
+#line 5
+neverallow { bluetooth -runas_app -shell -simpleperf } { domain -bluetooth }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 5
+neverallow { appdomain -runas_app -shell -simpleperf -bluetooth } bluetooth:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 5
+# The Android security model guarantees the confidentiality and integrity
+#line 5
+# of application data and execution state. Ptrace bypasses those
+#line 5
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 5
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 5
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 5
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 5
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 5
+# live lock conditions.
+#line 5
+neverallow { domain -bluetooth -crash_dump  -runas_app -simpleperf } bluetooth:process ptrace;
+#line 5
+
+
+#line 6
+typeattribute bluetooth netdomain;
+#line 6
+
+
+# Socket creation under /data/misc/bluedroid.
+type_transition bluetooth bluetooth_data_file:sock_file bluetooth_socket;
+
+# Allow access to net_admin ioctls
+allowxperm bluetooth self:udp_socket ioctl 
+#line 12
+{
+#line 12
+# qualcomm rmnet ioctls
+#line 12
+0x00006900 0x00006902
+#line 12
+# socket ioctls
+#line 12
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 12
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 12
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 12
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 12
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 12
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 12
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 12
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 12
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 12
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 12
+# device and protocol specific ioctls
+#line 12
+0x000089f0-0x000089ff
+#line 12
+0x000089e0-0x000089ef
+#line 12
+# Wireless extension ioctls
+#line 12
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 12
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 12
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 12
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 12
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 12
+0x00008b34 0x00008b35 0x00008b36
+#line 12
+# Dev private ioctl i.e. hardware specific ioctls
+#line 12
+0x00008be0-0x00008bff
+#line 12
+};
+
+
+#line 14
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 14
+# deprecated.
+#line 14
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 14
+allow bluetooth sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 14
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 14
+allow bluetooth self:{ capability2 cap2_userns } block_suspend;
+#line 14
+# system_suspend permissions
+#line 14
+
+#line 14
+# Call the server domain and optionally transfer references to it.
+#line 14
+allow bluetooth system_suspend_server:binder { call transfer };
+#line 14
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 14
+allow system_suspend_server bluetooth:binder transfer;
+#line 14
+# Receive and use open files from the server.
+#line 14
+allow bluetooth system_suspend_server:fd use;
+#line 14
+
+#line 14
+allow bluetooth system_suspend_hwservice:hwservice_manager find;
+#line 14
+# halclientdomain permissions
+#line 14
+
+#line 14
+# Call the hwservicemanager and transfer references to it.
+#line 14
+allow bluetooth hwservicemanager:binder { call transfer };
+#line 14
+# Allow hwservicemanager to send out callbacks
+#line 14
+allow hwservicemanager bluetooth:binder { call transfer };
+#line 14
+# hwservicemanager performs getpidcon on clients.
+#line 14
+allow hwservicemanager bluetooth:dir search;
+#line 14
+allow hwservicemanager bluetooth:file { read open map };
+#line 14
+allow hwservicemanager bluetooth:process getattr;
+#line 14
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+#line 14
+
+#line 14
+allow bluetooth hwservicemanager_prop:file { getattr open read map };
+#line 14
+
+#line 14
+allow bluetooth hidl_manager_hwservice:hwservice_manager find;
+#line 14
+# AIDL suspend hal permissions
+#line 14
+allow bluetooth hal_system_suspend_service:service_manager find;
+#line 14
+
+#line 14
+# Call the servicemanager and transfer references to it.
+#line 14
+allow bluetooth servicemanager:binder { call transfer };
+#line 14
+# Allow servicemanager to send out callbacks
+#line 14
+allow servicemanager bluetooth:binder { call transfer };
+#line 14
+# servicemanager performs getpidcon on clients.
+#line 14
+allow servicemanager bluetooth:dir search;
+#line 14
+allow servicemanager bluetooth:file { read open };
+#line 14
+allow servicemanager bluetooth:process getattr;
+#line 14
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+#line 14
+;
+
+# Data file accesses.
+allow bluetooth bluetooth_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow bluetooth bluetooth_data_file:{ file lnk_file sock_file fifo_file } { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } link };
+allow bluetooth bluetooth_logs_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow bluetooth bluetooth_logs_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Socket creation under /data/misc/bluedroid.
+allow bluetooth bluetooth_socket:sock_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow bluetooth self:{ capability cap_userns } net_admin;
+allow bluetooth self:{ capability2 cap2_userns } wake_alarm;
+
+# tethering
+allow bluetooth self:packet_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow bluetooth self:{ capability cap_userns } { net_admin net_raw net_bind_service };
+allow bluetooth self:tun_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow bluetooth tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm bluetooth tun_device:chr_file ioctl { 0x800454d2 0x400454ca };
+allow bluetooth efs_file:dir search;
+
+# allow Bluetooth to access uhid device for HID profile
+allow bluetooth uhid_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow bluetooth gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow bluetooth gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# proc access.
+allow bluetooth proc_bluetooth_writable:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# For Bluetooth to check what profile are available
+allow bluetooth proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 47
+allow bluetooth incremental_prop:file { getattr open read map };
+#line 47
+
+
+# For Bluetooth to check security logging state
+
+#line 50
+allow bluetooth device_logging_prop:file { getattr open read map };
+#line 50
+
+
+# Allow write access to bluetooth specific properties
+
+#line 53
+
+#line 53
+allow bluetooth property_socket:sock_file write;
+#line 53
+allow bluetooth init:unix_stream_socket connectto;
+#line 53
+
+#line 53
+allow bluetooth binder_cache_bluetooth_server_prop:property_service set;
+#line 53
+
+#line 53
+allow bluetooth binder_cache_bluetooth_server_prop:file { getattr open read map };
+#line 53
+
+#line 53
+;
+neverallow { domain -bluetooth -init }
+    binder_cache_bluetooth_server_prop:property_service set;
+
+#line 56
+
+#line 56
+allow bluetooth property_socket:sock_file write;
+#line 56
+allow bluetooth init:unix_stream_socket connectto;
+#line 56
+
+#line 56
+allow bluetooth bluetooth_a2dp_offload_prop:property_service set;
+#line 56
+
+#line 56
+allow bluetooth bluetooth_a2dp_offload_prop:file { getattr open read map };
+#line 56
+
+#line 56
+
+
+#line 57
+
+#line 57
+allow bluetooth property_socket:sock_file write;
+#line 57
+allow bluetooth init:unix_stream_socket connectto;
+#line 57
+
+#line 57
+allow bluetooth bluetooth_audio_hal_prop:property_service set;
+#line 57
+
+#line 57
+allow bluetooth bluetooth_audio_hal_prop:file { getattr open read map };
+#line 57
+
+#line 57
+
+
+#line 58
+
+#line 58
+allow bluetooth property_socket:sock_file write;
+#line 58
+allow bluetooth init:unix_stream_socket connectto;
+#line 58
+
+#line 58
+allow bluetooth bluetooth_prop:property_service set;
+#line 58
+
+#line 58
+allow bluetooth bluetooth_prop:file { getattr open read map };
+#line 58
+
+#line 58
+
+
+#line 59
+
+#line 59
+allow bluetooth property_socket:sock_file write;
+#line 59
+allow bluetooth init:unix_stream_socket connectto;
+#line 59
+
+#line 59
+allow bluetooth exported_bluetooth_prop:property_service set;
+#line 59
+
+#line 59
+allow bluetooth exported_bluetooth_prop:file { getattr open read map };
+#line 59
+
+#line 59
+
+
+#line 60
+
+#line 60
+allow bluetooth property_socket:sock_file write;
+#line 60
+allow bluetooth init:unix_stream_socket connectto;
+#line 60
+
+#line 60
+allow bluetooth pan_result_prop:property_service set;
+#line 60
+
+#line 60
+allow bluetooth pan_result_prop:file { getattr open read map };
+#line 60
+
+#line 60
+
+
+allow bluetooth audioserver_service:service_manager find;
+allow bluetooth bluetooth_service:service_manager find;
+allow bluetooth drmserver_service:service_manager find;
+allow bluetooth mediaserver_service:service_manager find;
+allow bluetooth radio_service:service_manager find;
+allow bluetooth app_api_service:service_manager find;
+allow bluetooth system_api_service:service_manager find;
+allow bluetooth network_stack_service:service_manager find;
+allow bluetooth system_suspend_control_service:service_manager find;
+allow bluetooth hal_audio_service:service_manager find;
+
+# already open bugreport file descriptors may be shared with
+# the bluetooth process, from a file in
+# /data/data/com.android.shell/files/bugreports/bugreport-*.
+allow bluetooth shell_data_file:file read;
+
+# Bluetooth audio needs RT scheduling to meet deadlines, allow sys_nice
+allow bluetooth self:{ capability cap_userns } sys_nice;
+
+
+#line 81
+typeattribute bluetooth halclientdomain;
+#line 81
+typeattribute bluetooth hal_bluetooth_client;
+#line 81
+
+#line 81
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 81
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 81
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 81
+
+#line 81
+typeattribute bluetooth hal_bluetooth;
+#line 81
+# Find passthrough HAL implementations
+#line 81
+allow hal_bluetooth system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 81
+allow hal_bluetooth vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 81
+allow hal_bluetooth vendor_file:file { read open getattr execute map };
+#line 81
+
+#line 81
+
+
+#line 82
+typeattribute bluetooth halclientdomain;
+#line 82
+typeattribute bluetooth hal_telephony_client;
+#line 82
+
+#line 82
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 82
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 82
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 82
+
+#line 82
+typeattribute bluetooth hal_telephony;
+#line 82
+# Find passthrough HAL implementations
+#line 82
+allow hal_telephony system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow hal_telephony vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow hal_telephony vendor_file:file { read open getattr execute map };
+#line 82
+
+#line 82
+
+
+# Bluetooth A2DP offload requires binding with audio HAL
+
+#line 85
+typeattribute bluetooth halclientdomain;
+#line 85
+typeattribute bluetooth hal_audio_client;
+#line 85
+
+#line 85
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 85
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 85
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 85
+
+#line 85
+typeattribute bluetooth hal_audio;
+#line 85
+# Find passthrough HAL implementations
+#line 85
+allow hal_audio system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 85
+allow hal_audio vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 85
+allow hal_audio vendor_file:file { read open getattr execute map };
+#line 85
+
+#line 85
+
+
+
+#line 87
+allow bluetooth runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 87
+
+
+###
+### Neverallow rules
+###
+### These are things that the bluetooth app should NEVER be able to do
+###
+
+# Superuser capabilities.
+# Bluetooth requires net_{admin,raw,bind_service} and wake_alarm and block_suspend and sys_nice.
+neverallow bluetooth self:{ capability cap_userns } ~{ net_admin net_raw net_bind_service sys_nice};
+neverallow bluetooth self:{ capability2 cap2_userns } ~{ wake_alarm block_suspend };
+#line 1 "system/sepolicy/private/bluetoothdomain.te"
+# Allow clients to use a socket provided by the bluetooth app.
+allow bluetoothdomain bluetooth:unix_stream_socket { getopt setopt getattr read write ioctl shutdown };
+#line 1 "system/sepolicy/private/bootanim.te"
+typeattribute bootanim coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init bootanim_exec:file { getattr open read execute map };
+#line 3
+allow init bootanim:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow bootanim bootanim_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init bootanim:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init bootanim:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init bootanim_exec:process bootanim;
+#line 3
+
+#line 3
+
+
+# b/68864350
+dontaudit bootanim unlabeled:dir search;
+
+# Bootanim should not be reading default vendor-defined properties.
+dontaudit bootanim vendor_default_prop:file read;
+
+# Read ro.boot.bootreason b/30654343
+
+#line 12
+allow bootanim bootloader_boot_reason_prop:file { getattr open read map };
+#line 12
+
+
+
+#line 14
+allow bootanim bootanim_config_prop:file { getattr open read map };
+#line 14
+
+
+# Allow updating boot animation status.
+
+#line 17
+
+#line 17
+allow bootanim property_socket:sock_file write;
+#line 17
+allow bootanim init:unix_stream_socket connectto;
+#line 17
+
+#line 17
+allow bootanim bootanim_system_prop:property_service set;
+#line 17
+
+#line 17
+allow bootanim bootanim_system_prop:file { getattr open read map };
+#line 17
+
+#line 17
+
+
+# Allow accessing /data/misc/bootanim
+
+#line 20
+allow bootanim bootanim_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow bootanim bootanim_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 20
+
+
+# Allow accessing vendor apex for EGL/GLES
+allow bootanim vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+
+#line 25
+typeattribute bootanim halclientdomain;
+#line 25
+typeattribute bootanim hal_configstore_client;
+#line 25
+
+#line 25
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 25
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 25
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 25
+
+#line 25
+typeattribute bootanim hal_configstore;
+#line 25
+# Find passthrough HAL implementations
+#line 25
+allow hal_configstore system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow hal_configstore vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow hal_configstore vendor_file:file { read open getattr execute map };
+#line 25
+
+#line 25
+
+
+#line 26
+typeattribute bootanim halclientdomain;
+#line 26
+typeattribute bootanim hal_graphics_allocator_client;
+#line 26
+
+#line 26
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 26
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 26
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 26
+
+#line 26
+typeattribute bootanim hal_graphics_allocator;
+#line 26
+# Find passthrough HAL implementations
+#line 26
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 26
+
+#line 26
+
+
+#line 27
+typeattribute bootanim halclientdomain;
+#line 27
+typeattribute bootanim hal_graphics_composer_client;
+#line 27
+
+#line 27
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 27
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 27
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 27
+
+#line 27
+typeattribute bootanim hal_graphics_composer;
+#line 27
+# Find passthrough HAL implementations
+#line 27
+allow hal_graphics_composer system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 27
+allow hal_graphics_composer vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 27
+allow hal_graphics_composer vendor_file:file { read open getattr execute map };
+#line 27
+
+#line 27
+
+
+
+#line 29
+# Call the servicemanager and transfer references to it.
+#line 29
+allow bootanim servicemanager:binder { call transfer };
+#line 29
+# Allow servicemanager to send out callbacks
+#line 29
+allow servicemanager bootanim:binder { call transfer };
+#line 29
+# servicemanager performs getpidcon on clients.
+#line 29
+allow servicemanager bootanim:dir search;
+#line 29
+allow servicemanager bootanim:file { read open };
+#line 29
+allow servicemanager bootanim:process getattr;
+#line 29
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 29
+# all domains in domain.te.
+#line 29
+
+
+#line 30
+# Call the server domain and optionally transfer references to it.
+#line 30
+allow bootanim surfaceflinger:binder { call transfer };
+#line 30
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 30
+allow surfaceflinger bootanim:binder transfer;
+#line 30
+# Receive and use open files from the server.
+#line 30
+allow bootanim surfaceflinger:fd use;
+#line 30
+
+
+#line 31
+# Call the server domain and optionally transfer references to it.
+#line 31
+allow bootanim audioserver:binder { call transfer };
+#line 31
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 31
+allow audioserver bootanim:binder transfer;
+#line 31
+# Receive and use open files from the server.
+#line 31
+allow bootanim audioserver:fd use;
+#line 31
+
+
+
+#line 33
+# Call the hwservicemanager and transfer references to it.
+#line 33
+allow bootanim hwservicemanager:binder { call transfer };
+#line 33
+# Allow hwservicemanager to send out callbacks
+#line 33
+allow hwservicemanager bootanim:binder { call transfer };
+#line 33
+# hwservicemanager performs getpidcon on clients.
+#line 33
+allow hwservicemanager bootanim:dir search;
+#line 33
+allow hwservicemanager bootanim:file { read open map };
+#line 33
+allow hwservicemanager bootanim:process getattr;
+#line 33
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 33
+# all domains in domain.te.
+#line 33
+
+
+allow bootanim gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow bootanim gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow bootanim sysfs_gpu:file { getattr open read ioctl lock map watch watch_reads };
+
+# /oem access
+allow bootanim oemfs:dir { open getattr read search ioctl lock watch watch_reads };
+# boot animations on oem are stored with specific label
+allow bootanim bootanim_oem_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow bootanim audio_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow bootanim audio_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow bootanim audioserver_service:service_manager find;
+allow bootanim surfaceflinger_service:service_manager find;
+allow bootanim surfaceflinger:unix_stream_socket { read write };
+
+# Allow access to ion memory allocation device
+allow bootanim ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow access to DMA-BUF system heap
+allow bootanim dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+allow bootanim hal_graphics_allocator:fd use;
+
+# Fences
+allow bootanim hal_graphics_composer:fd use;
+
+# Read access to pseudo filesystems.
+allow bootanim proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# System file accesses.
+allow bootanim system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow bootanim to send information to statsd socket.
+
+#line 69
+allow bootanim statsdw_socket:sock_file write;
+#line 69
+allow bootanim statsd:unix_dgram_socket sendto;
+#line 1 "system/sepolicy/private/bootstat.te"
+typeattribute bootstat coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init bootstat_exec:file { getattr open read execute map };
+#line 3
+allow init bootstat:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow bootstat bootstat_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init bootstat:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init bootstat:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init bootstat_exec:process bootstat;
+#line 3
+
+#line 3
+
+
+# Collect metrics on boot time created by init
+
+#line 6
+allow bootstat boottime_prop:file { getattr open read map };
+#line 6
+
+
+# Read/Write [persist.]sys.boot.reason and ro.boot.bootreason (write if empty)
+
+#line 9
+
+#line 9
+allow bootstat property_socket:sock_file write;
+#line 9
+allow bootstat init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow bootstat bootloader_boot_reason_prop:property_service set;
+#line 9
+
+#line 9
+allow bootstat bootloader_boot_reason_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+#line 10
+
+#line 10
+allow bootstat property_socket:sock_file write;
+#line 10
+allow bootstat init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow bootstat system_boot_reason_prop:property_service set;
+#line 10
+
+#line 10
+allow bootstat system_boot_reason_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+#line 11
+
+#line 11
+allow bootstat property_socket:sock_file write;
+#line 11
+allow bootstat init:unix_stream_socket connectto;
+#line 11
+
+#line 11
+allow bootstat last_boot_reason_prop:property_service set;
+#line 11
+
+#line 11
+allow bootstat last_boot_reason_prop:file { getattr open read map };
+#line 11
+
+#line 11
+
+
+
+#line 13
+allow bootstat runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 13
+
+
+# Allow persistent storage in /data/misc/bootstat.
+allow bootstat bootstat_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow bootstat bootstat_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow bootstat metadata_file:dir search;
+allow bootstat metadata_bootstat_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow bootstat metadata_bootstat_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# ToDo: TBI move access for the following to a system health HAL
+
+# Allow access to /sys/fs/pstore/ and syslog
+allow bootstat pstorefs:dir search;
+allow bootstat pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+allow bootstat kernel:system syslog_read;
+
+# Allow access to reading the logs to read aspects of system health
+
+#line 31
+allow bootstat logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 31
+
+#line 31
+allow bootstat logdr_socket:sock_file write;
+#line 31
+allow bootstat logd:unix_stream_socket connectto;
+#line 31
+
+#line 31
+
+
+# Allow bootstat write to statsd.
+
+#line 34
+allow bootstat statsdw_socket:sock_file write;
+#line 34
+allow bootstat statsd:unix_dgram_socket sendto;
+#line 34
+
+
+###
+### Neverallow rules
+###
+
+neverallow {
+  domain
+  -bootstat
+  -init
+} system_boot_reason_prop:property_service set;
+
+neverallow {
+  domain
+  -bootanim
+  -bootstat
+  -dumpstate
+  
+  -init
+  -platform_app
+  -recovery
+  -shell
+  -system_server
+} { bootloader_boot_reason_prop last_boot_reason_prop }:file { getattr open read ioctl lock map watch watch_reads };
+# ... and refine, as these components should not set the last boot reason
+neverallow { bootanim recovery } last_boot_reason_prop:file { getattr open read ioctl lock map watch watch_reads };
+
+neverallow {
+  domain
+  -bootstat
+  -init
+  -system_server
+} { bootloader_boot_reason_prop last_boot_reason_prop }:property_service set;
+# ... and refine ... for a ro propertly no less ... keep this _tight_
+neverallow system_server bootloader_boot_reason_prop:property_service set;
+#line 1 "system/sepolicy/private/boringssl_self_test.te"
+# System and vendor domains for BoringSSL self test binaries.
+#
+# For FIPS compliance, all processes linked against libcrypto perform a startup
+# self test which computes a hash of the BoringSSL Crypto Module (BCM) and, at least once
+# per device boot, also run a series of Known Answer Tests (KAT) to verify functionality.
+#
+# The KATs are expensive, and to ensure they are run as few times as possible, they
+# are skipped if a marker file exists in /dev/boringssl/selftest whose name is
+# the hash of the BCM that was computed earlier.  The files are zero length and their contents
+# should never be read or written.  To avoid giving arbitrary processes access to /dev/boringssl
+# to create these marker files, there are dedicated self test binaries which this policy
+# gives access to and which are run during early-init.
+#
+# Due to build skew, the version of libcrypto in /vendor may have a different hash than
+# the system one.  To cater for this there are vendor variants of the self test binaries
+# which also have permission to write to the same files in /dev/boringssl.  In the case where
+# vendor and system libcrypto have the same hash, there will be a race to create the file,
+# but this is harmless.
+#
+# If the self tests fail, then the device should reboot into firmware and for this reason
+# the system boringssl_self_test domain needs to be in coredomain.  As vendor domains
+# are not allowed in coredomain, this means that the vendor self tests cannot trigger a
+# reboot.  However every binary linked against the vendor libcrypto will abort on startup,
+# so in practice the device will crash anyway in this unlikely scenario.
+
+# System boringssl_self_test domain
+type boringssl_self_test, domain, coredomain;
+type boringssl_self_test_exec, system_file_type, exec_type, file_type;
+
+# Vendor boringssl_self_test domain
+type vendor_boringssl_self_test, domain;
+type vendor_boringssl_self_test_exec, vendor_file_type, exec_type, file_type;
+
+# Switch to boringssl_self_test security domain when running boringssl_self_test_exec
+
+#line 35
+
+#line 35
+# Allow the necessary permissions.
+#line 35
+
+#line 35
+# Old domain may exec the file and transition to the new domain.
+#line 35
+allow init boringssl_self_test_exec:file { getattr open read execute map };
+#line 35
+allow init boringssl_self_test:process transition;
+#line 35
+# New domain is entered by executing the file.
+#line 35
+allow boringssl_self_test boringssl_self_test_exec:file { entrypoint open read execute getattr map };
+#line 35
+# New domain can send SIGCHLD to its caller.
+#line 35
+
+#line 35
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 35
+dontaudit init boringssl_self_test:process noatsecure;
+#line 35
+# XXX dontaudit candidate but requires further study.
+#line 35
+allow init boringssl_self_test:process { siginh rlimitinh };
+#line 35
+
+#line 35
+# Make the transition occur by default.
+#line 35
+type_transition init boringssl_self_test_exec:process boringssl_self_test;
+#line 35
+
+#line 35
+
+
+# Switch to vendor_boringssl_self_test security domain when running vendor_boringssl_self_test_exec
+
+#line 38
+
+#line 38
+# Allow the necessary permissions.
+#line 38
+
+#line 38
+# Old domain may exec the file and transition to the new domain.
+#line 38
+allow init vendor_boringssl_self_test_exec:file { getattr open read execute map };
+#line 38
+allow init vendor_boringssl_self_test:process transition;
+#line 38
+# New domain is entered by executing the file.
+#line 38
+allow vendor_boringssl_self_test vendor_boringssl_self_test_exec:file { entrypoint open read execute getattr map };
+#line 38
+# New domain can send SIGCHLD to its caller.
+#line 38
+
+#line 38
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 38
+dontaudit init vendor_boringssl_self_test:process noatsecure;
+#line 38
+# XXX dontaudit candidate but requires further study.
+#line 38
+allow init vendor_boringssl_self_test:process { siginh rlimitinh };
+#line 38
+
+#line 38
+# Make the transition occur by default.
+#line 38
+type_transition init vendor_boringssl_self_test_exec:process vendor_boringssl_self_test;
+#line 38
+
+#line 38
+
+
+# Marker files, common to both domains, indicating KAT have been performed on a particular libcrypto
+#
+# The files are zero length so there is no issue if both vendor and system code
+# try to create the same file simultaneously. One will succeed and the other will fail
+# silently, i.e. still indicate success.  Similar harmless naming collisions will happen in the
+# system domain e.g. when system and APEX copies of libcrypto are identical.
+type boringssl_self_test_marker, file_type;
+
+# Allow self test binaries to create/check for the existence of boringssl_self_test_marker files
+allow { boringssl_self_test vendor_boringssl_self_test }
+  boringssl_self_test_marker:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow { boringssl_self_test vendor_boringssl_self_test }
+  boringssl_self_test_marker:dir { { open getattr read search ioctl lock watch watch_reads } add_name write };
+
+# Allow self test binaries to write their stdout/stderr messages to kmsg_debug
+allow { boringssl_self_test vendor_boringssl_self_test }
+  kmsg_debug_device:chr_file { { open append write lock map } getattr ioctl };
+
+# No other process should be able to create marker files because their existence causes the
+# boringssl KAT to be skipped.
+neverallow {
+  domain
+  -vendor_boringssl_self_test
+  -boringssl_self_test
+  -init
+  -vendor_init
+} boringssl_self_test_marker:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -vendor_boringssl_self_test
+  -boringssl_self_test
+  -init
+  -vendor_init
+} boringssl_self_test_marker:dir write;
+#line 1 "system/sepolicy/private/bpfdomain.te"
+# platform should have ownership of network attachpoints for BPF
+neverallow {
+  bpfdomain
+  -bpfloader
+  -netd
+  -netutils_wrapper
+  -network_stack
+  -system_server
+} self:{ capability cap_userns } { net_admin net_raw };
+
+# any domain which uses bpf is a bpfdomain
+neverallow { domain -bpfdomain } *:bpf *;
+
+allow bpfdomain fs_bpf:dir search;
+
+# genfscon doesn't seem to trigger during symlink creation,
+# and thus any created symlinks end up as 'fs_bpf:lnk_type',
+# however this feels like a kernel bug / missing feature,
+# so let's allow all bpffs_type's instead,
+# this will keep things working even if this is fixed.
+allow bpfdomain bpffs_type:lnk_file read;
+
+# Needed for //frameworks/libs/net:
+# common/native/bpf_headers/include/bpf/WaitForProgsLoaded.h
+
+#line 25
+allow bpfdomain bpf_progs_loaded_prop:file { getattr open read map };
+#line 25
+
+#line 1 "system/sepolicy/private/bpfloader.te"
+type bpfloader_exec, system_file_type, exec_type, file_type;
+
+typeattribute bpfloader bpfdomain;
+
+# allow bpfloader to write to the kernel log (starts early)
+allow bpfloader kmsg_device:chr_file { open append write lock map };
+
+# These permissions are required to pin ebpf maps & programs.
+allow bpfloader bpffs_type:dir { add_name create open read remove_name search setattr write };
+allow bpfloader bpffs_type:file { create getattr read rename setattr };
+allow bpfloader bpffs_type:lnk_file { create getattr read };
+allow { bpffs_type -fs_bpf } fs_bpf:filesystem associate;
+
+# Allow bpfloader to create bpf maps and programs.
+allow bpfloader self:bpf { map_create map_read map_write prog_load prog_run };
+
+allow bpfloader self:capability { chown sys_admin net_admin };
+
+allow bpfloader sysfs_fs_fuse_bpf:file { getattr open read ioctl lock map watch watch_reads };
+
+allow bpfloader proc_bpf:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+
+#line 23
+
+#line 23
+allow bpfloader property_socket:sock_file write;
+#line 23
+allow bpfloader init:unix_stream_socket connectto;
+#line 23
+
+#line 23
+allow bpfloader bpf_progs_loaded_prop:property_service set;
+#line 23
+
+#line 23
+allow bpfloader bpf_progs_loaded_prop:file { getattr open read map };
+#line 23
+
+#line 23
+
+
+allow bpfloader bpfloader_exec:file execute_no_trans;
+
+###
+### Neverallow rules
+###
+
+# Note: we don't care about getattr/mounton/search
+neverallow { domain            } bpffs_type:dir ~{ add_name create getattr mounton open read remove_name search setattr write };
+neverallow { domain -bpfloader } bpffs_type:dir { add_name create open read remove_name setattr write };
+
+neverallow { domain            } bpffs_type:file ~{ create getattr map open read rename setattr write };
+neverallow { domain -bpfloader } bpffs_type:file { create map open rename setattr };
+neverallow { domain -bpfloader -gpuservice -lmkd -mediaprovider_app -netd -netutils_wrapper                -system_server } fs_bpf:file               { getattr read };
+neverallow { domain -bpfloader                                                                                            } fs_bpf_loader:file        { getattr read };
+neverallow { domain -bpfloader                                                              -network_stack                } fs_bpf_net_private:file   { getattr read };
+neverallow { domain -bpfloader                                                              -network_stack -system_server } fs_bpf_net_shared:file    { getattr read };
+neverallow { domain -bpfloader                                      -netd                   -network_stack -system_server } fs_bpf_netd_readonly:file { getattr read };
+neverallow { domain -bpfloader                                      -netd -netutils_wrapper -network_stack -system_server } fs_bpf_netd_shared:file   { getattr read };
+neverallow { domain -bpfloader                                                              -network_stack                } fs_bpf_tethering:file     { getattr read };
+neverallow { domain -bpfloader                                                                                            -uprobestats } fs_bpf_uprobestats:file   { getattr read };
+neverallow { domain -bpfloader -gpuservice -lmkd                    -netd -netutils_wrapper -network_stack -system_server -uprobestats } { bpffs_type -fs_bpf_vendor }:file write;
+
+neverallow { domain -bpfloader } bpffs_type:lnk_file ~read;
+neverallow { domain -bpfdomain } bpffs_type:lnk_file read;
+
+neverallow { domain -bpfloader } *:bpf prog_load;
+neverallow { domain -bpfdomain } *:bpf { map_create map_read map_write prog_run };
+
+# 'fs_bpf_loader' is for internal use of the BpfLoader oneshot boot time process.
+neverallow { domain -bpfloader } fs_bpf_loader:bpf *;
+neverallow { domain -bpfloader } fs_bpf_loader:file *;
+
+neverallow { domain -bpfloader -init  } bpfloader_exec:file { execute execute_no_trans };
+
+neverallow { coredomain -bpfloader -netd -netutils_wrapper } fs_bpf_vendor:file *;
+
+neverallow bpfloader *:{ tcp_socket udp_socket rawip_socket } *;
+
+# No domain should be allowed to ptrace bpfloader
+neverallow { domain  } bpfloader:process ptrace;
+
+neverallow { domain -bpfloader } proc_bpf:file write;
+#line 1 "system/sepolicy/private/bufferhubd.te"
+typeattribute bufferhubd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init bufferhubd_exec:file { getattr open read execute map };
+#line 3
+allow init bufferhubd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow bufferhubd bufferhubd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init bufferhubd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init bufferhubd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init bufferhubd_exec:process bufferhubd;
+#line 3
+
+#line 3
+
+
+
+#line 5
+typeattribute bufferhubd halclientdomain;
+#line 5
+typeattribute bufferhubd hal_graphics_allocator_client;
+#line 5
+
+#line 5
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 5
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 5
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 5
+
+#line 5
+typeattribute bufferhubd hal_graphics_allocator;
+#line 5
+# Find passthrough HAL implementations
+#line 5
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 5
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 5
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 5
+
+#line 5
+
+
+# TODO(b/112338294): remove these after migrate to Binder
+
+#line 8
+# Mark the server domain as a PDX server.
+#line 8
+typeattribute bufferhubd pdx_bufferhub_client_server_type;
+#line 8
+# Allow the init process to create the initial endpoint socket.
+#line 8
+allow init pdx_bufferhub_client_endpoint_socket_type:unix_stream_socket { create bind };
+#line 8
+# Allow the server domain to use the endpoint socket and accept connections on it.
+#line 8
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 8
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 8
+allow bufferhubd pdx_bufferhub_client_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+#line 8
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+#line 8
+allow bufferhubd self:process setsockcreate;
+#line 8
+# Allow the server domain to create a client channel socket.
+#line 8
+allow bufferhubd pdx_bufferhub_client_channel_socket_type:unix_stream_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+#line 8
+# Prevent other processes from claiming to be a server for the same service.
+#line 8
+neverallow {domain -bufferhubd} pdx_bufferhub_client_endpoint_socket_type:unix_stream_socket { listen accept };
+#line 8
+
+
+#line 9
+
+#line 9
+# Allow client to open the service endpoint file.
+#line 9
+allow bufferhubd pdx_performance_client_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow bufferhubd pdx_performance_client_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 9
+# Allow the client to connect to endpoint socket.
+#line 9
+allow bufferhubd pdx_performance_client_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 9
+
+#line 9
+
+#line 9
+# Allow the client to use the PDX channel socket.
+#line 9
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 9
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 9
+allow bufferhubd pdx_performance_client_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 9
+# Client needs to use an channel event fd from the server.
+#line 9
+allow bufferhubd pdx_performance_client_server_type:fd use;
+#line 9
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 9
+# This could be tightened on a per-server basis, but keeping track of service
+#line 9
+# clients is error prone.
+#line 9
+allow pdx_performance_client_server_type bufferhubd:fd use;
+#line 9
+
+#line 9
+
+
+# Access the GPU.
+allow bufferhubd gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access /dev/ion
+allow bufferhubd ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Receive sync fence FDs from hal_omx_server. Note that hal_omx_server never directly
+# connects to bufferhubd via PDX. Instead, a VR app acts as a bridge between
+# those two: it talks to hal_omx_server via Binder and talks to bufferhubd via PDX.
+# Thus, there is no need to use pdx_client macro.
+allow bufferhubd hal_omx_server:fd use;
+
+# Codec2 is similar to OMX
+allow bufferhubd hal_codec2_server:fd use;
+#line 1 "system/sepolicy/private/camera_service_server.te"
+
+#line 1
+  allow camera_service_server fwk_camera_hwservice:hwservice_manager { add find };
+#line 1
+  allow camera_service_server hidl_base_hwservice:hwservice_manager add;
+#line 1
+  neverallow { domain -camera_service_server } fwk_camera_hwservice:hwservice_manager add;
+#line 1
+
+#line 1 "system/sepolicy/private/cameraserver.te"
+typeattribute cameraserver camera_service_server;
+typeattribute cameraserver coredomain;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init cameraserver_exec:file { getattr open read execute map };
+#line 4
+allow init cameraserver:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow cameraserver cameraserver_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init cameraserver:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init cameraserver:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init cameraserver_exec:process cameraserver;
+#line 4
+
+#line 4
+
+
+#line 5
+type_transition cameraserver tmpfs:file cameraserver_tmpfs;
+#line 5
+allow cameraserver cameraserver_tmpfs:file { read write getattr map };
+#line 5
+
+
+allow cameraserver gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow cameraserver gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow cameraserver virtual_camera:binder call;
+
+
+#line 11
+# Call the servicemanager and transfer references to it.
+#line 11
+allow cameraserver servicemanager:binder { call transfer };
+#line 11
+# Allow servicemanager to send out callbacks
+#line 11
+allow servicemanager cameraserver:binder { call transfer };
+#line 11
+# servicemanager performs getpidcon on clients.
+#line 11
+allow servicemanager cameraserver:dir search;
+#line 11
+allow servicemanager cameraserver:file { read open };
+#line 11
+allow servicemanager cameraserver:process getattr;
+#line 11
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 11
+# all domains in domain.te.
+#line 11
+
+
+#line 12
+# Call the server domain and optionally transfer references to it.
+#line 12
+allow cameraserver binderservicedomain:binder { call transfer };
+#line 12
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 12
+allow binderservicedomain cameraserver:binder transfer;
+#line 12
+# Receive and use open files from the server.
+#line 12
+allow cameraserver binderservicedomain:fd use;
+#line 12
+
+
+#line 13
+# Call the server domain and optionally transfer references to it.
+#line 13
+allow cameraserver appdomain:binder { call transfer };
+#line 13
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 13
+allow appdomain cameraserver:binder transfer;
+#line 13
+# Receive and use open files from the server.
+#line 13
+allow cameraserver appdomain:fd use;
+#line 13
+
+
+#line 14
+typeattribute cameraserver binderservicedomain;
+#line 14
+
+
+
+#line 16
+typeattribute cameraserver halclientdomain;
+#line 16
+typeattribute cameraserver hal_camera_client;
+#line 16
+
+#line 16
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 16
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 16
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 16
+
+#line 16
+typeattribute cameraserver hal_camera;
+#line 16
+# Find passthrough HAL implementations
+#line 16
+allow hal_camera system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_camera vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_camera vendor_file:file { read open getattr execute map };
+#line 16
+
+#line 16
+
+allow cameraserver hal_camera_server:process signal;
+
+#line 18
+typeattribute cameraserver halclientdomain;
+#line 18
+typeattribute cameraserver hal_graphics_allocator_client;
+#line 18
+
+#line 18
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 18
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 18
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 18
+
+#line 18
+typeattribute cameraserver hal_graphics_allocator;
+#line 18
+# Find passthrough HAL implementations
+#line 18
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 18
+
+#line 18
+
+
+allow cameraserver ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow cameraserver dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Talk with graphics composer fences
+allow cameraserver hal_graphics_composer:fd use;
+
+
+#line 26
+  allow cameraserver cameraserver_service:service_manager { add find };
+#line 26
+  neverallow { domain -cameraserver } cameraserver_service:service_manager add;
+#line 26
+
+#line 26
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 26
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 26
+  
+#line 26
+
+
+#line 27
+  allow cameraserver fwk_camera_service:service_manager { add find };
+#line 27
+  neverallow { domain -cameraserver } fwk_camera_service:service_manager add;
+#line 27
+
+#line 27
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 27
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 27
+  
+#line 27
+
+
+#line 28
+  allow cameraserver fwk_camera_hwservice:hwservice_manager { add find };
+#line 28
+  allow cameraserver hidl_base_hwservice:hwservice_manager add;
+#line 28
+  neverallow { domain -cameraserver } fwk_camera_hwservice:hwservice_manager add;
+#line 28
+
+
+allow cameraserver activity_service:service_manager find;
+allow cameraserver appops_service:service_manager find;
+allow cameraserver audioserver_service:service_manager find;
+allow cameraserver batterystats_service:service_manager find;
+allow cameraserver cameraproxy_service:service_manager find;
+allow cameraserver mediaserver_service:service_manager find;
+allow cameraserver package_native_service:service_manager find;
+allow cameraserver permission_checker_service:service_manager find;
+allow cameraserver processinfo_service:service_manager find;
+allow cameraserver scheduling_policy_service:service_manager find;
+allow cameraserver sensor_privacy_service:service_manager find;
+allow cameraserver surfaceflinger_service:service_manager find;
+
+allow cameraserver hidl_token_hwservice:hwservice_manager find;
+allow cameraserver hal_camera_service:service_manager find;
+allow cameraserver virtual_camera_service:service_manager find;
+
+# Allow to talk with surfaceflinger through unix stream socket
+allow cameraserver surfaceflinger:unix_stream_socket { read write };
+
+# Allow shell commands from ADB for CTS testing/dumping
+allow cameraserver adbd:fd use;
+allow cameraserver adbd:unix_stream_socket { read write };
+allow cameraserver shell:fd use;
+allow cameraserver shell:unix_stream_socket { read write };
+allow cameraserver shell:fifo_file { read write };
+
+# allow self to set SCHED_FIFO
+allow cameraserver self:{ capability cap_userns } sys_nice;
+
+# Allow to talk with media codec
+allow cameraserver mediametrics_service:service_manager find;
+
+#line 62
+typeattribute cameraserver halclientdomain;
+#line 62
+typeattribute cameraserver hal_codec2_client;
+#line 62
+
+#line 62
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 62
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 62
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 62
+
+#line 62
+typeattribute cameraserver hal_codec2;
+#line 62
+# Find passthrough HAL implementations
+#line 62
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 62
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 62
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 62
+
+#line 62
+
+
+#line 63
+typeattribute cameraserver halclientdomain;
+#line 63
+typeattribute cameraserver hal_omx_client;
+#line 63
+
+#line 63
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 63
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 63
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 63
+
+#line 63
+typeattribute cameraserver hal_omx;
+#line 63
+# Find passthrough HAL implementations
+#line 63
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 63
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 63
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 63
+
+#line 63
+
+
+#line 64
+typeattribute cameraserver halclientdomain;
+#line 64
+typeattribute cameraserver hal_allocator_client;
+#line 64
+
+#line 64
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 64
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 64
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 64
+
+#line 64
+typeattribute cameraserver hal_allocator;
+#line 64
+# Find passthrough HAL implementations
+#line 64
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 64
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 64
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 64
+
+#line 64
+
+
+# Allow shell commands from ADB for CTS testing/dumping
+#line 71
+
+
+###
+### neverallow rules
+###
+
+# cameraserver should never execute any executable without a
+# domain transition
+neverallow cameraserver { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow cameraserver domain:{ udp_socket rawip_socket } *;
+neverallow cameraserver { domain  }:tcp_socket *;
+#line 1 "system/sepolicy/private/canhalconfigurator.te"
+type canhalconfigurator, domain, coredomain;
+type canhalconfigurator_exec, exec_type, system_file_type, file_type;
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init canhalconfigurator_exec:file { getattr open read execute map };
+#line 3
+allow init canhalconfigurator:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow canhalconfigurator canhalconfigurator_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init canhalconfigurator:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init canhalconfigurator:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init canhalconfigurator_exec:process canhalconfigurator;
+#line 3
+
+#line 3
+
+
+# This allows the configurator to look up the CAN HAL controller via
+# hwservice_manager and communicate with it.
+
+#line 7
+typeattribute canhalconfigurator halclientdomain;
+#line 7
+typeattribute canhalconfigurator hal_can_controller_client;
+#line 7
+
+#line 7
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 7
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 7
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 7
+
+#line 7
+typeattribute canhalconfigurator hal_can_controller;
+#line 7
+# Find passthrough HAL implementations
+#line 7
+allow hal_can_controller system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 7
+allow hal_can_controller vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 7
+allow hal_can_controller vendor_file:file { read open getattr execute map };
+#line 7
+
+#line 7
+
+
+
+#line 9
+# Call the servicemanager and transfer references to it.
+#line 9
+allow canhalconfigurator servicemanager:binder { call transfer };
+#line 9
+# Allow servicemanager to send out callbacks
+#line 9
+allow servicemanager canhalconfigurator:binder { call transfer };
+#line 9
+# servicemanager performs getpidcon on clients.
+#line 9
+allow servicemanager canhalconfigurator:dir search;
+#line 9
+allow servicemanager canhalconfigurator:file { read open };
+#line 9
+allow servicemanager canhalconfigurator:process getattr;
+#line 9
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 9
+# all domains in domain.te.
+#line 9
+
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow hal_can_controller canhalconfigurator:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow canhalconfigurator hal_can_controller:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow hal_can_controller canhalconfigurator:fd use;
+#line 10
+
+#line 1 "system/sepolicy/private/charger.te"
+typeattribute charger coredomain;
+
+# The system charger is a client of HIDL health HAL.
+
+#line 4
+typeattribute charger halclientdomain;
+#line 4
+typeattribute charger hal_health_client;
+#line 4
+
+#line 4
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 4
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 4
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 4
+
+#line 4
+typeattribute charger hal_health;
+#line 4
+# Find passthrough HAL implementations
+#line 4
+allow hal_health system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 4
+allow hal_health vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 4
+allow hal_health vendor_file:file { read open getattr execute map };
+#line 4
+
+#line 4
+
+
+# charger needs to tell init to continue the boot
+# process when running in charger mode.
+# The system charger needs to be allowed to set these properties on legacy devices.
+
+#line 9
+
+#line 9
+allow charger property_socket:sock_file write;
+#line 9
+allow charger init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow charger system_prop:property_service set;
+#line 9
+
+#line 9
+allow charger system_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+#line 10
+
+#line 10
+allow charger property_socket:sock_file write;
+#line 10
+allow charger init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow charger exported_system_prop:property_service set;
+#line 10
+
+#line 10
+allow charger exported_system_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+#line 11
+
+#line 11
+allow charger property_socket:sock_file write;
+#line 11
+allow charger init:unix_stream_socket connectto;
+#line 11
+
+#line 11
+allow charger exported3_system_prop:property_service set;
+#line 11
+
+#line 11
+allow charger exported3_system_prop:file { getattr open read map };
+#line 11
+
+#line 11
+
+
+# The system charger can read ro.charger.*
+
+#line 14
+allow charger charger_prop:file { getattr open read map };
+#line 14
+
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 16
+
+#line 16
+    neverallow {
+#line 16
+        domain
+#line 16
+        -init
+#line 16
+        -dumpstate
+#line 16
+        -charger
+#line 16
+    } charger_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 16
+
+#line 16
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 23
+
+#line 1 "system/sepolicy/private/charger_type.te"
+# charger needs to tell init to continue the boot
+# process when running in charger mode.
+
+#line 3
+
+#line 3
+allow charger_type property_socket:sock_file write;
+#line 3
+allow charger_type init:unix_stream_socket connectto;
+#line 3
+
+#line 3
+allow charger_type charger_status_prop:property_service set;
+#line 3
+
+#line 3
+allow charger_type charger_status_prop:file { getattr open read map };
+#line 3
+
+#line 3
+
+
+#line 4
+allow charger_type charger_config_prop:file { getattr open read map };
+#line 4
+
+
+# get minui properties
+
+#line 7
+allow charger_type recovery_config_prop:file { getattr open read map };
+#line 7
+
+
+# Write to /dev/kmsg
+allow charger_type kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read access to pseudo filesystems.
+
+#line 13
+allow charger_type rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 13
+allow charger_type rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 13
+
+
+#line 14
+allow charger_type cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 14
+allow charger_type cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 14
+
+
+#line 15
+allow charger_type cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow charger_type cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 15
+
+
+# Allow to read /sys/class/power_supply directory
+allow charger_type sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+
+allow charger_type self:{ capability cap_userns } {
+    sys_boot
+    sys_tty_config
+};
+
+
+#line 25
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 25
+# deprecated.
+#line 25
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 25
+allow charger_type sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 25
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 25
+allow charger_type self:{ capability2 cap2_userns } block_suspend;
+#line 25
+# system_suspend permissions
+#line 25
+
+#line 25
+# Call the server domain and optionally transfer references to it.
+#line 25
+allow charger_type system_suspend_server:binder { call transfer };
+#line 25
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 25
+allow system_suspend_server charger_type:binder transfer;
+#line 25
+# Receive and use open files from the server.
+#line 25
+allow charger_type system_suspend_server:fd use;
+#line 25
+
+#line 25
+allow charger_type system_suspend_hwservice:hwservice_manager find;
+#line 25
+# halclientdomain permissions
+#line 25
+
+#line 25
+# Call the hwservicemanager and transfer references to it.
+#line 25
+allow charger_type hwservicemanager:binder { call transfer };
+#line 25
+# Allow hwservicemanager to send out callbacks
+#line 25
+allow hwservicemanager charger_type:binder { call transfer };
+#line 25
+# hwservicemanager performs getpidcon on clients.
+#line 25
+allow hwservicemanager charger_type:dir search;
+#line 25
+allow hwservicemanager charger_type:file { read open map };
+#line 25
+allow hwservicemanager charger_type:process getattr;
+#line 25
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 25
+# all domains in domain.te.
+#line 25
+
+#line 25
+
+#line 25
+allow charger_type hwservicemanager_prop:file { getattr open read map };
+#line 25
+
+#line 25
+allow charger_type hidl_manager_hwservice:hwservice_manager find;
+#line 25
+# AIDL suspend hal permissions
+#line 25
+allow charger_type hal_system_suspend_service:service_manager find;
+#line 25
+
+#line 25
+# Call the servicemanager and transfer references to it.
+#line 25
+allow charger_type servicemanager:binder { call transfer };
+#line 25
+# Allow servicemanager to send out callbacks
+#line 25
+allow servicemanager charger_type:binder { call transfer };
+#line 25
+# servicemanager performs getpidcon on clients.
+#line 25
+allow servicemanager charger_type:dir search;
+#line 25
+allow servicemanager charger_type:file { read open };
+#line 25
+allow servicemanager charger_type:process getattr;
+#line 25
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 25
+# all domains in domain.te.
+#line 25
+
+#line 25
+
+
+allow charger_type self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Read/write to /sys/power/state
+allow charger_type sysfs_power:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+
+#line 32
+allow charger_type sysfs_batteryinfo:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow charger_type sysfs_batteryinfo:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+
+# Read /sys/fs/pstore/console-ramoops
+# Don't worry about overly broad permissions for now, as there's
+# only one file in /sys/fs/pstore
+allow charger_type pstorefs:dir { open getattr read search ioctl lock watch watch_reads };
+allow charger_type pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+
+allow charger_type graphics_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow charger_type graphics_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow charger_type input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow charger_type input_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow charger_type tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow charger_type proc_sysrq:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+### Neverallow rules for charger properties
+
+# charger_config_prop: Only init and vendor_init is allowed to set it
+neverallow {
+    domain
+    -init
+    -vendor_init
+} charger_config_prop:property_service set;
+
+# charger_status_prop: Only init, vendor_init, charger, and charger_vendor
+# are allowed to set it
+neverallow {
+    domain
+    -init
+    -vendor_init
+    -charger
+    -charger_vendor
+} charger_status_prop:property_service set;
+
+# Both charger_config_prop and charger_status_prop:
+# Only init, vendor_init, dumpstate, charger, and charger_vendor
+# are allowed to read it
+neverallow {
+    domain
+    -init
+    -dumpstate
+    -vendor_init
+    -charger
+    -charger_vendor
+} { charger_config_prop charger_status_prop }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 1 "system/sepolicy/private/charger_vendor.te"
+
+#line 1
+typeattribute charger_vendor halserverdomain;
+#line 1
+typeattribute charger_vendor hal_health_server;
+#line 1
+typeattribute charger_vendor hal_health;
+#line 1
+
+
+typeattribute charger_vendor bpfdomain;
+#line 1 "system/sepolicy/private/clatd.te"
+# 464xlat daemon
+type clatd, domain, coredomain;
+type clatd_exec, system_file_type, exec_type, file_type;
+
+
+#line 5
+typeattribute clatd netdomain;
+#line 5
+
+
+# Access objects inherited from system_server.
+allow clatd system_server:fd use;
+allow clatd system_server:packet_socket { read write };
+allow clatd system_server:rawip_socket { read write };
+
+allow clatd tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/compos_fd_server.te"
+# Make ART inputs and outputs available to the CompOS VM
+type compos_fd_server, domain, coredomain;
+
+# Allow access to open fds inherited from composd
+allow compos_fd_server composd:fd use;
+
+# Allow creating new files and directories in the staging directory.
+allow compos_fd_server apex_art_staging_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow compos_fd_server apex_art_staging_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow creating new files and directories in the artifacts directory.
+allow compos_fd_server apex_art_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow compos_fd_server apex_art_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Use a pipe to signal readiness
+allow compos_fd_server composd:fifo_file write;
+
+# TODO(b/196109647) - remove this when no longer needed by minijail
+allow compos_fd_server composd:fifo_file read;
+
+# Create a listening vsock for the VM to connect back to
+allow compos_fd_server self:vsock_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } listen accept };
+
+# Only composd can enter the domain via exec
+neverallow { domain -composd } compos_fd_server:process transition;
+neverallow * compos_fd_server:process dyntransition;
+#line 1 "system/sepolicy/private/compos_verify.te"
+# Run by odsign to verify a CompOS signature
+type compos_verify, domain, coredomain;
+type compos_verify_exec, exec_type, file_type, system_file_type;
+
+# Start a VM
+
+#line 6
+# Call the servicemanager and transfer references to it.
+#line 6
+allow compos_verify servicemanager:binder { call transfer };
+#line 6
+# Allow servicemanager to send out callbacks
+#line 6
+allow servicemanager compos_verify:binder { call transfer };
+#line 6
+# servicemanager performs getpidcon on clients.
+#line 6
+allow servicemanager compos_verify:dir search;
+#line 6
+allow servicemanager compos_verify:file { read open };
+#line 6
+allow servicemanager compos_verify:process getattr;
+#line 6
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+;
+
+#line 7
+# Transition to virtualizationmanager when the client executes it.
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow compos_verify virtualizationmanager_exec:file { getattr open read execute map };
+#line 7
+allow compos_verify virtualizationmanager:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+allow virtualizationmanager compos_verify:process sigchld;
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit compos_verify virtualizationmanager:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow compos_verify virtualizationmanager:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition compos_verify virtualizationmanager_exec:process virtualizationmanager;
+#line 7
+
+#line 7
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 7
+allow { virtualizationmanager crosvm } compos_verify:unix_stream_socket { ioctl getattr read write };
+#line 7
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 7
+allow { virtualizationmanager crosvm } compos_verify:fd use;
+#line 7
+# Let the client use file descriptors created by virtualizationmanager.
+#line 7
+allow compos_verify virtualizationmanager:fd use;
+#line 7
+# Allow piping console log to the client
+#line 7
+allow { virtualizationmanager crosvm } compos_verify:fifo_file { ioctl getattr read write };
+#line 7
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 7
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 7
+# the client can only connect to VMs that it owns.
+#line 7
+allow compos_verify virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 7
+# Allow client to inspect hypervisor capabilities
+#line 7
+
+#line 7
+allow compos_verify hypervisor_prop:file { getattr open read map };
+#line 7
+
+#line 7
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 7
+allow compos_verify virtualizationservice_data_file:file { getattr read };
+#line 7
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 7
+allow virtualizationmanager compos_verify:dir search;
+#line 7
+allow virtualizationmanager compos_verify:file read;
+#line 7
+allow virtualizationmanager compos_verify:lnk_file read;
+#line 7
+;
+
+# Read instance image & write VM logs
+allow compos_verify apex_module_data_file:dir search;
+allow compos_verify apex_compos_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow compos_verify apex_compos_data_file:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } create };
+
+# Read CompOS info & signature files
+allow compos_verify apex_art_data_file:dir search;
+allow compos_verify apex_art_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow odsign to redirect our stdout/stderr to log
+allow compos_verify odsign:fd use;
+allow compos_verify odsign_devpts:chr_file { read write };
+
+# Only odsign can enter the domain via exec
+neverallow { domain -odsign } compos_verify:process transition;
+neverallow * compos_verify:process dyntransition;
+#line 1 "system/sepolicy/private/composd.te"
+type composd, domain, coredomain;
+type composd_exec, system_file_type, exec_type, file_type;
+
+# Host dynamic AIDL services
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init composd_exec:file { getattr open read execute map };
+#line 5
+allow init composd:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow composd composd_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init composd:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init composd:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init composd_exec:process composd;
+#line 5
+
+#line 5
+
+
+#line 6
+# Call the servicemanager and transfer references to it.
+#line 6
+allow composd servicemanager:binder { call transfer };
+#line 6
+# Allow servicemanager to send out callbacks
+#line 6
+allow servicemanager composd:binder { call transfer };
+#line 6
+# servicemanager performs getpidcon on clients.
+#line 6
+allow servicemanager composd:dir search;
+#line 6
+allow servicemanager composd:file { read open };
+#line 6
+allow servicemanager composd:process getattr;
+#line 6
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+
+
+#line 7
+  allow composd compos_service:service_manager { add find };
+#line 7
+  neverallow { domain -composd } compos_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+
+# Call back into system server
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow composd system_server:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow system_server composd:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow composd system_server:fd use;
+#line 10
+
+
+# Start a VM
+
+#line 13
+# Transition to virtualizationmanager when the client executes it.
+#line 13
+
+#line 13
+# Allow the necessary permissions.
+#line 13
+
+#line 13
+# Old domain may exec the file and transition to the new domain.
+#line 13
+allow composd virtualizationmanager_exec:file { getattr open read execute map };
+#line 13
+allow composd virtualizationmanager:process transition;
+#line 13
+# New domain is entered by executing the file.
+#line 13
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 13
+# New domain can send SIGCHLD to its caller.
+#line 13
+allow virtualizationmanager composd:process sigchld;
+#line 13
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 13
+dontaudit composd virtualizationmanager:process noatsecure;
+#line 13
+# XXX dontaudit candidate but requires further study.
+#line 13
+allow composd virtualizationmanager:process { siginh rlimitinh };
+#line 13
+
+#line 13
+# Make the transition occur by default.
+#line 13
+type_transition composd virtualizationmanager_exec:process virtualizationmanager;
+#line 13
+
+#line 13
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 13
+allow { virtualizationmanager crosvm } composd:unix_stream_socket { ioctl getattr read write };
+#line 13
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 13
+allow { virtualizationmanager crosvm } composd:fd use;
+#line 13
+# Let the client use file descriptors created by virtualizationmanager.
+#line 13
+allow composd virtualizationmanager:fd use;
+#line 13
+# Allow piping console log to the client
+#line 13
+allow { virtualizationmanager crosvm } composd:fifo_file { ioctl getattr read write };
+#line 13
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 13
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 13
+# the client can only connect to VMs that it owns.
+#line 13
+allow composd virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 13
+# Allow client to inspect hypervisor capabilities
+#line 13
+
+#line 13
+allow composd hypervisor_prop:file { getattr open read map };
+#line 13
+
+#line 13
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 13
+allow composd virtualizationservice_data_file:file { getattr read };
+#line 13
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 13
+allow virtualizationmanager composd:dir search;
+#line 13
+allow virtualizationmanager composd:file read;
+#line 13
+allow virtualizationmanager composd:lnk_file read;
+#line 13
+
+
+# Prepare staging directory for odrefresh
+allow composd apex_art_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow composd apex_art_staging_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow composd apex_art_staging_data_file:file { getattr unlink };
+
+# Delete files or enable fs-verity in the odrefresh target directory
+allow composd apex_art_data_file:file { open ioctl read unlink write };
+allowxperm composd apex_art_data_file:file ioctl 0x6685;
+
+# Access our APEX data files
+allow composd apex_module_data_file:dir search;
+allow composd apex_compos_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow composd apex_compos_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Run fd_server in its own domain, and send SIGTERM when finished.
+
+#line 30
+# Allow the necessary permissions.
+#line 30
+
+#line 30
+# Old domain may exec the file and transition to the new domain.
+#line 30
+allow composd fd_server_exec:file { getattr open read execute map };
+#line 30
+allow composd compos_fd_server:process transition;
+#line 30
+# New domain is entered by executing the file.
+#line 30
+allow compos_fd_server fd_server_exec:file { entrypoint open read execute getattr map };
+#line 30
+# New domain can send SIGCHLD to its caller.
+#line 30
+allow compos_fd_server composd:process sigchld;
+#line 30
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 30
+dontaudit composd compos_fd_server:process noatsecure;
+#line 30
+# XXX dontaudit candidate but requires further study.
+#line 30
+allow composd compos_fd_server:process { siginh rlimitinh };
+#line 30
+
+#line 30
+# Make the transition occur by default.
+#line 30
+type_transition composd fd_server_exec:process compos_fd_server;
+#line 30
+
+allow composd compos_fd_server:process signal;
+
+# Read properties used to configure the CompOS VM
+
+#line 34
+allow composd composd_vm_art_prop:file { getattr open read map };
+#line 34
+
+
+#line 35
+allow composd composd_vm_vendor_prop:file { getattr open read map };
+#line 35
+
+
+# Read ART's properties
+
+#line 38
+allow composd dalvik_config_prop_type:file { getattr open read map };
+#line 38
+
+
+#line 39
+allow composd device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 39
+
+
+# We never create any artifact files directly
+neverallow composd apex_art_data_file:file create;
+
+# ART sets these properties via init script, nothing else should
+neverallow { domain -init } composd_vm_art_prop:property_service set;
+#line 1 "system/sepolicy/private/coredomain.te"
+
+#line 1
+allow coredomain apex_ready_prop:file { getattr open read map };
+#line 1
+
+
+#line 2
+allow coredomain boot_status_prop:file { getattr open read map };
+#line 2
+
+
+#line 3
+allow coredomain camera_config_prop:file { getattr open read map };
+#line 3
+
+
+#line 4
+allow coredomain dalvik_config_prop_type:file { getattr open read map };
+#line 4
+
+
+#line 5
+allow coredomain dalvik_runtime_prop:file { getattr open read map };
+#line 5
+
+
+#line 6
+allow coredomain exported_pm_prop:file { getattr open read map };
+#line 6
+
+
+#line 7
+allow coredomain ffs_config_prop:file { getattr open read map };
+#line 7
+
+
+#line 8
+allow coredomain graphics_config_prop:file { getattr open read map };
+#line 8
+
+
+#line 9
+allow coredomain graphics_config_writable_prop:file { getattr open read map };
+#line 9
+
+
+#line 10
+allow coredomain hdmi_config_prop:file { getattr open read map };
+#line 10
+
+
+#line 11
+allow coredomain init_service_status_private_prop:file { getattr open read map };
+#line 11
+
+
+#line 12
+allow coredomain lmkd_config_prop:file { getattr open read map };
+#line 12
+
+
+#line 13
+allow coredomain localization_prop:file { getattr open read map };
+#line 13
+
+
+#line 14
+allow coredomain pm_prop:file { getattr open read map };
+#line 14
+
+
+#line 15
+allow coredomain radio_control_prop:file { getattr open read map };
+#line 15
+
+
+#line 16
+allow coredomain rollback_test_prop:file { getattr open read map };
+#line 16
+
+
+#line 17
+allow coredomain setupwizard_prop:file { getattr open read map };
+#line 17
+
+
+#line 18
+allow coredomain setupwizard_mode_prop:file { getattr open read map };
+#line 18
+
+
+#line 19
+allow coredomain sqlite_log_prop:file { getattr open read map };
+#line 19
+
+
+#line 20
+allow coredomain storagemanager_config_prop:file { getattr open read map };
+#line 20
+
+
+#line 21
+allow coredomain surfaceflinger_color_prop:file { getattr open read map };
+#line 21
+
+
+#line 22
+allow coredomain systemsound_config_prop:file { getattr open read map };
+#line 22
+
+
+#line 23
+allow coredomain telephony_config_prop:file { getattr open read map };
+#line 23
+
+
+#line 24
+allow coredomain usb_config_prop:file { getattr open read map };
+#line 24
+
+
+#line 25
+allow coredomain usb_control_prop:file { getattr open read map };
+#line 25
+
+
+#line 26
+allow coredomain userspace_reboot_config_prop:file { getattr open read map };
+#line 26
+
+
+#line 27
+allow coredomain vold_config_prop:file { getattr open read map };
+#line 27
+
+
+#line 28
+allow coredomain vts_status_prop:file { getattr open read map };
+#line 28
+
+
+#line 29
+allow coredomain zygote_config_prop:file { getattr open read map };
+#line 29
+
+
+#line 30
+allow coredomain zygote_wrap_prop:file { getattr open read map };
+#line 30
+
+
+# TODO(b/170590987): remove this after cleaning up default_prop
+
+#line 33
+allow coredomain default_prop:file { getattr open read map };
+#line 33
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 35
+
+#line 35
+neverallow {
+#line 35
+    coredomain
+#line 35
+
+#line 35
+    # for chowning
+#line 35
+    -init
+#line 35
+
+#line 35
+    # generic access to sysfs_type
+#line 35
+    -apexd
+#line 35
+    -ueventd
+#line 35
+    -vold
+#line 35
+} sysfs_leds:file *;
+#line 35
+
+#line 35
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 47
+
+
+# On TREBLE devices, a limited set of files in /vendor are accessible to
+# only a few allowlisted coredomains to keep system/vendor separation.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 51
+
+#line 51
+    # Limit access to /vendor/app
+#line 51
+    neverallow {
+#line 51
+        coredomain
+#line 51
+        -appdomain
+#line 51
+        -artd
+#line 51
+        -dex2oat
+#line 51
+        -idmap
+#line 51
+        -init
+#line 51
+        -installd
+#line 51
+        -heapprofd
+#line 51
+        -postinstall_dexopt
+#line 51
+        -rs # spawned by appdomain, so carryover the exception above
+#line 51
+        -system_server
+#line 51
+        -traced_perf
+#line 51
+        
+#line 51
+    } vendor_app_file:dir { open read getattr search };
+#line 51
+
+#line 51
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 68
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 70
+
+#line 70
+    neverallow {
+#line 70
+        coredomain
+#line 70
+        -appdomain
+#line 70
+        -artd
+#line 70
+        -dex2oat
+#line 70
+        -idmap
+#line 70
+        -init
+#line 70
+        -installd
+#line 70
+        -heapprofd
+#line 70
+        
+#line 70
+        -postinstall_dexopt
+#line 70
+        -profman
+#line 70
+        -rs # spawned by appdomain, so carryover the exception above
+#line 70
+        
+#line 70
+        -system_server
+#line 70
+        -traced_perf
+#line 70
+        -mediaserver
+#line 70
+        
+#line 70
+    } vendor_app_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 70
+
+#line 70
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 90
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 92
+
+#line 92
+    # Limit access to /vendor/overlay
+#line 92
+    neverallow {
+#line 92
+        coredomain
+#line 92
+        -appdomain
+#line 92
+        -artd
+#line 92
+        -dex2oat
+#line 92
+        -idmap
+#line 92
+        -init
+#line 92
+        -installd
+#line 92
+        -postinstall_dexopt
+#line 92
+        -rs # spawned by appdomain, so carryover the exception above
+#line 92
+        -system_server
+#line 92
+        -traced_perf
+#line 92
+        -app_zygote
+#line 92
+        -webview_zygote
+#line 92
+        -zygote
+#line 92
+        -heapprofd
+#line 92
+        
+#line 92
+    } vendor_overlay_file:dir { getattr open read search };
+#line 92
+
+#line 92
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 112
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 114
+
+#line 114
+    neverallow {
+#line 114
+        coredomain
+#line 114
+        -appdomain
+#line 114
+        -artd
+#line 114
+        -dex2oat
+#line 114
+        -idmap
+#line 114
+        -init
+#line 114
+        -installd
+#line 114
+        -postinstall_dexopt
+#line 114
+        -rs # spawned by appdomain, so carryover the exception above
+#line 114
+        -system_server
+#line 114
+        -traced_perf
+#line 114
+        -app_zygote
+#line 114
+        -webview_zygote
+#line 114
+        -zygote
+#line 114
+        -heapprofd
+#line 114
+        
+#line 114
+        
+#line 114
+        
+#line 114
+    } vendor_overlay_file:file open;
+#line 114
+
+#line 114
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 135
+
+
+# Core domains are not permitted to use kernel interfaces which are not
+# explicitly labeled.
+# TODO(b/65643247): Apply these neverallow rules to all coredomain.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 140
+
+#line 140
+  # /proc
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -init
+#line 140
+    -vold
+#line 140
+  } proc:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # /sys
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -apexd
+#line 140
+    -init
+#line 140
+    -ueventd
+#line 140
+    -vfio_handler
+#line 140
+    -vold
+#line 140
+  } sysfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # /dev
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -apexd
+#line 140
+    -fsck
+#line 140
+    -init
+#line 140
+    -ueventd
+#line 140
+  } device:{ blk_file file } { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # debugfs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    
+#line 140
+      -dumpstate
+#line 140
+      -init
+#line 140
+      -system_server
+#line 140
+    
+#line 140
+  } debugfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # tracefs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -atrace
+#line 140
+    -dumpstate
+#line 140
+    -gpuservice
+#line 140
+    -init
+#line 140
+    -lmkd
+#line 140
+    -traced_perf
+#line 140
+    -traced_probes
+#line 140
+    -shell
+#line 140
+    -system_server
+#line 140
+    -traceur_app
+#line 140
+    -prefetch
+#line 140
+    
+#line 140
+    
+#line 140
+  } debugfs_tracing:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # inotifyfs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -init
+#line 140
+  } inotify:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # pstorefs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -bootstat
+#line 140
+    -charger
+#line 140
+    -dumpstate
+#line 140
+    
+#line 140
+    -init
+#line 140
+    -logd
+#line 140
+    -logpersist
+#line 140
+    -recovery_persist
+#line 140
+    -recovery_refresh
+#line 140
+    -shell
+#line 140
+    -system_server
+#line 140
+  } pstorefs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # configfs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -init
+#line 140
+    -system_server
+#line 140
+  } configfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # functionfs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -adbd
+#line 140
+    -adbd_tradeinmode
+#line 140
+    -init
+#line 140
+    -mediaprovider
+#line 140
+    -system_server
+#line 140
+  } functionfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # usbfs and binfmt_miscfs
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -init
+#line 140
+  }{ usbfs binfmt_miscfs }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+  # dmabuf heaps
+#line 140
+  neverallow {
+#line 140
+    coredomain
+#line 140
+    -init
+#line 140
+    -ueventd
+#line 140
+  }{
+#line 140
+    dmabuf_heap_device_type
+#line 140
+    -dmabuf_system_heap_device
+#line 140
+    -dmabuf_system_secure_heap_device
+#line 140
+  }:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 140
+
+#line 140
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 250
+
+
+# Following /dev nodes must not be directly accessed by coredomain, but should
+# instead be wrapped by HALs.
+neverallow coredomain {
+  iio_device
+  radio_device
+}:chr_file { open read append write ioctl };
+
+# TODO(b/120243891): HAL permission to tee_device is included into coredomain
+# on non-Treble devices.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 261
+
+#line 261
+  neverallow coredomain tee_device:chr_file { open read append write ioctl };
+#line 261
+
+#line 261
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 263
+
+#line 1 "system/sepolicy/private/cppreopts.te"
+# cppreopts
+#
+# This command copies preopted files from the system_b partition to the data
+# partition. This domain ensures that we are only copying into specific
+# directories.
+
+type cppreopts, domain, mlstrustedsubject, coredomain;
+type cppreopts_exec, system_file_type, exec_type, file_type;
+
+# Technically not a daemon but we do want the transition from init domain to
+# cppreopts to occur.
+
+#line 12
+
+#line 12
+# Allow the necessary permissions.
+#line 12
+
+#line 12
+# Old domain may exec the file and transition to the new domain.
+#line 12
+allow init cppreopts_exec:file { getattr open read execute map };
+#line 12
+allow init cppreopts:process transition;
+#line 12
+# New domain is entered by executing the file.
+#line 12
+allow cppreopts cppreopts_exec:file { entrypoint open read execute getattr map };
+#line 12
+# New domain can send SIGCHLD to its caller.
+#line 12
+
+#line 12
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 12
+dontaudit init cppreopts:process noatsecure;
+#line 12
+# XXX dontaudit candidate but requires further study.
+#line 12
+allow init cppreopts:process { siginh rlimitinh };
+#line 12
+
+#line 12
+# Make the transition occur by default.
+#line 12
+type_transition init cppreopts_exec:process cppreopts;
+#line 12
+
+#line 12
+
+
+#line 13
+# Allow the necessary permissions.
+#line 13
+
+#line 13
+# Old domain may exec the file and transition to the new domain.
+#line 13
+allow cppreopts preopt2cachename_exec:file { getattr open read execute map };
+#line 13
+allow cppreopts preopt2cachename:process transition;
+#line 13
+# New domain is entered by executing the file.
+#line 13
+allow preopt2cachename preopt2cachename_exec:file { entrypoint open read execute getattr map };
+#line 13
+# New domain can send SIGCHLD to its caller.
+#line 13
+allow preopt2cachename cppreopts:process sigchld;
+#line 13
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 13
+dontaudit cppreopts preopt2cachename:process noatsecure;
+#line 13
+# XXX dontaudit candidate but requires further study.
+#line 13
+allow cppreopts preopt2cachename:process { siginh rlimitinh };
+#line 13
+
+#line 13
+# Make the transition occur by default.
+#line 13
+type_transition cppreopts preopt2cachename_exec:process preopt2cachename;
+#line 13
+;
+
+# Allow cppreopts copy files into the dalvik-cache
+allow cppreopts dalvikcache_data_file:dir { add_name remove_name search write };
+allow cppreopts dalvikcache_data_file:file { create getattr open read rename write unlink };
+
+# Allow cppreopts to execute itself using #!/system/bin/sh
+allow cppreopts shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow us to run find on /postinstall
+allow cppreopts system_file:dir { open read };
+
+# Allow running the cp command using cppreopts permissions. Needed so we can
+# write into dalvik-cache
+allow cppreopts toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Silence the denial when /postinstall cannot be mounted, e.g., system_other
+# is wiped, but cppreopts.sh still runs.
+dontaudit cppreopts postinstall_mnt_dir:dir search;
+#line 1 "system/sepolicy/private/crash_dump.te"
+typeattribute crash_dump coredomain;
+
+# Crash dump does not need to access devices passed across exec().
+dontaudit crash_dump { devpts dev_type }:chr_file { read write };
+
+allow crash_dump {
+  domain
+  -apexd
+  -bpfloader
+  -crash_dump
+  -init
+  -kernel
+  -keystore
+  -llkd
+  -logd
+  -ueventd
+  -vendor_init
+  -vold
+}:process { ptrace signal sigchld sigstop sigkill };
+
+#line 23
+
+
+# Read ART APEX data directory
+allow crash_dump apex_art_data_file:dir { getattr search };
+allow crash_dump apex_art_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow crash dump to read bootstrap libraries
+allow crash_dump system_bootstrap_lib_file:dir { getattr search };
+allow crash_dump system_bootstrap_lib_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read Vendor APEX directories
+allow crash_dump vendor_apex_metadata_file:dir { getattr search };
+
+# crash_dump might inherit CAP_SYS_PTRACE from a privileged process,
+# which will result in an audit log even when it's allowed to trace.
+dontaudit crash_dump self:{ capability cap_userns } { sys_ptrace };
+
+#line 45
+
+
+# Use inherited file descriptors
+allow crash_dump domain:fd use;
+
+# Read/write IPC pipes inherited from crashing processes.
+allow crash_dump domain:fifo_file { read write };
+
+# Append to pipes given to us by processes requesting dumps (e.g. dumpstate)
+allow crash_dump domain:fifo_file { append };
+
+# Read information from /proc/$PID.
+allow crash_dump domain:process getattr;
+
+
+#line 59
+allow crash_dump domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 59
+allow crash_dump domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 59
+
+allow crash_dump exec_type:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /data/dalvik-cache.
+allow crash_dump dalvikcache_data_file:dir { search getattr };
+allow crash_dump dalvikcache_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read APEX data directories.
+allow crash_dump apex_module_data_file:dir { getattr search };
+
+# Read uptime
+allow crash_dump proc_uptime:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read APK files.
+
+#line 73
+allow crash_dump apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 73
+allow crash_dump apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 73
+;
+
+# Read all /vendor
+
+#line 76
+allow crash_dump { vendor_file same_process_hal_file }:dir { open getattr read search ioctl lock watch watch_reads };
+#line 76
+allow crash_dump { vendor_file same_process_hal_file }:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 76
+
+
+# Read all /data/local/tests
+
+#line 79
+allow crash_dump shell_test_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 79
+allow crash_dump shell_test_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 79
+
+
+# Talk to tombstoned
+
+#line 82
+allow crash_dump tombstoned_crash_socket:sock_file write;
+#line 82
+allow crash_dump tombstoned:unix_stream_socket connectto;
+#line 82
+
+
+# Talk to ActivityManager.
+
+#line 85
+allow crash_dump system_ndebug_socket:sock_file write;
+#line 85
+allow crash_dump system_server:unix_stream_socket connectto;
+#line 85
+
+
+# Append to ANR files.
+allow crash_dump anr_data_file:file { append getattr };
+
+# Append to tombstone files.
+allow crash_dump tombstone_data_file:file { append getattr };
+
+# crash_dump writes out logcat logs at the bottom of tombstones,
+# which is super useful in some cases.
+
+#line 95
+allow crash_dump logdr_socket:sock_file write;
+#line 95
+allow crash_dump logd:unix_stream_socket connectto;
+#line 95
+
+
+# Crash dump is not intended to access the following files. Since these
+# are WAI, suppress the denials to clean up the logs.
+dontaudit crash_dump {
+  core_data_file_type
+  vendor_file_type
+}:dir search;
+# Crash dump might try to read files that are mapped into the crashed process's
+# memory space to extract useful binary information such as the ELF header. See
+# system/core/debuggerd/libdebuggerd/tombstone_proto.cpp:dump_mappings.
+# Ignore these accesses.
+dontaudit crash_dump {
+  app_data_file_type
+  property_type
+  system_data_file
+}:{ lnk_file file } { read open };
+
+
+#line 113
+allow crash_dump misctrl_prop:file { getattr open read map };
+#line 113
+
+
+###
+### neverallow assertions
+###
+
+# A domain transition must occur for crash_dump to get the privileges needed to trace the process.
+# Do not allow the execution of crash_dump without a domain transition.
+neverallow {
+  domain
+  
+} crash_dump_exec:file execute_no_trans;
+
+# sigchld not explicitly forbidden since it's part of the
+# domain-transition-on-exec macros, and is by itself not sensitive
+neverallow crash_dump {
+  apexd
+  
+  bpfloader
+  init
+  kernel
+  keystore
+  llkd
+  
+  logd
+  
+  ueventd
+  vendor_init
+  vold
+  
+}:process { ptrace signal sigstop sigkill };
+
+neverallow crash_dump self:process ptrace;
+neverallow crash_dump gpu_device:chr_file *;
+#line 1 "system/sepolicy/private/credstore.te"
+typeattribute credstore coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init credstore_exec:file { getattr open read execute map };
+#line 3
+allow init credstore:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow credstore credstore_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init credstore:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init credstore:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init credstore_exec:process credstore;
+#line 3
+
+#line 3
+
+
+# talk to Identity Credential
+
+#line 6
+typeattribute credstore halclientdomain;
+#line 6
+typeattribute credstore hal_identity_client;
+#line 6
+
+#line 6
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 6
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 6
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 6
+
+#line 6
+typeattribute credstore hal_identity;
+#line 6
+# Find passthrough HAL implementations
+#line 6
+allow hal_identity system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_identity vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_identity vendor_file:file { read open getattr execute map };
+#line 6
+
+#line 6
+
+
+# talk to keymint, specifically for IRemotelyProvisionedComponent/default
+
+#line 9
+typeattribute credstore halclientdomain;
+#line 9
+typeattribute credstore hal_keymint_client;
+#line 9
+
+#line 9
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 9
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 9
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 9
+
+#line 9
+typeattribute credstore hal_keymint;
+#line 9
+# Find passthrough HAL implementations
+#line 9
+allow hal_keymint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_keymint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_keymint vendor_file:file { read open getattr execute map };
+#line 9
+
+#line 9
+
+
+# credstore needs to get keys from the RKPD
+
+#line 12
+allow credstore remote_prov_prop:file { getattr open read map };
+#line 12
+
+allow credstore remote_provisioning_service:service_manager find;
+
+
+#line 15
+# Call the servicemanager and transfer references to it.
+#line 15
+allow credstore servicemanager:binder { call transfer };
+#line 15
+# Allow servicemanager to send out callbacks
+#line 15
+allow servicemanager credstore:binder { call transfer };
+#line 15
+# servicemanager performs getpidcon on clients.
+#line 15
+allow servicemanager credstore:dir search;
+#line 15
+allow servicemanager credstore:file { read open };
+#line 15
+allow servicemanager credstore:process getattr;
+#line 15
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 15
+# all domains in domain.te.
+#line 15
+
+
+#line 16
+typeattribute credstore binderservicedomain;
+#line 16
+
+
+#line 17
+# Call the server domain and optionally transfer references to it.
+#line 17
+allow credstore system_server:binder { call transfer };
+#line 17
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 17
+allow system_server credstore:binder transfer;
+#line 17
+# Receive and use open files from the server.
+#line 17
+allow credstore system_server:fd use;
+#line 17
+
+
+allow credstore credstore_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow credstore credstore_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 22
+  allow credstore credstore_service:service_manager { add find };
+#line 22
+  neverallow { domain -credstore } credstore_service:service_manager add;
+#line 22
+
+#line 22
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 22
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 22
+  
+#line 22
+
+allow credstore sec_key_att_app_id_provider_service:service_manager find;
+allow credstore dropbox_service:service_manager find;
+allow credstore authorization_service:service_manager find;
+allow credstore keystore:keystore2 get_auth_token;
+
+
+#line 28
+allow credstore cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 28
+allow credstore cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 28
+
+
+#line 29
+allow credstore cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 29
+allow credstore cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 29
+
+#line 3 "system/sepolicy/private/crosvm.te"
+
+
+type crosvm_exec, system_file_type, exec_type, file_type;
+type crosvm_tmpfs, file_type;
+
+# Let crosvm open VM manager devices such as /dev/kvm.
+allow crosvm vm_manager_device_type:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Most other domains shouldn't access /dev/kvm.
+neverallow { domain -crosvm -ueventd -shell } kvm_device:chr_file getattr;
+neverallow { domain -crosvm -ueventd } kvm_device:chr_file ~getattr;
+neverallowxperm { domain -crosvm } kvm_device:chr_file ioctl ~{ 0x0000ae03 };
+
+# Most other domains shouldn't access other vm managers either.
+# These restrictions need to be slightly looser than for kvm_device to allow
+# for different implementations.
+neverallow { coredomain appdomain -crosvm -ueventd -shell } vm_manager_device_type:chr_file getattr;
+neverallow { coredomain appdomain -crosvm -ueventd } vm_manager_device_type:chr_file ~getattr;
+
+# Let crosvm create temporary files.
+
+#line 23
+type_transition crosvm tmpfs:file crosvm_tmpfs;
+#line 23
+allow crosvm crosvm_tmpfs:file { read write getattr map };
+#line 23
+
+
+# Let crosvm receive file descriptors from VirtualizationService.
+allow crosvm {
+  virtualizationmanager
+  early_virtmgr
+}:fd use;
+
+# Allow sending VirtualizationService the failure reason and console/log from the VM via pipe.
+allow crosvm {
+  virtualizationmanager
+  early_virtmgr
+}:fifo_file write;
+
+# Let crosvm read the composite disk images (virtualizationservice_data_file), APEXes
+# (staging_data_file), APKs (apk_data_file and shell_data_file where the latter is for test apks in
+# /data/local/tmp), instance.img (app_data_file), and microdroid vendor image (vendor_microdroid_file).
+# Allow crosvm to read the instance image of the service VM saved in apex_virt_data_file.
+# Note that the open permission is not given as the files are passed as file descriptors.
+allow crosvm {
+  virtualizationservice_data_file
+  staging_data_file
+  apk_data_file
+  app_data_file
+  privapp_data_file
+  apex_compos_data_file
+  apex_virt_data_file
+  shell_data_file
+  vendor_microdroid_file
+  vm_data_file
+}:file { getattr read ioctl lock };
+
+# Allow searching the directory where the composite disk images are.
+allow crosvm {
+    virtualizationservice_data_file
+    vm_data_file
+}:dir search;
+
+# When running a VM as root we get spurious capability denials.
+# Suppress them.
+#line 65
+
+
+# Allow crosvm to tune for performance.
+allow crosvm self:{ capability cap_userns } sys_nice;
+
+# Let crosvm access its control socket as created by VS.
+#   read, write, getattr: listener socket polling
+#   accept: listener socket accepting new connection
+# Note that the open permission is not given as the socket is passed by FD.
+allow crosvm {
+  virtualizationmanager
+  early_virtmgr
+}:unix_stream_socket { accept read write getattr getopt };
+
+# Let crosvm open test artifacts under /data/local/tmp with file path. (e.g. custom pvmfw.img)
+#line 83
+
+
+# The instance image and the composite image should be writable as well because they could represent
+# mutable disks.
+allow crosvm {
+  virtualizationservice_data_file
+  app_data_file
+  privapp_data_file
+  apex_compos_data_file
+  apex_virt_data_file
+  vm_data_file
+}:file write;
+
+# Allow crosvm to pipe console log to shell or app which could be the owner of a VM.
+allow crosvm adbd:fd use;
+allow crosvm adbd:unix_stream_socket { read write };
+allow crosvm devpts:chr_file { read write getattr ioctl };
+
+
+#line 101
+  # Allow crosvm to draw screen in the surface
+#line 101
+  allow crosvm device:dir { read open };
+#line 101
+  allow crosvm same_process_hal_file:file { read open getattr map execute };
+#line 101
+  allow crosvm gpu_device:chr_file { read write open ioctl map open getattr };
+#line 101
+  allow crosvm hal_graphics_allocator:fd use;
+#line 101
+  allow crosvm hal_graphics_allocator_server:binder call;
+#line 101
+  allow crosvm surfaceflinger:fd use;
+#line 101
+  
+#line 101
+typeattribute crosvm halclientdomain;
+#line 101
+typeattribute crosvm hal_graphics_allocator_client;
+#line 101
+
+#line 101
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 101
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 101
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 101
+
+#line 101
+typeattribute crosvm hal_graphics_allocator;
+#line 101
+# Find passthrough HAL implementations
+#line 101
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 101
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 101
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 101
+
+#line 101
+
+#line 101
+
+#line 101
+  # To provide display service to an app to get surface.
+#line 101
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+#line 101
+  allow crosvm vmlauncher_app:binder { transfer call };
+#line 101
+  allow crosvm servicemanager:binder { call transfer };
+#line 101
+  allow crosvm virtualization_service:service_manager find;
+#line 101
+  allow crosvm virtualizationservice:binder { call transfer };
+#line 101
+
+#line 101
+  # Allow crosvm to play sound.
+#line 101
+  
+#line 101
+# Call the server domain and optionally transfer references to it.
+#line 101
+allow crosvm audioserver:binder { call transfer };
+#line 101
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 101
+allow audioserver crosvm:binder transfer;
+#line 101
+# Receive and use open files from the server.
+#line 101
+allow crosvm audioserver:fd use;
+#line 101
+
+#line 101
+  allow crosvm audioserver_service:service_manager find;
+#line 101
+
+#line 101
+  # Allow crosvm to mount fuse path in guest VM through virtiofs
+#line 101
+  allow crosvm fuse:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 101
+  allow crosvm fuse:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+#line 101
+  allow crosvm mnt_user_file:dir search;
+#line 101
+
+#line 101
+  # Allow crosvm to create unix socket for vhost-user-fs
+#line 101
+  allow crosvm virtualizationservice_data_file:dir { add_name write remove_name };
+#line 101
+  allow crosvm virtualizationservice_data_file:sock_file { create write unlink };
+#line 130
+
+
+# crosvm tries to use netlink sockets as part its APCI implementation, but we don't need it for AVF (b/228077254)
+dontaudit crosvm self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# crosvm can write files in /data/local/tmp which are usually used for instance.img and logging by
+# compliance tests and demo apps. Write access to instance.img is particularily important because
+# the VM has to initialize the disk image on its first boot. Note that open access is still not
+# granted because the files are expected to be opened by the owner of the VM (apps or shell in case
+# when the vm is created by the `vm` tool) and handed over to crosvm as FD.
+allow crosvm shell_data_file:file write;
+
+# crosvm tries to read serial device, including the write-only pipe from virtualizationmanager (to
+# forward console/log to the host logcat).
+# crosvm only needs write permission, so dontaudit read
+dontaudit crosvm {
+  virtualizationmanager
+  early_virtmgr
+}:fifo_file { read getattr };
+
+# Required for crosvm to start gdb-server to enable debugging of guest kernel.
+allow crosvm self:tcp_socket { bind create read setopt write accept listen };
+allow crosvm port:tcp_socket name_bind;
+allow crosvm adbd:unix_stream_socket ioctl;
+allow crosvm node:tcp_socket node_bind;
+
+# Allow crosvm to interact to VFIO device
+allow crosvm vfio_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow crosvm vfio_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow crosvm to access VM DTBO via a file created by virtualizationmanager.
+allow crosvm virtualizationservice_data_file:file read;
+
+
+#line 163
+    # Allow crosvm to deal with file descriptors of TAP interfaces.
+#line 163
+    allow crosvm tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 163
+    allowxperm crosvm tun_device:chr_file ioctl { 0x800454d2 0x400454d0 0x400454d8 };
+#line 163
+    allow crosvm self:udp_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+#line 163
+    allowxperm crosvm self:udp_socket ioctl 0x00008921;
+#line 163
+    allow crosvm vmnic:fd use;
+#line 170
+
+
+# Early VMs may print messages to kmsg_debug_device.
+allow crosvm kmsg_debug_device:chr_file { open append write lock map };
+
+# Don't allow crosvm to open files that it doesn't own.
+# This is important because a malicious application could try to start a VM with a composite disk
+# image referring by name to files which it doesn't have permission to open, trying to get crosvm to
+# open them on its behalf. By preventing crosvm from opening any other files we prevent this
+# potential privilege escalation. See http://b/192453819 for more discussion.
+neverallow crosvm {
+  virtualizationservice_data_file
+  staging_data_file
+  apk_data_file
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+  vm_data_file
+  
+}:file open;
+
+# Don't allow crosvm to have access to ordinary vendor files that are not for VMs.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 192
+
+#line 192
+  neverallow crosvm {
+#line 192
+    vendor_file_type
+#line 192
+    -vendor_vm_file
+#line 192
+    -vendor_vm_data_file
+#line 192
+    # These types are not required for crosvm, but the access is granted to globally in domain.te
+#line 192
+    # thus should be exempted here.
+#line 192
+    -vendor_cgroup_desc_file
+#line 192
+    -vendor_configs_file
+#line 192
+    -vendor_microdroid_file
+#line 192
+    -vndk_sp_file
+#line 192
+    -vendor_task_profiles_file
+#line 192
+    -same_process_hal_file
+#line 192
+  }:file *;
+#line 192
+
+#line 192
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 206
+
+
+# Only allow crosvm to read app data files for clients that can start
+# VMs. Note that the use of app data files is further restricted
+# inside the virtualizationservice by checking the label of all disk
+# image files.
+neverallow crosvm {
+  app_data_file_type
+  -app_data_file
+  -privapp_data_file
+  -shell_data_file
+}:file read;
+
+# Only virtualizationmanager can run crosvm
+# Allow vmlauncher app to launch crosvm for virtiofs
+neverallow {
+  domain
+  -crosvm
+  -virtualizationmanager
+  -vmlauncher_app
+  
+
+  -early_virtmgr
+} crosvm_exec:file { execute execute_no_trans };
+#line 1 "system/sepolicy/private/derive_classpath.te"
+
+# Domain for derive_classpath
+type derive_classpath, domain, coredomain, artd_subprocess_type;
+type derive_classpath_exec, system_file_type, exec_type, file_type;
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init derive_classpath_exec:file { getattr open read execute map };
+#line 5
+allow init derive_classpath:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow derive_classpath derive_classpath_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init derive_classpath:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init derive_classpath:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init derive_classpath_exec:process derive_classpath;
+#line 5
+
+#line 5
+
+
+# Read /apex
+allow derive_classpath apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+allow derive_classpath vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Create /data/system/environ/classpath file
+allow derive_classpath environ_system_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow derive_classpath environ_system_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# b/183079517 fails on gphone targets otherwise
+allow derive_classpath unlabeled:dir search;
+
+# Allow derive_classpath to write the classpath into ota dexopt
+# - Read the ota's apex dir
+allow derive_classpath postinstall_apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+# - Report the BCP to the ota's dexopt
+allow derive_classpath postinstall_dexopt:dir search;
+allow derive_classpath postinstall_dexopt:fd use;
+allow derive_classpath postinstall_dexopt:file read;
+allow derive_classpath postinstall_dexopt:lnk_file read;
+allow derive_classpath postinstall_dexopt_tmpfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow to be called by artd in Pre-reboot Dexopt.
+allow derive_classpath artd:fd use;
+
+# Allow writing to Pre-reboot Dexopt temp files.
+allow derive_classpath pre_reboot_dexopt_artd_file:file { open read write };
+#line 1 "system/sepolicy/private/derive_sdk.te"
+
+# Domain for derive_sdk
+type derive_sdk, domain, coredomain;
+type derive_sdk_exec, system_file_type, exec_type, file_type;
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init derive_sdk_exec:file { getattr open read execute map };
+#line 5
+allow init derive_sdk:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow derive_sdk derive_sdk_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init derive_sdk:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init derive_sdk:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init derive_sdk_exec:process derive_sdk;
+#line 5
+
+#line 5
+
+
+# Read /apex
+allow derive_sdk apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+allow derive_sdk vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Prop rules: writable by derive_sdk, readable by bootclasspath (apps)
+
+#line 12
+
+#line 12
+allow derive_sdk property_socket:sock_file write;
+#line 12
+allow derive_sdk init:unix_stream_socket connectto;
+#line 12
+
+#line 12
+allow derive_sdk module_sdkextensions_prop:property_service set;
+#line 12
+
+#line 12
+allow derive_sdk module_sdkextensions_prop:file { getattr open read map };
+#line 12
+
+#line 12
+
+neverallow { domain -init -derive_sdk } module_sdkextensions_prop:property_service set;
+
+# Allow derive_sdk to write data back to dumpstate when forked from dumpstate.
+# The shell_data_file permissions are needed when a bugreport is taken:
+# dumpstate will redirect its stdout to a temporary shell_data_file:file, and
+# this makes derive_sdk append to that file.
+allow derive_sdk dumpstate:fd use;
+allow derive_sdk dumpstate:unix_stream_socket { read write };
+allow derive_sdk shell_data_file:file { getattr append read write };
+#line 1 "system/sepolicy/private/device_as_webcam.te"
+# Domain for DeviceAsWebcam Service
+type device_as_webcam, domain, coredomain, mlstrustedsubject;
+
+
+#line 4
+typeattribute device_as_webcam appdomain;
+#line 4
+# Label tmpfs objects for all apps.
+#line 4
+type_transition device_as_webcam tmpfs:file appdomain_tmpfs;
+#line 4
+
+#line 4
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 4
+type device_as_webcam_userfaultfd;
+#line 4
+type_transition device_as_webcam device_as_webcam:anon_inode device_as_webcam_userfaultfd "[userfaultfd]";
+#line 4
+# Allow domain to create/use userfaultfd anon_inode.
+#line 4
+allow device_as_webcam device_as_webcam_userfaultfd:anon_inode { create ioctl read };
+#line 4
+# Suppress errors generate during bugreport
+#line 4
+dontaudit su device_as_webcam_userfaultfd:anon_inode *;
+#line 4
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 4
+neverallow { domain -device_as_webcam } device_as_webcam_userfaultfd:anon_inode *;
+#line 4
+
+#line 4
+allow device_as_webcam appdomain_tmpfs:file { execute getattr map read write };
+#line 4
+neverallow { device_as_webcam -runas_app -shell -simpleperf } { domain -device_as_webcam }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 4
+neverallow { appdomain -runas_app -shell -simpleperf -device_as_webcam } device_as_webcam:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 4
+# The Android security model guarantees the confidentiality and integrity
+#line 4
+# of application data and execution state. Ptrace bypasses those
+#line 4
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 4
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 4
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 4
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 4
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 4
+# live lock conditions.
+#line 4
+neverallow { domain -device_as_webcam -crash_dump  -runas_app -simpleperf } device_as_webcam:process ptrace;
+#line 4
+
+
+allow device_as_webcam system_app_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow device_as_webcam system_app_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow device_as_webcam { app_api_service cameraserver_service }:service_manager find;
+
+# Allow DeviceAsWebcam Service needs to access ro.usb.uvc.enabled property to
+# enale/disable itself
+
+#line 13
+allow device_as_webcam usb_uvc_enabled_prop:file { getattr open read map };
+#line 13
+
+
+# need to access /dev to list all devices
+allow device_as_webcam device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# UVC nodes are mounted as V4L2 nodes (/dev/video*) on the device. These need to
+# be accessed by the DeviceAsWebcam Service.
+allow device_as_webcam video_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow device_as_webcam video_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/dex2oat.te"
+# dex2oat
+type dex2oat, domain, coredomain, artd_subprocess_type;
+type dex2oat_exec, system_file_type, exec_type, file_type;
+
+
+#line 5
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 5
+type dex2oat_userfaultfd;
+#line 5
+type_transition dex2oat dex2oat:anon_inode dex2oat_userfaultfd "[userfaultfd]";
+#line 5
+# Allow domain to create/use userfaultfd anon_inode.
+#line 5
+allow dex2oat dex2oat_userfaultfd:anon_inode { create ioctl read };
+#line 5
+# Suppress errors generate during bugreport
+#line 5
+dontaudit su dex2oat_userfaultfd:anon_inode *;
+#line 5
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 5
+neverallow { domain -dex2oat } dex2oat_userfaultfd:anon_inode *;
+#line 5
+
+
+
+#line 7
+allow dex2oat apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 7
+allow dex2oat apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 7
+
+# Access to /vendor/app
+
+#line 9
+allow dex2oat vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow dex2oat vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 9
+
+# Access /vendor/framework
+allow dex2oat vendor_framework_file:dir { getattr search };
+allow dex2oat vendor_framework_file:file { getattr open read map };
+# Access /vendor/overlay
+
+#line 14
+allow dex2oat vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 14
+allow dex2oat vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 14
+;
+# Vendor overlay can be found in vendor apex
+allow dex2oat vendor_apex_metadata_file:dir { getattr search };
+
+allow dex2oat tmpfs:file { read getattr map };
+
+
+#line 20
+allow dex2oat dalvikcache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow dex2oat dalvikcache_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 20
+
+allow dex2oat dalvikcache_data_file:file write;
+
+# Acquire advisory lock on /system/framework/arm/*
+allow dex2oat system_file:file lock;
+allow dex2oat postinstall_file:file lock;
+
+# Read already open asec_apk_file file descriptors passed by installd.
+# Also allow reading unlabeled files, to allow for upgrading forward
+# locked APKs.
+allow dex2oat asec_apk_file:file { read map };
+allow dex2oat unlabeled:file { read map };
+allow dex2oat oemfs:file { read map };
+allow dex2oat apk_tmp_file:dir search;
+allow dex2oat apk_tmp_file:file { getattr open read ioctl lock map watch watch_reads };
+allow dex2oat user_profile_data_file:file { getattr read lock map };
+
+# Allow dex2oat to compile app's secondary dex files which were reported back to
+# the framework.
+allow dex2oat { privapp_data_file app_data_file }:file { getattr read write lock map };
+
+# Allow dex2oat to find files and directories under /data/misc/apexdata/com.android.runtime.
+allow dex2oat apex_module_data_file:dir search;
+
+# Allow dex2oat to use devpts passed from odsign.
+allow dex2oat odsign_devpts:chr_file { read write };
+
+# Allow dex2oat to write to file descriptors from odrefresh for files
+# in the staging area.
+allow dex2oat apex_art_staging_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dex2oat apex_art_staging_data_file:file { getattr map read write unlink };
+
+# Allow dex2oat to read artifacts from odrefresh.
+allow dex2oat apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dex2oat apex_art_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dex2oat to read runtime native flag properties.
+
+#line 57
+allow dex2oat device_config_runtime_native_prop:file { getattr open read map };
+#line 57
+
+
+#line 58
+allow dex2oat device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 58
+
+
+# Allow dex2oat to read /apex/apex-info-list.xml
+allow dex2oat apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dex2oat to use file descriptors passed from privileged programs.
+allow dex2oat { artd installd odrefresh odsign }:fd use;
+
+# Allow dex2oat to read the /proc filesystem for CPU features, etc.
+allow dex2oat proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+##################
+# A/B OTA Dexopt #
+##################
+
+# Allow dex2oat to use file descriptors from otapreopt.
+allow dex2oat postinstall_dexopt:fd use;
+
+# Allow dex2oat to read files under /postinstall (e.g. APKs under /system, /system/bin/linker).
+allow dex2oat postinstall_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dex2oat postinstall_file:filesystem getattr;
+allow dex2oat postinstall_file:lnk_file { getattr read };
+allow dex2oat postinstall_file:file read;
+# Allow dex2oat to use libraries under /postinstall/system (e.g. /system/lib/libc.so).
+# TODO(b/120266448): Remove when Bionic libraries are part of the Runtime APEX.
+allow dex2oat postinstall_file:file { execute getattr open };
+
+# Allow dex2oat access to /postinstall/apex.
+allow dex2oat postinstall_apex_mnt_dir:dir { getattr search };
+allow dex2oat postinstall_apex_mnt_dir:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dex2oat access to files in /data/ota.
+allow dex2oat ota_data_file:dir { { open getattr read search ioctl lock watch watch_reads } add_name write };
+allow dex2oat ota_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Create and read symlinks in /data/ota/dalvik-cache. This is required for PIC mode boot images,
+# where the oat file is symlinked to the original file in /system.
+allow dex2oat ota_data_file:lnk_file { create read };
+
+# It would be nice to tie this down, but currently, because of how images are written, we can't
+# pass file descriptors for the preopted boot image to dex2oat. So dex2oat needs to be able to
+# create them itself (and make them world-readable).
+allow dex2oat ota_data_file:file { create { open append write lock map } setattr };
+
+###############
+# APEX Update #
+###############
+
+# /dev/zero is inherited.
+allow dex2oat apexd:fd use;
+
+# Allow dex2oat to use file descriptors from preinstall.
+
+##############
+# Neverallow #
+##############
+
+neverallow dex2oat app_data_file_type:{ file lnk_file sock_file fifo_file } open;
+#line 1 "system/sepolicy/private/dexopt_chroot_setup.te"
+# A service that sets up the chroot environment for Pre-reboot Dexopt.
+type dexopt_chroot_setup, domain, coredomain;
+type dexopt_chroot_setup_exec, system_file_type, exec_type, file_type;
+type dexopt_chroot_setup_tmpfs, file_type;
+
+# Allow dexopt_chroot_setup to publish a binder service and make binder calls.
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow dexopt_chroot_setup servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager dexopt_chroot_setup:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager dexopt_chroot_setup:dir search;
+#line 7
+allow servicemanager dexopt_chroot_setup:file { read open };
+#line 7
+allow servicemanager dexopt_chroot_setup:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+#line 8
+  allow dexopt_chroot_setup dexopt_chroot_setup_service:service_manager { add find };
+#line 8
+  neverallow { domain -dexopt_chroot_setup } dexopt_chroot_setup_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+allow dexopt_chroot_setup dumpstate:fifo_file { getattr write };
+allow dexopt_chroot_setup dumpstate:fd use;
+
+
+#line 12
+
+#line 12
+# Allow the necessary permissions.
+#line 12
+
+#line 12
+# Old domain may exec the file and transition to the new domain.
+#line 12
+allow init dexopt_chroot_setup_exec:file { getattr open read execute map };
+#line 12
+allow init dexopt_chroot_setup:process transition;
+#line 12
+# New domain is entered by executing the file.
+#line 12
+allow dexopt_chroot_setup dexopt_chroot_setup_exec:file { entrypoint open read execute getattr map };
+#line 12
+# New domain can send SIGCHLD to its caller.
+#line 12
+
+#line 12
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 12
+dontaudit init dexopt_chroot_setup:process noatsecure;
+#line 12
+# XXX dontaudit candidate but requires further study.
+#line 12
+allow init dexopt_chroot_setup:process { siginh rlimitinh };
+#line 12
+
+#line 12
+# Make the transition occur by default.
+#line 12
+type_transition init dexopt_chroot_setup_exec:process dexopt_chroot_setup;
+#line 12
+
+#line 12
+
+
+# Use tmpfs_domain() which will give tmpfs files created by dexopt_chroot_setup
+# their own label, which differs from other labels created by other processes.
+# This allows to distinguish in policy files created by dexopt_chroot_setup vs
+# other processes.
+
+#line 18
+type_transition dexopt_chroot_setup tmpfs:file dexopt_chroot_setup_tmpfs;
+#line 18
+allow dexopt_chroot_setup dexopt_chroot_setup_tmpfs:file { read write getattr map };
+#line 18
+
+
+# libart (mark_compact.cc) has some intialization code that touches the cache
+# info file and userfaultfd.
+allow dexopt_chroot_setup apex_module_data_file:dir { getattr search };
+
+#line 23
+allow dexopt_chroot_setup apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 23
+allow dexopt_chroot_setup apex_art_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 23
+
+
+#line 24
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 24
+type dexopt_chroot_setup_userfaultfd;
+#line 24
+type_transition dexopt_chroot_setup dexopt_chroot_setup:anon_inode dexopt_chroot_setup_userfaultfd "[userfaultfd]";
+#line 24
+# Allow domain to create/use userfaultfd anon_inode.
+#line 24
+allow dexopt_chroot_setup dexopt_chroot_setup_userfaultfd:anon_inode { create ioctl read };
+#line 24
+# Suppress errors generate during bugreport
+#line 24
+dontaudit su dexopt_chroot_setup_userfaultfd:anon_inode *;
+#line 24
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 24
+neverallow { domain -dexopt_chroot_setup } dexopt_chroot_setup_userfaultfd:anon_inode *;
+#line 24
+
+
+# Allow getting root capabilities to bypass permission checks.
+# - "sys_admin" is for performing mount and umount.
+# - "sys_chroot" is for performing chroot.
+allow dexopt_chroot_setup self:{ capability cap_userns } { sys_admin sys_chroot };
+
+# Allow managing its own files.
+# The root of the temp dir that dexopt_chroot_setup uses is labeled
+# pre_reboot_dexopt_file.
+allow dexopt_chroot_setup pre_reboot_dexopt_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow dexopt_chroot_setup pre_reboot_dexopt_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow accessing /proc/filesystems.
+allow dexopt_chroot_setup proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow accessing block devices (/dev/block/...).
+allow dexopt_chroot_setup block_device:dir { getattr search };
+
+# Allow mounting file systems, to create a chroot environment.
+# We recursively bind-mount directories under /data, /mnt/expand, /proc, /sys,
+# and /dev. We need some of them (e.g., incremental-fs directories for
+# incremental apps in /data; /dev/cpuctl and /dev/blkio for task profiles), but
+# not necessarily all of them. However, to avoid random crashes and silent
+# fallbacks, we bind-mount all of them. Therefore, we need access to many of the
+# fstypes.
+
+allow dexopt_chroot_setup {
+  apex_mnt_dir
+  apk_data_file
+  binderfs
+  binfmt_miscfs
+  cgroup
+  cgroup_v2
+  
+  debugfs_tracing_debug
+  device
+  devpts
+  fs_bpf
+  functionfs
+  fusectlfs
+  linkerconfig_file
+  metadata_file
+  mnt_expand_file
+  pre_reboot_dexopt_file
+  proc
+  pstorefs
+  rootfs
+  selinuxfs
+  sysfs
+  system_data_file
+  system_data_root_file
+  system_file
+  system_lib_file
+  tmpfs
+  vendor_configs_file
+  vendor_file
+}:dir mounton;
+
+allow dexopt_chroot_setup { tmpfs labeledfs }:filesystem mount;
+
+allow dexopt_chroot_setup {
+  binderfs
+  binfmt_miscfs
+  cgroup
+  cgroup_v2
+  
+  debugfs_tracing_debug
+  devpts
+  fs_bpf
+  functionfs
+  fusectlfs
+  labeledfs
+  proc
+  pstorefs
+  selinuxfs
+  sysfs
+  tmpfs
+}:filesystem unmount;
+
+# Allow reading /apex in chroot.
+
+#line 105
+allow dexopt_chroot_setup apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 105
+allow dexopt_chroot_setup apex_mnt_dir:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 105
+
+allow dexopt_chroot_setup apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow writing an empty linker config in chroot to suppress linker warnings.
+# The empty linker config is used until linkerconfig has run.
+# In chroot, we're reusing the type outside the chroot, to reuse all the rules
+# for it for other domains, even though we're not changing the real linker
+# config outside the chroot.
+allow dexopt_chroot_setup linkerconfig_file:dir { write add_name };
+allow dexopt_chroot_setup linkerconfig_file:file { create write };
+
+# Allow using the `rootcontext=` option when mounting tmpfs, so we can give the
+# right labels to /apex, /linkerconfig, /mnt/artd_tmp in chroot.
+# Combined with `allow file_type tmpfs:filesystem associate;`, this allows
+# giving any labels to any tmpfs filesystems as soon as they are mounted.
+# Note that those tmpfs filesystems are known to be empty at the time where the
+# labels are given, and this rule doesn't allow relabeling any existing tmpfs.
+allow dexopt_chroot_setup tmpfs:filesystem relabelfrom;
+
+# Allow executing art_exec_exec without a domain transition because it is a thin
+# wrapper that executes other binaries on behalf of dexopt_chroot_setup. Domain
+# transition will take place as soon as art_exec_exec executes other binaries.
+allow dexopt_chroot_setup art_exec_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow running other binaries in their own domains.
+
+#line 130
+# Allow the necessary permissions.
+#line 130
+
+#line 130
+# Old domain may exec the file and transition to the new domain.
+#line 130
+allow dexopt_chroot_setup apexd_exec:file { getattr open read execute map };
+#line 130
+allow dexopt_chroot_setup apexd:process transition;
+#line 130
+# New domain is entered by executing the file.
+#line 130
+allow apexd apexd_exec:file { entrypoint open read execute getattr map };
+#line 130
+# New domain can send SIGCHLD to its caller.
+#line 130
+allow apexd dexopt_chroot_setup:process sigchld;
+#line 130
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 130
+dontaudit dexopt_chroot_setup apexd:process noatsecure;
+#line 130
+# XXX dontaudit candidate but requires further study.
+#line 130
+allow dexopt_chroot_setup apexd:process { siginh rlimitinh };
+#line 130
+
+#line 130
+# Make the transition occur by default.
+#line 130
+type_transition dexopt_chroot_setup apexd_exec:process apexd;
+#line 130
+
+
+#line 131
+# Allow the necessary permissions.
+#line 131
+
+#line 131
+# Old domain may exec the file and transition to the new domain.
+#line 131
+allow dexopt_chroot_setup linkerconfig_exec:file { getattr open read execute map };
+#line 131
+allow dexopt_chroot_setup linkerconfig:process transition;
+#line 131
+# New domain is entered by executing the file.
+#line 131
+allow linkerconfig linkerconfig_exec:file { entrypoint open read execute getattr map };
+#line 131
+# New domain can send SIGCHLD to its caller.
+#line 131
+allow linkerconfig dexopt_chroot_setup:process sigchld;
+#line 131
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 131
+dontaudit dexopt_chroot_setup linkerconfig:process noatsecure;
+#line 131
+# XXX dontaudit candidate but requires further study.
+#line 131
+allow dexopt_chroot_setup linkerconfig:process { siginh rlimitinh };
+#line 131
+
+#line 131
+# Make the transition occur by default.
+#line 131
+type_transition dexopt_chroot_setup linkerconfig_exec:process linkerconfig;
+#line 131
+
+
+# Allow running snapshotctl through init, to map and unmap block devices.
+
+#line 134
+
+#line 134
+allow dexopt_chroot_setup property_socket:sock_file write;
+#line 134
+allow dexopt_chroot_setup init:unix_stream_socket connectto;
+#line 134
+
+#line 134
+allow dexopt_chroot_setup snapshotctl_prop:property_service set;
+#line 134
+
+#line 134
+allow dexopt_chroot_setup snapshotctl_prop:file { getattr open read map };
+#line 134
+
+#line 134
+
+
+# Allow accessing /data/app/..., to bind-mount dirs for incremental apps.
+allow dexopt_chroot_setup apk_data_file:dir { getattr search };
+
+# Neverallow rules.
+
+# Never allow running other binaries without a domain transition.
+# The exception for art_exec_exec is explained above.
+neverallow dexopt_chroot_setup ~{art_exec_exec}:file execute_no_trans;
+
+# Given how powerful this domain is, it shouldn't be used for other purposes.
+neverallow { domain -init } dexopt_chroot_setup:process transition;
+neverallow * dexopt_chroot_setup:process dyntransition;
+
+# Never allow other processes to access the temp dirs for Pre-reboot Dexopt.
+neverallow {
+  domain
+  -art_exec
+  -artd
+  -dexopt_chroot_setup
+  -init
+  -system_server
+  -vendor_init
+} pre_reboot_dexopt_file:dir *;
+#line 1 "system/sepolicy/private/dexoptanalyzer.te"
+# Deprecated file type for the legacy dexoptanalyzer binary, used by Android T-. We need to keep it
+# for compatibility because the file type is burnt into the apex image.
+type dexoptanalyzer_exec, system_file_type, exec_type, file_type;
+#line 1 "system/sepolicy/private/dhcp.te"
+typeattribute dhcp coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init dhcp_exec:file { getattr open read execute map };
+#line 3
+allow init dhcp:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow dhcp dhcp_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init dhcp:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init dhcp:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init dhcp_exec:process dhcp;
+#line 3
+
+#line 3
+
+type_transition dhcp system_data_file:{ dir file } dhcp_data_file;
+
+
+#line 6
+
+#line 6
+allow dhcp property_socket:sock_file write;
+#line 6
+allow dhcp init:unix_stream_socket connectto;
+#line 6
+
+#line 6
+allow dhcp dhcp_prop:property_service set;
+#line 6
+
+#line 6
+allow dhcp dhcp_prop:file { getattr open read map };
+#line 6
+
+#line 6
+
+
+#line 7
+
+#line 7
+allow dhcp property_socket:sock_file write;
+#line 7
+allow dhcp init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow dhcp pan_result_prop:property_service set;
+#line 7
+
+#line 7
+allow dhcp pan_result_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+
+
+#line 9
+typeattribute dhcp netdomain;
+#line 9
+
+
+allow dhcp cgroup:dir { create write add_name };
+allow dhcp cgroup_v2:dir { create write add_name };
+allow dhcp self:{ capability cap_userns } { setgid setuid net_admin net_raw net_bind_service };
+allow dhcp self:packet_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow dhcp self:netlink_route_socket nlmsg_write;
+allow dhcp shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow dhcp system_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow dhcp vendor_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# dhcpcd runs dhcpcd-hooks/*, which runs getprop / setprop (toolbox_exec)
+allow dhcp toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# For /proc/sys/net/ipv4/conf/*/promote_secondaries
+allow dhcp proc_net_type:file write;
+
+allow dhcp dhcp_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow dhcp dhcp_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# PAN connections
+allow dhcp netd:fd use;
+allow dhcp netd:fifo_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow dhcp netd:{ { udp_socket unix_dgram_socket } unix_stream_socket } { read write };
+allow dhcp netd:{ netlink_kobject_uevent_socket netlink_route_socket netlink_nflog_socket } { read write };
+#line 1 "system/sepolicy/private/display_service_server.te"
+
+#line 1
+  allow display_service_server fwk_display_hwservice:hwservice_manager { add find };
+#line 1
+  allow display_service_server hidl_base_hwservice:hwservice_manager add;
+#line 1
+  neverallow { domain -display_service_server } fwk_display_hwservice:hwservice_manager add;
+#line 1
+
+#line 1 "system/sepolicy/private/dmesgd.te"
+type dmesgd, domain, coredomain;
+type dmesgd_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init dmesgd_exec:file { getattr open read execute map };
+#line 4
+allow init dmesgd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow dmesgd dmesgd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init dmesgd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init dmesgd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init dmesgd_exec:process dmesgd;
+#line 4
+
+#line 4
+
+
+allow dmesgd dmesgd_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow dmesgd dmesgd_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow dmesgd kernel:system syslog_read;
+allow dmesgd shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow dmesgd toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 12
+# Call the servicemanager and transfer references to it.
+#line 12
+allow dmesgd servicemanager:binder { call transfer };
+#line 12
+# Allow servicemanager to send out callbacks
+#line 12
+allow servicemanager dmesgd:binder { call transfer };
+#line 12
+# servicemanager performs getpidcon on clients.
+#line 12
+allow servicemanager dmesgd:dir search;
+#line 12
+allow servicemanager dmesgd:file { read open };
+#line 12
+allow servicemanager dmesgd:process getattr;
+#line 12
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 12
+# all domains in domain.te.
+#line 12
+
+
+#line 13
+# Call the server domain and optionally transfer references to it.
+#line 13
+allow dmesgd system_server:binder { call transfer };
+#line 13
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 13
+allow system_server dmesgd:binder transfer;
+#line 13
+# Receive and use open files from the server.
+#line 13
+allow dmesgd system_server:fd use;
+#line 13
+
+allow dmesgd dropbox_service:service_manager find;
+allow dmesgd proc_version:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/dnsmasq.te"
+typeattribute dnsmasq coredomain;
+
+
+#line 3
+typeattribute dnsmasq netdomain;
+#line 3
+
+allowxperm dnsmasq self:udp_socket ioctl 
+#line 4
+{
+#line 4
+# qualcomm rmnet ioctls
+#line 4
+0x00006900 0x00006902
+#line 4
+# socket ioctls
+#line 4
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 4
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 4
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 4
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 4
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 4
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 4
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 4
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 4
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 4
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 4
+# device and protocol specific ioctls
+#line 4
+0x000089f0-0x000089ff
+#line 4
+0x000089e0-0x000089ef
+#line 4
+# Wireless extension ioctls
+#line 4
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 4
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 4
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 4
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 4
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 4
+0x00008b34 0x00008b35 0x00008b36
+#line 4
+# Dev private ioctl i.e. hardware specific ioctls
+#line 4
+0x00008be0-0x00008bff
+#line 4
+};
+
+# TODO:  Run with dhcp group to avoid need for dac_override.
+allow dnsmasq self:{ capability cap_userns } { dac_override dac_read_search };
+
+allow dnsmasq self:{ capability cap_userns } { net_admin net_raw net_bind_service setgid setuid };
+
+allow dnsmasq dhcp_data_file:dir { open search write add_name remove_name lock };
+allow dnsmasq dhcp_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Inherit and use open files from netd.
+allow dnsmasq netd:fd use;
+allow dnsmasq netd:fifo_file { getattr read write };
+# TODO: Investigate whether these inherited sockets should be closed on exec.
+allow dnsmasq netd:netlink_kobject_uevent_socket { read write };
+allow dnsmasq netd:netlink_nflog_socket { read write };
+allow dnsmasq netd:netlink_route_socket { read write };
+allow dnsmasq netd:unix_stream_socket { getattr read write };
+allow dnsmasq netd:unix_dgram_socket { read write };
+allow dnsmasq netd:udp_socket { read write };
+#line 1 "system/sepolicy/private/domain.te"
+# Rules for all domains.
+
+# Allow reaping by init.
+allow domain init:process sigchld;
+
+# Intra-domain accesses.
+allow domain self:process {
+    fork
+    sigchld
+    sigkill
+    sigstop
+    signull
+    signal
+    getsched
+    setsched
+    getsession
+    getpgid
+    getcap
+    setcap
+    getattr
+    setrlimit
+};
+allow { domain -artd_subprocess_type } self:process setpgid;
+allow domain self:fd use;
+allow domain proc:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain proc_net_type:dir search;
+
+#line 27
+allow domain self:dir { open getattr read search ioctl lock watch watch_reads };
+#line 27
+allow domain self:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 27
+
+allow domain self:{ fifo_file file } { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow domain self:unix_dgram_socket { { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } } sendto };
+allow domain self:unix_stream_socket { { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } } connectto };
+
+# Inherit or receive open files from others.
+allow domain init:fd use;
+
+#line 52
+
+
+#line 58
+
+
+# Allow everyone to read aconfig flags
+
+#line 61
+allow domain device_config_aconfig_flags_prop:file { getattr open read map };
+#line 61
+;
+
+# Root fs.
+allow domain tmpfs:dir { getattr search };
+allow domain rootfs:dir search;
+allow domain rootfs:lnk_file { read getattr };
+
+# Device accesses.
+allow domain device:dir search;
+allow domain dev_type:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow domain devpts:dir search;
+allow domain dmabuf_heap_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain socket_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain owntty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow domain null_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow domain zero_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# /dev/ashmem is being deprecated by means of constraining and eventually
+# removing all "open" permissions. We preserve the other permissions.
+allow domain ashmem_device:chr_file { getattr read ioctl lock map append write };
+# This device is used by libcutils, which is accessible to everyone.
+allow domain ashmem_libcutils_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# /dev/binder can be accessed by ... everyone! :)
+allow { domain -hwservicemanager -vndservicemanager } binder_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+#line 86
+allow {domain -hwservicemanager -vndservicemanager } servicemanager_prop:file { getattr open read map };
+#line 86
+
+# Checking for the existance of the hwservicemanager binary is done in the client API
+# isHwServiceManagerInstalled
+dontaudit domain hwservicemanager_exec:file { getattr open read ioctl lock map watch watch_reads };
+
+
+# Restrict binder ioctls to an allowlist. Additional ioctl commands may be
+# added to individual domains, but this sets safe defaults for all processes.
+allowxperm domain binder_device:chr_file ioctl { {
+#line 94
+0xc0306201 0x40086203 0x40046205
+#line 94
+0x40046206 0x40046207 0x40046208
+#line 94
+0xc0046209 0xc018620b 0xc018620c
+#line 94
+0x4018620d 0x40046210
+#line 94
+0xc0486211
+#line 94
+} };
+
+# /dev/binderfs needs to be accessed by everyone too!
+allow domain binderfs:dir { getattr search };
+allow domain binderfs_logs_proc:dir search;
+allow domain binderfs_features:dir search;
+allow domain binderfs_features:file { getattr open read ioctl lock map watch watch_reads };
+
+allow { domain -servicemanager -vndservicemanager -isolated_app } hwbinder_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow domain ptmx_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow domain random_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow domain proc_random:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain proc_random:file { getattr open read ioctl lock map watch watch_reads };
+allow domain properties_device:dir { search getattr };
+allow domain properties_serial:file { getattr open read ioctl lock map watch watch_reads };
+allow domain property_info:file { getattr open read ioctl lock map watch watch_reads };
+
+# Let everyone read log properties, so that liblog can avoid sending unloggable
+# messages to logd.
+
+#line 113
+allow domain log_property_type:file { getattr open read map };
+#line 113
+
+dontaudit domain property_type:file audit_access;
+allow domain property_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow domain init:key search;
+allow domain vold:key search;
+
+# logd access
+
+#line 121
+
+#line 121
+allow domain logdw_socket:sock_file write;
+#line 121
+allow domain logd:unix_dgram_socket sendto;
+#line 121
+
+#line 121
+allow domain pmsg_device:chr_file { open append write lock map };
+#line 121
+
+
+# Directory/link file access for path resolution.
+allow domain {
+    system_file
+    system_lib_file
+    system_seccomp_policy_file
+    system_security_cacerts_file
+}:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain system_file:lnk_file { getattr read };
+
+# Global access to /system/etc/security/cacerts/*, /system/etc/seccomp_policy/*, /system/lib[64]/*,
+# /(system|product|system_ext)/etc/(group|passwd), linker and its config.
+allow domain system_seccomp_policy_file:file { getattr open read ioctl lock map watch watch_reads };
+# cacerts are accessible from public Java API.
+allow domain system_security_cacerts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain system_group_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain system_passwd_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain system_linker_exec:file { execute read open getattr map };
+allow domain system_linker_config_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain system_lib_file:file { execute read open getattr map };
+# To allow following symlinks at /system/bin/linker, /system/lib/libc.so, etc.
+allow domain system_linker_exec:lnk_file { read open getattr };
+allow domain system_lib_file:lnk_file { read open getattr };
+
+allow domain system_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow { appdomain coredomain } system_file:file { execute read open getattr map };
+
+# Make sure system/vendor split doesn not affect non-treble
+# devices
+
+#line 152
+    allow domain system_file:file { execute read open getattr map };
+#line 152
+    allow domain vendor_file_type:dir { search getattr };
+#line 152
+    allow domain vendor_file_type:file { execute read open getattr map };
+#line 152
+    allow domain vendor_file_type:lnk_file { getattr read };
+#line 157
+
+
+# All domains are allowed to open and read directories
+# that contain HAL implementations (e.g. passthrough
+# HALs require clients to have these permissions)
+allow domain vendor_hal_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Everyone can read and execute all same process HALs
+allow domain same_process_hal_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow {
+    domain
+    -coredomain # access is explicitly granted to individual coredomains
+} same_process_hal_file:file { execute read open getattr map };
+
+# Any process can load vndk-sp libraries, which are system libraries
+# used by same process HALs
+allow domain vndk_sp_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain vndk_sp_file:file { execute read open getattr map };
+
+# All domains get access to /vendor/etc
+allow domain vendor_configs_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain vendor_configs_file:file { read open getattr map };
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 180
+
+#line 180
+    # Allow all domains to be able to follow /system/vendor and/or
+#line 180
+    # /vendor/odm symlinks.
+#line 180
+    allow domain vendor_file_type:lnk_file { getattr open read };
+#line 180
+
+#line 180
+    # This is required to be able to search & read /vendor/lib64
+#line 180
+    # in order to lookup vendor libraries. The execute permission
+#line 180
+    # for coredomains is granted *only* for same process HALs
+#line 180
+    allow domain vendor_file:dir { getattr search };
+#line 180
+
+#line 180
+    # Allow reading and executing out of /vendor to all vendor domains
+#line 180
+    allow { domain -coredomain } vendor_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 180
+    allow { domain -coredomain } vendor_file_type:file { read open getattr execute map };
+#line 180
+    allow { domain -coredomain } vendor_file_type:lnk_file { getattr read };
+#line 180
+
+#line 180
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 194
+
+
+# read and stat any sysfs symlinks
+allow domain sysfs:lnk_file { getattr read };
+
+# libc references /system/usr/share/zoneinfo for timezone related information.
+# This directory is considered to be a VNDK-stable
+allow domain { system_zoneinfo_file }:file { getattr open read ioctl lock map watch watch_reads };
+allow domain { system_zoneinfo_file }:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Lots of processes access current CPU information
+
+#line 205
+allow domain sysfs_devices_system_cpu:dir { open getattr read search ioctl lock watch watch_reads };
+#line 205
+allow domain sysfs_devices_system_cpu:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 205
+
+
+
+#line 207
+allow domain sysfs_usb:dir { open getattr read search ioctl lock watch watch_reads };
+#line 207
+allow domain sysfs_usb:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 207
+;
+
+# If kernel CONFIG_TRANSPARENT_HUGEPAGE is enabled, libjemalloc5 (statically
+# included by libc) reads /sys/kernel/mm/transparent_hugepage/enabled.
+allow domain sysfs_transparent_hugepage:dir search;
+allow domain sysfs_transparent_hugepage:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow search access, and sometimes getattr access, to various directories
+# under /data.  We are fairly lenient in allowing search access to top-level
+# dirs that commonly need to be traversed to get access to the "real" files, as
+# this greatly simplifies the policy and doesn't open up much attack surface.
+
+#line 218
+  allow domain system_data_file:dir getattr;
+#line 220
+
+allow { coredomain appdomain } system_data_file:dir getattr;
+# Anything that accesses anything in /data needs search access to /data itself.
+# This includes vendor components, as they need to access /data/vendor.
+allow domain system_data_root_file:dir { search getattr } ;
+# system_data_file is the default type for directories in /data.  Anything
+# accessing data files with a more specific type often has to traverse a
+# system_data_file directory such as /data/misc to get there.
+allow domain system_data_file:dir search;
+# Anything that accesses files in /data/user (and /data/user_de, etc.) needs
+# search access to these directories themselves.  getattr access is sometimes
+# needed too.
+allow { coredomain appdomain } system_userdir_file:dir { search getattr };
+# Anything that accesses files in /data/media needs search access to /data/media
+# itself.
+allow { coredomain appdomain } media_userdir_file:dir search;
+# TODO restrict this to non-coredomain
+allow domain vendor_userdir_file:dir { getattr search };
+allow domain vendor_data_file:dir { getattr search };
+
+# required by the dynamic linker
+allow domain proc:lnk_file { getattr read };
+
+# /proc/cpuinfo
+allow domain proc_cpuinfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# /dev/cpu_variant:.*
+allow domain dev_cpu_variant:file { getattr open read ioctl lock map watch watch_reads };
+
+# profiling needs to read /proc/sys/kernel/perf_event_max_sample_rate
+allow domain proc_perf:file { getattr open read ioctl lock map watch watch_reads };
+
+# toybox loads libselinux which stats /sys/fs/selinux/
+allow domain selinuxfs:dir search;
+allow domain selinuxfs:file getattr;
+allow domain sysfs:dir search;
+allow domain selinuxfs:filesystem getattr;
+
+# Almost all processes log tracing information to
+# /sys/kernel/debug/tracing/trace_marker
+# The reason behind this is documented in b/6513400
+allow domain debugfs:dir search;
+allow domain debugfs_tracing:dir search;
+allow domain debugfs_tracing_debug:dir search;
+allow domain debugfs_trace_marker:file { open append write lock map };
+
+# Linux lockdown mode offered coarse-grained definitions for access controls. In
+# previous versions of the policy, the integrity permission was neverallowed.
+# It was found that this permission mainly duplicates pre-existing rules in
+# the policy (see b/285443587). Additionally, some access were found to be
+# required (b/269377822). The access vector was removed from kernel 5.16
+# onwards. Grant unconditional access, these rules should be removed from the
+# policy once no kernel <5.16 are supported.
+allow domain self:lockdown { confidentiality integrity };
+
+# Filesystem access.
+allow domain fs_type:filesystem getattr;
+allow domain fs_type:dir getattr;
+
+# Restrict all domains to an allowlist for common socket types. Additional
+# ioctl commands may be added to individual domains, but this sets safe
+# defaults for all processes. Note that granting this allowlist to domain does
+# not grant the ioctl permission on these socket types. That must be granted
+# separately.
+allowxperm domain domain:{ icmp_socket rawip_socket tcp_socket udp_socket }
+  ioctl { 
+#line 285
+{
+#line 285
+# Socket ioctls for gathering information about the interface
+#line 285
+0x00008906 0x00008907
+#line 285
+0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
+#line 285
+0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
+#line 285
+# Wireless extension ioctls. Primarily get functions.
+#line 285
+0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
+#line 285
+0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
+#line 285
+0x00008b25 0x00008b27 0x00008b29 0x00008b2d
+#line 285
+} {
+#line 285
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 285
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 285
+} };
+# default allowlist for unix sockets.
+allowxperm domain { domain pdx_channel_socket_type }:{ unix_dgram_socket unix_stream_socket }
+  ioctl {
+#line 288
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005413 0x00005414 0x0000541b
+#line 288
+};
+
+# Restrict PTYs to only allowed ioctls.
+# Note that granting this allowlist to domain does
+# not grant the wider ioctl permission. That must be granted
+# separately.
+allowxperm domain devpts:chr_file ioctl {
+#line 294
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 294
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 294
+};
+
+# All domains must clearly enumerate what ioctls they use
+# on filesystem objects (plain files, directories, symbolic links,
+# named pipes, and named sockets). We start off with a safe set.
+allowxperm domain { file_type fs_type domain dev_type }:{ dir { file lnk_file sock_file fifo_file } blk_file } ioctl { 0x00005451 0x00005450 };
+
+# If a domain has ioctl access to tun_device, it must clearly enumerate the
+# ioctls used. Safe defaults are listed below.
+allowxperm domain tun_device:chr_file ioctl { 0x00005451 0x00005450 };
+
+# Allow a process to make a determination whether a file descriptor
+# for a plain file or pipe (fifo_file) is a tty. Note that granting
+# this allowlist to domain does not grant the ioctl permission to
+# these files. That must be granted separately.
+allowxperm domain { file_type fs_type }:file ioctl { 0x00005401 };
+allowxperm domain domain:fifo_file ioctl { 0x00005401 };
+
+# If a domain has access to perform an ioctl on a block device, allow these
+# very common, benign ioctls
+allowxperm domain dev_type:blk_file ioctl { 0x80081272 0x00001268 };
+
+# Support sqlite F2FS specific optimizations
+# ioctl permission on the specific file type is still required
+# TODO: consider only compiling these rules if we know the
+# /data partition is F2FS
+allowxperm domain { file_type sdcard_type }:file ioctl {
+  0xf505
+  0xf502
+  0xf50c
+  0xf50e
+  0xf50d
+  0xf501
+};
+
+# Workaround for policy compiler being too aggressive and removing hwservice_manager_type
+# when it's not explicitly used in allow rules
+allow { domain -domain } hwservice_manager_type:hwservice_manager { add find };
+# Workaround for policy compiler being too aggressive and removing vndservice_manager_type
+# when it's not explicitly used in allow rules
+allow { domain -domain } vndservice_manager_type:service_manager { add find };
+
+# Under ASAN, processes will try to read /data, as the sanitized libraries are there.
+
+# Under ASAN, /system/asan.options needs to be globally accessible.
+
+
+# read APEX dir and stat any symlink pointing to APEXs.
+allow domain apex_mnt_dir:dir { getattr search };
+allow domain apex_mnt_dir:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow reading /sys/kernel/mm/pgsize_migration/enabled
+allow domain sysfs_pgsize_migration:dir search;
+allow domain sysfs_pgsize_migration:file { getattr open read ioctl lock map watch watch_reads };
+
+# Linker is executed from the context of the process requesting the dynamic linking,
+# so this prop must be "world-readable".
+
+#line 351
+allow domain bionic_linker_16kb_app_compat_prop:file { getattr open read map };
+#line 351
+
+
+# Allow everyone to read media server-configurable flags, so that libstagefright can be
+# configured using server-configurable flags
+
+#line 355
+allow domain device_config_media_native_prop:file { getattr open read map };
+#line 355
+
+
+# Transition to crash_dump when /system/bin/crash_dump* is executed.
+# This occurs when the process crashes.
+# We do not apply this to the su domain to avoid interfering with
+# tests (b/114136122)
+
+#line 361
+# Allow the necessary permissions.
+#line 361
+
+#line 361
+# Old domain may exec the file and transition to the new domain.
+#line 361
+allow { domain  } crash_dump_exec:file { getattr open read execute map };
+#line 361
+allow { domain  } crash_dump:process transition;
+#line 361
+# New domain is entered by executing the file.
+#line 361
+allow crash_dump crash_dump_exec:file { entrypoint open read execute getattr map };
+#line 361
+# New domain can send SIGCHLD to its caller.
+#line 361
+allow crash_dump { domain  }:process sigchld;
+#line 361
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 361
+dontaudit { domain  } crash_dump:process noatsecure;
+#line 361
+# XXX dontaudit candidate but requires further study.
+#line 361
+allow { domain  } crash_dump:process { siginh rlimitinh };
+#line 361
+
+#line 361
+# Make the transition occur by default.
+#line 361
+type_transition { domain  } crash_dump_exec:process crash_dump;
+#line 361
+;
+allow domain crash_dump:process sigchld;
+
+# Allow every process to check the heapprofd.enable properties to determine
+# whether to load the heap profiling library. This does not necessarily enable
+# heap profiling, as initialization will fail if it does not have the
+# necessary SELinux permissions.
+
+#line 368
+allow domain heapprofd_prop:file { getattr open read map };
+#line 368
+;
+
+# See private/crash_dump.te
+#line 385
+
+
+# Allow heap profiling by heapprofd.
+# Zygotes are excluded due to potential issues with holding open file
+# descriptors or other state across forks. Other exclusions conflict with
+# neverallows, and are not considered important to profile.
+
+#line 391
+  # Allow central daemon to send signal for client initialization.
+#line 391
+  allow heapprofd {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+}:process signal;
+#line 391
+  # Allow connecting to the daemon.
+#line 391
+  
+#line 391
+allow {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+} heapprofd_socket:sock_file write;
+#line 391
+allow {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+} heapprofd:unix_stream_socket connectto;
+#line 391
+
+#line 391
+  # Allow daemon to use the passed fds.
+#line 391
+  allow heapprofd {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+}:fd use;
+#line 391
+  # Allow to read and write to heapprofd shmem.
+#line 391
+  # The client needs to read the read and write pointers in order to write.
+#line 391
+  allow {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+} heapprofd_tmpfs:file { read write getattr map };
+#line 391
+  # Use shared memory received over the unix socket.
+#line 391
+  allow {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+} heapprofd:fd use;
+#line 391
+
+#line 391
+  # To read and write from the received file descriptors.
+#line 391
+  # /proc/[pid]/maps and /proc/[pid]/mem have the same SELinux label as the
+#line 391
+  # process they relate to.
+#line 391
+  # We need to write to /proc/$PID/page_idle to find idle allocations.
+#line 391
+  # The client only opens /proc/self/page_idle with RDWR, everything else
+#line 391
+  # with RDONLY.
+#line 391
+  # heapprofd cannot open /proc/$PID/mem itself, as it does not have
+#line 391
+  # sys_ptrace.
+#line 391
+  allow heapprofd {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+}:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 391
+  # Allow searching the /proc/[pid] directory for cmdline.
+#line 391
+  allow heapprofd {
+#line 391
+  {
+#line 391
+  domain
+#line 391
+  -apexd
+#line 391
+  -bpfloader
+#line 391
+  -crash_dump
+#line 391
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 391
+  -init
+#line 391
+  -kernel
+#line 391
+  -keystore
+#line 391
+  -llkd
+#line 391
+  -logd
+#line 391
+  -ueventd
+#line 391
+  -vendor_init
+#line 391
+  -vold
+#line 391
+}
+#line 391
+  -app_zygote
+#line 391
+  -hal_configstore_server
+#line 391
+  -logpersist
+#line 391
+  -recovery
+#line 391
+  -recovery_persist
+#line 391
+  -recovery_refresh
+#line 391
+  -webview_zygote
+#line 391
+  -zygote
+#line 391
+}:dir { open getattr read search ioctl lock watch watch_reads };
+#line 401
+
+
+# Allow profiling using perf_event_open by traced_perf.
+
+#line 404
+  # Allow directory & file read to traced_perf, as it stat(2)s /proc/[pid], and
+#line 404
+  # reads /proc/[pid]/cmdline.
+#line 404
+  allow traced_perf {
+#line 404
+  {
+#line 404
+  domain
+#line 404
+  -apexd
+#line 404
+  -bpfloader
+#line 404
+  -crash_dump
+#line 404
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 404
+  -init
+#line 404
+  -kernel
+#line 404
+  -keystore
+#line 404
+  -llkd
+#line 404
+  -logd
+#line 404
+  -ueventd
+#line 404
+  -vendor_init
+#line 404
+  -vold
+#line 404
+}
+#line 404
+  -app_zygote
+#line 404
+  -hal_configstore_server
+#line 404
+  -webview_zygote
+#line 404
+  -zygote
+#line 404
+}:file { getattr open read ioctl lock map watch watch_reads };
+#line 404
+  allow traced_perf {
+#line 404
+  {
+#line 404
+  domain
+#line 404
+  -apexd
+#line 404
+  -bpfloader
+#line 404
+  -crash_dump
+#line 404
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 404
+  -init
+#line 404
+  -kernel
+#line 404
+  -keystore
+#line 404
+  -llkd
+#line 404
+  -logd
+#line 404
+  -ueventd
+#line 404
+  -vendor_init
+#line 404
+  -vold
+#line 404
+}
+#line 404
+  -app_zygote
+#line 404
+  -hal_configstore_server
+#line 404
+  -webview_zygote
+#line 404
+  -zygote
+#line 404
+}:dir { open getattr read search ioctl lock watch watch_reads };
+#line 404
+
+#line 404
+  # Allow central daemon to send signal to request /proc/[pid]/maps and
+#line 404
+  # /proc/[pid]/mem fds from this process.
+#line 404
+  allow traced_perf {
+#line 404
+  {
+#line 404
+  domain
+#line 404
+  -apexd
+#line 404
+  -bpfloader
+#line 404
+  -crash_dump
+#line 404
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 404
+  -init
+#line 404
+  -kernel
+#line 404
+  -keystore
+#line 404
+  -llkd
+#line 404
+  -logd
+#line 404
+  -ueventd
+#line 404
+  -vendor_init
+#line 404
+  -vold
+#line 404
+}
+#line 404
+  -app_zygote
+#line 404
+  -hal_configstore_server
+#line 404
+  -webview_zygote
+#line 404
+  -zygote
+#line 404
+}:process signal;
+#line 404
+
+#line 404
+  # Allow connecting to the daemon.
+#line 404
+  
+#line 404
+allow {
+#line 404
+  {
+#line 404
+  domain
+#line 404
+  -apexd
+#line 404
+  -bpfloader
+#line 404
+  -crash_dump
+#line 404
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 404
+  -init
+#line 404
+  -kernel
+#line 404
+  -keystore
+#line 404
+  -llkd
+#line 404
+  -logd
+#line 404
+  -ueventd
+#line 404
+  -vendor_init
+#line 404
+  -vold
+#line 404
+}
+#line 404
+  -app_zygote
+#line 404
+  -hal_configstore_server
+#line 404
+  -webview_zygote
+#line 404
+  -zygote
+#line 404
+} traced_perf_socket:sock_file write;
+#line 404
+allow {
+#line 404
+  {
+#line 404
+  domain
+#line 404
+  -apexd
+#line 404
+  -bpfloader
+#line 404
+  -crash_dump
+#line 404
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 404
+  -init
+#line 404
+  -kernel
+#line 404
+  -keystore
+#line 404
+  -llkd
+#line 404
+  -logd
+#line 404
+  -ueventd
+#line 404
+  -vendor_init
+#line 404
+  -vold
+#line 404
+}
+#line 404
+  -app_zygote
+#line 404
+  -hal_configstore_server
+#line 404
+  -webview_zygote
+#line 404
+  -zygote
+#line 404
+} traced_perf:unix_stream_socket connectto;
+#line 404
+
+#line 404
+  # Allow daemon to use the passed fds.
+#line 404
+  allow traced_perf {
+#line 404
+  {
+#line 404
+  domain
+#line 404
+  -apexd
+#line 404
+  -bpfloader
+#line 404
+  -crash_dump
+#line 404
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+#line 404
+  -init
+#line 404
+  -kernel
+#line 404
+  -keystore
+#line 404
+  -llkd
+#line 404
+  -logd
+#line 404
+  -ueventd
+#line 404
+  -vendor_init
+#line 404
+  -vold
+#line 404
+}
+#line 404
+  -app_zygote
+#line 404
+  -hal_configstore_server
+#line 404
+  -webview_zygote
+#line 404
+  -zygote
+#line 404
+}:fd use;
+#line 410
+
+
+# Everyone can access the IncFS list of features.
+
+#line 413
+allow domain sysfs_fs_incfs_features:dir { open getattr read search ioctl lock watch watch_reads };
+#line 413
+allow domain sysfs_fs_incfs_features:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 413
+;
+
+# Everyone can access the fuse list of features.
+
+#line 416
+allow domain sysfs_fs_fuse_features:dir { open getattr read search ioctl lock watch watch_reads };
+#line 416
+allow domain sysfs_fs_fuse_features:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 416
+;
+
+# Path resolution access in cgroups.
+allow domain cgroup:dir search;
+allow { domain -appdomain -rs } cgroup:dir { open search write add_name remove_name lock };
+allow { domain -appdomain -rs } cgroup:file { open append write lock map };
+
+allow domain cgroup_v2:dir search;
+allow { domain -appdomain -rs } cgroup_v2:dir { open search write add_name remove_name lock };
+allow { domain -appdomain -rs } cgroup_v2:file { open append write lock map };
+
+allow domain cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain cgroup_rc_file:dir search;
+allow domain cgroup_rc_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain task_profiles_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain vendor_cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain vendor_task_profiles_file:file { getattr open read ioctl lock map watch watch_reads };
+allow domain libprocessgroup_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow domain libprocessgroup_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow all domains to read sys.use_memfd to determine
+# if memfd support can be used if device supports it
+
+#line 438
+allow domain use_memfd_prop:file { getattr open read map };
+#line 438
+;
+
+# Read access to sdkextensions props
+
+#line 441
+allow domain module_sdkextensions_prop:file { getattr open read map };
+#line 441
+
+
+# Read access to bq configuration values
+
+#line 444
+allow domain bq_config_prop:file { getattr open read map };
+#line 444
+;
+
+# Allow all domains to check whether MTE is set to permissive mode.
+
+#line 447
+allow domain permissive_mte_prop:file { getattr open read map };
+#line 447
+;
+
+# Allow ART to be configurable via device_config properties
+# (ART "runs" inside the app process), and MTE bootloader override to be
+# observed by everything
+
+#line 452
+allow domain device_config_memory_safety_native_boot_prop:file { getattr open read map };
+#line 452
+;
+
+#line 453
+allow domain device_config_memory_safety_native_prop:file { getattr open read map };
+#line 453
+;
+
+#line 454
+allow domain device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 454
+;
+
+#line 455
+allow domain device_config_runtime_native_prop:file { getattr open read map };
+#line 455
+;
+
+# For now, everyone can access core property files
+# Device specific properties are not granted by default
+
+#line 459
+    # DO NOT ADD ANY PROPERTIES HERE
+#line 459
+    
+#line 459
+allow domain core_property_type:file { getattr open read map };
+#line 459
+
+#line 459
+    
+#line 459
+allow domain exported3_system_prop:file { getattr open read map };
+#line 459
+
+#line 459
+    
+#line 459
+allow domain vendor_default_prop:file { getattr open read map };
+#line 459
+
+#line 464
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 465
+
+#line 465
+    # DO NOT ADD ANY PROPERTIES HERE
+#line 465
+    
+#line 465
+allow {coredomain appdomain shell} core_property_type:file { getattr open read map };
+#line 465
+
+#line 465
+    
+#line 465
+allow {coredomain appdomain shell} exported3_system_prop:file { getattr open read map };
+#line 465
+
+#line 465
+    
+#line 465
+allow {coredomain appdomain shell} exported_camera_prop:file { getattr open read map };
+#line 465
+
+#line 465
+    
+#line 465
+allow {coredomain shell} userspace_reboot_exported_prop:file { getattr open read map };
+#line 465
+
+#line 465
+    
+#line 465
+allow {coredomain shell} userspace_reboot_log_prop:file { getattr open read map };
+#line 465
+
+#line 465
+    
+#line 465
+allow {coredomain shell} userspace_reboot_test_prop:file { getattr open read map };
+#line 465
+
+#line 465
+    
+#line 465
+allow {domain -coredomain -appdomain} vendor_default_prop:file { getattr open read map };
+#line 465
+
+#line 465
+
+#line 465
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 474
+
+
+# Public readable properties
+
+#line 477
+allow domain aaudio_config_prop:file { getattr open read map };
+#line 477
+
+
+#line 478
+allow domain apexd_select_prop:file { getattr open read map };
+#line 478
+
+
+#line 479
+allow domain arm64_memtag_prop:file { getattr open read map };
+#line 479
+
+
+#line 480
+allow domain bluetooth_config_prop:file { getattr open read map };
+#line 480
+
+
+#line 481
+allow domain bootloader_prop:file { getattr open read map };
+#line 481
+
+
+#line 482
+allow domain build_odm_prop:file { getattr open read map };
+#line 482
+
+
+#line 483
+allow domain build_prop:file { getattr open read map };
+#line 483
+
+
+#line 484
+allow domain build_vendor_prop:file { getattr open read map };
+#line 484
+
+
+#line 485
+allow domain debug_prop:file { getattr open read map };
+#line 485
+
+
+#line 486
+allow domain exported_config_prop:file { getattr open read map };
+#line 486
+
+
+#line 487
+allow domain exported_default_prop:file { getattr open read map };
+#line 487
+
+
+#line 488
+allow domain exported_dumpstate_prop:file { getattr open read map };
+#line 488
+
+
+#line 489
+allow domain exported_secure_prop:file { getattr open read map };
+#line 489
+
+
+#line 490
+allow domain exported_system_prop:file { getattr open read map };
+#line 490
+
+
+#line 491
+allow domain fingerprint_prop:file { getattr open read map };
+#line 491
+
+
+#line 492
+allow domain framework_status_prop:file { getattr open read map };
+#line 492
+
+
+#line 493
+allow domain gwp_asan_prop:file { getattr open read map };
+#line 493
+
+
+#line 494
+allow domain hal_instrumentation_prop:file { getattr open read map };
+#line 494
+
+
+#line 495
+allow domain hw_timeout_multiplier_prop:file { getattr open read map };
+#line 495
+
+
+#line 496
+allow domain init_service_status_prop:file { getattr open read map };
+#line 496
+
+
+#line 497
+allow domain libc_debug_prop:file { getattr open read map };
+#line 497
+
+
+#line 498
+allow domain locale_prop:file { getattr open read map };
+#line 498
+
+
+#line 499
+allow domain logd_prop:file { getattr open read map };
+#line 499
+
+
+#line 500
+allow domain mediadrm_config_prop:file { getattr open read map };
+#line 500
+
+
+#line 501
+allow domain property_service_version_prop:file { getattr open read map };
+#line 501
+
+
+#line 502
+allow domain soc_prop:file { getattr open read map };
+#line 502
+
+
+#line 503
+allow domain socket_hook_prop:file { getattr open read map };
+#line 503
+
+
+#line 504
+allow domain surfaceflinger_prop:file { getattr open read map };
+#line 504
+
+
+#line 505
+allow domain telephony_status_prop:file { getattr open read map };
+#line 505
+
+
+#line 506
+allow domain timezone_prop:file { getattr open read map };
+#line 506
+
+
+#line 507
+allow {domain -untrusted_app_all -isolated_app_all -ephemeral_app -app_zygote } userdebug_or_eng_prop:file { getattr open read map };
+#line 507
+
+
+#line 508
+allow domain vendor_socket_hook_prop:file { getattr open read map };
+#line 508
+
+
+#line 509
+allow domain vndk_prop:file { getattr open read map };
+#line 509
+
+
+#line 510
+allow domain vold_status_prop:file { getattr open read map };
+#line 510
+
+
+#line 511
+allow domain vts_config_prop:file { getattr open read map };
+#line 511
+
+
+# Binder cache properties are world-readable
+
+#line 514
+allow domain binder_cache_bluetooth_server_prop:file { getattr open read map };
+#line 514
+
+
+#line 515
+allow domain binder_cache_system_server_prop:file { getattr open read map };
+#line 515
+
+
+#line 516
+allow domain binder_cache_telephony_server_prop:file { getattr open read map };
+#line 516
+
+
+# Binderfs logs contain sensitive information about other processes.
+neverallow {
+    domain
+    -init
+    -vendor_init
+    
+    
+} binderfs_logs_transactions:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Binderfs transaction history is less sensitive than transactions, but it
+# still contains global information about the system.
+neverallow { domain -dumpstate -init -vendor_init -system_server } binderfs_logs_transaction_history:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Needed for loading kernel modules.
+# TODO(384942085): Reduce the scope.
+allow domain kernel:key search;
+
+# Allow access to linkerconfig file
+allow domain linkerconfig_file:dir search;
+allow domain linkerconfig_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow all processes to check for the existence of the boringssl_self_test_marker files.
+allow domain boringssl_self_test_marker:dir search;
+
+# Allow all processes to read the file_logger property that liblog uses to check if file_logger
+# should be used.
+
+#line 544
+allow domain log_file_logger_prop:file { getattr open read map };
+#line 544
+
+
+# Allow all processes to connect to PRNG seeder daemon.
+
+#line 547
+allow domain prng_seeder_socket:sock_file write;
+#line 547
+allow domain prng_seeder:unix_stream_socket connectto;
+#line 547
+
+
+# Allow calls to system(3), popen(3), ...
+allow {
+  domain
+  # Except domains that explicitly neverallow it.
+  -kernel
+  -init
+  -vendor_init
+  -app_zygote
+  -webview_zygote
+  -system_server
+  -artd
+  -dexopt_chroot_setup
+  -audioserver
+  -cameraserver
+  -mediadrmserver
+  -mediaextractor
+  -mediametrics
+  -mediaserver
+  -mediatuner
+  -mediatranscoding
+  -ueventd
+  -hal_audio_server
+  -hal_camera_server
+  -hal_cas_server
+  -hal_codec2_server
+  -hal_configstore_server
+  -hal_drm_server
+  -hal_omx_server
+} {shell_exec toolbox_exec}:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow all processes to read aconfig flag storage files. The format is hidden behind
+# code-generated APIs, but since the libraries are executed in the context of the caller,
+# all processes need access to the underlying files.
+
+#line 582
+  
+#line 582
+allow domain aconfig_storage_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 582
+allow domain aconfig_storage_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 582
+;
+#line 584
+
+
+
+#line 586
+allow { coredomain appdomain } system_aconfig_storage_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 586
+allow { coredomain appdomain } system_aconfig_storage_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 586
+;
+
+# processes needs to access storage file stored at /metadata/aconfig/boot, require search
+# permission on /metadata dir
+allow domain metadata_file:dir search;
+
+# overlayfs performs all file operations as the mounter, being overlay_remounter.
+# It thus opens files as overlay_remounter, and then uses those files in the context of
+# the caller, which is anyone accessing a file on a overlaid read-only partition
+;
+
+###
+### neverallow rules
+###
+
+# All ioctls on file-like objects (except chr_file and blk_file) and
+# sockets must be restricted to an allowlist.
+neverallowxperm * *:{ dir { file lnk_file sock_file fifo_file } { socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } blk_file } ioctl { 0 };
+
+# b/68014825 and https://android-review.googlesource.com/516535
+# rfc6093 says that processes should not use the TCP urgent mechanism
+neverallowxperm domain domain:{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } ioctl { 0x00008905 };
+
+# TIOCSTI is only ever used for exploits. Block it.
+# b/33073072, b/7530569
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+neverallowxperm * devpts:chr_file ioctl 0x00005412;
+
+# Do not allow any domain other than init to create unlabeled files.
+neverallow { domain -init -recovery } unlabeled:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } create;
+
+# Limit device node creation to these allowed domains.
+neverallow {
+  domain
+  -kernel
+  -init
+  -ueventd
+  -vold
+} self:{ capability cap_userns } mknod;
+
+# No process can map low memory (< CONFIG_LSM_MMAP_MIN_ADDR).
+neverallow * self:memprotect mmap_zero;
+
+# No domain needs mac_override as it is unused by SELinux.
+neverallow * self:{ capability2 cap2_userns } mac_override;
+
+# Disallow attempts to set contexts not defined in current policy
+# This helps guarantee that unknown or dangerous contents will not ever
+# be set.
+neverallow * self:{ capability2 cap2_userns } mac_admin;
+
+# Once the policy has been loaded there shall be none to modify the policy.
+# It is sealed.
+neverallow * kernel:security load_policy;
+
+# Only init prior to switching context should be able to set enforcing mode.
+# init starts in kernel domain and switches to init domain via setcon in
+# the init.rc, so the setenforce occurs while still in kernel. After
+# switching domains, there is never any need to setenforce again by init.
+neverallow * kernel:security setenforce;
+neverallow { domain -kernel } kernel:security setcheckreqprot;
+
+# No booleans in AOSP policy, so no need to ever set them.
+neverallow * kernel:security setbool;
+
+# Adjusting the AVC cache threshold.
+# Not presently allowed to anything in policy, but possibly something
+# that could be set from init.rc.
+neverallow { domain -init } kernel:security setsecparam;
+
+# Only the kernel hwrng thread should be able to read from the HW RNG.
+neverallow {
+  domain
+  -prng_seeder # PRNG seeder daemon periodically reseeds itself from HW RNG
+  -shell # For CTS, restricted to just getattr in shell.te
+  -ueventd # To create the /dev/hw_random file
+} hw_random_device:chr_file *;
+# b/78174219 b/64114943
+neverallow {
+  domain
+  -shell # stat of /dev, getattr only
+  -ueventd
+} keychord_device:chr_file *;
+
+# Ensure that all entrypoint executables are in exec_type or postinstall_file.
+neverallow * { file_type -exec_type -postinstall_file }:file entrypoint;
+
+# The dynamic linker always calls access(2) on the path. Don't generate SElinux
+# denials since the linker does not actually access the path in case the path
+# does not exist or isn't accessible for the process.
+dontaudit domain postinstall_mnt_dir:dir audit_access;
+
+#Ensure that nothing in userspace can access /dev/port
+neverallow {
+  domain
+  -shell # Shell user should not have any abilities outside of getattr
+  -ueventd
+} port_device:chr_file *;
+neverallow * port_device:chr_file ~{ create relabelto unlink setattr getattr };
+# Only init should be able to configure kernel usermodehelpers or
+# security-sensitive proc settings.
+neverallow { domain -init } usermodehelper:file { append write };
+neverallow { domain -init -ueventd } sysfs_usermodehelper:file { append write };
+neverallow { domain -init -vendor_init } proc_security:file { append open read write };
+
+# Init can't do anything with binder calls. If this neverallow rule is being
+# triggered, it's probably due to a service with no SELinux domain.
+neverallow * init:binder *;
+neverallow * vendor_init:binder *;
+
+# Binderfs logs contain sensitive information about other processes.
+neverallow { domain -dumpstate -init -vendor_init  } { binderfs_logs binderfs_logs_proc }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow { domain -dumpstate -init -vendor_init -system_server } binderfs_logs_stats:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Don't allow raw read/write/open access to block_device
+# Rather force a relabel to a more specific type
+neverallow { domain -kernel -init -recovery } block_device:blk_file { open read write };
+
+# Do not allow renaming of block files or character files
+# Ability to do so can lead to possible use in an exploit chain
+# e.g. https://googleprojectzero.blogspot.com/2016/12/chrome-os-exploit-one-byte-overflow-and.html
+neverallow { domain  } *:{ blk_file chr_file } rename;
+
+# Don't allow raw read/write/open access to generic devices.
+# Rather force a relabel to a more specific type.
+neverallow domain device:chr_file { open read write };
+
+# Files from cache should never be executed
+neverallow domain { cache_file cache_backup_file cache_private_backup_file cache_recovery_file }:file execute;
+
+# The test files and executables MUST not be accessible to any domain
+neverallow { domain  } nativetest_data_file:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } { append create link unlink relabelfrom rename setattr write };
+neverallow domain nativetest_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain  } nativetest_data_file:file { execute execute_no_trans };
+
+neverallow { domain -shell -init -adbd } shell_test_data_file:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } { append create link unlink relabelfrom rename setattr write };
+neverallow { domain -shell -init -adbd } shell_test_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain -shell -init -adbd -heapprofd -crash_dump } shell_test_data_file:file *;
+neverallow heapprofd shell_test_data_file:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+neverallow { domain -shell -init -adbd } shell_test_data_file:sock_file *;
+
+# Only the init property service should write to /data/property and /dev/__properties__
+neverallow { domain -init } property_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow { domain -init } property_data_file:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+neverallow { domain -init } property_type:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+neverallow { domain -init } properties_device:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+neverallow { domain -init } properties_serial:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+
+# Nobody should be doing writes to /system & /vendor
+# These partitions are intended to be read-only and must never be
+# modified. Doing so would violate important Android security guarantees
+# and invalidate dm-verity signatures.
+neverallow {
+    domain
+    
+    
+    
+    
+} {
+    system_file_type
+    vendor_file_type
+    exec_type
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create write setattr relabelfrom append unlink link rename };
+
+neverallow { domain -kernel   } { system_file_type vendor_file_type exec_type }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } relabelto;
+
+# Don't allow mounting on top of /system files or directories
+neverallow {
+  domain
+  
+} exec_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } mounton;
+
+# Nothing should be writing to files in the rootfs.
+neverallow * rootfs:file { create write setattr relabelto append unlink link rename };
+
+# Restrict context mounts to specific types marked with
+# the contextmount_type attribute.
+neverallow * {fs_type -contextmount_type}:filesystem relabelto;
+
+# Ensure that context mount types are not writable, to ensure that
+# the write to /system restriction above is not bypassed via context=
+# mount to another type.
+neverallow { domain  } contextmount_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } }
+    { create setattr relabelfrom relabelto append link rename };
+neverallow { domain   } contextmount_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { write unlink };
+
+# Do not allow service_manager add for default service labels.
+# Instead domains should use a more specific type such as
+# system_app_service rather than the generic type.
+# New service_types are defined in {,hw,vnd}service.te and new mappings
+# from service name to service_type are defined in {,hw,vnd}service_contexts.
+neverallow * default_android_service:service_manager *;
+neverallow * default_android_vndservice:service_manager *;
+neverallow * default_android_hwservice:hwservice_manager *;
+
+# Looking up the base class/interface of all HwBinder services is a bad idea.
+# hwservicemanager currently offer such lookups only to make it so that security
+# decisions are expressed in SELinux policy. However, it's unclear whether this
+# lookup has security implications. If it doesn't, hwservicemanager should be
+# modified to not offer this lookup.
+# This rule can be removed if hwservicemanager is modified to not permit these
+# lookups.
+neverallow * hidl_base_hwservice:hwservice_manager find;
+
+# Require that domains explicitly label unknown properties, and do not allow
+# anyone but init to modify unknown properties.
+neverallow { domain -init -vendor_init } mmc_prop:property_service set;
+neverallow { domain -init -vendor_init } vndk_prop:property_service set;
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 795
+
+#line 795
+    neverallow { domain -init } mmc_prop:property_service set;
+#line 795
+    neverallow { domain -init -vendor_init } exported_default_prop:property_service set;
+#line 795
+    neverallow { domain -init } exported_secure_prop:property_service set;
+#line 795
+    neverallow { domain -init -vendor_init } vendor_default_prop:property_service set;
+#line 795
+    neverallow { domain -init -vendor_init } storage_config_prop:property_service set;
+#line 795
+    neverallow { domain -init -vendor_init } hw_timeout_multiplier_prop:property_service set;
+#line 795
+
+#line 795
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 802
+
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 804
+
+#line 804
+    neverallow { domain -init -system_server -vendor_init } exported_pm_prop:property_service set;
+#line 804
+    neverallow { domain -coredomain -vendor_init } exported_pm_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 804
+
+#line 804
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 807
+
+
+# New "pm.dexopt." sysprops should be explicitly listed as exported_pm_prop.
+neverallow { domain -init -dumpstate -vendor_init } future_pm_prop:property_service set;
+neverallow { domain -init -dumpstate -vendor_init } future_pm_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# ART may introduce new sysprops. SELinux denials due to reading new sysprops on
+# old platforms shouldn't be regarded as a problem.
+dontaudit domain future_pm_prop:file read;
+
+neverallow { domain -init } aac_drc_prop:property_service set;
+neverallow { domain -init } build_prop:property_service set;
+neverallow { domain -init } userdebug_or_eng_prop:property_service set;
+
+# Do not allow reading device's serial number from system properties except form
+# a few allowed domains.
+neverallow {
+  domain
+  -adbd
+  -adbd_tradeinmode
+  -dumpstate
+  -fastbootd
+  -hal_camera_server
+  -hal_cas_server
+  -hal_drm_server
+  -hal_keymint_server
+  
+  -init
+  -mediadrmserver
+  -mediaserver
+  -recovery
+  -shell
+  -system_server
+  -vendor_init
+} serialno_prop:file { getattr open read ioctl lock map watch watch_reads };
+
+neverallow {
+  domain
+  -init
+  -recovery
+  -system_server
+  -ueventd # Further restricted in ueventd.te
+} frp_block_device:blk_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# The metadata block device is set aside for device encryption and
+# verified boot metadata. It may be reset at will and should not
+# be used by other domains.
+neverallow {
+  domain
+  -init
+  -recovery
+  -vold
+  -e2fs
+  -fsck
+  -fastbootd
+  -hal_fastboot_server
+} metadata_block_device:blk_file { append link rename write open read ioctl lock };
+
+# No domain other than recovery, update_engine and fastbootd can write to system partition(s).
+neverallow {
+  domain
+  -fastbootd
+  
+  
+  -recovery
+  
+  -update_engine
+} system_block_device:blk_file { write append };
+
+# Only (hw|vnd|)servicemanager should be able to register with binder as the context manager
+neverallow { domain -servicemanager -hwservicemanager -vndservicemanager } *:binder set_context_mgr;
+# The service managers are only allowed to access their own device node
+neverallow servicemanager hwbinder_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow servicemanager vndbinder_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow hwservicemanager binder_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow hwservicemanager vndbinder_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow vndservicemanager binder_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow vndservicemanager hwbinder_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 886
+
+#line 886
+  # Vendor apps are permited to use only stable public services. If they were to use arbitrary
+#line 886
+  # services which can change any time framework/core is updated, breakage is likely.
+#line 886
+  #
+#line 886
+  # Note, this same logic applies to untrusted apps, but neverallows for these are separate.
+#line 886
+  neverallow {
+#line 886
+    appdomain
+#line 886
+    -coredomain
+#line 886
+  } {
+#line 886
+    service_manager_type
+#line 886
+
+#line 886
+    -app_api_service
+#line 886
+    -ephemeral_app_api_service
+#line 886
+
+#line 886
+    -hal_service_type # see app_neverallows.te
+#line 886
+
+#line 886
+    -apc_service
+#line 886
+    -audioserver_service # TODO(b/36783122) remove exemptions below once app_api_service is fixed
+#line 886
+    -cameraserver_service
+#line 886
+    -drmserver_service
+#line 886
+    -credstore_service
+#line 886
+    -keystore_maintenance_service
+#line 886
+    -keystore_service
+#line 886
+    -legacykeystore_service
+#line 886
+    -mediadrmserver_service
+#line 886
+    -mediaextractor_service
+#line 886
+    -mediametrics_service
+#line 886
+    -mediaserver_service
+#line 886
+    -nfc_service
+#line 886
+    -radio_service
+#line 886
+    -virtual_touchpad_service
+#line 886
+    -vr_manager_service
+#line 886
+    
+#line 886
+  }:service_manager find;
+#line 886
+
+#line 886
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 920
+
+
+# On full TREBLE devices, only vendor components, shell, and su can use VendorBinder.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 923
+
+#line 923
+  neverallow {
+#line 923
+    coredomain
+#line 923
+    -shell
+#line 923
+    
+#line 923
+    -ueventd # uevent is granted create for this device, but we still neverallow I/O below
+#line 923
+  } vndbinder_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 923
+
+#line 923
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 930
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 931
+
+#line 931
+  neverallow ueventd vndbinder_device:chr_file { read write append ioctl };
+#line 931
+
+#line 931
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 933
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 934
+
+#line 934
+  neverallow {
+#line 934
+    coredomain
+#line 934
+    -shell
+#line 934
+    
+#line 934
+  } vndservice_manager_type:service_manager *;
+#line 934
+
+#line 934
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 940
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 941
+
+#line 941
+  neverallow {
+#line 941
+    coredomain
+#line 941
+    -shell
+#line 941
+    
+#line 941
+  } vndservicemanager:binder *;
+#line 941
+
+#line 941
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 947
+
+
+# On full TREBLE devices, socket communications between core components and vendor components are
+# not permitted.
+  # Most general rules first, more specific rules below.
+
+  # Core domains are not permitted to initiate communications to vendor domain sockets.
+  # We are not restricting the use of already established sockets because it is fine for a process
+  # to obtain an already established socket via some public/official/stable API and then exchange
+  # data with its peer over that socket. The wire format in this scenario is dicatated by the API
+  # and thus does not break the core-vendor separation.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 958
+
+#line 958
+  
+#line 958
+  neverallow {
+#line 958
+    coredomain
+#line 958
+    -init
+#line 958
+    -adbd
+#line 958
+  } {
+#line 958
+    domain
+#line 958
+    -coredomain
+#line 958
+    -socket_between_core_and_vendor_violators
+#line 958
+  }:{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } { connect sendto };
+#line 958
+  neverallow {
+#line 958
+    coredomain
+#line 958
+    -init
+#line 958
+    -adbd
+#line 958
+  } {
+#line 958
+    domain
+#line 958
+    -coredomain
+#line 958
+    -socket_between_core_and_vendor_violators
+#line 958
+  }:unix_stream_socket connectto;
+#line 958
+;
+#line 958
+
+#line 958
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 968
+
+
+  # Vendor domains are not permitted to initiate create/open sockets owned by core domains
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 971
+
+#line 971
+  neverallow {
+#line 971
+    domain
+#line 971
+    -coredomain
+#line 971
+    -appdomain # appdomain restrictions below
+#line 971
+    -data_between_core_and_vendor_violators # b/70393317
+#line 971
+    -socket_between_core_and_vendor_violators
+#line 971
+    -vendor_init
+#line 971
+  } {
+#line 971
+    coredomain_socket
+#line 971
+    core_data_file_type
+#line 971
+    unlabeled # used only by core domains
+#line 971
+  }:sock_file ~{ append getattr ioctl read write };
+#line 971
+
+#line 971
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 984
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 985
+
+#line 985
+  neverallow {
+#line 985
+    appdomain
+#line 985
+    -coredomain
+#line 985
+  } {
+#line 985
+    coredomain_socket
+#line 985
+    unlabeled # used only by core domains
+#line 985
+    core_data_file_type
+#line 985
+    -app_data_file
+#line 985
+    -privapp_data_file
+#line 985
+    -pdx_endpoint_socket_type # used by VR layer
+#line 985
+    -pdx_channel_socket_type # used by VR layer
+#line 985
+  }:sock_file ~{ append getattr ioctl read write };
+#line 985
+
+#line 985
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 998
+
+
+  # Core domains are not permitted to create/open sockets owned by vendor domains
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1001
+
+#line 1001
+  neverallow {
+#line 1001
+    coredomain
+#line 1001
+    -init
+#line 1001
+    -ueventd
+#line 1001
+    -socket_between_core_and_vendor_violators
+#line 1001
+  } {
+#line 1001
+    file_type
+#line 1001
+    dev_type
+#line 1001
+    -coredomain_socket
+#line 1001
+    -core_data_file_type
+#line 1001
+    -app_data_file_type
+#line 1001
+    -unlabeled
+#line 1001
+  }:sock_file ~{ append getattr ioctl read write };
+#line 1001
+
+#line 1001
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1015
+
+
+# On TREBLE devices, vendor and system components are only allowed to share
+# files by passing open FDs over hwbinder. Ban all directory access and all file
+# accesses other than what can be applied to an open FD such as
+# ioctl/stat/read/write/append. This is enforced by segregating /data.
+# Vendor domains may directly access file in /data/vendor by path, but may only
+# access files outside of /data/vendor via an open FD passed over hwbinder.
+# Likewise, core domains may only directly access files outside /data/vendor by
+# path and files in /data/vendor by open FD.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1025
+
+#line 1025
+  # only coredomains may only access core_data_file_type, particularly not
+#line 1025
+  # /data/vendor
+#line 1025
+  neverallow {
+#line 1025
+    coredomain
+#line 1025
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+#line 1025
+    -data_between_core_and_vendor_violators
+#line 1025
+    -init
+#line 1025
+    -vold_prepare_subdirs
+#line 1025
+  } {
+#line 1025
+    data_file_type
+#line 1025
+    -core_data_file_type
+#line 1025
+    -app_data_file_type
+#line 1025
+  }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ append getattr ioctl read write map };
+#line 1025
+
+#line 1025
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1039
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1040
+
+#line 1040
+  neverallow {
+#line 1040
+    coredomain
+#line 1040
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+#line 1040
+    -data_between_core_and_vendor_violators
+#line 1040
+    -init
+#line 1040
+    -vold_prepare_subdirs
+#line 1040
+    } {
+#line 1040
+      data_file_type
+#line 1040
+      -core_data_file_type
+#line 1040
+      -app_data_file_type
+#line 1040
+      # TODO(b/72998741) Remove exemption. Further restricted in a subsequent
+#line 1040
+      # neverallow. Currently only getattr and search are allowed.
+#line 1040
+      -vendor_data_file
+#line 1040
+    }:dir *;
+#line 1040
+
+#line 1040
+
+#line 1040
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1056
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1057
+
+#line 1057
+  # vendor domains may only access files in /data/vendor, never core_data_file_types
+#line 1057
+  neverallow {
+#line 1057
+    domain
+#line 1057
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+#line 1057
+    -coredomain
+#line 1057
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+#line 1057
+    -vendor_init
+#line 1057
+  } {
+#line 1057
+    core_data_file_type
+#line 1057
+    
+#line 1057
+  }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ append getattr ioctl read write map };
+#line 1057
+  neverallow {
+#line 1057
+    vendor_init
+#line 1057
+    -data_between_core_and_vendor_violators
+#line 1057
+  } {
+#line 1057
+    core_data_file_type
+#line 1057
+    -unencrypted_data_file
+#line 1057
+    
+#line 1057
+  }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ append getattr ioctl read write map };
+#line 1057
+  # vendor init needs to be able to read unencrypted_data_file to create directories with FBE.
+#line 1057
+  # The vendor init binary lives on the system partition so there is not a concern with stability.
+#line 1057
+  neverallow vendor_init unencrypted_data_file:file ~{ getattr open read ioctl lock map watch watch_reads };
+#line 1057
+
+#line 1057
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1080
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1081
+
+#line 1081
+  # vendor domains may only access dirs in /data/vendor, never core_data_file_types
+#line 1081
+  neverallow {
+#line 1081
+    domain
+#line 1081
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+#line 1081
+    -coredomain
+#line 1081
+    -data_between_core_and_vendor_violators
+#line 1081
+    -vendor_init
+#line 1081
+  } {
+#line 1081
+    core_data_file_type
+#line 1081
+    -system_data_file # default label for files on /data. Covered below...
+#line 1081
+    -system_data_root_file
+#line 1081
+    -vendor_userdir_file
+#line 1081
+    -vendor_data_file
+#line 1081
+    
+#line 1081
+  }:dir *;
+#line 1081
+  neverallow {
+#line 1081
+    vendor_init
+#line 1081
+    -data_between_core_and_vendor_violators
+#line 1081
+  } {
+#line 1081
+    core_data_file_type
+#line 1081
+    -unencrypted_data_file
+#line 1081
+    -system_data_file
+#line 1081
+    -system_data_root_file
+#line 1081
+    -vendor_userdir_file
+#line 1081
+    -vendor_data_file
+#line 1081
+    
+#line 1081
+  }:dir *;
+#line 1081
+  # vendor init needs to be able to read unencrypted_data_file to create directories with FBE.
+#line 1081
+  # The vendor init binary lives on the system partition so there is not a concern with stability.
+#line 1081
+  neverallow vendor_init unencrypted_data_file:dir ~search;
+#line 1081
+
+#line 1081
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1112
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1113
+
+#line 1113
+  # vendor domains may only access dirs in /data/vendor, never core_data_file_types
+#line 1113
+  neverallow {
+#line 1113
+    domain
+#line 1113
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+#line 1113
+    -coredomain
+#line 1113
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+#line 1113
+    } {
+#line 1113
+      system_data_file # default label for files on /data. Covered below
+#line 1113
+    }:dir ~{ getattr search };
+#line 1113
+
+#line 1113
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1123
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1125
+
+#line 1125
+  #  coredomains may not access dirs in /data/vendor.
+#line 1125
+  neverallow {
+#line 1125
+    coredomain
+#line 1125
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+#line 1125
+    -init
+#line 1125
+    -vold # vold creates per-user storage for both system and vendor
+#line 1125
+    -vold_prepare_subdirs
+#line 1125
+    } {
+#line 1125
+      vendor_data_file # default label for files on /data. Covered below
+#line 1125
+    }:dir ~{ getattr search };
+#line 1125
+
+#line 1125
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1136
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1138
+
+#line 1138
+  #  coredomains may not access dirs in /data/vendor.
+#line 1138
+  neverallow {
+#line 1138
+    coredomain
+#line 1138
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+#line 1138
+    -init
+#line 1138
+    } {
+#line 1138
+      vendor_data_file # default label for files on /data/vendor{,_ce,_de}.
+#line 1138
+    }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ append getattr ioctl read write map };
+#line 1138
+
+#line 1138
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1147
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1149
+
+#line 1149
+    # Non-vendor domains are not allowed to file execute shell
+#line 1149
+    # from vendor
+#line 1149
+    neverallow {
+#line 1149
+        coredomain
+#line 1149
+        -init
+#line 1149
+        -shell
+#line 1149
+        -ueventd
+#line 1149
+        
+#line 1149
+    } vendor_shell_exec:file { execute execute_no_trans };
+#line 1149
+
+#line 1149
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1159
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1161
+
+#line 1161
+    # Do not allow vendor components to execute files from system
+#line 1161
+    # except for the ones allowed here.
+#line 1161
+    neverallow {
+#line 1161
+        domain
+#line 1161
+        -coredomain
+#line 1161
+        -appdomain
+#line 1161
+        -vendor_executes_system_violators
+#line 1161
+        -vendor_init
+#line 1161
+    } {
+#line 1161
+        system_file_type
+#line 1161
+        -system_lib_file
+#line 1161
+        -system_bootstrap_lib_file
+#line 1161
+        -system_linker_exec
+#line 1161
+        -crash_dump_exec
+#line 1161
+        -netutils_wrapper_exec
+#line 1161
+        
+#line 1161
+        # Vendor components still can invoke shell commands via /system/bin/sh
+#line 1161
+        -shell_exec
+#line 1161
+        -toolbox_exec
+#line 1161
+        -virtualizationmanager_exec
+#line 1161
+        -early_virtmgr_exec
+#line 1161
+    }:file { entrypoint execute execute_no_trans };
+#line 1161
+
+#line 1161
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1184
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1186
+
+#line 1186
+    # Do not allow coredomain to access entrypoint for files other
+#line 1186
+    # than system_file_type and postinstall_file
+#line 1186
+    neverallow coredomain {
+#line 1186
+        file_type
+#line 1186
+        -system_file_type
+#line 1186
+        -postinstall_file
+#line 1186
+    }:file entrypoint;
+#line 1186
+    # Do not allow domains other than coredomain to access entrypoint
+#line 1186
+    # for anything but vendor_file_type and init_exec for vendor_init.
+#line 1186
+    neverallow { domain -coredomain } {
+#line 1186
+        file_type
+#line 1186
+        -vendor_file_type
+#line 1186
+        -init_exec
+#line 1186
+    }:file entrypoint;
+#line 1186
+
+#line 1186
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1201
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1203
+
+#line 1203
+    # Do not allow system components to execute files from vendor
+#line 1203
+    # except for the ones allowed here.
+#line 1203
+    neverallow {
+#line 1203
+      coredomain
+#line 1203
+      -init
+#line 1203
+      -shell
+#line 1203
+      -system_executes_vendor_violators
+#line 1203
+      -ueventd
+#line 1203
+      
+#line 1203
+    } {
+#line 1203
+      vendor_file_type
+#line 1203
+      -same_process_hal_file
+#line 1203
+      -vndk_sp_file
+#line 1203
+      -vendor_app_file
+#line 1203
+      -vendor_public_framework_file
+#line 1203
+      -vendor_public_lib_file
+#line 1203
+    }:file execute;
+#line 1203
+
+#line 1203
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1221
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1223
+
+#line 1223
+    neverallow {
+#line 1223
+      coredomain
+#line 1223
+      -shell
+#line 1223
+      -system_executes_vendor_violators
+#line 1223
+      
+#line 1223
+    } {
+#line 1223
+      vendor_file_type
+#line 1223
+      -same_process_hal_file
+#line 1223
+    }:file execute_no_trans;
+#line 1223
+
+#line 1223
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1233
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1235
+
+#line 1235
+  # Do not allow vendor components access to /system files except for the
+#line 1235
+  # ones allowed here.
+#line 1235
+  neverallow {
+#line 1235
+    domain
+#line 1235
+    -appdomain
+#line 1235
+    -coredomain
+#line 1235
+    -vendor_executes_system_violators
+#line 1235
+    # vendor_init needs access to init_exec for domain transition. vendor_init
+#line 1235
+    # neverallows are covered in public/vendor_init.te
+#line 1235
+    -vendor_init
+#line 1235
+  } {
+#line 1235
+    system_file_type
+#line 1235
+    -cgroup_desc_file
+#line 1235
+    -crash_dump_exec
+#line 1235
+    -file_contexts_file
+#line 1235
+    -netutils_wrapper_exec
+#line 1235
+    -property_contexts_file
+#line 1235
+    -system_event_log_tags_file
+#line 1235
+    -system_group_file
+#line 1235
+    -system_lib_file
+#line 1235
+    -system_bootstrap_lib_file
+#line 1235
+    
+#line 1235
+    -system_linker_exec
+#line 1235
+    -system_linker_config_file
+#line 1235
+    -system_passwd_file
+#line 1235
+    -system_seccomp_policy_file
+#line 1235
+    -system_security_cacerts_file
+#line 1235
+    -system_zoneinfo_file
+#line 1235
+    -task_profiles_file
+#line 1235
+    
+#line 1235
+    # Vendor components still can invoke shell commands via /system/bin/sh
+#line 1235
+    -shell_exec
+#line 1235
+    -toolbox_exec
+#line 1235
+    -virtualizationmanager_exec
+#line 1235
+    -early_virtmgr_exec
+#line 1235
+  }:file *;
+#line 1235
+
+#line 1235
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1272
+
+
+# Only system_server should be able to send commands via the zygote socket
+neverallow { domain -zygote -system_server } zygote:unix_stream_socket connectto;
+neverallow { domain -system_server } zygote_socket:sock_file write;
+
+neverallow { domain -system_server -webview_zygote -app_zygote } webview_zygote:unix_stream_socket connectto;
+neverallow { domain -system_server } webview_zygote:sock_file write;
+neverallow { domain -system_server } app_zygote:sock_file write;
+
+neverallow domain tombstoned_crash_socket:unix_stream_socket connectto;
+
+# Never allow anyone except dumpstate, incidentd, or the system server to connect or write to
+# the tombstoned intercept socket.
+neverallow { domain -dumpstate -incidentd -system_server } tombstoned_intercept_socket:sock_file write;
+neverallow { domain -dumpstate -incidentd -system_server } tombstoned_intercept_socket:unix_stream_socket connectto;
+
+# Never allow anyone but system_server to read heapdumps in /data/system/heapdump.
+neverallow { domain -init -system_server } heapdump_data_file:file read;
+
+# Android does not support System V IPCs.
+#
+# The reason for this is due to the fact that, by design, they lead to global
+# kernel resource leakage.
+#
+# For example, there is no way to automatically release a SysV semaphore
+# allocated in the kernel when:
+#
+# - a buggy or malicious process exits
+# - a non-buggy and non-malicious process crashes or is explicitly killed.
+#
+# Killing processes automatically to make room for new ones is an
+# important part of Android's application lifecycle implementation. This means
+# that, even assuming only non-buggy and non-malicious code, it is very likely
+# that over time, the kernel global tables used to implement SysV IPCs will fill
+# up.
+neverallow * *:{ shm sem msg msgq } *;
+
+# Do not mount on top of symlinks, fifos, or sockets.
+# Feature parity with Chromium LSM.
+neverallow {
+  domain
+  
+} { file_type fs_type dev_type }:{ lnk_file fifo_file sock_file } mounton;
+
+# Nobody should be able to execute su on user builds.
+# On userdebug/eng builds, only dumpstate, shell, and
+# su itself execute su.
+neverallow { domain  } su_exec:file { execute execute_no_trans };
+
+# Do not allow the introduction of new execmod rules. Text relocations
+# and modification of executable pages are unsafe.
+# The only exceptions are for NDK text relocations associated with
+# https://code.google.com/p/android/issues/detail?id=23203
+# which, long term, need to go away.
+neverallow {
+  domain
+  
+} {
+  file_type
+  -apk_data_file
+  -app_data_file
+  -asec_public_file
+}:file execmod;
+
+# Do not allow making the stack or heap executable.
+# We would also like to minimize execmem but it seems to be
+# required by some device-specific service domains.
+neverallow * self:process { execstack execheap };
+
+# Do not allow the introduction of new execmod rules. Text relocations
+# and modification of executable pages are unsafe.
+neverallow {
+  domain
+  -untrusted_app_25
+  -untrusted_app_27
+  
+} file_type:file execmod;
+
+# Ensure that all types assigned to processes are included
+# in the domain attribute, so that all allow and neverallow rules
+# written on domain are applied to all processes.
+# This is achieved by ensuring that it is impossible to transition
+# from a domain to a non-domain type and vice versa.
+# TODO - rework this: neverallow domain ~domain:process { transition dyntransition };
+neverallow ~domain domain:process { transition dyntransition };
+
+#
+# Only system_app and system_server should be creating or writing
+# their files. The proper way to share files is to setup
+# type transitions to a more specific type or assigning a type
+# to its parent directory via a file_contexts entry.
+# Example type transition:
+#  mydomain.te:file_type_auto_trans(mydomain, system_data_file, new_file_type)
+#
+neverallow {
+  domain
+  -system_server
+  -system_app
+  -init
+  -toolbox # TODO(b/141108496) We want to remove toolbox
+  -installd # for relabelfrom and unlink, check for this in explicit neverallow
+  -vold_prepare_subdirs # For unlink
+  
+} system_data_file:file { append create link unlink relabelfrom rename setattr write };
+# do not grant anything greater than r_file_perms and relabelfrom unlink
+# to installd
+neverallow installd system_data_file:file ~{ { getattr open read ioctl lock map watch watch_reads } relabelfrom unlink };
+
+#
+# Only these domains should transition to shell domain. This domain is
+# permissible for the "shell user". If you need a process to exec a shell
+# script with differing privilege, define a domain and set up a transition.
+#
+neverallow {
+  domain
+  -adbd
+  -init
+  -runas
+  -zygote
+} shell:process { transition dyntransition };
+
+# Only domains spawned from zygote, runas and simpleperf_app_runner may have
+# the appdomain attribute.
+#
+# simpleperf is excluded as a domain transitioned to when running an app-scoped
+# profiling session.
+#
+# tradeinmode is excluded; it is only run when adbd is in trade-in mode,
+# transitioned from the limited adbd_tradeinmode context. It is a wrapper
+# around "am" to avoid exposing the shell context when adbd is in trade-in
+# mode.
+neverallow { domain -simpleperf_app_runner -runas -app_zygote -webview_zygote -zygote } {
+  appdomain -shell -simpleperf  -tradeinmode
+}:process { transition dyntransition };
+
+# Minimize read access to shell- or app-writable symlinks.
+# This is to prevent malicious symlink attacks.
+neverallow {
+  domain
+  -appdomain
+  -artd
+  -installd
+} { app_data_file privapp_data_file }:lnk_file read;
+
+neverallow {
+  domain
+  -shell
+  
+  -installd
+} shell_data_file:lnk_file read;
+
+# servicemanager and vndservicemanager are the only processes which handle the
+# service_manager list request
+neverallow * ~{
+    servicemanager
+    vndservicemanager
+    }:service_manager list;
+
+# hwservicemanager is the only process which handles hw list requests
+neverallow * ~{
+    hwservicemanager
+    }:hwservice_manager list;
+
+# only service_manager_types can be added to service_manager
+# TODO - rework this: neverallow * ~service_manager_type:service_manager { add find };
+
+# Prevent assigning non property types to properties
+# TODO - rework this: neverallow * ~property_type:property_service set;
+
+# Domain types should never be assigned to any files other
+# than the /proc/pid files associated with a process. The
+# executable file used to enter a domain should be labeled
+# with its own _exec type, not with the domain type.
+# Conventionally, this looks something like:
+# $ cat mydaemon.te
+# type mydaemon, domain;
+# type mydaemon_exec, exec_type, file_type;
+# init_daemon_domain(mydaemon)
+# $ grep mydaemon file_contexts
+# /system/bin/mydaemon -- u:object_r:mydaemon_exec:s0
+neverallow * domain:file { execute execute_no_trans entrypoint };
+
+# Do not allow access to the generic debugfs label. This is too broad.
+# Instead, if access to part of debugfs is desired, it should have a
+# more specific label.
+# TODO: fix dumpstate
+neverallow { domain -init -vendor_init -dumpstate } debugfs:{ file lnk_file } { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Do not allow executable files in debugfs.
+neverallow domain debugfs_type:file { execute execute_no_trans };
+
+# Don't allow access to the FUSE control filesystem, except to vold and init's
+neverallow { domain -vold -init -vendor_init } fusectlfs:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Profiles contain untrusted data and profman parses that. We should only run
+# it from installd and artd forked processes.
+neverallow {
+  domain
+  -installd
+  -profman
+  -artd
+  
+} profman_exec:file { execute execute_no_trans };
+
+# Enforce restrictions on kernel module origin.
+# Do not allow kernel module loading except from system,
+# vendor, boot, and system_dlkm partitions.
+# TODO(b/218951883): Remove usage of system and rootfs as origin
+neverallow * ~{ system_file_type vendor_file_type rootfs system_dlkm_file_type }:system module_load;
+
+# Only allow filesystem caps to be set at build time. Runtime changes
+# to filesystem capabilities are not permitted.
+neverallow * self:{ capability cap_userns } setfcap;
+
+# Enforce AT_SECURE for executing crash_dump.
+neverallow domain crash_dump:process noatsecure;
+
+# Do not permit non-core domains to register HwBinder services which are
+# guaranteed to be provided by core domains only.
+neverallow ~coredomain coredomain_hwservice:hwservice_manager add;
+
+# Do not permit the registeration of HwBinder services which are guaranteed to
+# be passthrough only (i.e., run in the process of their clients instead of a
+# separate server process).
+neverallow * same_process_hwservice:hwservice_manager add;
+
+# If an already existing file is opened with O_CREAT, the kernel might generate
+# a false report of a create denial. Silence these denials and make sure that
+# inappropriate permissions are not granted.
+
+# These filesystems don't allow files or directories to be created, so the permission
+# to do so should never be granted.
+neverallow domain {
+  proc_type
+  sysfs_type
+}:dir { add_name create link remove_name rename reparent rmdir write };
+
+# cgroupfs directories can be created, but not files within them.
+neverallow domain cgroup:file create;
+neverallow domain cgroup_v2:file create;
+
+dontaudit domain proc_type:dir write;
+dontaudit domain sysfs_type:dir write;
+dontaudit domain cgroup:file create;
+dontaudit domain cgroup_v2:file create;
+
+# These are only needed in permissive mode - in enforcing mode the
+# directory write check fails and so these are never attempted.
+#line 1526
+
+
+# Platform must not have access to /mnt/vendor.
+neverallow {
+  coredomain
+  -init
+  -ueventd
+  -vold
+  -system_writes_mnt_vendor_violators
+} mnt_vendor_file:dir *;
+
+# Only apps are allowed access to vendor public libraries.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1538
+
+#line 1538
+  neverallow {
+#line 1538
+    coredomain
+#line 1538
+    -appdomain
+#line 1538
+    
+#line 1538
+  } {vendor_public_framework_file vendor_public_lib_file}:file { execute execute_no_trans };
+#line 1538
+
+#line 1538
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1544
+
+
+# Vendor domian must not have access to /mnt/product.
+neverallow {
+  domain
+  -coredomain
+} mnt_product_file:dir *;
+
+# Platform must not have access to sysfs_batteryinfo, but should do it via health HAL
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1553
+
+#line 1553
+  neverallow {
+#line 1553
+    coredomain
+#line 1553
+    -shell
+#line 1553
+    # For access to block device information under /sys/class/block.
+#line 1553
+    -apexd
+#line 1553
+    # Read sysfs block device information.
+#line 1553
+    -init
+#line 1553
+    # Generate uevents for health info
+#line 1553
+    -ueventd
+#line 1553
+    # Recovery uses health HAL passthrough implementation.
+#line 1553
+    -recovery
+#line 1553
+    # Charger uses health HAL passthrough implementation.
+#line 1553
+    -charger
+#line 1553
+    # TODO(b/110891300): remove this exception
+#line 1553
+    -incidentd
+#line 1553
+  } sysfs_batteryinfo:file { open read };
+#line 1553
+
+#line 1553
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 1570
+
+
+neverallow {
+  domain
+  -hal_codec2_server
+  -hal_omx_server
+} hal_codec2_hwservice:hwservice_manager add;
+
+# Only apps targetting < Q are allowed to open /dev/ashmem directly.
+# Apps must use ASharedMemory NDK API. Native code must use libcutils API.
+neverallow {
+  domain
+  -ephemeral_app # We don't distinguish ephemeral apps based on target API.
+  -untrusted_app_25
+  -untrusted_app_27
+} ashmem_device:chr_file open;
+
+neverallow { domain -traced_probes -init -vendor_init } debugfs_tracing_printk_formats:file *;
+
+# No domains other than a select few can access the misc_block_device. This
+# block device is reserved for OTA use.
+# Do not assert this rule on userdebug/eng builds, due to some devices using
+# this partition for testing purposes.
+neverallow {
+  domain
+   # exclude debuggable builds
+  -fastbootd
+  -hal_bootctl_server
+  -init
+  -uncrypt
+  -update_engine
+  -vendor_init
+  -vendor_misc_writer
+  -vold
+  -recovery
+  -ueventd
+  -mtectrl
+  -misctrl
+  -kcmdlinectrl
+} misc_block_device:blk_file { append link relabelfrom rename write open read ioctl lock };
+
+# Limit ability to ptrace or read sensitive /proc/pid files of processes
+# with other UIDs to these allowlisted domains.
+neverallow {
+  domain
+  -vold
+  
+  -dumpstate
+  
+  
+  
+  -storaged
+  -system_server
+} self:{ capability cap_userns } sys_ptrace;
+
+# Limit ability to generate hardware unique device ID attestations to priv_apps
+neverallow { domain -priv_app -gmscore_app } *:keystore2_key gen_unique_id;
+neverallow { domain -system_server } *:keystore2_key use_dev_id;
+neverallow { domain -system_server } keystore:keystore2 { clear_ns lock reset unlock };
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  
+} debugfs_tracing_debug:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# System_server owns dropbox data, and init creates/restorecons the directory
+# Disallow direct access by other processes.
+neverallow {
+  domain
+  -init
+  -system_server
+  
+} dropbox_data_file:dir *;
+neverallow {
+  domain
+  -init
+  -system_server
+  
+} dropbox_data_file:file ~{ getattr read };
+
+###
+# Services should respect app sandboxes
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -installd # creation of sandbox
+} {
+  privapp_data_file
+  app_data_file
+  storage_area_content_file
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create unlink };
+
+
+#line 1665
+  neverallow {
+#line 1665
+    domain
+#line 1665
+    -artd # compile secondary dex files
+#line 1665
+    -installd # creation of sandbox
+#line 1665
+    -vold_prepare_subdirs # creation of storage area directories
+#line 1665
+  } {storage_area_app_dir storage_area_dir }:dir { create unlink };
+#line 1672
+
+
+# Only the following processes should be directly accessing private app
+# directories.
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -app_zygote
+  -artd # compile secondary dex files
+  -installd
+  -profman
+  -rs # spawned by appdomain, so carryover the exception above
+  -runas
+  -system_server
+  -zygote
+} {
+  privapp_data_file
+  app_data_file
+  storage_area_content_file
+}:dir *;
+
+
+#line 1694
+  neverallow {
+#line 1694
+    domain
+#line 1694
+    -appdomain
+#line 1694
+    -app_zygote
+#line 1694
+    -artd # compile secondary dex files
+#line 1694
+    -installd
+#line 1694
+    -rs # spawned by appdomain, so carryover the exception above
+#line 1694
+    -system_server
+#line 1694
+    -vold # encryption of storage area directories
+#line 1694
+    -vold_prepare_subdirs # creation of storage area directories
+#line 1694
+    -zygote
+#line 1694
+  } { storage_area_dir storage_area_app_dir }:dir *;
+#line 1707
+
+
+
+#line 1709
+  # only vold and installd can access the storage area key files
+#line 1709
+  # (and init, in case of a recursive restorecon)
+#line 1709
+  neverallow {
+#line 1709
+    domain
+#line 1709
+    -init
+#line 1709
+    -vold
+#line 1709
+    -vold_prepare_subdirs
+#line 1709
+    -installd
+#line 1709
+  } { storage_area_key_file }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } *;
+#line 1719
+
+
+# Only apps should be modifying app data. installd is exempted for
+# restorecon and package install/uninstall.
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -installd
+  -rs # spawned by appdomain, so carryover the exception above
+} {
+  privapp_data_file
+  app_data_file
+  storage_area_content_file
+}:dir ~{ open getattr read search ioctl lock watch watch_reads };
+
+
+#line 1735
+  neverallow {
+#line 1735
+    domain
+#line 1735
+    -appdomain
+#line 1735
+    -artd # compile secondary dex files
+#line 1735
+    -installd
+#line 1735
+    -rs # spawned by appdomain, so carryover the exception above
+#line 1735
+    -vold_prepare_subdirs # creation of storage area directories
+#line 1735
+  } { storage_area_dir storage_area_app_dir }:dir ~{ open getattr read search ioctl lock watch watch_reads };
+#line 1744
+
+
+neverallow {
+  domain
+  -appdomain
+  -app_zygote
+  -artd # compile secondary dex files
+  -installd
+  -rs # spawned by appdomain, so carryover the exception above
+} {
+  privapp_data_file
+  app_data_file
+  storage_area_content_file
+}:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } open;
+
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -installd # creation of sandbox
+} {
+  privapp_data_file
+  app_data_file
+  storage_area_content_file
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create unlink };
+
+neverallow {
+  domain
+  -artd # compile secondary dex files
+  -installd
+} {
+  privapp_data_file
+  app_data_file
+  storage_area_content_file
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { relabelfrom relabelto };
+
+
+#line 1780
+  neverallow {
+#line 1780
+    domain
+#line 1780
+    -artd # compile secondary dex files
+#line 1780
+    -installd
+#line 1780
+    -vold_prepare_subdirs
+#line 1780
+  } { storage_area_dir storage_area_app_dir }:dir { relabelfrom relabelto };
+#line 1787
+
+
+# The staging directory contains APEX and APK files. It is important to ensure
+# that these files cannot be accessed by other domains to ensure that the files
+# do not change between system_server staging the files and apexd processing
+# the files.
+# The update_provider can also stage files before apexd processes them.
+neverallow {
+  domain
+  -init
+  -system_server
+  -apexd
+  -installd
+  -priv_app
+  -virtualizationmanager
+  -update_provider # WARNING: USING THIS ATTRIBUTE WILL CAUSE CTS TO FAIL!
+} staging_data_file:dir *;
+neverallow {
+  domain
+  -init
+  -system_app
+  -system_server
+  -apexd
+  -adbd
+  -kernel
+  -installd
+  -priv_app
+  -shell
+  -virtualizationmanager
+  -crosvm
+  -update_provider # WARNING: USING THIS ATTRIBUTE WILL CAUSE CTS TO FAIL!
+} staging_data_file:file *;
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -system_server -installd -update_provider } staging_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+# apexd needs the link/unlink/rename permissions
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -system_server -installd -apexd -update_provider } staging_data_file:file {
+  { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans }
+};
+neverallow apexd staging_data_file:file {
+  append create relabelfrom setattr write # no_w_file_perms -link -unlink -rename
+  { execute execute_no_trans }
+};
+
+neverallow {
+    domain
+    -appdomain # for oemfs
+    -bootanim # for oemfs
+    -recovery # for /tmp/update_binary in tmpfs
+} { fs_type -rootfs }:file execute;
+
+#
+# Assert that, to the extent possible, we're not loading executable content from
+# outside the rootfs or /system partition except for a few allowlisted domains.
+# Executable files loaded from /data is a persistence vector
+# we want to avoid. See
+# https://bugs.chromium.org/p/project-zero/issues/detail?id=955 for example.
+#
+neverallow {
+    domain
+    -appdomain
+    
+    -shell
+    
+    -system_server_startup # for memfd backed executable regions
+    -app_zygote
+    -webview_zygote
+    -zygote
+    
+    
+    
+} {
+    file_type
+    -system_file_type
+    -system_lib_file
+    -system_bootstrap_lib_file
+    -system_linker_exec
+    -vendor_file_type
+    -exec_type
+    -postinstall_file
+}:file execute;
+
+# Only init is allowed to write cgroup.rc file
+neverallow {
+  domain
+  -init
+  -vendor_init
+} cgroup_rc_file:file { append create link unlink relabelfrom rename setattr write };
+
+# Only authorized processes should be writing to files in /data/dalvik-cache
+neverallow {
+  domain
+  -init # TODO: limit init to relabelfrom for files
+  -zygote
+  -installd
+  -postinstall_dexopt
+  -cppreopts
+  -dex2oat
+  -otapreopt_slot
+  -artd
+} dalvikcache_data_file:file { append create link unlink relabelfrom rename setattr write };
+
+neverallow {
+  domain
+  -init
+  -installd
+  -postinstall_dexopt
+  -cppreopts
+  -dex2oat
+  -zygote
+  -otapreopt_slot
+  -artd
+} dalvikcache_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+
+# Only authorized processes should be writing to /data/misc/apexdata/com.android.art as it
+# contains boot class path and system server AOT artifacts following an ART APEX Mainline update.
+neverallow {
+  domain
+  # art-related processes
+  -composd
+  -compos_fd_server
+  -odrefresh
+  -odsign
+  # others
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_art_data_file:file { append create link unlink relabelfrom rename setattr write };
+
+neverallow {
+  domain
+  # art-related processes
+  -composd
+  -compos_fd_server
+  -odrefresh
+  -odsign
+  # others
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_art_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+
+# Protect most domains from executing arbitrary content from /data.
+neverallow {
+  domain
+  -appdomain
+  
+} {
+  data_file_type
+  -apex_art_data_file
+  -dalvikcache_data_file
+  -system_data_file # shared libs in apks
+  -apk_data_file
+}:file { execute execute_no_trans };
+
+# Minimize dac_override and dac_read_search.
+# Instead of granting them it is usually better to add the domain to
+# a Unix group or change the permissions of a file.
+#line 1968
+
+neverallow ~{
+#line 1969
+  apexd
+#line 1969
+  artd
+#line 1969
+  dnsmasq
+#line 1969
+  dumpstate
+#line 1969
+  init
+#line 1969
+  installd
+#line 1969
+  
+#line 1969
+  lmkd
+#line 1969
+  migrate_legacy_obb_data
+#line 1969
+  netd
+#line 1969
+  postinstall_dexopt
+#line 1969
+  recovery
+#line 1969
+  rss_hwm_reset
+#line 1969
+  sdcardd
+#line 1969
+  tee
+#line 1969
+  ueventd
+#line 1969
+  uncrypt
+#line 1969
+  vendor_init
+#line 1969
+  vold
+#line 1969
+  vold_prepare_subdirs
+#line 1969
+  zygote
+#line 1969
+  
+#line 1969
+} self:{ capability cap_userns } dac_override;
+# Since the kernel checks dac_read_search before dac_override, domains that
+# have dac_override should also have dac_read_search to eliminate spurious
+# denials.  Some domains have dac_read_search without having dac_override, so
+# this list should be a superset of the one above.
+neverallow ~{
+  {
+#line 1975
+  apexd
+#line 1975
+  artd
+#line 1975
+  dnsmasq
+#line 1975
+  dumpstate
+#line 1975
+  init
+#line 1975
+  installd
+#line 1975
+  
+#line 1975
+  lmkd
+#line 1975
+  migrate_legacy_obb_data
+#line 1975
+  netd
+#line 1975
+  postinstall_dexopt
+#line 1975
+  recovery
+#line 1975
+  rss_hwm_reset
+#line 1975
+  sdcardd
+#line 1975
+  tee
+#line 1975
+  ueventd
+#line 1975
+  uncrypt
+#line 1975
+  vendor_init
+#line 1975
+  vold
+#line 1975
+  vold_prepare_subdirs
+#line 1975
+  zygote
+#line 1975
+  
+#line 1975
+}
+  traced_perf
+  traced_probes
+  heapprofd
+} self:{ capability cap_userns } dac_read_search;
+
+# Limit what domains can mount filesystems or change their mount flags.
+# sdcard_type (including vfat and exfat) and fusefs_type are exempt as a larger
+# set of domains need this capability, including device-specific domains.
+neverallow {
+    domain
+    -apexd
+    -dexopt_chroot_setup
+    
+    -init
+    -kernel
+    -otapreopt_chroot
+    -recovery
+    -update_engine
+    -vold
+    -zygote
+    
+} { fs_type
+    -sdcard_type
+    -fusefs_type
+}:filesystem { mount remount relabelfrom relabelto };
+
+# BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 2002
+
+#line 2002
+  neverallow {
+#line 2002
+    domain 
+#line 2002
+  } { debugfs_type -debugfs_tracing_debug }:filesystem { mount remount relabelfrom relabelto };
+#line 2002
+
+#line 2002
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 2006
+
+
+# Limit raw I/O to these allowlisted domains. Do not apply to debug builds.
+neverallow {
+  domain
+  
+  -kernel
+  -gsid
+  -init
+  -recovery
+  -ueventd
+  -uncrypt
+  -tee
+  -hal_bootctl_server
+  -fastbootd
+} self:{ capability cap_userns } sys_rawio;
+
+# Limit directory operations that doesn't need to do app data isolation.
+neverallow {
+  domain
+  -fsck
+  -init
+  -installd
+  -zygote
+} mirror_data_file:dir *;
+
+# This property is being removed. Remove remaining access.
+neverallow { domain -init -system_server -vendor_init } net_dns_prop:property_service set;
+neverallow { domain -dumpstate -init -system_server -vendor_init } net_dns_prop:file read;
+
+# Only core domains are allowed to access package_manager properties
+neverallow { domain -init -system_server } pm_prop:property_service set;
+neverallow { domain -coredomain } pm_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Do not allow reading the last boot timestamp from system properties
+neverallow { domain -init -system_server -dumpstate } firstboot_prop:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow ART to set its config properties in its oneshot boot service, in
+# addition to the common init and vendor_init access.
+neverallow { domain -art_boot -init -vendor_init } dalvik_config_prop:property_service set;
+
+# Kprobes should only be used by adb root
+neverallow { domain -init -vendor_init } debugfs_kprobes:file *;
+
+# On TREBLE devices, most coredomains should not access vendor_files.
+# TODO(b/71553434): Remove exceptions here.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 2052
+
+#line 2052
+  neverallow {
+#line 2052
+    coredomain
+#line 2052
+    -appdomain
+#line 2052
+    -bootanim
+#line 2052
+    -crash_dump
+#line 2052
+    -heapprofd
+#line 2052
+    
+#line 2052
+    -init
+#line 2052
+    -kernel
+#line 2052
+    
+#line 2052
+    -traced_perf
+#line 2052
+    -ueventd
+#line 2052
+    
+#line 2052
+  } vendor_file:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } open };
+#line 2052
+
+#line 2052
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 2067
+
+
+# Vendor domains are not permitted to initiate communications to core domain sockets
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 2070
+
+#line 2070
+  
+#line 2070
+  neverallow {
+#line 2070
+    domain
+#line 2070
+    -coredomain
+#line 2070
+    -appdomain
+#line 2070
+    -socket_between_core_and_vendor_violators
+#line 2070
+  } {
+#line 2070
+    coredomain
+#line 2070
+    -logd # Logging by writing to logd Unix domain socket is public API
+#line 2070
+    -netd # netdomain needs this
+#line 2070
+    -mdnsd # netdomain needs this
+#line 2070
+    -prng_seeder # Any process using libcrypto needs this
+#line 2070
+     # communications with su are permitted only on userdebug or eng builds
+#line 2070
+    -init
+#line 2070
+    -tombstoned # linker to tombstoned
+#line 2070
+    -heapprofd
+#line 2070
+    -traced
+#line 2070
+    -traced_perf
+#line 2070
+  }:{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } { connect sendto };
+#line 2070
+  neverallow {
+#line 2070
+    domain
+#line 2070
+    -coredomain
+#line 2070
+    -appdomain
+#line 2070
+    -socket_between_core_and_vendor_violators
+#line 2070
+  } {
+#line 2070
+    coredomain
+#line 2070
+    -logd # Logging by writing to logd Unix domain socket is public API
+#line 2070
+    -netd # netdomain needs this
+#line 2070
+    -mdnsd # netdomain needs this
+#line 2070
+    -prng_seeder # Any process using libcrypto needs this
+#line 2070
+     # communications with su are permitted only on userdebug or eng builds
+#line 2070
+    -init
+#line 2070
+    -tombstoned # linker to tombstoned
+#line 2070
+    -heapprofd
+#line 2070
+    -traced
+#line 2070
+    -traced_perf
+#line 2070
+  }:unix_stream_socket connectto;
+#line 2070
+;
+#line 2070
+
+#line 2070
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 2089
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 2091
+
+#line 2091
+  # Do not allow system components access to /vendor files except for the
+#line 2091
+  # ones allowed here.
+#line 2091
+  neverallow {
+#line 2091
+    coredomain
+#line 2091
+    # TODO(b/37168747): clean up fwk access to /vendor
+#line 2091
+    -crash_dump
+#line 2091
+    -crosvm # loads vendor-specific disk images
+#line 2091
+    -init # starts vendor executables
+#line 2091
+    -kernel # loads /vendor/firmware
+#line 2091
+    -heapprofd
+#line 2091
+    
+#line 2091
+    -shell
+#line 2091
+    
+#line 2091
+    -system_executes_vendor_violators
+#line 2091
+    -traced_perf # library/binary access for symbolization
+#line 2091
+    -ueventd # reads /vendor/ueventd.rc
+#line 2091
+    -vold # loads incremental fs driver
+#line 2091
+    
+#line 2091
+  } {
+#line 2091
+    vendor_file_type
+#line 2091
+    -same_process_hal_file
+#line 2091
+    -vendor_app_file
+#line 2091
+    -vendor_apex_file
+#line 2091
+    -vendor_apex_metadata_file
+#line 2091
+    -vendor_boot_ota_file
+#line 2091
+    -vendor_cgroup_desc_file
+#line 2091
+    -vendor_configs_file
+#line 2091
+    -vendor_microdroid_file
+#line 2091
+    -vendor_service_contexts_file
+#line 2091
+    -vendor_framework_file
+#line 2091
+    -vendor_idc_file
+#line 2091
+    -vendor_keychars_file
+#line 2091
+    -vendor_keylayout_file
+#line 2091
+    -vendor_overlay_file
+#line 2091
+    -vendor_public_framework_file
+#line 2091
+    -vendor_public_lib_file
+#line 2091
+    -vendor_task_profiles_file
+#line 2091
+    -vendor_uuid_mapping_config_file
+#line 2091
+    -vndk_sp_file
+#line 2091
+    -vendor_aconfig_storage_file
+#line 2091
+  }:file *;
+#line 2091
+
+#line 2091
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 2133
+
+
+# mlsvendorcompat is only for compatibility support for older vendor
+# images, and should not be granted to any domain in current policy.
+# (Every domain is allowed self:fork, so this will trigger if the
+# intsersection of domain & mlsvendorcompat is not empty.)
+neverallow domain mlsvendorcompat:process fork;
+
+# Only init and otapreopt_chroot should be mounting filesystems on locations
+# labeled system or vendor (/product and /vendor respectively).
+neverallow {
+  domain
+  -dexopt_chroot_setup
+  -init
+  -otapreopt_chroot
+  
+} {
+  system_file_type
+  vendor_file_type
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } mounton;
+
+# Only allow init and vendor_init to read/write mm_events properties
+# NOTE: dumpstate is allowed to read any system property
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+} mm_events_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Allow init to open /proc/kallsyms while kernel address mappings are still
+# visible, and later share it with tracing daemons (traced_probes,
+# traced_perf). These daemons are allowed to read from the shared fd, but also
+# to separately open the file (which will always have zeroed out addresses due
+# to init raising kptr_restrict) for locking to coordinate access to the shared
+# fd. The performance traces contain only the referenced kernel symbols, and
+# never the raw addresses (i.e. KASLR is not disclosed).
+# On debuggable builds, performance tools are allowed to open and read the file
+# directly because init is allowed to temporarily unrestrict systemwide address
+# visibility.
+neverallow {
+  domain
+  -init
+  -traced_probes
+  -traced_perf
+  
+  
+} proc_kallsyms:file *;
+
+# debugfs_kcov type is not included in this neverallow statement since the KCOV
+# tool uses it for kernel fuzzing.
+# vendor_modprobe is also exempted since the kernel modules it loads may create
+# debugfs files in its context.
+# BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 2186
+
+#line 2186
+  neverallow {
+#line 2186
+    domain
+#line 2186
+    -vendor_modprobe
+#line 2186
+    
+#line 2186
+  } { debugfs_type
+#line 2186
+      
+#line 2186
+      -tracefs_type
+#line 2186
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 2186
+
+#line 2186
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 2199
+
+
+# Restrict write access to etm sysfs interface.
+neverallow { domain -ueventd -vendor_init } sysfs_devices_cs_etm:file { append create link unlink relabelfrom rename setattr write };
+
+# Restrict CAP_PERFMON.
+neverallow {
+  domain
+  -init
+  -vendor_modprobe
+  
+  -kernel
+  -uprobestats
+} self:capability2 perfmon;
+
+# Restrict direct access to shell owned files. The /data/local/tmp directory is
+# untrustworthy, and non-allowed domains should not be trusting any content in
+# those directories. We allow shell files to be passed around by file
+# descriptor, but not directly opened.
+# artd doesn't need to access /data/local/tmp, but it needs to access
+# /data/{user,user_de}/<user-id>/com.android.shell/... for compiling secondary
+# dex files.
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -artd
+  -dumpstate
+  -installd
+  
+  
+  
+  
+} shell_data_file:file open;
+
+# In addition to the symlink reading restrictions above, restrict
+# write access to shell owned directories. The /data/local/tmp
+# directory is untrustworthy, and non-allowed domains should
+# not be trusting any content in those directories.
+# artd doesn't need to access /data/local/tmp, but it needs to access
+# /data/{user,user_de}/<user-id>/com.android.shell/... for compiling secondary
+# dex files.
+neverallow {
+  domain
+  -adbd
+  -artd
+  -dumpstate
+  -installd
+  -init
+  -shell
+  -vold
+} shell_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -artd
+  -dumpstate
+  -init
+  -installd
+  -simpleperf_app_runner
+  -system_server # why?
+  
+} shell_data_file:dir open;
+
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -artd
+  -dumpstate
+  -init
+  -installd
+  -simpleperf_app_runner
+  -system_server # why?
+  
+  
+  
+} shell_data_file:dir search;
+
+# respect system_app sandboxes
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -system_server #populate com.android.providers.settings/databases/settings.db.
+  -installd # creation of app sandbox
+  -traced_probes # resolve inodes for i/o tracing.
+                 # only needs open and read, the rest is neverallow in
+                 # traced_probes.te.
+} system_app_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create unlink open };
+neverallow {
+  isolated_app_all
+  ephemeral_app
+  priv_app
+  sdk_sandbox_all
+  untrusted_app_all
+} system_app_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { create unlink open };
+
+neverallow { domain -init } mtectrl:process { dyntransition transition };
+neverallow { domain -init } kcmdlinectrl:process { dyntransition transition };
+
+# For now, don't allow processes other than gmscore to access /data/misc_ce/<userid>/checkin
+neverallow { domain -gmscore_app -init -vold_prepare_subdirs } checkin_data_file:{dir file} *;
+
+neverallow { domain -dexopt_chroot_setup -init } proc:{ file dir } mounton;
+neverallow { domain -dexopt_chroot_setup -init -zygote } proc_type:{ file dir } mounton;
+
+# Only init/vendor are allowed to write sysfs_pgsize_migration;
+# ueventd needs write access to all sysfs files.
+neverallow { domain -init -vendor_init -ueventd } sysfs_pgsize_migration:file { append create link unlink relabelfrom rename setattr write };
+
+# virtmanager enforces access policy for which components can connect
+# to which VMs. If you have permissions to make direct connections, you
+# can talk to anything.
+
+#line 2315
+neverallow {
+#line 2315
+    domain
+#line 2315
+
+#line 2315
+    # these are expected
+#line 2315
+    -early_virtmgr
+#line 2315
+    -virtualizationmanager
+#line 2315
+    -virtualizationservice
+#line 2315
+    -adbd_common # maybe should move to emulator/virtual device specific policy
+#line 2315
+
+#line 2315
+    # not expected, and defined outside of system/sepolicy.
+#line 2315
+    # Note: this attribute is strongly recommended to be empty if not required.
+#line 2315
+    -unconstrained_vsock_violators
+#line 2315
+
+#line 2315
+    # these are permissions that should be removed, and they are here for visibility.
+#line 2315
+    -compos_fd_server   # TODO: get connections from virtmanager
+#line 2315
+    -hal_keymint_system # TODO: get connections from virtmanager
+#line 2315
+    -vmlauncher_app     # TODO: get connections from virtmanager
+#line 2315
+} *:vsock_socket { connect create accept bind };
+#line 2334
+
+#line 1 "system/sepolicy/private/drmserver.te"
+typeattribute drmserver coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init drmserver_exec:file { getattr open read execute map };
+#line 3
+allow init drmserver:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow drmserver drmserver_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init drmserver:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init drmserver:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init drmserver_exec:process drmserver;
+#line 3
+
+#line 3
+
+
+type_transition drmserver apk_data_file:sock_file drmserver_socket;
+
+typeattribute drmserver_socket coredomain_socket;
+
+
+#line 9
+allow drmserver drm_service_config_prop:file { getattr open read map };
+#line 9
+
+
+typeattribute drmserver mlstrustedsubject;
+
+
+#line 13
+typeattribute drmserver netdomain;
+#line 13
+
+
+# Perform Binder IPC to system server.
+
+#line 16
+# Call the servicemanager and transfer references to it.
+#line 16
+allow drmserver servicemanager:binder { call transfer };
+#line 16
+# Allow servicemanager to send out callbacks
+#line 16
+allow servicemanager drmserver:binder { call transfer };
+#line 16
+# servicemanager performs getpidcon on clients.
+#line 16
+allow servicemanager drmserver:dir search;
+#line 16
+allow servicemanager drmserver:file { read open };
+#line 16
+allow servicemanager drmserver:process getattr;
+#line 16
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 16
+# all domains in domain.te.
+#line 16
+
+
+#line 17
+# Call the server domain and optionally transfer references to it.
+#line 17
+allow drmserver system_server:binder { call transfer };
+#line 17
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 17
+allow system_server drmserver:binder transfer;
+#line 17
+# Receive and use open files from the server.
+#line 17
+allow drmserver system_server:fd use;
+#line 17
+
+
+#line 18
+# Call the server domain and optionally transfer references to it.
+#line 18
+allow drmserver appdomain:binder { call transfer };
+#line 18
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 18
+allow appdomain drmserver:binder transfer;
+#line 18
+# Receive and use open files from the server.
+#line 18
+allow drmserver appdomain:fd use;
+#line 18
+
+
+#line 19
+# Call the server domain and optionally transfer references to it.
+#line 19
+allow drmserver mediametrics:binder { call transfer };
+#line 19
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 19
+allow mediametrics drmserver:binder transfer;
+#line 19
+# Receive and use open files from the server.
+#line 19
+allow drmserver mediametrics:fd use;
+#line 19
+
+
+#line 20
+typeattribute drmserver binderservicedomain;
+#line 20
+
+# Inherit or receive open files from system_server.
+allow drmserver system_server:fd use;
+
+# Perform Binder IPC to mediaserver
+
+#line 25
+# Call the server domain and optionally transfer references to it.
+#line 25
+allow drmserver mediaserver:binder { call transfer };
+#line 25
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 25
+allow mediaserver drmserver:binder transfer;
+#line 25
+# Receive and use open files from the server.
+#line 25
+allow drmserver mediaserver:fd use;
+#line 25
+
+
+allow drmserver { sdcard_type fuse }:dir search;
+allow drmserver drm_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow drmserver drm_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow drmserver { app_data_file privapp_data_file }:file { read write getattr map };
+allow drmserver { sdcard_type fuse }:file { read write getattr map };
+
+#line 32
+allow drmserver efs_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow drmserver efs_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+
+# /data/app/tlcd_sock socket file.
+# Clearly, /data/app is the most logical place to create a socket.  Not.
+allow drmserver apk_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+auditallow drmserver apk_data_file:dir { add_name write };
+allow drmserver drmserver_socket:sock_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+auditallow drmserver drmserver_socket:sock_file create;
+# Delete old socket file if present.
+allow drmserver apk_data_file:sock_file unlink;
+
+# After taking a video, drmserver looks at the video file.
+
+#line 44
+allow drmserver media_rw_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 44
+allow drmserver media_rw_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 44
+
+
+# Read resources from open apk files passed over Binder.
+allow drmserver apk_data_file:file { read getattr map };
+allow drmserver asec_apk_file:file { read getattr map };
+allow drmserver ringtone_file:file { read getattr map };
+
+# Read /data/data/com.android.providers.telephony files passed over Binder.
+allow drmserver radio_data_file:file { read getattr map };
+
+# /oem access
+allow drmserver oemfs:dir search;
+allow drmserver oemfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# overlay package access
+allow drmserver vendor_overlay_file:file { read map };
+
+
+#line 61
+  allow drmserver drmserver_service:service_manager { add find };
+#line 61
+  neverallow { domain -drmserver } drmserver_service:service_manager add;
+#line 61
+
+#line 61
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 61
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 61
+  
+#line 61
+
+allow drmserver permission_service:service_manager find;
+allow drmserver mediametrics_service:service_manager find;
+
+
+#line 65
+
+#line 65
+allow drmserver selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 65
+allow drmserver selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 65
+
+#line 65
+allow drmserver selinuxfs:file { open append write lock map };
+#line 65
+allow drmserver kernel:security compute_av;
+#line 65
+allow drmserver self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 65
+
+
+
+#line 67
+allow drmserver cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 67
+allow drmserver cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 67
+
+
+#line 68
+allow drmserver cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 68
+allow drmserver cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 68
+
+
+#line 69
+allow drmserver system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 69
+allow drmserver system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 69
+
+#line 1 "system/sepolicy/private/dumpstate.te"
+typeattribute dumpstate coredomain;
+type dumpstate_tmpfs, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init dumpstate_exec:file { getattr open read execute map };
+#line 4
+allow init dumpstate:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow dumpstate dumpstate_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init dumpstate:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init dumpstate:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init dumpstate_exec:process dumpstate;
+#line 4
+
+#line 4
+
+
+# Execute and transition to the vdc domain
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow dumpstate vdc_exec:file { getattr open read execute map };
+#line 7
+allow dumpstate vdc:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow vdc vdc_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+allow vdc dumpstate:process sigchld;
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit dumpstate vdc:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow dumpstate vdc:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition dumpstate vdc_exec:process vdc;
+#line 7
+
+
+# Create tmpfs files for using memfd descriptors to get output from child
+# processes.
+
+#line 11
+type_transition dumpstate tmpfs:file dumpstate_tmpfs;
+#line 11
+allow dumpstate dumpstate_tmpfs:file { read write getattr map };
+#line 11
+
+
+# Acquire advisory lock on /system/etc/xtables.lock from ip[6]tables
+allow dumpstate system_file:file lock;
+
+allow dumpstate storaged_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# /data/misc/a11ytrace for accessibility traces
+#line 22
+
+
+# /data/misc/wmtrace for wm traces
+#line 28
+
+
+# /data/system/dropbox for dropbox entries
+#line 34
+
+
+
+#line 36
+allow dumpstate aconfig_storage_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow dumpstate aconfig_storage_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 36
+;
+
+# Allow dumpstate to make binder calls to incidentd
+
+#line 39
+# Call the server domain and optionally transfer references to it.
+#line 39
+allow dumpstate incidentd:binder { call transfer };
+#line 39
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 39
+allow incidentd dumpstate:binder transfer;
+#line 39
+# Receive and use open files from the server.
+#line 39
+allow dumpstate incidentd:fd use;
+#line 39
+
+
+# Kill incident in case of a timeout
+allow dumpstate incident:process { signal sigkill };
+
+# Allow dumpstate to make binder calls to storaged service
+
+#line 45
+# Call the server domain and optionally transfer references to it.
+#line 45
+allow dumpstate storaged:binder { call transfer };
+#line 45
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 45
+allow storaged dumpstate:binder transfer;
+#line 45
+# Receive and use open files from the server.
+#line 45
+allow dumpstate storaged:fd use;
+#line 45
+
+
+# Allow dumpstate to make binder calls to statsd
+
+#line 48
+# Call the server domain and optionally transfer references to it.
+#line 48
+allow dumpstate statsd:binder { call transfer };
+#line 48
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 48
+allow statsd dumpstate:binder transfer;
+#line 48
+# Receive and use open files from the server.
+#line 48
+allow dumpstate statsd:fd use;
+#line 48
+
+
+# Allow dumpstate to talk to gpuservice over binder
+
+#line 51
+# Call the server domain and optionally transfer references to it.
+#line 51
+allow dumpstate gpuservice:binder { call transfer };
+#line 51
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 51
+allow gpuservice dumpstate:binder transfer;
+#line 51
+# Receive and use open files from the server.
+#line 51
+allow dumpstate gpuservice:fd use;
+#line 51
+;
+
+# Allow dumpstate to talk to idmap over binder
+
+#line 54
+# Call the server domain and optionally transfer references to it.
+#line 54
+allow dumpstate idmap:binder { call transfer };
+#line 54
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 54
+allow idmap dumpstate:binder transfer;
+#line 54
+# Receive and use open files from the server.
+#line 54
+allow dumpstate idmap:fd use;
+#line 54
+;
+
+# Allow dumpstate to talk to profcollectd over binder
+#line 59
+
+
+# Allow dumpstate to talk to automotive_display_service over binder
+
+#line 62
+# Call the server domain and optionally transfer references to it.
+#line 62
+allow dumpstate automotive_display_service:binder { call transfer };
+#line 62
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 62
+allow automotive_display_service dumpstate:binder transfer;
+#line 62
+# Receive and use open files from the server.
+#line 62
+allow dumpstate automotive_display_service:fd use;
+#line 62
+
+
+# Allow dumpstate to talk to virtual_camera service over binder
+
+#line 65
+# Call the server domain and optionally transfer references to it.
+#line 65
+allow dumpstate virtual_camera:binder { call transfer };
+#line 65
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 65
+allow virtual_camera dumpstate:binder transfer;
+#line 65
+# Receive and use open files from the server.
+#line 65
+allow dumpstate virtual_camera:fd use;
+#line 65
+
+
+# Allow dumpstate to talk to ot_daemon service over binder
+
+#line 68
+# Call the server domain and optionally transfer references to it.
+#line 68
+allow dumpstate ot_daemon:binder { call transfer };
+#line 68
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 68
+allow ot_daemon dumpstate:binder transfer;
+#line 68
+# Receive and use open files from the server.
+#line 68
+allow dumpstate ot_daemon:fd use;
+#line 68
+
+
+# Collect metrics on boot time created by init
+
+#line 71
+allow dumpstate boottime_prop:file { getattr open read map };
+#line 71
+
+
+
+#line 73
+allow dumpstate misctrl_prop:file { getattr open read map };
+#line 73
+
+
+# Signal native processes to dump their stack.
+allow dumpstate {
+  mediatranscoding
+  statsd
+  netd
+  virtual_camera
+  ot_daemon
+}:process signal;
+
+# Only allow dumpstate to dump Keystore on debuggable builds.
+#line 87
+
+dontaudit dumpstate keystore:process { signal };
+
+# For collecting bugreports.
+
+#line 91
+  allow dumpstate debugfs_wakeup_sources:file { getattr open read ioctl lock map watch watch_reads };
+#line 93
+
+
+allow dumpstate dev_type:blk_file getattr;
+allow dumpstate webview_zygote:process signal;
+allow dumpstate sysfs_dmabuf_stats:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit dumpstate update_engine:binder call;
+
+# Read files in /proc
+allow dumpstate {
+  config_gz
+  proc_net_tcp_udp
+  proc_pid_max
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# For comminucating with the system process to do confirmation ui.
+
+#line 108
+# Call the server domain and optionally transfer references to it.
+#line 108
+allow dumpstate incidentcompanion_service:binder { call transfer };
+#line 108
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 108
+allow incidentcompanion_service dumpstate:binder transfer;
+#line 108
+# Receive and use open files from the server.
+#line 108
+allow dumpstate incidentcompanion_service:fd use;
+#line 108
+
+
+# Set properties.
+# dumpstate_prop is used to share state with the Shell app.
+
+#line 112
+
+#line 112
+allow dumpstate property_socket:sock_file write;
+#line 112
+allow dumpstate init:unix_stream_socket connectto;
+#line 112
+
+#line 112
+allow dumpstate dumpstate_prop:property_service set;
+#line 112
+
+#line 112
+allow dumpstate dumpstate_prop:file { getattr open read map };
+#line 112
+
+#line 112
+
+
+#line 113
+
+#line 113
+allow dumpstate property_socket:sock_file write;
+#line 113
+allow dumpstate init:unix_stream_socket connectto;
+#line 113
+
+#line 113
+allow dumpstate exported_dumpstate_prop:property_service set;
+#line 113
+
+#line 113
+allow dumpstate exported_dumpstate_prop:file { getattr open read map };
+#line 113
+
+#line 113
+
+
+# dumpstate_options_prop is used to pass extra command-line args.
+
+#line 116
+
+#line 116
+allow dumpstate property_socket:sock_file write;
+#line 116
+allow dumpstate init:unix_stream_socket connectto;
+#line 116
+
+#line 116
+allow dumpstate dumpstate_options_prop:property_service set;
+#line 116
+
+#line 116
+allow dumpstate dumpstate_options_prop:file { getattr open read map };
+#line 116
+
+#line 116
+
+
+# Allow dumpstate to kill vendor dumpstate service by init
+
+#line 119
+
+#line 119
+allow dumpstate property_socket:sock_file write;
+#line 119
+allow dumpstate init:unix_stream_socket connectto;
+#line 119
+
+#line 119
+allow dumpstate ctl_dumpstate_prop:property_service set;
+#line 119
+
+#line 119
+allow dumpstate ctl_dumpstate_prop:file { getattr open read map };
+#line 119
+
+#line 119
+
+
+# For dumping dynamic partition information.
+
+#line 122
+
+#line 122
+allow dumpstate property_socket:sock_file write;
+#line 122
+allow dumpstate init:unix_stream_socket connectto;
+#line 122
+
+#line 122
+allow dumpstate lpdumpd_prop:property_service set;
+#line 122
+
+#line 122
+allow dumpstate lpdumpd_prop:file { getattr open read map };
+#line 122
+
+#line 122
+
+
+#line 123
+# Call the server domain and optionally transfer references to it.
+#line 123
+allow dumpstate lpdumpd:binder { call transfer };
+#line 123
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 123
+allow lpdumpd dumpstate:binder transfer;
+#line 123
+# Receive and use open files from the server.
+#line 123
+allow dumpstate lpdumpd:fd use;
+#line 123
+
+
+# For dumping hypervisor information.
+
+#line 126
+allow dumpstate hypervisor_prop:file { getattr open read map };
+#line 126
+
+
+# For dumping device-mapper and snapshot information.
+allow dumpstate gsid_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 130
+
+#line 130
+allow dumpstate property_socket:sock_file write;
+#line 130
+allow dumpstate init:unix_stream_socket connectto;
+#line 130
+
+#line 130
+allow dumpstate ctl_gsid_prop:property_service set;
+#line 130
+
+#line 130
+allow dumpstate ctl_gsid_prop:file { getattr open read map };
+#line 130
+
+#line 130
+
+
+#line 131
+# Call the server domain and optionally transfer references to it.
+#line 131
+allow dumpstate gsid:binder { call transfer };
+#line 131
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 131
+allow gsid dumpstate:binder transfer;
+#line 131
+# Receive and use open files from the server.
+#line 131
+allow dumpstate gsid:fd use;
+#line 131
+
+
+#Allow access to /dev/binderfs/binder_logs
+#line 136
+
+dontaudit dumpstate binderfs_logs_transactions:file { getattr open read ioctl lock map watch watch_reads };
+allow dumpstate binderfs_logs_transaction_history:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 140
+allow dumpstate ota_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 140
+allow dumpstate ota_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 140
+
+
+# For starting (and killing) perfetto --save-for-bugreport. If a labelled trace
+# is being recorded, the command above will serialize it into
+# /data/misc/perfetto-traces/bugreport/*.pftrace .
+
+#line 145
+# Allow the necessary permissions.
+#line 145
+
+#line 145
+# Old domain may exec the file and transition to the new domain.
+#line 145
+allow dumpstate perfetto_exec:file { getattr open read execute map };
+#line 145
+allow dumpstate perfetto:process transition;
+#line 145
+# New domain is entered by executing the file.
+#line 145
+allow perfetto perfetto_exec:file { entrypoint open read execute getattr map };
+#line 145
+# New domain can send SIGCHLD to its caller.
+#line 145
+allow perfetto dumpstate:process sigchld;
+#line 145
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 145
+dontaudit dumpstate perfetto:process noatsecure;
+#line 145
+# XXX dontaudit candidate but requires further study.
+#line 145
+allow dumpstate perfetto:process { siginh rlimitinh };
+#line 145
+
+#line 145
+# Make the transition occur by default.
+#line 145
+type_transition dumpstate perfetto_exec:process perfetto;
+#line 145
+
+allow dumpstate perfetto:process signal;
+allow dumpstate perfetto_traces_data_file:dir { search };
+allow dumpstate perfetto_traces_bugreport_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow dumpstate perfetto_traces_bugreport_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+
+# When exec-ing /system/bin/perfetto, dumpstates redirects stdio to /dev/null
+# (which is labelled as dumpstate_tmpfs) to avoid leaking a FD to the bugreport
+# zip file. These rules are to allow perfetto.te to inherit dumpstate's
+# /dev/null.
+allow perfetto dumpstate_tmpfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow perfetto dumpstate:fd use;
+
+# system_dlkm_file for /system_dlkm partition
+allow dumpstate system_dlkm_file:dir getattr;
+
+# Allow dumpstate to execute derive_sdk in its own domain
+
+#line 162
+# Allow the necessary permissions.
+#line 162
+
+#line 162
+# Old domain may exec the file and transition to the new domain.
+#line 162
+allow dumpstate derive_sdk_exec:file { getattr open read execute map };
+#line 162
+allow dumpstate derive_sdk:process transition;
+#line 162
+# New domain is entered by executing the file.
+#line 162
+allow derive_sdk derive_sdk_exec:file { entrypoint open read execute getattr map };
+#line 162
+# New domain can send SIGCHLD to its caller.
+#line 162
+allow derive_sdk dumpstate:process sigchld;
+#line 162
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 162
+dontaudit dumpstate derive_sdk:process noatsecure;
+#line 162
+# XXX dontaudit candidate but requires further study.
+#line 162
+allow dumpstate derive_sdk:process { siginh rlimitinh };
+#line 162
+
+#line 162
+# Make the transition occur by default.
+#line 162
+type_transition dumpstate derive_sdk_exec:process derive_sdk;
+#line 162
+
+
+
+#line 164
+typeattribute dumpstate netdomain;
+#line 164
+
+
+#line 165
+# Call the servicemanager and transfer references to it.
+#line 165
+allow dumpstate servicemanager:binder { call transfer };
+#line 165
+# Allow servicemanager to send out callbacks
+#line 165
+allow servicemanager dumpstate:binder { call transfer };
+#line 165
+# servicemanager performs getpidcon on clients.
+#line 165
+allow servicemanager dumpstate:dir search;
+#line 165
+allow servicemanager dumpstate:file { read open };
+#line 165
+allow servicemanager dumpstate:process getattr;
+#line 165
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 165
+# all domains in domain.te.
+#line 165
+
+
+#line 166
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 166
+# deprecated.
+#line 166
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 166
+allow dumpstate sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 166
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 166
+allow dumpstate self:{ capability2 cap2_userns } block_suspend;
+#line 166
+# system_suspend permissions
+#line 166
+
+#line 166
+# Call the server domain and optionally transfer references to it.
+#line 166
+allow dumpstate system_suspend_server:binder { call transfer };
+#line 166
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 166
+allow system_suspend_server dumpstate:binder transfer;
+#line 166
+# Receive and use open files from the server.
+#line 166
+allow dumpstate system_suspend_server:fd use;
+#line 166
+
+#line 166
+allow dumpstate system_suspend_hwservice:hwservice_manager find;
+#line 166
+# halclientdomain permissions
+#line 166
+
+#line 166
+# Call the hwservicemanager and transfer references to it.
+#line 166
+allow dumpstate hwservicemanager:binder { call transfer };
+#line 166
+# Allow hwservicemanager to send out callbacks
+#line 166
+allow hwservicemanager dumpstate:binder { call transfer };
+#line 166
+# hwservicemanager performs getpidcon on clients.
+#line 166
+allow hwservicemanager dumpstate:dir search;
+#line 166
+allow hwservicemanager dumpstate:file { read open map };
+#line 166
+allow hwservicemanager dumpstate:process getattr;
+#line 166
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 166
+# all domains in domain.te.
+#line 166
+
+#line 166
+
+#line 166
+allow dumpstate hwservicemanager_prop:file { getattr open read map };
+#line 166
+
+#line 166
+allow dumpstate hidl_manager_hwservice:hwservice_manager find;
+#line 166
+# AIDL suspend hal permissions
+#line 166
+allow dumpstate hal_system_suspend_service:service_manager find;
+#line 166
+
+#line 166
+# Call the servicemanager and transfer references to it.
+#line 166
+allow dumpstate servicemanager:binder { call transfer };
+#line 166
+# Allow servicemanager to send out callbacks
+#line 166
+allow servicemanager dumpstate:binder { call transfer };
+#line 166
+# servicemanager performs getpidcon on clients.
+#line 166
+allow servicemanager dumpstate:dir search;
+#line 166
+allow servicemanager dumpstate:file { read open };
+#line 166
+allow servicemanager dumpstate:process getattr;
+#line 166
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 166
+# all domains in domain.te.
+#line 166
+
+#line 166
+
+
+# Allow setting process priority, protect from OOM killer, and dropping
+# privileges by switching UID / GID
+allow dumpstate self:{ capability cap_userns } { setuid setgid sys_resource };
+
+# Allow dumpstate to scan through /proc/pid for all processes
+
+#line 173
+allow dumpstate domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 173
+allow dumpstate domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 173
+
+
+allow dumpstate self:{ capability cap_userns } {
+    # Send signals to processes
+    kill
+    # Run iptables
+    net_raw
+    net_admin
+};
+
+# Allow executing files on system, such as:
+#   /system/bin/toolbox
+#   /system/bin/logcat
+#   /system/bin/dumpsys
+allow dumpstate system_file:file execute_no_trans;
+allow dumpstate vendor_file:file execute_no_trans;
+allow dumpstate toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# hidl searches for files in /system/lib(64)/hw/
+allow dumpstate system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Create and write into /data/anr/
+allow dumpstate self:{ capability cap_userns } { dac_override dac_read_search chown fowner fsetid };
+allow dumpstate anr_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow dumpstate anr_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow reading /data/system/uiderrors.txt
+# TODO: scope this down.
+allow dumpstate system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dumpstate to append into apps' private files.
+allow dumpstate app_data_file_type:file append;
+
+# Read dmesg
+allow dumpstate self:{ capability2 cap2_userns } syslog;
+allow dumpstate kernel:system syslog_read;
+
+# Read /sys/fs/pstore/console-ramoops
+allow dumpstate pstorefs:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+
+# Get process attributes
+allow dumpstate domain:process getattr;
+
+# Signal java processes to dump their stack
+allow dumpstate { appdomain system_server zygote app_zygote }:process signal;
+
+# Signal native processes to dump their stack.
+allow dumpstate {
+  # This list comes from native_processes_to_dump in dumputils/dump_utils.c
+  audioserver
+  cameraserver
+  drmserver
+  inputflinger
+  mediadrmserver
+  mediaextractor
+  mediametrics
+  mediaserver
+  mediaswcodec
+  sdcardd
+  surfaceflinger
+  vold
+
+  # This list comes from hal_interfaces_to_dump in dumputils/dump_utils.c
+  evsmanagerd
+  hal_audio_server
+  hal_audiocontrol_server
+  hal_bluetooth_server
+  hal_broadcastradio_server
+  hal_camera_server
+  hal_codec2_server
+  hal_drm_server
+  hal_evs_server
+  hal_face_server
+  hal_fingerprint_server
+  hal_graphics_allocator_server
+  hal_graphics_composer_server
+  hal_health_server
+  hal_input_processor_server
+  hal_neuralnetworks_server
+  hal_omx_server
+  hal_power_server
+  hal_power_stats_server
+  hal_sensors_server
+  hal_thermal_server
+  hal_vehicle_server
+  hal_vr_server
+  system_suspend_server
+}:process signal;
+
+# On userdebug, dumpstate may fork and execute a command as su. Make sure the
+# timeout logic is allowed to terminate the child process if necessary.
+#line 267
+
+
+# Connect to tombstoned to intercept dumps.
+
+#line 270
+allow dumpstate tombstoned_intercept_socket:sock_file write;
+#line 270
+allow dumpstate tombstoned:unix_stream_socket connectto;
+#line 270
+
+
+# Access to /sys
+allow dumpstate sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+
+allow dumpstate {
+  sysfs_devices_block
+  sysfs_dm
+  sysfs_loop
+  sysfs_usb
+  sysfs_zram
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Ignore other file access under /sys.
+dontaudit dumpstate sysfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# Other random bits of data we want to collect
+
+#line 287
+  allow dumpstate debugfs:file { getattr open read ioctl lock map watch watch_reads };
+#line 287
+  auditallow dumpstate debugfs:file { getattr open read ioctl lock map watch watch_reads };
+#line 287
+
+#line 287
+  allow dumpstate debugfs_mmc:file { getattr open read ioctl lock map watch watch_reads };
+#line 292
+
+
+# df for
+allow dumpstate {
+  block_device
+  cache_file
+  metadata_file
+  rootfs
+  selinuxfs
+  storage_file
+  tmpfs
+}:dir { search getattr };
+allow dumpstate fuse_device:chr_file getattr;
+allow dumpstate { dm_device cache_block_device }:blk_file getattr;
+allow dumpstate { cache_file rootfs }:lnk_file { getattr read };
+
+# Read /dev/cpuctl and /dev/cpuset
+
+#line 309
+allow dumpstate cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 309
+allow dumpstate cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 309
+
+
+#line 310
+allow dumpstate cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 310
+allow dumpstate cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 310
+
+
+# Allow dumpstate to make binder calls to any binder service
+
+#line 313
+# Call the server domain and optionally transfer references to it.
+#line 313
+allow dumpstate binderservicedomain:binder { call transfer };
+#line 313
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 313
+allow binderservicedomain dumpstate:binder transfer;
+#line 313
+# Receive and use open files from the server.
+#line 313
+allow dumpstate binderservicedomain:fd use;
+#line 313
+
+
+#line 314
+# Call the server domain and optionally transfer references to it.
+#line 314
+allow dumpstate { appdomain artd netd wificond }:binder { call transfer };
+#line 314
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 314
+allow { appdomain artd netd wificond } dumpstate:binder transfer;
+#line 314
+# Receive and use open files from the server.
+#line 314
+allow dumpstate { appdomain artd netd wificond }:fd use;
+#line 314
+
+
+# Allow dumpstate to call dump() on specific hals.
+
+#line 317
+  
+#line 317
+typeattribute dumpstate halclientdomain;
+#line 317
+typeattribute dumpstate hal_audio_client;
+#line 317
+
+#line 317
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 317
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 317
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 317
+
+#line 317
+typeattribute dumpstate hal_audio;
+#line 317
+# Find passthrough HAL implementations
+#line 317
+allow hal_audio system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 317
+allow hal_audio vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 317
+allow hal_audio vendor_file:file { read open getattr execute map };
+#line 317
+
+#line 317
+;
+#line 317
+  allow hal_audio_server dumpstate:fifo_file write;
+#line 317
+  allow hal_audio_server dumpstate:fd use;
+#line 317
+
+
+#line 318
+  
+#line 318
+typeattribute dumpstate halclientdomain;
+#line 318
+typeattribute dumpstate hal_audiocontrol_client;
+#line 318
+
+#line 318
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 318
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 318
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 318
+
+#line 318
+typeattribute dumpstate hal_audiocontrol;
+#line 318
+# Find passthrough HAL implementations
+#line 318
+allow hal_audiocontrol system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 318
+allow hal_audiocontrol vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 318
+allow hal_audiocontrol vendor_file:file { read open getattr execute map };
+#line 318
+
+#line 318
+;
+#line 318
+  allow hal_audiocontrol_server dumpstate:fifo_file write;
+#line 318
+  allow hal_audiocontrol_server dumpstate:fd use;
+#line 318
+
+
+#line 319
+  
+#line 319
+typeattribute dumpstate halclientdomain;
+#line 319
+typeattribute dumpstate hal_authgraph_client;
+#line 319
+
+#line 319
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 319
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 319
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 319
+
+#line 319
+typeattribute dumpstate hal_authgraph;
+#line 319
+# Find passthrough HAL implementations
+#line 319
+allow hal_authgraph system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 319
+allow hal_authgraph vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 319
+allow hal_authgraph vendor_file:file { read open getattr execute map };
+#line 319
+
+#line 319
+;
+#line 319
+  allow hal_authgraph_server dumpstate:fifo_file write;
+#line 319
+  allow hal_authgraph_server dumpstate:fd use;
+#line 319
+
+
+#line 320
+  
+#line 320
+typeattribute dumpstate halclientdomain;
+#line 320
+typeattribute dumpstate hal_authsecret_client;
+#line 320
+
+#line 320
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 320
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 320
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 320
+
+#line 320
+typeattribute dumpstate hal_authsecret;
+#line 320
+# Find passthrough HAL implementations
+#line 320
+allow hal_authsecret system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 320
+allow hal_authsecret vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 320
+allow hal_authsecret vendor_file:file { read open getattr execute map };
+#line 320
+
+#line 320
+;
+#line 320
+  allow hal_authsecret_server dumpstate:fifo_file write;
+#line 320
+  allow hal_authsecret_server dumpstate:fd use;
+#line 320
+
+
+#line 321
+  
+#line 321
+typeattribute dumpstate halclientdomain;
+#line 321
+typeattribute dumpstate hal_bluetooth_client;
+#line 321
+
+#line 321
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 321
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 321
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 321
+
+#line 321
+typeattribute dumpstate hal_bluetooth;
+#line 321
+# Find passthrough HAL implementations
+#line 321
+allow hal_bluetooth system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 321
+allow hal_bluetooth vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 321
+allow hal_bluetooth vendor_file:file { read open getattr execute map };
+#line 321
+
+#line 321
+;
+#line 321
+  allow hal_bluetooth_server dumpstate:fifo_file write;
+#line 321
+  allow hal_bluetooth_server dumpstate:fd use;
+#line 321
+
+
+#line 322
+  
+#line 322
+typeattribute dumpstate halclientdomain;
+#line 322
+typeattribute dumpstate hal_broadcastradio_client;
+#line 322
+
+#line 322
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 322
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 322
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 322
+
+#line 322
+typeattribute dumpstate hal_broadcastradio;
+#line 322
+# Find passthrough HAL implementations
+#line 322
+allow hal_broadcastradio system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 322
+allow hal_broadcastradio vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 322
+allow hal_broadcastradio vendor_file:file { read open getattr execute map };
+#line 322
+
+#line 322
+;
+#line 322
+  allow hal_broadcastradio_server dumpstate:fifo_file write;
+#line 322
+  allow hal_broadcastradio_server dumpstate:fd use;
+#line 322
+
+
+#line 323
+  
+#line 323
+typeattribute dumpstate halclientdomain;
+#line 323
+typeattribute dumpstate hal_camera_client;
+#line 323
+
+#line 323
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 323
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 323
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 323
+
+#line 323
+typeattribute dumpstate hal_camera;
+#line 323
+# Find passthrough HAL implementations
+#line 323
+allow hal_camera system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 323
+allow hal_camera vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 323
+allow hal_camera vendor_file:file { read open getattr execute map };
+#line 323
+
+#line 323
+;
+#line 323
+  allow hal_camera_server dumpstate:fifo_file write;
+#line 323
+  allow hal_camera_server dumpstate:fd use;
+#line 323
+
+
+#line 324
+  
+#line 324
+typeattribute dumpstate halclientdomain;
+#line 324
+typeattribute dumpstate hal_codec2_client;
+#line 324
+
+#line 324
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 324
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 324
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 324
+
+#line 324
+typeattribute dumpstate hal_codec2;
+#line 324
+# Find passthrough HAL implementations
+#line 324
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 324
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 324
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 324
+
+#line 324
+;
+#line 324
+  allow hal_codec2_server dumpstate:fifo_file write;
+#line 324
+  allow hal_codec2_server dumpstate:fd use;
+#line 324
+
+
+#line 325
+  
+#line 325
+typeattribute dumpstate halclientdomain;
+#line 325
+typeattribute dumpstate hal_contexthub_client;
+#line 325
+
+#line 325
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 325
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 325
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 325
+
+#line 325
+typeattribute dumpstate hal_contexthub;
+#line 325
+# Find passthrough HAL implementations
+#line 325
+allow hal_contexthub system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 325
+allow hal_contexthub vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 325
+allow hal_contexthub vendor_file:file { read open getattr execute map };
+#line 325
+
+#line 325
+;
+#line 325
+  allow hal_contexthub_server dumpstate:fifo_file write;
+#line 325
+  allow hal_contexthub_server dumpstate:fd use;
+#line 325
+
+
+#line 326
+  
+#line 326
+typeattribute dumpstate halclientdomain;
+#line 326
+typeattribute dumpstate hal_drm_client;
+#line 326
+
+#line 326
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 326
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 326
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 326
+
+#line 326
+typeattribute dumpstate hal_drm;
+#line 326
+# Find passthrough HAL implementations
+#line 326
+allow hal_drm system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 326
+allow hal_drm vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 326
+allow hal_drm vendor_file:file { read open getattr execute map };
+#line 326
+
+#line 326
+;
+#line 326
+  allow hal_drm_server dumpstate:fifo_file write;
+#line 326
+  allow hal_drm_server dumpstate:fd use;
+#line 326
+
+
+#line 327
+  
+#line 327
+typeattribute dumpstate halclientdomain;
+#line 327
+typeattribute dumpstate hal_dumpstate_client;
+#line 327
+
+#line 327
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 327
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 327
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 327
+
+#line 327
+typeattribute dumpstate hal_dumpstate;
+#line 327
+# Find passthrough HAL implementations
+#line 327
+allow hal_dumpstate system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 327
+allow hal_dumpstate vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 327
+allow hal_dumpstate vendor_file:file { read open getattr execute map };
+#line 327
+
+#line 327
+;
+#line 327
+  allow hal_dumpstate_server dumpstate:fifo_file write;
+#line 327
+  allow hal_dumpstate_server dumpstate:fd use;
+#line 327
+
+
+#line 328
+  
+#line 328
+typeattribute dumpstate halclientdomain;
+#line 328
+typeattribute dumpstate hal_evs_client;
+#line 328
+
+#line 328
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 328
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 328
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 328
+
+#line 328
+typeattribute dumpstate hal_evs;
+#line 328
+# Find passthrough HAL implementations
+#line 328
+allow hal_evs system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 328
+allow hal_evs vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 328
+allow hal_evs vendor_file:file { read open getattr execute map };
+#line 328
+
+#line 328
+;
+#line 328
+  allow hal_evs_server dumpstate:fifo_file write;
+#line 328
+  allow hal_evs_server dumpstate:fd use;
+#line 328
+
+
+#line 329
+  
+#line 329
+typeattribute dumpstate halclientdomain;
+#line 329
+typeattribute dumpstate hal_face_client;
+#line 329
+
+#line 329
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 329
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 329
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 329
+
+#line 329
+typeattribute dumpstate hal_face;
+#line 329
+# Find passthrough HAL implementations
+#line 329
+allow hal_face system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 329
+allow hal_face vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 329
+allow hal_face vendor_file:file { read open getattr execute map };
+#line 329
+
+#line 329
+;
+#line 329
+  allow hal_face_server dumpstate:fifo_file write;
+#line 329
+  allow hal_face_server dumpstate:fd use;
+#line 329
+
+
+#line 330
+  
+#line 330
+typeattribute dumpstate halclientdomain;
+#line 330
+typeattribute dumpstate hal_fingerprint_client;
+#line 330
+
+#line 330
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 330
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 330
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 330
+
+#line 330
+typeattribute dumpstate hal_fingerprint;
+#line 330
+# Find passthrough HAL implementations
+#line 330
+allow hal_fingerprint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 330
+allow hal_fingerprint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 330
+allow hal_fingerprint vendor_file:file { read open getattr execute map };
+#line 330
+
+#line 330
+;
+#line 330
+  allow hal_fingerprint_server dumpstate:fifo_file write;
+#line 330
+  allow hal_fingerprint_server dumpstate:fd use;
+#line 330
+
+
+#line 331
+  
+#line 331
+typeattribute dumpstate halclientdomain;
+#line 331
+typeattribute dumpstate hal_gnss_client;
+#line 331
+
+#line 331
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 331
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 331
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 331
+
+#line 331
+typeattribute dumpstate hal_gnss;
+#line 331
+# Find passthrough HAL implementations
+#line 331
+allow hal_gnss system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 331
+allow hal_gnss vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 331
+allow hal_gnss vendor_file:file { read open getattr execute map };
+#line 331
+
+#line 331
+;
+#line 331
+  allow hal_gnss_server dumpstate:fifo_file write;
+#line 331
+  allow hal_gnss_server dumpstate:fd use;
+#line 331
+
+
+#line 332
+  
+#line 332
+typeattribute dumpstate halclientdomain;
+#line 332
+typeattribute dumpstate hal_graphics_allocator_client;
+#line 332
+
+#line 332
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 332
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 332
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 332
+
+#line 332
+typeattribute dumpstate hal_graphics_allocator;
+#line 332
+# Find passthrough HAL implementations
+#line 332
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 332
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 332
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 332
+
+#line 332
+;
+#line 332
+  allow hal_graphics_allocator_server dumpstate:fifo_file write;
+#line 332
+  allow hal_graphics_allocator_server dumpstate:fd use;
+#line 332
+
+
+#line 333
+  
+#line 333
+typeattribute dumpstate halclientdomain;
+#line 333
+typeattribute dumpstate hal_graphics_composer_client;
+#line 333
+
+#line 333
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 333
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 333
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 333
+
+#line 333
+typeattribute dumpstate hal_graphics_composer;
+#line 333
+# Find passthrough HAL implementations
+#line 333
+allow hal_graphics_composer system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 333
+allow hal_graphics_composer vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 333
+allow hal_graphics_composer vendor_file:file { read open getattr execute map };
+#line 333
+
+#line 333
+;
+#line 333
+  allow hal_graphics_composer_server dumpstate:fifo_file write;
+#line 333
+  allow hal_graphics_composer_server dumpstate:fd use;
+#line 333
+
+
+#line 334
+  
+#line 334
+typeattribute dumpstate halclientdomain;
+#line 334
+typeattribute dumpstate hal_health_client;
+#line 334
+
+#line 334
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 334
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 334
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 334
+
+#line 334
+typeattribute dumpstate hal_health;
+#line 334
+# Find passthrough HAL implementations
+#line 334
+allow hal_health system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 334
+allow hal_health vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 334
+allow hal_health vendor_file:file { read open getattr execute map };
+#line 334
+
+#line 334
+;
+#line 334
+  allow hal_health_server dumpstate:fifo_file write;
+#line 334
+  allow hal_health_server dumpstate:fd use;
+#line 334
+
+
+#line 335
+  
+#line 335
+typeattribute dumpstate halclientdomain;
+#line 335
+typeattribute dumpstate hal_identity_client;
+#line 335
+
+#line 335
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 335
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 335
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 335
+
+#line 335
+typeattribute dumpstate hal_identity;
+#line 335
+# Find passthrough HAL implementations
+#line 335
+allow hal_identity system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 335
+allow hal_identity vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 335
+allow hal_identity vendor_file:file { read open getattr execute map };
+#line 335
+
+#line 335
+;
+#line 335
+  allow hal_identity_server dumpstate:fifo_file write;
+#line 335
+  allow hal_identity_server dumpstate:fd use;
+#line 335
+
+
+#line 336
+  
+#line 336
+typeattribute dumpstate halclientdomain;
+#line 336
+typeattribute dumpstate hal_input_processor_client;
+#line 336
+
+#line 336
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 336
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 336
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 336
+
+#line 336
+typeattribute dumpstate hal_input_processor;
+#line 336
+# Find passthrough HAL implementations
+#line 336
+allow hal_input_processor system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 336
+allow hal_input_processor vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 336
+allow hal_input_processor vendor_file:file { read open getattr execute map };
+#line 336
+
+#line 336
+;
+#line 336
+  allow hal_input_processor_server dumpstate:fifo_file write;
+#line 336
+  allow hal_input_processor_server dumpstate:fd use;
+#line 336
+
+
+#line 337
+  
+#line 337
+typeattribute dumpstate halclientdomain;
+#line 337
+typeattribute dumpstate hal_keymint_client;
+#line 337
+
+#line 337
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 337
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 337
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 337
+
+#line 337
+typeattribute dumpstate hal_keymint;
+#line 337
+# Find passthrough HAL implementations
+#line 337
+allow hal_keymint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 337
+allow hal_keymint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 337
+allow hal_keymint vendor_file:file { read open getattr execute map };
+#line 337
+
+#line 337
+;
+#line 337
+  allow hal_keymint_server dumpstate:fifo_file write;
+#line 337
+  allow hal_keymint_server dumpstate:fd use;
+#line 337
+
+
+#line 338
+  
+#line 338
+typeattribute dumpstate halclientdomain;
+#line 338
+typeattribute dumpstate hal_light_client;
+#line 338
+
+#line 338
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 338
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 338
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 338
+
+#line 338
+typeattribute dumpstate hal_light;
+#line 338
+# Find passthrough HAL implementations
+#line 338
+allow hal_light system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 338
+allow hal_light vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 338
+allow hal_light vendor_file:file { read open getattr execute map };
+#line 338
+
+#line 338
+;
+#line 338
+  allow hal_light_server dumpstate:fifo_file write;
+#line 338
+  allow hal_light_server dumpstate:fd use;
+#line 338
+
+
+#line 339
+  
+#line 339
+typeattribute dumpstate halclientdomain;
+#line 339
+typeattribute dumpstate hal_memtrack_client;
+#line 339
+
+#line 339
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 339
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 339
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 339
+
+#line 339
+typeattribute dumpstate hal_memtrack;
+#line 339
+# Find passthrough HAL implementations
+#line 339
+allow hal_memtrack system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 339
+allow hal_memtrack vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 339
+allow hal_memtrack vendor_file:file { read open getattr execute map };
+#line 339
+
+#line 339
+;
+#line 339
+  allow hal_memtrack_server dumpstate:fifo_file write;
+#line 339
+  allow hal_memtrack_server dumpstate:fd use;
+#line 339
+
+
+#line 340
+  
+#line 340
+typeattribute dumpstate halclientdomain;
+#line 340
+typeattribute dumpstate hal_neuralnetworks_client;
+#line 340
+
+#line 340
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 340
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 340
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 340
+
+#line 340
+typeattribute dumpstate hal_neuralnetworks;
+#line 340
+# Find passthrough HAL implementations
+#line 340
+allow hal_neuralnetworks system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 340
+allow hal_neuralnetworks vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 340
+allow hal_neuralnetworks vendor_file:file { read open getattr execute map };
+#line 340
+
+#line 340
+;
+#line 340
+  allow hal_neuralnetworks_server dumpstate:fifo_file write;
+#line 340
+  allow hal_neuralnetworks_server dumpstate:fd use;
+#line 340
+
+
+#line 341
+  
+#line 341
+typeattribute dumpstate halclientdomain;
+#line 341
+typeattribute dumpstate hal_nfc_client;
+#line 341
+
+#line 341
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 341
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 341
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 341
+
+#line 341
+typeattribute dumpstate hal_nfc;
+#line 341
+# Find passthrough HAL implementations
+#line 341
+allow hal_nfc system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 341
+allow hal_nfc vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 341
+allow hal_nfc vendor_file:file { read open getattr execute map };
+#line 341
+
+#line 341
+;
+#line 341
+  allow hal_nfc_server dumpstate:fifo_file write;
+#line 341
+  allow hal_nfc_server dumpstate:fd use;
+#line 341
+
+
+#line 342
+  
+#line 342
+typeattribute dumpstate halclientdomain;
+#line 342
+typeattribute dumpstate hal_oemlock_client;
+#line 342
+
+#line 342
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 342
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 342
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 342
+
+#line 342
+typeattribute dumpstate hal_oemlock;
+#line 342
+# Find passthrough HAL implementations
+#line 342
+allow hal_oemlock system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 342
+allow hal_oemlock vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 342
+allow hal_oemlock vendor_file:file { read open getattr execute map };
+#line 342
+
+#line 342
+;
+#line 342
+  allow hal_oemlock_server dumpstate:fifo_file write;
+#line 342
+  allow hal_oemlock_server dumpstate:fd use;
+#line 342
+
+
+#line 343
+  
+#line 343
+typeattribute dumpstate halclientdomain;
+#line 343
+typeattribute dumpstate hal_power_client;
+#line 343
+
+#line 343
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 343
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 343
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 343
+
+#line 343
+typeattribute dumpstate hal_power;
+#line 343
+# Find passthrough HAL implementations
+#line 343
+allow hal_power system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 343
+allow hal_power vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 343
+allow hal_power vendor_file:file { read open getattr execute map };
+#line 343
+
+#line 343
+;
+#line 343
+  allow hal_power_server dumpstate:fifo_file write;
+#line 343
+  allow hal_power_server dumpstate:fd use;
+#line 343
+
+
+#line 344
+  
+#line 344
+typeattribute dumpstate halclientdomain;
+#line 344
+typeattribute dumpstate hal_power_stats_client;
+#line 344
+
+#line 344
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 344
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 344
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 344
+
+#line 344
+typeattribute dumpstate hal_power_stats;
+#line 344
+# Find passthrough HAL implementations
+#line 344
+allow hal_power_stats system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 344
+allow hal_power_stats vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 344
+allow hal_power_stats vendor_file:file { read open getattr execute map };
+#line 344
+
+#line 344
+;
+#line 344
+  allow hal_power_stats_server dumpstate:fifo_file write;
+#line 344
+  allow hal_power_stats_server dumpstate:fd use;
+#line 344
+
+
+#line 345
+  
+#line 345
+typeattribute dumpstate halclientdomain;
+#line 345
+typeattribute dumpstate hal_rebootescrow_client;
+#line 345
+
+#line 345
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 345
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 345
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 345
+
+#line 345
+typeattribute dumpstate hal_rebootescrow;
+#line 345
+# Find passthrough HAL implementations
+#line 345
+allow hal_rebootescrow system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 345
+allow hal_rebootescrow vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 345
+allow hal_rebootescrow vendor_file:file { read open getattr execute map };
+#line 345
+
+#line 345
+;
+#line 345
+  allow hal_rebootescrow_server dumpstate:fifo_file write;
+#line 345
+  allow hal_rebootescrow_server dumpstate:fd use;
+#line 345
+
+
+#line 346
+  
+#line 346
+typeattribute dumpstate halclientdomain;
+#line 346
+typeattribute dumpstate hal_secretkeeper_client;
+#line 346
+
+#line 346
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 346
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 346
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 346
+
+#line 346
+typeattribute dumpstate hal_secretkeeper;
+#line 346
+# Find passthrough HAL implementations
+#line 346
+allow hal_secretkeeper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 346
+allow hal_secretkeeper vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 346
+allow hal_secretkeeper vendor_file:file { read open getattr execute map };
+#line 346
+
+#line 346
+;
+#line 346
+  allow hal_secretkeeper_server dumpstate:fifo_file write;
+#line 346
+  allow hal_secretkeeper_server dumpstate:fd use;
+#line 346
+
+
+#line 347
+  
+#line 347
+typeattribute dumpstate halclientdomain;
+#line 347
+typeattribute dumpstate hal_sensors_client;
+#line 347
+
+#line 347
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 347
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 347
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 347
+
+#line 347
+typeattribute dumpstate hal_sensors;
+#line 347
+# Find passthrough HAL implementations
+#line 347
+allow hal_sensors system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 347
+allow hal_sensors vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 347
+allow hal_sensors vendor_file:file { read open getattr execute map };
+#line 347
+
+#line 347
+;
+#line 347
+  allow hal_sensors_server dumpstate:fifo_file write;
+#line 347
+  allow hal_sensors_server dumpstate:fd use;
+#line 347
+
+
+#line 348
+  
+#line 348
+typeattribute dumpstate halclientdomain;
+#line 348
+typeattribute dumpstate hal_thermal_client;
+#line 348
+
+#line 348
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 348
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 348
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 348
+
+#line 348
+typeattribute dumpstate hal_thermal;
+#line 348
+# Find passthrough HAL implementations
+#line 348
+allow hal_thermal system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 348
+allow hal_thermal vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 348
+allow hal_thermal vendor_file:file { read open getattr execute map };
+#line 348
+
+#line 348
+;
+#line 348
+  allow hal_thermal_server dumpstate:fifo_file write;
+#line 348
+  allow hal_thermal_server dumpstate:fd use;
+#line 348
+
+
+#line 349
+  
+#line 349
+typeattribute dumpstate halclientdomain;
+#line 349
+typeattribute dumpstate hal_vehicle_client;
+#line 349
+
+#line 349
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 349
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 349
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 349
+
+#line 349
+typeattribute dumpstate hal_vehicle;
+#line 349
+# Find passthrough HAL implementations
+#line 349
+allow hal_vehicle system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 349
+allow hal_vehicle vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 349
+allow hal_vehicle vendor_file:file { read open getattr execute map };
+#line 349
+
+#line 349
+;
+#line 349
+  allow hal_vehicle_server dumpstate:fifo_file write;
+#line 349
+  allow hal_vehicle_server dumpstate:fd use;
+#line 349
+
+
+#line 350
+  
+#line 350
+typeattribute dumpstate halclientdomain;
+#line 350
+typeattribute dumpstate hal_vm_capabilities_client;
+#line 350
+
+#line 350
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 350
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 350
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 350
+
+#line 350
+typeattribute dumpstate hal_vm_capabilities;
+#line 350
+# Find passthrough HAL implementations
+#line 350
+allow hal_vm_capabilities system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 350
+allow hal_vm_capabilities vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 350
+allow hal_vm_capabilities vendor_file:file { read open getattr execute map };
+#line 350
+
+#line 350
+;
+#line 350
+  allow hal_vm_capabilities_server dumpstate:fifo_file write;
+#line 350
+  allow hal_vm_capabilities_server dumpstate:fd use;
+#line 350
+
+
+#line 351
+  
+#line 351
+typeattribute dumpstate halclientdomain;
+#line 351
+typeattribute dumpstate hal_weaver_client;
+#line 351
+
+#line 351
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 351
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 351
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 351
+
+#line 351
+typeattribute dumpstate hal_weaver;
+#line 351
+# Find passthrough HAL implementations
+#line 351
+allow hal_weaver system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 351
+allow hal_weaver vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 351
+allow hal_weaver vendor_file:file { read open getattr execute map };
+#line 351
+
+#line 351
+;
+#line 351
+  allow hal_weaver_server dumpstate:fifo_file write;
+#line 351
+  allow hal_weaver_server dumpstate:fd use;
+#line 351
+
+
+#line 352
+  
+#line 352
+typeattribute dumpstate halclientdomain;
+#line 352
+typeattribute dumpstate hal_wifi_client;
+#line 352
+
+#line 352
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 352
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 352
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 352
+
+#line 352
+typeattribute dumpstate hal_wifi;
+#line 352
+# Find passthrough HAL implementations
+#line 352
+allow hal_wifi system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 352
+allow hal_wifi vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 352
+allow hal_wifi vendor_file:file { read open getattr execute map };
+#line 352
+
+#line 352
+;
+#line 352
+  allow hal_wifi_server dumpstate:fifo_file write;
+#line 352
+  allow hal_wifi_server dumpstate:fd use;
+#line 352
+
+
+# Vibrate the device after we are done collecting the bugreport
+
+#line 355
+typeattribute dumpstate halclientdomain;
+#line 355
+typeattribute dumpstate hal_vibrator_client;
+#line 355
+
+#line 355
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 355
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 355
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 355
+
+#line 355
+typeattribute dumpstate hal_vibrator;
+#line 355
+# Find passthrough HAL implementations
+#line 355
+allow hal_vibrator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 355
+allow hal_vibrator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 355
+allow hal_vibrator vendor_file:file { read open getattr execute map };
+#line 355
+
+#line 355
+
+
+# Reading /proc/PID/maps of other processes
+allow dumpstate self:{ capability cap_userns } sys_ptrace;
+
+# Allow the bugreport service to create a file in
+# /data/data/com.android.shell/files/bugreports/bugreport
+allow dumpstate shell_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow dumpstate shell_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Run a shell.
+allow dumpstate shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# For running am and similar framework commands.
+# Run /system/bin/app_process.
+allow dumpstate zygote_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# For Bluetooth
+allow dumpstate bluetooth_data_file:dir search;
+allow dumpstate bluetooth_logs_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate bluetooth_logs_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# For Nfc
+allow dumpstate nfc_logs_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate nfc_logs_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# For uwb
+allow dumpstate apex_module_data_file:dir search;
+allow dumpstate apex_system_server_data_file:dir search;
+allow dumpstate apex_uwb_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate apex_uwb_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Dumpstate calls screencap, which grabs a screenshot. Needs gpu access
+allow dumpstate gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow dumpstate gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# logd access
+
+#line 392
+allow dumpstate logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 392
+
+#line 392
+allow dumpstate logdr_socket:sock_file write;
+#line 392
+allow dumpstate logd:unix_stream_socket connectto;
+#line 392
+
+#line 392
+
+
+#line 393
+# Group AID_LOG checked by filesystem & logd
+#line 393
+# to permit control commands
+#line 393
+
+#line 393
+allow dumpstate logd_socket:sock_file write;
+#line 393
+allow dumpstate logd:unix_stream_socket connectto;
+#line 393
+
+#line 393
+
+
+#line 394
+allow dumpstate runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 394
+
+
+# Read files in /proc
+allow dumpstate {
+  proc_allocinfo
+  proc_bootconfig
+  proc_buddyinfo
+  proc_cmdline
+  proc_meminfo
+  proc_modules
+  proc_net_type
+  proc_pipe_conf
+  proc_pagetypeinfo
+  proc_qtaguid_ctrl
+  proc_qtaguid_stat
+  proc_slabinfo
+  proc_version
+  proc_vmallocinfo
+  proc_vmstat
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read network state info files.
+allow dumpstate net_data_file:dir search;
+allow dumpstate net_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# List sockets via ss.
+allow dumpstate self:netlink_tcpdiag_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_read };
+
+# Access /data/tombstones.
+allow dumpstate tombstone_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate tombstone_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /cache/recovery
+allow dumpstate cache_recovery_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate cache_recovery_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /data/misc/recovery
+allow dumpstate recovery_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate recovery_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /data/misc/update_engine & /data/misc/update_engine_log
+allow dumpstate { update_engine_data_file update_engine_log_data_file }:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate { update_engine_data_file update_engine_log_data_file }:file { getattr open read ioctl lock map watch watch_reads };
+# Access /data/misc/snapuserd_log
+allow dumpstate snapuserd_log_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate snapuserd_log_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /data/misc/profiles/{cur,ref}/
+#line 445
+
+
+# Access /data/misc/logd
+allow dumpstate misc_logd_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate misc_logd_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /data/misc/prereboot
+allow dumpstate prereboot_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate prereboot_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow dumpstate app_fuse_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate overlayfs_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+allow dumpstate {
+  service_manager_type
+  -apex_service
+  -dumpstate_service
+  -gatekeeper_service
+  -hal_service_type
+  -virtual_touchpad_service
+  -vold_service
+  -fwk_vold_service
+  -default_android_service
+}:service_manager find;
+# suppress denials for services dumpstate should not be accessing.
+dontaudit dumpstate {
+  apex_service
+  dumpstate_service
+  gatekeeper_service
+  hal_service_type
+  virtual_touchpad_service
+  vold_service
+  fwk_vold_service
+}:service_manager find;
+
+# Most of these are neverallowed.
+dontaudit dumpstate hwservice_manager_type:hwservice_manager find;
+
+allow dumpstate servicemanager:service_manager list;
+allow dumpstate hwservicemanager:hwservice_manager list;
+
+allow dumpstate devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read any system properties
+
+#line 489
+allow dumpstate property_type:file { getattr open read map };
+#line 489
+
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow dumpstate media_rw_data_file:dir getattr;
+allow dumpstate proc_interrupts:file { getattr open read ioctl lock map watch watch_reads };
+allow dumpstate proc_zoneinfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# Create a service for talking back to system_server
+
+#line 499
+  allow dumpstate dumpstate_service:service_manager { add find };
+#line 499
+  neverallow { domain -dumpstate } dumpstate_service:service_manager add;
+#line 499
+
+#line 499
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 499
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 499
+  
+#line 499
+
+
+# use /dev/ion for screen capture
+allow dumpstate ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dumpstate to run top
+allow dumpstate proc_stat:file { getattr open read ioctl lock map watch watch_reads };
+
+allow dumpstate proc_pressure_cpu:file { getattr open read ioctl lock map watch watch_reads };
+allow dumpstate proc_pressure_mem:file { getattr open read ioctl lock map watch watch_reads };
+allow dumpstate proc_pressure_io:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dumpstate to run ps
+allow dumpstate proc_pid_max:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow dumpstate to talk to installd over binder
+
+#line 515
+# Call the server domain and optionally transfer references to it.
+#line 515
+allow dumpstate installd:binder { call transfer };
+#line 515
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 515
+allow installd dumpstate:binder transfer;
+#line 515
+# Receive and use open files from the server.
+#line 515
+allow dumpstate installd:fd use;
+#line 515
+;
+
+# Allow dumpstate to run ip xfrm policy
+allow dumpstate self:netlink_xfrm_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_read };
+
+# Allow dumpstate to run iotop
+allow dumpstate self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+# newer kernels (e.g. 4.4) have a new class for sockets
+allow dumpstate self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Allow dumpstate to run ss
+allow dumpstate { domain pdx_channel_socket_type pdx_endpoint_socket_type }:{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } getattr;
+
+# Allow dumpstate to read linkerconfig directory
+allow dumpstate linkerconfig_file:dir { read open };
+
+# For when dumpstate runs df
+dontaudit dumpstate {
+  mnt_vendor_file
+  mirror_data_file
+  mnt_user_file
+  mnt_product_file
+}:dir search;
+dontaudit dumpstate {
+  apex_mnt_dir
+  linkerconfig_file
+  mirror_data_file
+  mnt_user_file
+  vm_data_file
+}:dir getattr;
+
+#suppress denials for dumpstate to call vitualizationservice.
+dontaudit dumpstate virtualizationservice:binder { call };
+
+# Allow dumpstate to talk to bufferhubd over binder
+
+#line 550
+# Call the server domain and optionally transfer references to it.
+#line 550
+allow dumpstate bufferhubd:binder { call transfer };
+#line 550
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 550
+allow bufferhubd dumpstate:binder transfer;
+#line 550
+# Receive and use open files from the server.
+#line 550
+allow dumpstate bufferhubd:fd use;
+#line 550
+;
+
+# Allow dumpstate to talk to mediaswcodec over binder
+
+#line 553
+# Call the server domain and optionally transfer references to it.
+#line 553
+allow dumpstate mediaswcodec:binder { call transfer };
+#line 553
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 553
+allow mediaswcodec dumpstate:binder transfer;
+#line 553
+# Receive and use open files from the server.
+#line 553
+allow dumpstate mediaswcodec:fd use;
+#line 553
+;
+
+#Access /data/misc/snapshotctl_log
+allow dumpstate snapshotctl_log_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate snapshotctl_log_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+#Allow access to /dev/binderfs/binder_logs
+allow dumpstate binderfs_logs:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate binderfs_logs:file { getattr open read ioctl lock map watch watch_reads };
+allow dumpstate binderfs_logs_proc:file { getattr open read ioctl lock map watch watch_reads };
+allow dumpstate binderfs_logs_stats:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 565
+  allow dumpstate apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 565
+  allow dumpstate apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 565
+  
+#line 565
+allow dumpstate vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 565
+allow dumpstate vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 565
+
+#line 565
+
+
+# Allow reading files under /data/system/shutdown-checkpoints/
+allow dumpstate shutdown_checkpoints_system_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow dumpstate shutdown_checkpoints_system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### neverallow rules
+###
+
+# dumpstate has capability sys_ptrace, but should only use that capability for
+# accessing sensitive /proc/PID files, never for using ptrace attach.
+neverallow dumpstate *:process ptrace;
+
+# only system_server, dumpstate, traceur_app and shell can find the dumpstate service
+neverallow {
+  domain
+  -system_server
+  -shell
+  -traceur_app
+  -dumpstate
+} dumpstate_service:service_manager find;
+
+# only dumpstate, system_server and related others to access apex_uwb_data_file
+neverallow {
+  domain
+  -dumpstate
+  -system_server
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_uwb_data_file:dir { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow {
+  domain
+  -dumpstate
+  -system_server
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_uwb_data_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 1 "system/sepolicy/private/e2fs.te"
+allow e2fs devpts:chr_file { read write getattr ioctl };
+
+allow e2fs dev_type:blk_file getattr;
+allow e2fs block_device:dir search;
+allow e2fs userdata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow e2fs metadata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow e2fs dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow e2fs zoned_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# Vold needs to capture mkfs.ext4's output
+allow e2fs vold:fd use;
+# Need to be able to format a partition
+allow e2fs sysfs_dm:dir { open getattr read search ioctl lock watch watch_reads };
+allow e2fs sysfs_dm:file { getattr open read ioctl lock map watch watch_reads };
+
+allowxperm e2fs { userdata_block_device metadata_block_device dm_device zoned_block_device }:blk_file ioctl {
+  0x0000127d 0x00001277 0x0000127b 0x0000127c 0x0000125e 0xc0101282 0x40101283
+};
+
+allow e2fs {
+  proc_filesystems
+  proc_mounts
+  proc_swaps
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# access /sys/fs/ext4/features
+allow e2fs sysfs_fs_ext4_features:dir search;
+allow e2fs sysfs_fs_ext4_features:file { getattr open read ioctl lock map watch watch_reads };
+
+# access SELinux context files
+allow e2fs file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/early_virtmgr.te"
+
+#line 1
+    
+#line 1
+
+#line 1
+    
+#line 1
+  allow early_virtmgr system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+  allow early_virtmgr system_bootstrap_lib_file:file { execute read open getattr map };
+#line 1
+
+#line 1
+
+#line 1
+    # Let early_virtmgr create files and directories inside /mnt/vm/early.
+#line 1
+    allow early_virtmgr vm_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+#line 1
+    allow early_virtmgr vm_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1
+    allow early_virtmgr vm_data_file:sock_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1
+
+#line 1
+    # Allow early_virtmgr to communicate use, read and write over the adb connection.
+#line 1
+    allow early_virtmgr adbd:fd use;
+#line 1
+    allow early_virtmgr adbd:unix_stream_socket { getattr read write };
+#line 1
+
+#line 1
+    # Allow writing VM logs to the shell console
+#line 1
+    allow early_virtmgr devpts:chr_file { read write getattr ioctl };
+#line 1
+
+#line 1
+    # Let the early_virtmgr domain use Binder.
+#line 1
+    
+#line 1
+# Call the servicemanager and transfer references to it.
+#line 1
+allow early_virtmgr servicemanager:binder { call transfer };
+#line 1
+# Allow servicemanager to send out callbacks
+#line 1
+allow servicemanager early_virtmgr:binder { call transfer };
+#line 1
+# servicemanager performs getpidcon on clients.
+#line 1
+allow servicemanager early_virtmgr:dir search;
+#line 1
+allow servicemanager early_virtmgr:file { read open };
+#line 1
+allow servicemanager early_virtmgr:process getattr;
+#line 1
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 1
+# all domains in domain.te.
+#line 1
+
+#line 1
+
+#line 1
+    # When early_virtmgr execs a file with the crosvm_exec label, run it in the crosvm domain.
+#line 1
+    
+#line 1
+# Allow the necessary permissions.
+#line 1
+
+#line 1
+# Old domain may exec the file and transition to the new domain.
+#line 1
+allow early_virtmgr crosvm_exec:file { getattr open read execute map };
+#line 1
+allow early_virtmgr crosvm:process transition;
+#line 1
+# New domain is entered by executing the file.
+#line 1
+allow crosvm crosvm_exec:file { entrypoint open read execute getattr map };
+#line 1
+# New domain can send SIGCHLD to its caller.
+#line 1
+allow crosvm early_virtmgr:process sigchld;
+#line 1
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1
+dontaudit early_virtmgr crosvm:process noatsecure;
+#line 1
+# XXX dontaudit candidate but requires further study.
+#line 1
+allow early_virtmgr crosvm:process { siginh rlimitinh };
+#line 1
+
+#line 1
+# Make the transition occur by default.
+#line 1
+type_transition early_virtmgr crosvm_exec:process crosvm;
+#line 1
+
+#line 1
+
+#line 1
+    # Let early_virtmgr kill crosvm.
+#line 1
+    allow early_virtmgr crosvm:process sigkill;
+#line 1
+
+#line 1
+    # Allow early_virtmgr to read apex-info-list.xml and access the APEX files listed there.
+#line 1
+    allow early_virtmgr apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 1
+    allow early_virtmgr apex_data_file:dir search;
+#line 1
+
+#line 1
+    # Ignore harmless denials on /proc/self/fd
+#line 1
+    dontaudit early_virtmgr self:dir write;
+#line 1
+
+#line 1
+    # Let early_virtmgr to accept vsock connection from the guest VMs
+#line 1
+    allow early_virtmgr self:vsock_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } listen accept };
+#line 1
+
+#line 1
+    # Allow early_virtmgr to inspect all hypervisor capabilities.
+#line 1
+    
+#line 1
+allow early_virtmgr hypervisor_prop:file { getattr open read map };
+#line 1
+
+#line 1
+    
+#line 1
+allow early_virtmgr hypervisor_pvmfw_prop:file { getattr open read map };
+#line 1
+
+#line 1
+    
+#line 1
+allow early_virtmgr hypervisor_restricted_prop:file { getattr open read map };
+#line 1
+
+#line 1
+    
+#line 1
+allow early_virtmgr hypervisor_virtualizationmanager_prop:file { getattr open read map };
+#line 1
+
+#line 1
+
+#line 1
+    # Allow early_virtmgr to read file system DT for VM reference DT and AVF debug policy
+#line 1
+    
+#line 1
+allow early_virtmgr proc_dt_avf:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+allow early_virtmgr proc_dt_avf:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1
+
+#line 1
+    
+#line 1
+allow early_virtmgr sysfs_dt_avf:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+allow early_virtmgr sysfs_dt_avf:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1
+
+#line 1
+
+#line 1
+    # early_virtmgr to be client of secretkeeper HAL. It ferries SecretManagement messages from pVM
+#line 1
+    # to HAL.
+#line 1
+    
+#line 1
+typeattribute early_virtmgr halclientdomain;
+#line 1
+typeattribute early_virtmgr hal_secretkeeper_client;
+#line 1
+
+#line 1
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 1
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 1
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 1
+
+#line 1
+typeattribute early_virtmgr hal_secretkeeper;
+#line 1
+# Find passthrough HAL implementations
+#line 1
+allow hal_secretkeeper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+allow hal_secretkeeper vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+allow hal_secretkeeper vendor_file:file { read open getattr execute map };
+#line 1
+
+#line 1
+;
+#line 1
+
+#line 1
+    # Allow reading files under /proc/[crosvm pid]/, for collecting CPU & memory usage inside VM.
+#line 1
+    
+#line 1
+allow early_virtmgr crosvm:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+allow early_virtmgr crosvm:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1
+;
+#line 1
+
+#line 1
+    # Allow early_virtmgr to:
+#line 1
+    # 1) bind to a vsock port less than 1024, because early VMs use static CIDs less than 1024
+#line 1
+    # 2) call RLIMIT_MEMLOCK for itself
+#line 1
+    allow early_virtmgr self:{ capability cap_userns } { net_bind_service ipc_lock sys_resource };
+#line 1
+
+#line 1
+    # early_virtmgr may print messages to kmsg_debug_device.
+#line 1
+    allow early_virtmgr kmsg_debug_device:chr_file { open append write lock map };
+#line 1
+
+#line 1
+    ###
+#line 1
+    ### Neverallow rules
+#line 1
+    ###
+#line 1
+
+#line 1
+    # Only crosvm and early_virtmgr can access vm_data_file
+#line 1
+    neverallow { domain -crosvm -early_virtmgr -init } vm_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+#line 1
+    neverallow { domain -crosvm -early_virtmgr } vm_data_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 1
+
+#line 1
+    # No other domains can accept vsock connection from the guest VMs
+#line 1
+    neverallow { domain -early_virtmgr } early_virtmgr:vsock_socket { accept bind create connect listen };
+#line 75
+
+#line 1 "system/sepolicy/private/ephemeral_app.te"
+###
+### Ephemeral apps.
+###
+### This file defines the security policy for apps with the ephemeral
+### feature.
+###
+### The ephemeral_app domain is a reduced permissions sandbox allowing
+### ephemeral applications to be safely installed and run. Non ephemeral
+### applications may also opt-in to ephemeral to take advantage of the
+### additional security features.
+###
+### PackageManager flags an app as ephemeral at install time.
+
+typeattribute ephemeral_app coredomain;
+
+
+#line 16
+typeattribute ephemeral_app netdomain;
+#line 16
+
+
+#line 17
+typeattribute ephemeral_app appdomain;
+#line 17
+# Label tmpfs objects for all apps.
+#line 17
+type_transition ephemeral_app tmpfs:file appdomain_tmpfs;
+#line 17
+
+#line 17
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 17
+type ephemeral_app_userfaultfd;
+#line 17
+type_transition ephemeral_app ephemeral_app:anon_inode ephemeral_app_userfaultfd "[userfaultfd]";
+#line 17
+# Allow domain to create/use userfaultfd anon_inode.
+#line 17
+allow ephemeral_app ephemeral_app_userfaultfd:anon_inode { create ioctl read };
+#line 17
+# Suppress errors generate during bugreport
+#line 17
+dontaudit su ephemeral_app_userfaultfd:anon_inode *;
+#line 17
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 17
+neverallow { domain -ephemeral_app } ephemeral_app_userfaultfd:anon_inode *;
+#line 17
+
+#line 17
+allow ephemeral_app appdomain_tmpfs:file { execute getattr map read write };
+#line 17
+neverallow { ephemeral_app -runas_app -shell -simpleperf } { domain -ephemeral_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 17
+neverallow { appdomain -runas_app -shell -simpleperf -ephemeral_app } ephemeral_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 17
+# The Android security model guarantees the confidentiality and integrity
+#line 17
+# of application data and execution state. Ptrace bypasses those
+#line 17
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 17
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 17
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 17
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 17
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 17
+# live lock conditions.
+#line 17
+neverallow { domain -ephemeral_app -crash_dump  -runas_app -simpleperf } ephemeral_app:process ptrace;
+#line 17
+
+
+# Allow ephemeral apps to read/write files in visible storage if provided fds
+allow ephemeral_app { sdcard_type fuse media_rw_data_file }:file {read write getattr ioctl lock append};
+
+# Some apps ship with shared libraries and binaries that they write out
+# to their sandbox directory and then execute.
+allow ephemeral_app privapp_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+allow ephemeral_app app_data_file:file     { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# Follow priv-app symlinks. This is used for dynamite functionality.
+allow ephemeral_app privapp_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow the renderscript compiler to be run.
+
+#line 31
+# Allow the necessary permissions.
+#line 31
+
+#line 31
+# Old domain may exec the file and transition to the new domain.
+#line 31
+allow ephemeral_app rs_exec:file { getattr open read execute map };
+#line 31
+allow ephemeral_app rs:process transition;
+#line 31
+# New domain is entered by executing the file.
+#line 31
+allow rs rs_exec:file { entrypoint open read execute getattr map };
+#line 31
+# New domain can send SIGCHLD to its caller.
+#line 31
+allow rs ephemeral_app:process sigchld;
+#line 31
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 31
+dontaudit ephemeral_app rs:process noatsecure;
+#line 31
+# XXX dontaudit candidate but requires further study.
+#line 31
+allow ephemeral_app rs:process { siginh rlimitinh };
+#line 31
+
+#line 31
+# Make the transition occur by default.
+#line 31
+type_transition ephemeral_app rs_exec:process rs;
+#line 31
+
+
+# Allow loading and deleting shared libraries created by trusted system
+# components within an application home directory.
+allow ephemeral_app app_exec_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute unlink };
+
+# services
+allow ephemeral_app audioserver_service:service_manager find;
+allow ephemeral_app cameraserver_service:service_manager find;
+allow ephemeral_app mediaserver_service:service_manager find;
+allow ephemeral_app mediaextractor_service:service_manager find;
+allow ephemeral_app mediametrics_service:service_manager find;
+allow ephemeral_app mediadrmserver_service:service_manager find;
+allow ephemeral_app drmserver_service:service_manager find;
+allow ephemeral_app radio_service:service_manager find;
+allow ephemeral_app ephemeral_app_api_service:service_manager find;
+
+# allow ephemeral apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow ephemeral_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+allow ephemeral_app ashmem_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+###
+### neverallow rules
+###
+
+neverallow ephemeral_app app_data_file_type:file execute_no_trans;
+
+# Receive or send uevent messages.
+neverallow ephemeral_app domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow ephemeral_app domain:netlink_socket *;
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow ephemeral_app debugfs_type:file read;
+
+# execute gpu_device
+neverallow ephemeral_app gpu_device:chr_file execute;
+
+# access files in /sys with the default sysfs label
+neverallow ephemeral_app sysfs:file *;
+
+# Avoid reads from generically labeled /proc files
+# Create a more specific label if needed
+neverallow ephemeral_app proc:file { { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads } { execute execute_no_trans } };
+
+# Directly access external storage
+neverallow ephemeral_app { sdcard_type fuse media_rw_data_file }:file {open create};
+neverallow ephemeral_app { sdcard_type fuse media_rw_data_file }:dir search;
+
+# Avoid reads to proc_net, it contains too much device wide information about
+# ongoing connections.
+neverallow ephemeral_app proc_net:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 1 "system/sepolicy/private/evsmanagerd.te"
+# evsmanager
+typeattribute evsmanagerd coredomain;
+typeattribute evsmanagerd evsmanager_service_server;
+
+type evsmanagerd_exec, system_file_type, exec_type, file_type;
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init evsmanagerd_exec:file { getattr open read execute map };
+#line 7
+allow init evsmanagerd:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow evsmanagerd evsmanagerd_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init evsmanagerd:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init evsmanagerd:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init evsmanagerd_exec:process evsmanagerd;
+#line 7
+
+#line 7
+;
+
+# Declares as a binder service
+
+#line 10
+typeattribute evsmanagerd binderservicedomain;
+#line 10
+
+
+# Allows to add a service to service_manager
+
+#line 13
+  allow evsmanagerd evsmanagerd_service:service_manager { add find };
+#line 13
+  neverallow { domain -evsmanagerd } evsmanagerd_service:service_manager add;
+#line 13
+
+#line 13
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 13
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 13
+  
+#line 13
+
+
+# Allows to use the binder IPC
+
+#line 16
+# Call the servicemanager and transfer references to it.
+#line 16
+allow evsmanagerd servicemanager:binder { call transfer };
+#line 16
+# Allow servicemanager to send out callbacks
+#line 16
+allow servicemanager evsmanagerd:binder { call transfer };
+#line 16
+# servicemanager performs getpidcon on clients.
+#line 16
+allow servicemanager evsmanagerd:dir search;
+#line 16
+allow servicemanager evsmanagerd:file { read open };
+#line 16
+allow servicemanager evsmanagerd:process getattr;
+#line 16
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 16
+# all domains in domain.te.
+#line 16
+
+
+# Allows binder IPCs to the various system services
+
+#line 19
+# Call the server domain and optionally transfer references to it.
+#line 19
+allow evsmanagerd system_server:binder { call transfer };
+#line 19
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 19
+allow system_server evsmanagerd:binder transfer;
+#line 19
+# Receive and use open files from the server.
+#line 19
+allow evsmanagerd system_server:fd use;
+#line 19
+
+
+# Allows to use EVS HAL implementations
+
+#line 22
+typeattribute evsmanagerd halclientdomain;
+#line 22
+typeattribute evsmanagerd hal_evs_client;
+#line 22
+
+#line 22
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 22
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 22
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 22
+
+#line 22
+typeattribute evsmanagerd hal_evs;
+#line 22
+# Find passthrough HAL implementations
+#line 22
+allow hal_evs system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 22
+allow hal_evs vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 22
+allow hal_evs vendor_file:file { read open getattr execute map };
+#line 22
+
+#line 22
+
+
+# Allows to write messages to the shell
+allow evsmanagerd shell:fd use;
+allow evsmanagerd shell:fifo_file write;
+
+# Allows to use the graphics allocator
+allow evsmanagerd hal_graphics_allocator:fd use;
+
+# Allows to use a bootstrap statsd
+allow evsmanagerd statsbootstrap_service:service_manager find;
+
+# Allows binder IPCs to the CarService
+
+#line 35
+# Call the server domain and optionally transfer references to it.
+#line 35
+allow evsmanagerd appdomain:binder { call transfer };
+#line 35
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 35
+allow appdomain evsmanagerd:binder transfer;
+#line 35
+# Receive and use open files from the server.
+#line 35
+allow evsmanagerd appdomain:fd use;
+#line 35
+
+
+# For HIDL evs manager implementation
+allow evsmanagerd hal_evs_hwservice:hwservice_manager add;
+allow evsmanagerd hidl_base_hwservice:hwservice_manager add;
+#line 1 "system/sepolicy/private/extra_free_kbytes.te"
+typeattribute extra_free_kbytes coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init extra_free_kbytes_exec:file { getattr open read execute map };
+#line 3
+allow init extra_free_kbytes:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow extra_free_kbytes extra_free_kbytes_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init extra_free_kbytes:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init extra_free_kbytes:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init extra_free_kbytes_exec:process extra_free_kbytes;
+#line 3
+
+#line 3
+
+
+# Only extra_free_kbytes script is allowed to store these properties
+
+#line 6
+
+#line 6
+allow extra_free_kbytes property_socket:sock_file write;
+#line 6
+allow extra_free_kbytes init:unix_stream_socket connectto;
+#line 6
+
+#line 6
+allow extra_free_kbytes init_storage_prop:property_service set;
+#line 6
+
+#line 6
+allow extra_free_kbytes init_storage_prop:file { getattr open read map };
+#line 6
+
+#line 6
+
+
+# required permissions to run the script from init
+allow extra_free_kbytes shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow extra_free_kbytes system_file:file { getattr execute execute_no_trans map };
+allow extra_free_kbytes toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# files used by the script
+allow extra_free_kbytes proc_extra_free_kbytes:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow extra_free_kbytes proc_watermark_scale_factor:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow extra_free_kbytes proc_zoneinfo:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/fastbootd.te"
+typeattribute fastbootd coredomain;
+
+# The allow rules are only included in the recovery policy.
+# Otherwise fastbootd is only allowed the domain rules.
+#line 165
+
+
+# This capability allows fastbootd to circumvent memlock rlimits while using
+# io_uring. An Alternative would be to up the memlock rlimit for the fastbootd service.
+allow fastbootd self:capability ipc_lock;
+
+#line 170
+# Set up a type_transition to "io_uring" named anonymous inode object.
+#line 170
+type fastbootd_iouring;
+#line 170
+type_transition fastbootd fastbootd:anon_inode fastbootd_iouring "[io_uring]";
+#line 170
+# Allow domain to create/use io_uring anon_inode.
+#line 170
+allow fastbootd fastbootd_iouring:anon_inode { create map read write };
+#line 170
+allow fastbootd self:io_uring sqpoll;
+#line 170
+# Other domains may not use iouring anon_inodes created by this domain.
+#line 170
+neverallow { domain -fastbootd } fastbootd_iouring:anon_inode *;
+#line 170
+# io_uring checks for CAP_IPC_LOCK to determine whether or not to track
+#line 170
+# memory usage per uid against RLIMIT_MEMLOCK. This can lead folks to
+#line 170
+# grant CAP_IPC_LOCK to silence avc denials, which is undesireable.
+#line 170
+dontaudit fastbootd self:{ capability cap_userns } ipc_lock;
+#line 170
+
+
+###
+### neverallow rules
+###
+
+# Write permission is required to wipe userdata
+# until recovery supports vold.
+neverallow fastbootd {
+   data_file_type
+}:file { { execute execute_no_trans } };
+#line 1 "system/sepolicy/private/file.te"
+# /proc/allocinfo
+type proc_allocinfo, fs_type, proc_type;
+
+# /proc/config.gz
+type config_gz, fs_type, proc_type;
+
+# /sys/fs/bpf/<dir> for mainline tethering use
+# TODO: move S+ fs_bpf_tethering here from public/file.te
+type fs_bpf_net_private, fs_type, bpffs_type;
+type fs_bpf_net_shared, fs_type, bpffs_type;
+type fs_bpf_netd_readonly, fs_type, bpffs_type;
+type fs_bpf_netd_shared, fs_type, bpffs_type;
+type fs_bpf_loader, fs_type, bpffs_type;
+type fs_bpf_uprobestats, fs_type, bpffs_type;
+type fs_bpf_memevents, fs_type, bpffs_type;
+
+# /data/misc/storaged
+type storaged_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/wmtrace for wm traces
+type wm_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+
+# /data/misc/a11ytrace for accessibility traces
+type accessibility_trace_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-traces for perfetto traces
+type perfetto_traces_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-traces/bugreport for perfetto traces for bugreports.
+type perfetto_traces_bugreport_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-traces/profiling for perfetto traces from profiling apis.
+type perfetto_traces_profiling_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-configs for perfetto configs
+type perfetto_configs_data_file, file_type, data_file_type, core_data_file_type;
+
+# /system/etc/perfetto for perfetto configs
+type system_perfetto_config_file, file_type, system_file_type;
+
+# /data/misc/uprobestats-configs for uprobestats configs
+type uprobestats_configs_data_file, file_type, data_file_type, core_data_file_type;
+
+# /apex/com.android.art/bin/oatdump
+# TODO (b/350628688): Remove this once it's safe to do so.
+type oatdump_exec, system_file_type, exec_type, file_type;
+
+# /data/misc_{ce/de}/<user>/sdksandbox root data directory for sdk sandbox processes
+type sdk_sandbox_system_data_file, file_type, data_file_type, core_data_file_type;
+# /data/misc_{ce/de}/<user>/sdksandbox/<app-name>/* subdirectory for sdk sandbox processes
+type sdk_sandbox_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+
+# /sys/kernel/debug/kcov for coverage guided kernel fuzzing in userdebug builds.
+type debugfs_kcov, fs_type, debugfs_type;
+
+# App executable files in /data/data directories
+type app_exec_data_file, file_type, data_file_type, core_data_file_type;
+typealias app_exec_data_file alias rs_data_file;
+
+# /data/misc_[ce|de]/rollback : Used by installd to store snapshots
+# of application data.
+type rollback_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc_ce/checkin for checkin apps.
+type checkin_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/gsi/ota
+type ota_image_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/gsi_persistent_data
+type gsi_persistent_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/emergencynumberdb
+type emergency_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/profcollectd
+type profcollectd_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/apexdata/com.android.art
+type apex_art_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.art/staging
+type apex_art_staging_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/apexdata/com.android.compos
+type apex_compos_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.virt
+type apex_virt_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.tethering
+type apex_tethering_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.uwb
+type apex_uwb_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# legacy labels for various /data/misc[_ce|_de]/*/apexdata directories - retained
+# for backward compatibility b/217581286
+type apex_appsearch_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_permission_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_scheduling_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_wifi_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/font/files
+type font_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/dmesgd
+type dmesgd_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/odrefresh
+type odrefresh_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/odsign
+type odsign_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/odsign_metrics
+type odsign_metrics_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/virtualizationservice
+# The type needs to be mlstrustedobject to allow for being accessed from
+# virtualizationmanager, which runs at a more constrained MLS level.
+type virtualizationservice_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+
+# /mnt/vm
+type vm_data_file, file_type, core_data_file_type;
+
+# /data/system/environ
+type environ_system_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/bootanim
+type bootanim_data_file, file_type, data_file_type, core_data_file_type;
+
+# /dev/kvm
+# The type needs to be mlstrustedobject to allow for being accessed from
+# crosvm, which runs at a more constrained MLS level.
+type kvm_device, dev_type, mlstrustedobject, vm_manager_device_type;
+
+# /apex/com.android.virt/bin/fd_server
+type fd_server_exec, system_file_type, exec_type, file_type;
+
+# /apex/com.android.compos/bin/compsvc
+type compos_exec, exec_type, file_type, system_file_type;
+# /apex/com.android.compos/bin/compos_key_helper
+type compos_key_helper_exec, exec_type, file_type, system_file_type;
+
+# Filesystem entry for for PRNG seeder socket.  Processes require
+# write permission on this to connect, and needs to be mlstrustedobject
+# in to satisfy MLS constraints for trusted domains.
+type prng_seeder_socket, file_type, coredomain_socket, mlstrustedobject;
+
+# /proc/device-tree/avf and /sys/firmware/devicetree/base/avf
+type sysfs_dt_avf, fs_type, sysfs_type;
+type proc_dt_avf, fs_type, proc_type;
+
+# Type for /system/fonts/font_fallback.xm
+type system_font_fallback_file, system_file_type, file_type;
+
+# Type for /sys/devices/uprobe.
+type sysfs_uprobe, fs_type, sysfs_type;
+
+# Type for aconfig daemon socket
+type aconfigd_socket, file_type, coredomain_socket, mlstrustedobject;
+
+# Type for aconfig mainline daemon socket
+type aconfigd_mainline_socket, file_type, coredomain_socket,  mlstrustedobject;
+
+# Type for /(system|system_ext|product)/etc/aconfig
+type system_aconfig_storage_file, system_file_type, file_type;
+
+# Type for /vendor/etc/aconfig
+type vendor_aconfig_storage_file, vendor_file_type, file_type;
+
+# /data/misc/connectivityblobdb
+type connectivityblob_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/wifi/mainline_supplicant
+type mainline_supplicant_data_file, file_type, data_file_type, core_data_file_type;
+
+# Type for /mnt/pre_reboot_dexopt
+type pre_reboot_dexopt_file, file_type;
+
+# Type for /mnt/artd_tmp in the Pre-reboot Dexopt chroot
+# This type is set on the directory through the `rootcontext=` mount option.
+type pre_reboot_dexopt_artd_file, file_type;
+
+# /data/app-metadata - extracted app metadata bundles from APKs
+type apk_metadata_file, file_type, data_file_type, core_data_file_type;
+
+# Type for /sys/kernel/mm/pgsize_migration/enabled
+type sysfs_pgsize_migration, fs_type, sysfs_type;
+
+# /sys/firmware/acpi/tables
+type sysfs_firmware_acpi_tables, fs_type, sysfs_type;
+
+# Type for /system/bin/pbtombstone.
+type pbtombstone_exec, system_file_type, exec_type, file_type;
+
+# Allow files to be created in their appropriate filesystems.
+allow fs_type self:filesystem associate;
+allow cgroup tmpfs:filesystem associate;
+allow cgroup_v2 tmpfs:filesystem associate;
+allow cgroup_rc_file tmpfs:filesystem associate;
+allow sysfs_type sysfs:filesystem associate;
+allow debugfs_type { debugfs debugfs_tracing debugfs_tracing_debug }:filesystem associate;
+allow file_type labeledfs:filesystem associate;
+allow file_type tmpfs:filesystem associate;
+allow file_type rootfs:filesystem associate;
+allow dev_type tmpfs:filesystem associate;
+allow app_fuse_file app_fusefs:filesystem associate;
+allow postinstall_file self:filesystem associate;
+allow proc_net proc:filesystem associate;
+
+# It's a bug to assign the file_type attribute and fs_type attribute
+# to any type. Do not allow it.
+#
+# For example, the following is a bug:
+#   type apk_data_file, file_type, data_file_type, fs_type;
+# Should be:
+#   type apk_data_file, file_type, data_file_type;
+neverallow fs_type file_type:filesystem associate;
+# app directories of storage areas: /data/storage_area/userId/pkgName -- apps cannot write to it
+type storage_area_app_dir, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# app storage areas: /data/storage_area/userId/pkgName/storageAreaName
+type storage_area_dir, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# contents of app storage areas: /data/storage_area/userId/pkgName/storageAreaName/*
+type storage_area_content_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+
+# /data/misc_ce/userId/storage_area_keys
+type storage_area_key_file, file_type, data_file_type, core_data_file_type;
+
+# /metadata/tradeinmode files
+type tradeinmode_metadata_file, file_type;
+
+# /metadata/prefetch files
+type prefetch_metadata_file, file_type;
+
+# /metadata/libprocessgroup files
+type libprocessgroup_metadata_file, file_type;
+
+# Types added in 202504 in public/file.te
+#line 244
+
+
+#line 248
+
+
+#line 252
+
+
+#line 257
+
+
+#line 262
+
+
+#line 266
+
+
+#line 270
+
+
+## END Types added in 202504 in public/file.te
+#line 1 "system/sepolicy/private/fingerprintd.te"
+typeattribute fingerprintd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init fingerprintd_exec:file { getattr open read execute map };
+#line 3
+allow init fingerprintd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow fingerprintd fingerprintd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init fingerprintd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init fingerprintd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init fingerprintd_exec:process fingerprintd;
+#line 3
+
+#line 3
+
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow fingerprintd servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager fingerprintd:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager fingerprintd:dir search;
+#line 5
+allow servicemanager fingerprintd:file { read open };
+#line 5
+allow servicemanager fingerprintd:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+# Scan through /system/lib64/hw looking for installed HALs
+allow fingerprintd system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# need to find KeyStore and add self
+
+#line 11
+  allow fingerprintd fingerprintd_service:service_manager { add find };
+#line 11
+  neverallow { domain -fingerprintd } fingerprintd_service:service_manager add;
+#line 11
+
+#line 11
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 11
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 11
+  
+#line 11
+
+
+# allow HAL module to read dir contents
+allow fingerprintd fingerprintd_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } };
+
+# allow HAL module to read/write/unlink contents of this dir
+allow fingerprintd fingerprintd_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Need to add auth tokens to KeyStore
+
+#line 20
+  allow keystore fingerprintd:dir search;
+#line 20
+  allow keystore fingerprintd:file { read open };
+#line 20
+  allow keystore fingerprintd:process getattr;
+#line 20
+  allow fingerprintd apc_service:service_manager find;
+#line 20
+  allow fingerprintd keystore_service:service_manager find;
+#line 20
+  allow fingerprintd legacykeystore_service:service_manager find;
+#line 20
+  
+#line 20
+# Call the server domain and optionally transfer references to it.
+#line 20
+allow fingerprintd keystore:binder { call transfer };
+#line 20
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 20
+allow keystore fingerprintd:binder transfer;
+#line 20
+# Receive and use open files from the server.
+#line 20
+allow fingerprintd keystore:fd use;
+#line 20
+
+#line 20
+  
+#line 20
+# Call the server domain and optionally transfer references to it.
+#line 20
+allow keystore fingerprintd:binder { call transfer };
+#line 20
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 20
+allow fingerprintd keystore:binder transfer;
+#line 20
+# Receive and use open files from the server.
+#line 20
+allow keystore fingerprintd:fd use;
+#line 20
+
+#line 20
+
+allow fingerprintd keystore:keystore2 { add_auth };
+
+# For permissions checking
+
+#line 24
+# Call the server domain and optionally transfer references to it.
+#line 24
+allow fingerprintd system_server:binder { call transfer };
+#line 24
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 24
+allow system_server fingerprintd:binder transfer;
+#line 24
+# Receive and use open files from the server.
+#line 24
+allow fingerprintd system_server:fd use;
+#line 24
+;
+allow fingerprintd permission_service:service_manager find;
+
+allow fingerprintd ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/flags_health_check.te"
+typeattribute flags_health_check coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init flags_health_check_exec:file { getattr open read execute map };
+#line 3
+allow init flags_health_check:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow flags_health_check flags_health_check_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init flags_health_check:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init flags_health_check:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init flags_health_check_exec:process flags_health_check;
+#line 3
+
+#line 3
+
+
+
+#line 5
+
+#line 5
+allow flags_health_check property_socket:sock_file write;
+#line 5
+allow flags_health_check init:unix_stream_socket connectto;
+#line 5
+
+#line 5
+allow flags_health_check device_config_boot_count_prop:property_service set;
+#line 5
+
+#line 5
+allow flags_health_check device_config_boot_count_prop:file { getattr open read map };
+#line 5
+
+#line 5
+
+
+#line 6
+
+#line 6
+allow flags_health_check property_socket:sock_file write;
+#line 6
+allow flags_health_check init:unix_stream_socket connectto;
+#line 6
+
+#line 6
+allow flags_health_check device_config_core_experiments_team_internal_prop:property_service set;
+#line 6
+
+#line 6
+allow flags_health_check device_config_core_experiments_team_internal_prop:file { getattr open read map };
+#line 6
+
+#line 6
+
+
+#line 7
+
+#line 7
+allow flags_health_check property_socket:sock_file write;
+#line 7
+allow flags_health_check init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow flags_health_check device_config_edgetpu_native_prop:property_service set;
+#line 7
+
+#line 7
+allow flags_health_check device_config_edgetpu_native_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+
+#line 8
+
+#line 8
+allow flags_health_check property_socket:sock_file write;
+#line 8
+allow flags_health_check init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow flags_health_check device_config_reset_performed_prop:property_service set;
+#line 8
+
+#line 8
+allow flags_health_check device_config_reset_performed_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+
+#line 9
+
+#line 9
+allow flags_health_check property_socket:sock_file write;
+#line 9
+allow flags_health_check init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow flags_health_check device_config_runtime_native_boot_prop:property_service set;
+#line 9
+
+#line 9
+allow flags_health_check device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+#line 10
+
+#line 10
+allow flags_health_check property_socket:sock_file write;
+#line 10
+allow flags_health_check init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow flags_health_check device_config_runtime_native_prop:property_service set;
+#line 10
+
+#line 10
+allow flags_health_check device_config_runtime_native_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+#line 11
+
+#line 11
+allow flags_health_check property_socket:sock_file write;
+#line 11
+allow flags_health_check init:unix_stream_socket connectto;
+#line 11
+
+#line 11
+allow flags_health_check device_config_input_native_boot_prop:property_service set;
+#line 11
+
+#line 11
+allow flags_health_check device_config_input_native_boot_prop:file { getattr open read map };
+#line 11
+
+#line 11
+
+
+#line 12
+
+#line 12
+allow flags_health_check property_socket:sock_file write;
+#line 12
+allow flags_health_check init:unix_stream_socket connectto;
+#line 12
+
+#line 12
+allow flags_health_check device_config_lmkd_native_prop:property_service set;
+#line 12
+
+#line 12
+allow flags_health_check device_config_lmkd_native_prop:file { getattr open read map };
+#line 12
+
+#line 12
+
+
+#line 13
+
+#line 13
+allow flags_health_check property_socket:sock_file write;
+#line 13
+allow flags_health_check init:unix_stream_socket connectto;
+#line 13
+
+#line 13
+allow flags_health_check device_config_netd_native_prop:property_service set;
+#line 13
+
+#line 13
+allow flags_health_check device_config_netd_native_prop:file { getattr open read map };
+#line 13
+
+#line 13
+
+
+#line 14
+
+#line 14
+allow flags_health_check property_socket:sock_file write;
+#line 14
+allow flags_health_check init:unix_stream_socket connectto;
+#line 14
+
+#line 14
+allow flags_health_check device_config_nnapi_native_prop:property_service set;
+#line 14
+
+#line 14
+allow flags_health_check device_config_nnapi_native_prop:file { getattr open read map };
+#line 14
+
+#line 14
+
+
+#line 15
+
+#line 15
+allow flags_health_check property_socket:sock_file write;
+#line 15
+allow flags_health_check init:unix_stream_socket connectto;
+#line 15
+
+#line 15
+allow flags_health_check device_config_activity_manager_native_boot_prop:property_service set;
+#line 15
+
+#line 15
+allow flags_health_check device_config_activity_manager_native_boot_prop:file { getattr open read map };
+#line 15
+
+#line 15
+
+
+#line 16
+
+#line 16
+allow flags_health_check property_socket:sock_file write;
+#line 16
+allow flags_health_check init:unix_stream_socket connectto;
+#line 16
+
+#line 16
+allow flags_health_check device_config_media_native_prop:property_service set;
+#line 16
+
+#line 16
+allow flags_health_check device_config_media_native_prop:file { getattr open read map };
+#line 16
+
+#line 16
+
+
+#line 17
+
+#line 17
+allow flags_health_check property_socket:sock_file write;
+#line 17
+allow flags_health_check init:unix_stream_socket connectto;
+#line 17
+
+#line 17
+allow flags_health_check device_config_mglru_native_prop:property_service set;
+#line 17
+
+#line 17
+allow flags_health_check device_config_mglru_native_prop:file { getattr open read map };
+#line 17
+
+#line 17
+
+
+#line 18
+
+#line 18
+allow flags_health_check property_socket:sock_file write;
+#line 18
+allow flags_health_check init:unix_stream_socket connectto;
+#line 18
+
+#line 18
+allow flags_health_check device_config_profcollect_native_boot_prop:property_service set;
+#line 18
+
+#line 18
+allow flags_health_check device_config_profcollect_native_boot_prop:file { getattr open read map };
+#line 18
+
+#line 18
+
+
+#line 19
+
+#line 19
+allow flags_health_check property_socket:sock_file write;
+#line 19
+allow flags_health_check init:unix_stream_socket connectto;
+#line 19
+
+#line 19
+allow flags_health_check device_config_statsd_native_prop:property_service set;
+#line 19
+
+#line 19
+allow flags_health_check device_config_statsd_native_prop:file { getattr open read map };
+#line 19
+
+#line 19
+
+
+#line 20
+
+#line 20
+allow flags_health_check property_socket:sock_file write;
+#line 20
+allow flags_health_check init:unix_stream_socket connectto;
+#line 20
+
+#line 20
+allow flags_health_check device_config_statsd_native_boot_prop:property_service set;
+#line 20
+
+#line 20
+allow flags_health_check device_config_statsd_native_boot_prop:file { getattr open read map };
+#line 20
+
+#line 20
+
+
+#line 21
+
+#line 21
+allow flags_health_check property_socket:sock_file write;
+#line 21
+allow flags_health_check init:unix_stream_socket connectto;
+#line 21
+
+#line 21
+allow flags_health_check device_config_storage_native_boot_prop:property_service set;
+#line 21
+
+#line 21
+allow flags_health_check device_config_storage_native_boot_prop:file { getattr open read map };
+#line 21
+
+#line 21
+
+
+#line 22
+
+#line 22
+allow flags_health_check property_socket:sock_file write;
+#line 22
+allow flags_health_check init:unix_stream_socket connectto;
+#line 22
+
+#line 22
+allow flags_health_check device_config_swcodec_native_prop:property_service set;
+#line 22
+
+#line 22
+allow flags_health_check device_config_swcodec_native_prop:file { getattr open read map };
+#line 22
+
+#line 22
+
+
+#line 23
+
+#line 23
+allow flags_health_check property_socket:sock_file write;
+#line 23
+allow flags_health_check init:unix_stream_socket connectto;
+#line 23
+
+#line 23
+allow flags_health_check device_config_sys_traced_prop:property_service set;
+#line 23
+
+#line 23
+allow flags_health_check device_config_sys_traced_prop:file { getattr open read map };
+#line 23
+
+#line 23
+
+
+#line 24
+
+#line 24
+allow flags_health_check property_socket:sock_file write;
+#line 24
+allow flags_health_check init:unix_stream_socket connectto;
+#line 24
+
+#line 24
+allow flags_health_check device_config_window_manager_native_boot_prop:property_service set;
+#line 24
+
+#line 24
+allow flags_health_check device_config_window_manager_native_boot_prop:file { getattr open read map };
+#line 24
+
+#line 24
+
+
+#line 25
+
+#line 25
+allow flags_health_check property_socket:sock_file write;
+#line 25
+allow flags_health_check init:unix_stream_socket connectto;
+#line 25
+
+#line 25
+allow flags_health_check device_config_configuration_prop:property_service set;
+#line 25
+
+#line 25
+allow flags_health_check device_config_configuration_prop:file { getattr open read map };
+#line 25
+
+#line 25
+
+
+#line 26
+
+#line 26
+allow flags_health_check property_socket:sock_file write;
+#line 26
+allow flags_health_check init:unix_stream_socket connectto;
+#line 26
+
+#line 26
+allow flags_health_check device_config_connectivity_prop:property_service set;
+#line 26
+
+#line 26
+allow flags_health_check device_config_connectivity_prop:file { getattr open read map };
+#line 26
+
+#line 26
+
+
+#line 27
+
+#line 27
+allow flags_health_check property_socket:sock_file write;
+#line 27
+allow flags_health_check init:unix_stream_socket connectto;
+#line 27
+
+#line 27
+allow flags_health_check device_config_surface_flinger_native_boot_prop:property_service set;
+#line 27
+
+#line 27
+allow flags_health_check device_config_surface_flinger_native_boot_prop:file { getattr open read map };
+#line 27
+
+#line 27
+
+
+#line 28
+
+#line 28
+allow flags_health_check property_socket:sock_file write;
+#line 28
+allow flags_health_check init:unix_stream_socket connectto;
+#line 28
+
+#line 28
+allow flags_health_check device_config_aconfig_flags_prop:property_service set;
+#line 28
+
+#line 28
+allow flags_health_check device_config_aconfig_flags_prop:file { getattr open read map };
+#line 28
+
+#line 28
+
+
+#line 29
+
+#line 29
+allow flags_health_check property_socket:sock_file write;
+#line 29
+allow flags_health_check init:unix_stream_socket connectto;
+#line 29
+
+#line 29
+allow flags_health_check device_config_vendor_system_native_prop:property_service set;
+#line 29
+
+#line 29
+allow flags_health_check device_config_vendor_system_native_prop:file { getattr open read map };
+#line 29
+
+#line 29
+
+
+#line 30
+
+#line 30
+allow flags_health_check property_socket:sock_file write;
+#line 30
+allow flags_health_check init:unix_stream_socket connectto;
+#line 30
+
+#line 30
+allow flags_health_check device_config_vendor_system_native_boot_prop:property_service set;
+#line 30
+
+#line 30
+allow flags_health_check device_config_vendor_system_native_boot_prop:file { getattr open read map };
+#line 30
+
+#line 30
+
+
+#line 31
+
+#line 31
+allow flags_health_check property_socket:sock_file write;
+#line 31
+allow flags_health_check init:unix_stream_socket connectto;
+#line 31
+
+#line 31
+allow flags_health_check device_config_virtualization_framework_native_prop:property_service set;
+#line 31
+
+#line 31
+allow flags_health_check device_config_virtualization_framework_native_prop:file { getattr open read map };
+#line 31
+
+#line 31
+
+
+#line 32
+
+#line 32
+allow flags_health_check property_socket:sock_file write;
+#line 32
+allow flags_health_check init:unix_stream_socket connectto;
+#line 32
+
+#line 32
+allow flags_health_check device_config_memory_safety_native_boot_prop:property_service set;
+#line 32
+
+#line 32
+allow flags_health_check device_config_memory_safety_native_boot_prop:file { getattr open read map };
+#line 32
+
+#line 32
+
+
+#line 33
+
+#line 33
+allow flags_health_check property_socket:sock_file write;
+#line 33
+allow flags_health_check init:unix_stream_socket connectto;
+#line 33
+
+#line 33
+allow flags_health_check device_config_memory_safety_native_prop:property_service set;
+#line 33
+
+#line 33
+allow flags_health_check device_config_memory_safety_native_prop:file { getattr open read map };
+#line 33
+
+#line 33
+
+
+#line 34
+
+#line 34
+allow flags_health_check property_socket:sock_file write;
+#line 34
+allow flags_health_check init:unix_stream_socket connectto;
+#line 34
+
+#line 34
+allow flags_health_check device_config_remote_key_provisioning_native_prop:property_service set;
+#line 34
+
+#line 34
+allow flags_health_check device_config_remote_key_provisioning_native_prop:file { getattr open read map };
+#line 34
+
+#line 34
+
+
+#line 35
+
+#line 35
+allow flags_health_check property_socket:sock_file write;
+#line 35
+allow flags_health_check init:unix_stream_socket connectto;
+#line 35
+
+#line 35
+allow flags_health_check device_config_camera_native_prop:property_service set;
+#line 35
+
+#line 35
+allow flags_health_check device_config_camera_native_prop:file { getattr open read map };
+#line 35
+
+#line 35
+
+
+#line 36
+
+#line 36
+allow flags_health_check property_socket:sock_file write;
+#line 36
+allow flags_health_check init:unix_stream_socket connectto;
+#line 36
+
+#line 36
+allow flags_health_check device_config_tethering_u_or_later_native_prop:property_service set;
+#line 36
+
+#line 36
+allow flags_health_check device_config_tethering_u_or_later_native_prop:file { getattr open read map };
+#line 36
+
+#line 36
+
+
+#line 37
+
+#line 37
+allow flags_health_check property_socket:sock_file write;
+#line 37
+allow flags_health_check init:unix_stream_socket connectto;
+#line 37
+
+#line 37
+allow flags_health_check device_config_mmd_native_prop:property_service set;
+#line 37
+
+#line 37
+allow flags_health_check device_config_mmd_native_prop:file { getattr open read map };
+#line 37
+
+#line 37
+
+
+#line 38
+
+#line 38
+allow flags_health_check property_socket:sock_file write;
+#line 38
+allow flags_health_check init:unix_stream_socket connectto;
+#line 38
+
+#line 38
+allow flags_health_check next_boot_prop:property_service set;
+#line 38
+
+#line 38
+allow flags_health_check next_boot_prop:file { getattr open read map };
+#line 38
+
+#line 38
+
+
+allow flags_health_check server_configurable_flags_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow flags_health_check server_configurable_flags_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+###
+### Neverallow rules
+###
+
+# server_configurable_flags_data_file is used for storing whether server configurable flags which
+# have been reset during current booting. Mistakenly modified by unrelated components can
+# cause bad server configurable flags synced back to device.
+neverallow { domain -init -flags_health_check } server_configurable_flags_data_file:file { append create link unlink relabelfrom rename setattr write };
+
+# system property device_config_boot_count_prop is used for deciding when to perform server
+# configurable flags related disaster recovery. Mistakenly set up by unrelated components can, at a
+# wrong timing, trigger server configurable flag related disaster recovery, which will override
+# server configured values of all flags with default values.
+neverallow { domain -init -flags_health_check } device_config_boot_count_prop:property_service set;
+
+# system property device_config_reset_performed_prop is used for indicating whether server
+# configurable flags have been reset during booting. Mistakenly modified by unrelated components can
+# cause bad server configurable flags synced back to device.
+neverallow { domain -init -flags_health_check } device_config_reset_performed_prop:property_service set;
+#line 1 "system/sepolicy/private/fsck.te"
+typeattribute fsck coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init fsck_exec:file { getattr open read execute map };
+#line 3
+allow init fsck:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow fsck fsck_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init fsck:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init fsck:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init fsck_exec:process fsck;
+#line 3
+
+#line 3
+
+
+# fsck can run before apex is ready.
+
+#line 6
+  allow fsck system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+  allow fsck system_bootstrap_lib_file:file { execute read open getattr map };
+#line 6
+
+
+allow fsck metadata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# /dev/__null__ created by init prior to policy load,
+# open fd inherited by fsck.
+allow fsck tmpfs:chr_file { read write ioctl };
+
+# Inherit and use pty created by android_fork_execvp_ext().
+allow fsck devpts:chr_file { read write ioctl getattr };
+
+# Allow stdin/out back to vold
+allow fsck vold:fd use;
+allow fsck vold:fifo_file { read write getattr };
+
+# Run fsck on certain block devices
+allow fsck userdata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow fsck cache_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow fsck dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow fsck zoned_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 28
+
+
+# e2fsck performs a comprehensive search of /proc/mounts to check whether the
+# checked filesystem is currently mounted.
+allow fsck metadata_file:dir getattr;
+allow fsck block_device:dir search;
+allow fsck mirror_data_file:dir search;
+
+# For the block devices where we have ioctl access,
+# allow at a minimum the following common fsck ioctls.
+allowxperm fsck dev_type:blk_file ioctl {
+  0x0000127c
+  0x0000125e
+  0xc0101282
+};
+
+# To determine if it is safe to run fsck on a filesystem, e2fsck
+# must first determine if the filesystem is mounted. To do that,
+# e2fsck scans through /proc/mounts and collects all the mounted
+# block devices. With that information, it runs stat() on each block
+# device, comparing the major and minor numbers to the filesystem
+# passed in on the command line. If there is a match, then the filesystem
+# is currently mounted and running fsck is dangerous.
+# Allow stat access to all block devices so that fsck can compare
+# major/minor values.
+allow fsck dev_type:blk_file getattr;
+
+allow fsck {
+  proc_mounts
+  proc_swaps
+  sysfs_dm
+}:file { getattr open read ioctl lock map watch watch_reads };
+allow fsck rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow fsck sysfs_dm:dir { open getattr read search ioctl lock watch watch_reads };
+
+###
+### neverallow rules
+###
+
+# fsck should never be run on these block devices
+neverallow fsck {
+  boot_block_device
+  frp_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  
+  vold_device
+}:blk_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Only allow entry from init or vold via fsck binaries
+neverallow { domain -init -vold } fsck:process transition;
+neverallow * fsck:process dyntransition;
+neverallow fsck { file_type fs_type -fsck_exec }:file entrypoint;
+#line 1 "system/sepolicy/private/fsck_untrusted.te"
+typeattribute fsck_untrusted coredomain;
+
+
+#line 3
+  allow fsck system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 3
+  allow fsck system_bootstrap_lib_file:file { execute read open getattr map };
+#line 3
+
+
+# Inherit and use pty created by android_fork_execvp_ext().
+allow fsck_untrusted devpts:chr_file { read write ioctl getattr };
+
+# Allow stdin/out back to vold
+allow fsck_untrusted vold:fd use;
+allow fsck_untrusted vold:fifo_file { read write getattr };
+
+# Run fsck on vold block devices
+allow fsck_untrusted block_device:dir search;
+allow fsck_untrusted vold_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow fsck_untrusted proc_mounts:file { getattr open read ioctl lock map watch watch_reads };
+
+# To determine if it is safe to run fsck on a filesystem, e2fsck
+# must first determine if the filesystem is mounted. To do that,
+# e2fsck scans through /proc/mounts and collects all the mounted
+# block devices. With that information, it runs stat() on each block
+# device, comparing the major and minor numbers to the filesystem
+# passed in on the command line. If there is a match, then the filesystem
+# is currently mounted and running fsck is dangerous.
+# Allow stat access to all block devices so that fsck can compare
+# major/minor values.
+allow fsck_untrusted dev_type:blk_file getattr;
+
+###
+### neverallow rules
+###
+
+# Untrusted fsck should never be run on block devices holding sensitive data
+neverallow fsck_untrusted {
+  boot_block_device
+  frp_block_device
+  metadata_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdata_block_device
+  cache_block_device
+  dm_device
+}:blk_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Only allow entry from vold via fsck binaries
+neverallow { domain -vold } fsck_untrusted:process transition;
+neverallow * fsck_untrusted:process dyntransition;
+neverallow fsck_untrusted { file_type fs_type -fsck_exec }:file entrypoint;
+
+# fsck_untrusted should never have sys_admin permissions. If it requires sys_admin
+# permissions, that is a code mistake that needs to be fixed, not a permission that
+# should be granted. Same with setgid and setuid.
+neverallow fsck_untrusted self:{ capability cap_userns } { setgid setuid sys_admin };
+
+###
+### dontaudit rules
+###
+
+# Ignores attempts to access sysfs. fsck binaries seem to like trying to go
+# here, but nothing bad happens if they can't, and they shouldn't be allowed.
+dontaudit fsck_untrusted sysfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+dontaudit fsck_untrusted sysfs_dm:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+dontaudit fsck_untrusted sysfs_dm:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Ignore attempts to access tmpfs. fsck don't need to do this.
+dontaudit fsck_untrusted tmpfs:lnk_file read;
+#line 1 "system/sepolicy/private/fuseblkd.te"
+# Compartmentalized domain specifically for mounting fuseblk filesystems.
+# We need this to not grant fuseblkd_untrusted sys_admin permissions.
+type fuseblkd_exec, system_file_type, exec_type, file_type;
+type fuseblkd, domain;
+
+typeattribute fuseblkd coredomain;
+
+# Required for mount and unmounting. We can't minimize this permission,
+# even though we only allow mount/unmount.
+allow fuseblkd self:{ capability cap_userns } sys_admin;
+
+# Permissions for the fuseblk filesystem.
+allow fuseblkd fuse_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow fuseblkd fuseblk:filesystem { mount unmount };
+allow fuseblkd fuseblkd_untrusted:fd use;
+
+# Look through block devices to find the correct one.
+allow fuseblkd block_device:dir search;
+
+# Permissions to mount on the media_rw directory for USB drives.
+allow fuseblkd mnt_media_rw_file:dir search;
+allow fuseblkd mnt_media_rw_stub_file:dir mounton;
+
+###
+### neverallow rules
+###
+
+# Only allow entry from fuseblkd_untrusted, and only through fuseblkd_exec binary.
+neverallow { domain -fuseblkd_untrusted } fuseblkd:process transition;
+neverallow * fuseblkd:process dyntransition;
+neverallow fuseblkd { file_type fs_type -fuseblkd_exec }:file entrypoint;
+#line 1 "system/sepolicy/private/fuseblkd_untrusted.te"
+# Fuseblk is a Filesystem in USErspace for block device. It should only be used
+# to mount untrusted blocks like USB drives.
+type fuseblkd_untrusted_exec, system_file_type, exec_type, file_type;
+type fuseblkd_untrusted, domain;
+
+typeattribute fuseblkd_untrusted coredomain;
+
+
+#line 8
+# Allow the necessary permissions.
+#line 8
+
+#line 8
+# Old domain may exec the file and transition to the new domain.
+#line 8
+allow fuseblkd_untrusted fuseblkd_exec:file { getattr open read execute map };
+#line 8
+allow fuseblkd_untrusted fuseblkd:process transition;
+#line 8
+# New domain is entered by executing the file.
+#line 8
+allow fuseblkd fuseblkd_exec:file { entrypoint open read execute getattr map };
+#line 8
+# New domain can send SIGCHLD to its caller.
+#line 8
+allow fuseblkd fuseblkd_untrusted:process sigchld;
+#line 8
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 8
+dontaudit fuseblkd_untrusted fuseblkd:process noatsecure;
+#line 8
+# XXX dontaudit candidate but requires further study.
+#line 8
+allow fuseblkd_untrusted fuseblkd:process { siginh rlimitinh };
+#line 8
+
+#line 8
+# Make the transition occur by default.
+#line 8
+type_transition fuseblkd_untrusted fuseblkd_exec:process fuseblkd;
+#line 8
+;
+
+# Allow stdin/out back to vold.
+allow fuseblkd_untrusted vold:fd use;
+
+# Allows fuseblk to read block devices.
+allow fuseblkd_untrusted block_device:dir search;
+
+# Permissions to read dynamic partitions blocks.
+allow fuseblkd_untrusted super_block_device:blk_file getattr;
+
+# Permissions to access FUSE character devices.
+allow fuseblkd_untrusted fuse_device:chr_file { getattr open read write };
+
+# Permissions to access /mnt/media_rw/.
+allow fuseblkd_untrusted mnt_media_rw_file:dir { getattr search };
+allow fuseblkd_untrusted mnt_media_rw_stub_file:dir getattr;
+
+# Permissions to read device mappers.
+allow fuseblkd_untrusted sysfs_dm:dir search;
+allow fuseblkd_untrusted sysfs_dm:file { getattr open read };
+allow fuseblkd_untrusted dm_device:blk_file getattr;
+
+# Permissions to read links in tmpfs.
+allow fuseblkd_untrusted tmpfs:lnk_file read;
+
+# Permissions to read loop device blocks.
+allow fuseblkd_untrusted loop_device:blk_file getattr;
+
+# Permissions to access the /proc/filesystems file.
+allow fuseblkd_untrusted proc_filesystems:file { open read getattr };
+
+###
+### dontaudit rules
+###
+
+# ntfs-3g wants this permission to read a fork return code, for some reason.
+# It's unclear why, because it still reads the fork return code correctly,
+# and nothing breaks. If enforce is set to permissive, the audit goes away.
+dontaudit fuseblkd_untrusted self:capability sys_admin;
+
+###
+### neverallow rules
+###
+
+# Fuseblk should never be run on block devices holding sensitive data.
+neverallow fuseblkd_untrusted {
+  boot_block_device
+  frp_block_device
+  metadata_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdata_block_device
+  cache_block_device
+  dm_device
+}:blk_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Only allow entry from vold, and only through fuseblkd_untrusted_exec binaries.
+neverallow { domain -vold } fuseblkd_untrusted:process transition;
+neverallow * fuseblkd_untrusted:process dyntransition;
+neverallow fuseblkd_untrusted { file_type fs_type -fuseblkd_untrusted_exec }:file entrypoint;
+
+# Under no circumstances should fuseblkd_untrusted or any other fuseblk filesystem be
+# given sys_admin access. They are fundementally untrusted, insecure filesystems.
+# The correct solution here is to compartmentalize permissions correctly so that
+# a smaller binary can get the required permissions. See fuseblkd.te.
+# Similar to above, we don't need setgid or setuid permissions.
+neverallow fuseblkd_untrusted self:capability { setgid setuid sys_admin };
+neverallow fuseblkd_untrusted self:{ capability cap_userns } { setgid setuid sys_admin };
+
+# Since we can't have sys_admin permissions, we definitely can't have mount/unmount
+# permissions, since we won't be able to use them. Same with relabel permissions.
+neverallow fuseblkd_untrusted fuseblk:filesystem { mount unmount relabelto relabelfrom};
+#line 1 "system/sepolicy/private/fwk_bufferhub.te"
+type fwk_bufferhub, domain, coredomain;
+type fwk_bufferhub_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+typeattribute fwk_bufferhub halclientdomain;
+#line 4
+typeattribute fwk_bufferhub hal_graphics_allocator_client;
+#line 4
+
+#line 4
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 4
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 4
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 4
+
+#line 4
+typeattribute fwk_bufferhub hal_graphics_allocator;
+#line 4
+# Find passthrough HAL implementations
+#line 4
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 4
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 4
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 4
+
+#line 4
+
+allow fwk_bufferhub ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init fwk_bufferhub_exec:file { getattr open read execute map };
+#line 7
+allow init fwk_bufferhub:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow fwk_bufferhub fwk_bufferhub_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init fwk_bufferhub:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init fwk_bufferhub:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init fwk_bufferhub_exec:process fwk_bufferhub;
+#line 7
+
+#line 7
+
+#line 1 "system/sepolicy/private/gatekeeperd.te"
+typeattribute gatekeeperd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init gatekeeperd_exec:file { getattr open read execute map };
+#line 3
+allow init gatekeeperd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow gatekeeperd gatekeeperd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init gatekeeperd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init gatekeeperd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init gatekeeperd_exec:process gatekeeperd;
+#line 3
+
+#line 3
+
+
+# For checking whether GSI is running
+
+#line 6
+allow gatekeeperd gsid_prop:file { getattr open read map };
+#line 6
+
+
+# gatekeeperd
+
+#line 9
+typeattribute gatekeeperd binderservicedomain;
+#line 9
+
+
+#line 10
+# Call the servicemanager and transfer references to it.
+#line 10
+allow gatekeeperd servicemanager:binder { call transfer };
+#line 10
+# Allow servicemanager to send out callbacks
+#line 10
+allow servicemanager gatekeeperd:binder { call transfer };
+#line 10
+# servicemanager performs getpidcon on clients.
+#line 10
+allow servicemanager gatekeeperd:dir search;
+#line 10
+allow servicemanager gatekeeperd:file { read open };
+#line 10
+allow servicemanager gatekeeperd:process getattr;
+#line 10
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 10
+# all domains in domain.te.
+#line 10
+
+
+### Rules needed when Gatekeeper HAL runs inside gatekeeperd process.
+### These rules should eventually be granted only when needed.
+allow gatekeeperd ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+# Load HAL implementation
+allow gatekeeperd system_file:dir { open getattr read search ioctl lock watch watch_reads };
+###
+
+### Rules needed when Gatekeeper HAL runs outside of gatekeeperd process.
+### These rules should eventually be granted only when needed.
+
+#line 21
+typeattribute gatekeeperd halclientdomain;
+#line 21
+typeattribute gatekeeperd hal_gatekeeper_client;
+#line 21
+
+#line 21
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 21
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 21
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 21
+
+#line 21
+typeattribute gatekeeperd hal_gatekeeper;
+#line 21
+# Find passthrough HAL implementations
+#line 21
+allow hal_gatekeeper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_gatekeeper vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_gatekeeper vendor_file:file { read open getattr execute map };
+#line 21
+
+#line 21
+
+###
+
+# need to find KeyStore and add self
+
+#line 25
+  allow gatekeeperd gatekeeper_service:service_manager { add find };
+#line 25
+  neverallow { domain -gatekeeperd } gatekeeper_service:service_manager add;
+#line 25
+
+#line 25
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 25
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 25
+  
+#line 25
+
+
+# Need to add auth tokens to KeyStore
+
+#line 28
+  allow keystore gatekeeperd:dir search;
+#line 28
+  allow keystore gatekeeperd:file { read open };
+#line 28
+  allow keystore gatekeeperd:process getattr;
+#line 28
+  allow gatekeeperd apc_service:service_manager find;
+#line 28
+  allow gatekeeperd keystore_service:service_manager find;
+#line 28
+  allow gatekeeperd legacykeystore_service:service_manager find;
+#line 28
+  
+#line 28
+# Call the server domain and optionally transfer references to it.
+#line 28
+allow gatekeeperd keystore:binder { call transfer };
+#line 28
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 28
+allow keystore gatekeeperd:binder transfer;
+#line 28
+# Receive and use open files from the server.
+#line 28
+allow gatekeeperd keystore:fd use;
+#line 28
+
+#line 28
+  
+#line 28
+# Call the server domain and optionally transfer references to it.
+#line 28
+allow keystore gatekeeperd:binder { call transfer };
+#line 28
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 28
+allow gatekeeperd keystore:binder transfer;
+#line 28
+# Receive and use open files from the server.
+#line 28
+allow keystore gatekeeperd:fd use;
+#line 28
+
+#line 28
+
+allow gatekeeperd keystore:keystore2 { add_auth };
+allow gatekeeperd authorization_service:service_manager find;
+
+
+# For permissions checking
+allow gatekeeperd system_server:binder call;
+allow gatekeeperd permission_service:service_manager find;
+
+# for SID file access
+allow gatekeeperd gatekeeper_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow gatekeeperd gatekeeper_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# For hardware properties retrieval
+allow gatekeeperd hardware_properties_service:service_manager find;
+
+
+#line 44
+allow gatekeeperd cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 44
+allow gatekeeperd cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 44
+
+
+#line 45
+allow gatekeeperd cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 45
+allow gatekeeperd cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 45
+
+#line 1 "system/sepolicy/private/gki_apex_prepostinstall.te"
+# GKI pre- & post-install hooks.
+#
+# Allow to run pre- and post-install hooks for GKI APEXes
+
+type gki_apex_prepostinstall, domain, coredomain;
+type gki_apex_prepostinstall_exec, system_file_type, exec_type, file_type;
+
+# Execute /system/bin/sh.
+allow gki_apex_prepostinstall shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Execute various toolsbox utilities.
+allow gki_apex_prepostinstall toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow preinstall.sh to execute update_engine_stable_client binary.
+allow gki_apex_prepostinstall gki_apex_prepostinstall_exec:file execute_no_trans;
+
+# Allow preinstall hook to communicate with update_engine to execute update.
+
+#line 18
+# Call the servicemanager and transfer references to it.
+#line 18
+allow gki_apex_prepostinstall servicemanager:binder { call transfer };
+#line 18
+# Allow servicemanager to send out callbacks
+#line 18
+allow servicemanager gki_apex_prepostinstall:binder { call transfer };
+#line 18
+# servicemanager performs getpidcon on clients.
+#line 18
+allow servicemanager gki_apex_prepostinstall:dir search;
+#line 18
+allow servicemanager gki_apex_prepostinstall:file { read open };
+#line 18
+allow servicemanager gki_apex_prepostinstall:process getattr;
+#line 18
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 18
+# all domains in domain.te.
+#line 18
+
+allow gki_apex_prepostinstall update_engine_stable_service:service_manager find;
+
+#line 20
+# Call the server domain and optionally transfer references to it.
+#line 20
+allow gki_apex_prepostinstall update_engine:binder { call transfer };
+#line 20
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 20
+allow update_engine gki_apex_prepostinstall:binder transfer;
+#line 20
+# Receive and use open files from the server.
+#line 20
+allow gki_apex_prepostinstall update_engine:fd use;
+#line 20
+
+
+# /dev/zero is inherited although it is not used. See b/126787589.
+allow gki_apex_prepostinstall apexd:fd use;
+#line 1 "system/sepolicy/private/gmscore_app.te"
+###
+### A domain for further sandboxing the PrebuiltGMSCore app.
+###
+typeattribute gmscore_app coredomain;
+
+
+#line 6
+typeattribute gmscore_app appdomain;
+#line 6
+# Label tmpfs objects for all apps.
+#line 6
+type_transition gmscore_app tmpfs:file appdomain_tmpfs;
+#line 6
+
+#line 6
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 6
+type gmscore_app_userfaultfd;
+#line 6
+type_transition gmscore_app gmscore_app:anon_inode gmscore_app_userfaultfd "[userfaultfd]";
+#line 6
+# Allow domain to create/use userfaultfd anon_inode.
+#line 6
+allow gmscore_app gmscore_app_userfaultfd:anon_inode { create ioctl read };
+#line 6
+# Suppress errors generate during bugreport
+#line 6
+dontaudit su gmscore_app_userfaultfd:anon_inode *;
+#line 6
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 6
+neverallow { domain -gmscore_app } gmscore_app_userfaultfd:anon_inode *;
+#line 6
+
+#line 6
+allow gmscore_app appdomain_tmpfs:file { execute getattr map read write };
+#line 6
+neverallow { gmscore_app -runas_app -shell -simpleperf } { domain -gmscore_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+neverallow { appdomain -runas_app -shell -simpleperf -gmscore_app } gmscore_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+# The Android security model guarantees the confidentiality and integrity
+#line 6
+# of application data and execution state. Ptrace bypasses those
+#line 6
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 6
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 6
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 6
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 6
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 6
+# live lock conditions.
+#line 6
+neverallow { domain -gmscore_app -crash_dump  -runas_app -simpleperf } gmscore_app:process ptrace;
+#line 6
+
+
+allow gmscore_app sysfs_type:dir search;
+# Read access to /sys/block/zram*/mm_stat
+
+#line 10
+allow gmscore_app sysfs_zram:dir { open getattr read search ioctl lock watch watch_reads };
+#line 10
+allow gmscore_app sysfs_zram:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 10
+
+
+
+#line 12
+allow gmscore_app rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow gmscore_app rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 12
+
+
+# Allow GMS core to open kernel config for OTA matching through libvintf
+allow gmscore_app config_gz:file { open read getattr };
+
+# Allow GMS core to communicate with update_engine for A/B update.
+
+#line 18
+# Call the server domain and optionally transfer references to it.
+#line 18
+allow gmscore_app update_engine:binder { call transfer };
+#line 18
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 18
+allow update_engine gmscore_app:binder transfer;
+#line 18
+# Receive and use open files from the server.
+#line 18
+allow gmscore_app update_engine:fd use;
+#line 18
+
+allow gmscore_app update_engine_service:service_manager find;
+
+# Allow GMS core to communicate with dumpsys storaged.
+
+#line 22
+# Call the server domain and optionally transfer references to it.
+#line 22
+allow gmscore_app storaged:binder { call transfer };
+#line 22
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 22
+allow storaged gmscore_app:binder transfer;
+#line 22
+# Receive and use open files from the server.
+#line 22
+allow gmscore_app storaged:fd use;
+#line 22
+
+allow gmscore_app storaged_service:service_manager find;
+
+# Allow GMS core to access system_update_service (e.g. to publish pending
+# system update info).
+allow gmscore_app system_update_service:service_manager find;
+
+# Allow GMS core to communicate with statsd.
+
+#line 30
+# Call the server domain and optionally transfer references to it.
+#line 30
+allow gmscore_app statsd:binder { call transfer };
+#line 30
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 30
+allow statsd gmscore_app:binder transfer;
+#line 30
+# Receive and use open files from the server.
+#line 30
+allow gmscore_app statsd:fd use;
+#line 30
+
+
+# Allow GMS core to receive Perfetto traces through the framework
+# (i.e. TracingServiceProxy) and sendfile them into its private directory
+# for reporting when network and battery conditions are appropriate.
+allow gmscore_app perfetto:fd use;
+allow gmscore_app perfetto_traces_data_file:file { read getattr };
+
+# Allow GMS core to generate unique hardware IDs
+allow gmscore_app keystore:keystore2_key gen_unique_id;
+
+# Allow GMS core to access /sys/fs/selinux/policyvers for compatibility check
+allow gmscore_app selinuxfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# suppress denials for non-API accesses.
+dontaudit gmscore_app exec_type:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app device:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit gmscore_app fs_bpf:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit gmscore_app kernel:security *;
+dontaudit gmscore_app net_dns_prop:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app proc:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app proc_interrupts:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app proc_modules:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app proc_net:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app proc_stat:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app proc_version:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit gmscore_app sysfs:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app sysfs_android_usb:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app sysfs_dm:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app sysfs_loop:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app sysfs_net:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app sysfs_net:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit gmscore_app { wifi_prop wifi_hal_prop }:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit gmscore_app mirror_data_file:dir search;
+dontaudit gmscore_app mnt_vendor_file:dir search;
+
+# Access the network
+
+#line 68
+typeattribute gmscore_app netdomain;
+#line 68
+
+
+# webview crash handling depends on self ptrace (b/27697529, b/20150694, b/19277529#comment7)
+allow gmscore_app self:process ptrace;
+
+# Allow loading executable code from writable priv-app home
+# directories. This is a W^X violation, however, it needs
+# to be supported for now for the following reasons.
+# * /data/user_*/0/*/code_cache/* POSSIBLE uses (b/117841367)
+#   1) com.android.opengl.shaders_cache
+#   2) com.android.skia.shaders_cache
+#   3) com.android.renderscript.cache
+# * /data/user_de/0/com.google.android.gms/app_chimera
+# TODO: Tighten (b/112357170)
+allow gmscore_app privapp_data_file:file execute;
+
+# Chrome Crashpad uses the the dynamic linker to load native executables
+# from an APK (b/112050209, crbug.com/928422)
+allow gmscore_app system_linker_exec:file execute_no_trans;
+
+allow gmscore_app privapp_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# /proc access
+allow gmscore_app proc_vmstat:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow interaction with gpuservice
+
+#line 94
+# Call the server domain and optionally transfer references to it.
+#line 94
+allow gmscore_app gpuservice:binder { call transfer };
+#line 94
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 94
+allow gpuservice gmscore_app:binder transfer;
+#line 94
+# Receive and use open files from the server.
+#line 94
+allow gmscore_app gpuservice:fd use;
+#line 94
+
+allow gmscore_app gpu_service:service_manager find;
+
+# find services that expose both @SystemAPI and normal APIs.
+allow gmscore_app app_api_service:service_manager find;
+allow gmscore_app system_api_service:service_manager find;
+allow gmscore_app audioserver_service:service_manager find;
+allow gmscore_app cameraserver_service:service_manager find;
+allow gmscore_app drmserver_service:service_manager find;
+allow gmscore_app mediadrmserver_service:service_manager find;
+allow gmscore_app mediaextractor_service:service_manager find;
+allow gmscore_app mediametrics_service:service_manager find;
+allow gmscore_app mediaserver_service:service_manager find;
+allow gmscore_app network_watchlist_service:service_manager find;
+allow gmscore_app nfc_service:service_manager find;
+allow gmscore_app oem_lock_service:service_manager find;
+allow gmscore_app persistent_data_block_service:service_manager find;
+allow gmscore_app radio_service:service_manager find;
+allow gmscore_app recovery_service:service_manager find;
+allow gmscore_app stats_service:service_manager find;
+
+# Write to /cache.
+allow gmscore_app { cache_file cache_recovery_file }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow gmscore_app { cache_file cache_recovery_file }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# /cache is a symlink to /data/cache on some devices. Allow reading the link.
+allow gmscore_app cache_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Write to /data/ota_package for OTA packages.
+allow gmscore_app ota_package_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow gmscore_app ota_package_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Write the checkin metadata to /data/misc_ce/<userid>/checkin
+allow gmscore_app checkin_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow gmscore_app checkin_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Used by Finsky / Android "Verify Apps" functionality when
+# running "adb install foo.apk".
+allow gmscore_app shell_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow gmscore_app shell_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# allow gms core app write to aconfigd socket
+
+#line 135
+allow gmscore_app aconfigd_socket:sock_file write;
+#line 135
+allow gmscore_app aconfigd:unix_stream_socket connectto;
+#line 135
+;
+
+# allow gms core app write to aconfigd_mainline socket
+
+#line 138
+allow gmscore_app aconfigd_mainline_socket:sock_file write;
+#line 138
+allow gmscore_app aconfigd_mainline:unix_stream_socket connectto;
+#line 138
+;
+
+# b/18504118: Allow reads from /data/anr/traces.txt
+allow gmscore_app anr_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# b/148974132: com.android.vending needs this
+allow gmscore_app priv_app:tcp_socket { read write };
+
+# b/168059475 Allow GMSCore to read Virtual AB properties to determine
+# if device supports VAB.
+
+#line 148
+allow gmscore_app virtual_ab_prop:file { getattr open read map };
+#line 148
+
+
+# b/186488185: Allow GMSCore to read dck properties
+
+#line 151
+allow gmscore_app dck_prop:file { getattr open read map };
+#line 151
+
+
+# Allow GMSCore to read RKP properties for the purpose of GTS testing.
+
+#line 154
+allow gmscore_app remote_prov_prop:file { getattr open read map };
+#line 154
+
+
+# Allow GmsCore to read Quick Start properties and prevent access from other
+# policies.
+
+#line 158
+allow gmscore_app quick_start_prop:file { getattr open read map };
+#line 158
+
+neverallow { domain -init -dumpstate -vendor_init -gmscore_app } quick_start_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Allow GmsCore to read Bluetotoh Power Off Finder property
+
+#line 162
+allow gmscore_app bluetooth_finder_prop:file { getattr open read map };
+#line 162
+
+
+# Do not allow getting permission-protected network information from sysfs.
+neverallow gmscore_app sysfs_net:file *;
+
+# Restrict socket ioctls. Either 1. disallow privileged ioctls, 2. disallow the
+# ioctl permission, or 3. disallow the socket class.
+neverallowxperm gmscore_app domain:{ icmp_socket rawip_socket tcp_socket udp_socket } ioctl 
+#line 169
+{
+#line 169
+# qualcomm rmnet ioctls
+#line 169
+0x00006900 0x00006902
+#line 169
+# socket ioctls
+#line 169
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 169
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 169
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 169
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 169
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 169
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 169
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 169
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 169
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 169
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 169
+# device and protocol specific ioctls
+#line 169
+0x000089f0-0x000089ff
+#line 169
+0x000089e0-0x000089ef
+#line 169
+# Wireless extension ioctls
+#line 169
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 169
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 169
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 169
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 169
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 169
+0x00008b34 0x00008b35 0x00008b36
+#line 169
+# Dev private ioctl i.e. hardware specific ioctls
+#line 169
+0x00008be0-0x00008bff
+#line 169
+};
+neverallow gmscore_app *:{ netlink_route_socket netlink_selinux_socket } ioctl;
+neverallow gmscore_app *:{
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket sctp_socket
+  ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket
+  atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket kcm_socket qipcrtr_socket smc_socket xdp_socket
+} *;
+#line 1 "system/sepolicy/private/gpuservice.te"
+# gpuservice - server for gpu stats and other gpu related services
+typeattribute gpuservice coredomain;
+typeattribute gpuservice bpfdomain;
+
+type gpuservice_exec, system_file_type, exec_type, file_type;
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init gpuservice_exec:file { getattr open read execute map };
+#line 7
+allow init gpuservice:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow gpuservice gpuservice_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init gpuservice:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init gpuservice:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init gpuservice_exec:process gpuservice;
+#line 7
+
+#line 7
+
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow gpuservice adbd:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow adbd gpuservice:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow gpuservice adbd:fd use;
+#line 9
+
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow gpuservice shell:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow shell gpuservice:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow gpuservice shell:fd use;
+#line 10
+
+
+#line 11
+# Call the server domain and optionally transfer references to it.
+#line 11
+allow gpuservice system_server:binder { call transfer };
+#line 11
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 11
+allow system_server gpuservice:binder transfer;
+#line 11
+# Receive and use open files from the server.
+#line 11
+allow gpuservice system_server:fd use;
+#line 11
+
+
+#line 12
+# Call the servicemanager and transfer references to it.
+#line 12
+allow gpuservice servicemanager:binder { call transfer };
+#line 12
+# Allow servicemanager to send out callbacks
+#line 12
+allow servicemanager gpuservice:binder { call transfer };
+#line 12
+# servicemanager performs getpidcon on clients.
+#line 12
+allow servicemanager gpuservice:dir search;
+#line 12
+allow servicemanager gpuservice:file { read open };
+#line 12
+allow servicemanager gpuservice:process getattr;
+#line 12
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 12
+# all domains in domain.te.
+#line 12
+
+
+# Access the GPU.
+allow gpuservice gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# GPU service will need to load GPU driver, for example Vulkan driver in order
+# to get the capability of the driver.
+allow gpuservice same_process_hal_file:file { open read getattr execute map };
+allow gpuservice ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+#line 21
+allow gpuservice hwservicemanager_prop:file { getattr open read map };
+#line 21
+
+
+#line 22
+# Call the hwservicemanager and transfer references to it.
+#line 22
+allow gpuservice hwservicemanager:binder { call transfer };
+#line 22
+# Allow hwservicemanager to send out callbacks
+#line 22
+allow hwservicemanager gpuservice:binder { call transfer };
+#line 22
+# hwservicemanager performs getpidcon on clients.
+#line 22
+allow hwservicemanager gpuservice:dir search;
+#line 22
+allow hwservicemanager gpuservice:file { read open map };
+#line 22
+allow hwservicemanager gpuservice:process getattr;
+#line 22
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 22
+# all domains in domain.te.
+#line 22
+
+
+# Access /dev/graphics/fb0.
+allow gpuservice graphics_device:dir search;
+allow gpuservice graphics_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow shell access
+allow gpuservice adbd:fd use;
+allow gpuservice adbd:unix_stream_socket { getattr read write };
+allow gpuservice shell:fifo_file { getattr read write };
+
+# Needed for perfetto producer.
+
+#line 34
+  allow gpuservice traced:fd use;
+#line 34
+  allow gpuservice traced_tmpfs:file { read write getattr map };
+#line 34
+  
+#line 34
+allow gpuservice traced_producer_socket:sock_file write;
+#line 34
+allow gpuservice traced:unix_stream_socket connectto;
+#line 34
+
+#line 34
+
+#line 34
+  # Also allow the service to use the producer file descriptors. This is
+#line 34
+  # necessary when the producer is creating the shared memory, as it will be
+#line 34
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 34
+  allow traced gpuservice:fd use;
+#line 34
+
+
+# Needed for interactive shell
+allow gpuservice devpts:chr_file { read write getattr };
+
+# Needed for dumpstate to dumpsys gpu.
+allow gpuservice dumpstate:fd use;
+allow gpuservice dumpstate:fifo_file write;
+
+# Needed for stats callback registration to statsd.
+allow gpuservice stats_service:service_manager find;
+allow gpuservice statsmanager_service:service_manager find;
+# TODO(b/146461633): remove this once native pullers talk to StatsManagerService
+
+#line 47
+# Call the server domain and optionally transfer references to it.
+#line 47
+allow gpuservice statsd:binder { call transfer };
+#line 47
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 47
+allow statsd gpuservice:binder transfer;
+#line 47
+# Receive and use open files from the server.
+#line 47
+allow gpuservice statsd:fd use;
+#line 47
+;
+
+# Needed for reading tracepoint ids in order to attach bpf programs.
+allow gpuservice debugfs_tracing:file { getattr open read ioctl lock map watch watch_reads };
+allow gpuservice self:perf_event { cpu kernel open write };
+neverallow gpuservice self:perf_event ~{ cpu kernel open write };
+
+# Needed for interact with bpf fs.
+# Write is needed to open read/write bpf maps.
+allow gpuservice fs_bpf:file { read write };
+
+# Needed for enabling bpf programs and accessing bpf maps (read-only and read/write).
+allow gpuservice bpfloader:bpf { map_read map_write prog_run };
+
+
+#line 61
+  allow gpuservice gpu_service:service_manager { add find };
+#line 61
+  neverallow { domain -gpuservice } gpu_service:service_manager add;
+#line 61
+
+#line 61
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 61
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 61
+  
+#line 61
+
+
+# Needed for enabling write access to persist.graphics.egl from developer option switch UI, through gpuservice.
+
+#line 64
+
+#line 64
+allow gpuservice property_socket:sock_file write;
+#line 64
+allow gpuservice init:unix_stream_socket connectto;
+#line 64
+
+#line 64
+allow gpuservice graphics_config_writable_prop:property_service set;
+#line 64
+
+#line 64
+allow gpuservice graphics_config_writable_prop:file { getattr open read map };
+#line 64
+
+#line 64
+
+
+neverallow { domain -init -vendor_init -gpuservice } graphics_config_writable_prop:property_service set;
+
+# Needed for querying permission
+allow gpuservice permission_service:service_manager find;
+
+# Only uncomment below line when in development
+# userdebug_or_eng(`permissive gpuservice;')
+#line 1 "system/sepolicy/private/gsid.te"
+# gsid - Manager for GSI Installation
+
+type gsid, domain;
+type gsid_exec, exec_type, file_type, system_file_type;
+typeattribute gsid coredomain;
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init gsid_exec:file { getattr open read execute map };
+#line 7
+allow init gsid:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow gsid gsid_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init gsid:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init gsid:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init gsid_exec:process gsid;
+#line 7
+
+#line 7
+
+
+
+#line 9
+# Call the servicemanager and transfer references to it.
+#line 9
+allow gsid servicemanager:binder { call transfer };
+#line 9
+# Allow servicemanager to send out callbacks
+#line 9
+allow servicemanager gsid:binder { call transfer };
+#line 9
+# servicemanager performs getpidcon on clients.
+#line 9
+allow servicemanager gsid:dir search;
+#line 9
+allow servicemanager gsid:file { read open };
+#line 9
+allow servicemanager gsid:process getattr;
+#line 9
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 9
+# all domains in domain.te.
+#line 9
+
+
+#line 10
+typeattribute gsid binderservicedomain;
+#line 10
+
+
+#line 11
+  allow gsid gsi_service:service_manager { add find };
+#line 11
+  neverallow { domain -gsid } gsi_service:service_manager add;
+#line 11
+
+#line 11
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 11
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 11
+  
+#line 11
+
+
+# Manage DSU metadata encryption key through vold.
+allow gsid vold_service:service_manager find;
+
+#line 15
+# Call the server domain and optionally transfer references to it.
+#line 15
+allow gsid vold:binder { call transfer };
+#line 15
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 15
+allow vold gsid:binder transfer;
+#line 15
+# Receive and use open files from the server.
+#line 15
+allow gsid vold:fd use;
+#line 15
+
+
+
+#line 17
+
+#line 17
+allow gsid property_socket:sock_file write;
+#line 17
+allow gsid init:unix_stream_socket connectto;
+#line 17
+
+#line 17
+allow gsid gsid_prop:property_service set;
+#line 17
+
+#line 17
+allow gsid gsid_prop:file { getattr open read map };
+#line 17
+
+#line 17
+
+
+# Needed to create/delete device-mapper nodes, and read/write to them.
+allow gsid dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow gsid dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow gsid self:{ capability cap_userns } sys_admin;
+dontaudit gsid self:{ capability cap_userns } dac_override;
+
+# On FBE devices (not using dm-default-key), gsid will use loop devices to map
+# images rather than device-mapper.
+allow gsid loop_control_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow gsid loop_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm gsid loop_device:blk_file ioctl {
+  0x00004c05
+  0x00004c04
+  0x00004c00
+  0x00004c09
+  0x00004c08
+  0x00004c01
+  0x00001261
+};
+
+# libfiemap_writer uses sysfs to derive the bottom of a device-mapper stacking.
+# This requires traversing /sys/block/dm-N/slaves/* and reading the list of
+# file names.
+
+#line 42
+allow gsid sysfs_dm:dir { open getattr read search ioctl lock watch watch_reads };
+#line 42
+allow gsid sysfs_dm:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 42
+
+
+# libfiemap_writer needs to read /sys/fs/f2fs/<dev>/features to determine
+# whether pin_file support is enabled.
+
+#line 46
+allow gsid sysfs_fs_f2fs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 46
+allow gsid sysfs_fs_f2fs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 46
+
+
+# Needed to read fstab, which is used to validate that system verity does not
+# use check_once_at_most for sdcard installs. (Note: proc_cmdline is needed
+# to get the A/B slot suffix).
+
+#line 51
+  allow gsid { metadata_file gsi_metadata_file_type }:dir search;
+#line 51
+  allow gsid gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 51
+  allow gsid { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 51
+
+allow gsid sysfs_dt_firmware_android:dir { open getattr read search ioctl lock watch watch_reads };
+allow gsid sysfs_dt_firmware_android:file { getattr open read ioctl lock map watch watch_reads };
+
+# Needed to stat /data/gsi/* and realpath on /dev/block/by-name/*
+allow gsid block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow querying the size of super_block_device_type.
+allow gsid super_block_device_type:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# liblp queries these block alignment properties.
+allowxperm gsid {
+  userdata_block_device
+  sdcard_block_device
+  super_block_device_type
+}:blk_file ioctl {
+  0x00001278
+  0x0000127a
+};
+
+# When installing images to an sdcard, gsid needs to be able to stat() the
+# block device. gsid also calls realpath() to remove symlinks.
+allow gsid mnt_media_rw_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow gsid mnt_media_rw_stub_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# When installing images to an sdcard, gsid must bypass sdcardfs and install
+# directly to vfat, which supports the FIBMAP ioctl.
+allow gsid vfat:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow gsid vfat:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow gsid sdcard_block_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+# This is needed for FIBMAP unfortunately. Oddly FIEMAP does not carry this
+# requirement, but the kernel does not implement FIEMAP support for VFAT.
+allow gsid self:{ capability cap_userns } sys_rawio;
+
+# Allow rules for gsi_tool.
+#line 95
+
+
+neverallow {
+  domain
+  -gsid
+  -init
+  -update_engine_common
+  -recovery
+  -fastbootd
+} gsid_prop:property_service set;
+
+# gsid needs to store images on /data, but cannot use file I/O. If it did, the
+# underlying blocks would be encrypted, and we couldn't mount the GSI image in
+# first-stage init. So instead of directly writing to /data, we:
+#
+#   1. fallocate a file large enough to hold the signed GSI
+#   2. extract its block layout with FIEMAP
+#   3. create a dm-linear device using the FIEMAP, targeting /dev/block/by-name/userdata
+#   4. write system_gsi into that dm device
+#
+# To make this process work, we need to unwrap the device-mapper stacking for
+# userdata to reach the underlying block device. To verify the result we use
+# stat(), which requires read access.
+allow gsid userdata_block_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# gsid uses /metadata/gsi to communicate GSI boot information to first-stage
+# init. It cannot use userdata since data cannot be decrypted during this
+# stage.
+#
+# gsid uses /metadata/gsi to store three files:
+#   install_status - A short string indicating whether a GSI image is bootable.
+#   lp_metadata    - LpMetadata blob describing the block ranges on userdata
+#                    where system_gsi resides.
+#   booted         - An empty file that, if exists, indicates that a GSI is
+#                    currently running.
+#
+allow gsid metadata_file:dir { search getattr };
+allow gsid {
+    gsi_metadata_file_type
+}:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+allow gsid {
+    ota_metadata_file
+}:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+allow gsid {
+    gsi_metadata_file_type
+    ota_metadata_file
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow restorecon to fix context of gsi_public_metadata_file.
+allow gsid file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow gsid gsi_metadata_file:file relabelfrom;
+allow gsid gsi_public_metadata_file:file relabelto;
+
+allow gsid {
+      gsi_data_file
+      ota_image_data_file
+}:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow gsid {
+      gsi_data_file
+      ota_image_data_file
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allowxperm gsid {
+      gsi_data_file
+      ota_image_data_file
+}:file ioctl {
+      0xc020660b
+      0x80086601
+};
+
+allow gsid system_server:binder call;
+
+# Prevent most processes from writing to gsi_metadata_file_type, but allow
+# adding rules for path resolution of gsi_public_metadata_file and reading
+# gsi_public_metadata_file.
+neverallow {
+    domain
+    -init
+    -gsid
+    -fastbootd
+} gsi_metadata_file_type:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+
+neverallow {
+    domain
+    -init
+    -gsid
+    -fastbootd
+} { gsi_metadata_file_type -gsi_public_metadata_file }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } *;
+
+neverallow {
+    domain
+    -init
+    -gsid
+    -fastbootd
+} gsi_public_metadata_file:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ { getattr open read ioctl lock map watch watch_reads } };
+
+# Prevent apps from accessing gsi_metadata_file_type.
+neverallow {
+    appdomain
+    -shell
+} gsi_metadata_file_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } *;
+
+neverallow {
+    domain
+    -init
+    -gsid
+} gsi_data_file:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } *;
+
+neverallow {
+    domain
+    -gsid
+} gsi_data_file:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ relabelto getattr };
+#line 1 "system/sepolicy/private/hal_allocator.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_allocator_client hal_allocator_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_allocator_server hal_allocator_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_allocator_client hal_allocator_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_allocator_client hidl_allocator_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_allocator_server hidl_allocator_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_allocator_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_allocator_server } hidl_allocator_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+allow hal_allocator_client hidl_memory_hwservice:hwservice_manager find;
+allow hal_allocator_client same_process_hal_file:file { execute read open getattr map };
+#line 1 "system/sepolicy/private/hal_allocator_default.te"
+type hal_allocator_default, domain, coredomain;
+
+#line 2
+typeattribute hal_allocator_default halserverdomain;
+#line 2
+typeattribute hal_allocator_default hal_allocator_server;
+#line 2
+typeattribute hal_allocator_default hal_allocator;
+#line 2
+
+
+type hal_allocator_default_exec, system_file_type, exec_type, file_type;
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init hal_allocator_default_exec:file { getattr open read execute map };
+#line 5
+allow init hal_allocator_default:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow hal_allocator_default hal_allocator_default_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init hal_allocator_default:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init hal_allocator_default:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init hal_allocator_default_exec:process hal_allocator_default;
+#line 5
+
+#line 5
+
+
+# to force stop the service when it's not supported
+
+#line 8
+
+#line 8
+allow hal_allocator_default property_socket:sock_file write;
+#line 8
+allow hal_allocator_default init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow hal_allocator_default hidl_memory_prop:property_service set;
+#line 8
+
+#line 8
+allow hal_allocator_default hidl_memory_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+#line 1 "system/sepolicy/private/hal_atrace.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_atrace_client hal_atrace_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_atrace_server hal_atrace_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_atrace_client hal_atrace_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_atrace_client hal_atrace_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_atrace_server hal_atrace_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_atrace_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_atrace_server } hal_atrace_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+#line 1 "system/sepolicy/private/hal_audio.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_audio_client hal_audio_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_audio_server hal_audio_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_audio_client hal_audio_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_audio_server hal_audio_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_audio_client hal_audio_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_audio_server hal_audio_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_audio_client hal_audio_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_audio_server hal_audio_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_audio_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_audio_server } hal_audio_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_audio_client hal_audio_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_audio_server hal_audio_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_audio_server } hal_audio_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+allow hal_audio ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow hal_audio_server servicemanager:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow servicemanager hal_audio_server:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow hal_audio_server servicemanager:fd use;
+#line 10
+
+
+
+#line 12
+allow hal_audio proc:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_audio proc:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 12
+
+
+#line 13
+allow hal_audio proc_asound:dir { open getattr read search ioctl lock watch watch_reads };
+#line 13
+allow hal_audio proc_asound:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 13
+
+allow hal_audio_server audio_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow hal_audio_server audio_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Needed to provide debug dump output via dumpsys' pipes.
+allow hal_audio shell:fd use;
+allow hal_audio shell:fifo_file write;
+allow hal_audio dumpstate:fd use;
+allow hal_audio dumpstate:fifo_file write;
+
+# Needed to allow sound trigger hal to access shared memory from apps.
+allow hal_audio_server appdomain:fd use;
+# Allow sound trigger hal to access shared memory from system server.
+allow hal_audio_server system_server_tmpfs:file { getattr map read };
+
+# allow self to set scheduler (and allows Binder RT PI)
+allow hal_audio_server self:{ capability cap_userns } sys_nice;
+
+# allow hal audio to use vnbinder
+
+#line 32
+# Talk to the vndbinder device node
+#line 32
+allow hal_audio vndbinder_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 32
+# Call the vndservicemanager and transfer references to it.
+#line 32
+allow hal_audio vndservicemanager:binder { call transfer };
+#line 32
+# vndservicemanager performs getpidcon on clients.
+#line 32
+allow vndservicemanager hal_audio:dir search;
+#line 32
+allow vndservicemanager hal_audio:file { read open map };
+#line 32
+allow vndservicemanager hal_audio:process getattr;
+#line 32
+
+
+###
+### neverallow rules
+###
+
+# Should never execute any executable without a domain transition
+neverallow hal_audio_server { file_type fs_type }:file execute_no_trans;
+
+# Only audio HAL may directly access the audio hardware
+neverallow { halserverdomain -hal_audio_server -hal_omx_server } audio_device:chr_file *;
+
+
+#line 44
+allow hal_audio audio_config_prop:file { getattr open read map };
+#line 44
+
+
+#line 45
+allow hal_audio bluetooth_a2dp_offload_prop:file { getattr open read map };
+#line 45
+
+
+#line 46
+allow hal_audio bluetooth_audio_hal_prop:file { getattr open read map };
+#line 46
+
+#line 1 "system/sepolicy/private/hal_audiocontrol.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_audiocontrol_client hal_audiocontrol_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_audiocontrol_server hal_audiocontrol_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_audiocontrol_client hal_audiocontrol_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_audiocontrol_server hal_audiocontrol_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_audiocontrol_client hal_audiocontrol_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_audiocontrol_server hal_audiocontrol_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_audiocontrol_client hal_audiocontrol_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_audiocontrol_server hal_audiocontrol_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_audiocontrol_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_audiocontrol_server } hal_audiocontrol_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_audiocontrol_client hal_audiocontrol_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_audiocontrol_server hal_audiocontrol_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_audiocontrol_server } hal_audiocontrol_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_audiocontrol_server servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_audiocontrol_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_audiocontrol_server servicemanager:fd use;
+#line 8
+
+#line 1 "system/sepolicy/private/hal_authgraph.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_authgraph_client hal_authgraph_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_authgraph_server hal_authgraph_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_authgraph_client hal_authgraph_server:fd use;
+#line 1
+
+
+
+#line 3
+  allow hal_authgraph_client hal_authgraph_service:service_manager find;
+#line 3
+  
+#line 3
+  allow hal_authgraph_server hal_authgraph_service:service_manager { add find };
+#line 3
+  neverallow { domain -hal_authgraph_server } hal_authgraph_service:service_manager add;
+#line 3
+
+#line 3
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 3
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 3
+  
+#line 3
+
+#line 3
+
+#line 3
+  
+#line 3
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_authgraph_server servicemanager:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow servicemanager hal_authgraph_server:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_authgraph_server servicemanager:fd use;
+#line 4
+
+
+allow hal_authgraph_server tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_authgraph_server ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/hal_authsecret.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_authsecret_client hal_authsecret_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_authsecret_server hal_authsecret_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_authsecret_client hal_authsecret_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_authsecret_client hal_authsecret_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_authsecret_server hal_authsecret_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_authsecret_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_authsecret_server } hal_authsecret_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+  allow hal_authsecret_client hal_authsecret_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_authsecret_server hal_authsecret_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_authsecret_server } hal_authsecret_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_authsecret_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_authsecret_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_authsecret_server servicemanager:fd use;
+#line 7
+
+#line 1 "system/sepolicy/private/hal_bluetooth.te"
+# HwBinder IPC from clients into server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_bluetooth_client hal_bluetooth_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_bluetooth_server hal_bluetooth_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_bluetooth_client hal_bluetooth_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_bluetooth_server hal_bluetooth_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_bluetooth_client hal_bluetooth_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_bluetooth_server hal_bluetooth_client:fd use;
+#line 3
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_bluetooth_server servicemanager:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow servicemanager hal_bluetooth_server:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_bluetooth_server servicemanager:fd use;
+#line 4
+
+
+
+#line 6
+  allow hal_bluetooth_client hal_bluetooth_hwservice:hwservice_manager find;
+#line 6
+  
+#line 6
+  allow hal_bluetooth_server hal_bluetooth_hwservice:hwservice_manager { add find };
+#line 6
+  allow hal_bluetooth_server hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -hal_bluetooth_server } hal_bluetooth_hwservice:hwservice_manager add;
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+#line 7
+  allow hal_bluetooth_client hal_bluetooth_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_bluetooth_server hal_bluetooth_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_bluetooth_server } hal_bluetooth_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+
+#line 9
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 9
+# deprecated.
+#line 9
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 9
+allow hal_bluetooth sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 9
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 9
+allow hal_bluetooth self:{ capability2 cap2_userns } block_suspend;
+#line 9
+# system_suspend permissions
+#line 9
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow hal_bluetooth system_suspend_server:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow system_suspend_server hal_bluetooth:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow hal_bluetooth system_suspend_server:fd use;
+#line 9
+
+#line 9
+allow hal_bluetooth system_suspend_hwservice:hwservice_manager find;
+#line 9
+# halclientdomain permissions
+#line 9
+
+#line 9
+# Call the hwservicemanager and transfer references to it.
+#line 9
+allow hal_bluetooth hwservicemanager:binder { call transfer };
+#line 9
+# Allow hwservicemanager to send out callbacks
+#line 9
+allow hwservicemanager hal_bluetooth:binder { call transfer };
+#line 9
+# hwservicemanager performs getpidcon on clients.
+#line 9
+allow hwservicemanager hal_bluetooth:dir search;
+#line 9
+allow hwservicemanager hal_bluetooth:file { read open map };
+#line 9
+allow hwservicemanager hal_bluetooth:process getattr;
+#line 9
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 9
+# all domains in domain.te.
+#line 9
+
+#line 9
+
+#line 9
+allow hal_bluetooth hwservicemanager_prop:file { getattr open read map };
+#line 9
+
+#line 9
+allow hal_bluetooth hidl_manager_hwservice:hwservice_manager find;
+#line 9
+# AIDL suspend hal permissions
+#line 9
+allow hal_bluetooth hal_system_suspend_service:service_manager find;
+#line 9
+
+#line 9
+# Call the servicemanager and transfer references to it.
+#line 9
+allow hal_bluetooth servicemanager:binder { call transfer };
+#line 9
+# Allow servicemanager to send out callbacks
+#line 9
+allow servicemanager hal_bluetooth:binder { call transfer };
+#line 9
+# servicemanager performs getpidcon on clients.
+#line 9
+allow servicemanager hal_bluetooth:dir search;
+#line 9
+allow servicemanager hal_bluetooth:file { read open };
+#line 9
+allow servicemanager hal_bluetooth:process getattr;
+#line 9
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 9
+# all domains in domain.te.
+#line 9
+
+#line 9
+;
+
+# The HAL toggles rfkill to power the chip off/on.
+allow hal_bluetooth self:{ capability cap_userns } net_admin;
+
+# bluetooth factory file accesses.
+
+#line 15
+allow hal_bluetooth bluetooth_efs_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_bluetooth bluetooth_efs_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 15
+
+
+allow hal_bluetooth { uhid_device hci_attach_dev }:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# sysfs access.
+
+#line 20
+allow hal_bluetooth sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_bluetooth sysfs_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 20
+
+allow hal_bluetooth sysfs_bluetooth_writable:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_bluetooth self:{ capability2 cap2_userns } wake_alarm;
+
+# Allow write access to bluetooth-specific properties
+
+#line 25
+
+#line 25
+allow hal_bluetooth property_socket:sock_file write;
+#line 25
+allow hal_bluetooth init:unix_stream_socket connectto;
+#line 25
+
+#line 25
+allow hal_bluetooth bluetooth_a2dp_offload_prop:property_service set;
+#line 25
+
+#line 25
+allow hal_bluetooth bluetooth_a2dp_offload_prop:file { getattr open read map };
+#line 25
+
+#line 25
+
+
+#line 26
+
+#line 26
+allow hal_bluetooth property_socket:sock_file write;
+#line 26
+allow hal_bluetooth init:unix_stream_socket connectto;
+#line 26
+
+#line 26
+allow hal_bluetooth bluetooth_audio_hal_prop:property_service set;
+#line 26
+
+#line 26
+allow hal_bluetooth bluetooth_audio_hal_prop:file { getattr open read map };
+#line 26
+
+#line 26
+
+
+#line 27
+
+#line 27
+allow hal_bluetooth property_socket:sock_file write;
+#line 27
+allow hal_bluetooth init:unix_stream_socket connectto;
+#line 27
+
+#line 27
+allow hal_bluetooth bluetooth_finder_prop:property_service set;
+#line 27
+
+#line 27
+allow hal_bluetooth bluetooth_finder_prop:file { getattr open read map };
+#line 27
+
+#line 27
+
+
+#line 28
+
+#line 28
+allow hal_bluetooth property_socket:sock_file write;
+#line 28
+allow hal_bluetooth init:unix_stream_socket connectto;
+#line 28
+
+#line 28
+allow hal_bluetooth bluetooth_prop:property_service set;
+#line 28
+
+#line 28
+allow hal_bluetooth bluetooth_prop:file { getattr open read map };
+#line 28
+
+#line 28
+
+
+#line 29
+
+#line 29
+allow hal_bluetooth property_socket:sock_file write;
+#line 29
+allow hal_bluetooth init:unix_stream_socket connectto;
+#line 29
+
+#line 29
+allow hal_bluetooth exported_bluetooth_prop:property_service set;
+#line 29
+
+#line 29
+allow hal_bluetooth exported_bluetooth_prop:file { getattr open read map };
+#line 29
+
+#line 29
+
+
+# /proc access (bluesleep etc.).
+allow hal_bluetooth proc_bluetooth_writable:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# allow to run with real-time scheduling policy
+allow hal_bluetooth self:{ capability cap_userns } sys_nice;
+#line 1 "system/sepolicy/private/hal_bootctl.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_bootctl_client hal_bootctl_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_bootctl_server hal_bootctl_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_bootctl_client hal_bootctl_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_bootctl_server hal_bootctl_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_bootctl_client hal_bootctl_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_bootctl_server hal_bootctl_client:fd use;
+#line 3
+
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow hal_bootctl_server servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager hal_bootctl_server:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager hal_bootctl_server:dir search;
+#line 4
+allow servicemanager hal_bootctl_server:file { read open };
+#line 4
+allow servicemanager hal_bootctl_server:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+
+
+#line 6
+  allow hal_bootctl_client hal_bootctl_hwservice:hwservice_manager find;
+#line 6
+  
+#line 6
+  allow hal_bootctl_server hal_bootctl_hwservice:hwservice_manager { add find };
+#line 6
+  allow hal_bootctl_server hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -hal_bootctl_server } hal_bootctl_hwservice:hwservice_manager add;
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+allow hal_bootctl_server proc_bootconfig:file { getattr open read ioctl lock map watch watch_reads };
+
+# Needed to wait for AIDL hal services
+
+#line 10
+  allow hal_bootctl_client hal_bootctl_service:service_manager find;
+#line 10
+  
+#line 10
+  allow hal_bootctl_server hal_bootctl_service:service_manager { add find };
+#line 10
+  neverallow { domain -hal_bootctl_server } hal_bootctl_service:service_manager add;
+#line 10
+
+#line 10
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 10
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 10
+  
+#line 10
+
+#line 10
+
+#line 10
+  
+#line 10
+;
+#line 1 "system/sepolicy/private/hal_broadcastradio.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_broadcastradio_client hal_broadcastradio_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_broadcastradio_server hal_broadcastradio_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_broadcastradio_client hal_broadcastradio_server:fd use;
+#line 1
+
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_broadcastradio_server hal_broadcastradio_client:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_broadcastradio_client hal_broadcastradio_server:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_broadcastradio_server hal_broadcastradio_client:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_broadcastradio_client hal_broadcastradio_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_broadcastradio_server hal_broadcastradio_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_broadcastradio_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_broadcastradio_server } hal_broadcastradio_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+  allow hal_broadcastradio_client hal_broadcastradio_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_broadcastradio_server hal_broadcastradio_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_broadcastradio_server } hal_broadcastradio_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_broadcastradio_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_broadcastradio_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_broadcastradio_server servicemanager:fd use;
+#line 7
+
+#line 1 "system/sepolicy/private/hal_camera.te"
+# HwBinder IPC from clients to server and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_camera_client hal_camera_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_camera_server hal_camera_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_camera_client hal_camera_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_camera_server hal_camera_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_camera_client hal_camera_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_camera_server hal_camera_client:fd use;
+#line 3
+
+
+#binder IPC from client to service manager and callbacks
+
+#line 6
+# Call the servicemanager and transfer references to it.
+#line 6
+allow hal_camera_server servicemanager:binder { call transfer };
+#line 6
+# Allow servicemanager to send out callbacks
+#line 6
+allow servicemanager hal_camera_server:binder { call transfer };
+#line 6
+# servicemanager performs getpidcon on clients.
+#line 6
+allow servicemanager hal_camera_server:dir search;
+#line 6
+allow servicemanager hal_camera_server:file { read open };
+#line 6
+allow servicemanager hal_camera_server:process getattr;
+#line 6
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+
+
+
+#line 8
+  allow hal_camera_client hal_camera_hwservice:hwservice_manager find;
+#line 8
+  
+#line 8
+  allow hal_camera_server hal_camera_hwservice:hwservice_manager { add find };
+#line 8
+  allow hal_camera_server hidl_base_hwservice:hwservice_manager add;
+#line 8
+  neverallow { domain -hal_camera_server } hal_camera_hwservice:hwservice_manager add;
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+
+#line 9
+  allow hal_camera_client hal_camera_service:service_manager find;
+#line 9
+  
+#line 9
+  allow hal_camera_server hal_camera_service:service_manager { add find };
+#line 9
+  neverallow { domain -hal_camera_server } hal_camera_service:service_manager add;
+#line 9
+
+#line 9
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 9
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 9
+  
+#line 9
+
+#line 9
+
+#line 9
+  
+#line 9
+
+
+allow hal_camera device:dir { open getattr read search ioctl lock watch watch_reads };
+allow hal_camera video_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow hal_camera video_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_camera camera_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_camera ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_camera dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Both the client and the server need to use the graphics allocator
+allow { hal_camera_client hal_camera_server } hal_graphics_allocator:fd use;
+
+# Allow hal_camera to use fd from app,gralloc,and ashmem HAL
+allow hal_camera { appdomain -isolated_app }:fd use;
+allow hal_camera surfaceflinger:fd use;
+allow hal_camera hal_allocator_server:fd use;
+
+# Needed to provide debug dump output via dumpsys' pipes.
+allow hal_camera shell:fd use;
+allow hal_camera shell:fifo_file write;
+
+###
+### neverallow rules
+###
+
+# hal_camera should never execute any executable without a
+# domain transition
+neverallow hal_camera_server { file_type fs_type }:file execute_no_trans;
+
+# hal_camera should never need network access. Disallow network sockets.
+neverallow hal_camera_server { domain  }:{ tcp_socket udp_socket rawip_socket } *;
+
+# Only camera HAL may directly access the camera hardware
+neverallow { halserverdomain -hal_camera_server } camera_device:chr_file *;
+#line 1 "system/sepolicy/private/hal_can.te"
+# CAN controller
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_can_controller_client hal_can_controller_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_can_controller_server hal_can_controller_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_can_controller_client hal_can_controller_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_can_controller_server hal_can_controller_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_can_controller_client hal_can_controller_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_can_controller_server hal_can_controller_client:fd use;
+#line 3
+
+
+#line 4
+  allow hal_can_controller_client hal_can_controller_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_can_controller_server hal_can_controller_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_can_controller_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_can_controller_server } hal_can_controller_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+# CAN bus
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_can_bus_client hal_can_bus_server:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow hal_can_bus_server hal_can_bus_client:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_can_bus_client hal_can_bus_server:fd use;
+#line 7
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_can_bus_server hal_can_bus_client:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow hal_can_bus_client hal_can_bus_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_can_bus_server hal_can_bus_client:fd use;
+#line 8
+
+
+#line 9
+  allow hal_can_bus_client hal_can_bus_hwservice:hwservice_manager find;
+#line 9
+  
+#line 9
+  allow hal_can_bus_server hal_can_bus_hwservice:hwservice_manager { add find };
+#line 9
+  allow hal_can_bus_server hidl_base_hwservice:hwservice_manager add;
+#line 9
+  neverallow { domain -hal_can_bus_server } hal_can_bus_hwservice:hwservice_manager add;
+#line 9
+
+#line 9
+
+#line 9
+  
+#line 9
+
+
+# AIDL HAL for CAN buses (ICanController)
+
+#line 12
+  allow hal_can_controller_client hal_can_controller_service:service_manager find;
+#line 12
+  
+#line 12
+  allow hal_can_controller_server hal_can_controller_service:service_manager { add find };
+#line 12
+  neverallow { domain -hal_can_controller_server } hal_can_controller_service:service_manager add;
+#line 12
+
+#line 12
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 12
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 12
+  
+#line 12
+
+#line 12
+
+#line 12
+  
+#line 12
+
+
+#line 13
+# Call the servicemanager and transfer references to it.
+#line 13
+allow hal_can_controller servicemanager:binder { call transfer };
+#line 13
+# Allow servicemanager to send out callbacks
+#line 13
+allow servicemanager hal_can_controller:binder { call transfer };
+#line 13
+# servicemanager performs getpidcon on clients.
+#line 13
+allow servicemanager hal_can_controller:dir search;
+#line 13
+allow servicemanager hal_can_controller:file { read open };
+#line 13
+allow servicemanager hal_can_controller:process getattr;
+#line 13
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 13
+# all domains in domain.te.
+#line 13
+
+#line 1 "system/sepolicy/private/hal_cas.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_cas_client hal_cas_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_cas_server hal_cas_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_cas_client hal_cas_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_cas_server hal_cas_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_cas_client hal_cas_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_cas_server hal_cas_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_cas_client hal_cas_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_cas_server hal_cas_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_cas_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_cas_server } hal_cas_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+allow hal_cas_server hidl_memory_hwservice:hwservice_manager find;
+
+
+#line 8
+  allow hal_cas_client hal_cas_service:service_manager find;
+#line 8
+  
+#line 8
+  allow hal_cas_server hal_cas_service:service_manager { add find };
+#line 8
+  neverallow { domain -hal_cas_server } hal_cas_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow hal_cas_server servicemanager:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow servicemanager hal_cas_server:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow hal_cas_server servicemanager:fd use;
+#line 10
+
+
+#line 11
+# Call the server domain and optionally transfer references to it.
+#line 11
+allow hal_cas_client servicemanager:binder { call transfer };
+#line 11
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 11
+allow servicemanager hal_cas_client:binder transfer;
+#line 11
+# Receive and use open files from the server.
+#line 11
+allow hal_cas_client servicemanager:fd use;
+#line 11
+
+
+# Permit reading device's serial number from system properties
+
+#line 14
+allow hal_cas_server serialno_prop:file { getattr open read map };
+#line 14
+
+
+# Read files already opened under /data
+allow hal_cas system_data_file:file { getattr read };
+
+# Read access to pseudo filesystems
+
+#line 20
+allow hal_cas cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_cas cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 20
+
+allow hal_cas cgroup:dir { search write };
+allow hal_cas cgroup:file { open append write lock map };
+
+
+#line 24
+allow hal_cas cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 24
+allow hal_cas cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 24
+
+allow hal_cas cgroup_v2:dir { search write };
+allow hal_cas cgroup_v2:file { open append write lock map };
+
+# Allow access to ion memory allocation device
+allow hal_cas ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_cas hal_graphics_allocator:fd use;
+
+allow hal_cas tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+###
+### neverallow rules
+###
+
+# hal_cas should never execute any executable without a
+# domain transition
+neverallow hal_cas_server { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm hal_cas_server domain:{ rawip_socket tcp_socket udp_socket } ioctl 
+#line 43
+{
+#line 43
+# qualcomm rmnet ioctls
+#line 43
+0x00006900 0x00006902
+#line 43
+# socket ioctls
+#line 43
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 43
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 43
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 43
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 43
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 43
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 43
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 43
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 43
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 43
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 43
+# device and protocol specific ioctls
+#line 43
+0x000089f0-0x000089ff
+#line 43
+0x000089e0-0x000089ef
+#line 43
+# Wireless extension ioctls
+#line 43
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 43
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 43
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 43
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 43
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 43
+0x00008b34 0x00008b35 0x00008b36
+#line 43
+# Dev private ioctl i.e. hardware specific ioctls
+#line 43
+0x00008be0-0x00008bff
+#line 43
+};
+#line 1 "system/sepolicy/private/hal_codec2.te"
+
+#line 1
+allow hal_codec2_client media_variant_prop:file { getattr open read map };
+#line 1
+
+
+#line 2
+allow hal_codec2_server media_variant_prop:file { getattr open read map };
+#line 2
+
+
+#line 3
+allow hal_codec2_client codec2_config_prop:file { getattr open read map };
+#line 3
+
+
+#line 4
+allow hal_codec2_server codec2_config_prop:file { getattr open read map };
+#line 4
+
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_codec2_client hal_codec2_server:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow hal_codec2_server hal_codec2_client:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_codec2_client hal_codec2_server:fd use;
+#line 6
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_codec2_server hal_codec2_client:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow hal_codec2_client hal_codec2_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_codec2_server hal_codec2_client:fd use;
+#line 7
+
+
+
+#line 9
+  allow hal_codec2_client hal_codec2_hwservice:hwservice_manager find;
+#line 9
+  
+#line 9
+  allow hal_codec2_server hal_codec2_hwservice:hwservice_manager { add find };
+#line 9
+  allow hal_codec2_server hidl_base_hwservice:hwservice_manager add;
+#line 9
+  neverallow { domain -hal_codec2_server } hal_codec2_hwservice:hwservice_manager add;
+#line 9
+
+#line 9
+
+#line 9
+  
+#line 9
+
+
+#line 10
+  allow hal_codec2_client hal_codec2_service:service_manager find;
+#line 10
+  
+#line 10
+  allow hal_codec2_server hal_codec2_service:service_manager { add find };
+#line 10
+  neverallow { domain -hal_codec2_server } hal_codec2_service:service_manager add;
+#line 10
+
+#line 10
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 10
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 10
+  
+#line 10
+
+#line 10
+
+#line 10
+  
+#line 10
+
+
+# The following permissions are added to hal_codec2_server because vendor and
+# vndk libraries provided for Codec2 implementation need them.
+
+# Allow server access to composer sync fences
+allow hal_codec2_server hal_graphics_composer:fd use;
+
+# Allow both server and client access to ion
+allow hal_codec2_server ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow server access to camera HAL's fences
+allow hal_codec2_server hal_camera:fd use;
+
+# Receive gralloc buffer FDs from bufferhubd.
+allow hal_codec2_server bufferhubd:fd use;
+
+allow hal_codec2_client ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+allow { hal_codec2_client -isolated_app_all } surfaceflinger_service:service_manager find;
+
+# codec2 aidl graphic buffer allocation waitable object
+allow hal_codec2_server su:fifo_file read;
+allow hal_codec2_server hal_codec2_client:fifo_file read;
+allow hal_codec2_server { appdomain -isolated_app_all }:fifo_file read;
+#line 1 "system/sepolicy/private/hal_configstore.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_configstore_client hal_configstore_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_configstore_server hal_configstore_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_configstore_client hal_configstore_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_configstore_client hal_configstore_ISurfaceFlingerConfigs:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_configstore_server hal_configstore_ISurfaceFlingerConfigs:hwservice_manager { add find };
+#line 4
+  allow hal_configstore_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_configstore_server } hal_configstore_ISurfaceFlingerConfigs:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+# hal_configstore runs with a strict seccomp filter. Use crash_dump's
+# fallback path to collect crash data.
+
+#line 8
+
+#line 8
+allow hal_configstore_server anr_data_file:file append;
+#line 8
+allow hal_configstore_server dumpstate:fd use;
+#line 8
+allow hal_configstore_server incidentd:fd use;
+#line 8
+# TODO: Figure out why write is needed.
+#line 8
+allow hal_configstore_server dumpstate:fifo_file { append write };
+#line 8
+allow hal_configstore_server incidentd:fifo_file { append write };
+#line 8
+allow hal_configstore_server system_server:fifo_file { append write };
+#line 8
+allow hal_configstore_server tombstoned:unix_stream_socket connectto;
+#line 8
+allow hal_configstore_server tombstoned:fd use;
+#line 8
+allow hal_configstore_server tombstoned_crash_socket:sock_file write;
+#line 8
+allow hal_configstore_server tombstone_data_file:file append;
+#line 8
+
+
+###
+### neverallow rules
+###
+
+# Should never execute an executable without a domain transition
+neverallow hal_configstore_server { file_type fs_type }:file execute_no_trans;
+
+# Should never need network access. Disallow sockets except for
+# for unix stream/dgram sockets used for logging/debugging.
+neverallow hal_configstore_server domain:{
+  rawip_socket tcp_socket udp_socket
+  netlink_route_socket netlink_selinux_socket
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket
+} *;
+neverallow hal_configstore_server {
+  domain
+  -hal_configstore_server
+  -logd
+  -prng_seeder
+  
+  -tombstoned
+}:{ unix_dgram_socket unix_stream_socket } *;
+
+# Should never need access to anything on /data
+neverallow hal_configstore_server {
+  data_file_type
+  -anr_data_file # for crash dump collection
+  -tombstone_data_file # for crash dump collection
+  
+}:{ file fifo_file sock_file } *;
+
+# Should never need sdcard access
+neverallow hal_configstore_server {
+    sdcard_type
+    fuse sdcardfs vfat exfat fuseblk     # manual expansion for completeness
+}:dir ~getattr;
+neverallow hal_configstore_server {
+    sdcard_type
+    fuse sdcardfs vfat exfat fuseblk     # manual expansion for completeness
+}:file *;
+
+# Do not permit access to service_manager and vndservice_manager
+neverallow hal_configstore_server *:service_manager *;
+
+# No privileged capabilities
+neverallow hal_configstore_server self:{ capability capability2 cap_userns cap2_userns } *;
+
+# No ptracing other processes
+neverallow hal_configstore_server *:process ptrace;
+
+# no relabeling
+neverallow hal_configstore_server *:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } { relabelfrom relabelto };
+#line 1 "system/sepolicy/private/hal_confirmationui.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_confirmationui_client hal_confirmationui_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_confirmationui_server hal_confirmationui_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_confirmationui_client hal_confirmationui_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_confirmationui_client hal_confirmationui_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_confirmationui_server hal_confirmationui_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_confirmationui_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_confirmationui_server } hal_confirmationui_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+  allow hal_confirmationui_client hal_confirmationui_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_confirmationui_server hal_confirmationui_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_confirmationui_server } hal_confirmationui_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_confirmationui_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_confirmationui_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_confirmationui_server servicemanager:fd use;
+#line 6
+
+#line 1 "system/sepolicy/private/hal_contexthub.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_contexthub_client hal_contexthub_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_contexthub_server hal_contexthub_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_contexthub_client hal_contexthub_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_contexthub_server hal_contexthub_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_contexthub_client hal_contexthub_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_contexthub_server hal_contexthub_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_contexthub_server hal_contexthub_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_contexthub_server } hal_contexthub_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_contexthub_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_contexthub_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_contexthub_server servicemanager:fd use;
+#line 6
+
+
+allow hal_contexthub_client hal_contexthub_service:service_manager find;
+
+
+#line 10
+  allow hal_contexthub_client hal_contexthub_hwservice:hwservice_manager find;
+#line 10
+  
+#line 10
+  allow hal_contexthub_server hal_contexthub_hwservice:hwservice_manager { add find };
+#line 10
+  allow hal_contexthub_server hidl_base_hwservice:hwservice_manager add;
+#line 10
+  neverallow { domain -hal_contexthub_server } hal_contexthub_hwservice:hwservice_manager add;
+#line 10
+
+#line 10
+
+#line 10
+  
+#line 10
+
+#line 1 "system/sepolicy/private/hal_drm.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the servicemanager and transfer references to it.
+#line 2
+allow hal_drm_server servicemanager:binder { call transfer };
+#line 2
+# Allow servicemanager to send out callbacks
+#line 2
+allow servicemanager hal_drm_server:binder { call transfer };
+#line 2
+# servicemanager performs getpidcon on clients.
+#line 2
+allow servicemanager hal_drm_server:dir search;
+#line 2
+allow servicemanager hal_drm_server:file { read open };
+#line 2
+allow servicemanager hal_drm_server:process getattr;
+#line 2
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 2
+# all domains in domain.te.
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_drm_client hal_drm_server:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_drm_server hal_drm_client:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_drm_client hal_drm_server:fd use;
+#line 3
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_drm_server hal_drm_client:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow hal_drm_client hal_drm_server:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_drm_server hal_drm_client:fd use;
+#line 4
+
+
+
+#line 6
+  allow hal_drm_client hal_drm_hwservice:hwservice_manager find;
+#line 6
+  
+#line 6
+  allow hal_drm_server hal_drm_hwservice:hwservice_manager { add find };
+#line 6
+  allow hal_drm_server hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -hal_drm_server } hal_drm_hwservice:hwservice_manager add;
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+#line 7
+  allow hal_drm_client hal_drm_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_drm_server hal_drm_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_drm_server } hal_drm_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+allow hal_drm hidl_memory_hwservice:hwservice_manager find;
+
+# Required by Widevine DRM (b/22990512)
+allow hal_drm self:process execmem;
+
+# Permit reading device's serial number from system properties
+
+#line 15
+allow hal_drm_server serialno_prop:file { getattr open read map };
+#line 15
+
+# Permit reading force L3 system property
+
+#line 17
+allow hal_drm_server drm_forcel3_prop:file { getattr open read map };
+#line 17
+
+
+# Read files already opened under /data
+allow hal_drm system_data_file:file { getattr read };
+
+# Read access to pseudo filesystems
+
+#line 23
+allow hal_drm cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 23
+allow hal_drm cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 23
+
+allow hal_drm cgroup:dir { search write };
+allow hal_drm cgroup:file { open append write lock map };
+
+
+#line 27
+allow hal_drm cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 27
+allow hal_drm cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 27
+
+allow hal_drm cgroup_v2:dir { search write };
+allow hal_drm cgroup_v2:file { open append write lock map };
+
+# Allow dumpsys Widevine without root
+allow hal_drm_server shell:fd use;
+allow hal_drm_server shell:fifo_file write;
+
+# Allow access to ion memory allocation device
+allow hal_drm ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_drm hal_graphics_allocator:fd use;
+
+# Allow access to hidl_memory allocation service
+allow hal_drm hal_allocator_server:fd use;
+
+# Allow access to fds allocated by mediaserver
+allow hal_drm mediaserver:fd use;
+
+allow hal_drm sysfs:file { getattr open read ioctl lock map watch watch_reads };
+
+allow hal_drm tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow hal_drm_server { appdomain -isolated_app }:fd use;
+
+# only allow unprivileged socket ioctl commands
+allowxperm hal_drm self:{ rawip_socket tcp_socket udp_socket }
+  ioctl { 
+#line 53
+{
+#line 53
+# Socket ioctls for gathering information about the interface
+#line 53
+0x00008906 0x00008907
+#line 53
+0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
+#line 53
+0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
+#line 53
+# Wireless extension ioctls. Primarily get functions.
+#line 53
+0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
+#line 53
+0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
+#line 53
+0x00008b25 0x00008b27 0x00008b29 0x00008b2d
+#line 53
+} {
+#line 53
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 53
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 53
+} };
+
+###
+### neverallow rules
+###
+
+# hal_drm should never execute any executable without a
+# domain transition
+neverallow hal_drm_server { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm hal_drm_server domain:{ rawip_socket tcp_socket udp_socket } ioctl 
+#line 64
+{
+#line 64
+# qualcomm rmnet ioctls
+#line 64
+0x00006900 0x00006902
+#line 64
+# socket ioctls
+#line 64
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 64
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 64
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 64
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 64
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 64
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 64
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 64
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 64
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 64
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 64
+# device and protocol specific ioctls
+#line 64
+0x000089f0-0x000089ff
+#line 64
+0x000089e0-0x000089ef
+#line 64
+# Wireless extension ioctls
+#line 64
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 64
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 64
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 64
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 64
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 64
+0x00008b34 0x00008b35 0x00008b36
+#line 64
+# Dev private ioctl i.e. hardware specific ioctls
+#line 64
+0x00008be0-0x00008bff
+#line 64
+};
+#line 1 "system/sepolicy/private/hal_dumpstate.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_dumpstate_client hal_dumpstate_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_dumpstate_server hal_dumpstate_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_dumpstate_client hal_dumpstate_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_dumpstate_server hal_dumpstate_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_dumpstate_client hal_dumpstate_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_dumpstate_server hal_dumpstate_client:fd use;
+#line 3
+
+
+
+#line 5
+
+#line 5
+allow hal_dumpstate_server property_socket:sock_file write;
+#line 5
+allow hal_dumpstate_server init:unix_stream_socket connectto;
+#line 5
+
+#line 5
+allow hal_dumpstate_server hal_dumpstate_config_prop:property_service set;
+#line 5
+
+#line 5
+allow hal_dumpstate_server hal_dumpstate_config_prop:file { getattr open read map };
+#line 5
+
+#line 5
+
+
+
+#line 7
+  allow hal_dumpstate_client hal_dumpstate_hwservice:hwservice_manager find;
+#line 7
+  
+#line 7
+  allow hal_dumpstate_server hal_dumpstate_hwservice:hwservice_manager { add find };
+#line 7
+  allow hal_dumpstate_server hidl_base_hwservice:hwservice_manager add;
+#line 7
+  neverallow { domain -hal_dumpstate_server } hal_dumpstate_hwservice:hwservice_manager add;
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+#line 8
+  allow hal_dumpstate_client hal_dumpstate_service:service_manager find;
+#line 8
+  
+#line 8
+  allow hal_dumpstate_server hal_dumpstate_service:service_manager { add find };
+#line 8
+  neverallow { domain -hal_dumpstate_server } hal_dumpstate_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow hal_dumpstate_server servicemanager:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow servicemanager hal_dumpstate_server:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow hal_dumpstate_server servicemanager:fd use;
+#line 10
+
+
+
+#line 12
+# Call the servicemanager and transfer references to it.
+#line 12
+allow hal_dumpstate_server servicemanager:binder { call transfer };
+#line 12
+# Allow servicemanager to send out callbacks
+#line 12
+allow servicemanager hal_dumpstate_server:binder { call transfer };
+#line 12
+# servicemanager performs getpidcon on clients.
+#line 12
+allow servicemanager hal_dumpstate_server:dir search;
+#line 12
+allow servicemanager hal_dumpstate_server:file { read open };
+#line 12
+allow servicemanager hal_dumpstate_server:process getattr;
+#line 12
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 12
+# all domains in domain.te.
+#line 12
+
+
+# write bug reports in /data/data/com.android.shell/files/bugreports/bugreport
+allow hal_dumpstate shell_data_file:file write;
+# allow reading /proc/interrupts for all hal impls
+allow hal_dumpstate proc_interrupts:file { getattr open read ioctl lock map watch watch_reads };
+
+# Log fsck results
+
+#line 20
+allow hal_dumpstate fscklogs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_dumpstate fscklogs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 20
+
+#line 1 "system/sepolicy/private/hal_evs.te"
+
+#line 1
+# Call the hwservicemanager and transfer references to it.
+#line 1
+allow hal_evs_client hwservicemanager:binder { call transfer };
+#line 1
+# Allow hwservicemanager to send out callbacks
+#line 1
+allow hwservicemanager hal_evs_client:binder { call transfer };
+#line 1
+# hwservicemanager performs getpidcon on clients.
+#line 1
+allow hwservicemanager hal_evs_client:dir search;
+#line 1
+allow hwservicemanager hal_evs_client:file { read open map };
+#line 1
+allow hwservicemanager hal_evs_client:process getattr;
+#line 1
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 1
+# all domains in domain.te.
+#line 1
+
+
+#line 2
+# Call the hwservicemanager and transfer references to it.
+#line 2
+allow hal_evs_server hwservicemanager:binder { call transfer };
+#line 2
+# Allow hwservicemanager to send out callbacks
+#line 2
+allow hwservicemanager hal_evs_server:binder { call transfer };
+#line 2
+# hwservicemanager performs getpidcon on clients.
+#line 2
+allow hwservicemanager hal_evs_server:dir search;
+#line 2
+allow hwservicemanager hal_evs_server:file { read open map };
+#line 2
+allow hwservicemanager hal_evs_server:process getattr;
+#line 2
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 2
+# all domains in domain.te.
+#line 2
+
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_evs_client hal_evs_server:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow hal_evs_server hal_evs_client:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_evs_client hal_evs_server:fd use;
+#line 4
+
+
+#line 5
+# Call the server domain and optionally transfer references to it.
+#line 5
+allow hal_evs_server hal_evs_client:binder { call transfer };
+#line 5
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 5
+allow hal_evs_client hal_evs_server:binder transfer;
+#line 5
+# Receive and use open files from the server.
+#line 5
+allow hal_evs_server hal_evs_client:fd use;
+#line 5
+
+
+# Below lines are equivalent to hal_attribute_hwservice(hal_evs, hal_evs_hwservice)
+# except it allows evsmanagerd to add hal_evs_hwservice.
+allow hal_evs_client hal_evs_hwservice:hwservice_manager find;
+allow hal_evs_server hal_evs_hwservice:hwservice_manager { add find };
+allow hal_evs_server hidl_base_hwservice:hwservice_manager add;
+neverallow { domain -hal_evs_server -evsmanagerd } hal_evs_hwservice:hwservice_manager add;
+
+# Allows to add a service
+
+#line 15
+  allow hal_evs_client hal_evs_service:service_manager find;
+#line 15
+  
+#line 15
+  allow hal_evs_server hal_evs_service:service_manager { add find };
+#line 15
+  neverallow { domain -hal_evs_server } hal_evs_service:service_manager add;
+#line 15
+
+#line 15
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 15
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 15
+  
+#line 15
+
+#line 15
+
+#line 15
+  
+#line 15
+
+#line 1 "system/sepolicy/private/hal_face.te"
+# Allow HwBinder IPC from client to server, and vice versa for callbacks.
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_face_client hal_face_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_face_server hal_face_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_face_client hal_face_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_face_server hal_face_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_face_client hal_face_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_face_server hal_face_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_face_client hal_face_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_face_server hal_face_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_face_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_face_server } hal_face_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_face_client hal_face_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_face_server hal_face_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_face_server } hal_face_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_face_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_face_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_face_server:dir search;
+#line 8
+allow servicemanager hal_face_server:file { read open };
+#line 8
+allow servicemanager hal_face_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+# Allow access to the ion memory allocation device.
+allow hal_face ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow read/write access to the face template directory.
+allow {hal_face -coredomain} face_vendor_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow {hal_face -coredomain} face_vendor_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+#line 1 "system/sepolicy/private/hal_fastboot.te"
+# allow binder connection from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_fastboot_client hal_fastboot_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_fastboot_server hal_fastboot_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_fastboot_client hal_fastboot_server:fd use;
+#line 2
+
+# allow client to find the service, allow server to register the service
+
+#line 4
+  allow hal_fastboot_client hal_fastboot_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_fastboot_server hal_fastboot_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_fastboot_server } hal_fastboot_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+# allow binder communication from server to service_manager
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_fastboot_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_fastboot_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_fastboot_server servicemanager:fd use;
+#line 6
+
+
+#line 1 "system/sepolicy/private/hal_fingerprint.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_fingerprint_client hal_fingerprint_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_fingerprint_server hal_fingerprint_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_fingerprint_client hal_fingerprint_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_fingerprint_server hal_fingerprint_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_fingerprint_client hal_fingerprint_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_fingerprint_server hal_fingerprint_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_fingerprint_client hal_fingerprint_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_fingerprint_server hal_fingerprint_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_fingerprint_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_fingerprint_server } hal_fingerprint_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_fingerprint_client hal_fingerprint_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_fingerprint_server hal_fingerprint_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_fingerprint_server } hal_fingerprint_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_fingerprint_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_fingerprint_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_fingerprint_server:dir search;
+#line 8
+allow servicemanager hal_fingerprint_server:file { read open };
+#line 8
+allow servicemanager hal_fingerprint_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+# For memory allocation
+allow hal_fingerprint ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+allow { hal_fingerprint -coredomain } fingerprint_vendor_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } };
+allow { hal_fingerprint -coredomain } fingerprint_vendor_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+
+#line 16
+allow hal_fingerprint cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_fingerprint cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 16
+
+
+#line 17
+allow hal_fingerprint cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 17
+allow hal_fingerprint cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 17
+
+
+#line 18
+allow {hal_fingerprint -coredomain} sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow {hal_fingerprint -coredomain} sysfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 18
+
+
+
+#line 1 "system/sepolicy/private/hal_gatekeeper.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_gatekeeper_client hal_gatekeeper_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_gatekeeper_server hal_gatekeeper_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_gatekeeper_client hal_gatekeeper_server:fd use;
+#line 1
+
+
+
+#line 3
+  allow hal_gatekeeper_client hal_gatekeeper_hwservice:hwservice_manager find;
+#line 3
+  
+#line 3
+  allow hal_gatekeeper_server hal_gatekeeper_hwservice:hwservice_manager { add find };
+#line 3
+  allow hal_gatekeeper_server hidl_base_hwservice:hwservice_manager add;
+#line 3
+  neverallow { domain -hal_gatekeeper_server } hal_gatekeeper_hwservice:hwservice_manager add;
+#line 3
+
+#line 3
+
+#line 3
+  
+#line 3
+
+
+#line 4
+  allow hal_gatekeeper_client hal_gatekeeper_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_gatekeeper_server hal_gatekeeper_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_gatekeeper_server } hal_gatekeeper_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+# Call the server domain and optionally transfer references to it.
+#line 5
+allow hal_gatekeeper_server servicemanager:binder { call transfer };
+#line 5
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 5
+allow servicemanager hal_gatekeeper_server:binder transfer;
+#line 5
+# Receive and use open files from the server.
+#line 5
+allow hal_gatekeeper_server servicemanager:fd use;
+#line 5
+
+
+# TEE access.
+allow hal_gatekeeper tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_gatekeeper ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/hal_gnss.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_gnss_client hal_gnss_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_gnss_server hal_gnss_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_gnss_client hal_gnss_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_gnss_server hal_gnss_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_gnss_client hal_gnss_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_gnss_server hal_gnss_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_gnss_client hal_gnss_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_gnss_server hal_gnss_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_gnss_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_gnss_server } hal_gnss_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_gnss_client hal_gnss_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_gnss_server hal_gnss_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_gnss_server } hal_gnss_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow hal_gnss_server servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager hal_gnss_server:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager hal_gnss_server:dir search;
+#line 7
+allow servicemanager hal_gnss_server:file { read open };
+#line 7
+allow servicemanager hal_gnss_server:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_gnss_client servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_gnss_client:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_gnss_client:dir search;
+#line 8
+allow servicemanager hal_gnss_client:file { read open };
+#line 8
+allow servicemanager hal_gnss_client:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+#line 1 "system/sepolicy/private/hal_graphics_allocator.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_graphics_allocator_client hal_graphics_allocator_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_graphics_allocator_server hal_graphics_allocator_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_graphics_allocator_client hal_graphics_allocator_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_graphics_allocator_client hal_graphics_allocator_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_graphics_allocator_server hal_graphics_allocator_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_graphics_allocator_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_graphics_allocator_server } hal_graphics_allocator_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+allow hal_graphics_allocator_client hal_graphics_mapper_hwservice:hwservice_manager find;
+allow hal_graphics_allocator_client hal_graphics_mapper_service:service_manager find;
+allow hal_graphics_allocator_client same_process_hal_file:file { execute read open getattr map };
+
+# GPU device access
+allow hal_graphics_allocator gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_graphics_allocator gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow hal_graphics_allocator ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow hal_graphics_allocator dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Access the secure heap
+allow hal_graphics_allocator dmabuf_system_secure_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# allow to run with real-time scheduling policy
+allow hal_graphics_allocator self:{ capability cap_userns } sys_nice;
+
+# IAllocator stable-aidl
+
+#line 22
+  allow hal_graphics_allocator_client hal_graphics_allocator_service:service_manager find;
+#line 22
+  
+#line 22
+  allow hal_graphics_allocator_server hal_graphics_allocator_service:service_manager { add find };
+#line 22
+  neverallow { domain -hal_graphics_allocator_server } hal_graphics_allocator_service:service_manager add;
+#line 22
+
+#line 22
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 22
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 22
+  
+#line 22
+
+#line 22
+
+#line 22
+  
+#line 22
+
+
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow hal_graphics_allocator_server servicemanager:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow servicemanager hal_graphics_allocator_server:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow hal_graphics_allocator_server servicemanager:fd use;
+#line 23
+
+
+#line 24
+# Call the server domain and optionally transfer references to it.
+#line 24
+allow hal_graphics_allocator_client servicemanager:binder { call transfer };
+#line 24
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 24
+allow servicemanager hal_graphics_allocator_client:binder transfer;
+#line 24
+# Receive and use open files from the server.
+#line 24
+allow hal_graphics_allocator_client servicemanager:fd use;
+#line 24
+
+#line 1 "system/sepolicy/private/hal_graphics_composer.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_graphics_composer_client hal_graphics_composer_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_graphics_composer_server hal_graphics_composer_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_graphics_composer_client hal_graphics_composer_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_graphics_composer_server hal_graphics_composer_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_graphics_composer_client hal_graphics_composer_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_graphics_composer_server hal_graphics_composer_client:fd use;
+#line 3
+
+allow hal_graphics_composer_client hal_graphics_composer_server_tmpfs:file { getattr map read write };
+allow hal_graphics_composer_server hal_graphics_composer_client_tmpfs:file { getattr map read write };
+
+
+#line 7
+  allow hal_graphics_composer_client hal_graphics_composer_hwservice:hwservice_manager find;
+#line 7
+  
+#line 7
+  allow hal_graphics_composer_server hal_graphics_composer_hwservice:hwservice_manager { add find };
+#line 7
+  allow hal_graphics_composer_server hidl_base_hwservice:hwservice_manager add;
+#line 7
+  neverallow { domain -hal_graphics_composer_server } hal_graphics_composer_hwservice:hwservice_manager add;
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+# Coordinate with hal_graphics_mapper
+allow hal_graphics_composer_server hal_graphics_mapper_hwservice:hwservice_manager find;
+
+# GPU device access
+allow hal_graphics_composer gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_graphics_composer gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow hal_graphics_composer ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow hal_graphics_composer dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow hal_graphics_composer hal_graphics_allocator:fd use;
+
+# Access /dev/graphics/fb0.
+allow hal_graphics_composer graphics_device:dir search;
+allow hal_graphics_composer graphics_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Fences
+allow hal_graphics_composer system_server:fd use;
+allow hal_graphics_composer bootanim:fd use;
+allow hal_graphics_composer appdomain:fd use;
+
+# allow self to set SCHED_FIFO
+allow hal_graphics_composer self:{ capability cap_userns } sys_nice;
+
+# allow surfaceflinger to use a pipe for dumpsys output
+allow hal_graphics_composer_server hal_graphics_composer_client:fifo_file write;
+
+
+
+#line 35
+# Call the server domain and optionally transfer references to it.
+#line 35
+allow hal_graphics_composer_client servicemanager:binder { call transfer };
+#line 35
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 35
+allow servicemanager hal_graphics_composer_client:binder transfer;
+#line 35
+# Receive and use open files from the server.
+#line 35
+allow hal_graphics_composer_client servicemanager:fd use;
+#line 35
+
+
+#line 36
+# Call the server domain and optionally transfer references to it.
+#line 36
+allow hal_graphics_composer_server servicemanager:binder { call transfer };
+#line 36
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 36
+allow servicemanager hal_graphics_composer_server:binder transfer;
+#line 36
+# Receive and use open files from the server.
+#line 36
+allow hal_graphics_composer_server servicemanager:fd use;
+#line 36
+
+
+
+#line 38
+  allow hal_graphics_composer_client hal_graphics_composer_service:service_manager find;
+#line 38
+  
+#line 38
+  allow hal_graphics_composer_server hal_graphics_composer_service:service_manager { add find };
+#line 38
+  neverallow { domain -hal_graphics_composer_server } hal_graphics_composer_service:service_manager add;
+#line 38
+
+#line 38
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 38
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 38
+  
+#line 38
+
+#line 38
+
+#line 38
+  
+#line 38
+
+#line 1 "system/sepolicy/private/hal_health.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_health_client hal_health_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_health_server hal_health_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_health_client hal_health_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_health_server hal_health_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_health_client hal_health_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_health_server hal_health_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_health_client hal_health_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_health_server hal_health_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_health_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_health_server } hal_health_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_health_client hal_health_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_health_server hal_health_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_health_server } hal_health_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+# Common rules for a health service.
+
+# Allow to listen to uevents for updates
+allow hal_health_server self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Allow to read /sys/class/power_supply directory
+allow hal_health_server sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow to read files under /sys/class/power_supply. Implementations typically have symlinks
+# to vendor specific files. Vendors should mark sysfs_batteryinfo on all files read by health
+# HAL service.
+
+#line 19
+allow hal_health_server sysfs_batteryinfo:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_health_server sysfs_batteryinfo:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 19
+
+
+# Allow to wake up to send periodic events
+
+#line 22
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 22
+# deprecated.
+#line 22
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 22
+allow hal_health_server sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 22
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 22
+allow hal_health_server self:{ capability2 cap2_userns } block_suspend;
+#line 22
+# system_suspend permissions
+#line 22
+
+#line 22
+# Call the server domain and optionally transfer references to it.
+#line 22
+allow hal_health_server system_suspend_server:binder { call transfer };
+#line 22
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 22
+allow system_suspend_server hal_health_server:binder transfer;
+#line 22
+# Receive and use open files from the server.
+#line 22
+allow hal_health_server system_suspend_server:fd use;
+#line 22
+
+#line 22
+allow hal_health_server system_suspend_hwservice:hwservice_manager find;
+#line 22
+# halclientdomain permissions
+#line 22
+
+#line 22
+# Call the hwservicemanager and transfer references to it.
+#line 22
+allow hal_health_server hwservicemanager:binder { call transfer };
+#line 22
+# Allow hwservicemanager to send out callbacks
+#line 22
+allow hwservicemanager hal_health_server:binder { call transfer };
+#line 22
+# hwservicemanager performs getpidcon on clients.
+#line 22
+allow hwservicemanager hal_health_server:dir search;
+#line 22
+allow hwservicemanager hal_health_server:file { read open map };
+#line 22
+allow hwservicemanager hal_health_server:process getattr;
+#line 22
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 22
+# all domains in domain.te.
+#line 22
+
+#line 22
+
+#line 22
+allow hal_health_server hwservicemanager_prop:file { getattr open read map };
+#line 22
+
+#line 22
+allow hal_health_server hidl_manager_hwservice:hwservice_manager find;
+#line 22
+# AIDL suspend hal permissions
+#line 22
+allow hal_health_server hal_system_suspend_service:service_manager find;
+#line 22
+
+#line 22
+# Call the servicemanager and transfer references to it.
+#line 22
+allow hal_health_server servicemanager:binder { call transfer };
+#line 22
+# Allow servicemanager to send out callbacks
+#line 22
+allow servicemanager hal_health_server:binder { call transfer };
+#line 22
+# servicemanager performs getpidcon on clients.
+#line 22
+allow servicemanager hal_health_server:dir search;
+#line 22
+allow servicemanager hal_health_server:file { read open };
+#line 22
+allow servicemanager hal_health_server:process getattr;
+#line 22
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 22
+# all domains in domain.te.
+#line 22
+
+#line 22
+
+
+# Write to /dev/kmsg
+allow hal_health_server kmsg_device:chr_file { getattr { open append write lock map } };
+
+# Allow to use timerfd to wake itself up periodically to send health info.
+allow hal_health_server self:capability2 wake_alarm;
+
+# Use bpf programs
+allow hal_health_server fs_bpf_vendor:dir search;
+allow hal_health_server fs_bpf_vendor:file read;
+allow hal_health_server bpfloader:bpf prog_run;
+#line 1 "system/sepolicy/private/hal_health_storage.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_health_storage_client hal_health_storage_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_health_storage_server hal_health_storage_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_health_storage_client hal_health_storage_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_health_storage_server hal_health_storage_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_health_storage_client hal_health_storage_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_health_storage_server hal_health_storage_client:fd use;
+#line 3
+
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow hal_health_storage_server servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager hal_health_storage_server:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager hal_health_storage_server:dir search;
+#line 5
+allow servicemanager hal_health_storage_server:file { read open };
+#line 5
+allow servicemanager hal_health_storage_server:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+
+#line 7
+  allow hal_health_storage_client hal_health_storage_hwservice:hwservice_manager find;
+#line 7
+  
+#line 7
+  allow hal_health_storage_server hal_health_storage_hwservice:hwservice_manager { add find };
+#line 7
+  allow hal_health_storage_server hidl_base_hwservice:hwservice_manager add;
+#line 7
+  neverallow { domain -hal_health_storage_server } hal_health_storage_hwservice:hwservice_manager add;
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+#line 8
+  allow hal_health_storage_client hal_health_storage_service:service_manager find;
+#line 8
+  
+#line 8
+  allow hal_health_storage_server hal_health_storage_service:service_manager { add find };
+#line 8
+  neverallow { domain -hal_health_storage_server } hal_health_storage_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+
+# Allow ReadDefaultFstab().
+
+#line 11
+  allow hal_health_storage_server { metadata_file gsi_metadata_file_type }:dir search;
+#line 11
+  allow hal_health_storage_server gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 11
+  allow hal_health_storage_server { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 11
+
+#line 1 "system/sepolicy/private/hal_identity.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_identity_client hal_identity_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_identity_server hal_identity_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_identity_client hal_identity_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_identity_client hal_identity_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_identity_server hal_identity_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_identity_server } hal_identity_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_identity_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_identity_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_identity_server servicemanager:fd use;
+#line 6
+
+#line 1 "system/sepolicy/private/hal_input_classifier.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_input_classifier_client hal_input_classifier_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_input_classifier_server hal_input_classifier_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_input_classifier_client hal_input_classifier_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_input_classifier_client hal_input_classifier_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_input_classifier_server hal_input_classifier_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_input_classifier_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_input_classifier_server } hal_input_classifier_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+#line 1 "system/sepolicy/private/hal_input_processor.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_input_processor_client hal_input_processor_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_input_processor_server hal_input_processor_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_input_processor_client hal_input_processor_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_input_processor_server servicemanager:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow servicemanager hal_input_processor_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_input_processor_server servicemanager:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_input_processor_client hal_input_processor_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_input_processor_server hal_input_processor_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_input_processor_server } hal_input_processor_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+# Allow dumping of the HAL
+allow hal_input_processor_server dumpstate:fifo_file write;
+#line 1 "system/sepolicy/private/hal_ir.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_ir_client hal_ir_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_ir_server hal_ir_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_ir_client hal_ir_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_ir_server hal_ir_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_ir_client hal_ir_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_ir_server hal_ir_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_ir_client hal_ir_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_ir_server hal_ir_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_ir_server } hal_ir_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_ir_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_ir_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_ir_server servicemanager:fd use;
+#line 6
+
+
+
+#line 8
+  allow hal_ir_client hal_ir_hwservice:hwservice_manager find;
+#line 8
+  
+#line 8
+  allow hal_ir_server hal_ir_hwservice:hwservice_manager { add find };
+#line 8
+  allow hal_ir_server hidl_base_hwservice:hwservice_manager add;
+#line 8
+  neverallow { domain -hal_ir_server } hal_ir_hwservice:hwservice_manager add;
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+#line 1 "system/sepolicy/private/hal_ivn.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_ivn_client hal_ivn_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_ivn_server hal_ivn_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_ivn_client hal_ivn_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_ivn_client hal_ivn_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_ivn_server hal_ivn_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_ivn_server } hal_ivn_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+#line 1 "system/sepolicy/private/hal_keymaster.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_keymaster_client hal_keymaster_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_keymaster_server hal_keymaster_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_keymaster_client hal_keymaster_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_keymaster_client hal_keymaster_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_keymaster_server hal_keymaster_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_keymaster_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_keymaster_server } hal_keymaster_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+allow hal_keymaster tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_keymaster ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/hal_keymint.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_keymint_client hal_keymint_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_keymint_server hal_keymint_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_keymint_client hal_keymint_server:fd use;
+#line 1
+
+
+
+#line 3
+  allow hal_keymint_client hal_keymint_service:service_manager find;
+#line 3
+  
+#line 3
+  allow hal_keymint_server hal_keymint_service:service_manager { add find };
+#line 3
+  neverallow { domain -hal_keymint_server } hal_keymint_service:service_manager add;
+#line 3
+
+#line 3
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 3
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 3
+  
+#line 3
+
+#line 3
+
+#line 3
+  
+#line 3
+
+
+#line 4
+  allow hal_keymint_client hal_remotelyprovisionedcomponent_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_keymint_server hal_remotelyprovisionedcomponent_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_keymint_server } hal_remotelyprovisionedcomponent_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+# Call the server domain and optionally transfer references to it.
+#line 5
+allow hal_keymint_server servicemanager:binder { call transfer };
+#line 5
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 5
+allow servicemanager hal_keymint_server:binder transfer;
+#line 5
+# Receive and use open files from the server.
+#line 5
+allow hal_keymint_server servicemanager:fd use;
+#line 5
+
+
+allow { hal_keymint_server -coredomain } tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow { hal_keymint_server -coredomain } ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/hal_keymint_system.te"
+type hal_keymint_system, domain, coredomain;
+
+#line 2
+typeattribute hal_keymint_system halserverdomain;
+#line 2
+typeattribute hal_keymint_system hal_keymint_server;
+#line 2
+typeattribute hal_keymint_system hal_keymint;
+#line 2
+
+
+type hal_keymint_system_exec, exec_type, system_file_type, file_type;
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init hal_keymint_system_exec:file { getattr open read execute map };
+#line 5
+allow init hal_keymint_system:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow hal_keymint_system hal_keymint_system_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init hal_keymint_system:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init hal_keymint_system:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init hal_keymint_system_exec:process hal_keymint_system;
+#line 5
+
+#line 5
+
+
+allow hal_keymint_system self:vsock_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } };
+#line 3 "system/sepolicy/private/hal_lazy_test.te"
+
+#line 1 "system/sepolicy/private/hal_light.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_light_client hal_light_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_light_server hal_light_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_light_client hal_light_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_light_server hal_light_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_light_client hal_light_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_light_server hal_light_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_light_client hal_light_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_light_server hal_light_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_light_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_light_server } hal_light_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_light_client hal_light_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_light_server hal_light_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_light_server } hal_light_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_light_server servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_light_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_light_server servicemanager:fd use;
+#line 8
+
+
+#line 9
+# Call the servicemanager and transfer references to it.
+#line 9
+allow hal_light_client servicemanager:binder { call transfer };
+#line 9
+# Allow servicemanager to send out callbacks
+#line 9
+allow servicemanager hal_light_client:binder { call transfer };
+#line 9
+# servicemanager performs getpidcon on clients.
+#line 9
+allow servicemanager hal_light_client:dir search;
+#line 9
+allow servicemanager hal_light_client:file { read open };
+#line 9
+allow servicemanager hal_light_client:process getattr;
+#line 9
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 9
+# all domains in domain.te.
+#line 9
+
+
+allow hal_light_server dumpstate:fifo_file write;
+
+allow hal_light sysfs_leds:lnk_file read;
+allow hal_light sysfs_leds:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_light sysfs_leds:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1 "system/sepolicy/private/hal_lowpan.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_lowpan_client hal_lowpan_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_lowpan_server hal_lowpan_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_lowpan_client hal_lowpan_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_lowpan_server hal_lowpan_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_lowpan_client hal_lowpan_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_lowpan_server hal_lowpan_client:fd use;
+#line 3
+
+
+
+# Allow hal_lowpan_client to be able to find the hal_lowpan_server
+
+#line 7
+  allow hal_lowpan_client hal_lowpan_hwservice:hwservice_manager find;
+#line 7
+  
+#line 7
+  allow hal_lowpan_server hal_lowpan_hwservice:hwservice_manager { add find };
+#line 7
+  allow hal_lowpan_server hidl_base_hwservice:hwservice_manager add;
+#line 7
+  neverallow { domain -hal_lowpan_server } hal_lowpan_hwservice:hwservice_manager add;
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+# hal_lowpan domain can write/read to/from lowpan_prop
+
+#line 10
+
+#line 10
+allow hal_lowpan_server property_socket:sock_file write;
+#line 10
+allow hal_lowpan_server init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow hal_lowpan_server lowpan_prop:property_service set;
+#line 10
+
+#line 10
+allow hal_lowpan_server lowpan_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+# Allow hal_lowpan_server to open lowpan_devices
+allow hal_lowpan_server lowpan_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+###
+### neverallow rules
+###
+
+# Only LoWPAN HAL may directly access LoWPAN hardware
+neverallow { domain -hal_lowpan_server -init -ueventd } lowpan_device:chr_file ~getattr;
+#line 1 "system/sepolicy/private/hal_macsec.te"
+# Binder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_macsec_client hal_macsec_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_macsec_server hal_macsec_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_macsec_client hal_macsec_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_macsec_server hal_macsec_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_macsec_client hal_macsec_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_macsec_server hal_macsec_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_macsec_client hal_macsec_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_macsec_server hal_macsec_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_macsec_server } hal_macsec_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow hal_macsec_server servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager hal_macsec_server:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager hal_macsec_server:dir search;
+#line 7
+allow servicemanager hal_macsec_server:file { read open };
+#line 7
+allow servicemanager hal_macsec_server:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+#line 1 "system/sepolicy/private/hal_mediaquality.te"
+
+#line 1
+    
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_mediaquality_client hal_mediaquality_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_mediaquality_server hal_mediaquality_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_mediaquality_client hal_mediaquality_server:fd use;
+#line 1
+
+#line 1
+    
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_mediaquality_server hal_mediaquality_client:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_mediaquality_client hal_mediaquality_server:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_mediaquality_server hal_mediaquality_client:fd use;
+#line 1
+
+#line 1
+
+#line 1
+    
+#line 1
+  allow hal_mediaquality_client hal_mediaquality_service:service_manager find;
+#line 1
+  
+#line 1
+  allow hal_mediaquality_server hal_mediaquality_service:service_manager { add find };
+#line 1
+  neverallow { domain -hal_mediaquality_server } hal_mediaquality_service:service_manager add;
+#line 1
+
+#line 1
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 1
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 1
+  
+#line 1
+
+#line 1
+
+#line 1
+  
+#line 1
+
+#line 1
+
+#line 1
+    
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_mediaquality_server servicemanager:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow servicemanager hal_mediaquality_server:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_mediaquality_server servicemanager:fd use;
+#line 1
+
+#line 1
+    
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_mediaquality_client servicemanager:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow servicemanager hal_mediaquality_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_mediaquality_client servicemanager:fd use;
+#line 1
+
+#line 9
+
+#line 1 "system/sepolicy/private/hal_memtrack.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_memtrack_client hal_memtrack_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_memtrack_server hal_memtrack_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_memtrack_client hal_memtrack_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_memtrack_client hal_memtrack_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_memtrack_server hal_memtrack_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_memtrack_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_memtrack_server } hal_memtrack_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+
+#line 6
+  allow hal_memtrack_client hal_memtrack_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_memtrack_server hal_memtrack_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_memtrack_server } hal_memtrack_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_memtrack_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_memtrack_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_memtrack_server servicemanager:fd use;
+#line 7
+
+#line 1 "system/sepolicy/private/hal_neuralnetworks.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_neuralnetworks_client hal_neuralnetworks_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_neuralnetworks_server hal_neuralnetworks_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_neuralnetworks_client hal_neuralnetworks_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_neuralnetworks_server hal_neuralnetworks_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_neuralnetworks_client hal_neuralnetworks_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_neuralnetworks_server hal_neuralnetworks_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_neuralnetworks_client hal_neuralnetworks_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_neuralnetworks_server hal_neuralnetworks_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_neuralnetworks_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_neuralnetworks_server } hal_neuralnetworks_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+allow hal_neuralnetworks hidl_memory_hwservice:hwservice_manager find;
+allow hal_neuralnetworks hal_allocator:fd use;
+allow hal_neuralnetworks hal_graphics_mapper_hwservice:hwservice_manager find;
+allow hal_neuralnetworks hal_graphics_allocator:fd use;
+allow hal_neuralnetworks gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_neuralnetworks gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow NN HAL service to use a client-provided fd residing in /data/data/.
+allow hal_neuralnetworks_server app_data_file:file { read write getattr map };
+allow hal_neuralnetworks_server privapp_data_file:file { read write getattr map };
+
+# Allow NN HAL service to use a client-provided fd residing in /data/local/tmp/.
+allow hal_neuralnetworks_server shell_data_file:file { read write getattr map };
+
+# Allow NN HAL service to read a client-provided ION memory fd.
+allow hal_neuralnetworks_server ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow NN HAL service to use a client-provided fd residing in /storage
+allow hal_neuralnetworks_server storage_file:file { getattr map read };
+
+# Allow NN HAL service to read a client-provided fd residing in /data/app/.
+allow hal_neuralnetworks_server apk_data_file:file { getattr map read };
+
+# Allow NN HAL client to check the ro.nnapi.extensions.deny_on_product
+# property to determine whether to deny NNAPI extensions use for apps
+# on product partition (apps in GSI are not allowed to use NNAPI extensions).
+
+#line 32
+allow hal_neuralnetworks_client nnapi_ext_deny_product_prop:file { getattr open read map };
+#line 32
+;
+
+# Allow NN HAL client to read device_config_nnapi_native_prop.
+
+#line 35
+allow hal_neuralnetworks_client device_config_nnapi_native_prop:file { getattr open read map };
+#line 35
+
+
+# This property is only expected to be found in /product/build.prop,
+# allow to be set only by init.
+neverallow { domain -init } nnapi_ext_deny_product_prop:property_service set;
+
+# Define sepolicy for NN AIDL HAL service
+
+#line 42
+  allow hal_neuralnetworks_client hal_neuralnetworks_service:service_manager find;
+#line 42
+  
+#line 42
+  allow hal_neuralnetworks_server hal_neuralnetworks_service:service_manager { add find };
+#line 42
+  neverallow { domain -hal_neuralnetworks_server } hal_neuralnetworks_service:service_manager add;
+#line 42
+
+#line 42
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 42
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 42
+  
+#line 42
+
+#line 42
+
+#line 42
+  
+#line 42
+
+
+#line 43
+# Call the server domain and optionally transfer references to it.
+#line 43
+allow hal_neuralnetworks_server servicemanager:binder { call transfer };
+#line 43
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 43
+allow servicemanager hal_neuralnetworks_server:binder transfer;
+#line 43
+# Receive and use open files from the server.
+#line 43
+allow hal_neuralnetworks_server servicemanager:fd use;
+#line 43
+
+
+
+#line 45
+# Call the servicemanager and transfer references to it.
+#line 45
+allow hal_neuralnetworks_server servicemanager:binder { call transfer };
+#line 45
+# Allow servicemanager to send out callbacks
+#line 45
+allow servicemanager hal_neuralnetworks_server:binder { call transfer };
+#line 45
+# servicemanager performs getpidcon on clients.
+#line 45
+allow servicemanager hal_neuralnetworks_server:dir search;
+#line 45
+allow servicemanager hal_neuralnetworks_server:file { read open };
+#line 45
+allow servicemanager hal_neuralnetworks_server:process getattr;
+#line 45
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 45
+# all domains in domain.te.
+#line 45
+
+
+allow hal_neuralnetworks_server dumpstate:fifo_file write;
+#line 1 "system/sepolicy/private/hal_neverallows.te"
+# only HALs responsible for network hardware should have privileged
+# network capabilities
+neverallow {
+  halserverdomain
+  -hal_bluetooth_server
+  -hal_can_controller_server
+  -hal_wifi_server
+  -hal_wifi_hostapd_server
+  -hal_wifi_supplicant_server
+  -hal_telephony_server
+  -hal_uwb_server
+  # TODO(b/196225233): Remove hal_uwb_vendor_server
+  -hal_uwb_vendor_server
+  -hal_nlinterceptor_server
+  -hal_tv_tuner_server
+} self:{ capability cap_userns } { net_admin net_raw };
+
+# Unless a HAL's job is to communicate over the network, or control network
+# hardware, it should not be using network sockets.
+# NOTE: HALs for automotive devices have an exemption from this rule because in
+# a car it is common to have external modules and HALs need to communicate to
+# those modules using network.  Using this exemption for non-automotive builds
+# will result in CTS failure.
+neverallow {
+  halserverdomain
+  -hal_automotive_socket_exemption
+  -hal_can_controller_server
+  -hal_tetheroffload_server
+  -hal_wifi_server
+  -hal_wifi_hostapd_server
+  -hal_wifi_supplicant_server
+  -hal_telephony_server
+  -hal_uwb_server
+  # TODO(b/196225233): Remove hal_uwb_vendor_server
+  -hal_uwb_vendor_server
+  -hal_nlinterceptor_server
+  -hal_bluetooth_server
+  -hal_tv_tuner_server
+} domain:{ udp_socket rawip_socket } *;
+
+neverallow {
+  halserverdomain
+  -hal_automotive_socket_exemption
+  -hal_can_controller_server
+  -hal_tetheroffload_server
+  -hal_wifi_server
+  -hal_wifi_hostapd_server
+  -hal_wifi_supplicant_server
+  -hal_telephony_server
+  -hal_nlinterceptor_server
+  -hal_bluetooth_server
+  -hal_tv_tuner_server
+} {
+  domain
+  
+}:tcp_socket *;
+
+# The UWB HAL is not actually a networking HAL but may need to bring up and down
+# interfaces. Restrict it to only these networking operations.
+neverallow hal_uwb_vendor_server self:{ capability cap_userns } { net_raw };
+
+# Subset of socket_class_set likely to be usable for communication or accessible through net_admin.
+# udp_socket is required to use interface ioctls.
+neverallow hal_uwb_vendor_server domain:{ socket rawip_socket netlink_socket packet_socket key_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket qipcrtr_socket xdp_socket } *;
+
+###
+# HALs are defined as an attribute and so a given domain could hypothetically
+# have multiple HALs in it (or even all of them) with the subsequent policy of
+# the domain comprised of the union of all the HALs.
+#
+# This is a problem because
+# 1) Security sensitive components should only be accessed by specific HALs.
+# 2) hwbinder_call and the restrictions it provides cannot be reasoned about in
+#    the platform.
+# 3) The platform cannot reason about defense in depth if there are
+#    monolithic domains etc.
+#
+# As an example, hal_keymaster and hal_gatekeeper can access the TEE and while
+# its OK for them to share a process its not OK with them to share processes
+# with other hals.
+#
+# The following neverallow rules, in conjuntion with CTS tests, assert that
+# these security principles are adhered to.
+#
+# Do not allow a hal to exec another process without a domain transition.
+# TODO remove exemptions.
+neverallow {
+  halserverdomain
+  -hal_dumpstate_server
+  -hal_telephony_server
+} {
+  file_type
+  fs_type
+  # May invoke shell commands via /system/bin/sh
+  -shell_exec
+  -toolbox_exec
+}:file execute_no_trans;
+# Do not allow a process other than init to transition into a HAL domain.
+neverallow { domain -init } halserverdomain:process transition;
+# Only allow transitioning to a domain by running its executable. Do not
+# allow transitioning into a HAL domain by use of seclabel in an
+# init.*.rc script.
+neverallow * halserverdomain:process dyntransition;
+#line 1 "system/sepolicy/private/hal_nfc.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_nfc_client hal_nfc_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_nfc_server hal_nfc_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_nfc_client hal_nfc_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_nfc_server hal_nfc_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_nfc_client hal_nfc_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_nfc_server hal_nfc_client:fd use;
+#line 3
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_nfc_server servicemanager:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow servicemanager hal_nfc_server:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_nfc_server servicemanager:fd use;
+#line 4
+
+
+
+#line 6
+  allow hal_nfc_client hal_nfc_hwservice:hwservice_manager find;
+#line 6
+  
+#line 6
+  allow hal_nfc_server hal_nfc_hwservice:hwservice_manager { add find };
+#line 6
+  allow hal_nfc_server hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -hal_nfc_server } hal_nfc_hwservice:hwservice_manager add;
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+#line 7
+  allow hal_nfc_client hal_nfc_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_nfc_server hal_nfc_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_nfc_server } hal_nfc_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+
+# Set NFC properties (used by bcm2079x HAL).
+
+#line 10
+
+#line 10
+allow hal_nfc property_socket:sock_file write;
+#line 10
+allow hal_nfc init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow hal_nfc nfc_prop:property_service set;
+#line 10
+
+#line 10
+allow hal_nfc nfc_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+# NFC device access.
+allow hal_nfc nfc_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/hal_nlinterceptor.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_nlinterceptor_client hal_nlinterceptor_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_nlinterceptor_server hal_nlinterceptor_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_nlinterceptor_client hal_nlinterceptor_server:fd use;
+#line 1
+
+
+
+#line 3
+  allow hal_nlinterceptor_client hal_nlinterceptor_service:service_manager find;
+#line 3
+  
+#line 3
+  allow hal_nlinterceptor_server hal_nlinterceptor_service:service_manager { add find };
+#line 3
+  neverallow { domain -hal_nlinterceptor_server } hal_nlinterceptor_service:service_manager add;
+#line 3
+
+#line 3
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 3
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 3
+  
+#line 3
+
+#line 3
+
+#line 3
+  
+#line 3
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_nlinterceptor servicemanager:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow servicemanager hal_nlinterceptor:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_nlinterceptor servicemanager:fd use;
+#line 4
+
+
+allow hal_nlinterceptor self:{ capability cap_userns } net_admin;
+allow hal_nlinterceptor self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_nlinterceptor self:netlink_route_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_readpriv nlmsg_write };
+#line 1 "system/sepolicy/private/hal_oemlock.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_oemlock_client hal_oemlock_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_oemlock_server hal_oemlock_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_oemlock_client hal_oemlock_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_oemlock_client hal_oemlock_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_oemlock_server hal_oemlock_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_oemlock_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_oemlock_server } hal_oemlock_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+  allow hal_oemlock_client hal_oemlock_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_oemlock_server hal_oemlock_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_oemlock_server } hal_oemlock_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_oemlock_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_oemlock_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_oemlock_server servicemanager:fd use;
+#line 7
+
+#line 1 "system/sepolicy/private/hal_omx.te"
+# applies all permissions to hal_omx NOT hal_omx_server
+# since OMX must always be in its own process.
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_omx_server binderservicedomain:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow binderservicedomain hal_omx_server:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_omx_server binderservicedomain:fd use;
+#line 4
+
+
+#line 5
+# Call the server domain and optionally transfer references to it.
+#line 5
+allow hal_omx_server { appdomain -isolated_app }:binder { call transfer };
+#line 5
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 5
+allow { appdomain -isolated_app } hal_omx_server:binder transfer;
+#line 5
+# Receive and use open files from the server.
+#line 5
+allow hal_omx_server { appdomain -isolated_app }:fd use;
+#line 5
+
+
+# Allow hal_omx_server access to composer sync fences
+allow hal_omx_server hal_graphics_composer:fd use;
+
+allow hal_omx_server ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_omx_server hal_camera:fd use;
+
+
+#line 13
+
+#line 13
+allow hal_omx_server anr_data_file:file append;
+#line 13
+allow hal_omx_server dumpstate:fd use;
+#line 13
+allow hal_omx_server incidentd:fd use;
+#line 13
+# TODO: Figure out why write is needed.
+#line 13
+allow hal_omx_server dumpstate:fifo_file { append write };
+#line 13
+allow hal_omx_server incidentd:fifo_file { append write };
+#line 13
+allow hal_omx_server system_server:fifo_file { append write };
+#line 13
+allow hal_omx_server tombstoned:unix_stream_socket connectto;
+#line 13
+allow hal_omx_server tombstoned:fd use;
+#line 13
+allow hal_omx_server tombstoned_crash_socket:sock_file write;
+#line 13
+allow hal_omx_server tombstone_data_file:file append;
+#line 13
+
+
+# Recieve gralloc buffer FDs from bufferhubd. Note that hal_omx_server never
+# directly connects to bufferhubd via PDX. Instead, a VR app acts as a bridge
+# between those two: it talks to hal_omx_server via Binder and talks to bufferhubd
+# via PDX. Thus, there is no need to use pdx_client macro.
+allow hal_omx_server bufferhubd:fd use;
+
+
+#line 21
+  allow hal_omx_client hal_omx_hwservice:hwservice_manager find;
+#line 21
+  
+#line 21
+  allow hal_omx_server hal_omx_hwservice:hwservice_manager { add find };
+#line 21
+  allow hal_omx_server hidl_base_hwservice:hwservice_manager add;
+#line 21
+  neverallow { domain -hal_omx_server } hal_omx_hwservice:hwservice_manager add;
+#line 21
+
+#line 21
+
+#line 21
+  
+#line 21
+
+
+allow hal_omx_client hidl_token_hwservice:hwservice_manager find;
+
+
+#line 25
+allow hal_omx_client media_variant_prop:file { getattr open read map };
+#line 25
+
+
+#line 26
+allow hal_omx_server media_variant_prop:file { getattr open read map };
+#line 26
+
+
+
+#line 28
+# Call the server domain and optionally transfer references to it.
+#line 28
+allow hal_omx_client hal_omx_server:binder { call transfer };
+#line 28
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 28
+allow hal_omx_server hal_omx_client:binder transfer;
+#line 28
+# Receive and use open files from the server.
+#line 28
+allow hal_omx_client hal_omx_server:fd use;
+#line 28
+
+
+#line 29
+# Call the server domain and optionally transfer references to it.
+#line 29
+allow hal_omx_server hal_omx_client:binder { call transfer };
+#line 29
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 29
+allow hal_omx_client hal_omx_server:binder transfer;
+#line 29
+# Receive and use open files from the server.
+#line 29
+allow hal_omx_server hal_omx_client:fd use;
+#line 29
+
+
+###
+### neverallow rules
+###
+
+# hal_omx_server should never execute any executable without a
+# domain transition
+neverallow hal_omx_server { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow hal_omx_server domain:{ udp_socket rawip_socket } *;
+neverallow hal_omx_server { domain  }:tcp_socket *;
+#line 1 "system/sepolicy/private/hal_power.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_power_client hal_power_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_power_server hal_power_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_power_client hal_power_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_power_server hal_power_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_power_client hal_power_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_power_server hal_power_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_power_client hal_power_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_power_server hal_power_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_power_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_power_server } hal_power_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_power_client hal_power_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_power_server hal_power_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_power_server } hal_power_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_power_server servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_power_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_power_server servicemanager:fd use;
+#line 8
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow hal_power_client servicemanager:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow servicemanager hal_power_client:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow hal_power_client servicemanager:fd use;
+#line 9
+
+
+# power HAL sets dex2oat performance tuning properties
+
+#line 12
+
+#line 12
+allow hal_power_server property_socket:sock_file write;
+#line 12
+allow hal_power_server init:unix_stream_socket connectto;
+#line 12
+
+#line 12
+allow hal_power_server dalvik_dynamic_config_prop:property_service set;
+#line 12
+
+#line 12
+allow hal_power_server dalvik_dynamic_config_prop:file { getattr open read map };
+#line 12
+
+#line 12
+
+#line 1 "system/sepolicy/private/hal_power_stats.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_power_stats_client hal_power_stats_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_power_stats_server hal_power_stats_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_power_stats_client hal_power_stats_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_power_stats_server hal_power_stats_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_power_stats_client hal_power_stats_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_power_stats_server hal_power_stats_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_power_stats_client hal_power_stats_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_power_stats_server hal_power_stats_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_power_stats_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_power_stats_server } hal_power_stats_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_power_stats_client hal_power_stats_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_power_stats_server hal_power_stats_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_power_stats_server } hal_power_stats_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_power_stats_server servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_power_stats_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_power_stats_server servicemanager:fd use;
+#line 8
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow hal_power_stats_client servicemanager:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow servicemanager hal_power_stats_client:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow hal_power_stats_client servicemanager:fd use;
+#line 9
+
+#line 1 "system/sepolicy/private/hal_rebootescrow.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_rebootescrow_client hal_rebootescrow_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_rebootescrow_server hal_rebootescrow_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_rebootescrow_client hal_rebootescrow_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_rebootescrow_client hal_rebootescrow_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_rebootescrow_server hal_rebootescrow_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_rebootescrow_server } hal_rebootescrow_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+
+#line 6
+# Call the servicemanager and transfer references to it.
+#line 6
+allow hal_rebootescrow_server servicemanager:binder { call transfer };
+#line 6
+# Allow servicemanager to send out callbacks
+#line 6
+allow servicemanager hal_rebootescrow_server:binder { call transfer };
+#line 6
+# servicemanager performs getpidcon on clients.
+#line 6
+allow servicemanager hal_rebootescrow_server:dir search;
+#line 6
+allow servicemanager hal_rebootescrow_server:file { read open };
+#line 6
+allow servicemanager hal_rebootescrow_server:process getattr;
+#line 6
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+
+#line 1 "system/sepolicy/private/hal_remoteaccess.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_remoteaccess_client hal_remoteaccess_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_remoteaccess_server hal_remoteaccess_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_remoteaccess_client hal_remoteaccess_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_remoteaccess_server hal_remoteaccess_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_remoteaccess_client hal_remoteaccess_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_remoteaccess_server hal_remoteaccess_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_remoteaccess_client hal_remoteaccess_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_remoteaccess_server hal_remoteaccess_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_remoteaccess_server } hal_remoteaccess_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 1 "system/sepolicy/private/hal_remotelyprovisionedcomponent_avf.te"
+# allow binder connection from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_remotelyprovisionedcomponent_avf_server hal_remotelyprovisionedcomponent_avf_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server:fd use;
+#line 2
+
+
+# allow client to find the service, allow server to register the service
+
+#line 5
+  allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_remotelyprovisionedcomponent_avf_server hal_remotelyprovisionedcomponent_avf_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_remotelyprovisionedcomponent_avf_server } hal_remotelyprovisionedcomponent_avf_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+# allow binder communication from server to service_manager
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_remotelyprovisionedcomponent_avf_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_remotelyprovisionedcomponent_avf_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_remotelyprovisionedcomponent_avf_server:dir search;
+#line 8
+allow servicemanager hal_remotelyprovisionedcomponent_avf_server:file { read open };
+#line 8
+allow servicemanager hal_remotelyprovisionedcomponent_avf_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+#line 1 "system/sepolicy/private/hal_secretkeeper.te"
+# Domains for the Secretkeeper HAL, which provides secure (tamper evident, rollback protected)
+# storage of secrets guarded by DICE policies.
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_secretkeeper_client hal_secretkeeper_server:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_secretkeeper_server hal_secretkeeper_client:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_secretkeeper_client hal_secretkeeper_server:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_secretkeeper_client hal_secretkeeper_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_secretkeeper_server hal_secretkeeper_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_secretkeeper_server } hal_secretkeeper_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow hal_secretkeeper_server servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager hal_secretkeeper_server:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager hal_secretkeeper_server:dir search;
+#line 7
+allow servicemanager hal_secretkeeper_server:file { read open };
+#line 7
+allow servicemanager hal_secretkeeper_server:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_secretkeeper_client servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_secretkeeper_client:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_secretkeeper_client:dir search;
+#line 8
+allow servicemanager hal_secretkeeper_client:file { read open };
+#line 8
+allow servicemanager hal_secretkeeper_client:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+# The Secretkeeper HAL service needs to communicate with a trusted application running
+# in the TEE, which is represented by the tee_device permission.
+allow hal_secretkeeper_server tee_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/hal_secure_element.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_secure_element_client hal_secure_element_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_secure_element_server hal_secure_element_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_secure_element_client hal_secure_element_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_secure_element_server hal_secure_element_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_secure_element_client hal_secure_element_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_secure_element_server hal_secure_element_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_secure_element_client hal_secure_element_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_secure_element_server hal_secure_element_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_secure_element_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_secure_element_server } hal_secure_element_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_secure_element_client hal_secure_element_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_secure_element_server hal_secure_element_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_secure_element_server } hal_secure_element_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_secure_element_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_secure_element_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_secure_element_server:dir search;
+#line 8
+allow servicemanager hal_secure_element_server:file { read open };
+#line 8
+allow servicemanager hal_secure_element_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+allow hal_secure_element_client hal_secure_element_service:service_manager find;
+#line 1 "system/sepolicy/private/hal_sensors.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_sensors_client hal_sensors_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_sensors_server hal_sensors_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_sensors_client hal_sensors_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_sensors_client hal_sensors_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_sensors_server hal_sensors_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_sensors_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_sensors_server } hal_sensors_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+# Allow sensor hals to access ashmem memory allocated by apps
+allow hal_sensors { appdomain -isolated_app }:fd use;
+
+# Allow sensor hals to access ashmem memory allocated by android.hidl.allocator
+# fd is passed in from framework sensorservice HAL.
+allow hal_sensors hal_allocator:fd use;
+
+# allow to run with real-time scheduling policy
+allow hal_sensors self:{ capability cap_userns } sys_nice;
+
+
+#line 16
+  allow hal_sensors_server hal_sensors_service:service_manager { add find };
+#line 16
+  neverallow { domain -hal_sensors_server } hal_sensors_service:service_manager add;
+#line 16
+
+#line 16
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 16
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 16
+  
+#line 16
+
+
+#line 17
+# Call the server domain and optionally transfer references to it.
+#line 17
+allow hal_sensors_server servicemanager:binder { call transfer };
+#line 17
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 17
+allow servicemanager hal_sensors_server:binder transfer;
+#line 17
+# Receive and use open files from the server.
+#line 17
+allow hal_sensors_server servicemanager:fd use;
+#line 17
+
+
+allow hal_sensors_client hal_sensors_service:service_manager find;
+#line 1 "system/sepolicy/private/hal_telephony.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_telephony_client hal_telephony_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_telephony_server hal_telephony_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_telephony_client hal_telephony_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_telephony_server hal_telephony_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_telephony_client hal_telephony_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_telephony_server hal_telephony_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_telephony_client hal_telephony_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_telephony_server hal_telephony_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_telephony_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_telephony_server } hal_telephony_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_telephony_client hal_radio_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_telephony_server hal_radio_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_telephony_server } hal_radio_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+allowxperm hal_telephony_server self:udp_socket ioctl 
+#line 8
+{
+#line 8
+# qualcomm rmnet ioctls
+#line 8
+0x00006900 0x00006902
+#line 8
+# socket ioctls
+#line 8
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 8
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 8
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 8
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 8
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 8
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 8
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 8
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 8
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 8
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 8
+# device and protocol specific ioctls
+#line 8
+0x000089f0-0x000089ff
+#line 8
+0x000089e0-0x000089ef
+#line 8
+# Wireless extension ioctls
+#line 8
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 8
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 8
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 8
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 8
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 8
+0x00008b34 0x00008b35 0x00008b36
+#line 8
+# Dev private ioctl i.e. hardware specific ioctls
+#line 8
+0x00008be0-0x00008bff
+#line 8
+};
+
+allow hal_telephony_server self:netlink_route_socket nlmsg_write;
+allow hal_telephony_server self:{ capability cap_userns } { setpcap setgid setuid net_admin net_raw };
+allow hal_telephony_server cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow hal_telephony_server cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+allow hal_telephony_server cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow hal_telephony_server cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+allow hal_telephony_server radio_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_telephony_server radio_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+allow hal_telephony_server efs_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow hal_telephony_server efs_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow hal_telephony_server vendor_shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow hal_telephony_server bluetooth_efs_file:file { getattr open read ioctl lock map watch watch_reads };
+allow hal_telephony_server bluetooth_efs_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# property service
+
+#line 25
+allow hal_telephony_server telephony_config_prop:file { getattr open read map };
+#line 25
+
+
+#line 26
+
+#line 26
+allow hal_telephony_server property_socket:sock_file write;
+#line 26
+allow hal_telephony_server init:unix_stream_socket connectto;
+#line 26
+
+#line 26
+allow hal_telephony_server radio_control_prop:property_service set;
+#line 26
+
+#line 26
+allow hal_telephony_server radio_control_prop:file { getattr open read map };
+#line 26
+
+#line 26
+
+
+#line 27
+
+#line 27
+allow hal_telephony_server property_socket:sock_file write;
+#line 27
+allow hal_telephony_server init:unix_stream_socket connectto;
+#line 27
+
+#line 27
+allow hal_telephony_server radio_prop:property_service set;
+#line 27
+
+#line 27
+allow hal_telephony_server radio_prop:file { getattr open read map };
+#line 27
+
+#line 27
+
+
+#line 28
+
+#line 28
+allow hal_telephony_server property_socket:sock_file write;
+#line 28
+allow hal_telephony_server init:unix_stream_socket connectto;
+#line 28
+
+#line 28
+allow hal_telephony_server telephony_status_prop:property_service set;
+#line 28
+
+#line 28
+allow hal_telephony_server telephony_status_prop:file { getattr open read map };
+#line 28
+
+#line 28
+
+
+allow hal_telephony_server tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow hal_telephony_server to create and use netlink sockets.
+allow hal_telephony_server self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_telephony_server self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_telephony_server self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Access to wake locks
+
+#line 38
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 38
+# deprecated.
+#line 38
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 38
+allow hal_telephony_server sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 38
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 38
+allow hal_telephony_server self:{ capability2 cap2_userns } block_suspend;
+#line 38
+# system_suspend permissions
+#line 38
+
+#line 38
+# Call the server domain and optionally transfer references to it.
+#line 38
+allow hal_telephony_server system_suspend_server:binder { call transfer };
+#line 38
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 38
+allow system_suspend_server hal_telephony_server:binder transfer;
+#line 38
+# Receive and use open files from the server.
+#line 38
+allow hal_telephony_server system_suspend_server:fd use;
+#line 38
+
+#line 38
+allow hal_telephony_server system_suspend_hwservice:hwservice_manager find;
+#line 38
+# halclientdomain permissions
+#line 38
+
+#line 38
+# Call the hwservicemanager and transfer references to it.
+#line 38
+allow hal_telephony_server hwservicemanager:binder { call transfer };
+#line 38
+# Allow hwservicemanager to send out callbacks
+#line 38
+allow hwservicemanager hal_telephony_server:binder { call transfer };
+#line 38
+# hwservicemanager performs getpidcon on clients.
+#line 38
+allow hwservicemanager hal_telephony_server:dir search;
+#line 38
+allow hwservicemanager hal_telephony_server:file { read open map };
+#line 38
+allow hwservicemanager hal_telephony_server:process getattr;
+#line 38
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 38
+# all domains in domain.te.
+#line 38
+
+#line 38
+
+#line 38
+allow hal_telephony_server hwservicemanager_prop:file { getattr open read map };
+#line 38
+
+#line 38
+allow hal_telephony_server hidl_manager_hwservice:hwservice_manager find;
+#line 38
+# AIDL suspend hal permissions
+#line 38
+allow hal_telephony_server hal_system_suspend_service:service_manager find;
+#line 38
+
+#line 38
+# Call the servicemanager and transfer references to it.
+#line 38
+allow hal_telephony_server servicemanager:binder { call transfer };
+#line 38
+# Allow servicemanager to send out callbacks
+#line 38
+allow servicemanager hal_telephony_server:binder { call transfer };
+#line 38
+# servicemanager performs getpidcon on clients.
+#line 38
+allow servicemanager hal_telephony_server:dir search;
+#line 38
+allow servicemanager hal_telephony_server:file { read open };
+#line 38
+allow servicemanager hal_telephony_server:process getattr;
+#line 38
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 38
+# all domains in domain.te.
+#line 38
+
+#line 38
+
+
+
+#line 40
+allow hal_telephony_server proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 40
+allow hal_telephony_server proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 40
+
+
+#line 41
+allow hal_telephony_server sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow hal_telephony_server sysfs_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 41
+
+
+# granting the ioctl permission for hal_telephony_server should be device specific
+allow hal_telephony_server self:socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Allow AIDL HAL shim to call HIDL HAL implementation
+
+#line 47
+# Call the server domain and optionally transfer references to it.
+#line 47
+allow hal_telephony_server hal_telephony_server:binder { call transfer };
+#line 47
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 47
+allow hal_telephony_server hal_telephony_server:binder transfer;
+#line 47
+# Receive and use open files from the server.
+#line 47
+allow hal_telephony_server hal_telephony_server:fd use;
+#line 47
+
+#line 1 "system/sepolicy/private/hal_tetheroffload.te"
+## HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tetheroffload_client hal_tetheroffload_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tetheroffload_server hal_tetheroffload_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tetheroffload_client hal_tetheroffload_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_tetheroffload_server hal_tetheroffload_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_tetheroffload_client hal_tetheroffload_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_tetheroffload_server hal_tetheroffload_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_tetheroffload_client hal_tetheroffload_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_tetheroffload_server hal_tetheroffload_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_tetheroffload_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_tetheroffload_server } hal_tetheroffload_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_tetheroffload_client hal_tetheroffload_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_tetheroffload_server hal_tetheroffload_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_tetheroffload_server } hal_tetheroffload_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_tetheroffload_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_tetheroffload_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_tetheroffload_server:dir search;
+#line 8
+allow servicemanager hal_tetheroffload_server:file { read open };
+#line 8
+allow servicemanager hal_tetheroffload_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+# allow the client to pass the server already open netlink sockets
+allow hal_tetheroffload_server hal_tetheroffload_client:netlink_netfilter_socket { getattr read setopt write };
+#line 1 "system/sepolicy/private/hal_thermal.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_thermal_client hal_thermal_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_thermal_server hal_thermal_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_thermal_client hal_thermal_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_thermal_server hal_thermal_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_thermal_client hal_thermal_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_thermal_server hal_thermal_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_thermal_client hal_thermal_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_thermal_server hal_thermal_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_thermal_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_thermal_server } hal_thermal_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_thermal_client hal_thermal_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_thermal_server hal_thermal_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_thermal_server } hal_thermal_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+  allow hal_thermal_server hal_thermal_service:service_manager { add find };
+#line 8
+  neverallow { domain -hal_thermal_server } hal_thermal_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow hal_thermal_server servicemanager:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow servicemanager hal_thermal_server:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow hal_thermal_server servicemanager:fd use;
+#line 9
+
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow hal_thermal_client servicemanager:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow servicemanager hal_thermal_client:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow hal_thermal_client servicemanager:fd use;
+#line 10
+
+#line 1 "system/sepolicy/private/hal_threadnetwork.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_threadnetwork_client hal_threadnetwork_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_threadnetwork_server hal_threadnetwork_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_threadnetwork_client hal_threadnetwork_server:fd use;
+#line 1
+
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_threadnetwork_server hal_threadnetwork_client:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_threadnetwork_client hal_threadnetwork_server:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_threadnetwork_server hal_threadnetwork_client:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_threadnetwork_client hal_threadnetwork_service:service_manager find;
+#line 4
+  
+#line 4
+  allow hal_threadnetwork_server hal_threadnetwork_service:service_manager { add find };
+#line 4
+  neverallow { domain -hal_threadnetwork_server } hal_threadnetwork_service:service_manager add;
+#line 4
+
+#line 4
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 4
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 4
+  
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_threadnetwork_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_threadnetwork_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_threadnetwork_server servicemanager:fd use;
+#line 6
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_threadnetwork_client servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_threadnetwork_client:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_threadnetwork_client servicemanager:fd use;
+#line 7
+
+#line 1 "system/sepolicy/private/hal_tv_cec.te"
+# HwBinder IPC from clients into server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tv_cec_client hal_tv_cec_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tv_cec_server hal_tv_cec_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tv_cec_client hal_tv_cec_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_tv_cec_server hal_tv_cec_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_tv_cec_client hal_tv_cec_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_tv_cec_server hal_tv_cec_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_tv_cec_client hal_tv_cec_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_tv_cec_server hal_tv_cec_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_tv_cec_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_tv_cec_server } hal_tv_cec_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+#line 1 "system/sepolicy/private/hal_tv_hdmi_cec.te"
+# Binder IPC from clients into server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_client:fd use;
+#line 3
+
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow hal_tv_hdmi_cec_client servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager hal_tv_hdmi_cec_client:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager hal_tv_hdmi_cec_client:dir search;
+#line 4
+allow servicemanager hal_tv_hdmi_cec_client:file { read open };
+#line 4
+allow servicemanager hal_tv_hdmi_cec_client:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow hal_tv_hdmi_cec_server servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager hal_tv_hdmi_cec_server:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager hal_tv_hdmi_cec_server:dir search;
+#line 5
+allow servicemanager hal_tv_hdmi_cec_server:file { read open };
+#line 5
+allow servicemanager hal_tv_hdmi_cec_server:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+
+#line 7
+  allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_tv_hdmi_cec_server } hal_tv_hdmi_cec_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+#line 1 "system/sepolicy/private/hal_tv_hdmi_connection.te"
+# Binder IPC from clients into server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_client:fd use;
+#line 3
+
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow hal_tv_hdmi_connection_client servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager hal_tv_hdmi_connection_client:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager hal_tv_hdmi_connection_client:dir search;
+#line 4
+allow servicemanager hal_tv_hdmi_connection_client:file { read open };
+#line 4
+allow servicemanager hal_tv_hdmi_connection_client:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow hal_tv_hdmi_connection_server servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager hal_tv_hdmi_connection_server:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager hal_tv_hdmi_connection_server:dir search;
+#line 5
+allow servicemanager hal_tv_hdmi_connection_server:file { read open };
+#line 5
+allow servicemanager hal_tv_hdmi_connection_server:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+
+#line 7
+  allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_tv_hdmi_connection_server } hal_tv_hdmi_connection_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+#line 1 "system/sepolicy/private/hal_tv_hdmi_earc.te"
+# Binder IPC from clients into server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_client:fd use;
+#line 3
+
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow hal_tv_hdmi_earc_client servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager hal_tv_hdmi_earc_client:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager hal_tv_hdmi_earc_client:dir search;
+#line 4
+allow servicemanager hal_tv_hdmi_earc_client:file { read open };
+#line 4
+allow servicemanager hal_tv_hdmi_earc_client:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow hal_tv_hdmi_earc_server servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager hal_tv_hdmi_earc_server:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager hal_tv_hdmi_earc_server:dir search;
+#line 5
+allow servicemanager hal_tv_hdmi_earc_server:file { read open };
+#line 5
+allow servicemanager hal_tv_hdmi_earc_server:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+
+#line 7
+  allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_tv_hdmi_earc_server } hal_tv_hdmi_earc_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+#line 1 "system/sepolicy/private/hal_tv_input.te"
+# HwBinder IPC from clients into server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tv_input_client hal_tv_input_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tv_input_server hal_tv_input_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tv_input_client hal_tv_input_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_tv_input_server hal_tv_input_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_tv_input_client hal_tv_input_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_tv_input_server hal_tv_input_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_tv_input_client hal_tv_input_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_tv_input_server hal_tv_input_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_tv_input_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_tv_input_server } hal_tv_input_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_tv_input_client hal_tv_input_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_tv_input_server hal_tv_input_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_tv_input_server } hal_tv_input_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_tv_input_server servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_tv_input_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_tv_input_server servicemanager:fd use;
+#line 8
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow hal_tv_input_client servicemanager:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow servicemanager hal_tv_input_client:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow hal_tv_input_client servicemanager:fd use;
+#line 9
+
+#line 1 "system/sepolicy/private/hal_tv_tuner.te"
+
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow hal_tv_tuner_client hal_tv_tuner_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow hal_tv_tuner_server hal_tv_tuner_client:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow hal_tv_tuner_client hal_tv_tuner_server:fd use;
+#line 1
+
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_tv_tuner_server hal_tv_tuner_client:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_tv_tuner_client hal_tv_tuner_server:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_tv_tuner_server hal_tv_tuner_client:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_tv_tuner_client hal_tv_tuner_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_tv_tuner_server hal_tv_tuner_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_tv_tuner_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_tv_tuner_server } hal_tv_tuner_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+  allow hal_tv_tuner_client hal_tv_tuner_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_tv_tuner_server hal_tv_tuner_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_tv_tuner_server } hal_tv_tuner_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_tv_tuner_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_tv_tuner_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_tv_tuner_server servicemanager:fd use;
+#line 7
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_tv_tuner_client servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_tv_tuner_client:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_tv_tuner_client servicemanager:fd use;
+#line 8
+
+#line 1 "system/sepolicy/private/hal_usb.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_usb_client hal_usb_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_usb_server hal_usb_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_usb_client hal_usb_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_usb_server hal_usb_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_usb_client hal_usb_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_usb_server hal_usb_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_usb_client hal_usb_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_usb_server hal_usb_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_usb_server } hal_usb_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_usb_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_usb_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_usb_server servicemanager:fd use;
+#line 6
+
+
+
+#line 8
+  allow hal_usb_client hal_usb_hwservice:hwservice_manager find;
+#line 8
+  
+#line 8
+  allow hal_usb_server hal_usb_hwservice:hwservice_manager { add find };
+#line 8
+  allow hal_usb_server hidl_base_hwservice:hwservice_manager add;
+#line 8
+  neverallow { domain -hal_usb_server } hal_usb_hwservice:hwservice_manager add;
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+
+allow hal_usb self:netlink_kobject_uevent_socket create;
+allow hal_usb self:netlink_kobject_uevent_socket setopt;
+allow hal_usb self:netlink_kobject_uevent_socket getopt;
+allow hal_usb self:netlink_kobject_uevent_socket bind;
+allow hal_usb self:netlink_kobject_uevent_socket read;
+allow hal_usb sysfs:dir open;
+allow hal_usb sysfs:dir read;
+allow hal_usb sysfs:file read;
+allow hal_usb sysfs:file open;
+allow hal_usb sysfs:file write;
+allow hal_usb sysfs:file getattr;
+
+#line 1 "system/sepolicy/private/hal_usb_gadget.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_usb_gadget_client hal_usb_gadget_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_usb_gadget_server hal_usb_gadget_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_usb_gadget_client hal_usb_gadget_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_usb_gadget_server hal_usb_gadget_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_usb_gadget_client hal_usb_gadget_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_usb_gadget_server hal_usb_gadget_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_usb_gadget_client hal_usb_gadget_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_usb_gadget_server hal_usb_gadget_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_usb_gadget_server } hal_usb_gadget_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+# Call the server domain and optionally transfer references to it.
+#line 6
+allow hal_usb_gadget_server servicemanager:binder { call transfer };
+#line 6
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 6
+allow servicemanager hal_usb_gadget_server:binder transfer;
+#line 6
+# Receive and use open files from the server.
+#line 6
+allow hal_usb_gadget_server servicemanager:fd use;
+#line 6
+
+
+
+#line 8
+  allow hal_usb_gadget_client hal_usb_gadget_hwservice:hwservice_manager find;
+#line 8
+  
+#line 8
+  allow hal_usb_gadget_server hal_usb_gadget_hwservice:hwservice_manager { add find };
+#line 8
+  allow hal_usb_gadget_server hidl_base_hwservice:hwservice_manager add;
+#line 8
+  neverallow { domain -hal_usb_gadget_server } hal_usb_gadget_hwservice:hwservice_manager add;
+#line 8
+
+#line 8
+
+#line 8
+  
+#line 8
+
+
+# Configuring usb gadget functions
+allow hal_usb_gadget_server configfs:lnk_file { read create unlink};
+allow hal_usb_gadget_server configfs:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow hal_usb_gadget_server configfs:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow hal_usb_gadget_server functionfs:dir { read search };
+allow hal_usb_gadget_server functionfs:file read;
+allow hal_usb_gadget_server proc_interrupts:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read access to ro.usb.uvc.enabled
+
+#line 19
+allow hal_usb_gadget_server usb_uvc_enabled_prop:file { getattr open read map };
+#line 19
+
+#line 1 "system/sepolicy/private/hal_uwb.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_uwb_client hal_uwb_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_uwb_server hal_uwb_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_uwb_client hal_uwb_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_uwb_server hal_uwb_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_uwb_client hal_uwb_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_uwb_server hal_uwb_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_uwb_client hal_uwb_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_uwb_server hal_uwb_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_uwb_server } hal_uwb_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_uwb_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_uwb_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_uwb_server servicemanager:fd use;
+#line 7
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_uwb_client servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_uwb_client:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_uwb_client servicemanager:fd use;
+#line 8
+
+#line 1 "system/sepolicy/private/hal_vehicle.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_vehicle_client hal_vehicle_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_vehicle_server hal_vehicle_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_vehicle_client hal_vehicle_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_vehicle_server hal_vehicle_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_vehicle_client hal_vehicle_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_vehicle_server hal_vehicle_client:fd use;
+#line 3
+
+
+
+
+#line 6
+  allow hal_vehicle_client hal_vehicle_hwservice:hwservice_manager find;
+#line 6
+  
+#line 6
+  allow hal_vehicle_server hal_vehicle_hwservice:hwservice_manager { add find };
+#line 6
+  allow hal_vehicle_server hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -hal_vehicle_server } hal_vehicle_hwservice:hwservice_manager add;
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+#line 7
+  allow hal_vehicle_client hal_vehicle_service:service_manager find;
+#line 7
+  
+#line 7
+  allow hal_vehicle_server hal_vehicle_service:service_manager { add find };
+#line 7
+  neverallow { domain -hal_vehicle_server } hal_vehicle_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+#line 7
+
+#line 7
+  
+#line 7
+
+#line 1 "system/sepolicy/private/hal_vibrator.te"
+# HwBinder IPC client/server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_vibrator_client hal_vibrator_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_vibrator_server hal_vibrator_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_vibrator_client hal_vibrator_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_vibrator_server hal_vibrator_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_vibrator_client hal_vibrator_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_vibrator_server hal_vibrator_client:fd use;
+#line 3
+;
+
+
+#line 5
+  allow hal_vibrator_client hal_vibrator_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_vibrator_server hal_vibrator_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_vibrator_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_vibrator_server } hal_vibrator_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_vibrator_client hal_vibrator_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_vibrator_server hal_vibrator_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_vibrator_server } hal_vibrator_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow hal_vibrator_server servicemanager:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow servicemanager hal_vibrator_server:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow hal_vibrator_server servicemanager:fd use;
+#line 8
+
+
+allow hal_vibrator_server dumpstate:fifo_file write;
+
+# vibrator sysfs rw access
+allow hal_vibrator sysfs_vibrator:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow hal_vibrator sysfs_vibrator:dir search;
+
+# Allow HAL vibrator to control some parameters of a vibration, such as scaling.
+allow hal_vibrator fwk_vibrator_control_service:service_manager find;
+#line 1 "system/sepolicy/private/hal_vm_capabilities.te"
+# Domain for the VM capability HAL, which is used to allow some pVMs to issue
+# vendor-specific SMCs.
+
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow hal_vm_capabilities_client hal_vm_capabilities_server:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow hal_vm_capabilities_server hal_vm_capabilities_client:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow hal_vm_capabilities_client hal_vm_capabilities_server:fd use;
+#line 4
+
+
+
+#line 6
+  allow hal_vm_capabilities_client hal_vm_capabilities_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_vm_capabilities_server hal_vm_capabilities_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_vm_capabilities_server } hal_vm_capabilities_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_vm_capabilities_client servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_vm_capabilities_client:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_vm_capabilities_client:dir search;
+#line 8
+allow servicemanager hal_vm_capabilities_client:file { read open };
+#line 8
+allow servicemanager hal_vm_capabilities_client:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+#line 9
+# Call the servicemanager and transfer references to it.
+#line 9
+allow hal_vm_capabilities_server servicemanager:binder { call transfer };
+#line 9
+# Allow servicemanager to send out callbacks
+#line 9
+allow servicemanager hal_vm_capabilities_server:binder { call transfer };
+#line 9
+# servicemanager performs getpidcon on clients.
+#line 9
+allow servicemanager hal_vm_capabilities_server:dir search;
+#line 9
+allow servicemanager hal_vm_capabilities_server:file { read open };
+#line 9
+allow servicemanager hal_vm_capabilities_server:process getattr;
+#line 9
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 9
+# all domains in domain.te.
+#line 9
+
+#line 1 "system/sepolicy/private/hal_vr.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_vr_client hal_vr_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_vr_server hal_vr_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_vr_client hal_vr_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_vr_server hal_vr_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_vr_client hal_vr_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_vr_server hal_vr_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_vr_client hal_vr_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_vr_server hal_vr_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_vr_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_vr_server } hal_vr_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+#line 1 "system/sepolicy/private/hal_weaver.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_weaver_client hal_weaver_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_weaver_server hal_weaver_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_weaver_client hal_weaver_server:fd use;
+#line 2
+
+
+
+#line 4
+  allow hal_weaver_client hal_weaver_hwservice:hwservice_manager find;
+#line 4
+  
+#line 4
+  allow hal_weaver_server hal_weaver_hwservice:hwservice_manager { add find };
+#line 4
+  allow hal_weaver_server hidl_base_hwservice:hwservice_manager add;
+#line 4
+  neverallow { domain -hal_weaver_server } hal_weaver_hwservice:hwservice_manager add;
+#line 4
+
+#line 4
+
+#line 4
+  
+#line 4
+
+
+#line 5
+  allow hal_weaver_client hal_weaver_service:service_manager find;
+#line 5
+  
+#line 5
+  allow hal_weaver_server hal_weaver_service:service_manager { add find };
+#line 5
+  neverallow { domain -hal_weaver_server } hal_weaver_service:service_manager add;
+#line 5
+
+#line 5
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 5
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 5
+  
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow hal_weaver_server servicemanager:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow servicemanager hal_weaver_server:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow hal_weaver_server servicemanager:fd use;
+#line 7
+
+#line 1 "system/sepolicy/private/hal_wifi.te"
+# HwBinder IPC from client to server, and callbacks
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_wifi_client hal_wifi_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_wifi_server hal_wifi_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_wifi_client hal_wifi_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_wifi_server hal_wifi_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_wifi_client hal_wifi_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_wifi_server hal_wifi_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_wifi_client hal_wifi_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_wifi_server hal_wifi_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_wifi_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_wifi_server } hal_wifi_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_wifi_client hal_wifi_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_wifi_server hal_wifi_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_wifi_server } hal_wifi_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_wifi_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_wifi_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_wifi_server:dir search;
+#line 8
+allow servicemanager hal_wifi_server:file { read open };
+#line 8
+allow servicemanager hal_wifi_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+
+#line 10
+allow hal_wifi proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 10
+allow hal_wifi proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 10
+
+
+#line 11
+allow hal_wifi sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+allow hal_wifi sysfs_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 11
+
+
+
+#line 13
+
+#line 13
+allow hal_wifi_server property_socket:sock_file write;
+#line 13
+allow hal_wifi_server init:unix_stream_socket connectto;
+#line 13
+
+#line 13
+allow hal_wifi_server wifi_hal_prop:property_service set;
+#line 13
+
+#line 13
+allow hal_wifi_server wifi_hal_prop:file { getattr open read map };
+#line 13
+
+#line 13
+
+
+#line 14
+
+#line 14
+allow hal_wifi property_socket:sock_file write;
+#line 14
+allow hal_wifi init:unix_stream_socket connectto;
+#line 14
+
+#line 14
+allow hal_wifi wifi_prop:property_service set;
+#line 14
+
+#line 14
+allow hal_wifi wifi_prop:file { getattr open read map };
+#line 14
+
+#line 14
+
+
+
+# allow hal wifi set interfaces up and down and get the factory MAC
+allow hal_wifi self:udp_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allowxperm hal_wifi self:udp_socket ioctl { 0x00008914 0x00008924 0x00008946 };
+
+allow hal_wifi self:{ capability cap_userns } { net_admin net_raw };
+# allow hal_wifi to speak to nl80211 in the kernel
+allow hal_wifi self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+# newer kernels (e.g. 4.4 but not 4.1) have a new class for sockets
+allow hal_wifi self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+# hal_wifi writes firmware paths to this file.
+allow hal_wifi sysfs_wlan_fwpath:file { { open append write lock map } };
+# allow hal_wifi to access /proc/modules to check if Wi-Fi driver is loaded
+allow hal_wifi proc_modules:file { getattr open read };
+# Allow hal_wifi to send dump info to dumpstate
+allow hal_wifi dumpstate:fifo_file write;
+
+# allow hal_wifi to write into /data/vendor/tombstones/wifi
+allow hal_wifi_server tombstone_wifi_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow hal_wifi_server tombstone_wifi_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1 "system/sepolicy/private/hal_wifi_hostapd.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_wifi_hostapd_client hal_wifi_hostapd_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_wifi_hostapd_server hal_wifi_hostapd_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_wifi_hostapd_client hal_wifi_hostapd_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_wifi_hostapd_server hal_wifi_hostapd_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_wifi_hostapd_client hal_wifi_hostapd_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_wifi_hostapd_server hal_wifi_hostapd_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_wifi_hostapd_client hal_wifi_hostapd_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_wifi_hostapd_server hal_wifi_hostapd_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_wifi_hostapd_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_wifi_hostapd_server } hal_wifi_hostapd_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_wifi_hostapd_client hal_wifi_hostapd_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_wifi_hostapd_server hal_wifi_hostapd_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_wifi_hostapd_server } hal_wifi_hostapd_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow hal_wifi_hostapd_server servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager hal_wifi_hostapd_server:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager hal_wifi_hostapd_server:dir search;
+#line 8
+allow servicemanager hal_wifi_hostapd_server:file { read open };
+#line 8
+allow servicemanager hal_wifi_hostapd_server:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+allow hal_wifi_hostapd_server dumpstate:fifo_file write;
+
+allow hal_wifi_hostapd_server self:{ capability cap_userns } { net_admin net_raw };
+
+allow hal_wifi_hostapd_server sysfs_net:dir search;
+
+# Allow hal_wifi_hostapd to access /proc/net/psched
+allow hal_wifi_hostapd_server proc_net_type:file { getattr open read };
+
+# Various socket permissions.
+allowxperm hal_wifi_hostapd_server self:udp_socket ioctl 
+#line 20
+{
+#line 20
+# qualcomm rmnet ioctls
+#line 20
+0x00006900 0x00006902
+#line 20
+# socket ioctls
+#line 20
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 20
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 20
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 20
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 20
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 20
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 20
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 20
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 20
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 20
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 20
+# device and protocol specific ioctls
+#line 20
+0x000089f0-0x000089ff
+#line 20
+0x000089e0-0x000089ef
+#line 20
+# Wireless extension ioctls
+#line 20
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 20
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 20
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 20
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 20
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 20
+0x00008b34 0x00008b35 0x00008b36
+#line 20
+# Dev private ioctl i.e. hardware specific ioctls
+#line 20
+0x00008be0-0x00008bff
+#line 20
+};
+allow hal_wifi_hostapd_server self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_wifi_hostapd_server self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_wifi_hostapd_server self:packet_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_wifi_hostapd_server self:netlink_route_socket nlmsg_write;
+
+###
+### neverallow rules
+###
+
+# hal_wifi_hostapd should not trust any data from sdcards
+neverallow hal_wifi_hostapd_server { sdcard_type fuse }:dir ~getattr;
+neverallow hal_wifi_hostapd_server { sdcard_type fuse }:file *;
+#line 1 "system/sepolicy/private/hal_wifi_supplicant.te"
+# HwBinder IPC from client to server
+
+#line 2
+# Call the server domain and optionally transfer references to it.
+#line 2
+allow hal_wifi_supplicant_client hal_wifi_supplicant_server:binder { call transfer };
+#line 2
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 2
+allow hal_wifi_supplicant_server hal_wifi_supplicant_client:binder transfer;
+#line 2
+# Receive and use open files from the server.
+#line 2
+allow hal_wifi_supplicant_client hal_wifi_supplicant_server:fd use;
+#line 2
+
+
+#line 3
+# Call the server domain and optionally transfer references to it.
+#line 3
+allow hal_wifi_supplicant_server hal_wifi_supplicant_client:binder { call transfer };
+#line 3
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 3
+allow hal_wifi_supplicant_client hal_wifi_supplicant_server:binder transfer;
+#line 3
+# Receive and use open files from the server.
+#line 3
+allow hal_wifi_supplicant_server hal_wifi_supplicant_client:fd use;
+#line 3
+
+
+
+#line 5
+  allow hal_wifi_supplicant_client hal_wifi_supplicant_hwservice:hwservice_manager find;
+#line 5
+  
+#line 5
+  allow hal_wifi_supplicant_server hal_wifi_supplicant_hwservice:hwservice_manager { add find };
+#line 5
+  allow hal_wifi_supplicant_server hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hal_wifi_supplicant_server } hal_wifi_supplicant_hwservice:hwservice_manager add;
+#line 5
+
+#line 5
+
+#line 5
+  
+#line 5
+
+
+#line 6
+  allow hal_wifi_supplicant_client hal_wifi_supplicant_service:service_manager find;
+#line 6
+  
+#line 6
+  allow hal_wifi_supplicant_server hal_wifi_supplicant_service:service_manager { add find };
+#line 6
+  neverallow { domain -hal_wifi_supplicant_server } hal_wifi_supplicant_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+#line 6
+
+#line 6
+  
+#line 6
+
+
+# in addition to ioctls allowlisted for all domains, grant hal_wifi_supplicant priv_sock_ioctls.
+allowxperm hal_wifi_supplicant self:udp_socket ioctl 
+#line 9
+{
+#line 9
+# qualcomm rmnet ioctls
+#line 9
+0x00006900 0x00006902
+#line 9
+# socket ioctls
+#line 9
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 9
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 9
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 9
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 9
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 9
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 9
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 9
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 9
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 9
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 9
+# device and protocol specific ioctls
+#line 9
+0x000089f0-0x000089ff
+#line 9
+0x000089e0-0x000089ef
+#line 9
+# Wireless extension ioctls
+#line 9
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 9
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 9
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 9
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 9
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 9
+0x00008b34 0x00008b35 0x00008b36
+#line 9
+# Dev private ioctl i.e. hardware specific ioctls
+#line 9
+0x00008be0-0x00008bff
+#line 9
+};
+
+
+#line 11
+allow hal_wifi_supplicant sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+allow hal_wifi_supplicant sysfs_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 11
+
+
+#line 12
+allow hal_wifi_supplicant proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_wifi_supplicant proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 12
+
+
+allow hal_wifi_supplicant self:{ capability cap_userns } { setuid net_admin setgid net_raw };
+allow hal_wifi_supplicant cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow hal_wifi_supplicant cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow hal_wifi_supplicant self:netlink_route_socket nlmsg_write;
+allow hal_wifi_supplicant self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_wifi_supplicant self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow hal_wifi_supplicant self:packet_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allowxperm hal_wifi_supplicant self:packet_socket ioctl { 
+#line 21
+{
+#line 21
+# Socket ioctls for gathering information about the interface
+#line 21
+0x00008906 0x00008907
+#line 21
+0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
+#line 21
+0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
+#line 21
+# Wireless extension ioctls. Primarily get functions.
+#line 21
+0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
+#line 21
+0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
+#line 21
+0x00008b25 0x00008b27 0x00008b29 0x00008b2d
+#line 21
+} 
+#line 21
+{
+#line 21
+# qualcomm rmnet ioctls
+#line 21
+0x00006900 0x00006902
+#line 21
+# socket ioctls
+#line 21
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 21
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 21
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 21
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 21
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 21
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 21
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 21
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 21
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 21
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 21
+# device and protocol specific ioctls
+#line 21
+0x000089f0-0x000089ff
+#line 21
+0x000089e0-0x000089ef
+#line 21
+# Wireless extension ioctls
+#line 21
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 21
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 21
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 21
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 21
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 21
+0x00008b34 0x00008b35 0x00008b36
+#line 21
+# Dev private ioctl i.e. hardware specific ioctls
+#line 21
+0x00008be0-0x00008bff
+#line 21
+} {
+#line 21
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 21
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 21
+} };
+
+
+#line 23
+  allow keystore hal_wifi_supplicant:dir search;
+#line 23
+  allow keystore hal_wifi_supplicant:file { read open };
+#line 23
+  allow keystore hal_wifi_supplicant:process getattr;
+#line 23
+  allow hal_wifi_supplicant apc_service:service_manager find;
+#line 23
+  allow hal_wifi_supplicant keystore_service:service_manager find;
+#line 23
+  allow hal_wifi_supplicant legacykeystore_service:service_manager find;
+#line 23
+  
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow hal_wifi_supplicant keystore:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow keystore hal_wifi_supplicant:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow hal_wifi_supplicant keystore:fd use;
+#line 23
+
+#line 23
+  
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow keystore hal_wifi_supplicant:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow hal_wifi_supplicant keystore:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow keystore hal_wifi_supplicant:fd use;
+#line 23
+
+#line 23
+
+
+#line 24
+# Call the servicemanager and transfer references to it.
+#line 24
+allow hal_wifi_supplicant_server servicemanager:binder { call transfer };
+#line 24
+# Allow servicemanager to send out callbacks
+#line 24
+allow servicemanager hal_wifi_supplicant_server:binder { call transfer };
+#line 24
+# servicemanager performs getpidcon on clients.
+#line 24
+allow servicemanager hal_wifi_supplicant_server:dir search;
+#line 24
+allow servicemanager hal_wifi_supplicant_server:file { read open };
+#line 24
+allow servicemanager hal_wifi_supplicant_server:process getattr;
+#line 24
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 24
+# all domains in domain.te.
+#line 24
+
+
+# Allow the WI-FI HAL to use keys in the keystore namespace wifi_key.
+allow hal_wifi_supplicant wifi_key:keystore2_key {
+    get_info
+    use
+};
+
+###
+### neverallow rules
+###
+
+# wpa_supplicant should not trust any data from sdcards
+neverallow hal_wifi_supplicant_server { sdcard_type fuse }:dir ~getattr;
+neverallow hal_wifi_supplicant_server { sdcard_type fuse }:file *;
+#line 1 "system/sepolicy/private/halclientdomain.te"
+###
+### Rules for all domains which are clients of a HAL
+###
+
+# Find out whether a HAL in passthrough/in-process mode or
+# binderized/out-of-process mode
+
+#line 7
+# Call the hwservicemanager and transfer references to it.
+#line 7
+allow halclientdomain hwservicemanager:binder { call transfer };
+#line 7
+# Allow hwservicemanager to send out callbacks
+#line 7
+allow hwservicemanager halclientdomain:binder { call transfer };
+#line 7
+# hwservicemanager performs getpidcon on clients.
+#line 7
+allow hwservicemanager halclientdomain:dir search;
+#line 7
+allow hwservicemanager halclientdomain:file { read open map };
+#line 7
+allow hwservicemanager halclientdomain:process getattr;
+#line 7
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+# Used to wait for hwservicemanager
+
+#line 10
+allow halclientdomain hwservicemanager_prop:file { getattr open read map };
+#line 10
+
+
+# Wait for HAL server to be up (used by getService)
+allow halclientdomain hidl_manager_hwservice:hwservice_manager find;
+#line 1 "system/sepolicy/private/halserverdomain.te"
+###
+### Rules for all domains which offer a HAL service over HwBinder
+###
+
+# Register the HAL service with hwservicemanager
+
+#line 6
+# Call the hwservicemanager and transfer references to it.
+#line 6
+allow halserverdomain hwservicemanager:binder { call transfer };
+#line 6
+# Allow hwservicemanager to send out callbacks
+#line 6
+allow hwservicemanager halserverdomain:binder { call transfer };
+#line 6
+# hwservicemanager performs getpidcon on clients.
+#line 6
+allow hwservicemanager halserverdomain:dir search;
+#line 6
+allow hwservicemanager halserverdomain:file { read open map };
+#line 6
+allow hwservicemanager halserverdomain:process getattr;
+#line 6
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+
+
+# Find HAL implementations
+allow halserverdomain system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Used to wait for hwservicemanager
+
+#line 12
+allow halserverdomain hwservicemanager_prop:file { getattr open read map };
+#line 12
+
+#line 1 "system/sepolicy/private/healthd.te"
+typeattribute healthd coredomain;
+#line 1 "system/sepolicy/private/heapprofd.te"
+# Android heap profiling daemon. go/heapprofd.
+type heapprofd_exec, exec_type, file_type, system_file_type;
+type heapprofd_tmpfs, file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init heapprofd_exec:file { getattr open read execute map };
+#line 5
+allow init heapprofd:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow heapprofd heapprofd_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init heapprofd:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init heapprofd:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init heapprofd_exec:process heapprofd;
+#line 5
+
+#line 5
+
+
+#line 6
+type_transition heapprofd tmpfs:file heapprofd_tmpfs;
+#line 6
+allow heapprofd heapprofd_tmpfs:file { read write getattr map };
+#line 6
+
+
+# Allow apps in other MLS contexts (for multi-user) to access
+# shared memory buffers created by heapprofd.
+typeattribute heapprofd_tmpfs mlstrustedobject;
+
+
+#line 12
+
+#line 12
+allow heapprofd property_socket:sock_file write;
+#line 12
+allow heapprofd init:unix_stream_socket connectto;
+#line 12
+
+#line 12
+allow heapprofd heapprofd_prop:property_service set;
+#line 12
+
+#line 12
+allow heapprofd heapprofd_prop:file { getattr open read map };
+#line 12
+
+#line 12
+;
+
+# Necessary for /proc/[pid]/cmdline access & sending signals.
+typeattribute heapprofd mlstrustedsubject;
+
+# Allow sending signals to processes. This excludes SIGKILL, SIGSTOP and
+# SIGCHLD, which are controlled by separate permissions.
+allow heapprofd self:capability kill;
+
+# When scanning /proc/[pid]/cmdline to find matching processes for by-name
+# profiling, only allowlisted domains will be allowed by SELinux. Avoid
+# spamming logs with denials for entries that we can not access.
+dontaudit heapprofd domain:dir { search open };
+
+# Write trace data to the Perfetto traced daemon. This requires connecting to
+# its producer socket and obtaining a (per-process) tmpfs fd.
+
+#line 28
+  allow heapprofd traced:fd use;
+#line 28
+  allow heapprofd traced_tmpfs:file { read write getattr map };
+#line 28
+  
+#line 28
+allow heapprofd traced_producer_socket:sock_file write;
+#line 28
+allow heapprofd traced:unix_stream_socket connectto;
+#line 28
+
+#line 28
+
+#line 28
+  # Also allow the service to use the producer file descriptors. This is
+#line 28
+  # necessary when the producer is creating the shared memory, as it will be
+#line 28
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 28
+  allow traced heapprofd:fd use;
+#line 28
+
+
+# When handling profiling for all processes, heapprofd needs to read
+# executables/libraries/etc to do stack unwinding.
+
+#line 32
+allow heapprofd nativetest_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow heapprofd nativetest_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+
+#line 33
+allow heapprofd system_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 33
+allow heapprofd system_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 33
+
+
+#line 34
+allow heapprofd apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 34
+allow heapprofd apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 34
+
+
+#line 35
+allow heapprofd dalvikcache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 35
+allow heapprofd dalvikcache_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 35
+
+
+#line 36
+allow heapprofd vendor_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow heapprofd vendor_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 36
+
+
+#line 37
+allow heapprofd shell_test_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 37
+allow heapprofd shell_test_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 37
+
+# ART apex files and directory access to the containing /data/misc/apexdata.
+
+#line 39
+allow heapprofd apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 39
+allow heapprofd apex_art_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 39
+
+allow heapprofd apex_module_data_file:dir { getattr search };
+
+# Some dex files are not world-readable.
+# We are still constrained by the SELinux rules above.
+allow heapprofd self:{ capability cap_userns } dac_read_search;
+
+# For checking profileability.
+allow heapprofd packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Never allow profiling privileged or otherwise incompatible domains.
+# Corresponding allow-rule is in private/domain.te.
+
+#line 51
+  neverallow heapprofd {
+#line 51
+  apexd
+#line 51
+  app_zygote
+#line 51
+  bpfloader
+#line 51
+  hal_configstore_server
+#line 51
+  init
+#line 51
+  kernel
+#line 51
+  keystore
+#line 51
+  llkd
+#line 51
+  logd
+#line 51
+  logpersist
+#line 51
+  recovery
+#line 51
+  recovery_persist
+#line 51
+  recovery_refresh
+#line 51
+  ueventd
+#line 51
+  vendor_init
+#line 51
+  vold
+#line 51
+  webview_zygote
+#line 51
+  zygote
+#line 51
+}:file read;
+#line 51
+  neverallow heapprofd {
+#line 51
+  apexd
+#line 51
+  app_zygote
+#line 51
+  bpfloader
+#line 51
+  hal_configstore_server
+#line 51
+  init
+#line 51
+  kernel
+#line 51
+  keystore
+#line 51
+  llkd
+#line 51
+  logd
+#line 51
+  logpersist
+#line 51
+  recovery
+#line 51
+  recovery_persist
+#line 51
+  recovery_refresh
+#line 51
+  ueventd
+#line 51
+  vendor_init
+#line 51
+  vold
+#line 51
+  webview_zygote
+#line 51
+  zygote
+#line 51
+}:process signal;
+#line 70
+
+
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 72
+
+#line 72
+  neverallow heapprofd vendor_file_type:file { append create link unlink relabelfrom rename setattr write };
+#line 72
+  neverallow heapprofd { vendor_file_type -vndk_sp_file }:file { execute execute_no_trans };
+#line 72
+
+#line 72
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 75
+
+#line 1 "system/sepolicy/private/hidl_lazy_test_server.te"
+type hidl_lazy_test_server, domain;
+type hidl_lazy_test_server_exec, exec_type, file_type, system_file_type;
+
+#line 8
+
+#line 1 "system/sepolicy/private/hwservice.te"
+type hal_lazy_test_hwservice, hwservice_manager_type, protected_hwservice;
+
+###
+### Neverallow rules
+###
+
+# hwservicemanager handles registering or looking up named services.
+# It does not make sense to register or lookup something which is not a
+# hwservice. Trigger a compile error if this occurs.
+neverallow domain ~hwservice_manager_type:hwservice_manager { add find };
+#line 1 "system/sepolicy/private/hwservicemanager.te"
+typeattribute hwservicemanager coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init hwservicemanager_exec:file { getattr open read execute map };
+#line 3
+allow init hwservicemanager:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow hwservicemanager hwservicemanager_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init hwservicemanager:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init hwservicemanager:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init hwservicemanager_exec:process hwservicemanager;
+#line 3
+
+#line 3
+
+
+
+#line 5
+  allow hwservicemanager hidl_manager_hwservice:hwservice_manager { add find };
+#line 5
+  allow hwservicemanager hidl_base_hwservice:hwservice_manager add;
+#line 5
+  neverallow { domain -hwservicemanager } hidl_manager_hwservice:hwservice_manager add;
+#line 5
+
+
+#line 6
+  allow hwservicemanager hidl_token_hwservice:hwservice_manager { add find };
+#line 6
+  allow hwservicemanager hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -hwservicemanager } hidl_token_hwservice:hwservice_manager add;
+#line 6
+
+
+
+#line 8
+
+#line 8
+allow hwservicemanager property_socket:sock_file write;
+#line 8
+allow hwservicemanager init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow hwservicemanager ctl_interface_start_prop:property_service set;
+#line 8
+
+#line 8
+allow hwservicemanager ctl_interface_start_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+
+#line 9
+
+#line 9
+allow hwservicemanager property_socket:sock_file write;
+#line 9
+allow hwservicemanager init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow hwservicemanager hwservicemanager_prop:property_service set;
+#line 9
+
+#line 9
+allow hwservicemanager hwservicemanager_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+# hwservicemanager is using bootstrap bionic
+
+#line 12
+  allow hwservicemanager system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+  allow hwservicemanager system_bootstrap_lib_file:file { execute read open getattr map };
+#line 12
+
+
+# hwservicemanager is using apex_info via libvintf
+
+#line 15
+  allow hwservicemanager apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+  allow hwservicemanager apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 15
+  
+#line 15
+allow hwservicemanager vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hwservicemanager vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 15
+
+#line 15
+
+
+# Note that we do not use the binder_* macros here.
+# hwservicemanager provides name service (aka context manager)
+# for hwbinder.
+# Additionally, it initiates binder IPC calls to
+# clients who request service notifications. The permission
+# to do this is granted in the hwbinder_use macro.
+allow hwservicemanager self:binder set_context_mgr;
+
+# Scan through /system/lib64/hw looking for installed HALs
+allow hwservicemanager system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Read hwservice_contexts
+allow hwservicemanager hwservice_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Check SELinux permissions.
+
+#line 32
+
+#line 32
+allow hwservicemanager selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow hwservicemanager selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+#line 32
+allow hwservicemanager selinuxfs:file { open append write lock map };
+#line 32
+allow hwservicemanager kernel:security compute_av;
+#line 32
+allow hwservicemanager self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 32
+
+#line 1 "system/sepolicy/private/idmap.te"
+typeattribute idmap coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init idmap_exec:file { getattr open read execute map };
+#line 3
+allow init idmap:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow idmap idmap_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init idmap:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init idmap:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init idmap_exec:process idmap;
+#line 3
+
+#line 3
+
+
+# Allow read + write access to /data/resource-cache
+allow idmap resourcecache_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow idmap resourcecache_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Open and read from target and overlay apk files passed by argument.
+allow idmap apk_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow idmap apk_data_file:dir search;
+
+# Allow /data/app/vmdl*.tmp, /data/app-private/vmdl*.tmp files
+allow idmap { apk_tmp_file apk_private_tmp_file }:file { getattr open read ioctl lock map watch watch_reads };
+allow idmap { apk_tmp_file apk_private_tmp_file }:dir search;
+
+# Allow apps access to /vendor/app
+
+#line 18
+allow idmap vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow idmap vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 18
+
+
+# Allow apps access to /vendor/overlay
+
+#line 21
+allow idmap vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow idmap vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 21
+
+
+# Allow the idmap2d binary to register as a service and communicate via AIDL
+
+#line 24
+# Call the servicemanager and transfer references to it.
+#line 24
+allow idmap servicemanager:binder { call transfer };
+#line 24
+# Allow servicemanager to send out callbacks
+#line 24
+allow servicemanager idmap:binder { call transfer };
+#line 24
+# servicemanager performs getpidcon on clients.
+#line 24
+allow servicemanager idmap:dir search;
+#line 24
+allow servicemanager idmap:file { read open };
+#line 24
+allow servicemanager idmap:process getattr;
+#line 24
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 24
+# all domains in domain.te.
+#line 24
+
+
+#line 25
+typeattribute idmap binderservicedomain;
+#line 25
+
+
+#line 26
+  allow idmap idmap_service:service_manager { add find };
+#line 26
+  neverallow { domain -idmap } idmap_service:service_manager add;
+#line 26
+
+#line 26
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 26
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 26
+  
+#line 26
+
+#line 1 "system/sepolicy/private/incident.te"
+typeattribute incident coredomain;
+
+type incident_exec, system_file_type, exec_type, file_type;
+
+# switch to incident domain for incident command
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow shell incident_exec:file { getattr open read execute map };
+#line 6
+allow shell incident:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow incident incident_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+allow incident shell:process sigchld;
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit shell incident:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow shell incident:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition shell incident_exec:process incident;
+#line 6
+
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow dumpstate incident_exec:file { getattr open read execute map };
+#line 7
+allow dumpstate incident:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow incident incident_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+allow incident dumpstate:process sigchld;
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit dumpstate incident:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow dumpstate incident:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition dumpstate incident_exec:process incident;
+#line 7
+
+
+# allow incident access to stdout from its parent shell.
+allow incident shell:fd use;
+
+# allow incident to communicate with dumpstate, and write incident report to
+# /data/data/com.android.shell/files/bugreports/tmp_incident_report
+allow incident dumpstate:fd use;
+allow incident dumpstate:unix_stream_socket { read write };
+allow incident shell_data_file:file write;
+
+# allow incident be able to output data for CTS to fetch.
+allow incident devpts:chr_file { read write };
+
+# allow incident to communicate use, read and write over the adb
+# connection.
+allow incident adbd:fd use;
+allow incident adbd:unix_stream_socket { read write };
+
+# allow adbd to reap incident
+allow incident adbd:process { sigchld };
+
+# Allow the incident command to talk to the incidentd over the binder, and get
+# back the incident report data from a ParcelFileDescriptor.
+
+#line 31
+# Call the servicemanager and transfer references to it.
+#line 31
+allow incident servicemanager:binder { call transfer };
+#line 31
+# Allow servicemanager to send out callbacks
+#line 31
+allow servicemanager incident:binder { call transfer };
+#line 31
+# servicemanager performs getpidcon on clients.
+#line 31
+allow servicemanager incident:dir search;
+#line 31
+allow servicemanager incident:file { read open };
+#line 31
+allow servicemanager incident:process getattr;
+#line 31
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 31
+# all domains in domain.te.
+#line 31
+
+allow incident incident_service:service_manager find;
+
+#line 33
+# Call the server domain and optionally transfer references to it.
+#line 33
+allow incident incidentd:binder { call transfer };
+#line 33
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 33
+allow incidentd incident:binder transfer;
+#line 33
+# Receive and use open files from the server.
+#line 33
+allow incident incidentd:fd use;
+#line 33
+
+allow incident incidentd:fifo_file write;
+
+# only allow incident being called by shell or dumpstate
+neverallow {
+    domain
+    -su
+    -shell
+    -incident
+    -dumpstate
+    
+} incident_exec:file {
+    execute
+    execute_no_trans
+};
+#line 1 "system/sepolicy/private/incident_helper.te"
+typeattribute incident_helper coredomain;
+
+type incident_helper_exec, system_file_type, exec_type, file_type;
+
+# switch to incident_helper domain for incident_helper command
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow incidentd incident_helper_exec:file { getattr open read execute map };
+#line 6
+allow incidentd incident_helper:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow incident_helper incident_helper_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+allow incident_helper incidentd:process sigchld;
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit incidentd incident_helper:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow incidentd incident_helper:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition incidentd incident_helper_exec:process incident_helper;
+#line 6
+
+
+# use pipe to transmit data from/to incidentd/incident_helper for parsing
+allow incident_helper { shell incident incidentd dumpstate }:fd use;
+allow incident_helper { shell incident incidentd dumpstate }:fifo_file { getattr read write };
+allow incident_helper incidentd:unix_stream_socket { read write };
+
+# only allow incidentd and shell to call incident_helper
+neverallow {
+    domain
+    -incidentd
+    -incident_helper
+    -shell
+    
+} incident_helper_exec:file {
+    execute
+    execute_no_trans
+};
+#line 1 "system/sepolicy/private/incidentd.te"
+typeattribute incidentd coredomain;
+typeattribute incidentd mlstrustedsubject;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init incidentd_exec:file { getattr open read execute map };
+#line 4
+allow init incidentd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow incidentd incidentd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init incidentd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init incidentd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init incidentd_exec:process incidentd;
+#line 4
+
+#line 4
+
+type incidentd_exec, system_file_type, exec_type, file_type;
+
+#line 6
+# Call the servicemanager and transfer references to it.
+#line 6
+allow incidentd servicemanager:binder { call transfer };
+#line 6
+# Allow servicemanager to send out callbacks
+#line 6
+allow servicemanager incidentd:binder { call transfer };
+#line 6
+# servicemanager performs getpidcon on clients.
+#line 6
+allow servicemanager incidentd:dir search;
+#line 6
+allow servicemanager incidentd:file { read open };
+#line 6
+allow servicemanager incidentd:process getattr;
+#line 6
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+
+
+#line 7
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 7
+# deprecated.
+#line 7
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 7
+allow incidentd sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 7
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 7
+allow incidentd self:{ capability2 cap2_userns } block_suspend;
+#line 7
+# system_suspend permissions
+#line 7
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow incidentd system_suspend_server:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow system_suspend_server incidentd:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow incidentd system_suspend_server:fd use;
+#line 7
+
+#line 7
+allow incidentd system_suspend_hwservice:hwservice_manager find;
+#line 7
+# halclientdomain permissions
+#line 7
+
+#line 7
+# Call the hwservicemanager and transfer references to it.
+#line 7
+allow incidentd hwservicemanager:binder { call transfer };
+#line 7
+# Allow hwservicemanager to send out callbacks
+#line 7
+allow hwservicemanager incidentd:binder { call transfer };
+#line 7
+# hwservicemanager performs getpidcon on clients.
+#line 7
+allow hwservicemanager incidentd:dir search;
+#line 7
+allow hwservicemanager incidentd:file { read open map };
+#line 7
+allow hwservicemanager incidentd:process getattr;
+#line 7
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+#line 7
+
+#line 7
+allow incidentd hwservicemanager_prop:file { getattr open read map };
+#line 7
+
+#line 7
+allow incidentd hidl_manager_hwservice:hwservice_manager find;
+#line 7
+# AIDL suspend hal permissions
+#line 7
+allow incidentd hal_system_suspend_service:service_manager find;
+#line 7
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow incidentd servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager incidentd:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager incidentd:dir search;
+#line 7
+allow servicemanager incidentd:file { read open };
+#line 7
+allow servicemanager incidentd:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+#line 7
+
+
+# Allow incidentd to scan through /proc/pid for all processes
+
+#line 10
+allow incidentd domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 10
+allow incidentd domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 10
+
+
+# Allow incidentd to kill incident_helper when timeout
+allow incidentd incident_helper:process sigkill;
+
+# Allow executing files on system, such as:
+#   /system/bin/toolbox
+#   /system/bin/logcat
+#   /system/bin/dumpsys
+allow incidentd system_file:file execute_no_trans;
+allow incidentd toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# section id 1002, allow reading kernel version /proc/version
+allow incidentd proc_version:file { getattr open read ioctl lock map watch watch_reads };
+
+# section id 1116, allow accessing statsd socket
+
+#line 26
+allow incidentd statsdw_socket:sock_file write;
+#line 26
+allow incidentd statsd:unix_dgram_socket sendto;
+#line 26
+
+
+# section id 1116, allow using userfaultfd
+
+#line 29
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 29
+type incidentd_userfaultfd;
+#line 29
+type_transition incidentd incidentd:anon_inode incidentd_userfaultfd "[userfaultfd]";
+#line 29
+# Allow domain to create/use userfaultfd anon_inode.
+#line 29
+allow incidentd incidentd_userfaultfd:anon_inode { create ioctl read };
+#line 29
+# Suppress errors generate during bugreport
+#line 29
+dontaudit su incidentd_userfaultfd:anon_inode *;
+#line 29
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 29
+neverallow { domain -incidentd } incidentd_userfaultfd:anon_inode *;
+#line 29
+
+
+# section id 2001, allow reading /proc/pagetypeinfo
+allow incidentd proc_pagetypeinfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# section id 2002, allow reading /d/wakeup_sources
+;
+
+# section id 2003, allow executing top
+allow incidentd proc_meminfo:file { open read };
+
+# section id 2004, allow reading /sys/devices/system/cpu/cpufreq/all_time_in_state
+allow incidentd sysfs_devices_system_cpu:file { getattr open read ioctl lock map watch watch_reads };
+
+# section id 2005, allow reading ps dump in full
+allow incidentd domain:process getattr;
+
+# section id 2006, allow reading /sys/class/power_supply/bms/battery_type
+allow incidentd sysfs_batteryinfo:dir { search };
+allow incidentd sysfs_batteryinfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# section id 2007, allow reading LAST_KMSG /sys/fs/pstore/console-ramoops
+;
+;
+
+# section id 3023, allow obtaining stats report
+allow incidentd stats_service:service_manager find;
+
+#line 56
+# Call the server domain and optionally transfer references to it.
+#line 56
+allow incidentd statsd:binder { call transfer };
+#line 56
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 56
+allow statsd incidentd:binder transfer;
+#line 56
+# Receive and use open files from the server.
+#line 56
+allow incidentd statsd:fd use;
+#line 56
+
+
+# section id 3026, allow reading /data/misc/perfetto-traces.
+allow incidentd perfetto_traces_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow incidentd perfetto_traces_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# section id 3052, allow accessing nfc_service
+allow incidentd nfc_service:service_manager find;
+
+# Create and write into /data/misc/incidents
+allow incidentd incident_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow incidentd incident_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Enable incidentd to get stack traces.
+
+#line 70
+# Call the servicemanager and transfer references to it.
+#line 70
+allow incidentd servicemanager:binder { call transfer };
+#line 70
+# Allow servicemanager to send out callbacks
+#line 70
+allow servicemanager incidentd:binder { call transfer };
+#line 70
+# servicemanager performs getpidcon on clients.
+#line 70
+allow servicemanager incidentd:dir search;
+#line 70
+allow servicemanager incidentd:file { read open };
+#line 70
+allow servicemanager incidentd:process getattr;
+#line 70
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 70
+# all domains in domain.te.
+#line 70
+
+
+#line 71
+# Call the hwservicemanager and transfer references to it.
+#line 71
+allow incidentd hwservicemanager:binder { call transfer };
+#line 71
+# Allow hwservicemanager to send out callbacks
+#line 71
+allow hwservicemanager incidentd:binder { call transfer };
+#line 71
+# hwservicemanager performs getpidcon on clients.
+#line 71
+allow hwservicemanager incidentd:dir search;
+#line 71
+allow hwservicemanager incidentd:file { read open map };
+#line 71
+allow hwservicemanager incidentd:process getattr;
+#line 71
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 71
+# all domains in domain.te.
+#line 71
+
+allow incidentd hwservicemanager:hwservice_manager { list };
+
+#line 73
+allow incidentd hwservicemanager_prop:file { getattr open read map };
+#line 73
+
+allow incidentd hidl_manager_hwservice:hwservice_manager { find };
+
+# Read files in /proc
+allow incidentd {
+  proc_cmdline
+  proc_pid_max
+  proc_pipe_conf
+  proc_stat
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Signal java processes to dump their stack and get the results
+allow incidentd { appdomain ephemeral_app system_server }:process signal;
+
+# Signal native processes to dump their stack.
+# This list comes from native_processes_to_dump in incidentd/utils.c
+allow incidentd {
+  # This list comes from native_processes_to_dump in dumputils/dump_utils.cpp
+  audioserver
+  cameraserver
+  drmserver
+  inputflinger
+  mediadrmserver
+  mediaextractor
+  mediametrics
+  mediaserver
+  sdcardd
+  statsd
+  surfaceflinger
+
+  # This list comes from hal_interfaces_to_dump in dumputils/dump_utils.cpp
+  hal_audio_server
+  hal_bluetooth_server
+  hal_camera_server
+  hal_codec2_server
+  hal_face_server
+  hal_graphics_allocator_server
+  hal_graphics_composer_server
+  hal_health_server
+  hal_omx_server
+  hal_sensors_server
+  hal_vr_server
+}:process signal;
+
+# Allow incidentd to make binder calls to any binder service
+
+#line 118
+# Call the server domain and optionally transfer references to it.
+#line 118
+allow incidentd system_server:binder { call transfer };
+#line 118
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 118
+allow system_server incidentd:binder transfer;
+#line 118
+# Receive and use open files from the server.
+#line 118
+allow incidentd system_server:fd use;
+#line 118
+
+
+#line 119
+# Call the server domain and optionally transfer references to it.
+#line 119
+allow incidentd appdomain:binder { call transfer };
+#line 119
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 119
+allow appdomain incidentd:binder transfer;
+#line 119
+# Receive and use open files from the server.
+#line 119
+allow incidentd appdomain:fd use;
+#line 119
+
+
+# Reading /proc/PID/maps of other processes
+;
+# incidentd has capability sys_ptrace, but should only use that capability for
+# accessing sensitive /proc/PID files, never for using ptrace attach.
+neverallow incidentd *:process ptrace;
+
+allow incidentd self:{ capability cap_userns } {
+    # Send signals to processes
+    kill
+};
+
+# Connect to tombstoned to intercept dumps.
+
+#line 133
+allow incidentd tombstoned_intercept_socket:sock_file write;
+#line 133
+allow incidentd tombstoned:unix_stream_socket connectto;
+#line 133
+
+
+# Run a shell.
+allow incidentd shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# For running am, incident-helper-cmd and similar framework commands.
+# Run /system/bin/app_process.
+allow incidentd zygote_exec:file { { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } } };
+# Access the runtime feature flag properties.
+
+#line 142
+allow incidentd device_config_runtime_native_prop:file { getattr open read map };
+#line 142
+
+
+#line 143
+allow incidentd device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 143
+
+# Access odsign verification status.
+
+#line 145
+allow incidentd odsign_prop:file { getattr open read map };
+#line 145
+
+# ART locks profile files.
+allow incidentd system_file:file lock;
+# Incidentd should never exec from the memory (e.g. JIT cache). These denials are expected.
+dontaudit incidentd dalvikcache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit incidentd apex_module_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit incidentd apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit incidentd tmpfs:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } { getattr execute execute_no_trans map } };
+
+# Allow incidentd to read /apex/apex-info-list.xml
+allow incidentd apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# logd access - work to be done is a PII safe log (possibly an event log?)
+
+# TODO control_logd(incidentd)
+
+# Access /data/misc/logd
+
+#line 162
+allow incidentd misc_logd_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 162
+allow incidentd misc_logd_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 162
+
+
+# Allow incidentd to find these standard groups of services.
+# Others can be allowlisted individually.
+allow incidentd {
+  system_server_service
+  app_api_service
+  system_api_service
+  -tracingproxy_service
+}:service_manager find;
+
+# Only incidentd can publish the binder service
+
+#line 174
+  allow incidentd incident_service:service_manager { add find };
+#line 174
+  neverallow { domain -incidentd } incident_service:service_manager add;
+#line 174
+
+#line 174
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 174
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 174
+  
+#line 174
+
+
+# Allow pipes only from dumpstate and incident
+allow incidentd { dumpstate incident }:fd use;
+allow incidentd { dumpstate incident }:fifo_file write;
+
+# Allow incident to call back to incident with status updates.
+
+#line 181
+# Call the server domain and optionally transfer references to it.
+#line 181
+allow incidentd incident:binder { call transfer };
+#line 181
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 181
+allow incident incidentd:binder transfer;
+#line 181
+# Receive and use open files from the server.
+#line 181
+allow incidentd incident:fd use;
+#line 181
+
+
+# Read device serial number from system properties
+# This is used to track reports from lab testing devices
+#line 187
+
+
+# Read ro.boot.bootreason, persist.sys.boot.bootreason
+# This is used to track reports from lab testing devices
+#line 195
+
+
+# Allow incident to read the build properties for attestation feature
+
+#line 198
+allow incidentd build_attestation_prop:file { getattr open read map };
+#line 198
+;
+
+###
+### neverallow rules
+###
+# only incidentd and the other root services in limited circumstances
+# can get to the files in /data/misc/incidents
+#
+# write, execute, append are forbidden almost everywhere
+neverallow { domain -incidentd -init -vold } incident_data_file:file {
+  { open append write lock map }
+  { getattr execute execute_no_trans map }
+  create
+  rename
+  setattr
+  unlink
+  append
+};
+# read is also allowed by system_server, for when the file is handed to dropbox
+neverallow { domain -incidentd -init -vold -system_server } incident_data_file:file { getattr open read ioctl lock map watch watch_reads };
+# limited access to the directory itself
+neverallow { domain -incidentd -init -vold } incident_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+#line 1 "system/sepolicy/private/init.te"
+typeattribute init coredomain;
+
+
+#line 3
+type_transition init tmpfs:file init_tmpfs;
+#line 3
+allow init init_tmpfs:file { read write getattr map };
+#line 3
+
+
+# Transitions to seclabel processes in init.rc
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init rootfs:file { getattr open read execute map };
+#line 6
+allow init slideshow:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow slideshow rootfs:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init slideshow:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init slideshow:process { siginh rlimitinh };
+#line 6
+
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init charger_exec:file { getattr open read execute map };
+#line 7
+allow init charger:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow charger charger_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init charger:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init charger:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init charger_exec:process charger;
+#line 7
+
+
+#line 8
+# Allow the necessary permissions.
+#line 8
+
+#line 8
+# Old domain may exec the file and transition to the new domain.
+#line 8
+allow init e2fs_exec:file { getattr open read execute map };
+#line 8
+allow init e2fs:process transition;
+#line 8
+# New domain is entered by executing the file.
+#line 8
+allow e2fs e2fs_exec:file { entrypoint open read execute getattr map };
+#line 8
+# New domain can send SIGCHLD to its caller.
+#line 8
+
+#line 8
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 8
+dontaudit init e2fs:process noatsecure;
+#line 8
+# XXX dontaudit candidate but requires further study.
+#line 8
+allow init e2fs:process { siginh rlimitinh };
+#line 8
+
+#line 8
+# Make the transition occur by default.
+#line 8
+type_transition init e2fs_exec:process e2fs;
+#line 8
+
+
+#line 9
+# Allow the necessary permissions.
+#line 9
+
+#line 9
+# Old domain may exec the file and transition to the new domain.
+#line 9
+allow init bpfloader_exec:file { getattr open read execute map };
+#line 9
+allow init bpfloader:process transition;
+#line 9
+# New domain is entered by executing the file.
+#line 9
+allow bpfloader bpfloader_exec:file { entrypoint open read execute getattr map };
+#line 9
+# New domain can send SIGCHLD to its caller.
+#line 9
+
+#line 9
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 9
+dontaudit init bpfloader:process noatsecure;
+#line 9
+# XXX dontaudit candidate but requires further study.
+#line 9
+allow init bpfloader:process { siginh rlimitinh };
+#line 9
+
+#line 9
+# Make the transition occur by default.
+#line 9
+type_transition init bpfloader_exec:process bpfloader;
+#line 9
+
+
+#line 23
+
+
+#line 24
+# Old domain may exec the file and transition to the new domain.
+#line 24
+allow init shell_exec:file { getattr open read execute map };
+#line 24
+allow init shell:process transition;
+#line 24
+# New domain is entered by executing the file.
+#line 24
+allow shell shell_exec:file { entrypoint open read execute getattr map };
+#line 24
+# New domain can send SIGCHLD to its caller.
+#line 24
+
+#line 24
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 24
+dontaudit init shell:process noatsecure;
+#line 24
+# XXX dontaudit candidate but requires further study.
+#line 24
+allow init shell:process { siginh rlimitinh };
+#line 24
+
+
+#line 25
+# Old domain may exec the file and transition to the new domain.
+#line 25
+allow init init_exec:file { getattr open read execute map };
+#line 25
+allow init ueventd:process transition;
+#line 25
+# New domain is entered by executing the file.
+#line 25
+allow ueventd init_exec:file { entrypoint open read execute getattr map };
+#line 25
+# New domain can send SIGCHLD to its caller.
+#line 25
+
+#line 25
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 25
+dontaudit init ueventd:process noatsecure;
+#line 25
+# XXX dontaudit candidate but requires further study.
+#line 25
+allow init ueventd:process { siginh rlimitinh };
+#line 25
+
+
+#line 26
+# Old domain may exec the file and transition to the new domain.
+#line 26
+allow init init_exec:file { getattr open read execute map };
+#line 26
+allow init vendor_init:process transition;
+#line 26
+# New domain is entered by executing the file.
+#line 26
+allow vendor_init init_exec:file { entrypoint open read execute getattr map };
+#line 26
+# New domain can send SIGCHLD to its caller.
+#line 26
+
+#line 26
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 26
+dontaudit init vendor_init:process noatsecure;
+#line 26
+# XXX dontaudit candidate but requires further study.
+#line 26
+allow init vendor_init:process { siginh rlimitinh };
+#line 26
+
+
+#line 27
+# Old domain may exec the file and transition to the new domain.
+#line 27
+allow init { rootfs toolbox_exec }:file { getattr open read execute map };
+#line 27
+allow init modprobe:process transition;
+#line 27
+# New domain is entered by executing the file.
+#line 27
+allow modprobe { rootfs toolbox_exec }:file { entrypoint open read execute getattr map };
+#line 27
+# New domain can send SIGCHLD to its caller.
+#line 27
+
+#line 27
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 27
+dontaudit init modprobe:process noatsecure;
+#line 27
+# XXX dontaudit candidate but requires further study.
+#line 27
+allow init modprobe:process { siginh rlimitinh };
+#line 27
+
+#line 36
+
+
+# Allow init to figure out name of dm-device from it's /dev/block/dm-XX path.
+# This is useful in case of remounting ext4 userdata into checkpointing mode,
+# since it potentially requires tearing down dm-devices (e.g. dm-bow, dm-crypto)
+# that userdata is mounted onto.
+allow init sysfs_dm:file read;
+
+# Allow init to modify the properties of loop devices.
+allow init sysfs_loop:dir { open getattr read search ioctl lock watch watch_reads };
+allow init sysfs_loop:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow init to examine the properties of block devices.
+allow init sysfs_type:file { getattr read };
+# Allow init get the attributes of block devices in /dev/block.
+allow init dev_type:dir { open getattr read search ioctl lock watch watch_reads };
+allow init dev_type:blk_file getattr;
+
+# Allow init to write to the drop_caches file.
+allow init proc_drop_caches:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow the BoringSSL self test to request a reboot upon failure
+
+#line 58
+
+#line 58
+allow init property_socket:sock_file write;
+#line 58
+allow init init:unix_stream_socket connectto;
+#line 58
+
+#line 58
+allow init powerctl_prop:property_service set;
+#line 58
+
+#line 58
+allow init powerctl_prop:file { getattr open read map };
+#line 58
+
+#line 58
+
+
+
+#line 60
+
+#line 60
+allow init property_socket:sock_file write;
+#line 60
+allow init init:unix_stream_socket connectto;
+#line 60
+
+#line 60
+allow init userspace_reboot_exported_prop:property_service set;
+#line 60
+
+#line 60
+allow init userspace_reboot_exported_prop:file { getattr open read map };
+#line 60
+
+#line 60
+
+
+# Second-stage init performs a test for whether the kernel has SELinux hooks
+# for the perf_event_open() syscall. This is done by testing for the syscall
+# outcomes corresponding to this policy.
+# TODO(b/137092007): this can be removed once the platform stops supporting
+# kernels that precede the perf_event_open hooks (Android common kernels 4.4
+# and 4.9).
+allow init self:perf_event { open cpu };
+allow init self:{ capability2 cap2_userns } perfmon;
+
+# Allow opening /proc/kallsyms so that on boot, init can create and retain an
+# fd with the full address visibility (which is evaluated on open and persists
+# for the lifetime of the open file description). This fd can then be shared
+# with other privileged processes.
+allow init proc_kallsyms:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow init to communicate with snapuserd to transition Virtual A/B devices
+# from the first-stage daemon to the second-stage.
+allow init snapuserd_socket:sock_file write;
+allow init snapuserd:unix_stream_socket connectto;
+# Allow for libsnapshot's use of flock() on /metadata/ota.
+allow init ota_metadata_file:dir lock;
+
+# Allow init to restore contexts of vd_device(/dev/block/vd[..]) when labeling
+# /dev/block.
+allow init vd_device:blk_file relabelto;
+
+
+#line 88
+
+#line 88
+allow init property_socket:sock_file write;
+#line 88
+allow init init:unix_stream_socket connectto;
+#line 88
+
+#line 88
+allow init init_perf_lsm_hooks_prop:property_service set;
+#line 88
+
+#line 88
+allow init init_perf_lsm_hooks_prop:file { getattr open read map };
+#line 88
+
+#line 88
+
+
+#line 89
+
+#line 89
+allow init property_socket:sock_file write;
+#line 89
+allow init init:unix_stream_socket connectto;
+#line 89
+
+#line 89
+allow init vts_status_prop:property_service set;
+#line 89
+
+#line 89
+allow init vts_status_prop:file { getattr open read map };
+#line 89
+
+#line 89
+
+
+# Allow init to set 16kb app compatibility props
+
+#line 92
+
+#line 92
+allow init property_socket:sock_file write;
+#line 92
+allow init init:unix_stream_socket connectto;
+#line 92
+
+#line 92
+allow init bionic_linker_16kb_app_compat_prop:property_service set;
+#line 92
+
+#line 92
+allow init bionic_linker_16kb_app_compat_prop:file { getattr open read map };
+#line 92
+
+#line 92
+
+
+#line 93
+
+#line 93
+allow init property_socket:sock_file write;
+#line 93
+allow init init:unix_stream_socket connectto;
+#line 93
+
+#line 93
+allow init pm_16kb_app_compat_prop:property_service set;
+#line 93
+
+#line 93
+allow init pm_16kb_app_compat_prop:file { getattr open read map };
+#line 93
+
+#line 93
+
+
+
+# Allow init to set/get prefetch boot prop to initiate record/replay
+
+#line 97
+
+#line 97
+allow init property_socket:sock_file write;
+#line 97
+allow init init:unix_stream_socket connectto;
+#line 97
+
+#line 97
+allow init ctl_prefetch_prop:property_service set;
+#line 97
+
+#line 97
+allow init ctl_prefetch_prop:file { getattr open read map };
+#line 97
+
+#line 97
+;
+
+# Allow accessing /sys/kernel/tracing/instances/bootreceiver to set up tracing.
+allow init debugfs_bootreceiver_tracing:file { open append write lock map };
+
+# PRNG seeder daemon socket is created and listened on by init before forking.
+allow init prng_seeder:unix_stream_socket { create bind listen };
+
+# Devices with kernels where CONFIG_HIST_TRIGGERS isn't enabled will
+# attempt to write a non exisiting 'synthetic_events' file, when setting
+# up synthetic events. This is a no-op in tracefs.
+dontaudit init debugfs_tracing_debug:dir { write add_name };
+
+# chown/chmod on devices.
+allow init {
+  dev_type
+  -hw_random_device
+  -keychord_device
+  -vm_manager_device_type
+  -port_device
+}:chr_file setattr;
+
+# /dev/__null__ node created by init.
+allow init tmpfs:chr_file { create setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+#
+# init direct restorecon calls.
+#
+# /dev/kmsg
+allow init tmpfs:chr_file relabelfrom;
+allow init kmsg_device:chr_file { getattr write relabelto };
+# /dev/kmsg_debug
+#line 131
+
+# /mnt/vm, also permissions to mkdir / mount / chmod / chown
+allow init vm_data_file:dir { add_name create search write getattr setattr relabelto mounton };
+
+# allow init to mount and unmount debugfs in debug builds
+#line 138
+
+
+# /dev/__properties__
+allow init properties_device:dir relabelto;
+allow init properties_serial:file { write relabelto };
+allow init property_type:file { append create getattr map open read relabelto rename setattr unlink write };
+# /dev/__properties__/property_info and /dev/__properties/appcompat_override/property_info
+allow init properties_device:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow init property_info:file relabelto;
+# /dev/event-log-tags
+allow init device:file relabelfrom;
+allow init runtime_event_log_tags_file:file { open write setattr relabelto create };
+# /dev/socket
+allow init { device socket_device dm_user_device }:dir relabelto;
+# allow init to establish connection and communicate with lmkd
+
+#line 153
+allow init lmkd_socket:sock_file write;
+#line 153
+allow init lmkd:unix_stream_socket connectto;
+#line 153
+
+# Relabel /dev nodes created in first stage init: /dev/console, /dev/null, /dev/ptmx, /dev/random
+# and /dev/urandom
+allow init { console_device null_device ptmx_device random_device } : chr_file relabelto;
+# /dev/device-mapper, /dev/block(/.*)?
+allow init tmpfs:{ chr_file blk_file } relabelfrom;
+allow init tmpfs:blk_file getattr;
+allow init block_device:{ dir blk_file lnk_file } relabelto;
+allow init dm_device:{ chr_file blk_file } relabelto;
+allow init dm_user_device:chr_file relabelto;
+allow init kernel:fd use;
+# restorecon for early mount device symlinks
+allow init tmpfs:lnk_file { getattr read relabelfrom };
+allow init {
+  metadata_block_device
+  misc_block_device
+  recovery_block_device
+  system_block_device
+  userdata_block_device
+}:{ blk_file lnk_file } relabelto;
+
+allow init dtbo_block_device:lnk_file relabelto;
+allow init super_block_device:lnk_file relabelto;
+
+# Create /mnt/sdcard -> /storage/self/primary symlink.
+allow init mnt_sdcard_file:lnk_file create;
+
+# setrlimit
+allow init self:{ capability cap_userns } sys_resource;
+
+# Remove /dev/.booting and load /debug_ramdisk/* files
+allow init tmpfs:file { getattr unlink };
+
+# Access pty created for fsck.
+allow init devpts:chr_file { read write open };
+
+# Create /dev/fscklogs files.
+allow init fscklogs:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access /dev/__null__ node created prior to initial policy load.
+allow init tmpfs:chr_file write;
+
+# Access /dev/console.
+allow init console_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access /dev/tty0.
+allow init tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Call mount(2).
+allow init self:{ capability cap_userns } sys_admin;
+
+# Call setns(2).
+allow init self:{ capability cap_userns } sys_chroot;
+
+# Create and mount on directories in /.
+allow init rootfs:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init {
+    rootfs
+    cache_file
+    cgroup
+    linkerconfig_file
+    storage_file
+    mnt_user_file
+    system_data_file
+    system_data_root_file
+    system_dlkm_file
+    system_file
+    vendor_file
+    postinstall_mnt_dir
+    mirror_data_file
+    shell_data_file
+}:dir mounton;
+
+# Mount bpf fs on sys/fs/bpf
+allow init fs_bpf:dir mounton;
+
+# Mount on /dev/usb-ffs/adb.
+allow init device:dir mounton;
+
+# Mount tmpfs on /apex
+allow init apex_mnt_dir:dir mounton;
+
+# Bind-mount on /system/apex/com.android.art
+allow init art_apex_dir:dir mounton;
+
+# Create and remove symlinks in /.
+allow init rootfs:lnk_file { create unlink };
+
+# Mount debugfs on /sys/kernel/debug.
+allow init sysfs:dir mounton;
+
+# Create cgroups mount points in tmpfs and mount cgroups on them.
+allow init tmpfs:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init tmpfs:dir mounton;
+allow init cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init cgroup:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow init cgroup_rc_file:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow init cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+allow init vendor_cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+allow init cgroup_v2:dir { mounton { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } }};
+allow init cgroup_v2:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# /config
+allow init configfs:dir mounton;
+allow init configfs:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init configfs:{ file lnk_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# /metadata
+allow init metadata_file:dir mounton;
+
+# Run restorecon on /dev
+allow init tmpfs:dir relabelfrom;
+
+# Create directories under /dev/cpuctl after chowning it to system.
+allow init self:{ capability cap_userns } { dac_override dac_read_search };
+
+# Set system clock.
+allow init self:{ capability cap_userns } sys_time;
+
+allow init self:{ capability cap_userns } { sys_rawio mknod };
+
+# Mounting filesystems from block devices.
+allow init dev_type:blk_file { getattr open read ioctl lock map watch watch_reads };
+allowxperm init dev_type:blk_file ioctl 0x0000125d;
+allowxperm init system_data_root_file:dir ioctl 0x587d;
+
+# Mounting filesystems.
+# Only allow relabelto for types used in context= mount options,
+# which should all be assigned the contextmount_type attribute.
+# This can be done in device-specific policy via type or typeattribute
+# declarations.
+allow init {
+  fs_type
+  # BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 286
+-debugfs_type
+#line 286
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 286
+
+}:filesystem ~relabelto;
+
+# Allow init to mount/unmount debugfs in non-user builds.
+# BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 290
+
+#line 290
+  
+#line 290
+
+#line 290
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 292
+
+
+# Allow init to mount tracefs in /sys/kernel/tracing
+allow init debugfs_tracing_debug:filesystem mount;
+
+allow init unlabeled:filesystem ~relabelto;
+allow init contextmount_type:filesystem relabelto;
+
+# Allow read-only access to context= mounted filesystems.
+allow init contextmount_type:dir { open getattr read search ioctl lock watch watch_reads };
+allow init contextmount_type:{ file lnk_file sock_file fifo_file } { getattr open read ioctl lock map watch watch_reads };
+
+# restorecon /adb_keys or any other rootfs files and directories to a more
+# specific type.
+allow init rootfs:{ dir file } relabelfrom;
+
+# mkdir, symlink, write, rm/rmdir, chown/chmod, restorecon/restorecon_recursive from init.rc files.
+# chown/chmod require open+read+setattr required for open()+fchown/fchmod().
+# system/core/init.rc requires at least cache_file and data_file_type.
+# init.<board>.rc files often include device-specific types, so
+# we just allow all file types except /system files here.
+allow init self:{ capability cap_userns } { chown fowner fsetid };
+
+allow init {
+  file_type
+  -app_data_file
+  
+#line 318
+    -storage_area_dir
+#line 318
+    -storage_area_app_dir
+#line 318
+    -storage_area_content_file
+#line 318
+  
+#line 323
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+}:dir { create search getattr open read setattr ioctl };
+
+allow init {
+  file_type
+  -app_data_file
+  
+#line 338
+    -storage_area_dir
+#line 338
+    -storage_area_app_dir
+#line 338
+    -storage_area_content_file
+#line 338
+  
+#line 343
+  -vm_data_file
+  -bpffs_type
+  -credstore_data_file
+  -exec_type
+  -keystore_data_file
+  -media_userdir_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -system_userdir_file
+  -vendor_file_type
+  -vendor_userdir_file
+  -vold_data_file
+}:dir { write add_name remove_name rmdir relabelfrom };
+
+allow init {
+  file_type
+  -apex_info_file
+  -app_data_file
+  
+#line 366
+    -storage_area_dir
+#line 366
+    -storage_area_app_dir
+#line 366
+    -storage_area_content_file
+#line 366
+  
+#line 371
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -gsi_data_file
+  -credstore_data_file
+  -keystore_data_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -runtime_event_log_tags_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_data_file
+  # BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 387
+-debugfs_type
+#line 387
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 387
+
+}:file { create getattr open read write setattr relabelfrom unlink map };
+
+allow init tracefs_type:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom };
+
+# Allow init to read /apex/apex-info-list.xml for preinstalled paths of APEXes to determine
+# subcontext for action/service defined in APEXes.
+allow init apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow init {
+  file_type
+  -app_data_file
+  
+#line 399
+    -storage_area_dir
+#line 399
+    -storage_area_app_dir
+#line 399
+    -storage_area_content_file
+#line 399
+  
+#line 404
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -gsi_data_file
+  -credstore_data_file
+  -keystore_data_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_data_file
+}:{ sock_file fifo_file } { create getattr open read setattr relabelfrom unlink };
+
+allow init {
+  file_type
+  -apex_mnt_dir
+  -app_data_file
+  
+#line 425
+    -storage_area_dir
+#line 425
+    -storage_area_app_dir
+#line 425
+    -storage_area_content_file
+#line 425
+  
+#line 430
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -gsi_data_file
+  -credstore_data_file
+  -keystore_data_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_data_file
+}:lnk_file { create getattr setattr relabelfrom unlink };
+
+allow init cache_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+allow init {
+  file_type
+  -bpffs_type
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -exec_type
+  -app_data_file
+  
+#line 457
+    -storage_area_dir
+#line 457
+    -storage_area_app_dir
+#line 457
+    -storage_area_content_file
+#line 457
+  
+#line 462
+  -vm_data_file
+  -privapp_data_file
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } relabelto;
+
+allow init { sysfs debugfs debugfs_tracing debugfs_tracing_debug }:{ dir file lnk_file } { getattr relabelfrom };
+allow init { sysfs_type debugfs_type tracefs_type }:{ dir file lnk_file } { relabelto getattr };
+allow init dev_type:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init dev_type:lnk_file create;
+
+# Disable tracing by writing to /sys/kernel/debug/tracing/tracing_on
+allow init debugfs_tracing:file { open append write lock map };
+
+# Setup and control wifi event tracing (see wifi-events.rc)
+allow init debugfs_tracing_instances:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init debugfs_tracing_instances:file { open append write lock map };
+allow init debugfs_wifi_tracing:file { open append write lock map };
+allow init debugfs_wifi_tracing:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# chown/chmod on pseudo files.
+allow init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -keychord_device
+  -proc_type
+  -sdcard_type
+  -fusefs_type
+  -sysfs_type
+  -rootfs
+  # BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 491
+-debugfs_type
+#line 491
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 491
+
+}:file { open read setattr };
+allow init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -sdcard_type
+  -fusefs_type
+  -rootfs
+}:dir { open read setattr search };
+
+allow init {
+  binder_device
+  console_device
+  devpts
+  dm_device
+  hwbinder_device
+  input_device
+  kmsg_device
+  null_device
+  owntty_device
+  pmsg_device
+  ptmx_device
+  random_device
+  tty_device
+  zero_device
+}:chr_file { read open };
+
+# Unlabeled file access for upgrades from 4.2.
+allow init unlabeled:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow init unlabeled:{ file lnk_file sock_file fifo_file } { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom };
+
+# Any operation that can modify the kernel ring buffer, e.g. clear
+# or a read that consumes the messages that were read.
+allow init kernel:system syslog_mod;
+allow init self:{ capability2 cap2_userns } syslog;
+
+# init access to /proc.
+
+#line 529
+allow init proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 529
+allow init proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 529
+
+allow init proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 538
+
+
+allow init {
+  proc # b/67049235 processes /proc/<pid>/* files are mislabeled.
+  proc_allocinfo
+  proc_bootconfig
+  proc_cmdline
+  proc_diskstats
+  proc_kmsg # Open /proc/kmsg for logd service.
+  proc_meminfo
+  proc_stat # Read /proc/stat for bootchart.
+  proc_uptime
+  proc_version
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+allow init {
+  proc_abi
+  proc_cpu_alignment
+  proc_dirty
+  proc_hostname
+  proc_hung_task
+  proc_extra_free_kbytes
+  proc_net_type
+  proc_max_map_count
+  proc_min_free_order_shift
+  proc_overcommit_memory      # /proc/sys/vm/overcommit_memory
+  proc_panic
+  proc_page_cluster
+  proc_perf
+  proc_sched
+  proc_sysrq
+  proc_watermark_boost_factor
+}:file { open append write lock map };
+
+allow init {
+  proc_security
+}:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# init chmod/chown access to /proc files.
+allow init {
+  proc_allocinfo
+  proc_cmdline
+  proc_bootconfig
+  proc_kmsg
+  proc_net
+  proc_pagetypeinfo
+  proc_qtaguid_stat
+  proc_slabinfo
+  proc_sysrq
+  proc_qtaguid_ctrl
+  proc_vmallocinfo
+}:file setattr;
+
+# init access to /sys files.
+allow init {
+  sysfs_android_usb
+  sysfs_dm_verity
+  sysfs_leds
+  sysfs_power
+  sysfs_fs_f2fs
+  sysfs_dm
+  sysfs_lru_gen_enabled
+  sysfs_pgsize_migration
+}:file { open append write lock map };
+
+allow init {
+  sysfs_dt_firmware_android
+  sysfs_fs_ext4_features
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+allow init {
+  sysfs_zram
+}:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# allow init to create loop devices with /dev/loop-control
+allow init loop_control_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow init loop_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm init loop_device:blk_file ioctl {
+  0x00004c00
+  0x00004c01
+  0x00004c82
+  0x00004c09
+  0x00004c08
+  0x00004c03
+  0x00004c04
+};
+
+# Allow init to write to vibrator/trigger
+allow init sysfs_vibrator:file { open append write lock map };
+
+# init chmod/chown access to /sys files.
+allow init {
+  sysfs_android_usb
+  sysfs_devices_system_cpu
+  sysfs_firmware_acpi_tables
+  sysfs_ipv4
+  sysfs_leds
+  sysfs_lowmemorykiller
+  sysfs_power
+  sysfs_vibrator
+  sysfs_wake_lock
+  sysfs_zram
+}:file setattr;
+
+# Set usermodehelpers.
+allow init { usermodehelper sysfs_usermodehelper }:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow init self:{ capability cap_userns } net_admin;
+
+# Reboot.
+allow init self:{ capability cap_userns } sys_boot;
+
+# Init will create /data/misc/logd when the property persist.logd.logpersistd is "logcatd".
+# Init will also walk through the directory as part of a recursive restorecon.
+allow init misc_logd_file:dir { add_name open create read getattr setattr search write };
+allow init misc_logd_file:file { open create getattr setattr write };
+
+# Support "adb shell stop"
+allow init self:{ capability cap_userns } kill;
+allow init domain:process { getpgid sigkill signal };
+
+# Init creates credstore's directory on boot, and walks through
+# the directory as part of a recursive restorecon.
+allow init credstore_data_file:dir { open create read getattr setattr search };
+allow init credstore_data_file:file { getattr };
+
+# Init creates keystore's directory on boot, and walks through
+# the directory as part of a recursive restorecon.
+allow init keystore_data_file:dir { open create read getattr setattr search };
+allow init keystore_data_file:file { getattr };
+
+# Init creates vold's directory on boot, and walks through
+# the directory as part of a recursive restorecon.
+allow init vold_data_file:dir { open create read getattr setattr search };
+allow init vold_data_file:file { getattr };
+
+# Init creates /data/local/tmp at boot
+allow init shell_data_file:dir { open create read getattr setattr search };
+allow init shell_data_file:file { getattr };
+
+# Set UID, GID, and adjust capability bounding set for services.
+allow init self:{ capability cap_userns } { setuid setgid setpcap };
+
+# For bootchart to read the /proc/$pid/cmdline file of each process,
+# we need to have following line to allow init to have access
+# to different domains.
+
+#line 684
+allow init domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 684
+allow init domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 684
+
+
+# Use setexeccon(), setfscreatecon(), and setsockcreatecon().
+# setexec is for services with seclabel options.
+# setfscreate is for labeling directories and socket files.
+# setsockcreate is for labeling local/unix domain sockets.
+allow init self:process { setexec setfscreate setsockcreate };
+
+# Get file context
+allow init file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# sepolicy access
+allow init sepolicy_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Perform SELinux access checks on setting properties.
+
+#line 699
+
+#line 699
+allow init selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 699
+allow init selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 699
+
+#line 699
+allow init selinuxfs:file { open append write lock map };
+#line 699
+allow init kernel:security compute_av;
+#line 699
+allow init self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 699
+
+
+# Ask the kernel for the new context on services to label their sockets.
+allow init kernel:security compute_create;
+
+# Create sockets for the services.
+allow init domain:unix_stream_socket { create bind setopt };
+allow init domain:unix_dgram_socket { create bind setopt };
+
+# Create /data/property and files within it.
+allow init property_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init property_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Set any property.
+allow init property_type:property_service set;
+
+# Send an SELinux userspace denial to the kernel audit subsystem,
+# so it can be picked up and processed by logd. These denials are
+# generated when an attempt to set a property is denied by policy.
+allow init self:netlink_audit_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_relay };
+allow init self:{ capability cap_userns } audit_write;
+
+# Run "ifup lo" to bring up the localhost interface
+allow init self:udp_socket { create ioctl };
+# in addition to unpriv ioctls granted to all domains, init also needs:
+allowxperm init self:udp_socket ioctl 0x00008914;
+allow init self:{ capability cap_userns } net_raw;
+
+# Set scheduling info for psi monitor thread.
+# TODO: delete or revise this line b/131761776
+allow init kernel:process { getsched setsched };
+
+# swapon() needs write access to swap device
+# system/core/fs_mgr/fs_mgr.c - fs_mgr_swapon_all
+allow init swap_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# Allow to change group owner and permissions for new swap setup in mmd
+allow init swap_block_device:blk_file setattr;
+
+# Create and access /dev files without a specific type,
+# e.g. /dev/.coldboot_done, /dev/.booting
+# TODO:  Move these files into their own type unless they are
+# only ever accessed by init.
+allow init device:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# keychord retrieval from /dev/input/ devices
+allow init input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow init input_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access device mapper for setting up dm-verity
+allow init dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow init dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access dm-user for OTA boot
+allow init dm_user_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access metadata block device for storing dm-verity state
+allow init metadata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read /sys/fs/pstore/console-ramoops to detect restarts caused
+# by dm-verity detecting corrupted blocks
+allow init pstorefs:dir search;
+allow init pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+allow init kernel:system syslog_read;
+
+# linux keyring configuration
+allow init init:key { write search setattr };
+
+# Allow init to create /data/unencrypted
+allow init unencrypted_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# Set encryption policy on dirs in /data
+allowxperm init { data_file_type unlabeled }:dir ioctl {
+  0x400c6615
+  0x800c6613
+};
+
+# Raw writes to misc block device
+allow init misc_block_device:blk_file { open append write lock map };
+
+
+#line 778
+allow init system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 778
+allow init system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 778
+
+
+#line 779
+allow init system_dlkm_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 779
+allow init system_dlkm_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 779
+
+
+#line 780
+allow init vendor_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 780
+allow init vendor_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 780
+
+
+allow init system_data_file:file { getattr read };
+allow init system_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# For init to be able to run shell scripts from vendor
+allow init vendor_shell_exec:file execute;
+
+# Metadata setup
+allow init vold_metadata_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init vold_metadata_file:file getattr;
+allow init metadata_bootstat_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow init metadata_bootstat_file:file { open append write lock map };
+allow init userspace_reboot_metadata_file:file { open append write lock map };
+
+# Allow init to touch PSI monitors
+allow init proc_pressure_mem:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } setattr };
+
+# init is using bootstrap bionic
+
+#line 799
+  allow init system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 799
+  allow init system_bootstrap_lib_file:file { execute read open getattr map };
+#line 799
+
+
+# stat the root dir of fuse filesystems (for the mount handler)
+allow init fuse:dir { search getattr };
+
+# allow filesystem tuning
+allow init userdata_sysdev:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow disk tuning
+allow init rootdisk_sysdev:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+###
+### neverallow rules
+###
+
+# The init domain is only entered via an exec based transition from the
+# kernel domain, never via setcon().
+neverallow domain init:process dyntransition;
+neverallow { domain -kernel  } init:process transition;
+neverallow init { file_type fs_type -init_exec }:file entrypoint;
+
+# Never read/follow symlinks created by shell or untrusted apps.
+neverallow init shell_data_file:lnk_file read;
+neverallow init app_data_file_type:lnk_file read;
+
+# init should never execute a program without changing to another domain.
+neverallow init { file_type fs_type }:file execute_no_trans;
+
+# The use of sensitive environment variables, such as LD_PRELOAD, is disallowed
+# when init is executing other binaries. The use of LD_PRELOAD for init spawned
+# services is generally considered a no-no, as it injects libraries which the
+# binary was not expecting. This is especially problematic for APEXes. The use
+# of LD_PRELOAD via APEXes is a layering violation, and inappropriately loads
+# code into a process which wasn't expecting that code, with potentially
+# unexpected side effects. (b/140789528)
+neverallow init *:process noatsecure;
+
+# init can never add binder services
+neverallow init service_manager_type:service_manager { add find };
+# init can never list binder services
+neverallow init servicemanager:service_manager list;
+
+# Init should not be creating subdirectories in /data/local/tmp
+neverallow init shell_data_file:dir { write add_name remove_name };
+
+# Init should not access sysfs node that are not explicitly labeled.
+neverallow init sysfs:file { open write };
+
+# No domain should be allowed to ptrace init.
+neverallow * init:process ptrace;
+
+# init owns the root of /data
+# TODO(b/140259336) We want to remove vendor_init
+# TODO(b/141108496) We want to remove toolbox
+neverallow { domain -init -toolbox -vendor_init -vold } system_data_root_file:dir { write add_name remove_name };
+
+# Only init is allowed to set userspace reboot related properties.
+neverallow { domain -init } userspace_reboot_exported_prop:property_service set;
+
+neverallow init self:perf_event { kernel tracepoint read write };
+dontaudit init self:perf_event { kernel tracepoint read write };
+
+# Only init is allowed to set the sysprop indicating whether perf_event_open()
+# SELinux hooks were detected.
+neverallow { domain -init } init_perf_lsm_hooks_prop:property_service set;
+
+# Only init can write vts.native_server.on
+neverallow { domain -init } vts_status_prop:property_service set;
+
+# Only init can write normal ro.boot. properties
+neverallow { domain -init } bootloader_prop:property_service set;
+
+# Only init can write hal.instrumentation.enable
+neverallow { domain -init } hal_instrumentation_prop:property_service set;
+
+# Only init can write ro.property_service.version
+neverallow { domain -init } property_service_version_prop:property_service set;
+
+# Only init can set keystore.boot_level
+neverallow { domain -init } keystore_listen_prop:property_service set;
+#line 1 "system/sepolicy/private/inputflinger.te"
+typeattribute inputflinger coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init inputflinger_exec:file { getattr open read execute map };
+#line 3
+allow init inputflinger:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow inputflinger inputflinger_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init inputflinger:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init inputflinger:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init inputflinger_exec:process inputflinger;
+#line 3
+
+#line 3
+
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow inputflinger servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager inputflinger:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager inputflinger:dir search;
+#line 5
+allow servicemanager inputflinger:file { read open };
+#line 5
+allow servicemanager inputflinger:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+#line 6
+typeattribute inputflinger binderservicedomain;
+#line 6
+
+
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow inputflinger system_server:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow system_server inputflinger:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow inputflinger system_server:fd use;
+#line 8
+
+
+
+#line 10
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 10
+# deprecated.
+#line 10
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 10
+allow inputflinger sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 10
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 10
+allow inputflinger self:{ capability2 cap2_userns } block_suspend;
+#line 10
+# system_suspend permissions
+#line 10
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow inputflinger system_suspend_server:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow system_suspend_server inputflinger:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow inputflinger system_suspend_server:fd use;
+#line 10
+
+#line 10
+allow inputflinger system_suspend_hwservice:hwservice_manager find;
+#line 10
+# halclientdomain permissions
+#line 10
+
+#line 10
+# Call the hwservicemanager and transfer references to it.
+#line 10
+allow inputflinger hwservicemanager:binder { call transfer };
+#line 10
+# Allow hwservicemanager to send out callbacks
+#line 10
+allow hwservicemanager inputflinger:binder { call transfer };
+#line 10
+# hwservicemanager performs getpidcon on clients.
+#line 10
+allow hwservicemanager inputflinger:dir search;
+#line 10
+allow hwservicemanager inputflinger:file { read open map };
+#line 10
+allow hwservicemanager inputflinger:process getattr;
+#line 10
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 10
+# all domains in domain.te.
+#line 10
+
+#line 10
+
+#line 10
+allow inputflinger hwservicemanager_prop:file { getattr open read map };
+#line 10
+
+#line 10
+allow inputflinger hidl_manager_hwservice:hwservice_manager find;
+#line 10
+# AIDL suspend hal permissions
+#line 10
+allow inputflinger hal_system_suspend_service:service_manager find;
+#line 10
+
+#line 10
+# Call the servicemanager and transfer references to it.
+#line 10
+allow inputflinger servicemanager:binder { call transfer };
+#line 10
+# Allow servicemanager to send out callbacks
+#line 10
+allow servicemanager inputflinger:binder { call transfer };
+#line 10
+# servicemanager performs getpidcon on clients.
+#line 10
+allow servicemanager inputflinger:dir search;
+#line 10
+allow servicemanager inputflinger:file { read open };
+#line 10
+allow servicemanager inputflinger:process getattr;
+#line 10
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 10
+# all domains in domain.te.
+#line 10
+
+#line 10
+
+
+allow inputflinger input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow inputflinger input_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+
+#line 15
+allow inputflinger cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow inputflinger cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 15
+
+
+#line 16
+allow inputflinger cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow inputflinger cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 16
+
+#line 1 "system/sepolicy/private/installd.te"
+typeattribute installd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init installd_exec:file { getattr open read execute map };
+#line 3
+allow init installd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow installd installd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init installd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init installd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init installd_exec:process installd;
+#line 3
+
+#line 3
+
+
+# Run migrate_legacy_obb_data.sh in its own sandbox.
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow installd migrate_legacy_obb_data_exec:file { getattr open read execute map };
+#line 6
+allow installd migrate_legacy_obb_data:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow migrate_legacy_obb_data migrate_legacy_obb_data_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+allow migrate_legacy_obb_data installd:process sigchld;
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit installd migrate_legacy_obb_data:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow installd migrate_legacy_obb_data:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition installd migrate_legacy_obb_data_exec:process migrate_legacy_obb_data;
+#line 6
+
+allow installd shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Run dex2oat in its own sandbox.
+
+#line 10
+# Allow the necessary permissions.
+#line 10
+
+#line 10
+# Old domain may exec the file and transition to the new domain.
+#line 10
+allow installd dex2oat_exec:file { getattr open read execute map };
+#line 10
+allow installd dex2oat:process transition;
+#line 10
+# New domain is entered by executing the file.
+#line 10
+allow dex2oat dex2oat_exec:file { entrypoint open read execute getattr map };
+#line 10
+# New domain can send SIGCHLD to its caller.
+#line 10
+allow dex2oat installd:process sigchld;
+#line 10
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 10
+dontaudit installd dex2oat:process noatsecure;
+#line 10
+# XXX dontaudit candidate but requires further study.
+#line 10
+allow installd dex2oat:process { siginh rlimitinh };
+#line 10
+
+#line 10
+# Make the transition occur by default.
+#line 10
+type_transition installd dex2oat_exec:process dex2oat;
+#line 10
+
+
+# Run profman in its own sandbox.
+
+#line 13
+# Allow the necessary permissions.
+#line 13
+
+#line 13
+# Old domain may exec the file and transition to the new domain.
+#line 13
+allow installd profman_exec:file { getattr open read execute map };
+#line 13
+allow installd profman:process transition;
+#line 13
+# New domain is entered by executing the file.
+#line 13
+allow profman profman_exec:file { entrypoint open read execute getattr map };
+#line 13
+# New domain can send SIGCHLD to its caller.
+#line 13
+allow profman installd:process sigchld;
+#line 13
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 13
+dontaudit installd profman:process noatsecure;
+#line 13
+# XXX dontaudit candidate but requires further study.
+#line 13
+allow installd profman:process { siginh rlimitinh };
+#line 13
+
+#line 13
+# Make the transition occur by default.
+#line 13
+type_transition installd profman_exec:process profman;
+#line 13
+
+
+# Run idmap in its own sandbox.
+
+#line 16
+# Allow the necessary permissions.
+#line 16
+
+#line 16
+# Old domain may exec the file and transition to the new domain.
+#line 16
+allow installd idmap_exec:file { getattr open read execute map };
+#line 16
+allow installd idmap:process transition;
+#line 16
+# New domain is entered by executing the file.
+#line 16
+allow idmap idmap_exec:file { entrypoint open read execute getattr map };
+#line 16
+# New domain can send SIGCHLD to its caller.
+#line 16
+allow idmap installd:process sigchld;
+#line 16
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 16
+dontaudit installd idmap:process noatsecure;
+#line 16
+# XXX dontaudit candidate but requires further study.
+#line 16
+allow installd idmap:process { siginh rlimitinh };
+#line 16
+
+#line 16
+# Make the transition occur by default.
+#line 16
+type_transition installd idmap_exec:process idmap;
+#line 16
+
+
+# For collecting bugreports.
+allow installd dumpstate:fd use;
+allow installd dumpstate:fifo_file { getattr open read ioctl lock map watch watch_reads };
+
+# Delete /system/bin/bcc generated artifacts
+allow installd app_exec_data_file:file unlink;
+
+# Capture userdata snapshots to /data/misc_[ce|de]/rollback and
+# subsequently restore them.
+allow installd rollback_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd rollback_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow installd to access the runtime feature flag properties.
+
+#line 31
+allow installd device_config_runtime_native_prop:file { getattr open read map };
+#line 31
+
+
+#line 32
+allow installd device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 32
+
+
+# Allow installd to access apk verity feature flag (for legacy case).
+
+#line 35
+allow installd apk_verity_prop:file { getattr open read map };
+#line 35
+
+
+# Allow installd to access odsign verification status
+
+#line 38
+allow installd odsign_prop:file { getattr open read map };
+#line 38
+
+
+# Allow installd to delete files in /data/staging
+allow installd staging_data_file:file unlink;
+allow installd staging_data_file:dir { open read add_name remove_name rename rmdir search write getattr };
+
+# Allow installd manage dirs in /data/misc_ce/0/sdksandbox
+allow installd sdk_sandbox_system_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+
+# Allow installd to enable fs-verity for app file passed as FD;
+allow installd { untrusted_app_all priv_app gmscore_app }:fd use;
+allowxperm installd app_data_file_type:file ioctl 0x6685;
+
+typeattribute installd mlstrustedsubject;
+allow installd self:{ capability cap_userns } { chown dac_override dac_read_search fowner fsetid setgid setuid sys_admin kill };
+
+# Allow labeling of files under /data/app/com.example/oat/
+allow installd dalvikcache_data_file:dir relabelto;
+allow installd dalvikcache_data_file:file { relabelto link };
+
+# Allow movement of APK files between volumes
+allow installd apk_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow installd apk_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom link };
+allow installd apk_data_file:lnk_file { create { getattr open read ioctl lock map watch watch_reads } unlink };
+
+allow installd asec_apk_file:file { getattr open read ioctl lock map watch watch_reads };
+allow installd apk_tmp_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+allow installd apk_tmp_file:dir { relabelfrom { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } };
+allow installd oemfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow installd oemfs:file { getattr open read ioctl lock map watch watch_reads };
+allow installd cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd mnt_expand_file:dir { search getattr };
+# Check validity of SELinux context before use.
+
+#line 72
+
+#line 72
+allow installd selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 72
+allow installd selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 72
+
+#line 72
+allow installd selinuxfs:file { open append write lock map };
+#line 72
+allow installd kernel:security check_context;
+#line 72
+
+
+
+#line 74
+allow installd rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 74
+allow installd rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 74
+
+# Scan through APKs in /system/app and /system/priv-app
+
+#line 76
+allow installd system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 76
+allow installd system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 76
+
+# Scan through APKs in /vendor/app
+
+#line 78
+allow installd vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 78
+allow installd vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 78
+
+# Scan through JARs in /vendor/framework
+
+#line 80
+allow installd vendor_framework_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 80
+allow installd vendor_framework_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 80
+
+# Scan through Runtime Resource Overlay APKs in /vendor/overlay
+
+#line 82
+allow installd vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow installd vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 82
+
+# Vendor overlay can be found in vendor apex
+allow installd vendor_apex_metadata_file:dir { getattr search };
+# Get file context
+allow installd file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+# Get seapp_context
+allow installd seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Search /data/app-asec and stat files in it.
+allow installd asec_image_file:dir search;
+allow installd asec_image_file:file getattr;
+
+# Required to initially create subdirectories of /data/user/$userId
+# and lib symlinks before the setfilecon call.  May want to
+# move symlink creation after setfilecon in installd.
+allow installd system_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+# Also, allow read for lnk_file so that we can process symlinks within
+# /data/user/$userId when optimizing application code.
+allow installd system_data_file:lnk_file { create getattr read setattr unlink };
+
+# Manage lower filesystem via pass_through mounts
+allow installd mnt_pass_through_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Upgrade /data/media for multi-user if necessary.
+allow installd media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd media_rw_data_file:file { getattr unlink };
+# restorecon new /data/media directory.
+allow installd system_data_file:dir relabelfrom;
+allow installd media_rw_data_file:dir relabelto;
+
+# Delete /data/media files through sdcardfs, instead of going behind its back
+allow installd media_userdir_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow installd tmpfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow installd storage_file:dir search;
+allow installd { sdcard_type fuse }:dir { search open read write remove_name getattr rmdir };
+allow installd { sdcard_type fuse }:file { getattr unlink };
+
+# Create app's mirror data directory in /data_mirror, and bind mount the real directory to it
+allow installd mirror_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+
+# Upgrade /data/misc/keychain for multi-user if necessary.
+allow installd system_userdir_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow installd misc_user_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd misc_user_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow installd keychain_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd keychain_data_file:file {{ getattr open read ioctl lock map watch watch_reads } unlink};
+
+# Create /data/misc/installd/layout_version.* file
+allow installd install_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow installd install_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Create files under /data/dalvik-cache.
+allow installd dalvikcache_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow installd dalvikcache_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow installd dalvikcache_data_file:lnk_file getattr;
+
+# Create files under /data/resource-cache.
+allow installd resourcecache_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow installd resourcecache_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Upgrade from unlabeled userdata.
+# Just need enough to remove and/or relabel it.
+allow installd unlabeled:dir { getattr search relabelfrom { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } rmdir };
+allow installd unlabeled:{ file lnk_file sock_file fifo_file } { getattr relabelfrom rename unlink setattr };
+# Read pkg.apk file for input during dexopt.
+allow installd unlabeled:file { getattr open read ioctl lock map watch watch_reads };
+
+# Upgrade from before system_app_data_file was used for system UID apps.
+# Just need enough to relabel it and to unlink removed package files.
+# Directory access covered by earlier rule above.
+allow installd system_data_file:{ file lnk_file sock_file fifo_file } { getattr relabelfrom unlink };
+
+# Manage /data/data subdirectories, including initially labeling them
+# upon creation via setfilecon or running restorecon_recursive,
+# setting owner/mode, creating symlinks within them, and deleting them
+# upon package uninstall.
+allow installd app_data_file_type:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom relabelto };
+allow installd app_data_file_type:{ file lnk_file sock_file fifo_file } { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom relabelto };
+
+# Allow setting extended attributes (for project quota IDs) on dirs and files
+# and to enable project ID inheritance through FS_IOC_SETFLAGS
+# Added install_data_file to be able to create file under /data/misc/installd/ioctl_check
+allowxperm installd { app_data_file_type system_data_file install_data_file}:{ dir file } ioctl {
+  0x801c581f
+  0x401c5820
+  0x80086601
+  0x40086602
+};
+
+# Similar for the files under /data/misc/profiles/
+allow installd user_profile_root_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow installd user_profile_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow installd user_profile_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow installd user_profile_data_file:file unlink;
+
+# Allow zygote to unmount mirror directories
+allow installd labeledfs:filesystem unmount;
+
+# Files created/updated by profman dumps.
+allow installd profman_dump_data_file:dir { search add_name write };
+allow installd profman_dump_data_file:file { create setattr open write };
+
+# Create and use pty created by android_fork_execvp().
+allow installd devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# execute toybox for app relocation
+allow installd toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow installd to publish a binder service and make binder calls.
+
+#line 191
+# Call the servicemanager and transfer references to it.
+#line 191
+allow installd servicemanager:binder { call transfer };
+#line 191
+# Allow servicemanager to send out callbacks
+#line 191
+allow servicemanager installd:binder { call transfer };
+#line 191
+# servicemanager performs getpidcon on clients.
+#line 191
+allow servicemanager installd:dir search;
+#line 191
+allow servicemanager installd:file { read open };
+#line 191
+allow servicemanager installd:process getattr;
+#line 191
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 191
+# all domains in domain.te.
+#line 191
+
+
+#line 192
+  allow installd installd_service:service_manager { add find };
+#line 192
+  neverallow { domain -installd } installd_service:service_manager add;
+#line 192
+
+#line 192
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 192
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 192
+  
+#line 192
+
+allow installd dumpstate:fifo_file  { getattr write };
+
+# Allow installd to call into the system server so it can check permissions.
+
+#line 196
+# Call the server domain and optionally transfer references to it.
+#line 196
+allow installd system_server:binder { call transfer };
+#line 196
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 196
+allow system_server installd:binder transfer;
+#line 196
+# Receive and use open files from the server.
+#line 196
+allow installd system_server:fd use;
+#line 196
+
+allow installd permission_service:service_manager find;
+
+# Allow installd to read and write quotas
+allow installd block_device:dir { search };
+allow installd labeledfs:filesystem { quotaget quotamod };
+
+# Allow installd to delete from /data/preloads when trimming data caches
+# TODO b/34690396 Remove when time-based purge policy for preloads is implemented in system_server
+allow installd preloads_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+allow installd preloads_data_file:dir { { open getattr read search ioctl lock watch watch_reads } write remove_name rmdir };
+allow installd preloads_media_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+allow installd preloads_media_file:dir { { open getattr read search ioctl lock watch watch_reads } write remove_name rmdir };
+
+# Allow installd to read /proc/filesystems
+allow installd proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+#add for move app to sd card
+
+#line 214
+allow installd storage_config_prop:file { getattr open read map };
+#line 214
+
+
+# Allow installd to access apps installed on the Incremental File System
+# Accessing files on the Incremental File System uses fds opened in the context of vold.
+allow installd vold:fd use;
+
+# on app uninstall, installd deletes the storage area keys for the app
+
+#line 221
+  allow installd storage_area_key_file:dir {
+#line 221
+    open search write remove_name
+#line 221
+    lock read getattr rmdir
+#line 221
+  };
+#line 221
+  allow installd storage_area_key_file:file unlink;
+#line 227
+
+
+# Allow installd to delete the terminal app's data file.
+# `virtualizationservice_data_file` was used for a while, but it needs to be
+# deleted when terminal feature is disabled.
+# TODO(b/383026786): Remove this rule once the there is no
+# `virtualizationservice_data_file` in terminal app anymore..
+allow installd virtualizationservice_data_file:file unlink;
+
+###
+### Neverallow rules
+###
+
+# only system_server, installd, dumpstate, and servicemanager may interact with installd over binder
+neverallow { domain -system_server -dumpstate -installd } installd_service:service_manager find;
+neverallow { domain -system_server -dumpstate -servicemanager } installd:binder call;
+neverallow installd {
+    domain
+    -system_server
+    -servicemanager
+    
+}:binder call;
+#line 1 "system/sepolicy/private/isolated_app.te"
+###
+### isolated_apps.
+###
+### This file defines the rules for isolated apps that does not wish to use
+### service managers and does not require extra computational resources.
+###
+
+typeattribute isolated_app coredomain;
+
+
+#line 10
+typeattribute isolated_app appdomain;
+#line 10
+# Label tmpfs objects for all apps.
+#line 10
+type_transition isolated_app tmpfs:file appdomain_tmpfs;
+#line 10
+
+#line 10
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 10
+type isolated_app_userfaultfd;
+#line 10
+type_transition isolated_app isolated_app:anon_inode isolated_app_userfaultfd "[userfaultfd]";
+#line 10
+# Allow domain to create/use userfaultfd anon_inode.
+#line 10
+allow isolated_app isolated_app_userfaultfd:anon_inode { create ioctl read };
+#line 10
+# Suppress errors generate during bugreport
+#line 10
+dontaudit su isolated_app_userfaultfd:anon_inode *;
+#line 10
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 10
+neverallow { domain -isolated_app } isolated_app_userfaultfd:anon_inode *;
+#line 10
+
+#line 10
+allow isolated_app appdomain_tmpfs:file { execute getattr map read write };
+#line 10
+neverallow { isolated_app -runas_app -shell -simpleperf } { domain -isolated_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 10
+neverallow { appdomain -runas_app -shell -simpleperf -isolated_app } isolated_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 10
+# The Android security model guarantees the confidentiality and integrity
+#line 10
+# of application data and execution state. Ptrace bypasses those
+#line 10
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 10
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 10
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 10
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 10
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 10
+# live lock conditions.
+#line 10
+neverallow { domain -isolated_app -crash_dump  -runas_app -simpleperf } isolated_app:process ptrace;
+#line 10
+
+
+#line 11
+typeattribute isolated_app isolated_app_all;
+#line 11
+
+
+allow isolated_app webviewupdate_service:service_manager find;
+
+# Allow access to network sockets received over IPC. New socket creation is not
+# permitted.
+allow isolated_app { ephemeral_app priv_app untrusted_app_all }:{ tcp_socket udp_socket } { { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# b/32896414: Allow accessing sdcard file descriptors passed to isolated_apps
+# by other processes. Open should never be allowed, and is blocked by
+# neverallow rules in isolated_app_all attribute.
+# media_rw_data_file is included for sdcardfs, and can be removed if sdcardfs
+# is modified to change the secontext when accessing the lower filesystem.
+allow isolated_app { sdcard_type fuse media_rw_data_file }:file { read write append getattr lock map };
+
+# For webviews, isolated_app processes can be forked from the webview_zygote
+# in addition to the zygote. Allow access to resources inherited from the
+# webview_zygote process. These rules are specialized copies of the ones in app.te.
+# Inherit FDs from the webview_zygote.
+allow isolated_app webview_zygote:fd use;
+# Notify webview_zygote of child death.
+allow isolated_app webview_zygote:process sigchld;
+# Inherit logd write socket.
+allow isolated_app webview_zygote:unix_dgram_socket write;
+# Read system properties managed by webview_zygote.
+allow isolated_app webview_zygote_tmpfs:file read;
+#line 1 "system/sepolicy/private/isolated_app_all.te"
+###
+### isolated_app_all.
+###
+### Services with isolatedProcess=true in their manifest.
+###
+### This file defines the rules shared by all isolated apps. An "isolated
+### app" is an APP with UID between AID_ISOLATED_START (99000)
+### and AID_ISOLATED_END (99999).
+###
+
+# Access already open app data files received over Binder or local socket IPC.
+allow isolated_app_all { app_data_file privapp_data_file sdk_sandbox_data_file}:file { append read write getattr lock map };
+
+allow isolated_app_all activity_service:service_manager find;
+allow isolated_app_all display_service:service_manager find;
+
+# Google Breakpad (crash reporter for Chrome) relies on ptrace
+# functionality. Without the ability to ptrace, the crash reporter
+# tool is broken.
+# b/20150694
+# https://code.google.com/p/chromium/issues/detail?id=475270
+allow isolated_app_all self:process ptrace;
+
+# Inherit FDs from the app_zygote.
+allow isolated_app_all app_zygote:fd use;
+# Notify app_zygote of child death.
+allow isolated_app_all app_zygote:process sigchld;
+# Inherit logd write socket.
+allow isolated_app_all app_zygote:unix_dgram_socket write;
+
+# TODO (b/63631799) fix this access
+# suppress denials to /data/local/tmp
+dontaudit isolated_app_all shell_data_file:dir search;
+
+# Allow to read, map (but not open) staged apks.
+allow isolated_app_all { apk_tmp_file apk_private_tmp_file }:file { read getattr map };
+
+#####
+##### Neverallow
+#####
+
+# Isolated apps should not directly open app data files themselves.
+neverallow isolated_app_all app_data_file_type:file open;
+
+# Only allow appending to /data/anr/traces.txt (b/27853304, b/18340553)
+# TODO: are there situations where isolated_apps write to this file?
+# TODO: should we tighten these restrictions further?
+neverallow isolated_app_all anr_data_file:file ~{ open append };
+neverallow isolated_app_all anr_data_file:dir ~search;
+
+# Isolated apps must not be permitted to use HwBinder
+neverallow { isolated_app_all -isolated_compute_app } hwbinder_device:chr_file *;
+neverallow { isolated_app_all -isolated_compute_app } *:hwservice_manager *;
+
+# Isolated apps must not be permitted to use VndBinder
+neverallow isolated_app_all vndbinder_device:chr_file *;
+
+# Isolated apps must not be permitted to perform actions on Binder and VndBinder service_manager
+# except the find actions for services allowlisted below.
+neverallow { isolated_app_all -isolated_compute_app } *:service_manager ~find;
+
+# b/17487348
+# Isolated apps can only access three services,
+# activity_service, display_service, webviewupdate_service.
+neverallow { isolated_app_all -isolated_compute_app } {
+    service_manager_type
+    -activity_service
+    -display_service
+    -webviewupdate_service
+}:service_manager find;
+
+# Isolated apps shouldn't be able to access the driver directly.
+neverallow { isolated_app_all -isolated_compute_app } gpu_device:chr_file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } execute };
+
+# Do not allow isolated_apps access to /cache
+neverallow isolated_app_all cache_file:dir ~{ { open getattr read search ioctl lock watch watch_reads } };
+neverallow isolated_app_all cache_file:file ~{ read getattr };
+
+# Do not allow isolated_app_all to access external storage, except for files passed
+# via file descriptors (b/32896414).
+neverallow isolated_app_all { storage_file mnt_user_file sdcard_type fuse }:dir ~getattr;
+neverallow isolated_app_all { storage_file mnt_user_file }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } *;
+neverallow isolated_app_all { sdcard_type fuse }:{ { chr_file blk_file } lnk_file sock_file fifo_file } *;
+neverallow isolated_app_all { sdcard_type fuse }:file ~{ read write append getattr lock map };
+
+# Do not allow USB access
+neverallow isolated_app_all { usb_device usbaccessory_device }:chr_file *;
+
+# Restrict the webview_zygote control socket.
+neverallow isolated_app_all webview_zygote:sock_file write;
+
+# Limit the /sys files which isolated_app_all can access. This is important
+# for controlling isolated_app_all attack surface.
+# TODO (b/266555480): The permission should be guarded by compliance test.
+# Remove the negation for member domains when refactorization is done.
+neverallow { isolated_app_all -isolated_compute_app } {
+  sysfs_type
+  -sysfs_devices_system_cpu
+  -sysfs_transparent_hugepage
+  -sysfs_usb # TODO: check with audio team if needed for isolated_apps (b/28417852)
+  -sysfs_fs_fuse_features
+  -sysfs_fs_incfs_features
+  -sysfs_pgsize_migration
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# No creation of sockets families other than AF_UNIX sockets.
+# List taken from system/sepolicy/public/global_macros - socket_class_set
+# excluding unix_stream_socket and unix_dgram_socket.
+# Many of these are socket families which have never and will never
+# be compiled into the Android kernel.
+neverallow isolated_app_all { self ephemeral_app priv_app sdk_sandbox_all untrusted_app_all }:{
+  socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket
+  key_socket appletalk_socket netlink_route_socket
+  netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket
+  netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket
+  netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket
+  netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket
+  netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket
+  netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket
+  netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket
+  rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket
+  ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket
+  qipcrtr_socket smc_socket xdp_socket
+} create;
+#line 1 "system/sepolicy/private/isolated_compute_app.te"
+###
+### isolated_compute_apps.
+###
+### This file defines the rules for isolated apps that requires the permission
+### to gather data with service manager and require computational resources to
+### improve the performance to process data under a sandbox. This
+### isolated_compute_app restricts data egress to protect the privacy.
+###
+### TODO(b/266923392): Clean rules for isolated_compute_app characteristics
+###
+
+typeattribute isolated_compute_app coredomain;
+
+
+#line 14
+typeattribute isolated_compute_app appdomain;
+#line 14
+# Label tmpfs objects for all apps.
+#line 14
+type_transition isolated_compute_app tmpfs:file appdomain_tmpfs;
+#line 14
+
+#line 14
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 14
+type isolated_compute_app_userfaultfd;
+#line 14
+type_transition isolated_compute_app isolated_compute_app:anon_inode isolated_compute_app_userfaultfd "[userfaultfd]";
+#line 14
+# Allow domain to create/use userfaultfd anon_inode.
+#line 14
+allow isolated_compute_app isolated_compute_app_userfaultfd:anon_inode { create ioctl read };
+#line 14
+# Suppress errors generate during bugreport
+#line 14
+dontaudit su isolated_compute_app_userfaultfd:anon_inode *;
+#line 14
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 14
+neverallow { domain -isolated_compute_app } isolated_compute_app_userfaultfd:anon_inode *;
+#line 14
+
+#line 14
+allow isolated_compute_app appdomain_tmpfs:file { execute getattr map read write };
+#line 14
+neverallow { isolated_compute_app -runas_app -shell -simpleperf } { domain -isolated_compute_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 14
+neverallow { appdomain -runas_app -shell -simpleperf -isolated_compute_app } isolated_compute_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 14
+# The Android security model guarantees the confidentiality and integrity
+#line 14
+# of application data and execution state. Ptrace bypasses those
+#line 14
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 14
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 14
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 14
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 14
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 14
+# live lock conditions.
+#line 14
+neverallow { domain -isolated_compute_app -crash_dump  -runas_app -simpleperf } isolated_compute_app:process ptrace;
+#line 14
+
+
+#line 15
+typeattribute isolated_compute_app isolated_app_all;
+#line 15
+
+
+allow isolated_compute_app isolated_compute_allowed_service:service_manager find;
+allow isolated_compute_app isolated_compute_allowed_device:chr_file { read write ioctl map };
+
+# Enable access to hardware services for camera functionalilites
+
+#line 21
+typeattribute isolated_compute_app halclientdomain;
+#line 21
+typeattribute isolated_compute_app hal_allocator_client;
+#line 21
+
+#line 21
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 21
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 21
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 21
+
+#line 21
+typeattribute isolated_compute_app hal_allocator;
+#line 21
+# Find passthrough HAL implementations
+#line 21
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 21
+
+#line 21
+
+
+#line 22
+# Call the hwservicemanager and transfer references to it.
+#line 22
+allow isolated_compute_app hwservicemanager:binder { call transfer };
+#line 22
+# Allow hwservicemanager to send out callbacks
+#line 22
+allow hwservicemanager isolated_compute_app:binder { call transfer };
+#line 22
+# hwservicemanager performs getpidcon on clients.
+#line 22
+allow hwservicemanager isolated_compute_app:dir search;
+#line 22
+allow hwservicemanager isolated_compute_app:file { read open map };
+#line 22
+allow hwservicemanager isolated_compute_app:process getattr;
+#line 22
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 22
+# all domains in domain.te.
+#line 22
+
+
+
+#line 24
+typeattribute isolated_compute_app halclientdomain;
+#line 24
+typeattribute isolated_compute_app hal_codec2_client;
+#line 24
+
+#line 24
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 24
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 24
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 24
+
+#line 24
+typeattribute isolated_compute_app hal_codec2;
+#line 24
+# Find passthrough HAL implementations
+#line 24
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 24
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 24
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 24
+
+#line 24
+
+
+allow isolated_compute_app dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow access to network sockets received over IPC. New socket creation is not
+# permitted.
+allow isolated_compute_app { ephemeral_app priv_app untrusted_app_all }:{ tcp_socket udp_socket } { { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Allow access to the toybox: b/275024392
+allow isolated_compute_app toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Grant GPU access to isolated_compute_app as it is required for acceleration.
+allow isolated_compute_app gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow isolated_compute_app gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow isolated_compute_app sysfs_gpu:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#####
+##### Neverallow
+#####
+
+# Do not allow isolated_compute_app to access hardware service except for the
+# ones necessary for camera service.
+# TODO (b/266555480): The permission should be guarded by compliance test.
+# Remove the negation for member domains when refactorization is done.
+# neverallow isolated_compute_app {
+# hwservice_manager_type
+#  -hal_graphics_allocator_hwservice
+#  -hal_graphics_mapper_hwservice
+#  -hidl_allocator_hwservice
+#  -hidl_manager_hwservice
+#  -hidl_memory_hwservice
+# }:hwservice_manager *;
+#line 1 "system/sepolicy/private/iw.te"
+type iw, domain, coredomain;
+type iw_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init iw_exec:file { getattr open read execute map };
+#line 4
+allow init iw:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow iw iw_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init iw:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init iw:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init iw_exec:process iw;
+#line 4
+
+#line 4
+
+#line 1 "system/sepolicy/private/kcmdlinectrl.te"
+# kcmdlinectrl is a tool to have the bootloader send kernel commandline flags
+# for enabling dogfood features in the kernel
+type kcmdlinectrl, domain, coredomain;
+type kcmdlinectrl_exec, system_file_type, exec_type, file_type;
+
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init kcmdlinectrl_exec:file { getattr open read execute map };
+#line 6
+allow init kcmdlinectrl:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow kcmdlinectrl kcmdlinectrl_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init kcmdlinectrl:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init kcmdlinectrl:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init kcmdlinectrl_exec:process kcmdlinectrl;
+#line 6
+
+#line 6
+
+
+# for setting kcmdline properties to match the bootloader state.
+
+#line 9
+
+#line 9
+allow kcmdlinectrl property_socket:sock_file write;
+#line 9
+allow kcmdlinectrl init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow kcmdlinectrl kcmdline_prop:property_service set;
+#line 9
+
+#line 9
+allow kcmdlinectrl kcmdline_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+# kcmdlinectrl communicates the request to the bootloader via the misc partition.
+# needs to write to update the request in misc partition, and read to sync
+# back to the property.
+allow kcmdlinectrl misc_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow kcmdlinectrl block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 16
+  allow kcmdlinectrl { metadata_file gsi_metadata_file_type }:dir search;
+#line 16
+  allow kcmdlinectrl gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 16
+  allow kcmdlinectrl { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 16
+
+
+# bootloader_message tries to find the fstab in the device config path first,
+# but because we've already booted up we can use the ro.boot properties instead,
+# so we can just ignore the SELinux denial.
+dontaudit kcmdlinectrl sysfs_dt_firmware_android:dir search;
+dontaudit kcmdlinectrl vendor_property_type:file read;
+#line 1 "system/sepolicy/private/kernel.te"
+typeattribute kernel coredomain;
+
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow kernel init_exec:file { getattr open read execute map };
+#line 3
+allow kernel init:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow init init_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+allow init kernel:process sigchld;
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit kernel init:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow kernel init:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition kernel init_exec:process init;
+#line 3
+
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow kernel snapuserd_exec:file { getattr open read execute map };
+#line 4
+allow kernel snapuserd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow snapuserd snapuserd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+allow snapuserd kernel:process sigchld;
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit kernel snapuserd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow kernel snapuserd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition kernel snapuserd_exec:process snapuserd;
+#line 4
+
+#line 7
+
+
+# Allow the kernel to read otapreopt_chroot's file descriptors and files under
+# /postinstall, as it uses apexd logic to mount APEX packages in /postinstall/apex.
+allow kernel otapreopt_chroot:fd use;
+allow kernel postinstall_file:file read;
+
+# The following sections are for the transition period during a Virtual A/B
+# OTA. Once sepolicy is loaded, snapuserd must be re-launched in the correct
+# context, and with properly labelled devices. This must be done before
+# enabling enforcement, eg, in permissive mode while still in the kernel
+# context.
+allow kernel tmpfs:blk_file { getattr relabelfrom };
+allow kernel tmpfs:chr_file { getattr relabelfrom };
+allow kernel tmpfs:lnk_file { getattr relabelfrom };
+allow kernel tmpfs:dir { open read relabelfrom };
+
+allow kernel block_device:blk_file relabelto;
+allow kernel block_device:lnk_file relabelto;
+allow kernel dm_device:chr_file relabelto;
+allow kernel dm_device:blk_file relabelto;
+allow kernel dm_user_device:dir { read open search relabelto };
+allow kernel dm_user_device:chr_file relabelto;
+allow kernel kmsg_device:chr_file relabelto;
+allow kernel null_device:chr_file relabelto;
+allow kernel random_device:chr_file relabelto;
+allow kernel snapuserd_exec:file relabelto;
+
+allow kernel kmsg_device:chr_file write;
+allow kernel gsid:fd use;
+
+allow kernel self:{ capability cap_userns } sys_nice;
+
+# Root fs.
+
+#line 41
+allow kernel rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow kernel rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 41
+
+
+# Used to read androidboot.selinux property
+allow kernel {
+  proc_bootconfig
+  proc_cmdline
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Get SELinux enforcing status.
+allow kernel selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow kernel selinuxfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# Get file contexts during first stage
+allow kernel file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow init relabel itself.
+allow kernel rootfs:file relabelfrom;
+allow kernel init_exec:file relabelto;
+# TODO: investigate why we need this.
+allow kernel init:process share;
+
+# cgroup filesystem initialization prior to setting the cgroup root directory label.
+allow kernel unlabeled:dir search;
+
+# Mount usbfs.
+allow kernel usbfs:filesystem mount;
+allow kernel usbfs:dir search;
+
+# Initial setenforce by init prior to switching to init domain.
+# We use dontaudit instead of allow to prevent a kernel spawned userspace
+# process from turning off SELinux once enabled.
+dontaudit kernel self:security setenforce;
+
+# Write to /proc/1/oom_adj prior to switching to init domain.
+allow kernel self:{ capability cap_userns } sys_resource;
+
+# Init reboot before switching selinux domains under certain error
+# conditions. Allow it.
+# As part of rebooting, init writes "u" to /proc/sysrq-trigger to
+# remount filesystems read-only. /data is not mounted at this point,
+# so we could ignore this. For now, we allow it.
+allow kernel self:{ capability cap_userns } sys_boot;
+allow kernel proc_sysrq:file { open append write lock map };
+
+# Allow writing to /dev/kmsg which was created prior to loading policy.
+allow kernel tmpfs:chr_file write;
+
+# Set checkreqprot by init.rc prior to switching to init domain.
+allow kernel selinuxfs:file write;
+allow kernel self:security setcheckreqprot;
+
+# kernel thread "loop0", used by the loop block device, for ASECs (b/17158723)
+allow kernel { sdcard_type fuse }:file { read write };
+
+# f_mtp driver accesses files from kernel context.
+allow kernel mediaprovider:fd use;
+
+# Allow the kernel to read OBB files from app directories. (b/17428116)
+# Kernel thread "loop0" reads a vold supplied file descriptor.
+# Fixes CTS tests:
+#  * android.os.storage.cts.StorageManagerTest#testMountAndUnmountObbNormal
+#  * android.os.storage.cts.StorageManagerTest#testMountAndUnmountTwoObbs
+allow kernel vold:fd use;
+allow kernel { app_data_file privapp_data_file }:file read;
+allow kernel asec_image_file:file read;
+
+# Allow mounting loop device in update_engine_unittests. (b/28319454)
+# and for LTP kernel tests (b/73220071)
+#line 112
+
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow kernel media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow kernel media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access to /data/misc/vold/virtual_disk.
+allow kernel vold_data_file:file { read write };
+
+# Allow the kernel to read APEX file descriptors and (staged) data files;
+# Needed because APEX uses the loopback driver, which issues requests from
+# a kernel thread in earlier kernel version.
+allow kernel apexd:fd use;
+allow kernel {
+  apex_data_file
+  staging_data_file
+  vendor_apex_file
+}:file read;
+# Also allow the kernel to read/write /data/local/tmp files via loop device
+# for ApexTestCases and fiemap_image_test.
+#line 136
+
+
+# Allow the first-stage init (which is running in the kernel domain) to execute the
+# dynamic linker when it re-executes /init to switch into the second stage.
+# Until Linux 4.8, the program interpreter (dynamic linker in this case) is executed
+# before the domain is switched to the target domain. So, we need to allow the kernel
+# domain (the source domain) to execute the dynamic linker (system_file type).
+# TODO(b/110147943) remove these allow rules when we no longer need to support Linux
+# kernel older than 4.8.
+allow kernel system_file:file execute;
+# The label for the dynamic linker is rootfs in the recovery partition. This is because
+# the recovery partition which is rootfs does not support xattr and thus labeling can't be
+# done at build-time. All files are by default labeled as rootfs upon booting.
+#line 151
+
+
+# required by VTS lidbm unit test
+allow kernel appdomain_tmpfs:file { read write };
+
+# Allow first stage init to copy and then launch overlay_remounter
+#line 163
+
+
+dontaudit kernel metadata_file:dir search;
+dontaudit kernel ota_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+dontaudit kernel sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+dontaudit kernel sysfs:file { open read write };
+dontaudit kernel sysfs:chr_file { open read write };
+dontaudit kernel dm_device:chr_file ioctl;
+dontaudit kernel self:capability { sys_admin setgid mknod };
+
+dontaudit kernel dm_user_device:dir { write add_name };
+dontaudit kernel dm_user_device:chr_file { create setattr };
+dontaudit kernel tmpfs:lnk_file read;
+dontaudit kernel tmpfs:blk_file { open read };
+
+###
+### neverallow rules
+###
+
+# The initial task starts in the kernel domain (assigned via
+# initial_sid_contexts), but nothing ever transitions to it.
+neverallow * kernel:process { transition dyntransition };
+
+# The kernel domain is never entered via an exec, nor should it
+# ever execute a program outside the rootfs without changing to another domain.
+# If you encounter an execute_no_trans denial on the kernel domain, then
+# possible causes include:
+# - The program is a kernel usermodehelper.  In this case, define a domain
+#   for the program and domain_auto_trans() to it.
+# - You are running an exploit which switched to the init task credentials
+#   and is then trying to exec a shell or other program.  You lose!
+neverallow kernel *:file { entrypoint execute_no_trans };
+
+# the kernel should not be accessing files owned by other users.
+# Instead of adding dac_{read_search,override}, fix the unix permissions
+# on files being accessed.
+neverallow kernel self:{ capability cap_userns } { dac_override dac_read_search };
+
+# Nobody should be ptracing kernel threads
+neverallow * kernel:process ptrace;
+#line 1 "system/sepolicy/private/keystore.te"
+typeattribute keystore coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init keystore_exec:file { getattr open read execute map };
+#line 3
+allow init keystore:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow keystore keystore_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init keystore:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init keystore:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init keystore_exec:process keystore;
+#line 3
+
+#line 3
+
+
+# talk to keymaster
+
+#line 6
+typeattribute keystore halclientdomain;
+#line 6
+typeattribute keystore hal_keymaster_client;
+#line 6
+
+#line 6
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 6
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 6
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 6
+
+#line 6
+typeattribute keystore hal_keymaster;
+#line 6
+# Find passthrough HAL implementations
+#line 6
+allow hal_keymaster system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_keymaster vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_keymaster vendor_file:file { read open getattr execute map };
+#line 6
+
+#line 6
+
+
+# talk to confirmationui
+
+#line 9
+typeattribute keystore halclientdomain;
+#line 9
+typeattribute keystore hal_confirmationui_client;
+#line 9
+
+#line 9
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 9
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 9
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 9
+
+#line 9
+typeattribute keystore hal_confirmationui;
+#line 9
+# Find passthrough HAL implementations
+#line 9
+allow hal_confirmationui system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_confirmationui vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_confirmationui vendor_file:file { read open getattr execute map };
+#line 9
+
+#line 9
+
+
+# talk to keymint
+
+#line 12
+typeattribute keystore halclientdomain;
+#line 12
+typeattribute keystore hal_keymint_client;
+#line 12
+
+#line 12
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 12
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 12
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 12
+
+#line 12
+typeattribute keystore hal_keymint;
+#line 12
+# Find passthrough HAL implementations
+#line 12
+allow hal_keymint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_keymint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_keymint vendor_file:file { read open getattr execute map };
+#line 12
+
+#line 12
+
+
+# This is used for the ConfirmationUI async callback.
+allow keystore platform_app:binder call;
+
+# Allow to check whether security logging is enabled.
+
+#line 18
+allow keystore device_logging_prop:file { getattr open read map };
+#line 18
+
+
+# Allow keystore to check if the system is rkp only.
+
+#line 21
+allow keystore remote_prov_prop:file { getattr open read map };
+#line 21
+
+
+# Allow keystore to check whether to post-process RKP certificates
+
+#line 24
+allow keystore remote_prov_cert_prop:file { getattr open read map };
+#line 24
+
+
+# Allow keystore to check rkpd feature flags
+
+#line 27
+allow keystore device_config_remote_key_provisioning_native_prop:file { getattr open read map };
+#line 27
+
+
+# Allow keystore to write to statsd.
+
+#line 30
+allow keystore statsdw_socket:sock_file write;
+#line 30
+allow keystore statsd:unix_dgram_socket sendto;
+#line 30
+
+
+# Keystore need access to the keystore2_key_contexts file to load the keystore key backend.
+allow keystore keystore2_key_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow keystore to listen to changing boot levels
+
+#line 36
+allow keystore keystore_listen_prop:file { getattr open read map };
+#line 36
+
+
+# Keystore needs to transfer binder references to vold so that it
+# can call keystore methods on those references.
+allow keystore vold:binder transfer;
+
+
+#line 42
+
+#line 42
+allow keystore property_socket:sock_file write;
+#line 42
+allow keystore init:unix_stream_socket connectto;
+#line 42
+
+#line 42
+allow keystore keystore_diagnostics_prop:property_service set;
+#line 42
+
+#line 42
+allow keystore keystore_diagnostics_prop:file { getattr open read map };
+#line 42
+
+#line 42
+
+
+# Allow keystore to monitor the `apexd.status` property.
+
+#line 45
+allow keystore apexd_prop:file { getattr open read map };
+#line 45
+
+
+# keystore is using apex_info via libvintf
+
+#line 48
+  allow keystore apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 48
+  allow keystore apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 48
+  
+#line 48
+allow keystore vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 48
+allow keystore vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 48
+
+#line 48
+
+
+typeattribute keystore mlstrustedsubject;
+
+#line 51
+# Call the servicemanager and transfer references to it.
+#line 51
+allow keystore servicemanager:binder { call transfer };
+#line 51
+# Allow servicemanager to send out callbacks
+#line 51
+allow servicemanager keystore:binder { call transfer };
+#line 51
+# servicemanager performs getpidcon on clients.
+#line 51
+allow servicemanager keystore:dir search;
+#line 51
+allow servicemanager keystore:file { read open };
+#line 51
+allow servicemanager keystore:process getattr;
+#line 51
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 51
+# all domains in domain.te.
+#line 51
+
+
+#line 52
+typeattribute keystore binderservicedomain;
+#line 52
+
+
+#line 53
+# Call the server domain and optionally transfer references to it.
+#line 53
+allow keystore remote_provisioning_service_server:binder { call transfer };
+#line 53
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 53
+allow remote_provisioning_service_server keystore:binder transfer;
+#line 53
+# Receive and use open files from the server.
+#line 53
+allow keystore remote_provisioning_service_server:fd use;
+#line 53
+
+
+#line 54
+# Call the server domain and optionally transfer references to it.
+#line 54
+allow keystore rkp_cert_processor:binder { call transfer };
+#line 54
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 54
+allow rkp_cert_processor keystore:binder transfer;
+#line 54
+# Receive and use open files from the server.
+#line 54
+allow keystore rkp_cert_processor:fd use;
+#line 54
+
+
+#line 55
+# Call the server domain and optionally transfer references to it.
+#line 55
+allow keystore system_server:binder { call transfer };
+#line 55
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 55
+allow system_server keystore:binder transfer;
+#line 55
+# Receive and use open files from the server.
+#line 55
+allow keystore system_server:fd use;
+#line 55
+
+
+#line 56
+# Call the server domain and optionally transfer references to it.
+#line 56
+allow keystore wificond:binder { call transfer };
+#line 56
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 56
+allow wificond keystore:binder transfer;
+#line 56
+# Receive and use open files from the server.
+#line 56
+allow keystore wificond:fd use;
+#line 56
+
+
+allow keystore keystore_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow keystore keystore_data_file:{ file lnk_file sock_file fifo_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow keystore keystore_exec:file { getattr };
+
+
+#line 62
+  allow keystore keystore_service:service_manager { add find };
+#line 62
+  neverallow { domain -keystore } keystore_service:service_manager add;
+#line 62
+
+#line 62
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 62
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 62
+  
+#line 62
+
+allow keystore sec_key_att_app_id_provider_service:service_manager find;
+allow keystore remote_provisioning_service:service_manager find;
+allow keystore rkp_cert_processor_service:service_manager find;
+
+# Allow keystore to communicate to apexd
+allow keystore apex_service:service_manager find;
+allow keystore apexd:binder call;
+
+
+#line 71
+  allow keystore apc_service:service_manager { add find };
+#line 71
+  neverallow { domain -keystore } apc_service:service_manager add;
+#line 71
+
+#line 71
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 71
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 71
+  
+#line 71
+
+
+#line 72
+  allow keystore keystore_compat_hal_service:service_manager { add find };
+#line 72
+  neverallow { domain -keystore } keystore_compat_hal_service:service_manager add;
+#line 72
+
+#line 72
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 72
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 72
+  
+#line 72
+
+
+#line 73
+  allow keystore authorization_service:service_manager { add find };
+#line 73
+  neverallow { domain -keystore } authorization_service:service_manager add;
+#line 73
+
+#line 73
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 73
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 73
+  
+#line 73
+
+
+#line 74
+  allow keystore keystore_maintenance_service:service_manager { add find };
+#line 74
+  neverallow { domain -keystore } keystore_maintenance_service:service_manager add;
+#line 74
+
+#line 74
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 74
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 74
+  
+#line 74
+
+
+#line 75
+  allow keystore keystore_metrics_service:service_manager { add find };
+#line 75
+  neverallow { domain -keystore } keystore_metrics_service:service_manager add;
+#line 75
+
+#line 75
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 75
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 75
+  
+#line 75
+
+
+#line 76
+  allow keystore legacykeystore_service:service_manager { add find };
+#line 76
+  neverallow { domain -keystore } legacykeystore_service:service_manager add;
+#line 76
+
+#line 76
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 76
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 76
+  
+#line 76
+
+
+# Check SELinux permissions.
+
+#line 79
+
+#line 79
+allow keystore selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 79
+allow keystore selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 79
+
+#line 79
+allow keystore selinuxfs:file { open append write lock map };
+#line 79
+allow keystore kernel:security compute_av;
+#line 79
+allow keystore self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 79
+
+
+
+#line 81
+allow keystore cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 81
+allow keystore cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 81
+
+
+#line 82
+allow keystore cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow keystore cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 82
+
+
+# The software KeyMint implementation used in km_compat needs
+# to read the vendor security patch level.
+
+#line 86
+allow keystore vendor_security_patch_level_prop:file { getattr open read map };
+#line 86
+;
+
+# Allow keystore to read its vendor configuration
+
+#line 89
+allow keystore keystore_config_prop:file { getattr open read map };
+#line 89
+
+
+###
+### Neverallow rules
+###
+### Protect ourself from others
+###
+
+neverallow { domain -keystore } keystore_data_file:dir ~{ open create read getattr setattr search relabelto ioctl };
+neverallow { domain -keystore } keystore_data_file:{ file lnk_file sock_file fifo_file } ~{ relabelto getattr };
+
+neverallow { domain -keystore -init } keystore_data_file:dir *;
+neverallow { domain -keystore -init } keystore_data_file:{ file lnk_file sock_file fifo_file } *;
+
+neverallow * keystore:process ptrace;
+
+# Only keystore can set keystore_diagnostics_prop system properties. Since init is allowed to set
+# any system property, an exception is added for init as well.
+neverallow { domain -keystore -init } keystore_diagnostics_prop:property_service set;
+#line 1 "system/sepolicy/private/keystore_keys.te"
+# Specify keystore2_key namespaces in this file.
+# Please keep the names in alphabetical order and comment each new entry.
+
+# A keystore2_key namespace for the shell domain. Mainly used for native tests.
+type shell_key, keystore2_key_type;
+
+# A keystore2 namespace for the su domain. Mainly used for native tests.
+type su_key, keystore2_key_type;
+
+# A keystore2 namespace for vold. Vold need special permission to handle
+# its own Keymint blobs.
+type vold_key, keystore2_key_type;
+
+# A keystore2 namespace for the on-device signing daemon.
+type odsign_key, keystore2_key_type;
+
+# A keystore2 namespace for LockSettingsService.
+type locksettings_key, keystore2_key_type;
+
+# A keystore2 namespace for resume on reboot.
+type resume_on_reboot_key, keystore2_key_type;
+
+#line 1 "system/sepolicy/private/linkerconfig.te"
+type linkerconfig, domain, coredomain;
+type linkerconfig_exec, exec_type, file_type, system_file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init linkerconfig_exec:file { getattr open read execute map };
+#line 4
+allow init linkerconfig:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow linkerconfig linkerconfig_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init linkerconfig:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init linkerconfig:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init linkerconfig_exec:process linkerconfig;
+#line 4
+
+#line 4
+
+
+## Read and write linkerconfig subdirectory.
+allow linkerconfig linkerconfig_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow linkerconfig linkerconfig_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow linkerconfig to log to the kernel.
+allow linkerconfig kmsg_device:chr_file { open append write lock map };
+
+# Allow linkerconfig to be invoked with logwrapper from init.
+allow linkerconfig devpts:chr_file { getattr ioctl read write };
+
+# Allow linkerconfig to scan for apex modules
+allow linkerconfig apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow linkerconfig to read apex-info-list.xml
+allow linkerconfig apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow linkerconfig to read apex_manifest.pb file from vendor apex
+
+#line 23
+allow linkerconfig vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 23
+allow linkerconfig vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 23
+
+
+# Allow linkerconfig to be called in the otapreopt_chroot
+allow linkerconfig otapreopt_chroot:fd use;
+allow linkerconfig postinstall_apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+allow linkerconfig postinstall_apex_mnt_dir:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow for use in Pre-reboot Dexopt.
+allow linkerconfig dexopt_chroot_setup:fd use;
+
+neverallow {
+  domain
+  -dexopt_chroot_setup
+  -init
+  -linkerconfig
+  -otapreopt_chroot
+  
+} linkerconfig_exec:file { execute execute_no_trans };
+#line 1 "system/sepolicy/private/linux_vm_setup.te"
+type linux_vm_setup, domain, coredomain;
+type linux_vm_setup_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+  
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init linux_vm_setup_exec:file { getattr open read execute map };
+#line 4
+allow init linux_vm_setup:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow linux_vm_setup linux_vm_setup_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init linux_vm_setup:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init linux_vm_setup:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init linux_vm_setup_exec:process linux_vm_setup;
+#line 4
+
+#line 4
+
+#line 6
+
+#line 1 "system/sepolicy/private/llkd.te"
+# llkd Live LocK Daemon
+typeattribute llkd coredomain;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init llkd_exec:file { getattr open read execute map };
+#line 4
+allow init llkd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow llkd llkd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init llkd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init llkd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init llkd_exec:process llkd;
+#line 4
+
+#line 4
+
+
+
+#line 6
+allow llkd llkd_prop:file { getattr open read map };
+#line 6
+
+
+allow llkd self:{ capability cap_userns } kill;
+#line 12
+
+
+# llkd optionally locks itself in memory, to prevent it from being
+# swapped out and unable to discover a kernel in live-lock state.
+allow llkd self:{ capability cap_userns } ipc_lock;
+
+# Send kill signals to _anyone_ suffering from Live Lock
+allow llkd domain:process sigkill;
+
+# read stack to check for Live Lock
+#line 33
+
+
+# live lock watchdog process allowed to look through /proc/
+allow llkd domain:dir { open getattr read search ioctl lock watch watch_reads };
+allow llkd domain:file { getattr open read ioctl lock map watch watch_reads };
+allow llkd domain:lnk_file read;
+# Set /proc/sys/kernel/hung_task_*
+allow llkd proc_hung_task:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# live lock watchdog process allowed to dump process trace and
+# reboot because orderly shutdown may not be possible.
+allow llkd proc_sysrq:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow llkd kmsg_device:chr_file { open append write lock map };
+
+### neverallow rules
+
+neverallow { domain -init } llkd:process { dyntransition transition };
+neverallow { domain  } llkd:process ptrace;
+
+# never honor LD_PRELOAD
+neverallow * llkd:process noatsecure;
+#line 1 "system/sepolicy/private/lmkd.te"
+typeattribute lmkd coredomain;
+typeattribute lmkd bpfdomain;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init lmkd_exec:file { getattr open read execute map };
+#line 4
+allow init lmkd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow lmkd lmkd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init lmkd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init lmkd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init lmkd_exec:process lmkd;
+#line 4
+
+#line 4
+
+
+# Set sys.lmk.* properties.
+
+#line 7
+
+#line 7
+allow lmkd property_socket:sock_file write;
+#line 7
+allow lmkd init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow lmkd system_lmk_prop:property_service set;
+#line 7
+
+#line 7
+allow lmkd system_lmk_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+
+# Set lmkd.* properties.
+
+#line 10
+
+#line 10
+allow lmkd property_socket:sock_file write;
+#line 10
+allow lmkd init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow lmkd lmkd_prop:property_service set;
+#line 10
+
+#line 10
+allow lmkd lmkd_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+# Get persist.device_config.lmk_native.* properties.
+
+#line 13
+allow lmkd device_config_lmkd_native_prop:file { getattr open read map };
+#line 13
+
+
+# Needed for reading tracepoint ids in order to attach bpf programs.
+allow lmkd debugfs_tracing:file { getattr open read ioctl lock map watch watch_reads };
+allow lmkd self:perf_event { cpu kernel open write };
+
+allow lmkd fs_bpf:file read;
+allow lmkd bpfloader:bpf { map_read map_write prog_run };
+
+# Needed to interact with memevents-eBPF and receive notifications for memory events
+allow lmkd fs_bpf_memevents:file { read write };
+allow lmkd fs_bpf_memevents:dir search;
+
+allow lmkd self:{ capability cap_userns } { dac_override dac_read_search sys_resource kill };
+
+# lmkd locks itself in memory, to prevent it from being
+# swapped out and unable to kill other memory hogs.
+# system/core commit b28ff9131363f7b4a698990da5748b2a88c3ed35
+# b/16236289
+allow lmkd self:{ capability cap_userns } ipc_lock;
+
+## Open and write to /proc/PID/oom_score_adj and /proc/PID/timerslack_ns
+## TODO: maybe scope this down?
+
+#line 36
+allow lmkd domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow lmkd domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 36
+
+allow lmkd domain:file write;
+
+## Writes to /sys/module/lowmemorykiller/parameters/minfree
+
+#line 40
+allow lmkd sysfs_lowmemorykiller:dir { open getattr read search ioctl lock watch watch_reads };
+#line 40
+allow lmkd sysfs_lowmemorykiller:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 40
+
+allow lmkd sysfs_lowmemorykiller:file { open append write lock map };
+
+# setsched and send kill signals to any registered process
+allow lmkd domain:process { setsched sigkill };
+# TODO: delete this line b/131761776
+allow lmkd kernel:process { setsched };
+
+# Clean up old cgroups
+allow lmkd cgroup:dir { remove_name rmdir };
+allow lmkd cgroup_v2:dir { remove_name rmdir };
+
+# Allow to read memcg stats
+allow lmkd cgroup:file { getattr open read ioctl lock map watch watch_reads };
+allow lmkd cgroup_v2:file { getattr open read ioctl lock map watch watch_reads };
+
+# Set self to SCHED_FIFO
+allow lmkd self:{ capability cap_userns } sys_nice;
+
+allow lmkd proc_zoneinfo:file { getattr open read ioctl lock map watch watch_reads };
+allow lmkd proc_vmstat:file { getattr open read ioctl lock map watch watch_reads };
+
+# live lock watchdog process allowed to look through /proc/
+allow lmkd domain:dir { search open read };
+allow lmkd domain:file { open read };
+
+# live lock watchdog process allowed to dump process trace and
+# reboot because orderly shutdown may not be possible.
+allow lmkd proc_sysrq:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read /proc/lowmemorykiller
+allow lmkd proc_lowmemorykiller:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /proc/meminfo
+allow lmkd proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /proc/pressure/cpu and /proc/pressure/io
+allow lmkd proc_pressure_cpu:file { getattr open read ioctl lock map watch watch_reads };
+allow lmkd proc_pressure_io:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read/Write /proc/pressure/memory
+allow lmkd proc_pressure_mem:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow lmkd to connect during reinit.
+allow lmkd lmkd_socket:sock_file write;
+
+# Allow lmkd to write to statsd.
+
+#line 87
+allow lmkd statsdw_socket:sock_file write;
+#line 87
+allow lmkd statsd:unix_dgram_socket sendto;
+#line 87
+
+
+### neverallow rules
+
+# never honor LD_PRELOAD
+neverallow * lmkd:process noatsecure;
+neverallow lmkd self:{ capability cap_userns } sys_ptrace;
+neverallow { domain -init -lmkd -vendor_init } lmkd_prop:property_service set;
+neverallow lmkd self:perf_event ~{ cpu kernel open write };
+#line 1 "system/sepolicy/private/logd.te"
+typeattribute logd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init logd_exec:file { getattr open read execute map };
+#line 3
+allow init logd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow logd logd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init logd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init logd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init logd_exec:process logd;
+#line 3
+
+#line 3
+
+
+# Access device logging gating property
+
+#line 6
+allow logd device_logging_prop:file { getattr open read map };
+#line 6
+
+
+# logd is not allowed to write anywhere other than /data/misc/logd, and then
+# only on userdebug or eng builds
+neverallow logd {
+  file_type
+  -runtime_event_log_tags_file
+  # shell_data_file access is needed to dump bugreports
+  -shell_data_file
+  
+  
+}:file { create write append };
+
+# protect the event-log-tags file
+neverallow {
+  domain
+  -appdomain # covered below
+  -bootstat
+  -dumpstate
+  -init
+  -logd
+  
+  -servicemanager
+  -system_server
+  -surfaceflinger
+  -zygote
+} runtime_event_log_tags_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  appdomain
+  -bluetooth
+  -platform_app
+  -priv_app
+  -radio
+  -shell
+  
+  -system_app
+} runtime_event_log_tags_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Only binder communication between logd and system_server is allowed
+
+#line 46
+# Call the servicemanager and transfer references to it.
+#line 46
+allow logd servicemanager:binder { call transfer };
+#line 46
+# Allow servicemanager to send out callbacks
+#line 46
+allow servicemanager logd:binder { call transfer };
+#line 46
+# servicemanager performs getpidcon on clients.
+#line 46
+allow servicemanager logd:dir search;
+#line 46
+allow servicemanager logd:file { read open };
+#line 46
+allow servicemanager logd:process getattr;
+#line 46
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 46
+# all domains in domain.te.
+#line 46
+
+
+#line 47
+typeattribute logd binderservicedomain;
+#line 47
+
+
+#line 48
+# Call the server domain and optionally transfer references to it.
+#line 48
+allow logd system_server:binder { call transfer };
+#line 48
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 48
+allow system_server logd:binder transfer;
+#line 48
+# Receive and use open files from the server.
+#line 48
+allow logd system_server:fd use;
+#line 48
+
+
+
+#line 50
+  allow logd logd_service:service_manager { add find };
+#line 50
+  neverallow { domain -logd } logd_service:service_manager add;
+#line 50
+
+#line 50
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 50
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 50
+  
+#line 50
+
+allow logd logcat_service:service_manager find;
+
+# Read access to pseudo filesystems.
+
+#line 54
+allow logd cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 54
+allow logd cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 54
+
+
+#line 55
+allow logd cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 55
+allow logd cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 55
+
+
+#line 56
+allow logd proc_kmsg:dir { open getattr read search ioctl lock watch watch_reads };
+#line 56
+allow logd proc_kmsg:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 56
+
+
+#line 57
+allow logd proc_meminfo:dir { open getattr read search ioctl lock watch watch_reads };
+#line 57
+allow logd proc_meminfo:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 57
+
+
+allow logd self:{ capability cap_userns } { setuid setgid setpcap sys_nice audit_control };
+allow logd self:{ capability2 cap2_userns } syslog;
+allow logd self:netlink_audit_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_write };
+allow logd kernel:system syslog_read;
+allow logd kmsg_device:chr_file { getattr { open append write lock map } };
+allow logd system_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+allow logd packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+allow logd pstorefs:dir search;
+allow logd pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+#line 72
+
+allow logd runtime_event_log_tags_file:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+
+#line 75
+allow logd domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 75
+allow logd domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 75
+
+
+allow logd kernel:system syslog_mod;
+
+
+#line 79
+# Group AID_LOG checked by filesystem & logd
+#line 79
+# to permit control commands
+#line 79
+
+#line 79
+allow logd logd_socket:sock_file write;
+#line 79
+allow logd logd:unix_stream_socket connectto;
+#line 79
+
+#line 79
+
+
+#line 80
+allow logd runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 80
+
+
+allow runtime_event_log_tags_file tmpfs:filesystem associate;
+# Typically harmlessly blindly trying to access via liblog
+# event tag mapping while in the untrusted_app domain.
+# Access for that domain is controlled and gated via the
+# event log tag service (albeit at a performance penalty,
+# expected to be locally cached).
+dontaudit domain runtime_event_log_tags_file:file { map open read };
+
+# Logd sets defaults if certain properties are empty.
+
+#line 91
+
+#line 91
+allow logd property_socket:sock_file write;
+#line 91
+allow logd init:unix_stream_socket connectto;
+#line 91
+
+#line 91
+allow logd logd_prop:property_service set;
+#line 91
+
+#line 91
+allow logd logd_prop:file { getattr open read map };
+#line 91
+
+#line 91
+
+
+###
+### Neverallow rules
+###
+### logd should NEVER do any of this
+
+# Block device access.
+neverallow logd dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow logd domain:process ptrace;
+
+# ... and nobody may ptrace me (except on userdebug or eng builds)
+neverallow { domain  } logd:process ptrace;
+
+# Write to /system.
+neverallow logd system_file_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Write to files in /data/data or system files on /data
+neverallow logd {
+    app_data_file_type
+    system_data_file
+    packages_list_file
+    -shell_data_file # for bugreports
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Only init is allowed to enter the logd domain via exec()
+neverallow { domain -init } logd:process transition;
+neverallow * logd:process dyntransition;
+
+# protect the event-log-tags file
+neverallow {
+  domain
+  -init
+  -logd
+} runtime_event_log_tags_file:file { append create link unlink relabelfrom rename setattr write };
+#line 1 "system/sepolicy/private/logpersist.te"
+typeattribute logpersist coredomain;
+
+# android debug log storage in logpersist domains (eng and userdebug only)
+#line 21
+
+
+# logcatd is a shell script that execs logcat with various parameters.
+allow logpersist shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow logpersist logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+allowxperm logpersist misc_logd_file:file ioctl {
+  0xf512
+  0x40086602
+};
+
+###
+### Neverallow rules
+###
+### logpersist should NEVER do any of this
+
+# Block device access.
+neverallow logpersist dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow logpersist domain:process ptrace;
+
+# Write to files in /data/data or system files on /data except misc_logd_file
+neverallow logpersist { app_data_file_type system_data_file }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Only init should be allowed to enter the logpersist domain via exec()
+# Following is a list of debug domains we know that transition to logpersist
+# neverallow_with_undefined_domains {
+#   domain
+#   -init       # goldfish, logcatd, raft
+#   -mmi        # bat, mtp8996, msmcobalt
+#   -system_app # Smith.apk
+# } logpersist:process transition;
+neverallow * logpersist:process dyntransition;
+
+# logpersist is allowed to write to /data/misc/log for userdebug and eng builds
+neverallow logpersist {
+  file_type
+  
+  
+}:file { create write append };
+neverallow { domain -init -dumpstate -incidentd  } misc_logd_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow { domain -init  } misc_logd_file:file { append create link unlink relabelfrom rename setattr write };
+neverallow { domain -init  } misc_logd_file:dir { add_name link relabelfrom remove_name rename reparent rmdir write };
+#line 1 "system/sepolicy/private/lpdumpd.te"
+type lpdumpd, domain, coredomain;
+type lpdumpd_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init lpdumpd_exec:file { getattr open read execute map };
+#line 4
+allow init lpdumpd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow lpdumpd lpdumpd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init lpdumpd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init lpdumpd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init lpdumpd_exec:process lpdumpd;
+#line 4
+
+#line 4
+
+
+# Allow lpdumpd to register itself as a service.
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow lpdumpd servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager lpdumpd:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager lpdumpd:dir search;
+#line 7
+allow servicemanager lpdumpd:file { read open };
+#line 7
+allow servicemanager lpdumpd:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+#line 8
+  allow lpdumpd lpdump_service:service_manager { add find };
+#line 8
+  neverallow { domain -lpdumpd } lpdump_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+
+# Allow lpdumpd to find the super partition block device.
+allow lpdumpd block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow lpdumpd to read super partition metadata.
+allow lpdumpd super_block_device_type:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow lpdumpd to read fstab.
+allow lpdumpd sysfs_dt_firmware_android:dir { open getattr read search ioctl lock watch watch_reads };
+allow lpdumpd sysfs_dt_firmware_android:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 19
+  allow lpdumpd { metadata_file gsi_metadata_file_type }:dir search;
+#line 19
+  allow lpdumpd gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 19
+  allow lpdumpd { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 19
+
+
+# Allow to get A/B slot suffix from device tree or kernel cmdline.
+
+#line 22
+allow lpdumpd sysfs_dt_firmware_android:dir { open getattr read search ioctl lock watch watch_reads };
+#line 22
+allow lpdumpd sysfs_dt_firmware_android:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 22
+;
+allow lpdumpd proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow reading Virtual A/B status information.
+
+#line 26
+allow lpdumpd virtual_ab_prop:file { getattr open read map };
+#line 26
+
+allow lpdumpd metadata_file:dir search;
+allow lpdumpd ota_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } lock };
+allow lpdumpd ota_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+
+### Neverallow rules
+
+# Disallow other domains to get lpdump_service and call lpdumpd.
+neverallow {
+    domain
+    -dumpstate
+    -lpdumpd
+    -shell
+} lpdump_service:service_manager find;
+
+neverallow {
+    domain
+    -dumpstate
+    -lpdumpd
+    -shell
+    -servicemanager
+} lpdumpd:binder call;
+#line 1 "system/sepolicy/private/mdnsd.te"
+# mdns daemon
+
+typeattribute mdnsd coredomain;
+typeattribute mdnsd mlstrustedsubject;
+
+type mdnsd_exec, system_file_type, exec_type, file_type;
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init mdnsd_exec:file { getattr open read execute map };
+#line 7
+allow init mdnsd:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow mdnsd mdnsd_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init mdnsd:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init mdnsd:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init mdnsd_exec:process mdnsd;
+#line 7
+
+#line 7
+
+
+
+#line 9
+typeattribute mdnsd netdomain;
+#line 9
+
+
+# Read from /proc/net
+
+#line 12
+allow mdnsd proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow mdnsd proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 12
+
+#line 1 "system/sepolicy/private/mediadrmserver.te"
+typeattribute mediadrmserver coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init mediadrmserver_exec:file { getattr open read execute map };
+#line 3
+allow init mediadrmserver:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow mediadrmserver mediadrmserver_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init mediadrmserver:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init mediadrmserver:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init mediadrmserver_exec:process mediadrmserver;
+#line 3
+
+#line 3
+
+
+# allocate and use graphic buffers
+
+#line 6
+typeattribute mediadrmserver halclientdomain;
+#line 6
+typeattribute mediadrmserver hal_graphics_allocator_client;
+#line 6
+
+#line 6
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 6
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 6
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 6
+
+#line 6
+typeattribute mediadrmserver hal_graphics_allocator;
+#line 6
+# Find passthrough HAL implementations
+#line 6
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 6
+
+#line 6
+
+auditallow mediadrmserver hal_graphics_allocator_server:binder call;
+
+typeattribute mediadrmserver mlstrustedsubject;
+
+
+#line 11
+typeattribute mediadrmserver netdomain;
+#line 11
+
+
+#line 12
+# Call the servicemanager and transfer references to it.
+#line 12
+allow mediadrmserver servicemanager:binder { call transfer };
+#line 12
+# Allow servicemanager to send out callbacks
+#line 12
+allow servicemanager mediadrmserver:binder { call transfer };
+#line 12
+# servicemanager performs getpidcon on clients.
+#line 12
+allow servicemanager mediadrmserver:dir search;
+#line 12
+allow servicemanager mediadrmserver:file { read open };
+#line 12
+allow servicemanager mediadrmserver:process getattr;
+#line 12
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 12
+# all domains in domain.te.
+#line 12
+
+
+#line 13
+# Call the server domain and optionally transfer references to it.
+#line 13
+allow mediadrmserver binderservicedomain:binder { call transfer };
+#line 13
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 13
+allow binderservicedomain mediadrmserver:binder transfer;
+#line 13
+# Receive and use open files from the server.
+#line 13
+allow mediadrmserver binderservicedomain:fd use;
+#line 13
+
+
+#line 14
+# Call the server domain and optionally transfer references to it.
+#line 14
+allow mediadrmserver appdomain:binder { call transfer };
+#line 14
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 14
+allow appdomain mediadrmserver:binder transfer;
+#line 14
+# Receive and use open files from the server.
+#line 14
+allow mediadrmserver appdomain:fd use;
+#line 14
+
+
+#line 15
+typeattribute mediadrmserver binderservicedomain;
+#line 15
+
+
+#line 16
+typeattribute mediadrmserver halclientdomain;
+#line 16
+typeattribute mediadrmserver hal_drm_client;
+#line 16
+
+#line 16
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 16
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 16
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 16
+
+#line 16
+typeattribute mediadrmserver hal_drm;
+#line 16
+# Find passthrough HAL implementations
+#line 16
+allow hal_drm system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_drm vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_drm vendor_file:file { read open getattr execute map };
+#line 16
+
+#line 16
+
+
+
+#line 18
+  allow mediadrmserver mediadrmserver_service:service_manager { add find };
+#line 18
+  neverallow { domain -mediadrmserver } mediadrmserver_service:service_manager add;
+#line 18
+
+#line 18
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 18
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 18
+  
+#line 18
+
+allow mediadrmserver mediaserver_service:service_manager find;
+allow mediadrmserver mediametrics_service:service_manager find;
+allow mediadrmserver processinfo_service:service_manager find;
+allow mediadrmserver surfaceflinger_service:service_manager find;
+allow mediadrmserver system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# TODO(b/80317992): remove
+
+#line 26
+# Call the server domain and optionally transfer references to it.
+#line 26
+allow mediadrmserver hal_omx_server:binder { call transfer };
+#line 26
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 26
+allow hal_omx_server mediadrmserver:binder transfer;
+#line 26
+# Receive and use open files from the server.
+#line 26
+allow mediadrmserver hal_omx_server:fd use;
+#line 26
+
+
+###
+### neverallow rules
+###
+
+# mediadrmserver should never execute any executable without a
+# domain transition
+neverallow mediadrmserver { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm mediadrmserver domain:{ rawip_socket tcp_socket udp_socket } ioctl 
+#line 37
+{
+#line 37
+# qualcomm rmnet ioctls
+#line 37
+0x00006900 0x00006902
+#line 37
+# socket ioctls
+#line 37
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 37
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 37
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 37
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 37
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 37
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 37
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 37
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 37
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 37
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 37
+# device and protocol specific ioctls
+#line 37
+0x000089f0-0x000089ff
+#line 37
+0x000089e0-0x000089ef
+#line 37
+# Wireless extension ioctls
+#line 37
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 37
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 37
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 37
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 37
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 37
+0x00008b34 0x00008b35 0x00008b36
+#line 37
+# Dev private ioctl i.e. hardware specific ioctls
+#line 37
+0x00008be0-0x00008bff
+#line 37
+};
+#line 1 "system/sepolicy/private/mediaextractor.te"
+typeattribute mediaextractor coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init mediaextractor_exec:file { getattr open read execute map };
+#line 3
+allow init mediaextractor:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow mediaextractor mediaextractor_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init mediaextractor:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init mediaextractor:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init mediaextractor_exec:process mediaextractor;
+#line 3
+
+#line 3
+
+
+#line 4
+type_transition mediaextractor tmpfs:file mediaextractor_tmpfs;
+#line 4
+allow mediaextractor mediaextractor_tmpfs:file { read write getattr map };
+#line 4
+
+allow mediaextractor appdomain_tmpfs:file { getattr map read write };
+allow mediaextractor mediaserver_tmpfs:file { getattr map read write };
+allow mediaextractor system_server_tmpfs:file { getattr map read write };
+
+
+#line 9
+allow mediaextractor device_config_media_native_prop:file { getattr open read map };
+#line 9
+
+
+#line 10
+allow mediaextractor device_config_swcodec_native_prop:file { getattr open read map };
+#line 10
+
+
+typeattribute mediaextractor mlstrustedsubject;
+
+
+#line 14
+# Call the servicemanager and transfer references to it.
+#line 14
+allow mediaextractor servicemanager:binder { call transfer };
+#line 14
+# Allow servicemanager to send out callbacks
+#line 14
+allow servicemanager mediaextractor:binder { call transfer };
+#line 14
+# servicemanager performs getpidcon on clients.
+#line 14
+allow servicemanager mediaextractor:dir search;
+#line 14
+allow servicemanager mediaextractor:file { read open };
+#line 14
+allow servicemanager mediaextractor:process getattr;
+#line 14
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+
+#line 15
+# Call the server domain and optionally transfer references to it.
+#line 15
+allow mediaextractor binderservicedomain:binder { call transfer };
+#line 15
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 15
+allow binderservicedomain mediaextractor:binder transfer;
+#line 15
+# Receive and use open files from the server.
+#line 15
+allow mediaextractor binderservicedomain:fd use;
+#line 15
+
+
+#line 16
+# Call the server domain and optionally transfer references to it.
+#line 16
+allow mediaextractor appdomain:binder { call transfer };
+#line 16
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 16
+allow appdomain mediaextractor:binder transfer;
+#line 16
+# Receive and use open files from the server.
+#line 16
+allow mediaextractor appdomain:fd use;
+#line 16
+
+
+#line 17
+typeattribute mediaextractor binderservicedomain;
+#line 17
+
+
+
+#line 19
+  allow mediaextractor mediaextractor_service:service_manager { add find };
+#line 19
+  neverallow { domain -mediaextractor } mediaextractor_service:service_manager add;
+#line 19
+
+#line 19
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 19
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 19
+  
+#line 19
+
+allow mediaextractor mediametrics_service:service_manager find;
+allow mediaextractor hidl_token_hwservice:hwservice_manager find;
+
+allow mediaextractor system_server:fd use;
+
+
+#line 25
+typeattribute mediaextractor halclientdomain;
+#line 25
+typeattribute mediaextractor hal_cas_client;
+#line 25
+
+#line 25
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 25
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 25
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 25
+
+#line 25
+typeattribute mediaextractor hal_cas;
+#line 25
+# Find passthrough HAL implementations
+#line 25
+allow hal_cas system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow hal_cas vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow hal_cas vendor_file:file { read open getattr execute map };
+#line 25
+
+#line 25
+
+
+#line 26
+typeattribute mediaextractor halclientdomain;
+#line 26
+typeattribute mediaextractor hal_allocator_client;
+#line 26
+
+#line 26
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 26
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 26
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 26
+
+#line 26
+typeattribute mediaextractor hal_allocator;
+#line 26
+# Find passthrough HAL implementations
+#line 26
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 26
+
+#line 26
+
+
+
+#line 28
+allow mediaextractor cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 28
+allow mediaextractor cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 28
+
+
+#line 29
+allow mediaextractor cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 29
+allow mediaextractor cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 29
+
+allow mediaextractor proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 32
+
+#line 32
+allow mediaextractor anr_data_file:file append;
+#line 32
+allow mediaextractor dumpstate:fd use;
+#line 32
+allow mediaextractor incidentd:fd use;
+#line 32
+# TODO: Figure out why write is needed.
+#line 32
+allow mediaextractor dumpstate:fifo_file { append write };
+#line 32
+allow mediaextractor incidentd:fifo_file { append write };
+#line 32
+allow mediaextractor system_server:fifo_file { append write };
+#line 32
+allow mediaextractor tombstoned:unix_stream_socket connectto;
+#line 32
+allow mediaextractor tombstoned:fd use;
+#line 32
+allow mediaextractor tombstoned_crash_socket:sock_file write;
+#line 32
+allow mediaextractor tombstone_data_file:file append;
+#line 32
+
+
+# allow mediaextractor read permissions for file sources
+allow mediaextractor { sdcard_type fuse }:file { getattr read };
+allow mediaextractor media_rw_data_file:file { getattr read };
+allow mediaextractor { app_data_file privapp_data_file }:file { getattr read };
+
+# Read resources from open apk files passed over Binder
+allow mediaextractor apk_data_file:file { read getattr };
+allow mediaextractor asec_apk_file:file { read getattr };
+allow mediaextractor ringtone_file:file { read getattr };
+
+# overlay package access
+allow mediaextractor vendor_overlay_file:file { read map };
+
+# scan extractor library directory to dynamically load extractors
+allow mediaextractor system_file:dir { read open };
+
+###
+### neverallow rules
+###
+
+# mediaextractor should never execute any executable without a
+# domain transition
+neverallow mediaextractor { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediaextractor domain:{ udp_socket rawip_socket } *;
+neverallow mediaextractor { domain  }:tcp_socket *;
+
+# mediaextractor should not be opening /data files directly. Any files
+# it touches (with a few exceptions) need to be passed to it via a file
+# descriptor opened outside the process.
+neverallow mediaextractor {
+  data_file_type
+   # for loading media extractor plugins
+  
+}:file open;
+#line 1 "system/sepolicy/private/mediametrics.te"
+typeattribute mediametrics coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init mediametrics_exec:file { getattr open read execute map };
+#line 3
+allow init mediametrics:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow mediametrics mediametrics_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init mediametrics:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init mediametrics:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init mediametrics_exec:process mediametrics;
+#line 3
+
+#line 3
+
+
+# Needed for stats callback registration to statsd.
+allow mediametrics stats_service:service_manager find;
+allow mediametrics statsmanager_service:service_manager find;
+
+#line 8
+# Call the server domain and optionally transfer references to it.
+#line 8
+allow mediametrics statsd:binder { call transfer };
+#line 8
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 8
+allow statsd mediametrics:binder transfer;
+#line 8
+# Receive and use open files from the server.
+#line 8
+allow mediametrics statsd:fd use;
+#line 8
+
+
+
+#line 10
+# Call the servicemanager and transfer references to it.
+#line 10
+allow mediametrics servicemanager:binder { call transfer };
+#line 10
+# Allow servicemanager to send out callbacks
+#line 10
+allow servicemanager mediametrics:binder { call transfer };
+#line 10
+# servicemanager performs getpidcon on clients.
+#line 10
+allow servicemanager mediametrics:dir search;
+#line 10
+allow servicemanager mediametrics:file { read open };
+#line 10
+allow servicemanager mediametrics:process getattr;
+#line 10
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 10
+# all domains in domain.te.
+#line 10
+
+
+#line 11
+# Call the server domain and optionally transfer references to it.
+#line 11
+allow mediametrics binderservicedomain:binder { call transfer };
+#line 11
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 11
+allow binderservicedomain mediametrics:binder transfer;
+#line 11
+# Receive and use open files from the server.
+#line 11
+allow mediametrics binderservicedomain:fd use;
+#line 11
+
+
+#line 12
+typeattribute mediametrics binderservicedomain;
+#line 12
+
+
+
+#line 14
+  allow mediametrics mediametrics_service:service_manager { add find };
+#line 14
+  neverallow { domain -mediametrics } mediametrics_service:service_manager add;
+#line 14
+
+#line 14
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 14
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 14
+  
+#line 14
+
+
+allow mediametrics system_server:fd use;
+
+
+#line 18
+allow mediametrics cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow mediametrics cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 18
+
+
+#line 19
+allow mediametrics cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow mediametrics cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 19
+
+allow mediametrics proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# allows interactions with dumpsys to GMScore
+allow mediametrics { app_data_file privapp_data_file }:file write;
+
+# allow access to package manager for uid->apk mapping
+allow mediametrics package_native_service:service_manager find;
+
+# Allow metrics service to send information to statsd socket.
+
+#line 29
+allow mediametrics statsdw_socket:sock_file write;
+#line 29
+allow mediametrics statsd:unix_dgram_socket sendto;
+#line 29
+
+
+###
+### neverallow rules
+###
+
+# mediametrics should never execute any executable without a
+# domain transition
+neverallow mediametrics { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediametrics domain:{ udp_socket rawip_socket } *;
+neverallow mediametrics { domain  }:tcp_socket *;
+#line 1 "system/sepolicy/private/mediaprovider.te"
+###
+### A domain for android.process.media, which contains both
+### MediaProvider and DownloadProvider and associated services.
+###
+
+typeattribute mediaprovider coredomain;
+
+#line 7
+typeattribute mediaprovider appdomain;
+#line 7
+# Label tmpfs objects for all apps.
+#line 7
+type_transition mediaprovider tmpfs:file appdomain_tmpfs;
+#line 7
+
+#line 7
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 7
+type mediaprovider_userfaultfd;
+#line 7
+type_transition mediaprovider mediaprovider:anon_inode mediaprovider_userfaultfd "[userfaultfd]";
+#line 7
+# Allow domain to create/use userfaultfd anon_inode.
+#line 7
+allow mediaprovider mediaprovider_userfaultfd:anon_inode { create ioctl read };
+#line 7
+# Suppress errors generate during bugreport
+#line 7
+dontaudit su mediaprovider_userfaultfd:anon_inode *;
+#line 7
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 7
+neverallow { domain -mediaprovider } mediaprovider_userfaultfd:anon_inode *;
+#line 7
+
+#line 7
+allow mediaprovider appdomain_tmpfs:file { execute getattr map read write };
+#line 7
+neverallow { mediaprovider -runas_app -shell -simpleperf } { domain -mediaprovider }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+neverallow { appdomain -runas_app -shell -simpleperf -mediaprovider } mediaprovider:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+# The Android security model guarantees the confidentiality and integrity
+#line 7
+# of application data and execution state. Ptrace bypasses those
+#line 7
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 7
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 7
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 7
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 7
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 7
+# live lock conditions.
+#line 7
+neverallow { domain -mediaprovider -crash_dump  -runas_app -simpleperf } mediaprovider:process ptrace;
+#line 7
+
+
+# DownloadProvider accesses the network.
+
+#line 10
+typeattribute mediaprovider netdomain;
+#line 10
+
+
+# DownloadProvider uses /cache.
+allow mediaprovider cache_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow mediaprovider cache_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# /cache is a symlink to /data/cache on some devices. Allow reading the link.
+allow mediaprovider cache_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+# mediaprovider searches through /cache looking for orphans
+# Ignore denials to /cache/recovery and /cache/backup.
+dontaudit mediaprovider cache_private_backup_file:dir getattr;
+dontaudit mediaprovider cache_recovery_file:dir getattr;
+
+# Access external sdcards through /mnt/media_rw
+allow mediaprovider { mnt_media_rw_file }:dir search;
+
+allow mediaprovider app_api_service:service_manager find;
+allow mediaprovider audioserver_service:service_manager find;
+allow mediaprovider cameraserver_service:service_manager find;
+allow mediaprovider drmserver_service:service_manager find;
+allow mediaprovider mediaextractor_service:service_manager find;
+allow mediaprovider mediaserver_service:service_manager find;
+
+# Allow MediaProvider to read/write cached ringtones (opened by system).
+allow mediaprovider ringtone_file:file { getattr read write };
+
+# MtpServer uses /dev/mtp_usb
+allow mediaprovider mtp_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# MtpServer uses /dev/usb-ffs/mtp
+allow mediaprovider functionfs:dir search;
+allow mediaprovider functionfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm mediaprovider functionfs:file ioctl 0x80096782;
+allowxperm mediaprovider functionfs:file ioctl 0x000067e7;
+
+# MtpServer sets sys.usb.ffs.mtp.ready
+
+#line 45
+allow mediaprovider ffs_config_prop:file { getattr open read map };
+#line 45
+
+
+#line 46
+
+#line 46
+allow mediaprovider property_socket:sock_file write;
+#line 46
+allow mediaprovider init:unix_stream_socket connectto;
+#line 46
+
+#line 46
+allow mediaprovider ffs_control_prop:property_service set;
+#line 46
+
+#line 46
+allow mediaprovider ffs_control_prop:file { getattr open read map };
+#line 46
+
+#line 46
+
+
+# DownloadManager may retrieve DRM status
+
+#line 49
+allow mediaprovider drm_service_config_prop:file { getattr open read map };
+#line 49
+
+#line 1 "system/sepolicy/private/mediaprovider_app.te"
+###
+### A domain for further sandboxing the MediaProvider mainline module.
+###
+type mediaprovider_app, domain, coredomain, bpfdomain;
+
+
+#line 6
+typeattribute mediaprovider_app appdomain;
+#line 6
+# Label tmpfs objects for all apps.
+#line 6
+type_transition mediaprovider_app tmpfs:file appdomain_tmpfs;
+#line 6
+
+#line 6
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 6
+type mediaprovider_app_userfaultfd;
+#line 6
+type_transition mediaprovider_app mediaprovider_app:anon_inode mediaprovider_app_userfaultfd "[userfaultfd]";
+#line 6
+# Allow domain to create/use userfaultfd anon_inode.
+#line 6
+allow mediaprovider_app mediaprovider_app_userfaultfd:anon_inode { create ioctl read };
+#line 6
+# Suppress errors generate during bugreport
+#line 6
+dontaudit su mediaprovider_app_userfaultfd:anon_inode *;
+#line 6
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 6
+neverallow { domain -mediaprovider_app } mediaprovider_app_userfaultfd:anon_inode *;
+#line 6
+
+#line 6
+allow mediaprovider_app appdomain_tmpfs:file { execute getattr map read write };
+#line 6
+neverallow { mediaprovider_app -runas_app -shell -simpleperf } { domain -mediaprovider_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+neverallow { appdomain -runas_app -shell -simpleperf -mediaprovider_app } mediaprovider_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+# The Android security model guarantees the confidentiality and integrity
+#line 6
+# of application data and execution state. Ptrace bypasses those
+#line 6
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 6
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 6
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 6
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 6
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 6
+# live lock conditions.
+#line 6
+neverallow { domain -mediaprovider_app -crash_dump  -runas_app -simpleperf } mediaprovider_app:process ptrace;
+#line 6
+
+
+# Access to /mnt/pass_through.
+
+#line 9
+allow mediaprovider_app mnt_pass_through_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow mediaprovider_app mnt_pass_through_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 9
+
+
+# Allow MediaProvider to host a FUSE daemon for external storage
+allow mediaprovider_app fuse_device:chr_file { read write ioctl getattr };
+
+# Allow MediaProvider to access fuseblk devices for external storage.
+allow mediaprovider_app fuseblk:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow mediaprovider_app fuseblk:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow MediaProvider to read/write media_rw_data_file files and dirs
+allow mediaprovider_app media_userdir_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow mediaprovider_app media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow mediaprovider_app media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# Talk to the DRM service
+allow mediaprovider_app drmserver_service:service_manager find;
+
+# Talk to the MediaServer service
+allow mediaprovider_app mediaserver_service:service_manager find;
+
+# Talk to the AudioServer service
+allow mediaprovider_app audioserver_service:service_manager find;
+
+# Talk to the MediaCodec APIs that log media metrics
+allow mediaprovider_app mediametrics_service:service_manager find;
+
+# Talk to regular app services
+allow mediaprovider_app app_api_service:service_manager find;
+
+# Talk to the GPU service
+
+#line 39
+# Call the server domain and optionally transfer references to it.
+#line 39
+allow mediaprovider_app gpuservice:binder { call transfer };
+#line 39
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 39
+allow gpuservice mediaprovider_app:binder transfer;
+#line 39
+# Receive and use open files from the server.
+#line 39
+allow mediaprovider_app gpuservice:fd use;
+#line 39
+
+
+# Talk to statsd
+allow mediaprovider_app statsmanager_service:service_manager find;
+
+#line 43
+# Call the server domain and optionally transfer references to it.
+#line 43
+allow mediaprovider_app statsd:binder { call transfer };
+#line 43
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 43
+allow statsd mediaprovider_app:binder transfer;
+#line 43
+# Receive and use open files from the server.
+#line 43
+allow mediaprovider_app statsd:fd use;
+#line 43
+
+
+# read pipe-max-size configuration
+allow mediaprovider_app proc_pipe_conf:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow MediaProvider to set extended attributes (such as quota project ID)
+# on media files.
+allowxperm mediaprovider_app media_rw_data_file:{ dir file } ioctl {
+  0x801c581f
+  0x401c5820
+  0x80086601
+  0x40086602
+};
+
+# Access external sdcards through /mnt/media_rw
+allow mediaprovider_app { mnt_media_rw_file }:dir search;
+
+allow mediaprovider_app proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+#Allow MediaProvider to see if sdcardfs is in use
+
+#line 63
+allow mediaprovider_app storage_config_prop:file { getattr open read map };
+#line 63
+
+
+
+#line 65
+allow mediaprovider_app drm_service_config_prop:file { getattr open read map };
+#line 65
+
+
+allow mediaprovider_app gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow mediaprovider_app gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+dontaudit mediaprovider_app sysfs_vendor_sched:dir search;
+dontaudit mediaprovider_app sysfs_vendor_sched:file { open append write lock map };
+
+# bpfprog access for FUSE BPF
+allow mediaprovider_app fs_bpf:file read;
+allow mediaprovider_app bpfloader:bpf { map_read map_write prog_run };
+
+# boot animations on oem are stored with specific label
+allow mediaprovider_app bootanim_oem_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/mediaserver.te"
+typeattribute mediaserver coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init mediaserver_exec:file { getattr open read execute map };
+#line 3
+allow init mediaserver:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow mediaserver mediaserver_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init mediaserver:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init mediaserver:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init mediaserver_exec:process mediaserver;
+#line 3
+
+#line 3
+
+
+#line 4
+type_transition mediaserver tmpfs:file mediaserver_tmpfs;
+#line 4
+allow mediaserver mediaserver_tmpfs:file { read write getattr map };
+#line 4
+
+allow mediaserver appdomain_tmpfs:file { getattr map read write };
+
+# allocate and use graphic buffers
+
+#line 8
+typeattribute mediaserver halclientdomain;
+#line 8
+typeattribute mediaserver hal_graphics_allocator_client;
+#line 8
+
+#line 8
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 8
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 8
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 8
+
+#line 8
+typeattribute mediaserver hal_graphics_allocator;
+#line 8
+# Find passthrough HAL implementations
+#line 8
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 8
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 8
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 8
+
+#line 8
+
+
+#line 9
+typeattribute mediaserver halclientdomain;
+#line 9
+typeattribute mediaserver hal_configstore_client;
+#line 9
+
+#line 9
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 9
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 9
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 9
+
+#line 9
+typeattribute mediaserver hal_configstore;
+#line 9
+# Find passthrough HAL implementations
+#line 9
+allow hal_configstore system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_configstore vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_configstore vendor_file:file { read open getattr execute map };
+#line 9
+
+#line 9
+
+
+#line 10
+typeattribute mediaserver halclientdomain;
+#line 10
+typeattribute mediaserver hal_drm_client;
+#line 10
+
+#line 10
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 10
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 10
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 10
+
+#line 10
+typeattribute mediaserver hal_drm;
+#line 10
+# Find passthrough HAL implementations
+#line 10
+allow hal_drm system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 10
+allow hal_drm vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 10
+allow hal_drm vendor_file:file { read open getattr execute map };
+#line 10
+
+#line 10
+
+
+#line 11
+typeattribute mediaserver halclientdomain;
+#line 11
+typeattribute mediaserver hal_omx_client;
+#line 11
+
+#line 11
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 11
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 11
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 11
+
+#line 11
+typeattribute mediaserver hal_omx;
+#line 11
+# Find passthrough HAL implementations
+#line 11
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 11
+
+#line 11
+
+
+#line 12
+typeattribute mediaserver halclientdomain;
+#line 12
+typeattribute mediaserver hal_codec2_client;
+#line 12
+
+#line 12
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 12
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 12
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 12
+
+#line 12
+typeattribute mediaserver hal_codec2;
+#line 12
+# Find passthrough HAL implementations
+#line 12
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 12
+
+#line 12
+
+
+
+#line 14
+
+#line 14
+allow mediaserver property_socket:sock_file write;
+#line 14
+allow mediaserver init:unix_stream_socket connectto;
+#line 14
+
+#line 14
+allow mediaserver audio_prop:property_service set;
+#line 14
+
+#line 14
+allow mediaserver audio_prop:file { getattr open read map };
+#line 14
+
+#line 14
+
+
+
+#line 16
+allow mediaserver drm_service_config_prop:file { getattr open read map };
+#line 16
+
+
+#line 17
+allow mediaserver media_config_prop:file { getattr open read map };
+#line 17
+
+
+# Allow MediaCodec running on mediaserver to read media_native flags
+
+#line 20
+allow mediaserver device_config_media_native_prop:file { getattr open read map };
+#line 20
+
+
+# Allow mediaserver to start media.transcoding service via ctl.start.
+
+#line 23
+
+#line 23
+allow mediaserver property_socket:sock_file write;
+#line 23
+allow mediaserver init:unix_stream_socket connectto;
+#line 23
+
+#line 23
+allow mediaserver ctl_mediatranscoding_prop:property_service set;
+#line 23
+
+#line 23
+allow mediaserver ctl_mediatranscoding_prop:file { getattr open read map };
+#line 23
+
+#line 23
+;
+
+# Allow mediaserver to read SDK sandbox data files
+allow mediaserver sdk_sandbox_data_file:file { getattr read };
+
+# Needed for stats callback registration to statsd.
+allow mediaserver stats_service:service_manager find;
+allow mediaserver statsmanager_service:service_manager find;
+
+#line 31
+# Call the server domain and optionally transfer references to it.
+#line 31
+allow mediaserver statsd:binder { call transfer };
+#line 31
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 31
+allow statsd mediaserver:binder transfer;
+#line 31
+# Receive and use open files from the server.
+#line 31
+allow mediaserver statsd:fd use;
+#line 31
+
+
+# Allow mediaserver to communicate with Surface provided
+# by virtual camera.
+
+#line 35
+# Call the server domain and optionally transfer references to it.
+#line 35
+allow mediaserver virtual_camera:binder { call transfer };
+#line 35
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 35
+allow virtual_camera mediaserver:binder transfer;
+#line 35
+# Receive and use open files from the server.
+#line 35
+allow mediaserver virtual_camera:fd use;
+#line 35
+
+
+typeattribute mediaserver mlstrustedsubject;
+
+
+#line 39
+typeattribute mediaserver netdomain;
+#line 39
+
+
+
+#line 41
+allow mediaserver sdcard_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow mediaserver sdcard_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 41
+
+
+#line 42
+allow mediaserver fuse:dir { open getattr read search ioctl lock watch watch_reads };
+#line 42
+allow mediaserver fuse:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 42
+
+
+#line 43
+allow mediaserver cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 43
+allow mediaserver cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 43
+
+
+#line 44
+allow mediaserver cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 44
+allow mediaserver cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 44
+
+
+# stat /proc/self
+allow mediaserver proc:lnk_file getattr;
+
+# open /vendor/lib/mediadrm
+allow mediaserver system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 55
+
+
+
+#line 57
+# Call the servicemanager and transfer references to it.
+#line 57
+allow mediaserver servicemanager:binder { call transfer };
+#line 57
+# Allow servicemanager to send out callbacks
+#line 57
+allow servicemanager mediaserver:binder { call transfer };
+#line 57
+# servicemanager performs getpidcon on clients.
+#line 57
+allow servicemanager mediaserver:dir search;
+#line 57
+allow servicemanager mediaserver:file { read open };
+#line 57
+allow servicemanager mediaserver:process getattr;
+#line 57
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 57
+# all domains in domain.te.
+#line 57
+
+
+#line 58
+# Call the server domain and optionally transfer references to it.
+#line 58
+allow mediaserver binderservicedomain:binder { call transfer };
+#line 58
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 58
+allow binderservicedomain mediaserver:binder transfer;
+#line 58
+# Receive and use open files from the server.
+#line 58
+allow mediaserver binderservicedomain:fd use;
+#line 58
+
+
+#line 59
+# Call the server domain and optionally transfer references to it.
+#line 59
+allow mediaserver appdomain:binder { call transfer };
+#line 59
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 59
+allow appdomain mediaserver:binder transfer;
+#line 59
+# Receive and use open files from the server.
+#line 59
+allow mediaserver appdomain:fd use;
+#line 59
+
+
+#line 60
+typeattribute mediaserver binderservicedomain;
+#line 60
+
+
+allow mediaserver media_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow mediaserver media_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow mediaserver { app_data_file privapp_data_file }:file { append getattr ioctl lock map read write };
+allow mediaserver { sdcard_type fuse }:file write;
+allow mediaserver gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow mediaserver gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow mediaserver video_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow mediaserver video_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read resources from open apk files passed over Binder.
+allow mediaserver apk_data_file:file { read getattr };
+allow mediaserver asec_apk_file:file { read getattr };
+allow mediaserver ringtone_file:file { read getattr };
+
+# Read /data/data/com.android.providers.telephony files passed over Binder.
+allow mediaserver radio_data_file:file { read getattr };
+
+# Use pipes passed over Binder from app domains.
+allow mediaserver appdomain:fifo_file { getattr read write };
+
+allow mediaserver rpmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Inter System processes communicate over named pipe (FIFO)
+allow mediaserver system_server:fifo_file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 87
+allow mediaserver media_rw_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 87
+allow mediaserver media_rw_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 87
+
+
+# Grant access to read files on appfuse.
+allow mediaserver app_fuse_file:file { read getattr };
+
+# Needed on some devices for playing DRM protected content,
+# but seems expected and appropriate for all devices.
+
+#line 94
+allow mediaserver drmserver_socket:sock_file write;
+#line 94
+allow mediaserver drmserver:unix_stream_socket connectto;
+#line 94
+
+
+# Needed on some devices for playing audio on paired BT device,
+# but seems appropriate for all devices.
+
+#line 98
+allow mediaserver bluetooth_socket:sock_file write;
+#line 98
+allow mediaserver bluetooth:unix_stream_socket connectto;
+#line 98
+
+
+# Needed for mediaserver to send information to statsd socket.
+
+#line 101
+allow mediaserver statsdw_socket:sock_file write;
+#line 101
+allow mediaserver statsd:unix_dgram_socket sendto;
+#line 101
+
+
+
+#line 103
+  allow mediaserver mediaserver_service:service_manager { add find };
+#line 103
+  neverallow { domain -mediaserver } mediaserver_service:service_manager add;
+#line 103
+
+#line 103
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 103
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 103
+  
+#line 103
+
+allow mediaserver activity_service:service_manager find;
+allow mediaserver appops_service:service_manager find;
+allow mediaserver audio_service:service_manager find;
+allow mediaserver audioserver_service:service_manager find;
+allow mediaserver cameraserver_service:service_manager find;
+allow mediaserver batterystats_service:service_manager find;
+allow mediaserver drmserver_service:service_manager find;
+allow mediaserver mediaextractor_service:service_manager find;
+allow mediaserver mediametrics_service:service_manager find;
+allow mediaserver media_session_service:service_manager find;
+allow mediaserver package_native_service:service_manager find;
+allow mediaserver permission_service:service_manager find;
+allow mediaserver permission_checker_service:service_manager find;
+allow mediaserver power_service:service_manager find;
+allow mediaserver processinfo_service:service_manager find;
+allow mediaserver scheduling_policy_service:service_manager find;
+allow mediaserver surfaceflinger_service:service_manager find;
+
+# for ModDrm/MediaPlayer
+allow mediaserver mediadrmserver_service:service_manager find;
+
+# For hybrid interfaces
+allow mediaserver hidl_token_hwservice:hwservice_manager find;
+
+# /oem access
+allow mediaserver oemfs:dir search;
+allow mediaserver oemfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# /oem boot animation file
+allow mediaserver bootanim_oem_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# /vendor apk access
+allow mediaserver vendor_app_file:file { read map getattr };
+
+
+#line 138
+  allow drmserver mediaserver:dir search;
+#line 138
+  allow drmserver mediaserver:file { read open };
+#line 138
+  allow drmserver mediaserver:process getattr;
+#line 138
+
+allow mediaserver drmserver:drmservice {
+    consumeRights
+    setPlaybackStatus
+    openDecryptSession
+    closeDecryptSession
+    initializeDecryptUnit
+    decrypt
+    finalizeDecryptUnit
+    pread
+};
+
+# only allow unprivileged socket ioctl commands
+allowxperm mediaserver self:{ rawip_socket tcp_socket udp_socket }
+  ioctl { 
+#line 152
+{
+#line 152
+# Socket ioctls for gathering information about the interface
+#line 152
+0x00008906 0x00008907
+#line 152
+0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
+#line 152
+0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
+#line 152
+# Wireless extension ioctls. Primarily get functions.
+#line 152
+0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
+#line 152
+0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
+#line 152
+0x00008b25 0x00008b27 0x00008b29 0x00008b2d
+#line 152
+} {
+#line 152
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 152
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 152
+} };
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow mediaserver media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow mediaserver media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access to media in /data/preloads
+allow mediaserver preloads_media_file:file { getattr read ioctl };
+
+allow mediaserver ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow mediaserver dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow mediaserver dmabuf_system_secure_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow mediaserver hal_graphics_allocator:fd use;
+allow mediaserver hal_graphics_composer:fd use;
+allow mediaserver hal_camera:fd use;
+
+allow mediaserver system_server:fd use;
+
+# b/120491318 allow mediaserver to access void:fd
+allow mediaserver vold:fd use;
+
+# overlay package access
+allow mediaserver vendor_overlay_file:file { read getattr map };
+
+
+#line 178
+typeattribute mediaserver halclientdomain;
+#line 178
+typeattribute mediaserver hal_allocator_client;
+#line 178
+
+#line 178
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 178
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 178
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 178
+
+#line 178
+typeattribute mediaserver hal_allocator;
+#line 178
+# Find passthrough HAL implementations
+#line 178
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 178
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 178
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 178
+
+#line 178
+
+
+###
+### neverallow rules
+###
+
+# mediaserver should never execute any executable without a
+# domain transition
+neverallow mediaserver { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm mediaserver domain:{ rawip_socket tcp_socket udp_socket } ioctl 
+#line 189
+{
+#line 189
+# qualcomm rmnet ioctls
+#line 189
+0x00006900 0x00006902
+#line 189
+# socket ioctls
+#line 189
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 189
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 189
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 189
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 189
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 189
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 189
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 189
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 189
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 189
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 189
+# device and protocol specific ioctls
+#line 189
+0x000089f0-0x000089ff
+#line 189
+0x000089e0-0x000089ef
+#line 189
+# Wireless extension ioctls
+#line 189
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 189
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 189
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 189
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 189
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 189
+0x00008b34 0x00008b35 0x00008b36
+#line 189
+# Dev private ioctl i.e. hardware specific ioctls
+#line 189
+0x00008be0-0x00008bff
+#line 189
+};
+#line 1 "system/sepolicy/private/mediaswcodec.te"
+typeattribute mediaswcodec coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init mediaswcodec_exec:file { getattr open read execute map };
+#line 3
+allow init mediaswcodec:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow mediaswcodec mediaswcodec_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init mediaswcodec:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init mediaswcodec:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init mediaswcodec_exec:process mediaswcodec;
+#line 3
+
+#line 3
+
+
+
+#line 5
+allow mediaswcodec device_config_media_native_prop:file { getattr open read map };
+#line 5
+
+
+#line 6
+allow mediaswcodec device_config_swcodec_native_prop:file { getattr open read map };
+#line 6
+
+
+
+#line 8
+typeattribute mediaswcodec halserverdomain;
+#line 8
+typeattribute mediaswcodec hal_codec2_server;
+#line 8
+typeattribute mediaswcodec hal_codec2;
+#line 8
+
+
+# mediaswcodec may use an input surface from a different Codec2 service or an
+# OMX service
+
+#line 12
+typeattribute mediaswcodec halclientdomain;
+#line 12
+typeattribute mediaswcodec hal_codec2_client;
+#line 12
+
+#line 12
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 12
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 12
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 12
+
+#line 12
+typeattribute mediaswcodec hal_codec2;
+#line 12
+# Find passthrough HAL implementations
+#line 12
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 12
+
+#line 12
+
+
+#line 13
+typeattribute mediaswcodec halclientdomain;
+#line 13
+typeattribute mediaswcodec hal_omx_client;
+#line 13
+
+#line 13
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 13
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 13
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 13
+
+#line 13
+typeattribute mediaswcodec hal_omx;
+#line 13
+# Find passthrough HAL implementations
+#line 13
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 13
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 13
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 13
+
+#line 13
+
+
+
+#line 15
+typeattribute mediaswcodec halclientdomain;
+#line 15
+typeattribute mediaswcodec hal_allocator_client;
+#line 15
+
+#line 15
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 15
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 15
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 15
+
+#line 15
+typeattribute mediaswcodec hal_allocator;
+#line 15
+# Find passthrough HAL implementations
+#line 15
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 15
+
+#line 15
+
+
+#line 16
+typeattribute mediaswcodec halclientdomain;
+#line 16
+typeattribute mediaswcodec hal_graphics_allocator_client;
+#line 16
+
+#line 16
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 16
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 16
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 16
+
+#line 16
+typeattribute mediaswcodec hal_graphics_allocator;
+#line 16
+# Find passthrough HAL implementations
+#line 16
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 16
+
+#line 16
+
+
+# get aac_drc_* properties
+
+#line 19
+allow mediaswcodec aac_drc_prop:file { getattr open read map };
+#line 19
+
+
+
+#line 21
+
+#line 21
+allow mediaswcodec anr_data_file:file append;
+#line 21
+allow mediaswcodec dumpstate:fd use;
+#line 21
+allow mediaswcodec incidentd:fd use;
+#line 21
+# TODO: Figure out why write is needed.
+#line 21
+allow mediaswcodec dumpstate:fifo_file { append write };
+#line 21
+allow mediaswcodec incidentd:fifo_file { append write };
+#line 21
+allow mediaswcodec system_server:fifo_file { append write };
+#line 21
+allow mediaswcodec tombstoned:unix_stream_socket connectto;
+#line 21
+allow mediaswcodec tombstoned:fd use;
+#line 21
+allow mediaswcodec tombstoned_crash_socket:sock_file write;
+#line 21
+allow mediaswcodec tombstone_data_file:file append;
+#line 21
+
+
+allow mediaswcodec dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow mediaswcodec dmabuf_system_secure_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow mediaswcodec gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow mediaswcodec gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+###
+### Neverallow rules
+###
+
+# mediaswcodec_server should never execute any executable without a
+# domain transition
+neverallow mediaswcodec { file_type fs_type }:file execute_no_trans;
+
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediaswcodec domain:{ udp_socket rawip_socket } *;
+neverallow mediaswcodec { domain  }:tcp_socket *;
+#line 1 "system/sepolicy/private/mediatranscoding.te"
+# mediatranscoding - daemon for transcoding video and image.
+type mediatranscoding_exec, system_file_type, exec_type, file_type;
+type mediatranscoding_tmpfs, file_type;
+typeattribute mediatranscoding coredomain;
+
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init mediatranscoding_exec:file { getattr open read execute map };
+#line 6
+allow init mediatranscoding:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow mediatranscoding mediatranscoding_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init mediatranscoding:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init mediatranscoding:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init mediatranscoding_exec:process mediatranscoding;
+#line 6
+
+#line 6
+
+
+#line 7
+type_transition mediatranscoding tmpfs:file mediatranscoding_tmpfs;
+#line 7
+allow mediatranscoding mediatranscoding_tmpfs:file { read write getattr map };
+#line 7
+
+allow mediatranscoding appdomain_tmpfs:file { getattr map read write };
+
+
+#line 10
+# Call the servicemanager and transfer references to it.
+#line 10
+allow mediatranscoding servicemanager:binder { call transfer };
+#line 10
+# Allow servicemanager to send out callbacks
+#line 10
+allow servicemanager mediatranscoding:binder { call transfer };
+#line 10
+# servicemanager performs getpidcon on clients.
+#line 10
+allow servicemanager mediatranscoding:dir search;
+#line 10
+allow servicemanager mediatranscoding:file { read open };
+#line 10
+allow servicemanager mediatranscoding:process getattr;
+#line 10
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 10
+# all domains in domain.te.
+#line 10
+
+
+#line 11
+# Call the server domain and optionally transfer references to it.
+#line 11
+allow mediatranscoding binderservicedomain:binder { call transfer };
+#line 11
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 11
+allow binderservicedomain mediatranscoding:binder transfer;
+#line 11
+# Receive and use open files from the server.
+#line 11
+allow mediatranscoding binderservicedomain:fd use;
+#line 11
+
+
+#line 12
+# Call the server domain and optionally transfer references to it.
+#line 12
+allow mediatranscoding appdomain:binder { call transfer };
+#line 12
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 12
+allow appdomain mediatranscoding:binder transfer;
+#line 12
+# Receive and use open files from the server.
+#line 12
+allow mediatranscoding appdomain:fd use;
+#line 12
+
+
+#line 13
+typeattribute mediatranscoding binderservicedomain;
+#line 13
+
+
+
+#line 15
+  allow mediatranscoding mediatranscoding_service:service_manager { add find };
+#line 15
+  neverallow { domain -mediatranscoding } mediatranscoding_service:service_manager add;
+#line 15
+
+#line 15
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 15
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 15
+  
+#line 15
+
+
+
+#line 17
+typeattribute mediatranscoding halclientdomain;
+#line 17
+typeattribute mediatranscoding hal_graphics_allocator_client;
+#line 17
+
+#line 17
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 17
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 17
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 17
+
+#line 17
+typeattribute mediatranscoding hal_graphics_allocator;
+#line 17
+# Find passthrough HAL implementations
+#line 17
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 17
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 17
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 17
+
+#line 17
+
+
+#line 18
+typeattribute mediatranscoding halclientdomain;
+#line 18
+typeattribute mediatranscoding hal_configstore_client;
+#line 18
+
+#line 18
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 18
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 18
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 18
+
+#line 18
+typeattribute mediatranscoding hal_configstore;
+#line 18
+# Find passthrough HAL implementations
+#line 18
+allow hal_configstore system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_configstore vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_configstore vendor_file:file { read open getattr execute map };
+#line 18
+
+#line 18
+
+
+#line 19
+typeattribute mediatranscoding halclientdomain;
+#line 19
+typeattribute mediatranscoding hal_omx_client;
+#line 19
+
+#line 19
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 19
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 19
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 19
+
+#line 19
+typeattribute mediatranscoding hal_omx;
+#line 19
+# Find passthrough HAL implementations
+#line 19
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 19
+
+#line 19
+
+
+#line 20
+typeattribute mediatranscoding halclientdomain;
+#line 20
+typeattribute mediatranscoding hal_codec2_client;
+#line 20
+
+#line 20
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 20
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 20
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 20
+
+#line 20
+typeattribute mediatranscoding hal_codec2;
+#line 20
+# Find passthrough HAL implementations
+#line 20
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 20
+
+#line 20
+
+
+#line 21
+typeattribute mediatranscoding halclientdomain;
+#line 21
+typeattribute mediatranscoding hal_allocator_client;
+#line 21
+
+#line 21
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 21
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 21
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 21
+
+#line 21
+typeattribute mediatranscoding hal_allocator;
+#line 21
+# Find passthrough HAL implementations
+#line 21
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 21
+
+#line 21
+
+
+allow mediatranscoding mediaserver_service:service_manager find;
+allow mediatranscoding mediametrics_service:service_manager find;
+allow mediatranscoding mediaextractor_service:service_manager find;
+allow mediatranscoding package_native_service:service_manager find;
+allow mediatranscoding thermal_service:service_manager find;
+
+allow mediatranscoding system_server:fd use;
+allow mediatranscoding activity_service:service_manager find;
+
+# allow mediatranscoding service read/write permissions for file sources
+allow mediatranscoding sdcardfs:file { getattr read write };
+allow mediatranscoding media_rw_data_file:file { getattr read write };
+allow mediatranscoding apk_data_file:file { getattr read };
+allow mediatranscoding app_data_file:file { getattr read write };
+allow mediatranscoding shell_data_file:file { getattr read write };
+
+# allow mediatranscoding service write permission to statsd socket
+
+#line 40
+allow mediatranscoding statsdw_socket:sock_file write;
+#line 40
+allow mediatranscoding statsd:unix_dgram_socket sendto;
+#line 40
+
+
+# Allow mediatranscoding to access the DMA-BUF system heap
+allow mediatranscoding dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+allow mediatranscoding gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow mediatranscoding gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow mediatranscoding service to access media-related system properties
+
+#line 49
+allow mediatranscoding media_config_prop:file { getattr open read map };
+#line 49
+
+
+# mediatranscoding should never execute any executable without a
+# domain transition
+neverallow mediatranscoding { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediatranscoding domain:{ udp_socket rawip_socket } *;
+neverallow mediatranscoding { domain  }:tcp_socket *;
+#line 1 "system/sepolicy/private/mediatuner.te"
+# mediatuner - mediatuner daemon
+type mediatuner, domain;
+type mediatuner_exec, system_file_type, exec_type, file_type;
+
+typeattribute mediatuner coredomain;
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init mediatuner_exec:file { getattr open read execute map };
+#line 7
+allow init mediatuner:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow mediatuner mediatuner_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init mediatuner:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init mediatuner:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init mediatuner_exec:process mediatuner;
+#line 7
+
+#line 7
+
+
+#line 8
+typeattribute mediatuner halclientdomain;
+#line 8
+typeattribute mediatuner hal_tv_tuner_client;
+#line 8
+
+#line 8
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 8
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 8
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 8
+
+#line 8
+typeattribute mediatuner hal_tv_tuner;
+#line 8
+# Find passthrough HAL implementations
+#line 8
+allow hal_tv_tuner system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 8
+allow hal_tv_tuner vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 8
+allow hal_tv_tuner vendor_file:file { read open getattr execute map };
+#line 8
+
+#line 8
+
+
+
+#line 10
+# Call the servicemanager and transfer references to it.
+#line 10
+allow mediatuner servicemanager:binder { call transfer };
+#line 10
+# Allow servicemanager to send out callbacks
+#line 10
+allow servicemanager mediatuner:binder { call transfer };
+#line 10
+# servicemanager performs getpidcon on clients.
+#line 10
+allow servicemanager mediatuner:dir search;
+#line 10
+allow servicemanager mediatuner:file { read open };
+#line 10
+allow servicemanager mediatuner:process getattr;
+#line 10
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 10
+# all domains in domain.te.
+#line 10
+
+
+#line 11
+# Call the server domain and optionally transfer references to it.
+#line 11
+allow mediatuner appdomain:binder { call transfer };
+#line 11
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 11
+allow appdomain mediatuner:binder transfer;
+#line 11
+# Receive and use open files from the server.
+#line 11
+allow mediatuner appdomain:fd use;
+#line 11
+
+
+#line 12
+typeattribute mediatuner binderservicedomain;
+#line 12
+
+
+
+#line 14
+  allow mediatuner mediatuner_service:service_manager { add find };
+#line 14
+  neverallow { domain -mediatuner } mediatuner_service:service_manager add;
+#line 14
+
+#line 14
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 14
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 14
+  
+#line 14
+
+allow mediatuner system_server:fd use;
+allow mediatuner tv_tuner_resource_mgr_service:service_manager find;
+allow mediatuner package_native_service:service_manager find;
+
+#line 18
+# Call the server domain and optionally transfer references to it.
+#line 18
+allow mediatuner system_server:binder { call transfer };
+#line 18
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 18
+allow system_server mediatuner:binder transfer;
+#line 18
+# Receive and use open files from the server.
+#line 18
+allow mediatuner system_server:fd use;
+#line 18
+
+
+# Read ro.tuner.lazyhal
+
+#line 21
+allow mediatuner tuner_config_prop:file { getattr open read map };
+#line 21
+
+
+# Read tuner.server.enable
+
+#line 24
+allow mediatuner tuner_server_ctl_prop:file { getattr open read map };
+#line 24
+
+
+###
+### neverallow rules
+###
+
+# mediatuner should never execute any executable without a
+# domain transition
+neverallow mediatuner { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm mediatuner domain:{ rawip_socket tcp_socket udp_socket } ioctl 
+#line 35
+{
+#line 35
+# qualcomm rmnet ioctls
+#line 35
+0x00006900 0x00006902
+#line 35
+# socket ioctls
+#line 35
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 35
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 35
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 35
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 35
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 35
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 35
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 35
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 35
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 35
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 35
+# device and protocol specific ioctls
+#line 35
+0x000089f0-0x000089ff
+#line 35
+0x000089e0-0x000089ef
+#line 35
+# Wireless extension ioctls
+#line 35
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 35
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 35
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 35
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 35
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 35
+0x00008b34 0x00008b35 0x00008b36
+#line 35
+# Dev private ioctl i.e. hardware specific ioctls
+#line 35
+0x00008be0-0x00008bff
+#line 35
+};
+
+#line 1 "system/sepolicy/private/memcgv2_activation_depth.te"
+# The memcgv2_activation_depth.sh script run by init.
+
+type memcgv2_activation_depth, domain, coredomain;
+type memcgv2_activation_depth_exec, system_file_type, exec_type, file_type;
+
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init memcgv2_activation_depth_exec:file { getattr open read execute map };
+#line 6
+allow init memcgv2_activation_depth:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow memcgv2_activation_depth memcgv2_activation_depth_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init memcgv2_activation_depth:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init memcgv2_activation_depth:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init memcgv2_activation_depth_exec:process memcgv2_activation_depth;
+#line 6
+
+#line 6
+
+
+# required permissions to run the script from init
+allow memcgv2_activation_depth shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow memcgv2_activation_depth system_file:file { getattr execute execute_no_trans map };
+allow memcgv2_activation_depth toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# for system default max activation depth
+allow memcgv2_activation_depth cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# /metadata/libprocessgroup/*
+allow memcgv2_activation_depth libprocessgroup_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow memcgv2_activation_depth libprocessgroup_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# /sys/fs/cgroup/cgroup.controllers
+# /sys/fs/cgroup/**/cgroup.subtree_control
+allow memcgv2_activation_depth cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+allow memcgv2_activation_depth cgroup_v2:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# For reboot, when reducing the depth override
+
+#line 26
+
+#line 26
+allow memcgv2_activation_depth property_socket:sock_file write;
+#line 26
+allow memcgv2_activation_depth init:unix_stream_socket connectto;
+#line 26
+
+#line 26
+allow memcgv2_activation_depth powerctl_prop:property_service set;
+#line 26
+
+#line 26
+allow memcgv2_activation_depth powerctl_prop:file { getattr open read map };
+#line 26
+
+#line 26
+
+#line 1 "system/sepolicy/private/microfuchsiad.te"
+
+#line 1
+    type microfuchsiad, domain, coredomain;
+#line 1
+    type microfuchsiad_exec, system_file_type, exec_type, file_type;
+#line 1
+
+#line 1
+    # Host dynamic AIDL services
+#line 1
+    
+#line 1
+
+#line 1
+# Allow the necessary permissions.
+#line 1
+
+#line 1
+# Old domain may exec the file and transition to the new domain.
+#line 1
+allow init microfuchsiad_exec:file { getattr open read execute map };
+#line 1
+allow init microfuchsiad:process transition;
+#line 1
+# New domain is entered by executing the file.
+#line 1
+allow microfuchsiad microfuchsiad_exec:file { entrypoint open read execute getattr map };
+#line 1
+# New domain can send SIGCHLD to its caller.
+#line 1
+
+#line 1
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1
+dontaudit init microfuchsiad:process noatsecure;
+#line 1
+# XXX dontaudit candidate but requires further study.
+#line 1
+allow init microfuchsiad:process { siginh rlimitinh };
+#line 1
+
+#line 1
+# Make the transition occur by default.
+#line 1
+type_transition init microfuchsiad_exec:process microfuchsiad;
+#line 1
+
+#line 1
+
+#line 1
+    
+#line 1
+# Call the servicemanager and transfer references to it.
+#line 1
+allow microfuchsiad servicemanager:binder { call transfer };
+#line 1
+# Allow servicemanager to send out callbacks
+#line 1
+allow servicemanager microfuchsiad:binder { call transfer };
+#line 1
+# servicemanager performs getpidcon on clients.
+#line 1
+allow servicemanager microfuchsiad:dir search;
+#line 1
+allow servicemanager microfuchsiad:file { read open };
+#line 1
+allow servicemanager microfuchsiad:process getattr;
+#line 1
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 1
+# all domains in domain.te.
+#line 1
+
+#line 1
+    
+#line 1
+  allow microfuchsiad microfuchsia_service:service_manager { add find };
+#line 1
+  neverallow { domain -microfuchsiad } microfuchsia_service:service_manager add;
+#line 1
+
+#line 1
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 1
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 1
+  
+#line 1
+
+#line 1
+
+#line 1
+    # Call back into system server
+#line 1
+    
+#line 1
+# Call the server domain and optionally transfer references to it.
+#line 1
+allow microfuchsiad system_server:binder { call transfer };
+#line 1
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1
+allow system_server microfuchsiad:binder transfer;
+#line 1
+# Receive and use open files from the server.
+#line 1
+allow microfuchsiad system_server:fd use;
+#line 1
+
+#line 1
+
+#line 1
+    # Start a VM
+#line 1
+    
+#line 1
+# Transition to virtualizationmanager when the client executes it.
+#line 1
+
+#line 1
+# Allow the necessary permissions.
+#line 1
+
+#line 1
+# Old domain may exec the file and transition to the new domain.
+#line 1
+allow microfuchsiad virtualizationmanager_exec:file { getattr open read execute map };
+#line 1
+allow microfuchsiad virtualizationmanager:process transition;
+#line 1
+# New domain is entered by executing the file.
+#line 1
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 1
+# New domain can send SIGCHLD to its caller.
+#line 1
+allow virtualizationmanager microfuchsiad:process sigchld;
+#line 1
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1
+dontaudit microfuchsiad virtualizationmanager:process noatsecure;
+#line 1
+# XXX dontaudit candidate but requires further study.
+#line 1
+allow microfuchsiad virtualizationmanager:process { siginh rlimitinh };
+#line 1
+
+#line 1
+# Make the transition occur by default.
+#line 1
+type_transition microfuchsiad virtualizationmanager_exec:process virtualizationmanager;
+#line 1
+
+#line 1
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 1
+allow { virtualizationmanager crosvm } microfuchsiad:unix_stream_socket { ioctl getattr read write };
+#line 1
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 1
+allow { virtualizationmanager crosvm } microfuchsiad:fd use;
+#line 1
+# Let the client use file descriptors created by virtualizationmanager.
+#line 1
+allow microfuchsiad virtualizationmanager:fd use;
+#line 1
+# Allow piping console log to the client
+#line 1
+allow { virtualizationmanager crosvm } microfuchsiad:fifo_file { ioctl getattr read write };
+#line 1
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 1
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 1
+# the client can only connect to VMs that it owns.
+#line 1
+allow microfuchsiad virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 1
+# Allow client to inspect hypervisor capabilities
+#line 1
+
+#line 1
+allow microfuchsiad hypervisor_prop:file { getattr open read map };
+#line 1
+
+#line 1
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 1
+allow microfuchsiad virtualizationservice_data_file:file { getattr read };
+#line 1
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 1
+allow virtualizationmanager microfuchsiad:dir search;
+#line 1
+allow virtualizationmanager microfuchsiad:file read;
+#line 1
+allow virtualizationmanager microfuchsiad:lnk_file read;
+#line 1
+
+#line 1
+
+#line 1
+    # Create pty devices
+#line 1
+    allow microfuchsiad devpts:chr_file { read write open getattr ioctl };
+#line 18
+
+#line 1 "system/sepolicy/private/migrate_legacy_obb_data.te"
+type migrate_legacy_obb_data, domain, coredomain;
+type migrate_legacy_obb_data_exec, system_file_type, exec_type, file_type;
+
+allow migrate_legacy_obb_data media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow migrate_legacy_obb_data media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow migrate_legacy_obb_data shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+allow migrate_legacy_obb_data toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+allow migrate_legacy_obb_data self:capability { chown dac_override dac_read_search fowner fsetid };
+
+allow migrate_legacy_obb_data mnt_user_file:dir search;
+allow migrate_legacy_obb_data mnt_user_file:lnk_file read;
+allow migrate_legacy_obb_data storage_file:dir search;
+allow migrate_legacy_obb_data storage_file:lnk_file read;
+
+allow migrate_legacy_obb_data sdcard_type:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow migrate_legacy_obb_data sdcard_type:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# TODO: This should not be necessary. We don't deliberately hand over
+# any open file descriptors to this domain, so anything that triggers this
+# should be a candidate for O_CLOEXEC.
+allow migrate_legacy_obb_data installd:fd use;
+
+# This rule is required to let this process read /proc/{parent_pid}/mount.
+# TODO: Why is this required ?
+allow migrate_legacy_obb_data installd:file read;
+#line 1 "system/sepolicy/private/misctrl.te"
+# binary for generic misc partition management
+type misctrl, domain, coredomain;
+type misctrl_exec, system_file_type, exec_type, file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init misctrl_exec:file { getattr open read execute map };
+#line 5
+allow init misctrl:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow misctrl misctrl_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init misctrl:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init misctrl:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init misctrl_exec:process misctrl;
+#line 5
+
+#line 5
+
+
+allow misctrl misc_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow misctrl block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 9
+  allow misctrl { metadata_file gsi_metadata_file_type }:dir search;
+#line 9
+  allow misctrl gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 9
+  allow misctrl { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 9
+
+
+
+#line 11
+
+#line 11
+allow misctrl property_socket:sock_file write;
+#line 11
+allow misctrl init:unix_stream_socket connectto;
+#line 11
+
+#line 11
+allow misctrl misctrl_prop:property_service set;
+#line 11
+
+#line 11
+allow misctrl misctrl_prop:file { getattr open read map };
+#line 11
+
+#line 11
+
+
+# bootloader_message tries to find the fstab in the device config path first,
+# but because we've already booted up we can use the ro.boot properties instead,
+# so we can just ignore the SELinux denial.
+dontaudit misctrl sysfs_dt_firmware_android:dir search;
+dontaudit misctrl vendor_property_type:file read;
+#line 1 "system/sepolicy/private/mlstrustedsubject.te"
+# MLS override can't be used to access private app data.
+
+# Apps should not normally be mlstrustedsubject, but if they must be
+# they cannot use this to access app private data files; their own app
+# data files must use a different label.
+
+neverallow {
+  mlstrustedsubject
+  -artd # compile secondary dex files
+  -installd
+} {
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+}:file ~{ read write map getattr ioctl lock append };
+
+neverallow {
+  mlstrustedsubject
+  -artd # compile secondary dex files
+  -installd
+} {
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+}:dir ~{ read getattr search };
+
+
+#line 27
+  neverallow {
+#line 27
+    mlstrustedsubject
+#line 27
+    -artd # compile secondary dex files
+#line 27
+    -installd
+#line 27
+    -vold # encryption of storage areas
+#line 27
+    -vold_prepare_subdirs # creation of storage area directories
+#line 27
+  } { storage_area_dir storage_area_app_dir }:dir ~{ read getattr search };
+#line 35
+
+
+neverallow {
+  mlstrustedsubject
+  -artd # compile secondary dex files
+  -installd
+  -system_server
+  -adbd
+  -runas
+  -zygote
+} {
+  app_data_file
+  privapp_data_file
+  storage_area_content_file
+}:dir { read getattr search };
+
+
+#line 51
+  neverallow {
+#line 51
+    mlstrustedsubject
+#line 51
+    -artd # compile secondary dex files
+#line 51
+    -installd
+#line 51
+    -system_server
+#line 51
+    -adbd
+#line 51
+    -runas
+#line 51
+    -vold # encryption of storage area directories
+#line 51
+    -vold_prepare_subdirs # creation of storage area directories
+#line 51
+    -zygote
+#line 51
+  } { storage_area_dir storage_area_app_dir }:dir { read getattr search };
+#line 63
+
+#line 1 "system/sepolicy/private/mm_events.te"
+type mm_events, domain, coredomain;
+type mm_events_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init mm_events_exec:file { getattr open read execute map };
+#line 4
+allow init mm_events:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow mm_events mm_events_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init mm_events:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init mm_events:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init mm_events_exec:process mm_events;
+#line 4
+
+#line 4
+
+
+allow mm_events shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow running the sleep command to rate limit attempts
+# to arm mm_events on failure.
+allow mm_events toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+allow mm_events perfetto_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+
+#line 14
+# Allow the necessary permissions.
+#line 14
+
+#line 14
+# Old domain may exec the file and transition to the new domain.
+#line 14
+allow mm_events perfetto_exec:file { getattr open read execute map };
+#line 14
+allow mm_events perfetto:process transition;
+#line 14
+# New domain is entered by executing the file.
+#line 14
+allow perfetto perfetto_exec:file { entrypoint open read execute getattr map };
+#line 14
+# New domain can send SIGCHLD to its caller.
+#line 14
+allow perfetto mm_events:process sigchld;
+#line 14
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 14
+dontaudit mm_events perfetto:process noatsecure;
+#line 14
+# XXX dontaudit candidate but requires further study.
+#line 14
+allow mm_events perfetto:process { siginh rlimitinh };
+#line 14
+
+#line 14
+# Make the transition occur by default.
+#line 14
+type_transition mm_events perfetto_exec:process perfetto;
+#line 14
+
+#line 1 "system/sepolicy/private/mmd.te"
+# mmd memory management daemon
+type mmd, domain;
+typeattribute mmd coredomain;
+type mmd_exec, system_file_type, exec_type, file_type;
+
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init mmd_exec:file { getattr open read execute map };
+#line 6
+allow init mmd:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow mmd mmd_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init mmd:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init mmd:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init mmd_exec:process mmd;
+#line 6
+
+#line 6
+
+
+# Set mmd.enabled_aconfig and zram backing device size.
+
+#line 9
+
+#line 9
+allow mmd property_socket:sock_file write;
+#line 9
+allow mmd init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow mmd mmd_shared_status_prop:property_service set;
+#line 9
+
+#line 9
+allow mmd mmd_shared_status_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+#line 10
+
+#line 10
+allow mmd property_socket:sock_file write;
+#line 10
+allow mmd init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow mmd mmd_status_prop:property_service set;
+#line 10
+
+#line 10
+allow mmd mmd_status_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+#line 11
+allow mmd mmd_prop:file { getattr open read map };
+#line 11
+
+
+#line 12
+allow mmd device_config_mmd_native_prop:file { getattr open read map };
+#line 12
+
+
+# mmd binder setup
+
+#line 15
+  allow mmd mmd_service:service_manager { add find };
+#line 15
+  neverallow { domain -mmd } mmd_service:service_manager add;
+#line 15
+
+#line 15
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 15
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 15
+  
+#line 15
+
+
+#line 16
+# Call the servicemanager and transfer references to it.
+#line 16
+allow mmd servicemanager:binder { call transfer };
+#line 16
+# Allow servicemanager to send out callbacks
+#line 16
+allow servicemanager mmd:binder { call transfer };
+#line 16
+# servicemanager performs getpidcon on clients.
+#line 16
+allow servicemanager mmd:dir search;
+#line 16
+allow servicemanager mmd:file { read open };
+#line 16
+allow servicemanager mmd:process getattr;
+#line 16
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 16
+# all domains in domain.te.
+#line 16
+
+
+# Read /proc/swaps
+allow mmd proc_swaps:file { getattr open read ioctl lock map watch watch_reads };
+
+# zram sysfs access
+allow mmd sysfs_zram:dir search;
+allow mmd sysfs_zram:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# procfs
+allow mmd proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# mkswap /dev/block/zram command
+allow mmd block_device:dir search;
+allow mmd swap_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# swapon syscall
+allow mmd self:capability sys_admin;
+
+# Allow mmd to write to statsd socket.
+
+#line 36
+allow mmd statsdw_socket:sock_file write;
+#line 36
+allow mmd statsd:unix_dgram_socket sendto;
+#line 36
+
+# Allow mmd to interact with statsd binder calls for pulled atoms.
+allow mmd stats_service:service_manager find;
+allow mmd statsmanager_service:service_manager find;
+
+#line 40
+# Call the server domain and optionally transfer references to it.
+#line 40
+allow mmd statsd:binder { call transfer };
+#line 40
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 40
+allow statsd mmd:binder transfer;
+#line 40
+# Receive and use open files from the server.
+#line 40
+allow mmd statsd:fd use;
+#line 40
+
+#line 1 "system/sepolicy/private/modprobe.te"
+typeattribute modprobe coredomain;
+
+allow modprobe proc_modules:file { getattr open read ioctl lock map watch watch_reads };
+allow modprobe proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+allow modprobe self:{ capability cap_userns } sys_module;
+allow modprobe kernel:key search;
+allow modprobe system_dlkm_file:dir search;
+allow modprobe system_dlkm_file:file { getattr open read ioctl lock map watch watch_reads };
+allow modprobe system_dlkm_file:system module_load;
+#line 13
+
+#line 1 "system/sepolicy/private/mtectrl.te"
+# mtectrl is a tool to request MTE (Memory Tagging Extensions) from the bootloader.
+type mtectrl, domain, coredomain;
+type mtectrl_exec, system_file_type, exec_type, file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init mtectrl_exec:file { getattr open read execute map };
+#line 5
+allow init mtectrl:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow mtectrl mtectrl_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init mtectrl:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init mtectrl:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init mtectrl_exec:process mtectrl;
+#line 5
+
+#line 5
+
+
+# to set the sys prop to match the bootloader message state.
+
+#line 8
+
+#line 8
+allow mtectrl property_socket:sock_file write;
+#line 8
+allow mtectrl init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow mtectrl arm64_memtag_prop:property_service set;
+#line 8
+
+#line 8
+allow mtectrl arm64_memtag_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+
+# mtectrl communicates the request to the bootloader via the misc partition.
+# needs to write to update the request in misc partition, and read to sync
+# back to the property.
+allow mtectrl misc_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow mtectrl block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 15
+  allow mtectrl { metadata_file gsi_metadata_file_type }:dir search;
+#line 15
+  allow mtectrl gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 15
+  allow mtectrl { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 15
+
+
+# bootloader_message tries to find the fstab in the device config path first,
+# but because we've already booted up we can use the ro.boot properties instead,
+# so we can just ignore the SELinux denial.
+dontaudit mtectrl sysfs_dt_firmware_android:dir search;
+dontaudit mtectrl vendor_property_type:file read;
+#line 1 "system/sepolicy/private/net.te"
+# Bind to ports.
+allow {netdomain -ephemeral_app -sdk_sandbox_all} node_type:{ icmp_socket rawip_socket tcp_socket udp_socket } node_bind;
+allow {netdomain -ephemeral_app -sdk_sandbox_all} port_type:udp_socket name_bind;
+allow {netdomain -ephemeral_app -sdk_sandbox_all} port_type:tcp_socket name_bind;
+
+# b/141455849 gate RTM_GETLINK with a new permission nlmsg_readpriv and block access from
+# untrusted_apps.
+# b/171572148 gate RTM_GETNEIGH{TBL} with a new permission nlmsg_getneigh and block access from
+# untrusted_apps. Some untrusted apps (e.g. untrusted_app_25-30) are granted access elsewhere
+# to avoid app-compat breakage.
+allow {
+  netdomain
+  -ephemeral_app
+  -mediaprovider
+  -priv_app
+  -sdk_sandbox_all
+  -untrusted_app_all
+} self:netlink_route_socket { bind nlmsg_readpriv nlmsg_getneigh };
+
+###
+### Domain with network access
+###
+
+# Use network sockets.
+allow netdomain self:tcp_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+allow netdomain self:{ icmp_socket udp_socket rawip_socket } { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Connect to ports.
+allow netdomain port_type:tcp_socket name_connect;
+# See changes to the routing table.
+allow netdomain self:netlink_route_socket { create read getattr write setattr lock append connect getopt setopt shutdown nlmsg_read };
+
+# Talks to netd via dnsproxyd socket.
+
+#line 34
+allow netdomain dnsproxyd_socket:sock_file write;
+#line 34
+allow netdomain netd:unix_stream_socket connectto;
+#line 34
+
+
+# Talks to netd via fwmarkd socket.
+
+#line 37
+allow netdomain fwmarkd_socket:sock_file write;
+#line 37
+allow netdomain netd:unix_stream_socket connectto;
+#line 37
+
+#line 1 "system/sepolicy/private/netd.te"
+typeattribute netd coredomain;
+typeattribute netd bpfdomain;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init netd_exec:file { getattr open read execute map };
+#line 4
+allow init netd:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow netd netd_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init netd:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init netd:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init netd_exec:process netd;
+#line 4
+
+#line 4
+
+
+# Allow netd to spawn dnsmasq in it's own domain
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow netd dnsmasq_exec:file { getattr open read execute map };
+#line 7
+allow netd dnsmasq:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow dnsmasq dnsmasq_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+allow dnsmasq netd:process sigchld;
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit netd dnsmasq:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow netd dnsmasq:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition netd dnsmasq_exec:process dnsmasq;
+#line 7
+
+
+allow netd { fs_bpf fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_vendor }:dir search;
+allow netd { fs_bpf fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_vendor }:file { getattr read };
+allow netd { fs_bpf                      fs_bpf_netd_shared               }:file write;
+
+# give netd permission to setup iptables rule with xt_bpf, attach program to cgroup,
+# create maps, and read/write maps created by bpfloader, itself and NS/SS mainline networking
+allow netd bpfloader:bpf prog_run;
+allow netd self:bpf map_create;
+allow netd { bpfloader netd network_stack system_server }:bpf { map_read map_write };
+
+# in order to invoke side effect of close() on such a socket calling synchronize_rcu()
+# TODO: Still needed as of kernel 6.6-rc1 - see BpfUtils.h synchronizeKernelRCU()
+# TODO: Remove this after we remove all bpf interactions from netd.
+allow netd self:key_socket create;
+
+
+#line 24
+
+#line 24
+allow netd property_socket:sock_file write;
+#line 24
+allow netd init:unix_stream_socket connectto;
+#line 24
+
+#line 24
+allow netd ctl_mdnsd_prop:property_service set;
+#line 24
+
+#line 24
+allow netd ctl_mdnsd_prop:file { getattr open read map };
+#line 24
+
+#line 24
+
+
+#line 25
+
+#line 25
+allow netd property_socket:sock_file write;
+#line 25
+allow netd init:unix_stream_socket connectto;
+#line 25
+
+#line 25
+allow netd netd_stable_secret_prop:property_service set;
+#line 25
+
+#line 25
+allow netd netd_stable_secret_prop:file { getattr open read map };
+#line 25
+
+#line 25
+
+
+
+#line 27
+allow netd adbd_config_prop:file { getattr open read map };
+#line 27
+
+
+#line 28
+allow netd hwservicemanager_prop:file { getattr open read map };
+#line 28
+
+
+#line 29
+allow netd device_config_netd_native_prop:file { getattr open read map };
+#line 29
+
+
+# Allow netd to write to statsd.
+
+#line 32
+allow netd statsdw_socket:sock_file write;
+#line 32
+allow netd statsd:unix_dgram_socket sendto;
+#line 32
+
+
+# Allow netd to send callbacks to network_stack
+
+#line 35
+# Call the server domain and optionally transfer references to it.
+#line 35
+allow netd network_stack:binder { call transfer };
+#line 35
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 35
+allow network_stack netd:binder transfer;
+#line 35
+# Receive and use open files from the server.
+#line 35
+allow netd network_stack:fd use;
+#line 35
+
+
+# Allow netd to send dump info to dumpstate
+allow netd dumpstate:fd use;
+allow netd dumpstate:fifo_file { getattr write };
+
+
+#line 41
+typeattribute netd netdomain;
+#line 41
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 43
+allow netd mdnsd_socket:sock_file write;
+#line 43
+allow netd mdnsd:unix_stream_socket connectto;
+#line 43
+
+# in addition to ioctls allowlisted for all domains, grant netd priv_sock_ioctls.
+allowxperm netd self:udp_socket ioctl 
+#line 45
+{
+#line 45
+# qualcomm rmnet ioctls
+#line 45
+0x00006900 0x00006902
+#line 45
+# socket ioctls
+#line 45
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 45
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 45
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 45
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 45
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 45
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 45
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 45
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 45
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 45
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 45
+# device and protocol specific ioctls
+#line 45
+0x000089f0-0x000089ff
+#line 45
+0x000089e0-0x000089ef
+#line 45
+# Wireless extension ioctls
+#line 45
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 45
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 45
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 45
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 45
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 45
+0x00008b34 0x00008b35 0x00008b36
+#line 45
+# Dev private ioctl i.e. hardware specific ioctls
+#line 45
+0x00008be0-0x00008bff
+#line 45
+};
+
+
+#line 47
+allow netd cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 47
+allow netd cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 47
+
+
+allow netd system_server:fd use;
+
+allow netd self:{ capability cap_userns } { net_admin net_raw net_bind_service kill };
+# Note: fsetid is deliberately not included above. fsetid checks are
+# triggered by chmod on a directory or file owned by a group other
+# than one of the groups assigned to the current process to see if
+# the setgid bit should be cleared, regardless of whether the setgid
+# bit was even set.  We do not appear to truly need this capability
+# for netd to operate.
+dontaudit netd self:{ capability cap_userns } fsetid;
+
+# Allow netd to open /dev/tun, set it up and pass it to clatd
+allow netd tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm netd tun_device:chr_file ioctl { 0x800454d2 0x400454ca };
+allow netd self:tun_socket create;
+
+allow netd self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netd self:netlink_route_socket nlmsg_write;
+allow netd self:netlink_nflog_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netd self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netd self:netlink_tcpdiag_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_read nlmsg_write };
+allow netd self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netd self:netlink_netfilter_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netd shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow netd system_file:file { getattr execute execute_no_trans map };
+allow netd vendor_file:file { getattr execute execute_no_trans map };
+allow netd devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Acquire advisory lock on /system/etc/xtables.lock. If this file doesn't
+# exist, suppress the denial.
+allow netd system_file:file lock;
+dontaudit netd system_file:dir write;
+
+
+#line 82
+allow netd proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow netd proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 82
+
+# For /proc/sys/net/ipv[46]/route/flush.
+allow netd proc_net_type:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Enables PppController and interface enumeration (among others)
+allow netd sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 88
+allow netd sysfs_net:dir { open getattr read search ioctl lock watch watch_reads };
+#line 88
+allow netd sysfs_net:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 88
+
+
+# Allows setting interface MTU
+allow netd sysfs_net:file { open append write lock map };
+
+# TODO: added to match above sysfs rule. Remove me?
+allow netd sysfs_usb:file write;
+
+
+#line 96
+allow netd cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 96
+allow netd cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 96
+
+
+# TODO: netd previously thought it needed these permissions to do WiFi related
+#       work.  However, after all the WiFi stuff is gone, we still need them.
+#       Why?
+allow netd self:{ capability cap_userns } { dac_override dac_read_search chown };
+
+# Needed to update /data/misc/net/rt_tables
+allow netd net_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow netd net_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow netd self:{ capability cap_userns } fowner;
+
+# Needed to lock the iptables lock.
+allow netd system_file:file lock;
+
+# Allow netd to spawn dnsmasq in it's own domain
+allow netd dnsmasq:process { sigkill signal };
+
+# Allow netd to publish a binder service and make binder calls.
+
+#line 115
+# Call the servicemanager and transfer references to it.
+#line 115
+allow netd servicemanager:binder { call transfer };
+#line 115
+# Allow servicemanager to send out callbacks
+#line 115
+allow servicemanager netd:binder { call transfer };
+#line 115
+# servicemanager performs getpidcon on clients.
+#line 115
+allow servicemanager netd:dir search;
+#line 115
+allow servicemanager netd:file { read open };
+#line 115
+allow servicemanager netd:process getattr;
+#line 115
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 115
+# all domains in domain.te.
+#line 115
+
+
+#line 116
+  allow netd netd_service:service_manager { add find };
+#line 116
+  neverallow { domain -netd } netd_service:service_manager add;
+#line 116
+
+#line 116
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 116
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 116
+  
+#line 116
+
+
+#line 117
+  allow netd dnsresolver_service:service_manager { add find };
+#line 117
+  neverallow { domain -netd } dnsresolver_service:service_manager add;
+#line 117
+
+#line 117
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 117
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 117
+  
+#line 117
+
+
+#line 118
+  allow netd mdns_service:service_manager { add find };
+#line 118
+  neverallow { domain -netd } mdns_service:service_manager add;
+#line 118
+
+#line 118
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 118
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 118
+  
+#line 118
+
+allow netd dumpstate:fifo_file  { getattr write };
+
+# Allow netd to call into the system server so it can check permissions.
+allow netd system_server:binder call;
+allow netd permission_service:service_manager find;
+
+# Allow netd to talk to the framework service which collects netd events.
+allow netd netd_listener_service:service_manager find;
+
+# Allow netd to operate on sockets that are passed to it.
+allow netd netdomain:{
+  icmp_socket
+  tcp_socket
+  udp_socket
+  rawip_socket
+  tun_socket
+} { read write getattr setattr getopt setopt };
+allow netd netdomain:fd use;
+
+# give netd permission to read and write netlink xfrm
+allow netd self:netlink_xfrm_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_write nlmsg_read };
+
+# Allow netd to register as hal server.
+
+#line 142
+  allow netd system_net_netd_hwservice:hwservice_manager { add find };
+#line 142
+  allow netd hidl_base_hwservice:hwservice_manager add;
+#line 142
+  neverallow { domain -netd } system_net_netd_hwservice:hwservice_manager add;
+#line 142
+
+
+#line 143
+# Call the hwservicemanager and transfer references to it.
+#line 143
+allow netd hwservicemanager:binder { call transfer };
+#line 143
+# Allow hwservicemanager to send out callbacks
+#line 143
+allow hwservicemanager netd:binder { call transfer };
+#line 143
+# hwservicemanager performs getpidcon on clients.
+#line 143
+allow hwservicemanager netd:dir search;
+#line 143
+allow hwservicemanager netd:file { read open map };
+#line 143
+allow hwservicemanager netd:process getattr;
+#line 143
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 143
+# all domains in domain.te.
+#line 143
+
+
+# AIDL hal server
+
+#line 146
+# Call the server domain and optionally transfer references to it.
+#line 146
+allow system_net_netd_service servicemanager:binder { call transfer };
+#line 146
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 146
+allow servicemanager system_net_netd_service:binder transfer;
+#line 146
+# Receive and use open files from the server.
+#line 146
+allow system_net_netd_service servicemanager:fd use;
+#line 146
+
+
+#line 147
+  allow netd system_net_netd_service:service_manager { add find };
+#line 147
+  neverallow { domain -netd } system_net_netd_service:service_manager add;
+#line 147
+
+#line 147
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 147
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 147
+  
+#line 147
+
+
+###
+### Neverallow rules
+###
+### netd should NEVER do any of this
+
+# Block device access.
+neverallow netd dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow netd { domain }:process ptrace;
+
+# Write to /system.
+neverallow netd system_file_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Write to files in /data/data or system files on /data
+neverallow netd { app_data_file_type system_data_file }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# only system_server, dumpstate and network stack app may find netd service
+neverallow {
+    domain
+    -system_server
+    -dumpstate
+    -network_stack
+    -netd
+    -netutils_wrapper
+} netd_service:service_manager find;
+
+# only system_server, dumpstate and network stack app may find dnsresolver service
+neverallow {
+    domain
+    -system_server
+    -dumpstate
+    -network_stack
+    -netd
+    -netutils_wrapper
+} dnsresolver_service:service_manager find;
+
+# only system_server, dumpstate and network stack app may find mdns service
+neverallow {
+    domain
+    -system_server
+    -dumpstate
+    -network_stack
+    -netd
+    -netutils_wrapper
+} mdns_service:service_manager find;
+
+# apps may not interact with netd over binder.
+neverallow { appdomain -network_stack } netd:binder call;
+neverallow netd { appdomain -network_stack  }:binder call;
+
+# If an already existing file is opened with O_CREATE, the kernel might generate
+# a false report of a create denial. Silence these denials and make sure that
+# inappropriate permissions are not granted.
+neverallow netd proc_net:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+dontaudit netd proc_net:dir write;
+
+neverallow netd sysfs_net:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+dontaudit netd sysfs_net:dir write;
+
+# Netd should not have SYS_ADMIN privs.
+neverallow netd self:capability sys_admin;
+dontaudit netd self:capability sys_admin;
+
+# Netd should not have SYS_MODULE privs, nor should it be requesting module loads
+# (things it requires should be built directly into the kernel)
+dontaudit netd self:capability sys_module;
+
+dontaudit netd appdomain:unix_stream_socket { read write };
+
+# persist.netd.stable_secret contains RFC 7217 secret key which should never be
+# leaked to other processes. Make sure it never leaks.
+neverallow { domain -netd -init -dumpstate } netd_stable_secret_prop:file { getattr open read ioctl lock map watch watch_reads };
+
+# We want to ensure that no other process ever tries tampering with persist.netd.stable_secret,
+# the RFC 7217 secret key managed by netd. Doing so could compromise user privacy.
+neverallow { domain -netd -init } netd_stable_secret_prop:property_service set;
+#line 1 "system/sepolicy/private/netutils_wrapper.te"
+typeattribute netutils_wrapper coredomain;
+typeattribute netutils_wrapper bpfdomain;
+
+
+#line 4
+allow netutils_wrapper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 4
+allow netutils_wrapper system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 4
+;
+
+# For netutils (ip, iptables, tc)
+allow netutils_wrapper self:{ capability cap_userns } net_raw;
+
+allow netutils_wrapper system_file:file { execute execute_no_trans };
+allow netutils_wrapper proc_net_type:file { open read getattr };
+allow netutils_wrapper self:rawip_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netutils_wrapper self:udp_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow netutils_wrapper self:{ capability cap_userns } net_admin;
+# ip utils need everything but ioctl
+allow netutils_wrapper self:netlink_route_socket ~ioctl;
+allow netutils_wrapper self:netlink_xfrm_socket ~ioctl;
+
+# For netutils (ndc) to be able to talk to netd
+allow netutils_wrapper netd_service:service_manager find;
+allow netutils_wrapper dnsresolver_service:service_manager find;
+allow netutils_wrapper mdns_service:service_manager find;
+
+#line 22
+# Call the servicemanager and transfer references to it.
+#line 22
+allow netutils_wrapper servicemanager:binder { call transfer };
+#line 22
+# Allow servicemanager to send out callbacks
+#line 22
+allow servicemanager netutils_wrapper:binder { call transfer };
+#line 22
+# servicemanager performs getpidcon on clients.
+#line 22
+allow servicemanager netutils_wrapper:dir search;
+#line 22
+allow servicemanager netutils_wrapper:file { read open };
+#line 22
+allow servicemanager netutils_wrapper:process getattr;
+#line 22
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 22
+# all domains in domain.te.
+#line 22
+;
+
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow netutils_wrapper netd:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow netd netutils_wrapper:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow netutils_wrapper netd:fd use;
+#line 23
+;
+
+# For vendor code that update the iptables rules at runtime. They need to reload
+# the whole chain including the xt_bpf rules. They need to access to the pinned
+# program when reloading the rule.
+allow netutils_wrapper { fs_bpf fs_bpf_netd_shared fs_bpf_vendor }:dir search;
+allow netutils_wrapper { fs_bpf fs_bpf_netd_shared fs_bpf_vendor }:file { getattr read };
+allow netutils_wrapper { fs_bpf                                  }:file write;
+allow netutils_wrapper bpfloader:bpf prog_run;
+
+# For /data/misc/net access to ndc and ip
+
+#line 34
+allow netutils_wrapper net_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 34
+allow netutils_wrapper net_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 34
+
+
+
+#line 36
+# Allow the necessary permissions.
+#line 36
+
+#line 36
+# Old domain may exec the file and transition to the new domain.
+#line 36
+allow {
+#line 36
+    domain
+#line 36
+    -coredomain
+#line 36
+    -appdomain
+#line 36
+} netutils_wrapper_exec:file { getattr open read execute map };
+#line 36
+allow {
+#line 36
+    domain
+#line 36
+    -coredomain
+#line 36
+    -appdomain
+#line 36
+} netutils_wrapper:process transition;
+#line 36
+# New domain is entered by executing the file.
+#line 36
+allow netutils_wrapper netutils_wrapper_exec:file { entrypoint open read execute getattr map };
+#line 36
+# New domain can send SIGCHLD to its caller.
+#line 36
+allow netutils_wrapper {
+#line 36
+    domain
+#line 36
+    -coredomain
+#line 36
+    -appdomain
+#line 36
+}:process sigchld;
+#line 36
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 36
+dontaudit {
+#line 36
+    domain
+#line 36
+    -coredomain
+#line 36
+    -appdomain
+#line 36
+} netutils_wrapper:process noatsecure;
+#line 36
+# XXX dontaudit candidate but requires further study.
+#line 36
+allow {
+#line 36
+    domain
+#line 36
+    -coredomain
+#line 36
+    -appdomain
+#line 36
+} netutils_wrapper:process { siginh rlimitinh };
+#line 36
+
+#line 36
+# Make the transition occur by default.
+#line 36
+type_transition {
+#line 36
+    domain
+#line 36
+    -coredomain
+#line 36
+    -appdomain
+#line 36
+} netutils_wrapper_exec:process netutils_wrapper;
+#line 40
+
+
+###
+### Neverallow rules
+###
+
+# suppress spurious denials
+dontaudit netutils_wrapper self:{ capability cap_userns } sys_resource;
+dontaudit netutils_wrapper sysfs_type:file read;
+
+# netutils wrapper may only use the following capabilities.
+neverallow netutils_wrapper self:{ capability cap_userns } ~{ net_admin net_raw };
+
+neverallow { domain  } netutils_wrapper_exec:file execute_no_trans;
+#line 1 "system/sepolicy/private/network_stack.te"
+# Networking service app
+typeattribute network_stack coredomain;
+typeattribute network_stack mlstrustedsubject;
+typeattribute network_stack bpfdomain;
+
+
+#line 6
+typeattribute network_stack appdomain;
+#line 6
+# Label tmpfs objects for all apps.
+#line 6
+type_transition network_stack tmpfs:file appdomain_tmpfs;
+#line 6
+
+#line 6
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 6
+type network_stack_userfaultfd;
+#line 6
+type_transition network_stack network_stack:anon_inode network_stack_userfaultfd "[userfaultfd]";
+#line 6
+# Allow domain to create/use userfaultfd anon_inode.
+#line 6
+allow network_stack network_stack_userfaultfd:anon_inode { create ioctl read };
+#line 6
+# Suppress errors generate during bugreport
+#line 6
+dontaudit su network_stack_userfaultfd:anon_inode *;
+#line 6
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 6
+neverallow { domain -network_stack } network_stack_userfaultfd:anon_inode *;
+#line 6
+
+#line 6
+allow network_stack appdomain_tmpfs:file { execute getattr map read write };
+#line 6
+neverallow { network_stack -runas_app -shell -simpleperf } { domain -network_stack }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+neverallow { appdomain -runas_app -shell -simpleperf -network_stack } network_stack:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+# The Android security model guarantees the confidentiality and integrity
+#line 6
+# of application data and execution state. Ptrace bypasses those
+#line 6
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 6
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 6
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 6
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 6
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 6
+# live lock conditions.
+#line 6
+neverallow { domain -network_stack -crash_dump  -runas_app -simpleperf } network_stack:process ptrace;
+#line 6
+;
+
+#line 7
+typeattribute network_stack netdomain;
+#line 7
+;
+
+allow network_stack self:{ capability cap_userns } {
+    net_admin
+    net_bind_service
+    net_broadcast
+    net_raw
+};
+
+allow network_stack self:{ capability2 cap2_userns } wake_alarm;
+
+# Allow access to net_admin ioctl, DHCP server uses SIOCSARP
+allowxperm network_stack self:udp_socket ioctl 
+#line 19
+{
+#line 19
+# qualcomm rmnet ioctls
+#line 19
+0x00006900 0x00006902
+#line 19
+# socket ioctls
+#line 19
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 19
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 19
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 19
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 19
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 19
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 19
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 19
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 19
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 19
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 19
+# device and protocol specific ioctls
+#line 19
+0x000089f0-0x000089ff
+#line 19
+0x000089e0-0x000089ef
+#line 19
+# Wireless extension ioctls
+#line 19
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 19
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 19
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 19
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 19
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 19
+0x00008b34 0x00008b35 0x00008b36
+#line 19
+# Dev private ioctl i.e. hardware specific ioctls
+#line 19
+0x00008be0-0x00008bff
+#line 19
+};
+
+# The DhcpClient uses packet_sockets
+allow network_stack self:packet_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Monitor neighbors via netlink.
+allow network_stack self:netlink_route_socket nlmsg_write;
+
+# Use netlink uevent sockets.
+allow network_stack self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# give network_stack the same netlink permissions as netd
+allow network_stack self:netlink_nflog_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow network_stack self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow network_stack self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+allow network_stack app_api_service:service_manager find;
+allow network_stack dnsresolver_service:service_manager find;
+allow network_stack mdns_service:service_manager find;
+allow network_stack netd_service:service_manager find;
+allow network_stack network_watchlist_service:service_manager find;
+allow network_stack radio_service:service_manager find;
+allow network_stack system_config_service:service_manager find;
+allow network_stack radio_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow network_stack radio_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 45
+# Call the server domain and optionally transfer references to it.
+#line 45
+allow network_stack netd:binder { call transfer };
+#line 45
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 45
+allow netd network_stack:binder transfer;
+#line 45
+# Receive and use open files from the server.
+#line 45
+allow network_stack netd:fd use;
+#line 45
+;
+
+# in order to invoke side effect of close() on such a socket calling synchronize_rcu()
+# TODO: Still needed as of kernel 6.6-rc1 - see BpfUtils.h synchronizeKernelRCU()
+allow network_stack self:key_socket create;
+# Java's Os.close() in libcore/luni/src/main/java/libcore/io/BlockGuardOs.java;l=100
+# calls if (fd.isSocket$()) if (isLingerSocket(fd)) ...
+dontaudit network_stack self:key_socket getopt;
+
+# Allow network_stack to open/read/getattr various /proc/net files
+# (includes /proc/net/{anycast6,igmp,psched} /proc/sys/net/ipv4/ip_default_ttl)
+
+#line 56
+allow network_stack proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 56
+allow network_stack proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 56
+
+
+# Grant read permission of connectivity namespace system property prefix.
+
+#line 59
+allow network_stack device_config_connectivity_prop:file { getattr open read map };
+#line 59
+
+
+# Create/use netlink_tcpdiag_socket to get tcp info
+allow network_stack self:netlink_tcpdiag_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_read nlmsg_write };
+############### Tethering Service app - Tethering.apk ##############
+
+#line 64
+typeattribute network_stack halclientdomain;
+#line 64
+typeattribute network_stack hal_tetheroffload_client;
+#line 64
+
+#line 64
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 64
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 64
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 64
+
+#line 64
+typeattribute network_stack hal_tetheroffload;
+#line 64
+# Find passthrough HAL implementations
+#line 64
+allow hal_tetheroffload system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 64
+allow hal_tetheroffload vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 64
+allow hal_tetheroffload vendor_file:file { read open getattr execute map };
+#line 64
+
+#line 64
+
+# Create and share netlink_netfilter_sockets for tetheroffload.
+allow network_stack self:netlink_netfilter_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow network_stack network_stack_service:service_manager find;
+# allow Tethering(network_stack process) to run/update/read the eBPF maps to offload tethering traffic by eBPF.
+allow network_stack { fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:dir search;
+allow network_stack { fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:file { getattr read write };
+allow network_stack bpfloader:bpf prog_run;
+allow network_stack self:bpf map_create;
+allow network_stack { bpfloader netd network_stack system_server }:bpf { map_read map_write };
+
+# allow Tethering(network_stack process) to read flag value in tethering_u_or_later_native namespace
+
+#line 76
+allow network_stack device_config_tethering_u_or_later_native_prop:file { getattr open read map };
+#line 76
+
+
+# Use XFRM (IPsec) netlink sockets
+allow network_stack self:netlink_xfrm_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_write nlmsg_read };
+
+# tun device used for 3rd party vpn apps and test network manager
+allow network_stack tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm network_stack tun_device:chr_file ioctl { 0x800454d2 0x400454ca 0x400454cd 0x400454e2 };
+
+############### NEVER ALLOW RULES
+# This place is as good as any for these rules,
+# and it is probably the most appropriate because
+# network_stack itself is entirely mainline code.
+
+# T+: Only the bpfloader and the network_stack should ever touch 'fs_bpf_net_private' programs/maps.
+neverallow { domain -bpfloader -network_stack } fs_bpf_net_private:dir ~getattr;
+neverallow { domain -bpfloader -network_stack } fs_bpf_net_private:file *;
+
+# T+: Only the bpfloader, network_stack and system_server should ever touch 'fs_bpf_net_shared' programs/maps.
+neverallow { domain -bpfloader -network_stack -system_server } fs_bpf_net_shared:dir ~getattr;
+neverallow { domain -bpfloader -network_stack -system_server } fs_bpf_net_shared:file *;
+
+# T+: Only the bpfloader, netd, network_stack and system_server should ever touch 'fs_bpf_netd_readonly' programs/maps.
+# netd's access should be readonly
+neverallow { domain -bpfloader -netd -network_stack -system_server } fs_bpf_netd_readonly:dir ~getattr;
+neverallow { domain -bpfloader -netd -network_stack -system_server } fs_bpf_netd_readonly:file *;
+neverallow netd fs_bpf_netd_readonly:file write;
+
+# T+: Only the bpfloader, netd, netutils_wrapper, network_stack and system_server should ever touch 'fs_bpf_netd_shared' programs/maps.
+# netutils_wrapper requires access to be able to run iptables and only needs readonly access
+neverallow { domain -bpfloader -netd -netutils_wrapper -network_stack -system_server } fs_bpf_netd_shared:dir ~getattr;
+neverallow { domain -bpfloader -netd -netutils_wrapper -network_stack -system_server } fs_bpf_netd_shared:file *;
+neverallow netutils_wrapper fs_bpf_netd_shared:file write;
+
+# S+: Only the bpfloader and the network_stack should ever touch 'fs_bpf_tethering' programs/maps.
+neverallow { domain -bpfloader -network_stack } fs_bpf_tethering:dir ~getattr;
+neverallow { domain -bpfloader -network_stack } fs_bpf_tethering:file *;
+#line 1 "system/sepolicy/private/nfc.te"
+# nfc subsystem
+typeattribute nfc coredomain, mlstrustedsubject;
+
+#line 3
+typeattribute nfc appdomain;
+#line 3
+# Label tmpfs objects for all apps.
+#line 3
+type_transition nfc tmpfs:file appdomain_tmpfs;
+#line 3
+
+#line 3
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 3
+type nfc_userfaultfd;
+#line 3
+type_transition nfc nfc:anon_inode nfc_userfaultfd "[userfaultfd]";
+#line 3
+# Allow domain to create/use userfaultfd anon_inode.
+#line 3
+allow nfc nfc_userfaultfd:anon_inode { create ioctl read };
+#line 3
+# Suppress errors generate during bugreport
+#line 3
+dontaudit su nfc_userfaultfd:anon_inode *;
+#line 3
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 3
+neverallow { domain -nfc } nfc_userfaultfd:anon_inode *;
+#line 3
+
+#line 3
+allow nfc appdomain_tmpfs:file { execute getattr map read write };
+#line 3
+neverallow { nfc -runas_app -shell -simpleperf } { domain -nfc }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+neverallow { appdomain -runas_app -shell -simpleperf -nfc } nfc:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+# The Android security model guarantees the confidentiality and integrity
+#line 3
+# of application data and execution state. Ptrace bypasses those
+#line 3
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 3
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 3
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 3
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 3
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 3
+# live lock conditions.
+#line 3
+neverallow { domain -nfc -crash_dump  -runas_app -simpleperf } nfc:process ptrace;
+#line 3
+
+
+#line 4
+typeattribute nfc netdomain;
+#line 4
+
+
+
+#line 6
+typeattribute nfc binderservicedomain;
+#line 6
+
+
+#line 7
+  allow nfc nfc_service:service_manager { add find };
+#line 7
+  neverallow { domain -nfc } nfc_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+
+
+#line 9
+typeattribute nfc halclientdomain;
+#line 9
+typeattribute nfc hal_nfc_client;
+#line 9
+
+#line 9
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 9
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 9
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 9
+
+#line 9
+typeattribute nfc hal_nfc;
+#line 9
+# Find passthrough HAL implementations
+#line 9
+allow hal_nfc system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_nfc vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_nfc vendor_file:file { read open getattr execute map };
+#line 9
+
+#line 9
+
+
+# Data file accesses.
+allow nfc nfc_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow nfc nfc_data_file:{ file lnk_file sock_file fifo_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow nfc nfc_logs_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow nfc nfc_logs_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# SoundPool loading and playback
+allow nfc audioserver_service:service_manager find;
+allow nfc drmserver_service:service_manager find;
+allow nfc mediametrics_service:service_manager find;
+allow nfc mediaextractor_service:service_manager find;
+allow nfc mediaserver_service:service_manager find;
+
+allow nfc radio_service:service_manager find;
+allow nfc app_api_service:service_manager find;
+allow nfc system_api_service:service_manager find;
+allow nfc vr_manager_service:service_manager find;
+allow nfc secure_element_service:service_manager find;
+
+
+#line 30
+
+#line 30
+allow nfc property_socket:sock_file write;
+#line 30
+allow nfc init:unix_stream_socket connectto;
+#line 30
+
+#line 30
+allow nfc nfc_prop:property_service set;
+#line 30
+
+#line 30
+allow nfc nfc_prop:file { getattr open read map };
+#line 30
+
+#line 30
+;
+
+# already open bugreport file descriptors may be shared with
+# the nfc process, from a file in
+# /data/data/com.android.shell/files/bugreports/bugreport-*.
+allow nfc shell_data_file:file read;
+
+# Allow to check whether security logging is enabled.
+
+#line 38
+allow nfc device_logging_prop:file { getattr open read map };
+#line 38
+
+#line 1 "system/sepolicy/private/odrefresh.te"
+# odrefresh
+type odrefresh, domain, coredomain, artd_subprocess_type;
+type odrefresh_exec, system_file_type, exec_type, file_type;
+
+# Allow odrefresh to create files and directories for on device signing.
+allow odrefresh apex_module_data_file:dir { getattr search };
+allow odrefresh apex_art_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelfrom };
+allow odrefresh apex_art_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelto } ;
+
+# Allow odrefresh to create data files (typically for metrics before statsd starts).
+allow odrefresh odrefresh_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow odrefresh odrefresh_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 14
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 14
+type odrefresh_userfaultfd;
+#line 14
+type_transition odrefresh odrefresh:anon_inode odrefresh_userfaultfd "[userfaultfd]";
+#line 14
+# Allow domain to create/use userfaultfd anon_inode.
+#line 14
+allow odrefresh odrefresh_userfaultfd:anon_inode { create ioctl read };
+#line 14
+# Suppress errors generate during bugreport
+#line 14
+dontaudit su odrefresh_userfaultfd:anon_inode *;
+#line 14
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 14
+neverallow { domain -odrefresh } odrefresh_userfaultfd:anon_inode *;
+#line 14
+
+
+# Staging area labels (/data/misc/apexdata/com.android.art/staging). odrefresh
+# sets up files here and passes file descriptors for dex2oat to write to.
+allow odrefresh apex_art_staging_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow odrefresh apex_art_staging_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } relabelfrom };
+
+# Run dex2oat in its own sandbox.
+
+#line 22
+# Allow the necessary permissions.
+#line 22
+
+#line 22
+# Old domain may exec the file and transition to the new domain.
+#line 22
+allow odrefresh dex2oat_exec:file { getattr open read execute map };
+#line 22
+allow odrefresh dex2oat:process transition;
+#line 22
+# New domain is entered by executing the file.
+#line 22
+allow dex2oat dex2oat_exec:file { entrypoint open read execute getattr map };
+#line 22
+# New domain can send SIGCHLD to its caller.
+#line 22
+allow dex2oat odrefresh:process sigchld;
+#line 22
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 22
+dontaudit odrefresh dex2oat:process noatsecure;
+#line 22
+# XXX dontaudit candidate but requires further study.
+#line 22
+allow odrefresh dex2oat:process { siginh rlimitinh };
+#line 22
+
+#line 22
+# Make the transition occur by default.
+#line 22
+type_transition odrefresh dex2oat_exec:process dex2oat;
+#line 22
+
+
+# Allow odrefresh to kill dex2oat if compilation times out.
+allow odrefresh dex2oat:process sigkill;
+
+# Use devpts and fd from odsign (which exec()'s odrefresh)
+allow odrefresh odsign_devpts:chr_file { read write };
+allow odrefresh odsign:fd use;
+
+# Allow odrefresh to read /apex/apex-info-list.xml to determine
+# whether current apex is in /system or /data.
+allow odrefresh apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow updating boot animation status.
+
+#line 36
+
+#line 36
+allow odrefresh property_socket:sock_file write;
+#line 36
+allow odrefresh init:unix_stream_socket connectto;
+#line 36
+
+#line 36
+allow odrefresh bootanim_system_prop:property_service set;
+#line 36
+
+#line 36
+allow odrefresh bootanim_system_prop:file { getattr open read map };
+#line 36
+
+#line 36
+
+
+# Allow query ART device config properties
+
+#line 39
+allow odrefresh device_config_runtime_native_prop:file { getattr open read map };
+#line 39
+
+
+#line 40
+allow odrefresh device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 40
+
+
+# Do not audit unused resources from parent processes (adb, shell, su).
+# These appear to be unnecessary for odrefresh.
+dontaudit odrefresh { adbd shell }:fd use;
+dontaudit odrefresh devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+dontaudit odrefresh adbd:unix_stream_socket { getattr read write };
+
+# Read access to SELinux context files, for restorecon.
+allow odrefresh file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow odrefresh seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Check validity of SELinux context, for restorecon.
+
+#line 53
+
+#line 53
+allow odrefresh selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 53
+allow odrefresh selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 53
+
+#line 53
+allow odrefresh selinuxfs:file { open append write lock map };
+#line 53
+allow odrefresh kernel:security check_context;
+#line 53
+
+
+# odrefresh iterates over all properties to find the ones that it's interested
+# in. It's okay to ignore denials on other properties.
+dontaudit odrefresh property_type:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow to be called by artd in Pre-reboot Dexopt.
+allow odrefresh artd:fd use;
+
+# Neverallow rules.
+
+# No other processes should be creating files in the staging area.
+neverallow { domain -init -odrefresh -compos_fd_server } apex_art_staging_data_file:file open;
+
+# No processes other than init, odrefresh, system_server, and artd access
+# odrefresh_data_files.
+# Among those, artd only needs to bind-mount /data/misc/odrefresh, but doesn't
+# need to access the files.
+neverallow { domain -init -odrefresh -system_server -artd } odrefresh_data_file:dir *;
+neverallow { domain -init -odrefresh -system_server } odrefresh_data_file:file *;
+#line 1 "system/sepolicy/private/odsign.te"
+# odsign - on-device signing.
+type odsign, domain;
+
+# odsign - Binary for signing ART artifacts.
+typeattribute odsign coredomain;
+
+type odsign_exec, exec_type, file_type, system_file_type;
+
+# Allow init to start odsign
+
+#line 10
+
+#line 10
+# Allow the necessary permissions.
+#line 10
+
+#line 10
+# Old domain may exec the file and transition to the new domain.
+#line 10
+allow init odsign_exec:file { getattr open read execute map };
+#line 10
+allow init odsign:process transition;
+#line 10
+# New domain is entered by executing the file.
+#line 10
+allow odsign odsign_exec:file { entrypoint open read execute getattr map };
+#line 10
+# New domain can send SIGCHLD to its caller.
+#line 10
+
+#line 10
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 10
+dontaudit init odsign:process noatsecure;
+#line 10
+# XXX dontaudit candidate but requires further study.
+#line 10
+allow init odsign:process { siginh rlimitinh };
+#line 10
+
+#line 10
+# Make the transition occur by default.
+#line 10
+type_transition init odsign_exec:process odsign;
+#line 10
+
+#line 10
+
+
+# Allow using persistent storage in /data/odsign
+allow odsign odsign_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow odsign odsign_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow using persistent storage in /data/odsign/metrics - to add metrics related files
+allow odsign odsign_metrics_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow odsign odsign_metrics_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Create and use pty created by android_fork_execvp().
+
+#line 21
+# Each domain gets a unique devpts type.
+#line 21
+type odsign_devpts, fs_type;
+#line 21
+# Label the pty with the unique type when created.
+#line 21
+type_transition odsign devpts:chr_file odsign_devpts;
+#line 21
+# Allow use of the pty after creation.
+#line 21
+allow odsign odsign_devpts:chr_file { open getattr read write ioctl };
+#line 21
+allowxperm odsign odsign_devpts:chr_file ioctl {
+#line 21
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 21
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 21
+};
+#line 21
+# TIOCSTI is only ever used for exploits. Block it.
+#line 21
+# b/33073072, b/7530569
+#line 21
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+#line 21
+neverallowxperm * odsign_devpts:chr_file ioctl 0x00005412;
+#line 21
+# Note: devpts:dir search and ptmx_device:chr_file rw_file_perms
+#line 21
+# allowed to everyone via domain.te.
+#line 21
+
+
+# FS_IOC_ENABLE_VERITY and FS_IOC_MEASURE_VERITY on ART data files
+allowxperm odsign apex_art_data_file:file ioctl {
+  0x6685 0x6686 0x80086601
+};
+
+# talk to binder services (for keystore)
+
+#line 29
+# Call the servicemanager and transfer references to it.
+#line 29
+allow odsign servicemanager:binder { call transfer };
+#line 29
+# Allow servicemanager to send out callbacks
+#line 29
+allow servicemanager odsign:binder { call transfer };
+#line 29
+# servicemanager performs getpidcon on clients.
+#line 29
+allow servicemanager odsign:dir search;
+#line 29
+allow servicemanager odsign:file { read open };
+#line 29
+allow servicemanager odsign:process getattr;
+#line 29
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 29
+# all domains in domain.te.
+#line 29
+;
+
+# talk to keystore specifically
+
+#line 32
+  allow keystore odsign:dir search;
+#line 32
+  allow keystore odsign:file { read open };
+#line 32
+  allow keystore odsign:process getattr;
+#line 32
+  allow odsign apc_service:service_manager find;
+#line 32
+  allow odsign keystore_service:service_manager find;
+#line 32
+  allow odsign legacykeystore_service:service_manager find;
+#line 32
+  
+#line 32
+# Call the server domain and optionally transfer references to it.
+#line 32
+allow odsign keystore:binder { call transfer };
+#line 32
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 32
+allow keystore odsign:binder transfer;
+#line 32
+# Receive and use open files from the server.
+#line 32
+allow odsign keystore:fd use;
+#line 32
+
+#line 32
+  
+#line 32
+# Call the server domain and optionally transfer references to it.
+#line 32
+allow keystore odsign:binder { call transfer };
+#line 32
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 32
+allow odsign keystore:binder transfer;
+#line 32
+# Receive and use open files from the server.
+#line 32
+allow keystore odsign:fd use;
+#line 32
+
+#line 32
+;
+
+# Use our dedicated keystore key
+allow odsign odsign_key:keystore2_key {
+    delete
+    get_info
+    rebind
+    use
+};
+
+# talk to keymaster
+
+#line 43
+typeattribute odsign halclientdomain;
+#line 43
+typeattribute odsign hal_keymaster_client;
+#line 43
+
+#line 43
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 43
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 43
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 43
+
+#line 43
+typeattribute odsign hal_keymaster;
+#line 43
+# Find passthrough HAL implementations
+#line 43
+allow hal_keymaster system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 43
+allow hal_keymaster vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 43
+allow hal_keymaster vendor_file:file { read open getattr execute map };
+#line 43
+
+#line 43
+
+
+# For ART apex data dir access
+allow odsign apex_module_data_file:dir { getattr search };
+
+allow odsign apex_art_data_file:dir { { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } rmdir rename };
+allow odsign apex_art_data_file:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } unlink };
+
+# Run odrefresh to refresh ART artifacts
+
+#line 52
+# Allow the necessary permissions.
+#line 52
+
+#line 52
+# Old domain may exec the file and transition to the new domain.
+#line 52
+allow odsign odrefresh_exec:file { getattr open read execute map };
+#line 52
+allow odsign odrefresh:process transition;
+#line 52
+# New domain is entered by executing the file.
+#line 52
+allow odrefresh odrefresh_exec:file { entrypoint open read execute getattr map };
+#line 52
+# New domain can send SIGCHLD to its caller.
+#line 52
+allow odrefresh odsign:process sigchld;
+#line 52
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 52
+dontaudit odsign odrefresh:process noatsecure;
+#line 52
+# XXX dontaudit candidate but requires further study.
+#line 52
+allow odsign odrefresh:process { siginh rlimitinh };
+#line 52
+
+#line 52
+# Make the transition occur by default.
+#line 52
+type_transition odsign odrefresh_exec:process odrefresh;
+#line 52
+
+
+# Run compos_verify to verify CompOs signatures
+
+#line 55
+# Allow the necessary permissions.
+#line 55
+
+#line 55
+# Old domain may exec the file and transition to the new domain.
+#line 55
+allow odsign compos_verify_exec:file { getattr open read execute map };
+#line 55
+allow odsign compos_verify:process transition;
+#line 55
+# New domain is entered by executing the file.
+#line 55
+allow compos_verify compos_verify_exec:file { entrypoint open read execute getattr map };
+#line 55
+# New domain can send SIGCHLD to its caller.
+#line 55
+allow compos_verify odsign:process sigchld;
+#line 55
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 55
+dontaudit odsign compos_verify:process noatsecure;
+#line 55
+# XXX dontaudit candidate but requires further study.
+#line 55
+allow odsign compos_verify:process { siginh rlimitinh };
+#line 55
+
+#line 55
+# Make the transition occur by default.
+#line 55
+type_transition odsign compos_verify_exec:process compos_verify;
+#line 55
+
+
+# only odsign can set odsign sysprop
+
+#line 58
+
+#line 58
+allow odsign property_socket:sock_file write;
+#line 58
+allow odsign init:unix_stream_socket connectto;
+#line 58
+
+#line 58
+allow odsign odsign_prop:property_service set;
+#line 58
+
+#line 58
+allow odsign odsign_prop:file { getattr open read map };
+#line 58
+
+#line 58
+
+neverallow { domain -odsign -init } odsign_prop:property_service set;
+
+# Allow odsign to stop itself
+
+#line 62
+
+#line 62
+allow odsign property_socket:sock_file write;
+#line 62
+allow odsign init:unix_stream_socket connectto;
+#line 62
+
+#line 62
+allow odsign ctl_odsign_prop:property_service set;
+#line 62
+
+#line 62
+allow odsign ctl_odsign_prop:file { getattr open read map };
+#line 62
+
+#line 62
+
+
+# Neverallows
+neverallow { domain -odsign -init} odsign_data_file:dir ~search;
+neverallow { domain -odsign -init} odsign_data_file:file *;
+#line 1 "system/sepolicy/private/ot_ctl.te"
+#
+# ot-ctl is a command line tool for controlling ot-daemon
+#
+
+type ot_ctl, domain, coredomain;
+type ot_ctl_exec, exec_type, file_type, system_file_type;
+
+# ot-ctl is available in only userdebug or eng build
+#line 12
+
+#line 1 "system/sepolicy/private/ot_daemon.te"
+#
+# ot_daemon is the native Thread network stack on the host (Android) side.
+# Refer to https://www.threadgroup.org for Thread network knowledge.
+#
+
+# ot_daemon
+type ot_daemon, domain, coredomain;
+type ot_daemon_exec, exec_type, file_type, system_file_type;
+
+# Allow init ot_daemon
+
+#line 11
+
+#line 11
+# Allow the necessary permissions.
+#line 11
+
+#line 11
+# Old domain may exec the file and transition to the new domain.
+#line 11
+allow init ot_daemon_exec:file { getattr open read execute map };
+#line 11
+allow init ot_daemon:process transition;
+#line 11
+# New domain is entered by executing the file.
+#line 11
+allow ot_daemon ot_daemon_exec:file { entrypoint open read execute getattr map };
+#line 11
+# New domain can send SIGCHLD to its caller.
+#line 11
+
+#line 11
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 11
+dontaudit init ot_daemon:process noatsecure;
+#line 11
+# XXX dontaudit candidate but requires further study.
+#line 11
+allow init ot_daemon:process { siginh rlimitinh };
+#line 11
+
+#line 11
+# Make the transition occur by default.
+#line 11
+type_transition init ot_daemon_exec:process ot_daemon;
+#line 11
+
+#line 11
+
+# Allow the ot_daemon to use the net domain.
+
+#line 13
+typeattribute ot_daemon netdomain;
+#line 13
+
+
+# Allow ot_daemon to find /data/misc/apexdata/com.android.tethering
+allow ot_daemon apex_module_data_file:dir search;
+
+# Allow the ot_daemon to access files and subdirectories under
+# /data/misc/apexdata/com\.android\.tethering
+allow ot_daemon apex_tethering_data_file:dir {create { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } }};
+allow ot_daemon apex_tethering_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow OT daemon to read/write the Thread tunnel interface
+allow ot_daemon tun_device:chr_file {read write};
+
+# Allow OT daemon to read/write on the socket created by System Server
+allow ot_daemon system_server:rawip_socket { read getattr write setattr lock append bind connect getopt setopt shutdown map };
+
+# Allow OT daemon to read/write on the UDP sockets created by system server
+allow ot_daemon system_server:udp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+
+
+#line 32
+typeattribute ot_daemon halclientdomain;
+#line 32
+typeattribute ot_daemon hal_threadnetwork_client;
+#line 32
+
+#line 32
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 32
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 32
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 32
+
+#line 32
+typeattribute ot_daemon hal_threadnetwork;
+#line 32
+# Find passthrough HAL implementations
+#line 32
+allow hal_threadnetwork system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow hal_threadnetwork vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow hal_threadnetwork vendor_file:file { read open getattr execute map };
+#line 32
+
+#line 32
+
+
+# Only ot_daemon can publish the binder service
+
+#line 35
+# Call the servicemanager and transfer references to it.
+#line 35
+allow ot_daemon servicemanager:binder { call transfer };
+#line 35
+# Allow servicemanager to send out callbacks
+#line 35
+allow servicemanager ot_daemon:binder { call transfer };
+#line 35
+# servicemanager performs getpidcon on clients.
+#line 35
+allow servicemanager ot_daemon:dir search;
+#line 35
+allow servicemanager ot_daemon:file { read open };
+#line 35
+allow servicemanager ot_daemon:process getattr;
+#line 35
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 35
+# all domains in domain.te.
+#line 35
+
+
+#line 36
+  allow ot_daemon ot_daemon_service:service_manager { add find };
+#line 36
+  neverallow { domain -ot_daemon } ot_daemon_service:service_manager add;
+#line 36
+
+#line 36
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 36
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 36
+  
+#line 36
+
+
+#line 37
+# Call the server domain and optionally transfer references to it.
+#line 37
+allow ot_daemon system_server:binder { call transfer };
+#line 37
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 37
+allow system_server ot_daemon:binder transfer;
+#line 37
+# Receive and use open files from the server.
+#line 37
+allow ot_daemon system_server:fd use;
+#line 37
+
+
+# Allow OT daemon to write to statsd
+
+#line 40
+allow ot_daemon statsdw_socket:sock_file write;
+#line 40
+allow ot_daemon statsd:unix_dgram_socket sendto;
+#line 40
+
+
+# For collecting bugreports.
+allow ot_daemon dumpstate:fd use;
+allow ot_daemon dumpstate:fifo_file write;
+
+# ot-daemon socket is for only ot-daemon and ot-ctl
+neverallow {
+  domain
+  -ot_daemon
+  
+  -init
+  -vendor_init
+} ot_daemon_socket:sock_file *;
+#line 1 "system/sepolicy/private/otapreopt_chroot.te"
+# otapreopt_chroot executable
+type otapreopt_chroot, domain;
+typeattribute otapreopt_chroot coredomain;
+type otapreopt_chroot_exec, exec_type, file_type, system_file_type;
+
+# Chroot preparation and execution.
+# We need to create an unshared mount namespace, and then mount /data.
+allow otapreopt_chroot postinstall_file:dir { search mounton };
+allow otapreopt_chroot apex_mnt_dir:dir mounton;
+allow otapreopt_chroot device:dir mounton;
+allow otapreopt_chroot linkerconfig_file:dir mounton;
+allow otapreopt_chroot rootfs:dir mounton;
+allow otapreopt_chroot sysfs:dir mounton;
+allow otapreopt_chroot system_data_root_file:dir mounton;
+allow otapreopt_chroot system_file:dir mounton;
+allow otapreopt_chroot vendor_file:dir mounton;
+allow otapreopt_chroot self:{ capability cap_userns } { sys_admin sys_chroot };
+
+# This is required to mount /vendor and mount/unmount ext4 images from
+# APEX packages in /postinstall/apex.
+allow otapreopt_chroot block_device:dir search;
+allow otapreopt_chroot labeledfs:filesystem { mount unmount };
+# This is required for dynamic partitions.
+allow otapreopt_chroot dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# This is required to unmount flattened APEX packages under
+# /postinstall/system/apex (which are bind-mounted in /postinstall/apex).
+allow otapreopt_chroot postinstall_file:filesystem unmount;
+# Mounting /vendor can have this side-effect. Ignore denial.
+dontaudit otapreopt_chroot kernel:process setsched;
+
+# Allow otapreopt_chroot to read SELinux policy files.
+allow otapreopt_chroot file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow otapreopt_chroot to open and read the contents of /postinstall/system/apex.
+allow otapreopt_chroot postinstall_file:dir { open getattr read search ioctl lock watch watch_reads };
+# Allow otapreopt_chroot to read the persist.apexd.verity_on_system system property.
+
+#line 38
+allow otapreopt_chroot apexd_prop:file { getattr open read map };
+#line 38
+
+
+# Allow otapreopt to use file descriptors from update-engine and the postinstall
+# script. It will read dexopt commands from stdin and write progress to stdout.
+allow otapreopt_chroot postinstall:fd use;
+allow otapreopt_chroot postinstall:fifo_file { read write getattr };
+allow otapreopt_chroot update_engine:fd use;
+allow otapreopt_chroot update_engine:fifo_file write;
+
+# Allow to transition to postinstall_dexopt, to run otapreopt in its own sandbox.
+
+#line 48
+# Allow the necessary permissions.
+#line 48
+
+#line 48
+# Old domain may exec the file and transition to the new domain.
+#line 48
+allow otapreopt_chroot postinstall_dexopt_exec:file { getattr open read execute map };
+#line 48
+allow otapreopt_chroot postinstall_dexopt:process transition;
+#line 48
+# New domain is entered by executing the file.
+#line 48
+allow postinstall_dexopt postinstall_dexopt_exec:file { entrypoint open read execute getattr map };
+#line 48
+# New domain can send SIGCHLD to its caller.
+#line 48
+allow postinstall_dexopt otapreopt_chroot:process sigchld;
+#line 48
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 48
+dontaudit otapreopt_chroot postinstall_dexopt:process noatsecure;
+#line 48
+# XXX dontaudit candidate but requires further study.
+#line 48
+allow otapreopt_chroot postinstall_dexopt:process { siginh rlimitinh };
+#line 48
+
+#line 48
+# Make the transition occur by default.
+#line 48
+type_transition otapreopt_chroot postinstall_dexopt_exec:process postinstall_dexopt;
+#line 48
+
+
+#line 49
+# Allow the necessary permissions.
+#line 49
+
+#line 49
+# Old domain may exec the file and transition to the new domain.
+#line 49
+allow otapreopt_chroot linkerconfig_exec:file { getattr open read execute map };
+#line 49
+allow otapreopt_chroot linkerconfig:process transition;
+#line 49
+# New domain is entered by executing the file.
+#line 49
+allow linkerconfig linkerconfig_exec:file { entrypoint open read execute getattr map };
+#line 49
+# New domain can send SIGCHLD to its caller.
+#line 49
+allow linkerconfig otapreopt_chroot:process sigchld;
+#line 49
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 49
+dontaudit otapreopt_chroot linkerconfig:process noatsecure;
+#line 49
+# XXX dontaudit candidate but requires further study.
+#line 49
+allow otapreopt_chroot linkerconfig:process { siginh rlimitinh };
+#line 49
+
+#line 49
+# Make the transition occur by default.
+#line 49
+type_transition otapreopt_chroot linkerconfig_exec:process linkerconfig;
+#line 49
+
+
+#line 50
+# Allow the necessary permissions.
+#line 50
+
+#line 50
+# Old domain may exec the file and transition to the new domain.
+#line 50
+allow otapreopt_chroot apexd_exec:file { getattr open read execute map };
+#line 50
+allow otapreopt_chroot apexd:process transition;
+#line 50
+# New domain is entered by executing the file.
+#line 50
+allow apexd apexd_exec:file { entrypoint open read execute getattr map };
+#line 50
+# New domain can send SIGCHLD to its caller.
+#line 50
+allow apexd otapreopt_chroot:process sigchld;
+#line 50
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 50
+dontaudit otapreopt_chroot apexd:process noatsecure;
+#line 50
+# XXX dontaudit candidate but requires further study.
+#line 50
+allow otapreopt_chroot apexd:process { siginh rlimitinh };
+#line 50
+
+#line 50
+# Make the transition occur by default.
+#line 50
+type_transition otapreopt_chroot apexd_exec:process apexd;
+#line 50
+
+
+# Allow otapreopt_chroot to control linkerconfig
+allow otapreopt_chroot linkerconfig_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow otapreopt_chroot linkerconfig_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow otapreopt_chroot to create loop devices with /dev/loop-control.
+allow otapreopt_chroot loop_control_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# Allow otapreopt_chroot to access loop devices.
+allow otapreopt_chroot loop_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm otapreopt_chroot loop_device:blk_file ioctl {
+  0x00004c0a
+  0x00004c05
+  0x00004c04
+  0x00004c00
+  0x00004c09
+  0x00004c08
+  0x00004c01
+  0x00001261
+};
+
+# Allow otapreopt_chroot to configure read-ahead of loop devices.
+allow otapreopt_chroot sysfs_loop:dir { open getattr read search ioctl lock watch watch_reads };
+allow otapreopt_chroot sysfs_loop:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow otapreopt_chroot to mount a tmpfs filesystem in /postinstall/apex.
+allow otapreopt_chroot tmpfs:filesystem mount;
+# Allow otapreopt_chroot to restore the security context of /postinstall/apex.
+allow otapreopt_chroot tmpfs:dir relabelfrom;
+allow otapreopt_chroot postinstall_apex_mnt_dir:dir relabelto;
+
+# Allow otapreopt_chroot to manipulate directory /postinstall/apex.
+allow otapreopt_chroot postinstall_apex_mnt_dir:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow otapreopt_chroot postinstall_apex_mnt_dir:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# Allow otapreopt_chroot to mount APEX packages in /postinstall/apex.
+allow otapreopt_chroot postinstall_apex_mnt_dir:dir mounton;
+
+# Allow otapreopt_chroot to access /dev/block (needed to detach loop
+# devices used by ext4 images from APEX packages).
+allow otapreopt_chroot block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow to access the linker through the symlink.
+allow otapreopt_chroot postinstall_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow otapreopt_chroot to read ro.cold_boot_done prop.
+# This is a temporary solution to make sure that otapreopt_chroot doesn't block indefinetelly.
+# TODO(b/165948777): remove this once otapreopt_chroot is migrated to libapexmount.
+
+#line 97
+allow otapreopt_chroot cold_boot_done_prop:file { getattr open read map };
+#line 97
+
+
+# allow otapreopt_chroot to run the linkerconfig from the new image.
+allow otapreopt_chroot linkerconfig_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 1 "system/sepolicy/private/otapreopt_slot.te"
+# This command set moves the artifact corresponding to the current slot
+# from /data/ota to /data/dalvik-cache.
+
+type otapreopt_slot, domain, mlstrustedsubject, coredomain;
+type otapreopt_slot_exec, system_file_type, exec_type, file_type;
+
+# Technically not a daemon but we do want the transition from init domain to
+# cppreopts to occur.
+
+#line 9
+
+#line 9
+# Allow the necessary permissions.
+#line 9
+
+#line 9
+# Old domain may exec the file and transition to the new domain.
+#line 9
+allow init otapreopt_slot_exec:file { getattr open read execute map };
+#line 9
+allow init otapreopt_slot:process transition;
+#line 9
+# New domain is entered by executing the file.
+#line 9
+allow otapreopt_slot otapreopt_slot_exec:file { entrypoint open read execute getattr map };
+#line 9
+# New domain can send SIGCHLD to its caller.
+#line 9
+
+#line 9
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 9
+dontaudit init otapreopt_slot:process noatsecure;
+#line 9
+# XXX dontaudit candidate but requires further study.
+#line 9
+allow init otapreopt_slot:process { siginh rlimitinh };
+#line 9
+
+#line 9
+# Make the transition occur by default.
+#line 9
+type_transition init otapreopt_slot_exec:process otapreopt_slot;
+#line 9
+
+#line 9
+
+
+# The otapreopt_slot renames the OTA dalvik-cache to the regular dalvik-cache, and cleans up
+# the directory afterwards. For logging of aggregate size, we need getattr.
+allow otapreopt_slot ota_data_file:dir { { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } rename reparent rmdir };
+allow otapreopt_slot ota_data_file:{ file lnk_file } getattr;
+# (du follows symlinks)
+allow otapreopt_slot ota_data_file:lnk_file read;
+
+# Delete old content of the dalvik-cache.
+allow otapreopt_slot dalvikcache_data_file:dir { add_name getattr open read remove_name rmdir search write };
+allow otapreopt_slot dalvikcache_data_file:file { getattr unlink };
+allow otapreopt_slot dalvikcache_data_file:lnk_file { getattr read unlink };
+
+# Allow cppreopts to execute itself using #!/system/bin/sh
+allow otapreopt_slot shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow running the mv and rm/rmdir commands using otapreopt_slot  permissions.
+# Needed so we can move artifacts into /data/dalvik-cache/dalvik-cache.
+allow otapreopt_slot toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 1 "system/sepolicy/private/overlay_remounter.te"
+# Domain used for overlay_remounter process
+
+# All types must be defined regardless of build variant to ensure
+# policy compilation succeeds with userdebug/user combination at boot
+type overlay_remounter, domain, coredomain;
+
+# File types must be defined for file_contexts.
+type overlay_remounter_exec, system_file_type, exec_type, file_type;
+
+#line 47
+
+#line 1 "system/sepolicy/private/perfetto.te"
+# Perfetto command-line client. Can be used only from the domains that are
+# explicitly allowlisted with a domain_auto_trans(X, perfetto_exec, perfetto).
+# This command line client accesses the privileged socket of the traced
+# daemon.
+
+type perfetto_exec, system_file_type, exec_type, file_type;
+type perfetto_tmpfs, file_type;
+
+
+#line 9
+type_transition perfetto tmpfs:file perfetto_tmpfs;
+#line 9
+allow perfetto perfetto_tmpfs:file { read write getattr map };
+#line 9
+;
+
+# Allow init to start a trace (for perfetto_boottrace).
+
+#line 12
+
+#line 12
+# Allow the necessary permissions.
+#line 12
+
+#line 12
+# Old domain may exec the file and transition to the new domain.
+#line 12
+allow init perfetto_exec:file { getattr open read execute map };
+#line 12
+allow init perfetto:process transition;
+#line 12
+# New domain is entered by executing the file.
+#line 12
+allow perfetto perfetto_exec:file { entrypoint open read execute getattr map };
+#line 12
+# New domain can send SIGCHLD to its caller.
+#line 12
+
+#line 12
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 12
+dontaudit init perfetto:process noatsecure;
+#line 12
+# XXX dontaudit candidate but requires further study.
+#line 12
+allow init perfetto:process { siginh rlimitinh };
+#line 12
+
+#line 12
+# Make the transition occur by default.
+#line 12
+type_transition init perfetto_exec:process perfetto;
+#line 12
+
+#line 12
+
+
+# Allow to access traced's privileged consumer socket.
+
+#line 15
+allow perfetto traced_consumer_socket:sock_file write;
+#line 15
+allow perfetto traced:unix_stream_socket connectto;
+#line 15
+
+
+# Connect to the Perfetto traced daemon as a producer. This requires
+# connecting to its producer socket and obtaining a (per-process) tmpfs fd.
+
+#line 19
+  allow perfetto traced:fd use;
+#line 19
+  allow perfetto traced_tmpfs:file { read write getattr map };
+#line 19
+  
+#line 19
+allow perfetto traced_producer_socket:sock_file write;
+#line 19
+allow perfetto traced:unix_stream_socket connectto;
+#line 19
+
+#line 19
+
+#line 19
+  # Also allow the service to use the producer file descriptors. This is
+#line 19
+  # necessary when the producer is creating the shared memory, as it will be
+#line 19
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 19
+  allow traced perfetto:fd use;
+#line 19
+
+
+# Allow to write and unlink traces into /data/misc/perfetto-traces.
+allow perfetto perfetto_traces_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow perfetto perfetto_traces_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow to write and unlink trace into /data/misc/perfetto-traces/bugreport*
+allow perfetto perfetto_traces_bugreport_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow perfetto perfetto_traces_bugreport_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Allow to write and unlink traces into /data/misc/perfetto-traces/profiling.
+allow perfetto perfetto_traces_profiling_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow perfetto perfetto_traces_profiling_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow perfetto to access the proxy service for reporting traces.
+allow perfetto tracingproxy_service:service_manager find;
+
+#line 35
+# Call the servicemanager and transfer references to it.
+#line 35
+allow perfetto servicemanager:binder { call transfer };
+#line 35
+# Allow servicemanager to send out callbacks
+#line 35
+allow servicemanager perfetto:binder { call transfer };
+#line 35
+# servicemanager performs getpidcon on clients.
+#line 35
+allow servicemanager perfetto:dir search;
+#line 35
+allow servicemanager perfetto:file { read open };
+#line 35
+allow servicemanager perfetto:process getattr;
+#line 35
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 35
+# all domains in domain.te.
+#line 35
+
+
+#line 36
+# Call the server domain and optionally transfer references to it.
+#line 36
+allow perfetto system_server:binder { call transfer };
+#line 36
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 36
+allow system_server perfetto:binder transfer;
+#line 36
+# Receive and use open files from the server.
+#line 36
+allow perfetto system_server:fd use;
+#line 36
+
+
+# Allow perfetto to read the trace config from /data/misc/perfetto-configs.
+# shell and adb can write files into that directory.
+allow perfetto perfetto_configs_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow perfetto perfetto_configs_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow perfetto to read the trace config from /system/etc/perfetto.
+allow perfetto system_perfetto_config_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow perfetto system_perfetto_config_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow perfetto to read the trace config from statsd, mm_events and shell
+# (both root and non-root) on stdin and also to write the resulting trace to
+# stdout.
+allow perfetto { statsd mm_events shell su }:fd use;
+allow perfetto { statsd mm_events shell su system_server }:fifo_file { getattr read write ioctl };
+
+# Allow to communicate use, read and write over the adb connection.
+allow perfetto adbd:fd use;
+allow perfetto adbd:unix_stream_socket { read write };
+
+# Allow adbd to reap perfetto.
+allow perfetto adbd:process { sigchld };
+
+# Allow perfetto to write to statsd.
+
+#line 61
+allow perfetto statsdw_socket:sock_file write;
+#line 61
+allow perfetto statsd:unix_dgram_socket sendto;
+#line 61
+
+
+# Allow to access /dev/pts when launched in an adb shell.
+allow perfetto devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow perfetto to ask incidentd to start a report.
+# TODO(lalitm): remove all incidentd rules when proxy service is stable.
+allow perfetto incident_service:service_manager find;
+
+#line 69
+# Call the server domain and optionally transfer references to it.
+#line 69
+allow perfetto incidentd:binder { call transfer };
+#line 69
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 69
+allow incidentd perfetto:binder transfer;
+#line 69
+# Receive and use open files from the server.
+#line 69
+allow perfetto incidentd:fd use;
+#line 69
+
+
+# perfetto log formatter calls isatty() on its stderr. Denial when running
+# under adbd is harmless. Avoid generating denial logs.
+dontaudit perfetto adbd:unix_stream_socket getattr;
+dontauditxperm perfetto adbd:unix_stream_socket ioctl {
+#line 74
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 74
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 74
+};
+# As above, when adbd is running in "su" domain (only the ioctl is denied in
+# practice).
+dontauditxperm perfetto su:unix_stream_socket ioctl {
+#line 77
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 77
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 77
+};
+# Similarly, CTS tests end up hitting a denial on shell pipes.
+dontauditxperm perfetto shell:fifo_file ioctl {
+#line 79
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 79
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 79
+};
+
+###
+### Neverallow rules
+###
+
+# Disallow anyone else from being able to handle traces except selected system
+# components.
+neverallow {
+  domain
+  -init      # The creator of the folder.
+  -perfetto  # The owner of the folder.
+  -adbd      # For pulling traces.
+  -shell     # For devepment purposes.
+  -traced    # For write_into_file traces.
+  -dumpstate # For attaching traces to bugreports.
+  -incidentd # For receiving reported traces. TODO(lalitm): remove this.
+  -priv_app  # For stating traces for bug-report UI.
+  -system_server # For accessing traces started by profiling apis.
+  -trace_redactor # For accessing traces to be redacted.
+} perfetto_traces_data_file:dir *;
+neverallow {
+  domain
+  -init      # The creator of the folder.
+  -perfetto  # The owner of the folder.
+  -adbd      # For pulling traces.
+  -shell     # For devepment purposes.
+  -traced    # For write_into_file traces.
+  -incidentd      # For receiving reported traces. TODO(lalitm): remove this.
+  -trace_redactor # For redacting trace files.
+} perfetto_traces_data_file:file ~{ getattr read };
+
+### perfetto should NEVER do any of the following
+
+# Disallow mapping executable memory (execstack and exec are already disallowed
+# globally in domain.te).
+neverallow perfetto self:process execmem;
+
+# Block device access.
+neverallow perfetto dev_type:blk_file { read write };
+
+# ptrace any other process
+neverallow perfetto domain:process ptrace;
+
+# Disallows access to other /data files.
+neverallow perfetto {
+  data_file_type
+  -system_data_file
+  -system_data_root_file
+  -media_userdir_file
+  -system_userdir_file
+  -vendor_userdir_file
+  # TODO(b/72998741) Remove exemption. Further restricted in a subsequent
+  # neverallow. Currently only getattr and search are allowed.
+  -vendor_data_file
+  -perfetto_traces_data_file
+  -perfetto_traces_bugreport_data_file
+  -perfetto_traces_profiling_data_file
+  -perfetto_configs_data_file
+  
+}:dir *;
+neverallow perfetto {
+  system_data_file
+  -perfetto_traces_data_file
+  -perfetto_traces_profiling_data_file
+}:dir ~{ getattr search };
+neverallow perfetto {
+  data_file_type
+  -perfetto_traces_data_file
+  -perfetto_traces_bugreport_data_file
+  -perfetto_traces_profiling_data_file
+  -perfetto_configs_data_file
+  
+}:file ~write;
+#line 1 "system/sepolicy/private/performanced.te"
+typeattribute performanced coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init performanced_exec:file { getattr open read execute map };
+#line 3
+allow init performanced:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow performanced performanced_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init performanced:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init performanced:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init performanced_exec:process performanced;
+#line 3
+
+#line 3
+
+
+# Needed to check for app permissions.
+
+#line 6
+# Call the servicemanager and transfer references to it.
+#line 6
+allow performanced servicemanager:binder { call transfer };
+#line 6
+# Allow servicemanager to send out callbacks
+#line 6
+allow servicemanager performanced:binder { call transfer };
+#line 6
+# servicemanager performs getpidcon on clients.
+#line 6
+allow servicemanager performanced:dir search;
+#line 6
+allow servicemanager performanced:file { read open };
+#line 6
+allow servicemanager performanced:process getattr;
+#line 6
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 6
+# all domains in domain.te.
+#line 6
+
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow performanced system_server:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow system_server performanced:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow performanced system_server:fd use;
+#line 7
+
+allow performanced permission_service:service_manager find;
+
+
+#line 10
+# Mark the server domain as a PDX server.
+#line 10
+typeattribute performanced pdx_performance_client_server_type;
+#line 10
+# Allow the init process to create the initial endpoint socket.
+#line 10
+allow init pdx_performance_client_endpoint_socket_type:unix_stream_socket { create bind };
+#line 10
+# Allow the server domain to use the endpoint socket and accept connections on it.
+#line 10
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 10
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 10
+allow performanced pdx_performance_client_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+#line 10
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+#line 10
+allow performanced self:process setsockcreate;
+#line 10
+# Allow the server domain to create a client channel socket.
+#line 10
+allow performanced pdx_performance_client_channel_socket_type:unix_stream_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+#line 10
+# Prevent other processes from claiming to be a server for the same service.
+#line 10
+neverallow {domain -performanced} pdx_performance_client_endpoint_socket_type:unix_stream_socket { listen accept };
+#line 10
+
+
+# TODO: use file caps to obtain sys_nice instead of setuid / setgid.
+allow performanced self:{ capability cap_userns } { setuid setgid sys_nice };
+
+# Access /proc to validate we're only affecting threads in the same thread group.
+# Performanced also shields unbound kernel threads.  It scans every task in the
+# root cpu set, but only affects the kernel threads.
+
+#line 18
+allow performanced { appdomain bufferhubd kernel surfaceflinger }:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow performanced { appdomain bufferhubd kernel surfaceflinger }:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 18
+
+dontaudit performanced domain:dir read;
+allow performanced { appdomain bufferhubd kernel surfaceflinger }:process setsched;
+
+# These /proc accesses only show up in permissive mode but they
+# generate a lot of noise in the log.
+#line 27
+
+
+# Access /dev/cpuset/cpuset.cpus
+
+#line 30
+allow performanced cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 30
+allow performanced cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 30
+
+
+#line 31
+allow performanced cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 31
+allow performanced cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 31
+
+#line 1 "system/sepolicy/private/permissioncontroller_app.te"
+###
+### A domain for further sandboxing the GooglePermissionController app.
+###
+type permissioncontroller_app, domain, coredomain;
+
+
+#line 6
+typeattribute permissioncontroller_app appdomain;
+#line 6
+# Label tmpfs objects for all apps.
+#line 6
+type_transition permissioncontroller_app tmpfs:file appdomain_tmpfs;
+#line 6
+
+#line 6
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 6
+type permissioncontroller_app_userfaultfd;
+#line 6
+type_transition permissioncontroller_app permissioncontroller_app:anon_inode permissioncontroller_app_userfaultfd "[userfaultfd]";
+#line 6
+# Allow domain to create/use userfaultfd anon_inode.
+#line 6
+allow permissioncontroller_app permissioncontroller_app_userfaultfd:anon_inode { create ioctl read };
+#line 6
+# Suppress errors generate during bugreport
+#line 6
+dontaudit su permissioncontroller_app_userfaultfd:anon_inode *;
+#line 6
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 6
+neverallow { domain -permissioncontroller_app } permissioncontroller_app_userfaultfd:anon_inode *;
+#line 6
+
+#line 6
+allow permissioncontroller_app appdomain_tmpfs:file { execute getattr map read write };
+#line 6
+neverallow { permissioncontroller_app -runas_app -shell -simpleperf } { domain -permissioncontroller_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+neverallow { appdomain -runas_app -shell -simpleperf -permissioncontroller_app } permissioncontroller_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+# The Android security model guarantees the confidentiality and integrity
+#line 6
+# of application data and execution state. Ptrace bypasses those
+#line 6
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 6
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 6
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 6
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 6
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 6
+# live lock conditions.
+#line 6
+neverallow { domain -permissioncontroller_app -crash_dump  -runas_app -simpleperf } permissioncontroller_app:process ptrace;
+#line 6
+
+
+allow permissioncontroller_app app_api_service:service_manager find;
+allow permissioncontroller_app system_api_service:service_manager find;
+
+# Allow interaction with gpuservice
+
+#line 12
+# Call the server domain and optionally transfer references to it.
+#line 12
+allow permissioncontroller_app gpuservice:binder { call transfer };
+#line 12
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 12
+allow gpuservice permissioncontroller_app:binder transfer;
+#line 12
+# Receive and use open files from the server.
+#line 12
+allow permissioncontroller_app gpuservice:fd use;
+#line 12
+
+
+allow permissioncontroller_app radio_service:service_manager find;
+
+# Allow the app to request and collect incident reports.
+# (Also requires DUMP and PACKAGE_USAGE_STATS permissions)
+allow permissioncontroller_app incident_service:service_manager find;
+
+#line 19
+# Call the server domain and optionally transfer references to it.
+#line 19
+allow permissioncontroller_app incidentd:binder { call transfer };
+#line 19
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 19
+allow incidentd permissioncontroller_app:binder transfer;
+#line 19
+# Receive and use open files from the server.
+#line 19
+allow permissioncontroller_app incidentd:fd use;
+#line 19
+
+allow permissioncontroller_app incidentd:fifo_file { read write };
+
+allow permissioncontroller_app gpu_device:dir search;
+#line 1 "system/sepolicy/private/platform_app.te"
+###
+### Apps signed with the platform key.
+###
+
+typeattribute platform_app coredomain;
+
+
+#line 7
+typeattribute platform_app appdomain;
+#line 7
+# Label tmpfs objects for all apps.
+#line 7
+type_transition platform_app tmpfs:file appdomain_tmpfs;
+#line 7
+
+#line 7
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 7
+type platform_app_userfaultfd;
+#line 7
+type_transition platform_app platform_app:anon_inode platform_app_userfaultfd "[userfaultfd]";
+#line 7
+# Allow domain to create/use userfaultfd anon_inode.
+#line 7
+allow platform_app platform_app_userfaultfd:anon_inode { create ioctl read };
+#line 7
+# Suppress errors generate during bugreport
+#line 7
+dontaudit su platform_app_userfaultfd:anon_inode *;
+#line 7
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 7
+neverallow { domain -platform_app } platform_app_userfaultfd:anon_inode *;
+#line 7
+
+#line 7
+allow platform_app appdomain_tmpfs:file { execute getattr map read write };
+#line 7
+neverallow { platform_app -runas_app -shell -simpleperf } { domain -platform_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+neverallow { appdomain -runas_app -shell -simpleperf -platform_app } platform_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+# The Android security model guarantees the confidentiality and integrity
+#line 7
+# of application data and execution state. Ptrace bypasses those
+#line 7
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 7
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 7
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 7
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 7
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 7
+# live lock conditions.
+#line 7
+neverallow { domain -platform_app -crash_dump  -runas_app -simpleperf } platform_app:process ptrace;
+#line 7
+
+
+# Access the network.
+
+#line 10
+typeattribute platform_app netdomain;
+#line 10
+
+# Access bluetooth.
+
+#line 12
+typeattribute platform_app bluetoothdomain;
+#line 12
+
+# Read from /data/local/tmp or /data/data/com.android.shell.
+allow platform_app shell_data_file:dir search;
+allow platform_app shell_data_file:file { open getattr read };
+allow platform_app icon_file:file { open getattr read };
+# Populate /data/app/vmdl*.tmp, /data/app-private/vmdl*.tmp files
+# created by system server.
+allow platform_app { apk_tmp_file apk_private_tmp_file }:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow platform_app { apk_tmp_file apk_private_tmp_file }:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow platform_app apk_private_data_file:dir search;
+# ASEC
+allow platform_app asec_apk_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow platform_app asec_apk_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access to /data/media.
+allow platform_app media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow platform_app media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Write to /cache.
+allow platform_app cache_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow platform_app cache_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Direct access to vold-mounted storage under /mnt/media_rw
+# This is a performance optimization that allows platform apps to bypass the FUSE layer
+allow platform_app mnt_media_rw_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow platform_app sdcard_type:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow platform_app sdcard_type:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# com.android.systemui
+allow platform_app rootfs:dir getattr;
+
+#line 42
+allow platform_app radio_cdma_ecm_prop:file { getattr open read map };
+#line 42
+
+#line 45
+
+neverallow { domain -init -dumpstate -system_server  } persist_wm_debug_prop:property_service set;
+
+#line 50
+
+#line 53
+
+
+#line 54
+
+#line 54
+allow platform_app property_socket:sock_file write;
+#line 54
+allow platform_app init:unix_stream_socket connectto;
+#line 54
+
+#line 54
+allow platform_app debug_tracing_desktop_mode_visible_tasks_prop:property_service set;
+#line 54
+
+#line 54
+allow platform_app debug_tracing_desktop_mode_visible_tasks_prop:file { getattr open read map };
+#line 54
+
+#line 54
+
+
+# com.android.captiveportallogin reads /proc/vmstat
+allow platform_app {
+  proc_vmstat
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# /proc/net access.
+# TODO(b/9496886) Audit access for removal.
+
+#line 63
+allow platform_app proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 63
+allow platform_app proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 63
+
+#line 66
+
+
+# Allow sharing traces to betterbug from /data/misc/wmtrace.
+#line 72
+
+
+# Allow writing and removing wmshell protolog in /data/misc/wmtrace.
+#line 78
+
+
+
+# To exec the perfetto cmdline client and pass it the trace config on
+# stdint through a pipe. Allow to access traced's privileged consumer socket.
+#line 86
+
+
+allow platform_app audioserver_service:service_manager find;
+allow platform_app cameraserver_service:service_manager find;
+allow platform_app drmserver_service:service_manager find;
+allow platform_app mediaserver_service:service_manager find;
+allow platform_app mediametrics_service:service_manager find;
+allow platform_app mediaextractor_service:service_manager find;
+allow platform_app mediadrmserver_service:service_manager find;
+allow platform_app persistent_data_block_service:service_manager find;
+allow platform_app radio_service:service_manager find;
+allow platform_app thermal_service:service_manager find;
+allow platform_app app_api_service:service_manager find;
+allow platform_app system_api_service:service_manager find;
+allow platform_app vr_manager_service:service_manager find;
+allow platform_app stats_service:service_manager find;
+allow platform_app tradeinmode_service:service_manager find;
+
+# Allow platform apps to log via statsd.
+
+#line 105
+# Call the server domain and optionally transfer references to it.
+#line 105
+allow platform_app statsd:binder { call transfer };
+#line 105
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 105
+allow statsd platform_app:binder transfer;
+#line 105
+# Receive and use open files from the server.
+#line 105
+allow platform_app statsd:fd use;
+#line 105
+
+
+# Allow platform applications to find and call artd for testing
+#line 111
+
+
+# Access to /data/preloads
+allow platform_app preloads_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow platform_app preloads_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow platform_app preloads_media_file:file { getattr open read ioctl lock map watch watch_reads };
+allow platform_app preloads_media_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+
+#line 119
+allow platform_app runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 119
+
+
+# allow platform apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow platform_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow platform apps to connect to the property service
+
+#line 127
+
+#line 127
+allow platform_app property_socket:sock_file write;
+#line 127
+allow platform_app init:unix_stream_socket connectto;
+#line 127
+
+#line 127
+allow platform_app test_boot_reason_prop:property_service set;
+#line 127
+
+#line 127
+allow platform_app test_boot_reason_prop:file { getattr open read map };
+#line 127
+
+#line 127
+
+
+# allow platform apps to read keyguard.no_require_sim
+
+#line 130
+allow platform_app keyguard_config_prop:file { getattr open read map };
+#line 130
+
+
+# allow platform apps to read qemu.hw.mainkeys
+
+#line 133
+allow platform_app qemu_hw_prop:file { getattr open read map };
+#line 133
+
+
+# allow platform apps to read sys.boot.reason.last
+
+#line 136
+allow platform_app last_boot_reason_prop:file { getattr open read map };
+#line 136
+
+
+# allow platform apps to create symbolic link
+allow platform_app app_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# suppress denials caused by debugfs_tracing
+dontaudit platform_app debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow platform apps to create VMs
+
+#line 145
+# Transition to virtualizationmanager when the client executes it.
+#line 145
+
+#line 145
+# Allow the necessary permissions.
+#line 145
+
+#line 145
+# Old domain may exec the file and transition to the new domain.
+#line 145
+allow platform_app virtualizationmanager_exec:file { getattr open read execute map };
+#line 145
+allow platform_app virtualizationmanager:process transition;
+#line 145
+# New domain is entered by executing the file.
+#line 145
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 145
+# New domain can send SIGCHLD to its caller.
+#line 145
+allow virtualizationmanager platform_app:process sigchld;
+#line 145
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 145
+dontaudit platform_app virtualizationmanager:process noatsecure;
+#line 145
+# XXX dontaudit candidate but requires further study.
+#line 145
+allow platform_app virtualizationmanager:process { siginh rlimitinh };
+#line 145
+
+#line 145
+# Make the transition occur by default.
+#line 145
+type_transition platform_app virtualizationmanager_exec:process virtualizationmanager;
+#line 145
+
+#line 145
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 145
+allow { virtualizationmanager crosvm } platform_app:unix_stream_socket { ioctl getattr read write };
+#line 145
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 145
+allow { virtualizationmanager crosvm } platform_app:fd use;
+#line 145
+# Let the client use file descriptors created by virtualizationmanager.
+#line 145
+allow platform_app virtualizationmanager:fd use;
+#line 145
+# Allow piping console log to the client
+#line 145
+allow { virtualizationmanager crosvm } platform_app:fifo_file { ioctl getattr read write };
+#line 145
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 145
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 145
+# the client can only connect to VMs that it owns.
+#line 145
+allow platform_app virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 145
+# Allow client to inspect hypervisor capabilities
+#line 145
+
+#line 145
+allow platform_app hypervisor_prop:file { getattr open read map };
+#line 145
+
+#line 145
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 145
+allow platform_app virtualizationservice_data_file:file { getattr read };
+#line 145
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 145
+allow virtualizationmanager platform_app:dir search;
+#line 145
+allow virtualizationmanager platform_app:file read;
+#line 145
+allow virtualizationmanager platform_app:lnk_file read;
+#line 145
+
+
+# Allow platform apps to read files and directories under /data/system/shutdown-checkpoints/
+
+#line 148
+allow platform_app shutdown_checkpoints_system_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 148
+allow platform_app shutdown_checkpoints_system_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 148
+
+
+###
+### Neverallow rules
+###
+
+neverallow { domain -init  } persist_sysui_builder_extras_prop:property_service set;
+
+# app domains which access /dev/fuse should not run as platform_app
+neverallow platform_app fuse_device:chr_file *;
+#line 1 "system/sepolicy/private/postinstall.te"
+typeattribute postinstall coredomain;
+type postinstall_exec, system_file_type, exec_type, file_type;
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow postinstall otapreopt_chroot_exec:file { getattr open read execute map };
+#line 3
+allow postinstall otapreopt_chroot:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow otapreopt_chroot otapreopt_chroot_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+allow otapreopt_chroot postinstall:process sigchld;
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit postinstall otapreopt_chroot:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow postinstall otapreopt_chroot:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition postinstall otapreopt_chroot_exec:process otapreopt_chroot;
+#line 3
+
+
+allow postinstall rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow invoking `pm` shell commands.
+allow postinstall package_service:service_manager find;
+
+# Allow postinstall to write to its stdout/stderr when redirected via pipes to
+# update_engine.
+allow postinstall update_engine_common:fd use;
+allow postinstall update_engine_common:fifo_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow postinstall to read and execute directories and files in the same
+# mounted location.
+allow postinstall postinstall_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow postinstall postinstall_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow postinstall postinstall_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow postinstall to execute the shell or other system executables.
+allow postinstall shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow postinstall system_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow postinstall toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow postinstall to execute shell in recovery.
+#line 29
+
+
+#
+# For OTA dexopt.
+#
+
+# Allow postinstall scripts to talk to the system server.
+
+#line 36
+# Call the servicemanager and transfer references to it.
+#line 36
+allow postinstall servicemanager:binder { call transfer };
+#line 36
+# Allow servicemanager to send out callbacks
+#line 36
+allow servicemanager postinstall:binder { call transfer };
+#line 36
+# servicemanager performs getpidcon on clients.
+#line 36
+allow servicemanager postinstall:dir search;
+#line 36
+allow servicemanager postinstall:file { read open };
+#line 36
+allow servicemanager postinstall:process getattr;
+#line 36
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 36
+# all domains in domain.te.
+#line 36
+
+
+#line 37
+# Call the server domain and optionally transfer references to it.
+#line 37
+allow postinstall system_server:binder { call transfer };
+#line 37
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 37
+allow system_server postinstall:binder transfer;
+#line 37
+# Receive and use open files from the server.
+#line 37
+allow postinstall system_server:fd use;
+#line 37
+
+
+# Need to talk to the otadexopt service.
+allow postinstall otadexopt_service:service_manager find;
+
+# Allow postinstall scripts to trigger f2fs garbage collection
+allow postinstall sysfs_fs_f2fs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow postinstall sysfs_fs_f2fs:dir { open getattr read search ioctl lock watch watch_reads };
+
+###
+### Neverallow rules
+###
+
+# No domain other than update_engine and recovery (via update_engine_sideload)
+# should transition to postinstall, as it is only meant to run during the
+# update.
+neverallow { domain -update_engine -recovery } postinstall:process { transition dyntransition };
+#line 1 "system/sepolicy/private/postinstall_dexopt.te"
+# Domain for the otapreopt executable, running under postinstall_dexopt
+#
+# Note: otapreopt is a driver for dex2oat, and reuses parts of installd. As such,
+# this is derived and adapted from installd.te.
+
+type postinstall_dexopt, domain, coredomain, mlstrustedsubject;
+type postinstall_dexopt_exec, system_file_type, exec_type, file_type;
+type postinstall_dexopt_tmpfs, file_type;
+
+# Run dex2oat/patchoat in its own sandbox.
+# We have to manually transition, as we don't have an entrypoint.
+# - Case where dex2oat is in a non-flattened APEX, which has retained
+#   the correct type (`dex2oat_exec`).
+
+#line 14
+# Allow the necessary permissions.
+#line 14
+
+#line 14
+# Old domain may exec the file and transition to the new domain.
+#line 14
+allow postinstall_dexopt dex2oat_exec:file { getattr open read execute map };
+#line 14
+allow postinstall_dexopt dex2oat:process transition;
+#line 14
+# New domain is entered by executing the file.
+#line 14
+allow dex2oat dex2oat_exec:file { entrypoint open read execute getattr map };
+#line 14
+# New domain can send SIGCHLD to its caller.
+#line 14
+allow dex2oat postinstall_dexopt:process sigchld;
+#line 14
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 14
+dontaudit postinstall_dexopt dex2oat:process noatsecure;
+#line 14
+# XXX dontaudit candidate but requires further study.
+#line 14
+allow postinstall_dexopt dex2oat:process { siginh rlimitinh };
+#line 14
+
+#line 14
+# Make the transition occur by default.
+#line 14
+type_transition postinstall_dexopt dex2oat_exec:process dex2oat;
+#line 14
+
+# - Case where dex2oat is in a flattened APEX, which has been tagged
+#   with the `postinstall_file` type by update_engine.
+
+#line 17
+# Allow the necessary permissions.
+#line 17
+
+#line 17
+# Old domain may exec the file and transition to the new domain.
+#line 17
+allow postinstall_dexopt postinstall_file:file { getattr open read execute map };
+#line 17
+allow postinstall_dexopt dex2oat:process transition;
+#line 17
+# New domain is entered by executing the file.
+#line 17
+allow dex2oat postinstall_file:file { entrypoint open read execute getattr map };
+#line 17
+# New domain can send SIGCHLD to its caller.
+#line 17
+allow dex2oat postinstall_dexopt:process sigchld;
+#line 17
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 17
+dontaudit postinstall_dexopt dex2oat:process noatsecure;
+#line 17
+# XXX dontaudit candidate but requires further study.
+#line 17
+allow postinstall_dexopt dex2oat:process { siginh rlimitinh };
+#line 17
+
+#line 17
+# Make the transition occur by default.
+#line 17
+type_transition postinstall_dexopt postinstall_file:process dex2oat;
+#line 17
+
+
+# Run derive_classpath to get the current BCP.
+
+#line 20
+# Allow the necessary permissions.
+#line 20
+
+#line 20
+# Old domain may exec the file and transition to the new domain.
+#line 20
+allow postinstall_dexopt derive_classpath_exec:file { getattr open read execute map };
+#line 20
+allow postinstall_dexopt derive_classpath:process transition;
+#line 20
+# New domain is entered by executing the file.
+#line 20
+allow derive_classpath derive_classpath_exec:file { entrypoint open read execute getattr map };
+#line 20
+# New domain can send SIGCHLD to its caller.
+#line 20
+allow derive_classpath postinstall_dexopt:process sigchld;
+#line 20
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 20
+dontaudit postinstall_dexopt derive_classpath:process noatsecure;
+#line 20
+# XXX dontaudit candidate but requires further study.
+#line 20
+allow postinstall_dexopt derive_classpath:process { siginh rlimitinh };
+#line 20
+
+#line 20
+# Make the transition occur by default.
+#line 20
+type_transition postinstall_dexopt derive_classpath_exec:process derive_classpath;
+#line 20
+
+# Allow postinstall_dexopt to make a tempfile for derive_classpath to write into
+
+#line 22
+type_transition postinstall_dexopt tmpfs:file postinstall_dexopt_tmpfs;
+#line 22
+allow postinstall_dexopt postinstall_dexopt_tmpfs:file { read write getattr map };
+#line 22
+;
+allow postinstall_dexopt postinstall_dexopt_tmpfs:file open;
+
+allow postinstall_dexopt self:{ capability cap_userns } { chown dac_override dac_read_search fowner fsetid setgid setuid };
+
+allow postinstall_dexopt postinstall_file:filesystem getattr;
+allow postinstall_dexopt postinstall_file:dir { getattr read search };
+allow postinstall_dexopt postinstall_file:lnk_file { getattr read };
+allow postinstall_dexopt proc_filesystems:file { getattr open read };
+allow postinstall_dexopt rootfs:file { getattr open read ioctl lock map watch watch_reads };
+
+allow postinstall_dexopt tmpfs:file read;
+
+# Allow access odsign verification status
+
+#line 36
+allow postinstall_dexopt odsign_prop:file { getattr open read map };
+#line 36
+
+
+# Allow access to /postinstall/apex.
+allow postinstall_dexopt postinstall_apex_mnt_dir:dir { getattr search };
+
+# Note: /data/ota is created by init (see system/core/rootdir/init.rc) to avoid giving access
+# here and having to relabel the directory.
+
+# Read app data (APKs) as input to dex2oat.
+
+#line 45
+allow postinstall_dexopt apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 45
+allow postinstall_dexopt apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 45
+
+# Read vendor app data (APKs) as input to dex2oat.
+
+#line 47
+allow postinstall_dexopt vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 47
+allow postinstall_dexopt vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 47
+
+# Read vendor overlay files (APKs) as input to dex2oat.
+
+#line 49
+allow postinstall_dexopt vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 49
+allow postinstall_dexopt vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 49
+
+# Vendor overlay can be found in vendor apex
+allow postinstall_dexopt vendor_apex_metadata_file:dir { getattr search };
+# Access to app oat directory.
+
+#line 53
+allow postinstall_dexopt dalvikcache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 53
+allow postinstall_dexopt dalvikcache_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 53
+
+
+# Read profile data.
+allow postinstall_dexopt { user_profile_root_file user_profile_data_file }:dir { getattr search };
+allow postinstall_dexopt user_profile_data_file:file { getattr open read ioctl lock map watch watch_reads };
+# Suppress deletion denial (we do not want to update the profile).
+dontaudit postinstall_dexopt user_profile_data_file:file { write };
+
+# Write to /data/ota(/*). Create symlinks in /data/ota(/*)
+allow postinstall_dexopt ota_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow postinstall_dexopt ota_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow postinstall_dexopt ota_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Need to write .b files, which are dalvikcache_data_file, not ota_data_file.
+# TODO: See whether we can apply ota_data_file?
+allow postinstall_dexopt dalvikcache_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow postinstall_dexopt dalvikcache_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow labeling of files under /data/app/com.example/oat/
+# TODO: Restrict to .b suffix?
+allow postinstall_dexopt dalvikcache_data_file:dir relabelto;
+allow postinstall_dexopt dalvikcache_data_file:file { relabelto link };
+
+# Check validity of SELinux context before use.
+
+#line 77
+
+#line 77
+allow postinstall_dexopt selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 77
+allow postinstall_dexopt selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 77
+
+#line 77
+allow postinstall_dexopt selinuxfs:file { open append write lock map };
+#line 77
+allow postinstall_dexopt kernel:security check_context;
+#line 77
+
+
+#line 78
+
+#line 78
+allow postinstall_dexopt selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 78
+allow postinstall_dexopt selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 78
+
+#line 78
+allow postinstall_dexopt selinuxfs:file { open append write lock map };
+#line 78
+allow postinstall_dexopt kernel:security compute_av;
+#line 78
+allow postinstall_dexopt self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 78
+
+
+
+# Postinstall wants to know about our child.
+allow postinstall_dexopt postinstall:process sigchld;
+
+# Allow otapreopt to use file descriptors from otapreopt_chroot.
+# TODO: Probably we can actually close file descriptors...
+allow postinstall_dexopt otapreopt_chroot:fd use;
+
+# Allow postinstall_dexopt to access the runtime feature flag properties.
+
+#line 89
+allow postinstall_dexopt device_config_runtime_native_prop:file { getattr open read map };
+#line 89
+
+
+#line 90
+allow postinstall_dexopt device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 90
+
+#line 1 "system/sepolicy/private/prefetch.te"
+type prefetch, coredomain, domain;
+type prefetch_exec, exec_type, file_type, system_file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init prefetch_exec:file { getattr open read execute map };
+#line 4
+allow init prefetch:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow prefetch prefetch_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init prefetch:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init prefetch:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init prefetch_exec:process prefetch;
+#line 4
+
+#line 4
+
+
+# Allow prefetch to start recording by enabling tracing event under
+# /sys/kernel/tracing/events/filemap/mm_filemap_add_to_page_cache
+allow prefetch debugfs_tracing_instances:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow prefetch debugfs_tracing_instances:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow to read/write/create/delete to storage prefetch record files
+allow prefetch metadata_file:dir search;
+allow prefetch prefetch_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow prefetch prefetch_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 16
+allow prefetch prefetch_boot_prop:file { getattr open read map };
+#line 16
+;
+
+#line 17
+
+#line 17
+allow prefetch property_socket:sock_file write;
+#line 17
+allow prefetch init:unix_stream_socket connectto;
+#line 17
+
+#line 17
+allow prefetch prefetch_service_prop:property_service set;
+#line 17
+
+#line 17
+allow prefetch prefetch_service_prop:file { getattr open read map };
+#line 17
+
+#line 17
+;
+
+# Disallow other domains controlling prefetch service.
+neverallow {
+  domain
+  -init
+  -shell
+} ctl_prefetch_prop:property_service set;
+#line 1 "system/sepolicy/private/preloads_copy.te"
+type preloads_copy, domain, coredomain;
+type preloads_copy_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init preloads_copy_exec:file { getattr open read execute map };
+#line 4
+allow init preloads_copy:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow preloads_copy preloads_copy_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init preloads_copy:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init preloads_copy:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init preloads_copy_exec:process preloads_copy;
+#line 4
+
+#line 4
+
+
+allow preloads_copy shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow preloads_copy toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow preloads_copy preloads_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow preloads_copy preloads_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow preloads_copy preloads_media_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow preloads_copy preloads_media_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow to copy from /postinstall
+allow preloads_copy system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Silence the denial when /postinstall cannot be mounted, e.g., system_other
+# is wiped, but preloads_copy.sh still runs.
+dontaudit preloads_copy postinstall_mnt_dir:dir search;
+#line 1 "system/sepolicy/private/preopt2cachename.te"
+# preopt2cachename executable
+#
+# This executable translates names from the preopted versions the build system
+# creates to the names the runtime expects in the data directory.
+
+type preopt2cachename, domain, coredomain;
+type preopt2cachename_exec, system_file_type, exec_type, file_type;
+
+# Allow write to stdout.
+allow preopt2cachename cppreopts:fd use;
+allow preopt2cachename cppreopts:fifo_file { getattr read write };
+
+# Allow write to logcat.
+allow preopt2cachename proc_net_type:file { getattr open read ioctl lock map watch watch_reads };
+#line 17
+
+#line 1 "system/sepolicy/private/priv_app.te"
+###
+### A domain for further sandboxing privileged apps.
+###
+
+typeattribute priv_app coredomain;
+
+#line 6
+typeattribute priv_app appdomain;
+#line 6
+# Label tmpfs objects for all apps.
+#line 6
+type_transition priv_app tmpfs:file appdomain_tmpfs;
+#line 6
+
+#line 6
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 6
+type priv_app_userfaultfd;
+#line 6
+type_transition priv_app priv_app:anon_inode priv_app_userfaultfd "[userfaultfd]";
+#line 6
+# Allow domain to create/use userfaultfd anon_inode.
+#line 6
+allow priv_app priv_app_userfaultfd:anon_inode { create ioctl read };
+#line 6
+# Suppress errors generate during bugreport
+#line 6
+dontaudit su priv_app_userfaultfd:anon_inode *;
+#line 6
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 6
+neverallow { domain -priv_app } priv_app_userfaultfd:anon_inode *;
+#line 6
+
+#line 6
+allow priv_app appdomain_tmpfs:file { execute getattr map read write };
+#line 6
+neverallow { priv_app -runas_app -shell -simpleperf } { domain -priv_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+neverallow { appdomain -runas_app -shell -simpleperf -priv_app } priv_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+# The Android security model guarantees the confidentiality and integrity
+#line 6
+# of application data and execution state. Ptrace bypasses those
+#line 6
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 6
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 6
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 6
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 6
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 6
+# live lock conditions.
+#line 6
+neverallow { domain -priv_app -crash_dump  -runas_app -simpleperf } priv_app:process ptrace;
+#line 6
+
+
+# Access the network.
+
+#line 9
+typeattribute priv_app netdomain;
+#line 9
+
+# Access bluetooth.
+
+#line 11
+typeattribute priv_app bluetoothdomain;
+#line 11
+
+
+# Allow the allocation and use of ptys
+# Used by: https://play.privileged.com/store/apps/details?id=jackpal.androidterm
+
+#line 15
+# Each domain gets a unique devpts type.
+#line 15
+type priv_app_devpts, fs_type;
+#line 15
+# Label the pty with the unique type when created.
+#line 15
+type_transition priv_app devpts:chr_file priv_app_devpts;
+#line 15
+# Allow use of the pty after creation.
+#line 15
+allow priv_app priv_app_devpts:chr_file { open getattr read write ioctl };
+#line 15
+allowxperm priv_app priv_app_devpts:chr_file ioctl {
+#line 15
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 15
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 15
+};
+#line 15
+# TIOCSTI is only ever used for exploits. Block it.
+#line 15
+# b/33073072, b/7530569
+#line 15
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+#line 15
+neverallowxperm * priv_app_devpts:chr_file ioctl 0x00005412;
+#line 15
+# Note: devpts:dir search and ptmx_device:chr_file rw_file_perms
+#line 15
+# allowed to everyone via domain.te.
+#line 15
+
+
+# Allow loading executable code from writable priv-app home
+# directories. This is a W^X violation, however, it needs
+# to be supported for now for the following reasons.
+# * /data/user_*/0/*/code_cache/* POSSIBLE uses (b/117841367)
+#   1) com.android.opengl.shaders_cache
+#   2) com.android.skia.shaders_cache
+#   3) com.android.renderscript.cache
+# * /data/user_de/0/com.google.android.gms/app_chimera
+# TODO: Tighten (b/112357170)
+allow priv_app privapp_data_file:file execute;
+
+# Chrome Crashpad uses the the dynamic linker to load native executables
+# from an APK (b/112050209, crbug.com/928422)
+allow priv_app system_linker_exec:file execute_no_trans;
+
+allow priv_app privapp_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Priv apps can find services that expose both @SystemAPI and normal APIs.
+allow priv_app app_api_service:service_manager find;
+allow priv_app system_api_service:service_manager find;
+
+allow priv_app audioserver_service:service_manager find;
+allow priv_app cameraserver_service:service_manager find;
+allow priv_app drmserver_service:service_manager find;
+allow priv_app mediadrmserver_service:service_manager find;
+allow priv_app mediaextractor_service:service_manager find;
+allow priv_app mediametrics_service:service_manager find;
+allow priv_app mediaserver_service:service_manager find;
+allow priv_app music_recognition_service:service_manager find;
+allow priv_app network_watchlist_service:service_manager find;
+allow priv_app nfc_service:service_manager find;
+allow priv_app oem_lock_service:service_manager find;
+allow priv_app persistent_data_block_service:service_manager find;
+allow priv_app radio_service:service_manager find;
+allow priv_app recovery_service:service_manager find;
+allow priv_app stats_service:service_manager find;
+
+# Write to /cache.
+allow priv_app { cache_file cache_recovery_file }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow priv_app { cache_file cache_recovery_file }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# /cache is a symlink to /data/cache on some devices. Allow reading the link.
+allow priv_app cache_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Access to /data/media.
+allow priv_app media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow priv_app media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Used by Finsky / Android "Verify Apps" functionality when
+# running "adb install foo.apk".
+allow priv_app shell_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow priv_app shell_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow traceur to pass file descriptors through a content provider to betterbug
+allow priv_app trace_data_file:file { getattr read };
+
+# Allow betterbug to read profile reports generated by profcollect.
+#line 75
+
+
+# Allow the bug reporting frontend to read the presence and timestamp of the
+# trace attached to the bugreport (but not its contents, which will go in the
+# usual bugreport .zip file). This is used by the bug reporting UI to tell if
+# the bugreport will contain a system trace or not while the bugreport is still
+# in progress.
+allow priv_app wm_trace_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow priv_app wm_trace_data_file:file getattr;
+allow priv_app perfetto_traces_bugreport_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow priv_app perfetto_traces_bugreport_data_file:file { getattr };
+# Required to traverse the parent dir (/data/misc/perfetto-traces).
+allow priv_app perfetto_traces_data_file:dir { search };
+
+# Allow priv apps (e.g. BetterBug) to receive Perfetto traces through
+# the framework (i.e. TracingServiceProxy) and sendfile them into their private
+# directories for reporting when network and battery conditions are
+# appropriate.
+allow priv_app perfetto:fd use;
+allow priv_app perfetto_traces_data_file:file { read getattr };
+
+# Allow verifier to access staged apks.
+allow priv_app { apk_tmp_file apk_private_tmp_file }:dir { open getattr read search ioctl lock watch watch_reads };
+allow priv_app { apk_tmp_file apk_private_tmp_file }:file { getattr open read ioctl lock map watch watch_reads };
+allowxperm priv_app { apk_tmp_file apk_private_tmp_file }:file ioctl 0x6686;
+
+# For AppFuse.
+allow priv_app vold:fd use;
+allow priv_app fuse_device:chr_file { read write };
+
+# /proc access
+allow priv_app {
+  proc_vmstat
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+allow priv_app sysfs_type:dir search;
+# Read access to /sys/block/zram*/mm_stat
+
+#line 112
+allow priv_app sysfs_zram:dir { open getattr read search ioctl lock watch watch_reads };
+#line 112
+allow priv_app sysfs_zram:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 112
+
+
+
+#line 114
+allow priv_app rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 114
+allow priv_app rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 114
+
+
+# Allow com.android.vending to communicate with statsd.
+
+#line 117
+# Call the server domain and optionally transfer references to it.
+#line 117
+allow priv_app statsd:binder { call transfer };
+#line 117
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 117
+allow statsd priv_app:binder transfer;
+#line 117
+# Receive and use open files from the server.
+#line 117
+allow priv_app statsd:fd use;
+#line 117
+
+
+# Allow Phone to read/write cached ringtones (opened by system).
+allow priv_app ringtone_file:file { getattr read write };
+
+# Access to /data/preloads
+allow priv_app preloads_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow priv_app preloads_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow priv_app preloads_media_file:file { getattr open read ioctl lock map watch watch_reads };
+allow priv_app preloads_media_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+
+#line 128
+allow priv_app runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 128
+
+
+# Allow priv_apps to request and collect incident reports.
+# (Also requires DUMP and PACKAGE_USAGE_STATS permissions)
+allow priv_app incident_service:service_manager find;
+
+#line 133
+# Call the server domain and optionally transfer references to it.
+#line 133
+allow priv_app incidentd:binder { call transfer };
+#line 133
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 133
+allow incidentd priv_app:binder transfer;
+#line 133
+# Receive and use open files from the server.
+#line 133
+allow priv_app incidentd:fd use;
+#line 133
+
+allow priv_app incidentd:fifo_file { read write };
+
+# Allow priv_apps to check whether Dynamic System Update is enabled
+
+#line 137
+allow priv_app dynamic_system_prop:file { getattr open read map };
+#line 137
+
+
+# Allow privileged apps to read trade in mode property
+
+#line 140
+allow priv_app adbd_tradeinmode_prop:file { getattr open read map };
+#line 140
+
+
+# suppress denials for non-API accesses.
+dontaudit priv_app exec_type:file getattr;
+dontaudit priv_app device:dir read;
+dontaudit priv_app fs_bpf:dir search;
+dontaudit priv_app net_dns_prop:file read;
+dontaudit priv_app proc:file read;
+dontaudit priv_app proc_interrupts:file read;
+dontaudit priv_app proc_modules:file read;
+dontaudit priv_app proc_net:file read;
+dontaudit priv_app proc_stat:file read;
+dontaudit priv_app proc_version:file read;
+dontaudit priv_app sysfs:dir read;
+dontaudit priv_app sysfs:file read;
+dontaudit priv_app sysfs_android_usb:file read;
+dontaudit priv_app sysfs_dm:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit priv_app { wifi_prop wifi_config_prop wifi_hal_prop }:file read;
+
+# allow privileged apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow priv_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow apps like Phonesky to check the file signature of an apk installed on
+# the Incremental File System, fill missing blocks and get the app status and loading progress
+allowxperm priv_app apk_data_file:file ioctl {
+  0x0000671f
+  0x00006720
+  0x00006724
+  0x00006722
+};
+
+# allow privileged data loader apps (e.g. com.android.vending) to read logs from Incremental File System
+allow priv_app incremental_control_file:file { read getattr ioctl };
+
+# allow apps like Phonesky to request permission to fill blocks of an apk file
+# on the Incremental File System.
+allowxperm priv_app incremental_control_file:file ioctl 0x00006721;
+
+# allow privileged apps to read the vendor property that indicates if Incremental File System is enabled
+
+#line 181
+allow priv_app incremental_prop:file { getattr open read map };
+#line 181
+
+
+# allow privileged apps to read the device config flags.
+
+#line 184
+allow priv_app device_config_aconfig_flags_prop:file { getattr open read map };
+#line 184
+
+
+# allow privileged apps to read boot reason property
+
+#line 187
+allow priv_app system_boot_reason_prop:file { getattr open read map };
+#line 187
+
+
+# Required for Phonesky to be able to read APEX files under /data/apex/active/.
+allow priv_app apex_data_file:dir search;
+allow priv_app staging_data_file:file { getattr open read ioctl lock map watch watch_reads };
+# Required for Phonesky to be able to read staged files under /data/app-staging.
+allow priv_app staging_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow com.android.vending to access files under vendor/apex as well as system apex files.
+# This is required for com.android.vending to handle APEXes for e.g. delta patch optimization.
+allow priv_app vendor_apex_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow priv_app vendor_apex_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# allow priv app to access the system app data files for ContentProvider case.
+allow priv_app system_app_data_file:file { read getattr };
+
+# Allow the renderscript compiler to be run.
+
+#line 204
+# Allow the necessary permissions.
+#line 204
+
+#line 204
+# Old domain may exec the file and transition to the new domain.
+#line 204
+allow priv_app rs_exec:file { getattr open read execute map };
+#line 204
+allow priv_app rs:process transition;
+#line 204
+# New domain is entered by executing the file.
+#line 204
+allow rs rs_exec:file { entrypoint open read execute getattr map };
+#line 204
+# New domain can send SIGCHLD to its caller.
+#line 204
+allow rs priv_app:process sigchld;
+#line 204
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 204
+dontaudit priv_app rs:process noatsecure;
+#line 204
+# XXX dontaudit candidate but requires further study.
+#line 204
+allow priv_app rs:process { siginh rlimitinh };
+#line 204
+
+#line 204
+# Make the transition occur by default.
+#line 204
+type_transition priv_app rs_exec:process rs;
+#line 204
+
+
+# Allow loading and deleting executable shared libraries
+# within an application home directory. Such shared libraries would be
+# created by things like renderscript or via other mechanisms.
+allow priv_app app_exec_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute unlink };
+
+# Allow privileged apps to create a VM. Note that access is still
+# guarded with the `android.permission.MANAGE_VIRTUAL_MACHINE`
+# permission.
+
+#line 214
+# Transition to virtualizationmanager when the client executes it.
+#line 214
+
+#line 214
+# Allow the necessary permissions.
+#line 214
+
+#line 214
+# Old domain may exec the file and transition to the new domain.
+#line 214
+allow priv_app virtualizationmanager_exec:file { getattr open read execute map };
+#line 214
+allow priv_app virtualizationmanager:process transition;
+#line 214
+# New domain is entered by executing the file.
+#line 214
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 214
+# New domain can send SIGCHLD to its caller.
+#line 214
+allow virtualizationmanager priv_app:process sigchld;
+#line 214
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 214
+dontaudit priv_app virtualizationmanager:process noatsecure;
+#line 214
+# XXX dontaudit candidate but requires further study.
+#line 214
+allow priv_app virtualizationmanager:process { siginh rlimitinh };
+#line 214
+
+#line 214
+# Make the transition occur by default.
+#line 214
+type_transition priv_app virtualizationmanager_exec:process virtualizationmanager;
+#line 214
+
+#line 214
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 214
+allow { virtualizationmanager crosvm } priv_app:unix_stream_socket { ioctl getattr read write };
+#line 214
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 214
+allow { virtualizationmanager crosvm } priv_app:fd use;
+#line 214
+# Let the client use file descriptors created by virtualizationmanager.
+#line 214
+allow priv_app virtualizationmanager:fd use;
+#line 214
+# Allow piping console log to the client
+#line 214
+allow { virtualizationmanager crosvm } priv_app:fifo_file { ioctl getattr read write };
+#line 214
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 214
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 214
+# the client can only connect to VMs that it owns.
+#line 214
+allow priv_app virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 214
+# Allow client to inspect hypervisor capabilities
+#line 214
+
+#line 214
+allow priv_app hypervisor_prop:file { getattr open read map };
+#line 214
+
+#line 214
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 214
+allow priv_app virtualizationservice_data_file:file { getattr read };
+#line 214
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 214
+allow virtualizationmanager priv_app:dir search;
+#line 214
+allow virtualizationmanager priv_app:file read;
+#line 214
+allow virtualizationmanager priv_app:lnk_file read;
+#line 214
+
+
+###
+### neverallow rules
+###
+
+# Receive or send uevent messages.
+neverallow priv_app domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow priv_app domain:netlink_socket *;
+
+# Read or write kernel printk buffer
+neverallow priv_app kmsg_device:chr_file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow priv_app debugfs_type:file read;
+
+# Do not allow privileged apps to register services.
+# Only trusted components of Android should be registering
+# services.
+neverallow priv_app service_manager_type:service_manager add;
+
+# Do not allow privileged apps to connect to the property service
+# or set properties. b/10243159
+neverallow priv_app property_socket:sock_file write;
+neverallow priv_app init:unix_stream_socket connectto;
+neverallow priv_app property_type:property_service set;
+
+# Do not allow priv_app to be assigned mlstrustedsubject.
+# This would undermine the per-user isolation model being
+# enforced via levelFrom=user in seapp_contexts and the mls
+# constraints.  As there is no direct way to specify a neverallow
+# on attribute assignment, this relies on the fact that fork
+# permission only makes sense within a domain (hence should
+# never be granted to any other domain within mlstrustedsubject)
+# and priv_app is allowed fork permission to itself.
+neverallow priv_app mlstrustedsubject:process fork;
+
+# Do not allow priv_app to hard link to any files.
+# In particular, if priv_app links to other app data
+# files, installd will not be able to guarantee the deletion
+# of the linked to file. Hard links also contribute to security
+# bugs, so we want to ensure priv_app never has this
+# capability.
+neverallow priv_app file_type:file link;
+
+# priv apps should not be able to open trace data files, they should depend
+# upon traceur to pass a file descriptor which they can then read
+neverallow priv_app trace_data_file:dir *;
+neverallow priv_app trace_data_file:file { { append create link unlink relabelfrom rename setattr write } open };
+
+# Do not allow priv_app access to cgroups.
+neverallow priv_app cgroup:file *;
+neverallow priv_app cgroup_v2:file *;
+
+# Do not allow loading executable code from non-privileged
+# application home directories. Code loading across a security boundary
+# is dangerous and allows a full compromise of a privileged process
+# by an unprivileged process. b/112357170
+neverallow priv_app { app_data_file_type -privapp_data_file }:file { execute execute_no_trans };
+
+# Do not follow any app provided symlinks
+neverallow priv_app { app_data_file_type -privapp_data_file }:lnk_file { open read getattr };
+
+# Do not allow getting permission-protected network information from sysfs.
+neverallow priv_app sysfs_net:file *;
+
+# Restrict socket ioctls. Either 1. disallow privileged ioctls, 2. disallow the
+# ioctl permission, or 3. disallow the socket class.
+neverallowxperm priv_app domain:{ icmp_socket rawip_socket tcp_socket udp_socket } ioctl 
+#line 285
+{
+#line 285
+# qualcomm rmnet ioctls
+#line 285
+0x00006900 0x00006902
+#line 285
+# socket ioctls
+#line 285
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 285
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 285
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 285
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 285
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 285
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 285
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 285
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 285
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 285
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 285
+# device and protocol specific ioctls
+#line 285
+0x000089f0-0x000089ff
+#line 285
+0x000089e0-0x000089ef
+#line 285
+# Wireless extension ioctls
+#line 285
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 285
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 285
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 285
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 285
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 285
+0x00008b34 0x00008b35 0x00008b36
+#line 285
+# Dev private ioctl i.e. hardware specific ioctls
+#line 285
+0x00008be0-0x00008bff
+#line 285
+};
+neverallow priv_app *:{ netlink_route_socket netlink_selinux_socket } ioctl;
+neverallow priv_app *:{
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket sctp_socket
+  ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket
+  atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket kcm_socket qipcrtr_socket smc_socket xdp_socket
+} *;
+#line 1 "system/sepolicy/private/prng_seeder.te"
+# PRNG seeder daemon
+# Started from early init, maintains a FIPS approved DRBG which it periodically reseeds from
+# /dev/hw_random.  When BoringSSL (libcrypto) in other processes needs seeding data for its
+# internal DRBGs it will connect to /dev/socket/prng_seeder and the daemon will write a
+# fixed size block of entropy then disconnect.  No other IO is performed.
+typeattribute prng_seeder coredomain;
+
+# mlstrustedsubject required in order to allow connections from trusted app domains.
+typeattribute prng_seeder mlstrustedsubject;
+
+type prng_seeder_exec, system_file_type, exec_type, file_type;
+
+#line 12
+
+#line 12
+# Allow the necessary permissions.
+#line 12
+
+#line 12
+# Old domain may exec the file and transition to the new domain.
+#line 12
+allow init prng_seeder_exec:file { getattr open read execute map };
+#line 12
+allow init prng_seeder:process transition;
+#line 12
+# New domain is entered by executing the file.
+#line 12
+allow prng_seeder prng_seeder_exec:file { entrypoint open read execute getattr map };
+#line 12
+# New domain can send SIGCHLD to its caller.
+#line 12
+
+#line 12
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 12
+dontaudit init prng_seeder:process noatsecure;
+#line 12
+# XXX dontaudit candidate but requires further study.
+#line 12
+allow init prng_seeder:process { siginh rlimitinh };
+#line 12
+
+#line 12
+# Make the transition occur by default.
+#line 12
+type_transition init prng_seeder_exec:process prng_seeder;
+#line 12
+
+#line 12
+
+
+# Socket open and listen are performed by init.
+allow prng_seeder prng_seeder:unix_stream_socket { read write getattr accept };
+allow prng_seeder hw_random_device:chr_file { read open };
+allow prng_seeder kmsg_debug_device:chr_file { { open append write lock map } getattr ioctl };
+#line 1 "system/sepolicy/private/profcollectd.te"
+# profcollectd - hardware profile collection daemon
+type profcollectd, domain, coredomain, mlstrustedsubject;
+type profcollectd_exec, system_file_type, exec_type, file_type;
+
+#line 69
+
+#line 1 "system/sepolicy/private/profman.te"
+typeattribute profman coredomain;
+typeattribute profman artd_subprocess_type;
+
+# Allow profman to read APKs and profile files next to them by FDs passed from
+# other programs. In addition, allow profman to acquire flocks on those files.
+allow profman {
+  system_file
+  apk_data_file
+  apk_tmp_file
+  vendor_app_file
+}:file { getattr read map lock };
+
+# Allow profman to use file descriptors passed from privileged programs.
+allow profman { artd installd }:fd use;
+
+# Allow profman to read from memfd created by artd.
+# profman needs to read the embedded profile that artd extracts from an APK,
+# which is passed by a memfd.
+allow profman artd_tmpfs:file { getattr read map lock };
+
+allow profman user_profile_data_file:file { getattr read write lock map };
+
+# Dumping profile info opens the application APK file for pretty printing.
+allow profman asec_apk_file:file { read map };
+allow profman apk_data_file:file { getattr read map };
+allow profman apk_data_file:dir { getattr read search };
+allow profman apk_tmp_file:dir { getattr read search };
+
+allow profman oemfs:file { read map };
+# Reading an APK opens a ZipArchive, which unpack to tmpfs.
+allow profman tmpfs:file { read map };
+allow profman profman_dump_data_file:file { write map };
+
+# Allow profman to analyze profiles for the secondary dex files. These
+# are application dex files reported back to the framework when using
+# BaseDexClassLoader.
+allow profman { privapp_data_file app_data_file }:file { getattr read write lock map };
+allow profman { privapp_data_file app_data_file }:dir { getattr read search };
+
+# Allow query ART device config properties
+
+#line 41
+allow profman device_config_runtime_native_prop:file { getattr open read map };
+#line 41
+
+
+#line 42
+allow profman device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 42
+
+
+###
+### neverallow rules
+###
+
+neverallow profman app_data_file_type:{ file lnk_file sock_file fifo_file } open;
+#line 1 "system/sepolicy/private/property.te"
+# Properties used only in /system
+
+#line 2
+  
+#line 2
+  type adbd_prop, property_type, system_property_type, system_internal_property_type;
+#line 2
+
+#line 2
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 2
+
+#line 2
+    neverallow { domain -coredomain } adbd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 2
+  
+#line 2
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 2
+
+#line 2
+
+
+#line 3
+  
+#line 3
+  type adbd_tradeinmode_prop, property_type, system_property_type, system_internal_property_type;
+#line 3
+
+#line 3
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 3
+
+#line 3
+    neverallow { domain -coredomain } adbd_tradeinmode_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+  
+#line 3
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 3
+
+#line 3
+
+
+#line 4
+  
+#line 4
+  type apexd_payload_metadata_prop, property_type, system_property_type, system_internal_property_type;
+#line 4
+
+#line 4
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 4
+
+#line 4
+    neverallow { domain -coredomain } apexd_payload_metadata_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 4
+  
+#line 4
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 4
+
+#line 4
+
+
+#line 5
+  
+#line 5
+  type ctl_snapuserd_prop, property_type, system_property_type, system_internal_property_type;
+#line 5
+
+#line 5
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 5
+
+#line 5
+    neverallow { domain -coredomain } ctl_snapuserd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 5
+  
+#line 5
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 5
+
+#line 5
+
+
+#line 6
+  
+#line 6
+  type ctl_prefetch_prop, property_type, system_property_type, system_internal_property_type;
+#line 6
+
+#line 6
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 6
+
+#line 6
+    neverallow { domain -coredomain } ctl_prefetch_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+  
+#line 6
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 6
+
+#line 6
+
+
+#line 7
+  
+#line 7
+  type ctl_uprobestats_prop, property_type, system_property_type, system_internal_property_type;
+#line 7
+
+#line 7
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 7
+
+#line 7
+    neverallow { domain -coredomain } ctl_uprobestats_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+  
+#line 7
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 7
+
+#line 7
+
+
+#line 8
+  
+#line 8
+  type crashrecovery_prop, property_type, system_property_type, system_internal_property_type;
+#line 8
+
+#line 8
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 8
+
+#line 8
+    neverallow { domain -coredomain } crashrecovery_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 8
+  
+#line 8
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 8
+
+#line 8
+
+
+#line 9
+  
+#line 9
+  type debug_tracing_desktop_mode_visible_tasks_prop, property_type, system_property_type, system_internal_property_type;
+#line 9
+
+#line 9
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 9
+
+#line 9
+    neverallow { domain -coredomain } debug_tracing_desktop_mode_visible_tasks_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 9
+  
+#line 9
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 9
+
+#line 9
+
+
+#line 10
+  
+#line 10
+  type device_config_core_experiments_team_internal_prop, property_type, system_property_type, system_internal_property_type;
+#line 10
+
+#line 10
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 10
+
+#line 10
+    neverallow { domain -coredomain } device_config_core_experiments_team_internal_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 10
+  
+#line 10
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 10
+
+#line 10
+
+
+#line 11
+  
+#line 11
+  type device_config_lmkd_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 11
+
+#line 11
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 11
+
+#line 11
+    neverallow { domain -coredomain } device_config_lmkd_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 11
+  
+#line 11
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 11
+
+#line 11
+
+
+#line 12
+  
+#line 12
+  type device_config_mglru_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 12
+
+#line 12
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 12
+
+#line 12
+    neverallow { domain -coredomain } device_config_mglru_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 12
+  
+#line 12
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 12
+
+#line 12
+
+
+#line 13
+  
+#line 13
+  type device_config_mmd_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 13
+
+#line 13
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 13
+
+#line 13
+    neverallow { domain -coredomain } device_config_mmd_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+  
+#line 13
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 13
+
+#line 13
+
+
+#line 14
+  
+#line 14
+  type device_config_profcollect_native_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 14
+
+#line 14
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 14
+
+#line 14
+    neverallow { domain -coredomain } device_config_profcollect_native_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 14
+  
+#line 14
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 14
+
+#line 14
+
+
+#line 15
+  
+#line 15
+  type device_config_remote_key_provisioning_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 15
+
+#line 15
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+    neverallow { domain -coredomain } device_config_remote_key_provisioning_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+  
+#line 15
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 15
+
+#line 15
+
+
+#line 16
+  
+#line 16
+  type device_config_statsd_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 16
+
+#line 16
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 16
+
+#line 16
+    neverallow { domain -coredomain } device_config_statsd_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 16
+  
+#line 16
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 16
+
+#line 16
+
+
+#line 17
+  
+#line 17
+  type device_config_statsd_native_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 17
+
+#line 17
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 17
+
+#line 17
+    neverallow { domain -coredomain } device_config_statsd_native_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 17
+  
+#line 17
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 17
+
+#line 17
+
+
+#line 18
+  
+#line 18
+  type device_config_storage_native_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 18
+
+#line 18
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 18
+
+#line 18
+    neverallow { domain -coredomain } device_config_storage_native_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 18
+  
+#line 18
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 18
+
+#line 18
+
+
+#line 19
+  
+#line 19
+  type device_config_sys_traced_prop, property_type, system_property_type, system_internal_property_type;
+#line 19
+
+#line 19
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 19
+
+#line 19
+    neverallow { domain -coredomain } device_config_sys_traced_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 19
+  
+#line 19
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 19
+
+#line 19
+
+
+#line 20
+  
+#line 20
+  type device_config_window_manager_native_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 20
+
+#line 20
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 20
+
+#line 20
+    neverallow { domain -coredomain } device_config_window_manager_native_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 20
+  
+#line 20
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 20
+
+#line 20
+
+
+#line 21
+  
+#line 21
+  type device_config_configuration_prop, property_type, system_property_type, system_internal_property_type;
+#line 21
+
+#line 21
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 21
+
+#line 21
+    neverallow { domain -coredomain } device_config_configuration_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 21
+  
+#line 21
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 21
+
+#line 21
+
+
+#line 22
+  
+#line 22
+  type device_config_connectivity_prop, property_type, system_property_type, system_internal_property_type;
+#line 22
+
+#line 22
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 22
+
+#line 22
+    neverallow { domain -coredomain } device_config_connectivity_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 22
+  
+#line 22
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 22
+
+#line 22
+
+
+#line 23
+  
+#line 23
+  type device_config_swcodec_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 23
+
+#line 23
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 23
+
+#line 23
+    neverallow { domain -coredomain } device_config_swcodec_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 23
+  
+#line 23
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 23
+
+#line 23
+
+
+#line 24
+  
+#line 24
+  type device_config_tethering_u_or_later_native_prop, property_type, system_property_type, system_internal_property_type;
+#line 24
+
+#line 24
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 24
+
+#line 24
+    neverallow { domain -coredomain } device_config_tethering_u_or_later_native_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 24
+  
+#line 24
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 24
+
+#line 24
+
+
+#line 25
+  
+#line 25
+  type dmesgd_start_prop, property_type, system_property_type, system_internal_property_type;
+#line 25
+
+#line 25
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 25
+
+#line 25
+    neverallow { domain -coredomain } dmesgd_start_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 25
+  
+#line 25
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 25
+
+#line 25
+
+
+#line 26
+  
+#line 26
+  type fastbootd_protocol_prop, property_type, system_property_type, system_internal_property_type;
+#line 26
+
+#line 26
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 26
+
+#line 26
+    neverallow { domain -coredomain } fastbootd_protocol_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 26
+  
+#line 26
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 26
+
+#line 26
+
+
+#line 27
+  
+#line 27
+  type gsid_prop, property_type, system_property_type, system_internal_property_type;
+#line 27
+
+#line 27
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 27
+
+#line 27
+    neverallow { domain -coredomain } gsid_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 27
+  
+#line 27
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 27
+
+#line 27
+
+
+#line 28
+  
+#line 28
+  type init_perf_lsm_hooks_prop, property_type, system_property_type, system_internal_property_type;
+#line 28
+
+#line 28
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 28
+
+#line 28
+    neverallow { domain -coredomain } init_perf_lsm_hooks_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 28
+  
+#line 28
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 28
+
+#line 28
+
+
+#line 29
+  
+#line 29
+  type init_service_status_private_prop, property_type, system_property_type, system_internal_property_type;
+#line 29
+
+#line 29
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 29
+
+#line 29
+    neverallow { domain -coredomain } init_service_status_private_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 29
+  
+#line 29
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 29
+
+#line 29
+
+
+#line 30
+  
+#line 30
+  type init_storage_prop, property_type, system_property_type, system_internal_property_type;
+#line 30
+
+#line 30
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 30
+
+#line 30
+    neverallow { domain -coredomain } init_storage_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 30
+  
+#line 30
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 30
+
+#line 30
+
+
+#line 31
+  
+#line 31
+  type init_svc_debug_prop, property_type, system_property_type, system_internal_property_type;
+#line 31
+
+#line 31
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 31
+
+#line 31
+    neverallow { domain -coredomain } init_svc_debug_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 31
+  
+#line 31
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 31
+
+#line 31
+
+
+#line 32
+  
+#line 32
+  type kcmdline_prop, property_type, system_property_type, system_internal_property_type;
+#line 32
+
+#line 32
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 32
+
+#line 32
+    neverallow { domain -coredomain } kcmdline_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 32
+  
+#line 32
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 32
+
+#line 32
+
+
+#line 33
+  
+#line 33
+  type keystore_diagnostics_prop, property_type, system_property_type, system_internal_property_type;
+#line 33
+
+#line 33
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 33
+
+#line 33
+    neverallow { domain -coredomain } keystore_diagnostics_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 33
+  
+#line 33
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 33
+
+#line 33
+
+
+#line 34
+  
+#line 34
+  type keystore_listen_prop, property_type, system_property_type, system_internal_property_type;
+#line 34
+
+#line 34
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 34
+
+#line 34
+    neverallow { domain -coredomain } keystore_listen_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 34
+  
+#line 34
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 34
+
+#line 34
+
+
+#line 35
+  
+#line 35
+  type last_boot_reason_prop, property_type, system_property_type, system_internal_property_type;
+#line 35
+
+#line 35
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 35
+
+#line 35
+    neverallow { domain -coredomain } last_boot_reason_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 35
+  
+#line 35
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 35
+
+#line 35
+
+
+#line 36
+  
+#line 36
+  type localization_prop, property_type, system_property_type, system_internal_property_type;
+#line 36
+
+#line 36
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 36
+
+#line 36
+    neverallow { domain -coredomain } localization_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 36
+  
+#line 36
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 36
+
+#line 36
+
+
+#line 37
+  
+#line 37
+  type logd_auditrate_prop, property_type, system_property_type, system_internal_property_type;
+#line 37
+
+#line 37
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 37
+
+#line 37
+    neverallow { domain -coredomain } logd_auditrate_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 37
+  
+#line 37
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 37
+
+#line 37
+
+
+#line 38
+  
+#line 38
+  type lower_kptr_restrict_prop, property_type, system_property_type, system_internal_property_type;
+#line 38
+
+#line 38
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 38
+
+#line 38
+    neverallow { domain -coredomain } lower_kptr_restrict_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 38
+  
+#line 38
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 38
+
+#line 38
+
+
+#line 39
+  
+#line 39
+  type mmd_status_prop, property_type, system_property_type, system_internal_property_type;
+#line 39
+
+#line 39
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 39
+
+#line 39
+    neverallow { domain -coredomain } mmd_status_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 39
+  
+#line 39
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 39
+
+#line 39
+
+
+#line 40
+  
+#line 40
+  type net_464xlat_fromvendor_prop, property_type, system_property_type, system_internal_property_type;
+#line 40
+
+#line 40
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 40
+
+#line 40
+    neverallow { domain -coredomain } net_464xlat_fromvendor_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 40
+  
+#line 40
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 40
+
+#line 40
+
+
+#line 41
+  
+#line 41
+  type net_connectivity_prop, property_type, system_property_type, system_internal_property_type;
+#line 41
+
+#line 41
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 41
+
+#line 41
+    neverallow { domain -coredomain } net_connectivity_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 41
+  
+#line 41
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 41
+
+#line 41
+
+
+#line 42
+  
+#line 42
+  type netd_stable_secret_prop, property_type, system_property_type, system_internal_property_type;
+#line 42
+
+#line 42
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 42
+
+#line 42
+    neverallow { domain -coredomain } netd_stable_secret_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 42
+  
+#line 42
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 42
+
+#line 42
+
+
+#line 43
+  
+#line 43
+  type next_boot_prop, property_type, system_property_type, system_internal_property_type;
+#line 43
+
+#line 43
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 43
+
+#line 43
+    neverallow { domain -coredomain } next_boot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 43
+  
+#line 43
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 43
+
+#line 43
+
+
+#line 44
+  
+#line 44
+  type odsign_prop, property_type, system_property_type, system_internal_property_type;
+#line 44
+
+#line 44
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 44
+
+#line 44
+    neverallow { domain -coredomain } odsign_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 44
+  
+#line 44
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 44
+
+#line 44
+
+
+#line 45
+  
+#line 45
+  type misctrl_prop, property_type, system_property_type, system_internal_property_type;
+#line 45
+
+#line 45
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 45
+
+#line 45
+    neverallow { domain -coredomain } misctrl_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 45
+  
+#line 45
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 45
+
+#line 45
+
+
+#line 46
+  
+#line 46
+  type perf_drop_caches_prop, property_type, system_property_type, system_internal_property_type;
+#line 46
+
+#line 46
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 46
+
+#line 46
+    neverallow { domain -coredomain } perf_drop_caches_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 46
+  
+#line 46
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 46
+
+#line 46
+
+
+#line 47
+  
+#line 47
+  type pm_prop, property_type, system_property_type, system_internal_property_type;
+#line 47
+
+#line 47
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 47
+
+#line 47
+    neverallow { domain -coredomain } pm_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 47
+  
+#line 47
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 47
+
+#line 47
+
+
+#line 48
+  
+#line 48
+  type prefetch_service_prop, property_type, system_property_type, system_internal_property_type;
+#line 48
+
+#line 48
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 48
+
+#line 48
+    neverallow { domain -coredomain } prefetch_service_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 48
+  
+#line 48
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 48
+
+#line 48
+
+
+#line 49
+  
+#line 49
+  type profcollectd_node_id_prop, property_type, system_property_type, system_internal_property_type;
+#line 49
+
+#line 49
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 49
+
+#line 49
+    neverallow { domain -coredomain } profcollectd_node_id_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 49
+  
+#line 49
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 49
+
+#line 49
+
+
+#line 50
+  
+#line 50
+  type radio_cdma_ecm_prop, property_type, system_property_type, system_internal_property_type;
+#line 50
+
+#line 50
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 50
+
+#line 50
+    neverallow { domain -coredomain } radio_cdma_ecm_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 50
+  
+#line 50
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 50
+
+#line 50
+
+
+#line 51
+  
+#line 51
+  type remote_prov_prop, property_type, system_property_type, system_internal_property_type;
+#line 51
+
+#line 51
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 51
+
+#line 51
+    neverallow { domain -coredomain } remote_prov_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 51
+  
+#line 51
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 51
+
+#line 51
+
+
+#line 52
+  
+#line 52
+  type remote_prov_cert_prop, property_type, system_property_type, system_internal_property_type;
+#line 52
+
+#line 52
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 52
+
+#line 52
+    neverallow { domain -coredomain } remote_prov_cert_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 52
+  
+#line 52
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 52
+
+#line 52
+
+
+#line 53
+  
+#line 53
+  type rollback_test_prop, property_type, system_property_type, system_internal_property_type;
+#line 53
+
+#line 53
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 53
+
+#line 53
+    neverallow { domain -coredomain } rollback_test_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 53
+  
+#line 53
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 53
+
+#line 53
+
+
+#line 54
+  
+#line 54
+  type setupwizard_prop, property_type, system_property_type, system_internal_property_type;
+#line 54
+
+#line 54
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 54
+
+#line 54
+    neverallow { domain -coredomain } setupwizard_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 54
+  
+#line 54
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 54
+
+#line 54
+
+
+#line 55
+  
+#line 55
+  type snapshotctl_prop, property_type, system_property_type, system_internal_property_type;
+#line 55
+
+#line 55
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 55
+
+#line 55
+    neverallow { domain -coredomain } snapshotctl_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 55
+  
+#line 55
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 55
+
+#line 55
+
+
+#line 56
+  
+#line 56
+  type snapuserd_prop, property_type, system_property_type, system_internal_property_type;
+#line 56
+
+#line 56
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 56
+
+#line 56
+    neverallow { domain -coredomain } snapuserd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 56
+  
+#line 56
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 56
+
+#line 56
+
+
+#line 57
+  
+#line 57
+  type system_adbd_prop, property_type, system_property_type, system_internal_property_type;
+#line 57
+
+#line 57
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 57
+
+#line 57
+    neverallow { domain -coredomain } system_adbd_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 57
+  
+#line 57
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 57
+
+#line 57
+
+
+#line 58
+  
+#line 58
+  type system_audio_config_prop, property_type, system_property_type, system_internal_property_type;
+#line 58
+
+#line 58
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 58
+
+#line 58
+    neverallow { domain -coredomain } system_audio_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 58
+  
+#line 58
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 58
+
+#line 58
+
+
+#line 59
+  
+#line 59
+  type timezone_metadata_prop, property_type, system_property_type, system_internal_property_type;
+#line 59
+
+#line 59
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 59
+
+#line 59
+    neverallow { domain -coredomain } timezone_metadata_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 59
+  
+#line 59
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 59
+
+#line 59
+
+
+#line 60
+  
+#line 60
+  type traced_config_prop, property_type, system_property_type, system_internal_property_type;
+#line 60
+
+#line 60
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 60
+
+#line 60
+    neverallow { domain -coredomain } traced_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 60
+  
+#line 60
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 60
+
+#line 60
+
+
+#line 61
+  
+#line 61
+  type traced_perf_enabled_prop, property_type, system_property_type, system_internal_property_type;
+#line 61
+
+#line 61
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 61
+
+#line 61
+    neverallow { domain -coredomain } traced_perf_enabled_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 61
+  
+#line 61
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 61
+
+#line 61
+
+
+#line 62
+  
+#line 62
+  type traced_relay_relay_port_prop, property_type, system_property_type, system_internal_property_type;
+#line 62
+
+#line 62
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 62
+
+#line 62
+    neverallow { domain -coredomain } traced_relay_relay_port_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 62
+  
+#line 62
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 62
+
+#line 62
+
+
+#line 63
+  
+#line 63
+  type uprobestats_start_with_config_prop, property_type, system_property_type, system_internal_property_type;
+#line 63
+
+#line 63
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 63
+
+#line 63
+    neverallow { domain -coredomain } uprobestats_start_with_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 63
+  
+#line 63
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 63
+
+#line 63
+
+
+#line 64
+  
+#line 64
+  type tuner_server_ctl_prop, property_type, system_property_type, system_internal_property_type;
+#line 64
+
+#line 64
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 64
+
+#line 64
+    neverallow { domain -coredomain } tuner_server_ctl_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 64
+  
+#line 64
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 64
+
+#line 64
+
+
+#line 65
+  
+#line 65
+  type userspace_reboot_log_prop, property_type, system_property_type, system_internal_property_type;
+#line 65
+
+#line 65
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 65
+
+#line 65
+    neverallow { domain -coredomain } userspace_reboot_log_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 65
+  
+#line 65
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 65
+
+#line 65
+
+
+#line 66
+  
+#line 66
+  type userspace_reboot_test_prop, property_type, system_property_type, system_internal_property_type;
+#line 66
+
+#line 66
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 66
+
+#line 66
+    neverallow { domain -coredomain } userspace_reboot_test_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 66
+  
+#line 66
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 66
+
+#line 66
+
+
+#line 67
+  
+#line 67
+  type verity_status_prop, property_type, system_property_type, system_internal_property_type;
+#line 67
+
+#line 67
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 67
+
+#line 67
+    neverallow { domain -coredomain } verity_status_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 67
+  
+#line 67
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 67
+
+#line 67
+
+
+#line 68
+  
+#line 68
+  type zygote_wrap_prop, property_type, system_property_type, system_internal_property_type;
+#line 68
+
+#line 68
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 68
+
+#line 68
+    neverallow { domain -coredomain } zygote_wrap_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 68
+  
+#line 68
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 68
+
+#line 68
+
+
+#line 69
+  
+#line 69
+  type ctl_mediatranscoding_prop, property_type, system_property_type, system_internal_property_type;
+#line 69
+
+#line 69
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 69
+
+#line 69
+    neverallow { domain -coredomain } ctl_mediatranscoding_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 69
+  
+#line 69
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 69
+
+#line 69
+
+
+#line 70
+  
+#line 70
+  type ctl_odsign_prop, property_type, system_property_type, system_internal_property_type;
+#line 70
+
+#line 70
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 70
+
+#line 70
+    neverallow { domain -coredomain } ctl_odsign_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 70
+  
+#line 70
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 70
+
+#line 70
+
+
+#line 71
+  
+#line 71
+  type virtualizationservice_prop, property_type, system_property_type, system_internal_property_type;
+#line 71
+
+#line 71
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 71
+
+#line 71
+    neverallow { domain -coredomain } virtualizationservice_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 71
+  
+#line 71
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 71
+
+#line 71
+
+
+#line 72
+  
+#line 72
+  type ctl_apex_load_prop, property_type, system_property_type, system_internal_property_type;
+#line 72
+
+#line 72
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 72
+
+#line 72
+    neverallow { domain -coredomain } ctl_apex_load_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 72
+  
+#line 72
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 72
+
+#line 72
+
+
+#line 73
+  
+#line 73
+  type sensors_config_prop, property_type, system_property_type, system_internal_property_type;
+#line 73
+
+#line 73
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 73
+
+#line 73
+    neverallow { domain -coredomain } sensors_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 73
+  
+#line 73
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 73
+
+#line 73
+
+
+#line 74
+  
+#line 74
+  type hypervisor_pvmfw_prop, property_type, system_property_type, system_internal_property_type;
+#line 74
+
+#line 74
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 74
+
+#line 74
+    neverallow { domain -coredomain } hypervisor_pvmfw_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 74
+  
+#line 74
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 74
+
+#line 74
+
+
+#line 75
+  
+#line 75
+  type hypervisor_virtualizationmanager_prop, property_type, system_property_type, system_internal_property_type;
+#line 75
+
+#line 75
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 75
+
+#line 75
+    neverallow { domain -coredomain } hypervisor_virtualizationmanager_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 75
+  
+#line 75
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 75
+
+#line 75
+
+
+#line 76
+  
+#line 76
+  type game_manager_config_prop, property_type, system_property_type, system_internal_property_type;
+#line 76
+
+#line 76
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 76
+
+#line 76
+    neverallow { domain -coredomain } game_manager_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 76
+  
+#line 76
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 76
+
+#line 76
+
+
+#line 77
+  
+#line 77
+  type hidl_memory_prop, property_type, system_property_type, system_internal_property_type;
+#line 77
+
+#line 77
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 77
+
+#line 77
+    neverallow { domain -coredomain } hidl_memory_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 77
+  
+#line 77
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 77
+
+#line 77
+
+
+#line 78
+  
+#line 78
+  type suspend_debug_prop, property_type, system_property_type, system_internal_property_type;
+#line 78
+
+#line 78
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 78
+
+#line 78
+    neverallow { domain -coredomain } suspend_debug_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 78
+  
+#line 78
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 78
+
+#line 78
+
+
+#line 79
+  
+#line 79
+  type system_service_enable_prop, property_type, system_property_type, system_internal_property_type;
+#line 79
+
+#line 79
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 79
+
+#line 79
+    neverallow { domain -coredomain } system_service_enable_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 79
+  
+#line 79
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 79
+
+#line 79
+
+
+#line 80
+  
+#line 80
+  type ctl_artd_pre_reboot_prop, property_type, system_property_type, system_internal_property_type;
+#line 80
+
+#line 80
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 80
+
+#line 80
+    neverallow { domain -coredomain } ctl_artd_pre_reboot_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 80
+  
+#line 80
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 80
+
+#line 80
+
+
+#line 81
+  
+#line 81
+  type trusty_security_vm_sys_prop, property_type, system_property_type, system_internal_property_type;
+#line 81
+
+#line 81
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 81
+
+#line 81
+    neverallow { domain -coredomain } trusty_security_vm_sys_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 81
+  
+#line 81
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 81
+
+#line 81
+
+
+#line 82
+  
+#line 82
+  type hint_manager_config_prop, property_type, system_property_type, system_internal_property_type;
+#line 82
+
+#line 82
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 82
+
+#line 82
+    neverallow { domain -coredomain } hint_manager_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 82
+  
+#line 82
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 82
+
+#line 82
+
+
+# Properties which can't be written outside system
+
+#line 85
+  
+#line 85
+  type bionic_linker_16kb_app_compat_prop, property_type, system_property_type, system_restricted_property_type;
+#line 85
+
+#line 85
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 85
+
+#line 85
+    neverallow { domain -coredomain } bionic_linker_16kb_app_compat_prop:property_service set;
+#line 85
+  
+#line 85
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 85
+
+#line 85
+
+
+#line 86
+  
+#line 86
+  type device_config_virtualization_framework_native_prop, property_type, system_property_type, system_restricted_property_type;
+#line 86
+
+#line 86
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 86
+
+#line 86
+    neverallow { domain -coredomain } device_config_virtualization_framework_native_prop:property_service set;
+#line 86
+  
+#line 86
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 86
+
+#line 86
+
+
+#line 87
+  
+#line 87
+  type fstype_prop, property_type, system_property_type, system_restricted_property_type;
+#line 87
+
+#line 87
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 87
+
+#line 87
+    neverallow { domain -coredomain } fstype_prop:property_service set;
+#line 87
+  
+#line 87
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 87
+
+#line 87
+
+
+#line 88
+  
+#line 88
+  type log_file_logger_prop, property_type, system_property_type, system_restricted_property_type;
+#line 88
+
+#line 88
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 88
+
+#line 88
+    neverallow { domain -coredomain } log_file_logger_prop:property_service set;
+#line 88
+  
+#line 88
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 88
+
+#line 88
+
+
+#line 89
+  
+#line 89
+  type mmd_shared_status_prop, property_type, system_property_type, system_restricted_property_type;
+#line 89
+
+#line 89
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 89
+
+#line 89
+    neverallow { domain -coredomain } mmd_shared_status_prop:property_service set;
+#line 89
+  
+#line 89
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 89
+
+#line 89
+
+
+#line 90
+  
+#line 90
+  type persist_sysui_builder_extras_prop, property_type, system_property_type, system_restricted_property_type;
+#line 90
+
+#line 90
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 90
+
+#line 90
+    neverallow { domain -coredomain } persist_sysui_builder_extras_prop:property_service set;
+#line 90
+  
+#line 90
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 90
+
+#line 90
+
+
+#line 91
+  
+#line 91
+  type persist_sysui_ranking_update_prop, property_type, system_property_type, system_restricted_property_type;
+#line 91
+
+#line 91
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 91
+
+#line 91
+    neverallow { domain -coredomain } persist_sysui_ranking_update_prop:property_service set;
+#line 91
+  
+#line 91
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 91
+
+#line 91
+
+
+#line 92
+  
+#line 92
+  type page_size_prop, property_type, system_property_type, system_restricted_property_type;
+#line 92
+
+#line 92
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 92
+
+#line 92
+    neverallow { domain -coredomain } page_size_prop:property_service set;
+#line 92
+  
+#line 92
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 92
+
+#line 92
+
+
+#line 93
+  
+#line 93
+  type pm_16kb_app_compat_prop, property_type, system_property_type, system_restricted_property_type;
+#line 93
+
+#line 93
+  # BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 93
+
+#line 93
+    neverallow { domain -coredomain } pm_16kb_app_compat_prop:property_service set;
+#line 93
+  
+#line 93
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 93
+
+#line 93
+
+
+
+# Properties with no restrictions
+#line 101
+
+
+# These types will be public starting at board api 202504
+#line 107
+
+
+# These types will be public starting at board api 202504
+#line 112
+
+
+# Properties which should only be written by vendor_init
+
+#line 115
+  
+#line 115
+  type avf_virtualizationservice_prop, property_type, system_property_type, system_public_property_type;
+#line 115
+
+#line 115
+  
+#line 115
+
+#line 115
+allow vendor_init property_socket:sock_file write;
+#line 115
+allow vendor_init init:unix_stream_socket connectto;
+#line 115
+
+#line 115
+allow vendor_init avf_virtualizationservice_prop:property_service set;
+#line 115
+
+#line 115
+allow vendor_init avf_virtualizationservice_prop:file { getattr open read map };
+#line 115
+
+#line 115
+
+#line 115
+  neverallow { domain -init -vendor_init } avf_virtualizationservice_prop:property_service set;
+#line 115
+
+
+#line 116
+  
+#line 116
+  type high_barometer_quality_prop, property_type, system_property_type, system_public_property_type;
+#line 116
+
+#line 116
+  
+#line 116
+
+#line 116
+allow vendor_init property_socket:sock_file write;
+#line 116
+allow vendor_init init:unix_stream_socket connectto;
+#line 116
+
+#line 116
+allow vendor_init high_barometer_quality_prop:property_service set;
+#line 116
+
+#line 116
+allow vendor_init high_barometer_quality_prop:file { getattr open read map };
+#line 116
+
+#line 116
+
+#line 116
+  neverallow { domain -init -vendor_init } high_barometer_quality_prop:property_service set;
+#line 116
+
+
+#line 117
+  
+#line 117
+  type mmd_prop, property_type, system_property_type, system_public_property_type;
+#line 117
+
+#line 117
+  
+#line 117
+
+#line 117
+allow vendor_init property_socket:sock_file write;
+#line 117
+allow vendor_init init:unix_stream_socket connectto;
+#line 117
+
+#line 117
+allow vendor_init mmd_prop:property_service set;
+#line 117
+
+#line 117
+allow vendor_init mmd_prop:file { getattr open read map };
+#line 117
+
+#line 117
+
+#line 117
+  neverallow { domain -init -vendor_init } mmd_prop:property_service set;
+#line 117
+
+
+#line 118
+  
+#line 118
+  type mmd_shared_prop, property_type, system_property_type, system_public_property_type;
+#line 118
+
+#line 118
+  
+#line 118
+
+#line 118
+allow vendor_init property_socket:sock_file write;
+#line 118
+allow vendor_init init:unix_stream_socket connectto;
+#line 118
+
+#line 118
+allow vendor_init mmd_shared_prop:property_service set;
+#line 118
+
+#line 118
+allow vendor_init mmd_shared_prop:file { getattr open read map };
+#line 118
+
+#line 118
+
+#line 118
+  neverallow { domain -init -vendor_init } mmd_shared_prop:property_service set;
+#line 118
+
+
+#line 119
+  
+#line 119
+  type prefetch_boot_prop, property_type, system_property_type, system_public_property_type;
+#line 119
+
+#line 119
+  
+#line 119
+
+#line 119
+allow vendor_init property_socket:sock_file write;
+#line 119
+allow vendor_init init:unix_stream_socket connectto;
+#line 119
+
+#line 119
+allow vendor_init prefetch_boot_prop:property_service set;
+#line 119
+
+#line 119
+allow vendor_init prefetch_boot_prop:file { getattr open read map };
+#line 119
+
+#line 119
+
+#line 119
+  neverallow { domain -init -vendor_init } prefetch_boot_prop:property_service set;
+#line 119
+
+#line 122
+
+
+typeattribute log_prop log_property_type;
+typeattribute log_tag_prop log_property_type;
+typeattribute wifi_log_prop log_property_type;
+
+allow property_type tmpfs:filesystem associate;
+
+# core_property_type should not be used for new properties or
+# device specific properties. Properties with this attribute
+# are readable to everyone, which is overly broad and should
+# be avoided.
+# New properties should have appropriate read / write access
+# control rules written.
+
+typeattribute audio_prop         core_property_type;
+typeattribute config_prop        core_property_type;
+typeattribute cppreopt_prop      core_property_type;
+typeattribute dalvik_prop        core_property_type;
+typeattribute debuggerd_prop     core_property_type;
+typeattribute debug_prop         core_property_type;
+typeattribute dhcp_prop          core_property_type;
+typeattribute dumpstate_prop     core_property_type;
+typeattribute logd_prop          core_property_type;
+typeattribute net_radio_prop     core_property_type;
+typeattribute nfc_prop           core_property_type;
+typeattribute ota_prop           core_property_type;
+typeattribute pan_result_prop    core_property_type;
+typeattribute persist_debug_prop core_property_type;
+typeattribute powerctl_prop      core_property_type;
+typeattribute radio_prop         core_property_type;
+typeattribute restorecon_prop    core_property_type;
+typeattribute shell_prop         core_property_type;
+typeattribute system_prop        core_property_type;
+typeattribute usb_prop           core_property_type;
+typeattribute vold_prop          core_property_type;
+
+typeattribute dalvik_config_prop         dalvik_config_prop_type;
+typeattribute dalvik_dynamic_config_prop dalvik_config_prop_type;
+
+###
+### Neverallow rules
+###
+
+# BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 166
+
+#line 166
+
+#line 166
+# BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 166
+
+#line 166
+  neverallow domain {
+#line 166
+    property_type
+#line 166
+    -system_property_type
+#line 166
+    -system_property_type
+#line 166
+    -vendor_property_type
+#line 166
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 166
+
+#line 166
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 166
+
+#line 166
+
+#line 166
+neverallow { domain -coredomain } {
+#line 166
+  system_property_type
+#line 166
+  system_internal_property_type
+#line 166
+  -system_restricted_property_type
+#line 166
+  -system_public_property_type
+#line 166
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 166
+
+#line 166
+neverallow { domain -coredomain } {
+#line 166
+  system_property_type
+#line 166
+  -system_public_property_type
+#line 166
+}:property_service set;
+#line 166
+
+#line 166
+# init is in coredomain, but should be able to read/write all props.
+#line 166
+# dumpstate is also in coredomain, but should be able to read all props.
+#line 166
+neverallow { coredomain -init -dumpstate } {
+#line 166
+  vendor_property_type
+#line 166
+  vendor_internal_property_type
+#line 166
+  -vendor_restricted_property_type
+#line 166
+  -vendor_public_property_type
+#line 166
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 166
+
+#line 166
+neverallow { coredomain -init } {
+#line 166
+  vendor_property_type
+#line 166
+  -vendor_public_property_type
+#line 166
+}:property_service set;
+#line 166
+
+#line 166
+
+#line 166
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+#line 203
+
+
+# There is no need to perform ioctl or advisory locking operations on
+# property files. If this neverallow is being triggered, it is
+# likely that the policy is using r_file_perms directly instead of
+# the get_prop() macro.
+neverallow domain property_type:file { ioctl lock };
+
+neverallow * {
+  core_property_type
+  -audio_prop
+  -config_prop
+  -cppreopt_prop
+  -dalvik_prop
+  -debuggerd_prop
+  -debug_prop
+  -dhcp_prop
+  -dumpstate_prop
+  -fingerprint_prop
+  -logd_prop
+  -net_radio_prop
+  -nfc_prop
+  -ota_prop
+  -pan_result_prop
+  -persist_debug_prop
+  -powerctl_prop
+  -radio_prop
+  -restorecon_prop
+  -shell_prop
+  -system_prop
+  -usb_prop
+  -vold_prop
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# sigstop property is only used for debugging; should only be set by su which is permissive
+# for userdebug/eng
+neverallow {
+  domain
+  -init
+  -vendor_init
+} ctl_sigstop_prop:property_service set;
+
+# Don't audit legacy ctl. property handling.  We only want the newer permission check to appear
+# in the audit log
+dontaudit domain {
+  ctl_bootanim_prop
+  ctl_bugreport_prop
+  ctl_console_prop
+  ctl_default_prop
+  ctl_dumpstate_prop
+  ctl_fuse_prop
+  ctl_mdnsd_prop
+  ctl_rildaemon_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -extra_free_kbytes
+} init_storage_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} init_svc_debug_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -dumpstate
+  
+} init_svc_debug_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# DO NOT ADD: compat risk
+neverallow {
+  domain
+  -init
+  -crash_dump
+  -dumpstate
+  -misctrl
+  -statsd
+  
+} misctrl_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow {
+  domain
+  -init
+  -misctrl
+  
+} misctrl_prop:property_service set;
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 293
+
+#line 293
+# Prevent properties from being set
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    core_property_type
+#line 293
+    extended_core_property_type
+#line 293
+    exported_config_prop
+#line 293
+    exported_default_prop
+#line 293
+    exported_dumpstate_prop
+#line 293
+    exported_system_prop
+#line 293
+    exported3_system_prop
+#line 293
+    usb_control_prop
+#line 293
+    -nfc_prop
+#line 293
+    -powerctl_prop
+#line 293
+    -radio_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -hal_nfc_server
+#line 293
+  } {
+#line 293
+    nfc_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -hal_telephony_server
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    radio_control_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -hal_telephony_server
+#line 293
+  } {
+#line 293
+    radio_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -bluetooth
+#line 293
+    -hal_bluetooth_server
+#line 293
+  } {
+#line 293
+    bluetooth_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -bluetooth
+#line 293
+    -hal_bluetooth_server
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    exported_bluetooth_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -hal_camera_server
+#line 293
+    -cameraserver
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    exported_camera_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -hal_wifi_server
+#line 293
+    -wificond
+#line 293
+  } {
+#line 293
+    wifi_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -init
+#line 293
+    -dumpstate
+#line 293
+    -hal_wifi_server
+#line 293
+    -wificond
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    wifi_hal_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+# Prevent properties from being read
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    core_property_type
+#line 293
+    dalvik_config_prop_type
+#line 293
+    extended_core_property_type
+#line 293
+    exported3_system_prop
+#line 293
+    systemsound_config_prop
+#line 293
+    -debug_prop
+#line 293
+    -logd_prop
+#line 293
+    -nfc_prop
+#line 293
+    -powerctl_prop
+#line 293
+    -radio_prop
+#line 293
+    -dalvik_dynamic_config_prop
+#line 293
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -vendor_init
+#line 293
+    -hal_power_server
+#line 293
+  } dalvik_dynamic_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -hal_nfc_server
+#line 293
+  } {
+#line 293
+    nfc_prop
+#line 293
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -appdomain
+#line 293
+    -hal_telephony_server
+#line 293
+  } {
+#line 293
+    radio_prop
+#line 293
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -bluetooth
+#line 293
+    -hal_bluetooth_server
+#line 293
+  } {
+#line 293
+    bluetooth_prop
+#line 293
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -hal_wifi_server
+#line 293
+    -wificond
+#line 293
+  } {
+#line 293
+    wifi_prop
+#line 293
+  }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -coredomain
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    suspend_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -init
+#line 293
+  } {
+#line 293
+    suspend_debug_prop
+#line 293
+  }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -init
+#line 293
+    -vendor_init
+#line 293
+  } {
+#line 293
+    high_barometer_quality_prop
+#line 293
+    }:property_service set;
+#line 293
+
+#line 293
+  neverallow {
+#line 293
+    domain
+#line 293
+    -init
+#line 293
+    -dumpstate
+#line 293
+    
+#line 293
+    } {
+#line 293
+      suspend_debug_prop
+#line 293
+    }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 293
+
+#line 293
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 486
+
+
+dontaudit system_suspend suspend_debug_prop:file { getattr open read ioctl lock map watch watch_reads };
+
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 490
+
+#line 490
+  # Neverallow coredomain to set vendor properties
+#line 490
+  neverallow {
+#line 490
+    coredomain
+#line 490
+    -init
+#line 490
+    -system_writes_vendor_properties_violators
+#line 490
+  } {
+#line 490
+    property_type
+#line 490
+    -system_property_type
+#line 490
+    -extended_core_property_type
+#line 490
+  }:property_service set;
+#line 490
+
+#line 490
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+#line 501
+
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} {
+  ffs_config_prop
+  ffs_control_prop
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -system_server
+} {
+  userspace_reboot_log_prop
+}:property_service set;
+
+neverallow {
+  # Only allow init and system_server to set system_adbd_prop
+  domain
+  -init
+  -system_server
+} {
+  system_adbd_prop
+}:property_service set;
+
+# Let (vendor_)init, adbd, and system_server set service.adb.tcp.port
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -adbd
+  -adbd_tradeinmode
+  -system_server
+} {
+  adbd_config_prop
+}:property_service set;
+
+neverallow {
+  # Only allow init and adbd to set adbd_prop
+  domain
+  -init
+  -adbd
+  -adbd_tradeinmode
+} {
+  adbd_prop
+}:property_service set;
+
+neverallow {
+  # Only allow init to set apexd_payload_metadata_prop
+  domain
+  -init
+} {
+  apexd_payload_metadata_prop
+}:property_service set;
+
+
+neverallow {
+  # Only allow init and shell to set userspace_reboot_test_prop
+  domain
+  -init
+  -shell
+} {
+  userspace_reboot_test_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+  -vendor_init
+} {
+  surfaceflinger_color_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+} {
+  libc_debug_prop
+}:property_service set;
+
+# Allow the shell to set MTE & GWP-ASan props, so that non-root users with adb
+# shell access can control the settings on their device. Allow system apps to
+# set MTE props, so Developer Options can set them.
+neverallow {
+  domain
+  -init
+  -shell
+  -system_app
+  -system_server
+  -mtectrl
+} {
+  arm64_memtag_prop
+  gwp_asan_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -shell
+  -kcmdlinectrl
+} {
+  kcmdline_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+  -vendor_init
+} zram_control_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+  -vendor_init
+} dalvik_runtime_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} {
+  usb_config_prop
+  usb_control_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+} {
+  provisioned_prop
+  retaildemo_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} {
+  provisioned_prop
+  retaildemo_prop
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+} {
+  init_service_status_private_prop
+  init_service_status_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -radio
+  -appdomain
+  -hal_telephony_server
+  -vendor_init
+} telephony_status_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} {
+  graphics_config_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -surfaceflinger
+} {
+  surfaceflinger_display_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -appdomain
+  -vendor_init
+} packagemanager_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} keyguard_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+} {
+  localization_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -system_app
+} oem_unlock_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} storagemanager_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -appdomain
+} sendbug_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -appdomain
+} camera_calibration_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -dumpstate
+  -hal_dumpstate_server
+  -vendor_init
+} hal_dumpstate_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  
+  
+  
+  
+} {
+  lower_kptr_restrict_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+} zygote_wrap_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} verity_status_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} setupwizard_mode_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} setupwizard_prop:property_service set;
+
+# ro.product.property_source_order is useless after initialization of ro.product.* props.
+# So making it accessible only from init and vendor_init.
+neverallow {
+  domain
+  -init
+  -dumpstate
+  -vendor_init
+} build_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -shell
+} sqlite_log_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -appdomain
+} sqlite_log_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+} default_prop:property_service set;
+
+# Only one of system_property_type and vendor_property_type can be assigned.
+# Property types having both attributes won't be accessible from anywhere.
+neverallow domain system_and_vendor_property_type:{file property_service} *;
+
+neverallow {
+  domain
+  -init
+  -keystore
+  -shell
+  -system_server
+  -rkpdapp
+} remote_prov_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} remote_prov_cert_prop:property_service set;
+
+neverallow {
+  # Only allow init and shell to set rollback_test_prop
+  domain
+  -init
+  -shell
+} rollback_test_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -apexd
+} ctl_apex_load_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -init
+  -dumpstate
+  -apexd
+} ctl_apex_load_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -apexd
+} apex_ready_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -dumpstate
+  -apexd
+  -vendor_init
+} apex_ready_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  # Only allow init and profcollectd to access profcollectd_node_id_prop
+  domain
+  -init
+  -dumpstate
+  -profcollectd
+} profcollectd_node_id_prop:file { getattr open read ioctl lock map watch watch_reads };
+
+neverallow {
+  domain
+  -init
+} log_file_logger_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} usb_uvc_enabled_prop:property_service set;
+
+# Disallow non system apps from reading ro.usb.uvc.enabled
+neverallow {
+  appdomain
+  -system_app
+  -device_as_webcam
+} usb_uvc_enabled_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} pm_archiving_enabled_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -shell
+  
+} bionic_linker_16kb_app_compat_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -shell
+  
+} pm_16kb_app_compat_prop:property_service set;
+#line 1 "system/sepolicy/private/radio.te"
+typeattribute radio coredomain, mlstrustedsubject;
+
+
+#line 3
+typeattribute radio appdomain;
+#line 3
+# Label tmpfs objects for all apps.
+#line 3
+type_transition radio tmpfs:file appdomain_tmpfs;
+#line 3
+
+#line 3
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 3
+type radio_userfaultfd;
+#line 3
+type_transition radio radio:anon_inode radio_userfaultfd "[userfaultfd]";
+#line 3
+# Allow domain to create/use userfaultfd anon_inode.
+#line 3
+allow radio radio_userfaultfd:anon_inode { create ioctl read };
+#line 3
+# Suppress errors generate during bugreport
+#line 3
+dontaudit su radio_userfaultfd:anon_inode *;
+#line 3
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 3
+neverallow { domain -radio } radio_userfaultfd:anon_inode *;
+#line 3
+
+#line 3
+allow radio appdomain_tmpfs:file { execute getattr map read write };
+#line 3
+neverallow { radio -runas_app -shell -simpleperf } { domain -radio }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+neverallow { appdomain -runas_app -shell -simpleperf -radio } radio:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+# The Android security model guarantees the confidentiality and integrity
+#line 3
+# of application data and execution state. Ptrace bypasses those
+#line 3
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 3
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 3
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 3
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 3
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 3
+# live lock conditions.
+#line 3
+neverallow { domain -radio -crash_dump  -runas_app -simpleperf } radio:process ptrace;
+#line 3
+
+
+
+#line 5
+allow radio runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 5
+
+
+# Property service
+
+#line 8
+
+#line 8
+allow radio property_socket:sock_file write;
+#line 8
+allow radio init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow radio radio_control_prop:property_service set;
+#line 8
+
+#line 8
+allow radio radio_control_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+
+#line 9
+
+#line 9
+allow radio property_socket:sock_file write;
+#line 9
+allow radio init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow radio radio_prop:property_service set;
+#line 9
+
+#line 9
+allow radio radio_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+#line 10
+
+#line 10
+allow radio property_socket:sock_file write;
+#line 10
+allow radio init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow radio net_radio_prop:property_service set;
+#line 10
+
+#line 10
+allow radio net_radio_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+#line 11
+
+#line 11
+allow radio property_socket:sock_file write;
+#line 11
+allow radio init:unix_stream_socket connectto;
+#line 11
+
+#line 11
+allow radio telephony_status_prop:property_service set;
+#line 11
+
+#line 11
+allow radio telephony_status_prop:file { getattr open read map };
+#line 11
+
+#line 11
+
+
+#line 12
+
+#line 12
+allow radio property_socket:sock_file write;
+#line 12
+allow radio init:unix_stream_socket connectto;
+#line 12
+
+#line 12
+allow radio radio_cdma_ecm_prop:property_service set;
+#line 12
+
+#line 12
+allow radio radio_cdma_ecm_prop:file { getattr open read map };
+#line 12
+
+#line 12
+
+
+# ctl interface
+
+#line 15
+
+#line 15
+allow radio property_socket:sock_file write;
+#line 15
+allow radio init:unix_stream_socket connectto;
+#line 15
+
+#line 15
+allow radio ctl_rildaemon_prop:property_service set;
+#line 15
+
+#line 15
+allow radio ctl_rildaemon_prop:file { getattr open read map };
+#line 15
+
+#line 15
+
+
+# Telephony code contains time / time zone detection logic so it reads the associated properties.
+
+#line 18
+allow radio time_prop:file { getattr open read map };
+#line 18
+
+
+# allow telephony to access platform compat to log permission denials
+allow radio platform_compat_service:service_manager find;
+
+allow radio uce_service:service_manager find;
+
+# Manage /data/misc/emergencynumberdb
+allow radio emergency_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow radio emergency_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# allow telephony to access related cache properties
+
+#line 30
+
+#line 30
+allow radio property_socket:sock_file write;
+#line 30
+allow radio init:unix_stream_socket connectto;
+#line 30
+
+#line 30
+allow radio binder_cache_telephony_server_prop:property_service set;
+#line 30
+
+#line 30
+allow radio binder_cache_telephony_server_prop:file { getattr open read map };
+#line 30
+
+#line 30
+;
+
+# allow sending pulled atoms to statsd
+
+#line 33
+# Call the server domain and optionally transfer references to it.
+#line 33
+allow radio statsd:binder { call transfer };
+#line 33
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 33
+allow statsd radio:binder transfer;
+#line 33
+# Receive and use open files from the server.
+#line 33
+allow radio statsd:fd use;
+#line 33
+
+
+
+#line 35
+typeattribute radio netdomain;
+#line 35
+
+
+#line 36
+typeattribute radio bluetoothdomain;
+#line 36
+
+
+#line 37
+typeattribute radio binderservicedomain;
+#line 37
+
+
+# Talks to hal_telephony_server via the rild socket only for devices without full treble
+
+#line 40
+allow radio rild_socket:sock_file write;
+#line 40
+allow radio hal_telephony_server:unix_stream_socket connectto;
+#line 40
+
+
+# Data file accesses.
+allow radio radio_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow radio radio_data_file:{ file lnk_file sock_file fifo_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow radio radio_core_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow radio radio_core_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow radio net_data_file:dir search;
+allow radio net_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 51
+  allow radio radio_service:service_manager { add find };
+#line 51
+  neverallow { domain -radio } radio_service:service_manager add;
+#line 51
+
+#line 51
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 51
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 51
+  
+#line 51
+
+allow radio audioserver_service:service_manager find;
+allow radio cameraserver_service:service_manager find;
+allow radio drmserver_service:service_manager find;
+allow radio mediaserver_service:service_manager find;
+allow radio nfc_service:service_manager find;
+allow radio app_api_service:service_manager find;
+allow radio system_api_service:service_manager find;
+allow radio timedetector_service:service_manager find;
+allow radio timezonedetector_service:service_manager find;
+
+# Perform HwBinder IPC.
+
+#line 63
+# Call the hwservicemanager and transfer references to it.
+#line 63
+allow radio hwservicemanager:binder { call transfer };
+#line 63
+# Allow hwservicemanager to send out callbacks
+#line 63
+allow hwservicemanager radio:binder { call transfer };
+#line 63
+# hwservicemanager performs getpidcon on clients.
+#line 63
+allow hwservicemanager radio:dir search;
+#line 63
+allow hwservicemanager radio:file { read open map };
+#line 63
+allow hwservicemanager radio:process getattr;
+#line 63
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 63
+# all domains in domain.te.
+#line 63
+
+
+#line 64
+typeattribute radio halclientdomain;
+#line 64
+typeattribute radio hal_telephony_client;
+#line 64
+
+#line 64
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 64
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 64
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 64
+
+#line 64
+typeattribute radio hal_telephony;
+#line 64
+# Find passthrough HAL implementations
+#line 64
+allow hal_telephony system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 64
+allow hal_telephony vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 64
+allow hal_telephony vendor_file:file { read open getattr execute map };
+#line 64
+
+#line 64
+
+
+# Used by TelephonyManager
+allow radio proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### Neverallow rules
+###
+
+neverallow { domain -radio -init }
+    binder_cache_telephony_server_prop:property_service set;
+#line 1 "system/sepolicy/private/recovery.te"
+typeattribute recovery coredomain;
+
+# The allow rules are only included in the recovery policy.
+# Otherwise recovery is only allowed the domain rules.
+#line 185
+
+
+###
+### neverallow rules
+###
+
+# Recovery should never touch /data.
+#
+# In particular, if /data is encrypted, it is not accessible
+# to recovery anyway.
+#
+# For now, we only enforce write/execute restrictions, as domain.te
+# contains a number of read-only rules that apply to all
+# domains, including recovery.
+#
+# TODO: tighten this up further.
+neverallow recovery {
+   data_file_type
+   -cache_file
+   -cache_recovery_file
+  
+}:file { { append create link unlink relabelfrom rename setattr write } { execute execute_no_trans } };
+neverallow recovery {
+   data_file_type
+   -cache_file
+   -cache_recovery_file
+  
+}:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+#line 1 "system/sepolicy/private/recovery_persist.te"
+typeattribute recovery_persist coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init recovery_persist_exec:file { getattr open read execute map };
+#line 3
+allow init recovery_persist:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow recovery_persist recovery_persist_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init recovery_persist:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init recovery_persist:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init recovery_persist_exec:process recovery_persist;
+#line 3
+
+#line 3
+
+
+allow recovery_persist pstorefs:dir search;
+allow recovery_persist pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+
+allow recovery_persist recovery_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow recovery_persist recovery_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+allow recovery_persist cache_file:dir search;
+allow recovery_persist cache_file:lnk_file read;
+allow recovery_persist cache_recovery_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow recovery_persist cache_recovery_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+
+###
+### Neverallow rules
+###
+### recovery_persist should NEVER do any of this
+
+# Block device access.
+neverallow recovery_persist dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow recovery_persist domain:process ptrace;
+
+# Write to /system.
+neverallow recovery_persist system_file_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Write to files in /data/data
+neverallow recovery_persist { app_data_file_type system_data_file }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# recovery_persist is not allowed to write anywhere other than recovery_data_file
+neverallow recovery_persist {
+  file_type
+  -recovery_data_file
+  
+  
+}:file write;
+#line 1 "system/sepolicy/private/recovery_refresh.te"
+typeattribute recovery_refresh coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init recovery_refresh_exec:file { getattr open read execute map };
+#line 3
+allow init recovery_refresh:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow recovery_refresh recovery_refresh_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init recovery_refresh:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init recovery_refresh:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init recovery_refresh_exec:process recovery_refresh;
+#line 3
+
+#line 3
+
+
+allow recovery_refresh pstorefs:dir search;
+allow recovery_refresh pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+# NB: domain inherits write_logd which hands us write to pmsg_device
+
+###
+### Neverallow rules
+###
+### recovery_refresh should NEVER do any of this
+
+# Block device access.
+neverallow recovery_refresh dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow recovery_refresh domain:process ptrace;
+
+# Write to /system.
+neverallow recovery_refresh system_file_type:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# Write to files in /data/data or system files on /data
+neverallow recovery_refresh { app_data_file_type system_data_file }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } write;
+
+# recovery_refresh is not allowed to write anywhere
+neverallow recovery_refresh {
+  file_type
+  
+  
+}:file write;
+#line 1 "system/sepolicy/private/remote_provisioning_service_server.te"
+# This service is hosted by system server, and provides a stable aidl
+# front-end for a mainline module that is loaded into system server.
+
+#line 3
+  allow remote_provisioning_service_server remote_provisioning_service:service_manager { add find };
+#line 3
+  neverallow { domain -remote_provisioning_service_server } remote_provisioning_service:service_manager add;
+#line 3
+
+#line 3
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 3
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 3
+  
+#line 3
+
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow remote_provisioning_service_server servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager remote_provisioning_service_server:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager remote_provisioning_service_server:dir search;
+#line 5
+allow servicemanager remote_provisioning_service_server:file { read open };
+#line 5
+allow servicemanager remote_provisioning_service_server:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+#line 1 "system/sepolicy/private/remount.te"
+type remount, domain, coredomain;
+type remount_exec, system_file_type, exec_type, file_type;
+
+#line 25
+
+#line 1 "system/sepolicy/private/rkp_cert_processor.te"
+# Cert processor service
+type rkp_cert_processor, domain, coredomain;
+type rkp_cert_processor_exec, system_file_type, exec_type, file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init rkp_cert_processor_exec:file { getattr open read execute map };
+#line 5
+allow init rkp_cert_processor:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow rkp_cert_processor rkp_cert_processor_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init rkp_cert_processor:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init rkp_cert_processor:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init rkp_cert_processor_exec:process rkp_cert_processor;
+#line 5
+
+#line 5
+
+
+#line 6
+typeattribute rkp_cert_processor netdomain;
+#line 6
+
+
+
+#line 8
+# Call the servicemanager and transfer references to it.
+#line 8
+allow rkp_cert_processor servicemanager:binder { call transfer };
+#line 8
+# Allow servicemanager to send out callbacks
+#line 8
+allow servicemanager rkp_cert_processor:binder { call transfer };
+#line 8
+# servicemanager performs getpidcon on clients.
+#line 8
+allow servicemanager rkp_cert_processor:dir search;
+#line 8
+allow servicemanager rkp_cert_processor:file { read open };
+#line 8
+allow servicemanager rkp_cert_processor:process getattr;
+#line 8
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 8
+# all domains in domain.te.
+#line 8
+
+
+#line 9
+# Call the server domain and optionally transfer references to it.
+#line 9
+allow rkp_cert_processor system_server:binder { call transfer };
+#line 9
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 9
+allow system_server rkp_cert_processor:binder transfer;
+#line 9
+# Receive and use open files from the server.
+#line 9
+allow rkp_cert_processor system_server:fd use;
+#line 9
+
+
+
+#line 11
+  allow rkp_cert_processor rkp_cert_processor_service:service_manager { add find };
+#line 11
+  neverallow { domain -rkp_cert_processor } rkp_cert_processor_service:service_manager add;
+#line 11
+
+#line 11
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 11
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 11
+  
+#line 11
+
+
+
+#line 13
+  allow rkp_cert_processor system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 13
+  allow rkp_cert_processor system_bootstrap_lib_file:file { execute read open getattr map };
+#line 13
+
+
+allow rkp_cert_processor package_native_service:service_manager find;
+#line 1 "system/sepolicy/private/rkpd.te"
+# Policies for Remote Key Provisioning Daemon (rkpd)
+type rkpd, domain;
+type rkpd_exec, system_file_type, exec_type, file_type;
+
+typeattribute rkpd coredomain;
+
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow rkpd servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager rkpd:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager rkpd:dir search;
+#line 7
+allow servicemanager rkpd:file { read open };
+#line 7
+allow servicemanager rkpd:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+#line 8
+typeattribute rkpd binderservicedomain;
+#line 8
+
+
+
+#line 10
+
+#line 10
+# Allow the necessary permissions.
+#line 10
+
+#line 10
+# Old domain may exec the file and transition to the new domain.
+#line 10
+allow init rkpd_exec:file { getattr open read execute map };
+#line 10
+allow init rkpd:process transition;
+#line 10
+# New domain is entered by executing the file.
+#line 10
+allow rkpd rkpd_exec:file { entrypoint open read execute getattr map };
+#line 10
+# New domain can send SIGCHLD to its caller.
+#line 10
+
+#line 10
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 10
+dontaudit init rkpd:process noatsecure;
+#line 10
+# XXX dontaudit candidate but requires further study.
+#line 10
+allow init rkpd:process { siginh rlimitinh };
+#line 10
+
+#line 10
+# Make the transition occur by default.
+#line 10
+type_transition init rkpd_exec:process rkpd;
+#line 10
+
+#line 10
+
+
+
+#line 12
+  allow rkpd rkpd_registrar_service:service_manager { add find };
+#line 12
+  neverallow { domain -rkpd } rkpd_registrar_service:service_manager add;
+#line 12
+
+#line 12
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 12
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 12
+  
+#line 12
+
+
+#line 13
+  allow rkpd rkpd_refresh_service:service_manager { add find };
+#line 13
+  neverallow { domain -rkpd } rkpd_refresh_service:service_manager add;
+#line 13
+
+#line 13
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 13
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 13
+  
+#line 13
+
+
+
+#line 15
+allow rkpd device_config_remote_key_provisioning_native_prop:file { getattr open read map };
+#line 15
+
+#line 1 "system/sepolicy/private/rkpd_app.te"
+###
+### A domain for sandboxing the remote key provisioning daemon
+### app that is shipped via mainline.
+###
+typeattribute rkpdapp coredomain;
+
+
+#line 7
+typeattribute rkpdapp appdomain;
+#line 7
+# Label tmpfs objects for all apps.
+#line 7
+type_transition rkpdapp tmpfs:file appdomain_tmpfs;
+#line 7
+
+#line 7
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 7
+type rkpdapp_userfaultfd;
+#line 7
+type_transition rkpdapp rkpdapp:anon_inode rkpdapp_userfaultfd "[userfaultfd]";
+#line 7
+# Allow domain to create/use userfaultfd anon_inode.
+#line 7
+allow rkpdapp rkpdapp_userfaultfd:anon_inode { create ioctl read };
+#line 7
+# Suppress errors generate during bugreport
+#line 7
+dontaudit su rkpdapp_userfaultfd:anon_inode *;
+#line 7
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 7
+neverallow { domain -rkpdapp } rkpdapp_userfaultfd:anon_inode *;
+#line 7
+
+#line 7
+allow rkpdapp appdomain_tmpfs:file { execute getattr map read write };
+#line 7
+neverallow { rkpdapp -runas_app -shell -simpleperf } { domain -rkpdapp }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+neverallow { appdomain -runas_app -shell -simpleperf -rkpdapp } rkpdapp:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 7
+# The Android security model guarantees the confidentiality and integrity
+#line 7
+# of application data and execution state. Ptrace bypasses those
+#line 7
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 7
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 7
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 7
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 7
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 7
+# live lock conditions.
+#line 7
+neverallow { domain -rkpdapp -crash_dump  -runas_app -simpleperf } rkpdapp:process ptrace;
+#line 7
+
+
+#line 8
+typeattribute rkpdapp netdomain;
+#line 8
+
+
+# RKPD needs to be able to call the remote provisioning HALs
+
+#line 11
+typeattribute rkpdapp halclientdomain;
+#line 11
+typeattribute rkpdapp hal_keymint_client;
+#line 11
+
+#line 11
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 11
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 11
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 11
+
+#line 11
+typeattribute rkpdapp hal_keymint;
+#line 11
+# Find passthrough HAL implementations
+#line 11
+allow hal_keymint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+allow hal_keymint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+allow hal_keymint vendor_file:file { read open getattr execute map };
+#line 11
+
+#line 11
+
+
+#line 12
+typeattribute rkpdapp halclientdomain;
+#line 12
+typeattribute rkpdapp hal_remotelyprovisionedcomponent_avf_client;
+#line 12
+
+#line 12
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 12
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 12
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 12
+
+#line 12
+typeattribute rkpdapp hal_remotelyprovisionedcomponent_avf;
+#line 12
+# Find passthrough HAL implementations
+#line 12
+allow hal_remotelyprovisionedcomponent_avf system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_remotelyprovisionedcomponent_avf vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 12
+allow hal_remotelyprovisionedcomponent_avf vendor_file:file { read open getattr execute map };
+#line 12
+
+#line 12
+
+
+# Grant access to certain system properties related to RKP
+
+#line 15
+allow rkpdapp device_config_remote_key_provisioning_native_prop:file { getattr open read map };
+#line 15
+
+
+#line 16
+
+#line 16
+allow rkpdapp property_socket:sock_file write;
+#line 16
+allow rkpdapp init:unix_stream_socket connectto;
+#line 16
+
+#line 16
+allow rkpdapp remote_prov_prop:property_service set;
+#line 16
+
+#line 16
+allow rkpdapp remote_prov_prop:file { getattr open read map };
+#line 16
+
+#line 16
+
+
+# Grant access to the normal services that are available to all apps
+allow rkpdapp app_api_service:service_manager find;
+
+# Grant access to media.metrics service, needed for widevine. This
+# access is granted to all other apps already (e.g. untrusted_app_all).
+allow rkpdapp mediametrics_service:service_manager find;
+
+# Grant access to statsd
+allow rkpdapp statsmanager_service:service_manager find;
+
+#line 27
+# Call the server domain and optionally transfer references to it.
+#line 27
+allow rkpdapp statsd:binder { call transfer };
+#line 27
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 27
+allow statsd rkpdapp:binder transfer;
+#line 27
+# Receive and use open files from the server.
+#line 27
+allow rkpdapp statsd:fd use;
+#line 27
+
+#line 1 "system/sepolicy/private/rootdisk_sysdev.te"
+allow rootdisk_sysdev sysfs:filesystem associate;
+#line 1 "system/sepolicy/private/rs.te"
+# Any files which would have been created as app_data_file and
+# privapp_data_file will be created as app_exec_data_file instead.
+allow rs { app_data_file privapp_data_file }:dir { { open getattr read search ioctl lock watch watch_reads } add_name write };
+allow rs app_exec_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+type_transition rs app_data_file:file app_exec_data_file;
+type_transition rs privapp_data_file:file app_exec_data_file;
+
+# Follow /data/user/0 symlink
+allow rs system_data_file:lnk_file read;
+
+# Read files from the app home directory.
+allow rs { app_data_file privapp_data_file }:file { getattr open read ioctl lock map watch watch_reads };
+allow rs { app_data_file privapp_data_file }:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Cleanup app_exec_data_file files in the app home directory.
+allow rs { app_data_file privapp_data_file }:dir remove_name;
+
+# Use vendor resources
+allow rs vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 20
+allow rs vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow rs vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 20
+
+
+#line 21
+allow rs vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow rs vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 21
+
+# Vendor overlay can be found in vendor apex
+allow rs vendor_apex_metadata_file:dir { getattr search };
+
+# Read contents of app apks
+
+#line 26
+allow rs apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow rs apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 26
+
+
+allow rs gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow rs ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow rs same_process_hal_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# File descriptors passed from app to renderscript
+allow rs { untrusted_app_all ephemeral_app priv_app }:fd use;
+
+# See b/291211299. Since rs is deprecated, this shouldn't be too dangerous, since new
+# renderscript usages shouldn't be popping up.
+dontaudit rs { zygote surfaceflinger hal_graphics_allocator }:fd use;
+
+# rs can access app data, so ensure it can only be entered via an app domain and cannot have
+# CAP_DAC_OVERRIDE.
+neverallow rs rs:{ capability capability2 cap_userns cap2_userns } *;
+neverallow { domain -appdomain } rs:process { dyntransition transition };
+neverallow rs { domain -crash_dump }:process { dyntransition transition };
+neverallow rs app_data_file_type:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } ~{ getattr open read ioctl lock map watch watch_reads };
+# rs should never use network sockets
+neverallow rs *:{ icmp_socket rawip_socket tcp_socket udp_socket } *;
+#line 1 "system/sepolicy/private/rss_hwm_reset.te"
+type rss_hwm_reset_exec, system_file_type, exec_type, file_type;
+
+# Start rss_hwm_reset from init.
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init rss_hwm_reset_exec:file { getattr open read execute map };
+#line 4
+allow init rss_hwm_reset:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow rss_hwm_reset rss_hwm_reset_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init rss_hwm_reset:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init rss_hwm_reset:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init rss_hwm_reset_exec:process rss_hwm_reset;
+#line 4
+
+#line 4
+
+
+# Search /proc/pid directories.
+allow rss_hwm_reset domain:dir search;
+
+# Write to /proc/pid/clear_refs of other processes.
+# /proc/pid/clear_refs is S_IWUSER, see: fs/proc/base.c
+allow rss_hwm_reset self:{ capability cap_userns } { dac_override };
+
+# Write to /prc/pid/clear_refs.
+allow rss_hwm_reset domain:file { open append write lock map };
+#line 1 "system/sepolicy/private/runas.te"
+typeattribute runas coredomain;
+
+# ndk-gdb invokes adb shell run-as.
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow shell runas_exec:file { getattr open read execute map };
+#line 4
+allow shell runas:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow runas runas_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+allow runas shell:process sigchld;
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit shell runas:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow shell runas:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition shell runas_exec:process runas;
+#line 4
+
+
+allow runas adbd:fd use;
+allow runas adbd:process sigchld;
+allow runas adbd:unix_stream_socket { read write };
+allow runas shell:fd use;
+allow runas shell:fifo_file { read write };
+allow runas shell:unix_stream_socket { read write };
+allow runas devpts:chr_file { read write ioctl };
+allow runas shell_data_file:file { read write };
+
+# run-as reads package information.
+allow runas system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow runas system_data_file:lnk_file getattr;
+allow runas packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# The app's data dir may be accessed through a symlink.
+allow runas system_data_file:lnk_file read;
+
+# run-as checks and changes to the app data dir.
+dontaudit runas self:{ capability cap_userns } { dac_override dac_read_search };
+allow runas app_data_file:dir { getattr search };
+
+# run-as switches to the app UID/GID.
+allow runas self:{ capability cap_userns } { setuid setgid };
+
+# run-as switches to the app security context.
+
+#line 31
+
+#line 31
+allow runas selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 31
+allow runas selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 31
+
+#line 31
+allow runas selinuxfs:file { open append write lock map };
+#line 31
+allow runas kernel:security check_context;
+#line 31
+ # validate context
+allow runas self:process setcurrent;
+allow runas { appdomain -system_app }:process dyntransition; # setcon
+
+# runas/libselinux needs access to seapp_contexts_file to
+# determine which domain to transition to.
+allow runas seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### neverallow rules
+###
+
+# run-as cannot have capabilities other than CAP_SETUID and CAP_SETGID
+neverallow runas self:{ capability cap_userns } ~{ setuid setgid };
+neverallow runas self:{ capability2 cap2_userns } *;
+#line 1 "system/sepolicy/private/runas_app.te"
+typeattribute runas_app coredomain;
+
+
+#line 3
+typeattribute runas_app appdomain;
+#line 3
+# Label tmpfs objects for all apps.
+#line 3
+type_transition runas_app tmpfs:file appdomain_tmpfs;
+#line 3
+
+#line 3
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 3
+type runas_app_userfaultfd;
+#line 3
+type_transition runas_app runas_app:anon_inode runas_app_userfaultfd "[userfaultfd]";
+#line 3
+# Allow domain to create/use userfaultfd anon_inode.
+#line 3
+allow runas_app runas_app_userfaultfd:anon_inode { create ioctl read };
+#line 3
+# Suppress errors generate during bugreport
+#line 3
+dontaudit su runas_app_userfaultfd:anon_inode *;
+#line 3
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 3
+neverallow { domain -runas_app } runas_app_userfaultfd:anon_inode *;
+#line 3
+
+#line 3
+allow runas_app appdomain_tmpfs:file { execute getattr map read write };
+#line 3
+neverallow { runas_app -runas_app -shell -simpleperf } { domain -runas_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+neverallow { appdomain -runas_app -shell -simpleperf -runas_app } runas_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+# The Android security model guarantees the confidentiality and integrity
+#line 3
+# of application data and execution state. Ptrace bypasses those
+#line 3
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 3
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 3
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 3
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 3
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 3
+# live lock conditions.
+#line 3
+neverallow { domain -runas_app -crash_dump  -runas_app -simpleperf } runas_app:process ptrace;
+#line 3
+
+
+#line 4
+typeattribute runas_app untrusted_app_all;
+#line 4
+
+
+#line 5
+typeattribute runas_app netdomain;
+#line 5
+
+
+#line 6
+typeattribute runas_app bluetoothdomain;
+#line 6
+
+
+# The ability to call exec() on files in the apps home directories
+# when using run-as on a debuggable app. Used to run lldb/ndk-gdb/simpleperf,
+# which are copied to the apps home directories.
+allow runas_app app_data_file:file execute_no_trans;
+
+# Allow lldb/ndk-gdb/simpleperf to read maps of debuggable app processes.
+
+#line 14
+allow runas_app untrusted_app_all:dir { open getattr read search ioctl lock watch watch_reads };
+#line 14
+allow runas_app untrusted_app_all:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 14
+
+
+# Allow lldb/ndk-gdb/simpleperf to ptrace attach to debuggable app processes.
+allow runas_app untrusted_app_all:process { ptrace sigkill signal sigstop };
+allow runas_app untrusted_app_all:unix_stream_socket connectto;
+
+# Suppress denial logspam when simpleperf is trying to find a matching process
+# by scanning /proc/<pid>/cmdline files. The /proc/<pid> directories are within
+# the same domain as their respective process, most of which this domain is not
+# allowed to see.
+dontaudit runas_app domain:dir search;
+
+# Allow runas_app to call perf_event_open for profiling debuggable app
+# processes, but not the whole system.
+allow runas_app self:perf_event { open read write };
+neverallow runas_app self:perf_event ~{ open read write };
+
+# Suppress bionic loader denial /data/local/tests directories.
+dontaudit runas_app shell_test_data_file:dir search;
+#line 1 "system/sepolicy/private/scheduler_service_server.te"
+
+#line 1
+  allow scheduler_service_server fwk_scheduler_hwservice:hwservice_manager { add find };
+#line 1
+  allow scheduler_service_server hidl_base_hwservice:hwservice_manager add;
+#line 1
+  neverallow { domain -scheduler_service_server } fwk_scheduler_hwservice:hwservice_manager add;
+#line 1
+
+#line 1 "system/sepolicy/private/sdcardd.te"
+typeattribute sdcardd coredomain;
+
+type_transition sdcardd system_data_file:{ dir file } media_rw_data_file;
+
+allow sdcardd cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow sdcardd cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow sdcardd fuse_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow sdcardd rootfs:dir mounton;  # TODO: deprecated in M
+allow sdcardd sdcardfs:filesystem remount;
+allow sdcardd tmpfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow sdcardd mnt_media_rw_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow sdcardd storage_file:dir search;
+allow sdcardd storage_stub_file:dir { search mounton };
+allow sdcardd { sdcard_type fuse }:filesystem { mount unmount };
+allow sdcardd self:{ capability cap_userns } { setuid setgid dac_override dac_read_search sys_admin sys_resource };
+
+allow sdcardd { sdcard_type fuse }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow sdcardd { sdcard_type fuse }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow sdcardd media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow sdcardd media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read /data/system/packages.list.
+allow sdcardd system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow sdcardd packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /data/misc/installd/layout_version
+allow sdcardd install_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow sdcardd install_data_file:dir search;
+
+# Allow stdin/out back to vold
+allow sdcardd vold:fd use;
+allow sdcardd vold:fifo_file { read write getattr };
+
+# Allow running on top of expanded storage
+allow sdcardd mnt_expand_file:dir search;
+
+# access /proc/filesystems
+allow sdcardd proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### neverallow rules
+###
+
+# The sdcard daemon should no longer be started from init
+neverallow init sdcardd_exec:file execute;
+neverallow init sdcardd:process { transition dyntransition };
+#line 1 "system/sepolicy/private/sdk_sandbox_34.te"
+###
+### SDK Sandbox process.
+###
+### This file defines the security policy for the sdk sandbox processes
+### for targetSdkVersion=34.
+type sdk_sandbox_34, domain, coredomain, sdk_sandbox_all, sdk_sandbox_current;
+
+
+#line 8
+typeattribute sdk_sandbox_34 netdomain;
+#line 8
+
+
+#line 9
+typeattribute sdk_sandbox_34 appdomain;
+#line 9
+# Label tmpfs objects for all apps.
+#line 9
+type_transition sdk_sandbox_34 tmpfs:file appdomain_tmpfs;
+#line 9
+
+#line 9
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 9
+type sdk_sandbox_34_userfaultfd;
+#line 9
+type_transition sdk_sandbox_34 sdk_sandbox_34:anon_inode sdk_sandbox_34_userfaultfd "[userfaultfd]";
+#line 9
+# Allow domain to create/use userfaultfd anon_inode.
+#line 9
+allow sdk_sandbox_34 sdk_sandbox_34_userfaultfd:anon_inode { create ioctl read };
+#line 9
+# Suppress errors generate during bugreport
+#line 9
+dontaudit su sdk_sandbox_34_userfaultfd:anon_inode *;
+#line 9
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 9
+neverallow { domain -sdk_sandbox_34 } sdk_sandbox_34_userfaultfd:anon_inode *;
+#line 9
+
+#line 9
+allow sdk_sandbox_34 appdomain_tmpfs:file { execute getattr map read write };
+#line 9
+neverallow { sdk_sandbox_34 -runas_app -shell -simpleperf } { domain -sdk_sandbox_34 }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 9
+neverallow { appdomain -runas_app -shell -simpleperf -sdk_sandbox_34 } sdk_sandbox_34:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 9
+# The Android security model guarantees the confidentiality and integrity
+#line 9
+# of application data and execution state. Ptrace bypasses those
+#line 9
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 9
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 9
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 9
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 9
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 9
+# live lock conditions.
+#line 9
+neverallow { domain -sdk_sandbox_34 -crash_dump  -runas_app -simpleperf } sdk_sandbox_34:process ptrace;
+#line 9
+
+#line 1 "system/sepolicy/private/sdk_sandbox_all.te"
+###
+### sdk_sandbox_all
+###
+### This file defines the rules shared by all sdk_sandbox_all domains.
+### Apps are labeled based on mac_permissions.xml (maps signer and
+### optionally package name to seinfo value) and seapp_contexts (maps UID
+### and optionally seinfo value to domain for process and type for data
+### directory).  The sdk_sandbox_all_all attribute is assigned to all default
+### seapp_contexts for any app with UID between FIRST_SDK_SANDBOX_UID (20000)
+### and LAST_SDK_SANDBOX_UID (29999) if the app has no specific seinfo
+### value as determined from mac_permissions.xml.
+
+allow sdk_sandbox_all system_linker_exec:file execute_no_trans;
+
+# Required to read CTS tests data from the shell_data_file location.
+allow sdk_sandbox_all shell_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow sdk_sandbox_all shell_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# allow sdk sandbox to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow sdk_sandbox_all system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow sandbox to search in sdk system server directory
+# additionally, for webview to work, getattr has been permitted
+allow sdk_sandbox_all sdk_sandbox_system_data_file:dir { getattr search };
+# allow sandbox to create files and dirs in sdk data directory
+allow sdk_sandbox_all sdk_sandbox_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow sdk_sandbox_all sdk_sandbox_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow apps to pass open fds to the sdk sandbox
+allow sdk_sandbox_all { app_data_file privapp_data_file }:file { getattr read };
+
+###
+### neverallow rules
+###
+
+neverallow sdk_sandbox_all app_data_file_type:file { execute execute_no_trans };
+
+# Receive or send uevent messages.
+neverallow sdk_sandbox_all domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow sdk_sandbox_all domain:netlink_socket *;
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow sdk_sandbox_all debugfs_type:file read;
+
+# execute gpu_device
+neverallow sdk_sandbox_all gpu_device:chr_file execute;
+
+# access files in /sys with the default sysfs label
+neverallow sdk_sandbox_all sysfs:file *;
+
+# Avoid reads from generically labeled /proc files
+# Create a more specific label if needed
+neverallow sdk_sandbox_all proc:file { { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads } { execute execute_no_trans } };
+
+# Directly access external storage
+neverallow sdk_sandbox_all { sdcard_type media_rw_data_file }:file {open create};
+neverallow sdk_sandbox_all { sdcard_type media_rw_data_file }:dir search;
+
+# Avoid reads to proc_net, it contains too much device wide information about
+# ongoing connections.
+neverallow sdk_sandbox_all proc_net:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# SDK sandbox processes have their own storage not related to app_data_file or privapp_data_file
+# TODO(b/280514080): shell_data_file shouldn't be allowed here
+neverallow sdk_sandbox_all { app_data_file_type -sdk_sandbox_data_file -shell_data_file -radio_data_file }:dir { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow sdk_sandbox_all { app_data_file_type -sdk_sandbox_data_file -shell_data_file -radio_data_file }:file ~{ getattr read };
+
+# SDK sandbox processes don't  have any access to external storage
+neverallow sdk_sandbox_all { media_rw_data_file }:dir { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+neverallow sdk_sandbox_all { media_rw_data_file }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow { sdk_sandbox_all } tmpfs:dir { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow sdk_sandbox_all hal_drm_service:service_manager find;
+
+# Only certain system components should have access to sdk_sandbox_system_data_file
+# sdk_sandbox only needs search. Restricted in follow up neverallow rule.
+neverallow {
+    domain
+    -init
+    -installd
+    -system_server
+    -vold_prepare_subdirs
+} sdk_sandbox_system_data_file:dir { relabelfrom };
+
+neverallow {
+    domain
+    -init
+    -installd
+    -sdk_sandbox_all
+    -system_server
+    -vold_prepare_subdirs
+    -zygote
+} sdk_sandbox_system_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+
+# Only certain system components should have access to sdk_sandbox_all_system_data_file
+# sdk_sandbox_all only needs search. Restricted in follow up neverallow rule.
+neverallow {
+    domain
+    -init
+    -installd
+    -system_server
+    -vold_prepare_subdirs
+} sdk_sandbox_system_data_file:dir { relabelfrom };
+
+neverallow {
+    domain
+    -init
+    -installd
+    -sdk_sandbox_all
+    -system_server
+    -vold_prepare_subdirs
+    -zygote
+} sdk_sandbox_system_data_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+
+# sdk_sandbox_all only needs to traverse through the sdk_sandbox_all_system_data_file
+neverallow sdk_sandbox_all sdk_sandbox_system_data_file:dir ~{ getattr search };
+
+# Only dirs should be created at sdk_sandbox_all_system_data_file level
+neverallow { domain -init } sdk_sandbox_system_data_file:file *;
+
+# Restrict unix stream sockets for IPC.
+neverallow sdk_sandbox_all {
+    domain
+    -sdk_sandbox_all
+    -netd
+    -logd
+    -adbd
+    
+    # needed for profiling
+    -traced
+    -traced_perf
+    -heapprofd
+    # fallback crash handling for processes that can't exec crash_dump.
+    -tombstoned
+    # needed to connect to PRNG seeder daemon.
+    -prng_seeder
+}:unix_stream_socket connectto;
+neverallow {
+    domain
+    -adbd
+    -sdk_sandbox_all
+} sdk_sandbox_all:unix_stream_socket connectto;
+#line 1 "system/sepolicy/private/sdk_sandbox_audit.te"
+###
+### SDK Sandbox process.
+###
+### This file defines the audit sdk sandbox security policy for
+### the set of restrictions proposed for the next SDK level.
+###
+### The sdk_sandbox_audit domain has the same rules as the
+### sdk_sandbox_current domain and additional auditing rules
+### for the accesses we are considering forbidding in the upcoming
+### sdk_sandbox_next domain.
+type sdk_sandbox_audit, domain, coredomain, sdk_sandbox_all, sdk_sandbox_current;
+
+
+#line 13
+typeattribute sdk_sandbox_audit netdomain;
+#line 13
+
+
+#line 14
+typeattribute sdk_sandbox_audit appdomain;
+#line 14
+# Label tmpfs objects for all apps.
+#line 14
+type_transition sdk_sandbox_audit tmpfs:file appdomain_tmpfs;
+#line 14
+
+#line 14
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 14
+type sdk_sandbox_audit_userfaultfd;
+#line 14
+type_transition sdk_sandbox_audit sdk_sandbox_audit:anon_inode sdk_sandbox_audit_userfaultfd "[userfaultfd]";
+#line 14
+# Allow domain to create/use userfaultfd anon_inode.
+#line 14
+allow sdk_sandbox_audit sdk_sandbox_audit_userfaultfd:anon_inode { create ioctl read };
+#line 14
+# Suppress errors generate during bugreport
+#line 14
+dontaudit su sdk_sandbox_audit_userfaultfd:anon_inode *;
+#line 14
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 14
+neverallow { domain -sdk_sandbox_audit } sdk_sandbox_audit_userfaultfd:anon_inode *;
+#line 14
+
+#line 14
+allow sdk_sandbox_audit appdomain_tmpfs:file { execute getattr map read write };
+#line 14
+neverallow { sdk_sandbox_audit -runas_app -shell -simpleperf } { domain -sdk_sandbox_audit }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 14
+neverallow { appdomain -runas_app -shell -simpleperf -sdk_sandbox_audit } sdk_sandbox_audit:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 14
+# The Android security model guarantees the confidentiality and integrity
+#line 14
+# of application data and execution state. Ptrace bypasses those
+#line 14
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 14
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 14
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 14
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 14
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 14
+# live lock conditions.
+#line 14
+neverallow { domain -sdk_sandbox_audit -crash_dump  -runas_app -simpleperf } sdk_sandbox_audit:process ptrace;
+#line 14
+
+
+# Auditallow rules for accesses that are currently allowed but we
+# might remove in the future.
+
+auditallow sdk_sandbox_audit {
+    cameraserver_service
+    ephemeral_app_api_service
+    mediadrmserver_service
+    radio_service
+}:service_manager find;
+
+auditallow sdk_sandbox_audit {
+    property_type
+    -system_property_type
+}:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+auditallow sdk_sandbox_audit {
+    property_type
+    -system_property_type
+}:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+#line 1 "system/sepolicy/private/sdk_sandbox_current.te"
+###
+### SDK Sandbox process.
+###
+### This file defines the security policy for the sdk sandbox processes
+### for the current SDK level.
+
+# Allow finding services. This is different from ephemeral_app policy.
+# Adding services manually to the allowlist is preferred hence app_api_service is not used.
+allow sdk_sandbox_current {
+    activity_service
+    activity_task_service
+    appops_service
+    audio_service
+    audioserver_service
+    batteryproperties_service
+    batterystats_service
+    cameraserver_service
+    connectivity_service
+    connmetrics_service
+    deviceidle_service
+    display_service
+    dropbox_service
+    ephemeral_app_api_service
+    font_service
+    game_service
+    gpu_service
+    graphicsstats_service
+    hardware_properties_service
+    hint_service
+    imms_service
+    input_method_service
+    input_service
+    IProxyService_service
+    ipsec_service
+    launcherapps_service
+    legacy_permission_service
+    light_service
+    locale_service
+    media_communication_service
+    mediadrmserver_service
+    mediaextractor_service
+    mediametrics_service
+    media_projection_service
+    media_router_service
+    mediaserver_service
+    media_session_service
+    memtrackproxy_service
+    midi_service
+    netpolicy_service
+    netstats_service
+    network_management_service
+    notification_service
+    package_service
+    permission_checker_service
+    permission_service
+    permissionmgr_service
+    platform_compat_service
+    power_service
+    procstats_service
+    radio_service
+    registry_service
+    restrictions_service
+    rttmanager_service
+    search_service
+    selection_toolbar_service
+    sensor_privacy_service
+    sensorservice_service
+    servicediscovery_service
+    settings_service
+    speech_recognition_service
+    statusbar_service
+    storagestats_service
+    surfaceflinger_service
+    telecom_service
+    tethering_service
+    textclassification_service
+    textservices_service
+    texttospeech_service
+    thermal_service
+    translation_service
+    tv_iapp_service
+    tv_input_service
+    uimode_service
+    vcn_management_service
+    webviewupdate_service
+}:service_manager find;
+
+#line 1 "system/sepolicy/private/sdk_sandbox_next.te"
+###
+### SDK Sandbox process.
+###
+### This file defines the security policy for the sdk sandbox processes
+### for a test set of restrictions. These restrictions will be adapted
+### with modifications, into the set of restrictions for the next SDK
+### level.
+type sdk_sandbox_next, domain, coredomain, sdk_sandbox_all;
+
+
+#line 10
+typeattribute sdk_sandbox_next netdomain;
+#line 10
+
+
+#line 11
+typeattribute sdk_sandbox_next appdomain;
+#line 11
+# Label tmpfs objects for all apps.
+#line 11
+type_transition sdk_sandbox_next tmpfs:file appdomain_tmpfs;
+#line 11
+
+#line 11
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 11
+type sdk_sandbox_next_userfaultfd;
+#line 11
+type_transition sdk_sandbox_next sdk_sandbox_next:anon_inode sdk_sandbox_next_userfaultfd "[userfaultfd]";
+#line 11
+# Allow domain to create/use userfaultfd anon_inode.
+#line 11
+allow sdk_sandbox_next sdk_sandbox_next_userfaultfd:anon_inode { create ioctl read };
+#line 11
+# Suppress errors generate during bugreport
+#line 11
+dontaudit su sdk_sandbox_next_userfaultfd:anon_inode *;
+#line 11
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 11
+neverallow { domain -sdk_sandbox_next } sdk_sandbox_next_userfaultfd:anon_inode *;
+#line 11
+
+#line 11
+allow sdk_sandbox_next appdomain_tmpfs:file { execute getattr map read write };
+#line 11
+neverallow { sdk_sandbox_next -runas_app -shell -simpleperf } { domain -sdk_sandbox_next }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 11
+neverallow { appdomain -runas_app -shell -simpleperf -sdk_sandbox_next } sdk_sandbox_next:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 11
+# The Android security model guarantees the confidentiality and integrity
+#line 11
+# of application data and execution state. Ptrace bypasses those
+#line 11
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 11
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 11
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 11
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 11
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 11
+# live lock conditions.
+#line 11
+neverallow { domain -sdk_sandbox_next -crash_dump  -runas_app -simpleperf } sdk_sandbox_next:process ptrace;
+#line 11
+
+
+# Allow finding services. This is different from ephemeral_app policy.
+# Adding services manually to the allowlist is preferred hence app_api_service is not used.
+allow sdk_sandbox_next {
+    activity_service
+    activity_task_service
+    appops_service
+    audio_service
+    audioserver_service
+    batteryproperties_service
+    batterystats_service
+    connectivity_service
+    connmetrics_service
+    deviceidle_service
+    display_service
+    dropbox_service
+    font_service
+    game_service
+    gpu_service
+    graphicsstats_service
+    hardware_properties_service
+    hint_service
+    imms_service
+    input_method_service
+    input_service
+    IProxyService_service
+    ipsec_service
+    launcherapps_service
+    legacy_permission_service
+    light_service
+    locale_service
+    media_communication_service
+    mediaextractor_service
+    mediametrics_service
+    media_projection_service
+    media_router_service
+    mediaserver_service
+    media_session_service
+    memtrackproxy_service
+    midi_service
+    netpolicy_service
+    netstats_service
+    network_management_service
+    notification_service
+    package_service
+    permission_checker_service
+    permission_service
+    permissionmgr_service
+    platform_compat_service
+    power_service
+    procstats_service
+    registry_service
+    restrictions_service
+    rttmanager_service
+    search_service
+    selection_toolbar_service
+    sensor_privacy_service
+    sensorservice_service
+    servicediscovery_service
+    settings_service
+    speech_recognition_service
+    statusbar_service
+    storagestats_service
+    surfaceflinger_service
+    telecom_service
+    tethering_service
+    textclassification_service
+    textservices_service
+    texttospeech_service
+    thermal_service
+    translation_service
+    tv_iapp_service
+    tv_input_service
+    uimode_service
+    vcn_management_service
+    webviewupdate_service
+}:service_manager find;
+
+#line 1 "system/sepolicy/private/secure_element.te"
+# secure element subsystem
+typeattribute secure_element coredomain;
+
+#line 3
+typeattribute secure_element appdomain;
+#line 3
+# Label tmpfs objects for all apps.
+#line 3
+type_transition secure_element tmpfs:file appdomain_tmpfs;
+#line 3
+
+#line 3
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 3
+type secure_element_userfaultfd;
+#line 3
+type_transition secure_element secure_element:anon_inode secure_element_userfaultfd "[userfaultfd]";
+#line 3
+# Allow domain to create/use userfaultfd anon_inode.
+#line 3
+allow secure_element secure_element_userfaultfd:anon_inode { create ioctl read };
+#line 3
+# Suppress errors generate during bugreport
+#line 3
+dontaudit su secure_element_userfaultfd:anon_inode *;
+#line 3
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 3
+neverallow { domain -secure_element } secure_element_userfaultfd:anon_inode *;
+#line 3
+
+#line 3
+allow secure_element appdomain_tmpfs:file { execute getattr map read write };
+#line 3
+neverallow { secure_element -runas_app -shell -simpleperf } { domain -secure_element }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+neverallow { appdomain -runas_app -shell -simpleperf -secure_element } secure_element:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+# The Android security model guarantees the confidentiality and integrity
+#line 3
+# of application data and execution state. Ptrace bypasses those
+#line 3
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 3
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 3
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 3
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 3
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 3
+# live lock conditions.
+#line 3
+neverallow { domain -secure_element -crash_dump  -runas_app -simpleperf } secure_element:process ptrace;
+#line 3
+
+
+
+#line 5
+typeattribute secure_element binderservicedomain;
+#line 5
+
+
+#line 6
+  allow secure_element secure_element_service:service_manager { add find };
+#line 6
+  neverallow { domain -secure_element } secure_element_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+
+allow secure_element app_api_service:service_manager find;
+
+#line 9
+typeattribute secure_element halclientdomain;
+#line 9
+typeattribute secure_element hal_secure_element_client;
+#line 9
+
+#line 9
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 9
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 9
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 9
+
+#line 9
+typeattribute secure_element hal_secure_element;
+#line 9
+# Find passthrough HAL implementations
+#line 9
+allow hal_secure_element system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_secure_element vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 9
+allow hal_secure_element vendor_file:file { read open getattr execute map };
+#line 9
+
+#line 9
+
+
+# already open bugreport file descriptors may be shared with
+# the secure element process, from a file in
+# /data/data/com.android.shell/files/bugreports/bugreport-*.
+allow secure_element shell_data_file:file read;
+
+allow secure_element vendor_uuid_mapping_config_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/sensor_service_server.te"
+
+#line 1
+  allow sensor_service_server fwk_sensor_hwservice:hwservice_manager { add find };
+#line 1
+  allow sensor_service_server hidl_base_hwservice:hwservice_manager add;
+#line 1
+  neverallow { domain -sensor_service_server } fwk_sensor_hwservice:hwservice_manager add;
+#line 1
+
+#line 1 "system/sepolicy/private/service.te"
+type ambient_context_service,        app_api_service, system_server_service, service_manager_type;
+type authentication_policy_service,  system_api_service, system_server_service, service_manager_type;
+
+# These types will be public starting at board api 202504
+#line 7
+
+type attention_service,              system_server_service, service_manager_type;
+type bg_install_control_service,     system_api_service, system_server_service, service_manager_type;
+type compos_service,                 service_manager_type;
+type communal_service,               app_api_service, system_server_service, service_manager_type;
+type dynamic_system_service,         system_api_service, system_server_service, service_manager_type;
+type feature_flags_service,          app_api_service, system_server_service, service_manager_type;
+type fwk_devicestate_service, system_server_service, service_manager_type;
+type gsi_service,                    service_manager_type;
+type incidentcompanion_service,      app_api_service, system_api_service, system_server_service, service_manager_type;
+type logcat_service,                 system_server_service, service_manager_type;
+type logd_service,                   service_manager_type;
+type mediatuner_service,             app_api_service, service_manager_type;
+type mmd_service,                    service_manager_type;
+type on_device_intelligence_service, app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type profcollectd_service,           service_manager_type;
+type protolog_configuration_service, app_api_service, system_api_service, system_server_service, service_manager_type, ephemeral_app_api_service;
+type resolver_service,               system_server_service, service_manager_type;
+type rkpd_registrar_service,         service_manager_type;
+type rkpd_refresh_service,           service_manager_type;
+type rkp_cert_processor_service,     service_manager_type;
+type safety_center_service,          app_api_service, system_api_service, system_server_service, service_manager_type;
+type stats_service,                  service_manager_type;
+type statsbootstrap_service,         system_server_service, service_manager_type;
+type statscompanion_service,         system_server_service, service_manager_type;
+type statsmanager_service,           system_api_service, system_server_service, service_manager_type;
+#line 35
+
+
+#line 39
+
+#line 42
+
+#line 45
+
+type tracingproxy_service,          system_server_service, service_manager_type;
+type tradeinmode_service,           system_server_service, service_manager_type;
+type transparency_service,          system_server_service, service_manager_type;
+
+
+#line 50
+    type vfio_handler_service,          service_manager_type;
+#line 52
+
+
+#line 53
+    type virtualization_maintenance_service, service_manager_type;
+#line 55
+
+
+#line 56
+    type vm_tethering_service, system_server_service, service_manager_type;
+#line 56
+    type vmnic_service,        service_manager_type;
+#line 59
+
+
+#line 60
+    type microfuchsia_service,          service_manager_type;
+#line 62
+
+
+type uce_service,                      service_manager_type;
+#line 67
+
+type wearable_sensing_service,         app_api_service, system_server_service, service_manager_type;
+type wifi_mainline_supplicant_service, service_manager_type;
+type dynamic_instrumentation_service,  app_api_service, system_server_service, service_manager_type;
+type advanced_protection_service,      app_api_service, system_server_service, service_manager_type;
+
+
+#line 73
+    type ranging_service, app_api_service, system_server_service, service_manager_type;
+#line 75
+
+
+#line 79
+
+
+###
+### Neverallow rules
+###
+
+# servicemanager handles registering or looking up named services.
+# It does not make sense to register or lookup something which is not a service.
+# Trigger a compile error if this occurs.
+neverallow domain ~{ service_manager_type vndservice_manager_type }:service_manager { add find };
+#line 1 "system/sepolicy/private/servicemanager.te"
+typeattribute servicemanager coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init servicemanager_exec:file { getattr open read execute map };
+#line 3
+allow init servicemanager:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow servicemanager servicemanager_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init servicemanager:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init servicemanager:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init servicemanager_exec:process servicemanager;
+#line 3
+
+#line 3
+
+
+
+#line 5
+allow servicemanager runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 5
+
+
+
+#line 7
+
+#line 7
+allow servicemanager property_socket:sock_file write;
+#line 7
+allow servicemanager init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow servicemanager ctl_interface_start_prop:property_service set;
+#line 7
+
+#line 7
+allow servicemanager ctl_interface_start_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+
+#line 8
+
+#line 8
+allow servicemanager property_socket:sock_file write;
+#line 8
+allow servicemanager init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow servicemanager servicemanager_prop:property_service set;
+#line 8
+
+#line 8
+allow servicemanager servicemanager_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+
+# servicemanager is using bootstrap bionic
+
+#line 11
+  allow servicemanager system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 11
+  allow servicemanager system_bootstrap_lib_file:file { execute read open getattr map };
+#line 11
+
+
+# servicemanager is using apex_info via libvintf
+
+#line 14
+  allow servicemanager apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+#line 14
+  allow servicemanager apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 14
+  
+#line 14
+allow servicemanager vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 14
+allow servicemanager vendor_apex_metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 14
+
+#line 14
+
+
+# Note that we do not use the binder_* macros here.
+# servicemanager is unique in that it only provides
+# name service (aka context manager) for Binder.
+# As such, it only ever receives and transfers other references
+# created by other domains.  It never passes its own references
+# or initiates a Binder IPC.
+allow servicemanager self:binder set_context_mgr;
+allow servicemanager {
+  domain
+  -init
+  -vendor_init
+  -hwservicemanager
+  -vndservicemanager
+}:binder transfer;
+
+allow servicemanager service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow servicemanager vendor_service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# nonplat_service_contexts only accessible on non full-treble devices
+allow servicemanager vendor_service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 38
+  allow servicemanager service_manager_service:service_manager { add find };
+#line 38
+  neverallow { domain -servicemanager } service_manager_service:service_manager add;
+#line 38
+
+#line 38
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 38
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 38
+  
+#line 38
+
+allow servicemanager dumpstate:fd use;
+allow servicemanager dumpstate:fifo_file write;
+
+# Check SELinux permissions.
+
+#line 43
+
+#line 43
+allow servicemanager selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 43
+allow servicemanager selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 43
+
+#line 43
+allow servicemanager selinuxfs:file { open append write lock map };
+#line 43
+allow servicemanager kernel:security compute_av;
+#line 43
+allow servicemanager self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 43
+
+
+allow servicemanager kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+
+#line 47
+  allow servicemanager traced:fd use;
+#line 47
+  allow servicemanager traced_tmpfs:file { read write getattr map };
+#line 47
+  
+#line 47
+allow servicemanager traced_producer_socket:sock_file write;
+#line 47
+allow servicemanager traced:unix_stream_socket connectto;
+#line 47
+
+#line 47
+
+#line 47
+  # Also allow the service to use the producer file descriptors. This is
+#line 47
+  # necessary when the producer is creating the shared memory, as it will be
+#line 47
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 47
+  allow traced servicemanager:fd use;
+#line 47
+
+
+#line 52
+
+#line 1 "system/sepolicy/private/sgdisk.te"
+typeattribute sgdisk coredomain;
+
+# Allowed to read/write low-level partition tables
+allow sgdisk block_device:dir search;
+allow sgdisk vold_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# HDIO_GETGEO needed to get the number of disk heads
+# on vold_device. How quaint.
+allowxperm sgdisk vold_device:blk_file ioctl { 0x00000301 };
+# sgdisk also uses BLKGETSIZE and BLKGETSIZE64. BLKGETSIZE64
+# is granted to all block device users in domain.te, so
+# no need to mention it here. sgdisk should not be
+# using the BLKGETSIZE ioctl as it is useless for devices over
+# 2T in size, but we allow it for now and hope that sgdisk
+# will fix their bug.
+allowxperm sgdisk vold_device:blk_file ioctl { 0x00001260 };
+# Force a re-read of the partition table.
+allowxperm sgdisk vold_device:blk_file ioctl { 0x0000125f };
+# Allow reading of the physical block size.
+allowxperm sgdisk vold_device:blk_file ioctl { 0x0000127b };
+
+# Inherit and use pty created by android_fork_execvp()
+allow sgdisk devpts:chr_file { read write ioctl getattr };
+
+# Allow stdin/out back to vold
+allow sgdisk vold:fd use;
+allow sgdisk vold:fifo_file { read write getattr };
+
+# Used to probe kernel to reload partition tables
+allow sgdisk self:{ capability cap_userns } sys_admin;
+
+###
+### Neverallow rules
+###
+
+# Only allow entry from vold
+neverallow { domain -vold } sgdisk:process transition;
+neverallow * sgdisk:process dyntransition;
+neverallow sgdisk { file_type fs_type -sgdisk_exec }:file entrypoint;
+#line 1 "system/sepolicy/private/shared_relro.te"
+typeattribute shared_relro coredomain;
+
+# The shared relro process is a Java program forked from the zygote, so it
+# inherits from app to get basic permissions it needs to run.
+
+#line 5
+typeattribute shared_relro appdomain;
+#line 5
+# Label tmpfs objects for all apps.
+#line 5
+type_transition shared_relro tmpfs:file appdomain_tmpfs;
+#line 5
+
+#line 5
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 5
+type shared_relro_userfaultfd;
+#line 5
+type_transition shared_relro shared_relro:anon_inode shared_relro_userfaultfd "[userfaultfd]";
+#line 5
+# Allow domain to create/use userfaultfd anon_inode.
+#line 5
+allow shared_relro shared_relro_userfaultfd:anon_inode { create ioctl read };
+#line 5
+# Suppress errors generate during bugreport
+#line 5
+dontaudit su shared_relro_userfaultfd:anon_inode *;
+#line 5
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 5
+neverallow { domain -shared_relro } shared_relro_userfaultfd:anon_inode *;
+#line 5
+
+#line 5
+allow shared_relro appdomain_tmpfs:file { execute getattr map read write };
+#line 5
+neverallow { shared_relro -runas_app -shell -simpleperf } { domain -shared_relro }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 5
+neverallow { appdomain -runas_app -shell -simpleperf -shared_relro } shared_relro:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 5
+# The Android security model guarantees the confidentiality and integrity
+#line 5
+# of application data and execution state. Ptrace bypasses those
+#line 5
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 5
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 5
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 5
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 5
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 5
+# live lock conditions.
+#line 5
+neverallow { domain -shared_relro -crash_dump  -runas_app -simpleperf } shared_relro:process ptrace;
+#line 5
+
+
+allow shared_relro shared_relro_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow shared_relro shared_relro_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow shared_relro activity_service:service_manager find;
+allow shared_relro webviewupdate_service:service_manager find;
+allow shared_relro package_service:service_manager find;
+
+# StrictMode may attempt to find this service, failure is harmless.
+dontaudit shared_relro network_management_service:service_manager find;
+#line 1 "system/sepolicy/private/shell.te"
+typeattribute shell coredomain, mlstrustedsubject;
+
+# allow shell input injection
+allow shell uhid_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# systrace support - allow atrace to run
+allow shell debugfs_tracing_debug:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell debugfs_tracing:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow shell debugfs_trace_marker:file getattr;
+allow shell atrace_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 15
+
+
+# read config.gz for CTS purposes
+allow shell config_gz:file { getattr open read ioctl lock map watch watch_reads };
+
+# allow reading tombstones. users can already use bugreports to get those.
+allow shell tombstone_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell tombstone_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Run app_process.
+# XXX Transition into its own domain?
+
+#line 26
+typeattribute shell appdomain;
+#line 26
+# Label tmpfs objects for all apps.
+#line 26
+type_transition shell tmpfs:file appdomain_tmpfs;
+#line 26
+
+#line 26
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 26
+type shell_userfaultfd;
+#line 26
+type_transition shell shell:anon_inode shell_userfaultfd "[userfaultfd]";
+#line 26
+# Allow domain to create/use userfaultfd anon_inode.
+#line 26
+allow shell shell_userfaultfd:anon_inode { create ioctl read };
+#line 26
+# Suppress errors generate during bugreport
+#line 26
+dontaudit su shell_userfaultfd:anon_inode *;
+#line 26
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 26
+neverallow { domain -shell } shell_userfaultfd:anon_inode *;
+#line 26
+
+#line 26
+allow shell appdomain_tmpfs:file { execute getattr map read write };
+#line 26
+neverallow { shell -runas_app -shell -simpleperf } { domain -shell }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 26
+neverallow { appdomain -runas_app -shell -simpleperf -shell } shell:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 26
+# The Android security model guarantees the confidentiality and integrity
+#line 26
+# of application data and execution state. Ptrace bypasses those
+#line 26
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 26
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 26
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 26
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 26
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 26
+# live lock conditions.
+#line 26
+neverallow { domain -shell -crash_dump  -runas_app -simpleperf } shell:process ptrace;
+#line 26
+
+
+# allow shell to call dumpsys storaged
+
+#line 29
+# Call the server domain and optionally transfer references to it.
+#line 29
+allow shell storaged:binder { call transfer };
+#line 29
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 29
+allow storaged shell:binder transfer;
+#line 29
+# Receive and use open files from the server.
+#line 29
+allow shell storaged:fd use;
+#line 29
+
+
+# Perform SELinux access checks, needed for CTS
+
+#line 32
+
+#line 32
+allow shell selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow shell selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+#line 32
+allow shell selinuxfs:file { open append write lock map };
+#line 32
+allow shell kernel:security compute_av;
+#line 32
+allow shell self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 32
+
+
+#line 33
+
+#line 33
+allow shell selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 33
+allow shell selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 33
+
+#line 33
+allow shell selinuxfs:file { open append write lock map };
+#line 33
+allow shell kernel:security check_context;
+#line 33
+
+
+# Control Perfetto traced and obtain traces from it.
+# Needed for Studio and debugging.
+
+#line 37
+allow shell traced_consumer_socket:sock_file write;
+#line 37
+allow shell traced:unix_stream_socket connectto;
+#line 37
+
+
+# Allow shell binaries to write trace data to Perfetto. Used for testing and
+# cmdline utils.
+
+#line 41
+  allow shell traced:fd use;
+#line 41
+  allow shell traced_tmpfs:file { read write getattr map };
+#line 41
+  
+#line 41
+allow shell traced_producer_socket:sock_file write;
+#line 41
+allow shell traced:unix_stream_socket connectto;
+#line 41
+
+#line 41
+
+#line 41
+  # Also allow the service to use the producer file descriptors. This is
+#line 41
+  # necessary when the producer is creating the shared memory, as it will be
+#line 41
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 41
+  allow traced shell:fd use;
+#line 41
+
+
+
+#line 43
+# Allow the necessary permissions.
+#line 43
+
+#line 43
+# Old domain may exec the file and transition to the new domain.
+#line 43
+allow shell vendor_shell_exec:file { getattr open read execute map };
+#line 43
+allow shell vendor_shell:process transition;
+#line 43
+# New domain is entered by executing the file.
+#line 43
+allow vendor_shell vendor_shell_exec:file { entrypoint open read execute getattr map };
+#line 43
+# New domain can send SIGCHLD to its caller.
+#line 43
+allow vendor_shell shell:process sigchld;
+#line 43
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 43
+dontaudit shell vendor_shell:process noatsecure;
+#line 43
+# XXX dontaudit candidate but requires further study.
+#line 43
+allow shell vendor_shell:process { siginh rlimitinh };
+#line 43
+
+#line 43
+# Make the transition occur by default.
+#line 43
+type_transition shell vendor_shell_exec:process vendor_shell;
+#line 43
+
+
+# Allow shell to execute tradeinmode for testing.
+
+#line 46
+# Allow the necessary permissions.
+#line 46
+
+#line 46
+# Old domain may exec the file and transition to the new domain.
+#line 46
+allow shell tradeinmode_exec:file { getattr open read execute map };
+#line 46
+allow shell tradeinmode:process transition;
+#line 46
+# New domain is entered by executing the file.
+#line 46
+allow tradeinmode tradeinmode_exec:file { entrypoint open read execute getattr map };
+#line 46
+# New domain can send SIGCHLD to its caller.
+#line 46
+allow tradeinmode shell:process sigchld;
+#line 46
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 46
+dontaudit shell tradeinmode:process noatsecure;
+#line 46
+# XXX dontaudit candidate but requires further study.
+#line 46
+allow shell tradeinmode:process { siginh rlimitinh };
+#line 46
+
+#line 46
+# Make the transition occur by default.
+#line 46
+type_transition shell tradeinmode_exec:process tradeinmode;
+#line 46
+
+
+# Allow shell binaries to exec the perfetto cmdline util and have that
+# transition into its own domain, so that it behaves consistently to
+# when exec()-d by statsd.
+
+#line 51
+# Allow the necessary permissions.
+#line 51
+
+#line 51
+# Old domain may exec the file and transition to the new domain.
+#line 51
+allow shell perfetto_exec:file { getattr open read execute map };
+#line 51
+allow shell perfetto:process transition;
+#line 51
+# New domain is entered by executing the file.
+#line 51
+allow perfetto perfetto_exec:file { entrypoint open read execute getattr map };
+#line 51
+# New domain can send SIGCHLD to its caller.
+#line 51
+allow perfetto shell:process sigchld;
+#line 51
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 51
+dontaudit shell perfetto:process noatsecure;
+#line 51
+# XXX dontaudit candidate but requires further study.
+#line 51
+allow shell perfetto:process { siginh rlimitinh };
+#line 51
+
+#line 51
+# Make the transition occur by default.
+#line 51
+type_transition shell perfetto_exec:process perfetto;
+#line 51
+
+# Allow to send SIGINT to perfetto when daemonized.
+allow shell perfetto:process signal;
+
+# Allow shell to run adb shell cmd stats commands. Needed for CTS.
+
+#line 56
+# Call the server domain and optionally transfer references to it.
+#line 56
+allow shell statsd:binder { call transfer };
+#line 56
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 56
+allow statsd shell:binder transfer;
+#line 56
+# Receive and use open files from the server.
+#line 56
+allow shell statsd:fd use;
+#line 56
+;
+
+# Allow shell to read and unlink traces stored in /data/misc/a11ytraces.
+#line 62
+
+
+# Allow shell to read and unlink traces stored in /data/misc/perfetto-traces.
+allow shell perfetto_traces_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow shell perfetto_traces_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+# ... and /data/misc/perfetto-traces/bugreport/ .
+allow shell perfetto_traces_bugreport_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow shell perfetto_traces_bugreport_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+# ... and /data/misc/perfetto-traces/profiling/ .
+allow shell perfetto_traces_profiling_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow shell perfetto_traces_profiling_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+
+# Allow shell to create/remove configs stored in /data/misc/perfetto-configs.
+allow shell perfetto_configs_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow shell perfetto_configs_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow shell to run adb shell cmd gpu commands.
+
+#line 79
+# Call the server domain and optionally transfer references to it.
+#line 79
+allow shell gpuservice:binder { call transfer };
+#line 79
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 79
+allow gpuservice shell:binder transfer;
+#line 79
+# Receive and use open files from the server.
+#line 79
+allow shell gpuservice:fd use;
+#line 79
+;
+
+# Allow shell to use atrace HAL
+
+#line 82
+typeattribute shell halclientdomain;
+#line 82
+typeattribute shell hal_atrace_client;
+#line 82
+
+#line 82
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 82
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 82
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 82
+
+#line 82
+typeattribute shell hal_atrace;
+#line 82
+# Find passthrough HAL implementations
+#line 82
+allow hal_atrace system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow hal_atrace vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 82
+allow hal_atrace vendor_file:file { read open getattr execute map };
+#line 82
+
+#line 82
+
+
+# For hostside tests such as CTS listening ports test.
+allow shell proc_net_tcp_udp:file { getattr open read ioctl lock map watch watch_reads };
+
+# The dl.exec_linker* tests need to execute /system/bin/linker
+# b/124789393
+allow shell system_linker_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Renderscript host side tests depend on being able to execute
+# /system/bin/bcc (b/126388046)
+allow shell rs_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow (host-driven) ART run-tests to execute dex2oat, in order to
+# check ART's compiler.
+allow shell dex2oat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow shell dex2oat_exec:lnk_file read;
+
+# Allow shell to start and comminicate with lpdumpd.
+
+#line 101
+
+#line 101
+allow shell property_socket:sock_file write;
+#line 101
+allow shell init:unix_stream_socket connectto;
+#line 101
+
+#line 101
+allow shell lpdumpd_prop:property_service set;
+#line 101
+
+#line 101
+allow shell lpdumpd_prop:file { getattr open read map };
+#line 101
+
+#line 101
+;
+
+#line 102
+# Call the server domain and optionally transfer references to it.
+#line 102
+allow shell lpdumpd:binder { call transfer };
+#line 102
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 102
+allow lpdumpd shell:binder transfer;
+#line 102
+# Receive and use open files from the server.
+#line 102
+allow shell lpdumpd:fd use;
+#line 102
+
+
+# Allow shell to set and read value of properties used for CTS tests of
+# userspace reboot
+
+#line 106
+
+#line 106
+allow shell property_socket:sock_file write;
+#line 106
+allow shell init:unix_stream_socket connectto;
+#line 106
+
+#line 106
+allow shell userspace_reboot_test_prop:property_service set;
+#line 106
+
+#line 106
+allow shell userspace_reboot_test_prop:file { getattr open read map };
+#line 106
+
+#line 106
+
+
+# Allow shell to set this property to disable charging.
+
+#line 109
+
+#line 109
+allow shell property_socket:sock_file write;
+#line 109
+allow shell init:unix_stream_socket connectto;
+#line 109
+
+#line 109
+allow shell power_debug_prop:property_service set;
+#line 109
+
+#line 109
+allow shell power_debug_prop:file { getattr open read map };
+#line 109
+
+#line 109
+
+
+# Allow shell to set this property used for rollback tests
+
+#line 112
+
+#line 112
+allow shell property_socket:sock_file write;
+#line 112
+allow shell init:unix_stream_socket connectto;
+#line 112
+
+#line 112
+allow shell rollback_test_prop:property_service set;
+#line 112
+
+#line 112
+allow shell rollback_test_prop:file { getattr open read map };
+#line 112
+
+#line 112
+
+
+# Allow shell to set RKP properties for testing purposes
+
+#line 115
+
+#line 115
+allow shell property_socket:sock_file write;
+#line 115
+allow shell init:unix_stream_socket connectto;
+#line 115
+
+#line 115
+allow shell remote_prov_prop:property_service set;
+#line 115
+
+#line 115
+allow shell remote_prov_prop:file { getattr open read map };
+#line 115
+
+#line 115
+
+
+# Allow shell to enable 16 KB backcompat globally.
+
+#line 118
+
+#line 118
+allow shell property_socket:sock_file write;
+#line 118
+allow shell init:unix_stream_socket connectto;
+#line 118
+
+#line 118
+allow shell bionic_linker_16kb_app_compat_prop:property_service set;
+#line 118
+
+#line 118
+allow shell bionic_linker_16kb_app_compat_prop:file { getattr open read map };
+#line 118
+
+#line 118
+
+
+# Allow shell to disable compat in package manager
+
+#line 121
+
+#line 121
+allow shell property_socket:sock_file write;
+#line 121
+allow shell init:unix_stream_socket connectto;
+#line 121
+
+#line 121
+allow shell pm_16kb_app_compat_prop:property_service set;
+#line 121
+
+#line 121
+allow shell pm_16kb_app_compat_prop:file { getattr open read map };
+#line 121
+
+#line 121
+
+
+# Allow shell to get encryption policy of /data/local/tmp/, for CTS
+allowxperm shell shell_data_file:dir ioctl {
+  0x400c6615
+  0xc0096616
+};
+
+# Allow shell to execute simpleperf without a domain transition.
+allow shell simpleperf_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 141
+
+
+# Allow shell to run remount command.
+allow shell remount_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow shell to call perf_event_open for profiling other shell processes, but
+# not the whole system.
+allow shell self:perf_event { open read write };
+
+# Allow shell to read microdroid vendor image
+
+#line 151
+allow shell vendor_microdroid_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 151
+allow shell vendor_microdroid_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 151
+
+
+# Allow shell to read /apex/apex-info-list.xml and the vendor apexes
+allow shell apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell vendor_apex_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell vendor_apex_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell vendor_apex_metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow shell to read updated APEXes under /data/apex
+allow shell apex_data_file:dir search;
+allow shell staging_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Set properties.
+
+#line 164
+
+#line 164
+allow shell property_socket:sock_file write;
+#line 164
+allow shell init:unix_stream_socket connectto;
+#line 164
+
+#line 164
+allow shell shell_prop:property_service set;
+#line 164
+
+#line 164
+allow shell shell_prop:file { getattr open read map };
+#line 164
+
+#line 164
+
+
+#line 165
+
+#line 165
+allow shell property_socket:sock_file write;
+#line 165
+allow shell init:unix_stream_socket connectto;
+#line 165
+
+#line 165
+allow shell ctl_bugreport_prop:property_service set;
+#line 165
+
+#line 165
+allow shell ctl_bugreport_prop:file { getattr open read map };
+#line 165
+
+#line 165
+
+
+#line 166
+
+#line 166
+allow shell property_socket:sock_file write;
+#line 166
+allow shell init:unix_stream_socket connectto;
+#line 166
+
+#line 166
+allow shell ctl_dumpstate_prop:property_service set;
+#line 166
+
+#line 166
+allow shell ctl_dumpstate_prop:file { getattr open read map };
+#line 166
+
+#line 166
+
+
+#line 167
+
+#line 167
+allow shell property_socket:sock_file write;
+#line 167
+allow shell init:unix_stream_socket connectto;
+#line 167
+
+#line 167
+allow shell dumpstate_prop:property_service set;
+#line 167
+
+#line 167
+allow shell dumpstate_prop:file { getattr open read map };
+#line 167
+
+#line 167
+
+
+#line 168
+
+#line 168
+allow shell property_socket:sock_file write;
+#line 168
+allow shell init:unix_stream_socket connectto;
+#line 168
+
+#line 168
+allow shell exported_dumpstate_prop:property_service set;
+#line 168
+
+#line 168
+allow shell exported_dumpstate_prop:file { getattr open read map };
+#line 168
+
+#line 168
+
+
+#line 169
+
+#line 169
+allow shell property_socket:sock_file write;
+#line 169
+allow shell init:unix_stream_socket connectto;
+#line 169
+
+#line 169
+allow shell debug_prop:property_service set;
+#line 169
+
+#line 169
+allow shell debug_prop:file { getattr open read map };
+#line 169
+
+#line 169
+
+
+#line 170
+
+#line 170
+allow shell property_socket:sock_file write;
+#line 170
+allow shell init:unix_stream_socket connectto;
+#line 170
+
+#line 170
+allow shell perf_drop_caches_prop:property_service set;
+#line 170
+
+#line 170
+allow shell perf_drop_caches_prop:file { getattr open read map };
+#line 170
+
+#line 170
+
+
+#line 171
+
+#line 171
+allow shell property_socket:sock_file write;
+#line 171
+allow shell init:unix_stream_socket connectto;
+#line 171
+
+#line 171
+allow shell powerctl_prop:property_service set;
+#line 171
+
+#line 171
+allow shell powerctl_prop:file { getattr open read map };
+#line 171
+
+#line 171
+
+
+#line 172
+
+#line 172
+allow shell property_socket:sock_file write;
+#line 172
+allow shell init:unix_stream_socket connectto;
+#line 172
+
+#line 172
+allow shell log_tag_prop:property_service set;
+#line 172
+
+#line 172
+allow shell log_tag_prop:file { getattr open read map };
+#line 172
+
+#line 172
+
+
+#line 173
+
+#line 173
+allow shell property_socket:sock_file write;
+#line 173
+allow shell init:unix_stream_socket connectto;
+#line 173
+
+#line 173
+allow shell wifi_log_prop:property_service set;
+#line 173
+
+#line 173
+allow shell wifi_log_prop:file { getattr open read map };
+#line 173
+
+#line 173
+
+# Allow shell to start/stop traced via the persist.traced.enable
+# property (which also takes care of /data/misc initialization).
+
+#line 176
+
+#line 176
+allow shell property_socket:sock_file write;
+#line 176
+allow shell init:unix_stream_socket connectto;
+#line 176
+
+#line 176
+allow shell traced_enabled_prop:property_service set;
+#line 176
+
+#line 176
+allow shell traced_enabled_prop:file { getattr open read map };
+#line 176
+
+#line 176
+
+# adjust SELinux audit rates
+
+#line 178
+
+#line 178
+allow shell property_socket:sock_file write;
+#line 178
+allow shell init:unix_stream_socket connectto;
+#line 178
+
+#line 178
+allow shell logd_auditrate_prop:property_service set;
+#line 178
+
+#line 178
+allow shell logd_auditrate_prop:file { getattr open read map };
+#line 178
+
+#line 178
+
+# adjust is_loggable properties
+
+# logpersist script
+
+# Allow shell to start/stop heapprofd via the persist.heapprofd.enable
+# property.
+
+#line 185
+
+#line 185
+allow shell property_socket:sock_file write;
+#line 185
+allow shell init:unix_stream_socket connectto;
+#line 185
+
+#line 185
+allow shell heapprofd_enabled_prop:property_service set;
+#line 185
+
+#line 185
+allow shell heapprofd_enabled_prop:file { getattr open read map };
+#line 185
+
+#line 185
+
+# Allow shell to start/stop traced_perf via the persist.traced_perf.enable
+# property.
+
+#line 188
+
+#line 188
+allow shell property_socket:sock_file write;
+#line 188
+allow shell init:unix_stream_socket connectto;
+#line 188
+
+#line 188
+allow shell traced_perf_enabled_prop:property_service set;
+#line 188
+
+#line 188
+allow shell traced_perf_enabled_prop:file { getattr open read map };
+#line 188
+
+#line 188
+
+# Allow shell to start/stop gsid via ctl.start|stop|restart gsid.
+
+#line 190
+
+#line 190
+allow shell property_socket:sock_file write;
+#line 190
+allow shell init:unix_stream_socket connectto;
+#line 190
+
+#line 190
+allow shell ctl_gsid_prop:property_service set;
+#line 190
+
+#line 190
+allow shell ctl_gsid_prop:file { getattr open read map };
+#line 190
+
+#line 190
+
+
+#line 191
+
+#line 191
+allow shell property_socket:sock_file write;
+#line 191
+allow shell init:unix_stream_socket connectto;
+#line 191
+
+#line 191
+allow shell ctl_snapuserd_prop:property_service set;
+#line 191
+
+#line 191
+allow shell ctl_snapuserd_prop:file { getattr open read map };
+#line 191
+
+#line 191
+
+# Allow shell to start/stop prefetch
+
+#line 193
+
+#line 193
+allow shell property_socket:sock_file write;
+#line 193
+allow shell init:unix_stream_socket connectto;
+#line 193
+
+#line 193
+allow shell ctl_prefetch_prop:property_service set;
+#line 193
+
+#line 193
+allow shell ctl_prefetch_prop:file { getattr open read map };
+#line 193
+
+#line 193
+
+# Allow shell to enable Dynamic System Update
+
+#line 195
+
+#line 195
+allow shell property_socket:sock_file write;
+#line 195
+allow shell init:unix_stream_socket connectto;
+#line 195
+
+#line 195
+allow shell dynamic_system_prop:property_service set;
+#line 195
+
+#line 195
+allow shell dynamic_system_prop:file { getattr open read map };
+#line 195
+
+#line 195
+
+# Allow shell to mock an OTA using persist.pm.mock-upgrade
+
+#line 197
+
+#line 197
+allow shell property_socket:sock_file write;
+#line 197
+allow shell init:unix_stream_socket connectto;
+#line 197
+
+#line 197
+allow shell mock_ota_prop:property_service set;
+#line 197
+
+#line 197
+allow shell mock_ota_prop:file { getattr open read map };
+#line 197
+
+#line 197
+
+
+# Read device's serial number from system properties
+
+#line 200
+allow shell serialno_prop:file { getattr open read map };
+#line 200
+
+
+# Allow shell to read the vendor security patch level for CTS
+
+#line 203
+allow shell vendor_security_patch_level_prop:file { getattr open read map };
+#line 203
+
+
+# Read state of logging-related properties
+
+#line 206
+allow shell device_logging_prop:file { getattr open read map };
+#line 206
+
+
+# Read state of boot reason properties
+
+#line 209
+allow shell bootloader_boot_reason_prop:file { getattr open read map };
+#line 209
+
+
+#line 210
+allow shell last_boot_reason_prop:file { getattr open read map };
+#line 210
+
+
+#line 211
+allow shell system_boot_reason_prop:file { getattr open read map };
+#line 211
+
+
+# Allow shell to execute the remote key provisioning factory tool
+
+#line 214
+# Call the server domain and optionally transfer references to it.
+#line 214
+allow shell hal_keymint:binder { call transfer };
+#line 214
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 214
+allow hal_keymint shell:binder transfer;
+#line 214
+# Receive and use open files from the server.
+#line 214
+allow shell hal_keymint:fd use;
+#line 214
+
+# Allow shell to run the AVF RKP HAL during the execution of the remote key
+# provisioning factory tool.
+# TODO(b/351113293): Remove this once the AVF RKP HAL registration is moved to
+# a separate process.
+
+#line 219
+# Call the server domain and optionally transfer references to it.
+#line 219
+allow shell virtualizationservice:binder { call transfer };
+#line 219
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 219
+allow virtualizationservice shell:binder transfer;
+#line 219
+# Receive and use open files from the server.
+#line 219
+allow shell virtualizationservice:fd use;
+#line 219
+
+# Allow the shell to inspect whether AVF remote attestation is supported
+# through the system property.
+
+#line 222
+allow shell avf_virtualizationservice_prop:file { getattr open read map };
+#line 222
+
+
+# Allow reading the outcome of perf_event_open LSM support test for CTS.
+
+#line 225
+allow shell init_perf_lsm_hooks_prop:file { getattr open read map };
+#line 225
+
+
+# Allow shell to read boot image timestamps and fingerprints.
+
+#line 228
+allow shell build_bootimage_prop:file { getattr open read map };
+#line 228
+
+
+# Allow shell to read odsign verification properties
+
+#line 231
+allow shell odsign_prop:file { getattr open read map };
+#line 231
+
+
+
+
+# Allow shell to read the keystore key contexts files. Used by native tests to test label lookup.
+allow shell keystore2_key_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow shell to access the keystore2_key namespace shell_key. Mainly used for native tests.
+allow shell shell_key:keystore2_key { delete rebind use get_info update };
+
+# Allow shell to open and execute memfd files for minijail unit tests.
+#line 244
+
+
+# Allow shell to write db.log.detailed, db.log.slow_query_threshold*
+
+#line 247
+
+#line 247
+allow shell property_socket:sock_file write;
+#line 247
+allow shell init:unix_stream_socket connectto;
+#line 247
+
+#line 247
+allow shell sqlite_log_prop:property_service set;
+#line 247
+
+#line 247
+allow shell sqlite_log_prop:file { getattr open read map };
+#line 247
+
+#line 247
+
+
+# Allow shell to write MTE properties even on user builds.
+
+#line 250
+
+#line 250
+allow shell property_socket:sock_file write;
+#line 250
+allow shell init:unix_stream_socket connectto;
+#line 250
+
+#line 250
+allow shell arm64_memtag_prop:property_service set;
+#line 250
+
+#line 250
+allow shell arm64_memtag_prop:file { getattr open read map };
+#line 250
+
+#line 250
+
+
+#line 251
+
+#line 251
+allow shell property_socket:sock_file write;
+#line 251
+allow shell init:unix_stream_socket connectto;
+#line 251
+
+#line 251
+allow shell permissive_mte_prop:property_service set;
+#line 251
+
+#line 251
+allow shell permissive_mte_prop:file { getattr open read map };
+#line 251
+
+#line 251
+
+
+# Allow shell to write kcmdline properties even on user builds.
+
+#line 254
+
+#line 254
+allow shell property_socket:sock_file write;
+#line 254
+allow shell init:unix_stream_socket connectto;
+#line 254
+
+#line 254
+allow shell kcmdline_prop:property_service set;
+#line 254
+
+#line 254
+allow shell kcmdline_prop:file { getattr open read map };
+#line 254
+
+#line 254
+
+
+# Allow shell to read the dm-verity props on user builds.
+
+#line 257
+allow shell verity_status_prop:file { getattr open read map };
+#line 257
+
+
+# Allow shell to read Virtual A/B related properties
+
+#line 260
+allow shell virtual_ab_prop:file { getattr open read map };
+#line 260
+
+
+# Allow ReadDefaultFstab() for CTS.
+
+#line 263
+  allow shell { metadata_file gsi_metadata_file_type }:dir search;
+#line 263
+  allow shell gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 263
+  allow shell { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 263
+
+
+# Allow shell read access to /apex/apex-info-list.xml for CTS.
+allow shell apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Let the shell user call virtualizationservice (and
+# virtualizationservice call back to shell) for debugging.
+
+#line 270
+# Transition to virtualizationmanager when the client executes it.
+#line 270
+
+#line 270
+# Allow the necessary permissions.
+#line 270
+
+#line 270
+# Old domain may exec the file and transition to the new domain.
+#line 270
+allow shell virtualizationmanager_exec:file { getattr open read execute map };
+#line 270
+allow shell virtualizationmanager:process transition;
+#line 270
+# New domain is entered by executing the file.
+#line 270
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 270
+# New domain can send SIGCHLD to its caller.
+#line 270
+allow virtualizationmanager shell:process sigchld;
+#line 270
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 270
+dontaudit shell virtualizationmanager:process noatsecure;
+#line 270
+# XXX dontaudit candidate but requires further study.
+#line 270
+allow shell virtualizationmanager:process { siginh rlimitinh };
+#line 270
+
+#line 270
+# Make the transition occur by default.
+#line 270
+type_transition shell virtualizationmanager_exec:process virtualizationmanager;
+#line 270
+
+#line 270
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 270
+allow { virtualizationmanager crosvm } shell:unix_stream_socket { ioctl getattr read write };
+#line 270
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 270
+allow { virtualizationmanager crosvm } shell:fd use;
+#line 270
+# Let the client use file descriptors created by virtualizationmanager.
+#line 270
+allow shell virtualizationmanager:fd use;
+#line 270
+# Allow piping console log to the client
+#line 270
+allow { virtualizationmanager crosvm } shell:fifo_file { ioctl getattr read write };
+#line 270
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 270
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 270
+# the client can only connect to VMs that it owns.
+#line 270
+allow shell virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 270
+# Allow client to inspect hypervisor capabilities
+#line 270
+
+#line 270
+allow shell hypervisor_prop:file { getattr open read map };
+#line 270
+
+#line 270
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 270
+allow shell virtualizationservice_data_file:file { getattr read };
+#line 270
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 270
+allow virtualizationmanager shell:dir search;
+#line 270
+allow virtualizationmanager shell:file read;
+#line 270
+allow virtualizationmanager shell:lnk_file read;
+#line 270
+
+
+# Allow shell to set persist.wm.debug properties
+
+
+# Allow shell to write GWP-ASan properties even on user builds.
+
+#line 276
+
+#line 276
+allow shell property_socket:sock_file write;
+#line 276
+allow shell init:unix_stream_socket connectto;
+#line 276
+
+#line 276
+allow shell gwp_asan_prop:property_service set;
+#line 276
+
+#line 276
+allow shell gwp_asan_prop:file { getattr open read map };
+#line 276
+
+#line 276
+
+
+# Allow shell to set persist.sysui.notification.builder_extras_override property
+
+# Allow shell to set persist.sysui.notification.ranking_update_ashmem property
+
+
+# Allow shell to read the build properties for attestation feature
+
+#line 284
+allow shell build_attestation_prop:file { getattr open read map };
+#line 284
+
+
+# Allow shell to execute oatdump.
+# TODO (b/350628688): Remove this once it's safe to do so.
+allow shell oatdump_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Create and use network sockets.
+
+#line 291
+typeattribute shell netdomain;
+#line 291
+
+
+# logcat
+
+#line 294
+allow shell logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 294
+
+#line 294
+allow shell logdr_socket:sock_file write;
+#line 294
+allow shell logd:unix_stream_socket connectto;
+#line 294
+
+#line 294
+
+
+#line 295
+# Group AID_LOG checked by filesystem & logd
+#line 295
+# to permit control commands
+#line 295
+
+#line 295
+allow shell logd_socket:sock_file write;
+#line 295
+allow shell logd:unix_stream_socket connectto;
+#line 295
+
+#line 295
+
+
+#line 296
+allow shell logd_prop:file { getattr open read map };
+#line 296
+
+# logcat -L (directly, or via dumpstate)
+allow shell pstorefs:dir search;
+allow shell pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+
+# Root fs.
+allow shell rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# read files in /data/anr
+allow shell anr_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell anr_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /data/local/tmp.
+allow shell shell_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow shell shell_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow shell shell_data_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow shell shell_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access /data/local/tests.
+allow shell shell_test_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow shell shell_test_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow shell shell_test_data_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow shell shell_test_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow shell shell_test_data_file:sock_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read and delete from /data/local/traces.
+allow shell trace_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+allow shell trace_data_file:dir { { open getattr read search ioctl lock watch watch_reads } remove_name write };
+
+# Access /data/misc/profman.
+allow shell profman_dump_data_file:dir { write remove_name { open getattr read search ioctl lock watch watch_reads } };
+allow shell profman_dump_data_file:file { unlink { getattr open read ioctl lock map watch watch_reads } };
+
+# Read/execute files in /data/nativetest
+#line 333
+
+
+# adb bugreport
+
+#line 336
+allow shell dumpstate_socket:sock_file write;
+#line 336
+allow shell dumpstate:unix_stream_socket connectto;
+#line 336
+
+
+allow shell devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow shell tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow shell console_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow shell input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell input_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 345
+allow shell system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 345
+allow shell system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 345
+
+allow shell system_file:file { getattr execute execute_no_trans map };
+allow shell toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow shell shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow shell zygote_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 355
+
+
+# allow shell access to services
+allow shell servicemanager:service_manager list;
+# don't allow shell to access GateKeeper service
+# TODO: why is this so broad? Tightening candidate? It needs at list:
+# - dumpstate_service (so it can receive dumpstate progress updates)
+allow shell {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -gatekeeper_service
+  -hal_keymint_service
+  -hal_secureclock_service
+  -hal_sharedsecret_service
+  -incident_service
+  -installd_service
+  -mdns_service
+  -netd_service
+  -system_suspend_control_internal_service
+  -system_suspend_control_service
+  -virtual_touchpad_service
+  -vold_service
+  -default_android_service
+  -virtualization_service
+}:service_manager find;
+allow shell dumpstate:binder call;
+
+# allow shell to get information from hwservicemanager
+# for instance, listing hardware services with lshal
+
+#line 385
+# Call the hwservicemanager and transfer references to it.
+#line 385
+allow shell hwservicemanager:binder { call transfer };
+#line 385
+# Allow hwservicemanager to send out callbacks
+#line 385
+allow hwservicemanager shell:binder { call transfer };
+#line 385
+# hwservicemanager performs getpidcon on clients.
+#line 385
+allow hwservicemanager shell:dir search;
+#line 385
+allow hwservicemanager shell:file { read open map };
+#line 385
+allow hwservicemanager shell:process getattr;
+#line 385
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 385
+# all domains in domain.te.
+#line 385
+
+allow shell hwservicemanager:hwservice_manager list;
+
+# allow shell to look through /proc/ for lsmod, ps, top, netstat, vmstat.
+
+#line 389
+allow shell proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 389
+allow shell proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 389
+
+
+allow shell {
+  proc_asound
+  proc_cgroups
+  proc_filesystems
+  proc_interrupts
+  proc_loadavg # b/124024827
+  proc_meminfo
+  proc_modules
+  proc_pid_max
+  proc_slabinfo
+  proc_stat
+  proc_timer
+  proc_uptime
+  proc_version
+  proc_vmstat
+  proc_zoneinfo
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# allow listing network interfaces under /sys/class/net.
+allow shell sysfs_net:dir { open getattr read search ioctl lock watch watch_reads };
+
+
+#line 412
+allow shell cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 412
+allow shell cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 412
+
+allow shell cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell vendor_cgroup_desc_file:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 415
+allow shell cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 415
+allow shell cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 415
+
+allow shell domain:dir { search open read getattr };
+allow shell domain:{ file lnk_file } { open read getattr };
+
+# statvfs() of /proc and other labeled filesystems
+# (yaffs2, jffs2, ext2, ext3, ext4, xfs, btrfs, f2fs, squashfs, overlay)
+allow shell { proc labeledfs }:filesystem getattr;
+
+# stat() of /dev
+allow shell device:dir getattr;
+
+# allow shell to read /proc/pid/attr/current for ps -Z
+allow shell domain:process getattr;
+
+# Allow pulling the SELinux policy for CTS purposes
+allow shell selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell selinuxfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# enable shell domain to read/write files/dirs for bootchart data
+# User will creates the start and stop file via adb shell
+# and read other files created by init process under /data/bootchart
+allow shell bootchart_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow shell bootchart_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Make sure strace works for the non-privileged shell user
+allow shell self:process ptrace;
+
+# allow shell to get battery info
+allow shell sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell sysfs_batteryinfo:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell sysfs_batteryinfo:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow reads (but not writes) of the MGLRU state
+allow shell sysfs_lru_gen_enabled:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow reads (but not writes) of mem_sleep to determine suspend mechanism
+allow shell sysfs_mem_sleep:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow communicating with the VM terminal.
+#line 457
+
+
+# Allow CTS to check whether AVF debug policy is installed
+allow shell { proc_dt_avf sysfs_dt_avf }:dir search;
+
+# Allow access to ion memory allocation device.
+allow shell ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+#
+# filesystem test for insecure chr_file's is done
+# via a host side test
+#
+allow shell dev_type:dir { open getattr read search ioctl lock watch watch_reads };
+allow shell dev_type:chr_file getattr;
+
+# /dev/fd is a symlink
+allow shell proc:lnk_file getattr;
+
+#
+# filesystem test for insucre blk_file's is done
+# via hostside test
+#
+allow shell dev_type:blk_file getattr;
+
+# read selinux policy files
+allow shell file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell property_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell sepolicy_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow shell to start up vendor shell
+allow shell vendor_shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+
+#line 491
+  allow shell linux_vm_setup_exec:file { entrypoint { getattr open read ioctl lock map watch watch_reads } };
+#line 493
+
+
+allow shell tee_service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow shell test_pkvm_tee_service:tee_service use;
+
+# Everything is labeled as rootfs in recovery mode. Allow shell to
+# execute them.
+#line 502
+
+
+###
+### Neverallow rules
+###
+
+# Do not allow shell to talk directly to security HAL services other than
+# hal_remotelyprovisionedcomponent_service
+neverallow shell {
+  hal_keymint_service
+  hal_secureclock_service
+  hal_sharedsecret_service
+  virtualization_service
+}:service_manager find;
+
+# Do not allow shell to hard link to any files.
+# In particular, if shell hard links to app data
+# files, installd will not be able to guarantee the deletion
+# of the linked to file. Hard links also contribute to security
+# bugs, so we want to ensure the shell user never has this
+# capability.
+neverallow shell file_type:file link;
+
+# Do not allow privileged socket ioctl commands
+neverallowxperm shell domain:{ rawip_socket tcp_socket udp_socket } ioctl 
+#line 526
+{
+#line 526
+# qualcomm rmnet ioctls
+#line 526
+0x00006900 0x00006902
+#line 526
+# socket ioctls
+#line 526
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 526
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 526
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 526
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 526
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 526
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 526
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 526
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 526
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 526
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 526
+# device and protocol specific ioctls
+#line 526
+0x000089f0-0x000089ff
+#line 526
+0x000089e0-0x000089ef
+#line 526
+# Wireless extension ioctls
+#line 526
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 526
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 526
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 526
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 526
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 526
+0x00008b34 0x00008b35 0x00008b36
+#line 526
+# Dev private ioctl i.e. hardware specific ioctls
+#line 526
+0x00008be0-0x00008bff
+#line 526
+};
+
+# limit shell access to sensitive char drivers to
+# only getattr required for host side test.
+neverallow shell {
+  fuse_device
+  hw_random_device
+  port_device
+}:chr_file ~getattr;
+
+# Limit shell to only getattr on blk devices for host side tests.
+neverallow shell dev_type:blk_file ~getattr;
+
+# b/30861057: Shell access to existing input devices is an abuse
+# vector. The shell user can inject events that look like they
+# originate from the touchscreen etc.
+# Everyone should have already moved to UiAutomation#injectInputEvent
+# if they are running instrumentation tests (i.e. CTS), Monkey for
+# their stress tests, and the input command (adb shell input ...) for
+# injecting swipes and things.
+neverallow shell input_device:chr_file { append create link unlink relabelfrom rename setattr write };
+
+neverallow shell self:perf_event ~{ open read write kernel };
+
+# Never allow others to set or get the perf.drop_caches property.
+neverallow { domain -shell -init } perf_drop_caches_prop:property_service set;
+neverallow { domain -shell -init -dumpstate } perf_drop_caches_prop:file read;
+#line 1 "system/sepolicy/private/simpleperf.te"
+# Domain used when running /system/bin/simpleperf to profile a specific app.
+# Entered either by the app itself exec-ing the binary, or through
+# simpleperf_app_runner (with shell as its origin). Certain other domains
+# (runas_app, shell) can also exec this binary without a domain transition.
+typeattribute simpleperf coredomain;
+type simpleperf_exec, system_file_type, exec_type, file_type;
+
+# Define apps that can be marked debuggable/profileable and be profiled by simpleperf.
+#line 15
+
+
+
+#line 17
+# Allow the necessary permissions.
+#line 17
+
+#line 17
+# Old domain may exec the file and transition to the new domain.
+#line 17
+allow {
+#line 17
+  ephemeral_app
+#line 17
+  isolated_app
+#line 17
+  platform_app
+#line 17
+  priv_app
+#line 17
+  untrusted_app_all
+#line 17
+} simpleperf_exec:file { getattr open read execute map };
+#line 17
+allow {
+#line 17
+  ephemeral_app
+#line 17
+  isolated_app
+#line 17
+  platform_app
+#line 17
+  priv_app
+#line 17
+  untrusted_app_all
+#line 17
+} simpleperf:process transition;
+#line 17
+# New domain is entered by executing the file.
+#line 17
+allow simpleperf simpleperf_exec:file { entrypoint open read execute getattr map };
+#line 17
+# New domain can send SIGCHLD to its caller.
+#line 17
+allow simpleperf {
+#line 17
+  ephemeral_app
+#line 17
+  isolated_app
+#line 17
+  platform_app
+#line 17
+  priv_app
+#line 17
+  untrusted_app_all
+#line 17
+}:process sigchld;
+#line 17
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 17
+dontaudit {
+#line 17
+  ephemeral_app
+#line 17
+  isolated_app
+#line 17
+  platform_app
+#line 17
+  priv_app
+#line 17
+  untrusted_app_all
+#line 17
+} simpleperf:process noatsecure;
+#line 17
+# XXX dontaudit candidate but requires further study.
+#line 17
+allow {
+#line 17
+  ephemeral_app
+#line 17
+  isolated_app
+#line 17
+  platform_app
+#line 17
+  priv_app
+#line 17
+  untrusted_app_all
+#line 17
+} simpleperf:process { siginh rlimitinh };
+#line 17
+
+#line 17
+# Make the transition occur by default.
+#line 17
+type_transition {
+#line 17
+  ephemeral_app
+#line 17
+  isolated_app
+#line 17
+  platform_app
+#line 17
+  priv_app
+#line 17
+  untrusted_app_all
+#line 17
+} simpleperf_exec:process simpleperf;
+#line 17
+
+
+# When running in this domain, simpleperf is scoped to profiling an individual
+# app. The necessary MAC permissions for profiling are more maintainable and
+# consistent if simpleperf is marked as an app domain as well (as, for example,
+# it will then see the same set of system libraries as the app).
+
+#line 23
+typeattribute simpleperf appdomain;
+#line 23
+# Label tmpfs objects for all apps.
+#line 23
+type_transition simpleperf tmpfs:file appdomain_tmpfs;
+#line 23
+
+#line 23
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 23
+type simpleperf_userfaultfd;
+#line 23
+type_transition simpleperf simpleperf:anon_inode simpleperf_userfaultfd "[userfaultfd]";
+#line 23
+# Allow domain to create/use userfaultfd anon_inode.
+#line 23
+allow simpleperf simpleperf_userfaultfd:anon_inode { create ioctl read };
+#line 23
+# Suppress errors generate during bugreport
+#line 23
+dontaudit su simpleperf_userfaultfd:anon_inode *;
+#line 23
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 23
+neverallow { domain -simpleperf } simpleperf_userfaultfd:anon_inode *;
+#line 23
+
+#line 23
+allow simpleperf appdomain_tmpfs:file { execute getattr map read write };
+#line 23
+neverallow { simpleperf -runas_app -shell -simpleperf } { domain -simpleperf }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 23
+neverallow { appdomain -runas_app -shell -simpleperf -simpleperf } simpleperf:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 23
+# The Android security model guarantees the confidentiality and integrity
+#line 23
+# of application data and execution state. Ptrace bypasses those
+#line 23
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 23
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 23
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 23
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 23
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 23
+# live lock conditions.
+#line 23
+neverallow { domain -simpleperf -crash_dump  -runas_app -simpleperf } simpleperf:process ptrace;
+#line 23
+
+
+# Allow ptrace attach to the target app, for reading JIT debug info (using
+# process_vm_readv) during unwinding and symbolization.
+allow simpleperf {
+#line 27
+  ephemeral_app
+#line 27
+  isolated_app
+#line 27
+  platform_app
+#line 27
+  priv_app
+#line 27
+  untrusted_app_all
+#line 27
+}:process ptrace;
+
+# Allow using perf_event_open syscall for profiling the target app.
+allow simpleperf self:perf_event { open read write kernel };
+
+# Allow /proc/<pid> access for the target app (for example, when trying to
+# discover it by cmdline).
+
+#line 34
+allow simpleperf {
+#line 34
+  ephemeral_app
+#line 34
+  isolated_app
+#line 34
+  platform_app
+#line 34
+  priv_app
+#line 34
+  untrusted_app_all
+#line 34
+}:dir { open getattr read search ioctl lock watch watch_reads };
+#line 34
+allow simpleperf {
+#line 34
+  ephemeral_app
+#line 34
+  isolated_app
+#line 34
+  platform_app
+#line 34
+  priv_app
+#line 34
+  untrusted_app_all
+#line 34
+}:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 34
+
+
+# Allow apps signalling simpleperf domain, which is the domain that the simpleperf
+# profiler runs as when executed by the app. The signals are used to control
+# the profiler (which would be profiling the app that is sending the signal).
+allow {
+#line 39
+  ephemeral_app
+#line 39
+  isolated_app
+#line 39
+  platform_app
+#line 39
+  priv_app
+#line 39
+  untrusted_app_all
+#line 39
+} simpleperf:process signal;
+
+# Suppress denial logspam when simpleperf is trying to find a matching process
+# by scanning /proc/<pid>/cmdline files. The /proc/<pid> directories are within
+# the same domain as their respective processes, most of which this domain is
+# not allowed to see.
+dontaudit simpleperf domain:dir search;
+
+# Allow simpleperf to read apk files and libraries executed by the app.
+
+#line 48
+allow simpleperf privapp_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 48
+allow simpleperf privapp_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 48
+;
+
+#line 49
+allow simpleperf app_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 49
+allow simpleperf app_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 49
+;
+allow simpleperf { apk_tmp_file apk_private_tmp_file }:file { getattr read };
+allow simpleperf system_linker_exec:file { getattr open read ioctl lock map watch watch_reads };
+allow simpleperf app_exec_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow simpleperf asec_public_file:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 54
+allow simpleperf vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 54
+allow simpleperf vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 54
+;
+
+# Allow simpleperf to read input files passed from adb shell.
+allow simpleperf shell_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow simpleperf shell_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Neverallows:
+
+# Profiling must be confined to the scope of an individual app.
+neverallow simpleperf self:perf_event ~{ open read write kernel };
+# Never allow other processes to ptrace simpleperf, as this could leak sensitive infomation from
+# raw samples.
+neverallow { domain -crash_dump -llkd } simpleperf:process ptrace;
+#line 1 "system/sepolicy/private/simpleperf_app_runner.te"
+typeattribute simpleperf_app_runner coredomain;
+
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow shell simpleperf_app_runner_exec:file { getattr open read execute map };
+#line 3
+allow shell simpleperf_app_runner:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow simpleperf_app_runner simpleperf_app_runner_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+allow simpleperf_app_runner shell:process sigchld;
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit shell simpleperf_app_runner:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow shell simpleperf_app_runner:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition shell simpleperf_app_runner_exec:process simpleperf_app_runner;
+#line 3
+
+
+# run simpleperf_app_runner in adb shell.
+allow simpleperf_app_runner adbd:fd use;
+allow simpleperf_app_runner adbd:unix_stream_socket { read write };
+allow simpleperf_app_runner shell:fd use;
+allow simpleperf_app_runner devpts:chr_file { read write ioctl };
+
+# simpleperf_app_runner reads package information.
+allow simpleperf_app_runner system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow simpleperf_app_runner system_data_file:lnk_file getattr;
+allow simpleperf_app_runner packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# The app's data dir may be accessed through a symlink.
+allow simpleperf_app_runner system_data_file:lnk_file read;
+
+# simpleperf_app_runner switches to the app UID/GID.
+allow simpleperf_app_runner self:{ capability cap_userns } { setuid setgid };
+
+# simpleperf_app_runner switches to the app security context.
+
+#line 23
+
+#line 23
+allow simpleperf_app_runner selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 23
+allow simpleperf_app_runner selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 23
+
+#line 23
+allow simpleperf_app_runner selinuxfs:file { open append write lock map };
+#line 23
+allow simpleperf_app_runner kernel:security check_context;
+#line 23
+ # validate context
+allow simpleperf_app_runner self:process setcurrent;
+allow simpleperf_app_runner { ephemeral_app isolated_app platform_app priv_app untrusted_app_all }:process dyntransition; # setcon
+
+# simpleperf_app_runner/libselinux needs access to seapp_contexts_file to
+# determine which domain to transition to.
+allow simpleperf_app_runner seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# simpleperf_app_runner passes pipe fds.
+# simpleperf_app_runner writes app type (debuggable or profileable) to pipe fds.
+allow simpleperf_app_runner shell:fifo_file { getattr read write };
+
+# simpleperf_app_runner checks shell data paths.
+# simpleperf_app_runner passes shell data fds.
+allow simpleperf_app_runner shell_data_file:dir { getattr search };
+allow simpleperf_app_runner shell_data_file:file { getattr write };
+
+###
+### neverallow rules
+###
+
+# simpleperf_app_runner cannot have capabilities other than CAP_SETUID and CAP_SETGID
+neverallow simpleperf_app_runner self:{ capability cap_userns } ~{ setuid setgid };
+neverallow simpleperf_app_runner self:{ capability2 cap2_userns } *;
+#line 1 "system/sepolicy/private/simpleperf_boot.te"
+# Domain used when running /system/bin/simpleperf to record boot-time profiles.
+# It is started by init process. It's only available on userdebug/eng build.
+
+type simpleperf_boot, domain, coredomain, mlstrustedsubject;
+
+# /data/simpleperf_boot_data, used to store boot-time profiles.
+type simpleperf_boot_data_file, file_type;
+
+#line 59
+
+#line 1 "system/sepolicy/private/slideshow.te"
+typeattribute slideshow coredomain;
+
+allow slideshow kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+#line 4
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 4
+# deprecated.
+#line 4
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 4
+allow slideshow sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 4
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 4
+allow slideshow self:{ capability2 cap2_userns } block_suspend;
+#line 4
+# system_suspend permissions
+#line 4
+
+#line 4
+# Call the server domain and optionally transfer references to it.
+#line 4
+allow slideshow system_suspend_server:binder { call transfer };
+#line 4
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 4
+allow system_suspend_server slideshow:binder transfer;
+#line 4
+# Receive and use open files from the server.
+#line 4
+allow slideshow system_suspend_server:fd use;
+#line 4
+
+#line 4
+allow slideshow system_suspend_hwservice:hwservice_manager find;
+#line 4
+# halclientdomain permissions
+#line 4
+
+#line 4
+# Call the hwservicemanager and transfer references to it.
+#line 4
+allow slideshow hwservicemanager:binder { call transfer };
+#line 4
+# Allow hwservicemanager to send out callbacks
+#line 4
+allow hwservicemanager slideshow:binder { call transfer };
+#line 4
+# hwservicemanager performs getpidcon on clients.
+#line 4
+allow hwservicemanager slideshow:dir search;
+#line 4
+allow hwservicemanager slideshow:file { read open map };
+#line 4
+allow hwservicemanager slideshow:process getattr;
+#line 4
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+#line 4
+
+#line 4
+allow slideshow hwservicemanager_prop:file { getattr open read map };
+#line 4
+
+#line 4
+allow slideshow hidl_manager_hwservice:hwservice_manager find;
+#line 4
+# AIDL suspend hal permissions
+#line 4
+allow slideshow hal_system_suspend_service:service_manager find;
+#line 4
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow slideshow servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager slideshow:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager slideshow:dir search;
+#line 4
+allow servicemanager slideshow:file { read open };
+#line 4
+allow servicemanager slideshow:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+#line 4
+
+allow slideshow device:dir { open getattr read search ioctl lock watch watch_reads };
+allow slideshow self:{ capability cap_userns } sys_tty_config;
+allow slideshow graphics_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow slideshow graphics_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow slideshow input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow slideshow input_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow slideshow tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/snapshotctl.te"
+type snapshotctl, domain, coredomain;
+type snapshotctl_exec, system_file_type, exec_type, file_type;
+
+# Allow init to run snapshotctl and do auto domain transfer.
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init snapshotctl_exec:file { getattr open read execute map };
+#line 5
+allow init snapshotctl:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow snapshotctl snapshotctl_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init snapshotctl:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init snapshotctl:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init snapshotctl_exec:process snapshotctl;
+#line 5
+
+#line 5
+;
+
+# Allow to start gsid service.
+
+#line 8
+
+#line 8
+allow snapshotctl property_socket:sock_file write;
+#line 8
+allow snapshotctl init:unix_stream_socket connectto;
+#line 8
+
+#line 8
+allow snapshotctl ctl_gsid_prop:property_service set;
+#line 8
+
+#line 8
+allow snapshotctl ctl_gsid_prop:file { getattr open read map };
+#line 8
+
+#line 8
+
+
+# Allow to talk to gsid.
+
+#line 11
+# Call the servicemanager and transfer references to it.
+#line 11
+allow snapshotctl servicemanager:binder { call transfer };
+#line 11
+# Allow servicemanager to send out callbacks
+#line 11
+allow servicemanager snapshotctl:binder { call transfer };
+#line 11
+# servicemanager performs getpidcon on clients.
+#line 11
+allow servicemanager snapshotctl:dir search;
+#line 11
+allow servicemanager snapshotctl:file { read open };
+#line 11
+allow servicemanager snapshotctl:process getattr;
+#line 11
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 11
+# all domains in domain.te.
+#line 11
+
+allow snapshotctl gsi_service:service_manager find;
+
+#line 13
+# Call the server domain and optionally transfer references to it.
+#line 13
+allow snapshotctl gsid:binder { call transfer };
+#line 13
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 13
+allow gsid snapshotctl:binder transfer;
+#line 13
+# Receive and use open files from the server.
+#line 13
+allow snapshotctl gsid:fd use;
+#line 13
+
+
+# Allow to create/read/write/delete OTA metadata files for snapshot status and COW file status.
+allow snapshotctl metadata_file:dir search;
+allow snapshotctl ota_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow snapshotctl ota_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow to get A/B slot suffix from device tree or kernel cmdline.
+
+#line 21
+allow snapshotctl sysfs_dt_firmware_android:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow snapshotctl sysfs_dt_firmware_android:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 21
+;
+allow snapshotctl proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+
+# Needed to (re-)map logical partitions.
+allow snapshotctl block_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow snapshotctl super_block_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Interact with device-mapper to collapse snapshots.
+allow snapshotctl dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Needed to mutate device-mapper nodes.
+allow snapshotctl self:{ capability cap_userns } sys_admin;
+
+# Snapshotctl talk to boot control HAL to set merge status.
+
+#line 35
+# Call the hwservicemanager and transfer references to it.
+#line 35
+allow snapshotctl hwservicemanager:binder { call transfer };
+#line 35
+# Allow hwservicemanager to send out callbacks
+#line 35
+allow hwservicemanager snapshotctl:binder { call transfer };
+#line 35
+# hwservicemanager performs getpidcon on clients.
+#line 35
+allow hwservicemanager snapshotctl:dir search;
+#line 35
+allow hwservicemanager snapshotctl:file { read open map };
+#line 35
+allow hwservicemanager snapshotctl:process getattr;
+#line 35
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 35
+# all domains in domain.te.
+#line 35
+
+
+#line 36
+typeattribute snapshotctl halclientdomain;
+#line 36
+typeattribute snapshotctl hal_bootctl_client;
+#line 36
+
+#line 36
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 36
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 36
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 36
+
+#line 36
+typeattribute snapshotctl hal_bootctl;
+#line 36
+# Find passthrough HAL implementations
+#line 36
+allow hal_bootctl system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow hal_bootctl vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow hal_bootctl vendor_file:file { read open getattr execute map };
+#line 36
+
+#line 36
+
+
+# Allow snapshotctl to write to statsd socket.
+
+#line 39
+allow snapshotctl statsdw_socket:sock_file write;
+#line 39
+allow snapshotctl statsd:unix_dgram_socket sendto;
+#line 39
+
+
+# Logging
+#line 45
+
+
+# Allow to read /proc/bootconfig.
+allow snapshotctl proc_bootconfig:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow to control snapuserd.
+
+#line 51
+
+#line 51
+allow snapshotctl property_socket:sock_file write;
+#line 51
+allow snapshotctl init:unix_stream_socket connectto;
+#line 51
+
+#line 51
+allow snapshotctl ctl_snapuserd_prop:property_service set;
+#line 51
+
+#line 51
+allow snapshotctl ctl_snapuserd_prop:file { getattr open read map };
+#line 51
+
+#line 51
+
+
+# Allow to read snapuserd.* properties.
+
+#line 54
+allow snapshotctl snapuserd_prop:file { getattr open read map };
+#line 54
+
+
+# Allow to talk to snapuserd.
+allow snapshotctl snapuserd_socket:sock_file write;
+allow snapshotctl snapuserd:unix_stream_socket { connectto };
+
+# Allow to read /dev/block/dm-* (device-mapper) nodes.
+allow snapshotctl dm_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow to read dm-user control nodes.
+allow snapshotctl dm_user_device:dir search;
+#line 1 "system/sepolicy/private/snapuserd.te"
+# snapuserd - Daemon for servicing dm-user requests for Virtual A/B snapshots.
+type snapuserd, domain;
+type snapuserd_exec, exec_type, file_type, system_file_type;
+
+typeattribute snapuserd coredomain;
+
+
+#line 7
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow init snapuserd_exec:file { getattr open read execute map };
+#line 7
+allow init snapuserd:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow snapuserd snapuserd_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit init snapuserd:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow init snapuserd:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition init snapuserd_exec:process snapuserd;
+#line 7
+
+#line 7
+
+
+allow snapuserd kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow snapuserd to reach block devices in /dev/block.
+allow snapuserd block_device:dir search;
+
+# Read /sys/block to find all the DM directories like (/sys/block/dm-X).
+allow snapuserd sysfs:dir { open read };
+
+# Read /sys/block/dm-X/dm/name (which is a symlink to
+# /sys/devices/virtual/block/dm-X/dm/name) to identify the mapping between
+# dm-X and dynamic partitions.
+allow snapuserd sysfs_dm:dir { open read search };
+allow snapuserd sysfs_dm:file { getattr open read ioctl lock map watch watch_reads };
+
+# Reading and writing to /dev/block/dm-* (device-mapper) nodes.
+allow snapuserd block_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow snapuserd dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow snapuserd dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Reading and writing to dm-user control nodes.
+allow snapuserd dm_user_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow snapuserd dm_user_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Reading and writing to /dev/socket/snapuserd and snapuserd_proxy.
+allow snapuserd snapuserd_socket:unix_stream_socket { accept listen getattr read write };
+allow snapuserd snapuserd_proxy_socket:sock_file write;
+
+# Required for setting GID to system while calling SetTaskProfile() API
+allow snapuserd self:{ capability cap_userns } { setgid };
+
+# This arises due to first-stage init opening /dev/null without F_CLOEXEC
+# (see SetStdioToDevNull in init). When we fork() and execveat() snapuserd
+# again, the descriptor leaks into the new process.
+allow snapuserd kernel:fd use;
+
+# snapuserd.* properties
+
+#line 45
+
+#line 45
+allow snapuserd property_socket:sock_file write;
+#line 45
+allow snapuserd init:unix_stream_socket connectto;
+#line 45
+
+#line 45
+allow snapuserd snapuserd_prop:property_service set;
+#line 45
+
+#line 45
+allow snapuserd snapuserd_prop:file { getattr open read map };
+#line 45
+
+#line 45
+
+
+#line 46
+allow snapuserd virtual_ab_prop:file { getattr open read map };
+#line 46
+
+
+# For inotify watching for /dev/socket/snapuserd_proxy to appear.
+allow snapuserd tmpfs:dir { read watch };
+
+# Forbid anything other than snapuserd and init setting snapuserd properties.
+neverallow {
+  domain
+  -snapuserd
+  -init
+} snapuserd_prop:property_service set;
+
+# Allow to read/write/create OTA metadata files
+allow snapuserd metadata_file:dir search;
+allow snapuserd ota_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow snapuserd ota_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# write to /data/misc/snapuserd_log
+allow snapuserd snapuserd_log_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow snapuserd snapuserd_log_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read /proc/stat to determine boot time
+allow snapuserd proc_stat:file { getattr open read ioctl lock map watch watch_reads };
+
+# This capability allows snapuserd to circumvent memlock rlimits while using
+# io_uring. An Alternative would be to up the memlock rlimit for the snapuserd service.
+allow snapuserd self:capability ipc_lock;
+
+#line 73
+# Set up a type_transition to "io_uring" named anonymous inode object.
+#line 73
+type snapuserd_iouring;
+#line 73
+type_transition snapuserd snapuserd:anon_inode snapuserd_iouring "[io_uring]";
+#line 73
+# Allow domain to create/use io_uring anon_inode.
+#line 73
+allow snapuserd snapuserd_iouring:anon_inode { create map read write };
+#line 73
+allow snapuserd self:io_uring sqpoll;
+#line 73
+# Other domains may not use iouring anon_inodes created by this domain.
+#line 73
+neverallow { domain -snapuserd } snapuserd_iouring:anon_inode *;
+#line 73
+# io_uring checks for CAP_IPC_LOCK to determine whether or not to track
+#line 73
+# memory usage per uid against RLIMIT_MEMLOCK. This can lead folks to
+#line 73
+# grant CAP_IPC_LOCK to silence avc denials, which is undesireable.
+#line 73
+dontaudit snapuserd self:{ capability cap_userns } ipc_lock;
+#line 73
+
+
+# Disallow other domains controlling snapuserd.
+neverallow {
+  domain
+  -fastbootd
+  -init
+  -recovery
+  -shell
+  -snapshotctl
+  -update_engine
+} ctl_snapuserd_prop:property_service set;
+#line 1 "system/sepolicy/private/stats.te"
+type stats, domain;
+typeattribute stats coredomain;
+type stats_exec, system_file_type, exec_type, file_type;
+
+# switch to stats domain for stats command
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow shell stats_exec:file { getattr open read execute map };
+#line 6
+allow shell stats:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow stats stats_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+allow stats shell:process sigchld;
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit shell stats:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow shell stats:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition shell stats_exec:process stats;
+#line 6
+
+
+# allow stats access to stdout from its parent shell.
+allow stats shell:fd use;
+
+# allow stats to communicate use, read and write over the adb
+# connection.
+allow stats adbd:fd use;
+allow stats adbd:unix_stream_socket { read write };
+
+# allow adbd to reap stats
+allow stats adbd:process { sigchld };
+
+# Allow the stats command to talk to the statsd over the binder, and get
+# back the stats report data from a ParcelFileDescriptor.
+
+#line 21
+# Call the servicemanager and transfer references to it.
+#line 21
+allow stats servicemanager:binder { call transfer };
+#line 21
+# Allow servicemanager to send out callbacks
+#line 21
+allow servicemanager stats:binder { call transfer };
+#line 21
+# servicemanager performs getpidcon on clients.
+#line 21
+allow servicemanager stats:dir search;
+#line 21
+allow servicemanager stats:file { read open };
+#line 21
+allow servicemanager stats:process getattr;
+#line 21
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 21
+# all domains in domain.te.
+#line 21
+
+allow stats stats_service:service_manager find;
+
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow stats statsd:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow statsd stats:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow stats statsd:fd use;
+#line 23
+
+allow stats statsd:fifo_file write;
+
+# Only statsd can publish the binder service.
+
+#line 27
+  allow statsd stats_service:service_manager { add find };
+#line 27
+  neverallow { domain -statsd } stats_service:service_manager add;
+#line 27
+
+#line 27
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 27
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 27
+  
+#line 27
+
+
+# Allow pipes from (and only from) stats.
+allow statsd stats:fd use;
+allow statsd stats:fifo_file write;
+
+# Allow statsd to call back to stats with status updates.
+
+#line 34
+# Call the server domain and optionally transfer references to it.
+#line 34
+allow statsd stats:binder { call transfer };
+#line 34
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 34
+allow stats statsd:binder transfer;
+#line 34
+# Receive and use open files from the server.
+#line 34
+allow statsd stats:fd use;
+#line 34
+
+
+#line 1 "system/sepolicy/private/stats_service_server.te"
+
+#line 1
+  allow stats_service_server fwk_stats_hwservice:hwservice_manager { add find };
+#line 1
+  allow stats_service_server hidl_base_hwservice:hwservice_manager add;
+#line 1
+  neverallow { domain -stats_service_server } fwk_stats_hwservice:hwservice_manager add;
+#line 1
+
+
+#line 2
+  allow stats_service_server fwk_stats_service:service_manager { add find };
+#line 2
+  neverallow { domain -stats_service_server } fwk_stats_service:service_manager add;
+#line 2
+
+#line 2
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 2
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 2
+  
+#line 2
+
+
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow stats_service_server servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager stats_service_server:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager stats_service_server:dir search;
+#line 4
+allow servicemanager stats_service_server:file { read open };
+#line 4
+allow servicemanager stats_service_server:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+#line 1 "system/sepolicy/private/statsd.te"
+typeattribute statsd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init statsd_exec:file { getattr open read execute map };
+#line 3
+allow init statsd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow statsd statsd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init statsd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init statsd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init statsd_exec:process statsd;
+#line 3
+
+#line 3
+
+
+# Allow to exec the perfetto cmdline client and pass it the trace config on
+# stdint through a pipe. It allows statsd to  capture traces and hand them
+# to Android dropbox.
+allow statsd perfetto_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 9
+# Allow the necessary permissions.
+#line 9
+
+#line 9
+# Old domain may exec the file and transition to the new domain.
+#line 9
+allow statsd perfetto_exec:file { getattr open read execute map };
+#line 9
+allow statsd perfetto:process transition;
+#line 9
+# New domain is entered by executing the file.
+#line 9
+allow perfetto perfetto_exec:file { entrypoint open read execute getattr map };
+#line 9
+# New domain can send SIGCHLD to its caller.
+#line 9
+allow perfetto statsd:process sigchld;
+#line 9
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 9
+dontaudit statsd perfetto:process noatsecure;
+#line 9
+# XXX dontaudit candidate but requires further study.
+#line 9
+allow statsd perfetto:process { siginh rlimitinh };
+#line 9
+
+#line 9
+# Make the transition occur by default.
+#line 9
+type_transition statsd perfetto_exec:process perfetto;
+#line 9
+
+
+# Grant statsd with permissions to register the services.
+allow statsd {
+  statscompanion_service
+}:service_manager find;
+
+# Allow incidentd to obtain the statsd incident section.
+allow statsd incidentd:fifo_file write;
+
+# Allow StatsCompanionService to pipe data to statsd.
+allow statsd system_server:fifo_file { read write getattr };
+
+# Allow any app to pipe data to statsd.
+# Access control to all statsd APIs inherit from system_api_service, so
+# appdomain permissions are granted to avoid listing each individual
+# service that can access system_api_service.
+allow statsd appdomain:fifo_file { read write getattr };
+
+# Allow statsd to retrieve SF statistics over binder
+
+#line 29
+# Call the server domain and optionally transfer references to it.
+#line 29
+allow statsd surfaceflinger:binder { call transfer };
+#line 29
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 29
+allow surfaceflinger statsd:binder transfer;
+#line 29
+# Receive and use open files from the server.
+#line 29
+allow statsd surfaceflinger:fd use;
+#line 29
+;
+
+# Allow statsd to read its system properties
+
+#line 32
+allow statsd device_config_statsd_native_prop:file { getattr open read map };
+#line 32
+
+
+#line 33
+allow statsd device_config_statsd_native_boot_prop:file { getattr open read map };
+#line 33
+
+
+# Allow statsd to read misctl properties (for 16 KB)
+
+#line 36
+allow statsd misctrl_prop:file { getattr open read map };
+#line 36
+
+
+# Allow statsd to write uprobestats configs.
+allow statsd uprobestats_configs_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow statsd uprobestats_configs_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow statsd to trigger uprobestats via property.
+
+#line 43
+
+#line 43
+allow statsd property_socket:sock_file write;
+#line 43
+allow statsd init:unix_stream_socket connectto;
+#line 43
+
+#line 43
+allow statsd uprobestats_start_with_config_prop:property_service set;
+#line 43
+
+#line 43
+allow statsd uprobestats_start_with_config_prop:file { getattr open read map };
+#line 43
+
+#line 43
+;
+
+# Allow statsd to use io_uring
+
+#line 46
+# Set up a type_transition to "io_uring" named anonymous inode object.
+#line 46
+type statsd_iouring;
+#line 46
+type_transition statsd statsd:anon_inode statsd_iouring "[io_uring]";
+#line 46
+# Allow domain to create/use io_uring anon_inode.
+#line 46
+allow statsd statsd_iouring:anon_inode { create map read write };
+#line 46
+allow statsd self:io_uring sqpoll;
+#line 46
+# Other domains may not use iouring anon_inodes created by this domain.
+#line 46
+neverallow { domain -statsd } statsd_iouring:anon_inode *;
+#line 46
+# io_uring checks for CAP_IPC_LOCK to determine whether or not to track
+#line 46
+# memory usage per uid against RLIMIT_MEMLOCK. This can lead folks to
+#line 46
+# grant CAP_IPC_LOCK to silence avc denials, which is undesireable.
+#line 46
+dontaudit statsd self:{ capability cap_userns } ipc_lock;
+#line 46
+
+
+# Allow statsd to start the uprobestats service.
+
+#line 49
+
+#line 49
+allow statsd property_socket:sock_file write;
+#line 49
+allow statsd init:unix_stream_socket connectto;
+#line 49
+
+#line 49
+allow statsd ctl_uprobestats_prop:property_service set;
+#line 49
+
+#line 49
+allow statsd ctl_uprobestats_prop:file { getattr open read map };
+#line 49
+
+#line 49
+
+
+#line 50
+# Call the servicemanager and transfer references to it.
+#line 50
+allow statsd servicemanager:binder { call transfer };
+#line 50
+# Allow servicemanager to send out callbacks
+#line 50
+allow servicemanager statsd:binder { call transfer };
+#line 50
+# servicemanager performs getpidcon on clients.
+#line 50
+allow servicemanager statsd:dir search;
+#line 50
+allow servicemanager statsd:file { read open };
+#line 50
+allow servicemanager statsd:process getattr;
+#line 50
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 50
+# all domains in domain.te.
+#line 50
+
+
+# Allow statsd to scan through /proc/pid for all processes.
+
+#line 53
+allow statsd domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 53
+allow statsd domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 53
+
+
+# Allow executing files on system, such as running a shell or running:
+#   /system/bin/toolbox
+#   /system/bin/logcat
+#   /system/bin/dumpsys
+allow statsd devpts:chr_file { getattr ioctl read write };
+allow statsd shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow statsd system_file:file execute_no_trans;
+allow statsd toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 66
+
+
+# Create, read, and write into
+#   /data/misc/stats-active-metric
+#   /data/misc/stats-data
+#   /data/misc/stats-metadata
+#   /data/misc/stats-service
+#   /data/misc/train-info
+allow statsd stats_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow statsd stats_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow statsd stats_config_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow statsd stats_config_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow statsd to make binder calls to any binder service.
+
+#line 80
+# Call the server domain and optionally transfer references to it.
+#line 80
+allow statsd appdomain:binder { call transfer };
+#line 80
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 80
+allow appdomain statsd:binder transfer;
+#line 80
+# Receive and use open files from the server.
+#line 80
+allow statsd appdomain:fd use;
+#line 80
+
+
+#line 81
+# Call the server domain and optionally transfer references to it.
+#line 81
+allow statsd incidentd:binder { call transfer };
+#line 81
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 81
+allow incidentd statsd:binder transfer;
+#line 81
+# Receive and use open files from the server.
+#line 81
+allow statsd incidentd:fd use;
+#line 81
+
+
+#line 82
+# Call the server domain and optionally transfer references to it.
+#line 82
+allow statsd system_server:binder { call transfer };
+#line 82
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 82
+allow system_server statsd:binder transfer;
+#line 82
+# Receive and use open files from the server.
+#line 82
+allow statsd system_server:fd use;
+#line 82
+
+
+#line 83
+# Call the server domain and optionally transfer references to it.
+#line 83
+allow statsd traced_probes:binder { call transfer };
+#line 83
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 83
+allow traced_probes statsd:binder transfer;
+#line 83
+# Receive and use open files from the server.
+#line 83
+allow statsd traced_probes:fd use;
+#line 83
+
+
+# Allow statsd to interact with gpuservice
+allow statsd gpu_service:service_manager find;
+
+#line 87
+# Call the server domain and optionally transfer references to it.
+#line 87
+allow statsd gpuservice:binder { call transfer };
+#line 87
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 87
+allow gpuservice statsd:binder transfer;
+#line 87
+# Receive and use open files from the server.
+#line 87
+allow statsd gpuservice:fd use;
+#line 87
+
+
+# Allow statsd to interact with keystore to pull atoms
+allow statsd keystore_service:service_manager find;
+
+#line 91
+# Call the server domain and optionally transfer references to it.
+#line 91
+allow statsd keystore:binder { call transfer };
+#line 91
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 91
+allow keystore statsd:binder transfer;
+#line 91
+# Receive and use open files from the server.
+#line 91
+allow statsd keystore:fd use;
+#line 91
+
+
+# Allow statsd to interact with mediametrics
+allow statsd mediametrics_service:service_manager find;
+
+#line 95
+# Call the server domain and optionally transfer references to it.
+#line 95
+allow statsd mediametrics:binder { call transfer };
+#line 95
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 95
+allow mediametrics statsd:binder transfer;
+#line 95
+# Receive and use open files from the server.
+#line 95
+allow statsd mediametrics:fd use;
+#line 95
+
+
+# Allow statsd to interact with mediametrics
+allow statsd mediaserver_service:service_manager find;
+
+#line 99
+# Call the server domain and optionally transfer references to it.
+#line 99
+allow statsd mediaserver:binder { call transfer };
+#line 99
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 99
+allow mediaserver statsd:binder transfer;
+#line 99
+# Receive and use open files from the server.
+#line 99
+allow statsd mediaserver:fd use;
+#line 99
+
+
+# Allow statsd to interact with mmd
+allow statsd mmd_service:service_manager find;
+
+#line 103
+# Call the server domain and optionally transfer references to it.
+#line 103
+allow statsd mmd:binder { call transfer };
+#line 103
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 103
+allow mmd statsd:binder transfer;
+#line 103
+# Receive and use open files from the server.
+#line 103
+allow statsd mmd:fd use;
+#line 103
+
+
+# Allow logd access.
+
+#line 106
+allow statsd logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 106
+
+#line 106
+allow statsd logdr_socket:sock_file write;
+#line 106
+allow statsd logd:unix_stream_socket connectto;
+#line 106
+
+#line 106
+
+
+#line 107
+# Group AID_LOG checked by filesystem & logd
+#line 107
+# to permit control commands
+#line 107
+
+#line 107
+allow statsd logd_socket:sock_file write;
+#line 107
+allow statsd logd:unix_stream_socket connectto;
+#line 107
+
+#line 107
+
+
+# Grant statsd with permissions to register the services.
+allow statsd {
+  app_api_service
+  incident_service
+  system_api_service
+}:service_manager find;
+
+# Grant statsd to access health hal to access battery metrics.
+allow statsd hal_health_hwservice:hwservice_manager find;
+
+# Allow statsd to send dump info to dumpstate
+allow statsd dumpstate:fd use;
+allow statsd dumpstate:fifo_file { getattr write };
+
+# Allow access to with hardware layer and process stats.
+allow statsd proc_uid_cputime_showstat:file { getattr open read };
+
+#line 125
+typeattribute statsd halclientdomain;
+#line 125
+typeattribute statsd hal_health_client;
+#line 125
+
+#line 125
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 125
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 125
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 125
+
+#line 125
+typeattribute statsd hal_health;
+#line 125
+# Find passthrough HAL implementations
+#line 125
+allow hal_health system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 125
+allow hal_health vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 125
+allow hal_health vendor_file:file { read open getattr execute map };
+#line 125
+
+#line 125
+
+
+#line 126
+typeattribute statsd halclientdomain;
+#line 126
+typeattribute statsd hal_power_client;
+#line 126
+
+#line 126
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 126
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 126
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 126
+
+#line 126
+typeattribute statsd hal_power;
+#line 126
+# Find passthrough HAL implementations
+#line 126
+allow hal_power system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 126
+allow hal_power vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 126
+allow hal_power vendor_file:file { read open getattr execute map };
+#line 126
+
+#line 126
+
+
+#line 127
+typeattribute statsd halclientdomain;
+#line 127
+typeattribute statsd hal_power_stats_client;
+#line 127
+
+#line 127
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 127
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 127
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 127
+
+#line 127
+typeattribute statsd hal_power_stats;
+#line 127
+# Find passthrough HAL implementations
+#line 127
+allow hal_power_stats system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 127
+allow hal_power_stats vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 127
+allow hal_power_stats vendor_file:file { read open getattr execute map };
+#line 127
+
+#line 127
+
+
+#line 128
+typeattribute statsd halclientdomain;
+#line 128
+typeattribute statsd hal_thermal_client;
+#line 128
+
+#line 128
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 128
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 128
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 128
+
+#line 128
+typeattribute statsd hal_thermal;
+#line 128
+# Find passthrough HAL implementations
+#line 128
+allow hal_thermal system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 128
+allow hal_thermal vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 128
+allow hal_thermal vendor_file:file { read open getattr execute map };
+#line 128
+
+#line 128
+
+
+# Allow 'adb shell cmd' to upload configs and download output.
+allow statsd adbd:fd use;
+allow statsd adbd:unix_stream_socket { getattr read write };
+allow statsd shell:fifo_file { getattr read write };
+
+
+#line 135
+allow statsd statsdw_socket:sock_file write;
+#line 135
+allow statsd statsd:unix_dgram_socket sendto;
+#line 135
+
+
+###
+### neverallow rules
+###
+
+# Only statsd and the other root services in limited circumstances.
+# can get to the files in /data/misc/stats-data, /data/misc/stats-service.
+# Other services are prohibitted from accessing the file.
+neverallow { domain -statsd -init -vold } stats_data_file:file *;
+neverallow { domain -statsd -system_server -init -vold } stats_config_data_file:file *;
+
+
+# Limited access to the directory itself.
+neverallow { domain -statsd -init -vold } stats_data_file:dir *;
+neverallow { domain -statsd -system_server -init -vold } stats_config_data_file:dir *;
+#line 1 "system/sepolicy/private/storaged.te"
+# storaged daemon
+type storaged, domain, coredomain, mlstrustedsubject;
+type storaged_exec, system_file_type, exec_type, file_type;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init storaged_exec:file { getattr open read execute map };
+#line 5
+allow init storaged:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow storaged storaged_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init storaged:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init storaged:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init storaged_exec:process storaged;
+#line 5
+
+#line 5
+
+
+# Read access to pseudo filesystems
+
+#line 8
+allow storaged domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 8
+allow storaged domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 8
+
+
+# Read /proc/uid_io/stats
+allow storaged proc_uid_io_stats:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /data/system/packages.list
+allow storaged system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow storaged packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Store storaged proto file
+allow storaged storaged_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow storaged storaged_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 21
+  
+#line 27
+
+
+# Needed to provide debug dump output via dumpsys pipes.
+allow storaged shell:fd use;
+allow storaged shell:fifo_file write;
+
+# Needed for GMScore to call dumpsys storaged
+allow storaged priv_app:fd use;
+# b/142672293: No other priv-app should need this allow rule now that GMS core runs in its own domain.
+# Remove after no logs are seen for this rule.
+#line 39
+
+allow storaged gmscore_app:fd use;
+allow storaged { privapp_data_file app_data_file }:file write;
+allow storaged permission_service:service_manager find;
+
+# Binder permissions
+
+#line 45
+  allow storaged storaged_service:service_manager { add find };
+#line 45
+  neverallow { domain -storaged } storaged_service:service_manager add;
+#line 45
+
+#line 45
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 45
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 45
+  
+#line 45
+
+
+
+#line 47
+# Call the servicemanager and transfer references to it.
+#line 47
+allow storaged servicemanager:binder { call transfer };
+#line 47
+# Allow servicemanager to send out callbacks
+#line 47
+allow servicemanager storaged:binder { call transfer };
+#line 47
+# servicemanager performs getpidcon on clients.
+#line 47
+allow servicemanager storaged:dir search;
+#line 47
+allow servicemanager storaged:file { read open };
+#line 47
+allow servicemanager storaged:process getattr;
+#line 47
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 47
+# all domains in domain.te.
+#line 47
+
+
+#line 48
+# Call the server domain and optionally transfer references to it.
+#line 48
+allow storaged system_server:binder { call transfer };
+#line 48
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 48
+allow system_server storaged:binder transfer;
+#line 48
+# Receive and use open files from the server.
+#line 48
+allow storaged system_server:fd use;
+#line 48
+
+
+
+#line 50
+typeattribute storaged halclientdomain;
+#line 50
+typeattribute storaged hal_health_client;
+#line 50
+
+#line 50
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 50
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 50
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 50
+
+#line 50
+typeattribute storaged hal_health;
+#line 50
+# Find passthrough HAL implementations
+#line 50
+allow hal_health system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 50
+allow hal_health vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 50
+allow hal_health vendor_file:file { read open getattr execute map };
+#line 50
+
+#line 50
+
+
+# Implements a dumpsys interface.
+allow storaged dumpstate:fd use;
+
+# use a subset of the package manager service
+allow storaged package_native_service:service_manager find;
+
+# Kernel does extra check on CAP_DAC_OVERRIDE for libbinder when storaged is
+# running as root. See b/35323867 #3.
+dontaudit storaged self:{ capability cap_userns } { dac_override dac_read_search };
+
+# For collecting bugreports.
+allow storaged dumpstate:fifo_file write;
+
+###
+### neverallow
+###
+neverallow storaged domain:process ptrace;
+neverallow storaged self:{ capability capability2 cap_userns cap2_userns } *;
+#line 136 "system/sepolicy/private/su.te"
+
+#line 1 "system/sepolicy/private/surfaceflinger.te"
+# surfaceflinger - display compositor service
+
+typeattribute surfaceflinger coredomain;
+
+type surfaceflinger_exec, system_file_type, exec_type, file_type;
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init surfaceflinger_exec:file { getattr open read execute map };
+#line 6
+allow init surfaceflinger:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow surfaceflinger surfaceflinger_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init surfaceflinger:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init surfaceflinger:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init surfaceflinger_exec:process surfaceflinger;
+#line 6
+
+#line 6
+
+
+#line 7
+type_transition surfaceflinger tmpfs:file surfaceflinger_tmpfs;
+#line 7
+allow surfaceflinger surfaceflinger_tmpfs:file { read write getattr map };
+#line 7
+
+
+typeattribute surfaceflinger mlstrustedsubject;
+typeattribute surfaceflinger display_service_server;
+
+
+#line 12
+allow surfaceflinger runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 12
+
+
+# Perform HwBinder IPC.
+
+#line 15
+typeattribute surfaceflinger halclientdomain;
+#line 15
+typeattribute surfaceflinger hal_graphics_allocator_client;
+#line 15
+
+#line 15
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 15
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 15
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 15
+
+#line 15
+typeattribute surfaceflinger hal_graphics_allocator;
+#line 15
+# Find passthrough HAL implementations
+#line 15
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 15
+
+#line 15
+
+
+#line 16
+typeattribute surfaceflinger halclientdomain;
+#line 16
+typeattribute surfaceflinger hal_graphics_composer_client;
+#line 16
+
+#line 16
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 16
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 16
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 16
+
+#line 16
+typeattribute surfaceflinger hal_graphics_composer;
+#line 16
+# Find passthrough HAL implementations
+#line 16
+allow hal_graphics_composer system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_graphics_composer vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow hal_graphics_composer vendor_file:file { read open getattr execute map };
+#line 16
+
+#line 16
+
+typeattribute surfaceflinger_tmpfs hal_graphics_composer_client_tmpfs;
+
+#line 18
+typeattribute surfaceflinger halclientdomain;
+#line 18
+typeattribute surfaceflinger hal_codec2_client;
+#line 18
+
+#line 18
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 18
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 18
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 18
+
+#line 18
+typeattribute surfaceflinger hal_codec2;
+#line 18
+# Find passthrough HAL implementations
+#line 18
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 18
+
+#line 18
+
+
+#line 19
+typeattribute surfaceflinger halclientdomain;
+#line 19
+typeattribute surfaceflinger hal_omx_client;
+#line 19
+
+#line 19
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 19
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 19
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 19
+
+#line 19
+typeattribute surfaceflinger hal_omx;
+#line 19
+# Find passthrough HAL implementations
+#line 19
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 19
+
+#line 19
+
+
+#line 20
+typeattribute surfaceflinger halclientdomain;
+#line 20
+typeattribute surfaceflinger hal_configstore_client;
+#line 20
+
+#line 20
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 20
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 20
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 20
+
+#line 20
+typeattribute surfaceflinger hal_configstore;
+#line 20
+# Find passthrough HAL implementations
+#line 20
+allow hal_configstore system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_configstore vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 20
+allow hal_configstore vendor_file:file { read open getattr execute map };
+#line 20
+
+#line 20
+
+
+#line 21
+typeattribute surfaceflinger halclientdomain;
+#line 21
+typeattribute surfaceflinger hal_power_client;
+#line 21
+
+#line 21
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 21
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 21
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 21
+
+#line 21
+typeattribute surfaceflinger hal_power;
+#line 21
+# Find passthrough HAL implementations
+#line 21
+allow hal_power system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_power vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 21
+allow hal_power vendor_file:file { read open getattr execute map };
+#line 21
+
+#line 21
+
+allow surfaceflinger hidl_token_hwservice:hwservice_manager find;
+
+# Perform Binder IPC.
+
+#line 25
+# Call the servicemanager and transfer references to it.
+#line 25
+allow surfaceflinger servicemanager:binder { call transfer };
+#line 25
+# Allow servicemanager to send out callbacks
+#line 25
+allow servicemanager surfaceflinger:binder { call transfer };
+#line 25
+# servicemanager performs getpidcon on clients.
+#line 25
+allow servicemanager surfaceflinger:dir search;
+#line 25
+allow servicemanager surfaceflinger:file { read open };
+#line 25
+allow servicemanager surfaceflinger:process getattr;
+#line 25
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 25
+# all domains in domain.te.
+#line 25
+
+
+#line 26
+# Call the server domain and optionally transfer references to it.
+#line 26
+allow surfaceflinger binderservicedomain:binder { call transfer };
+#line 26
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 26
+allow binderservicedomain surfaceflinger:binder transfer;
+#line 26
+# Receive and use open files from the server.
+#line 26
+allow surfaceflinger binderservicedomain:fd use;
+#line 26
+
+
+#line 27
+# Call the server domain and optionally transfer references to it.
+#line 27
+allow surfaceflinger appdomain:binder { call transfer };
+#line 27
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 27
+allow appdomain surfaceflinger:binder transfer;
+#line 27
+# Receive and use open files from the server.
+#line 27
+allow surfaceflinger appdomain:fd use;
+#line 27
+
+
+#line 28
+# Call the server domain and optionally transfer references to it.
+#line 28
+allow surfaceflinger bootanim:binder { call transfer };
+#line 28
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 28
+allow bootanim surfaceflinger:binder transfer;
+#line 28
+# Receive and use open files from the server.
+#line 28
+allow surfaceflinger bootanim:fd use;
+#line 28
+
+
+#line 29
+# Call the server domain and optionally transfer references to it.
+#line 29
+allow surfaceflinger system_server:binder { call transfer };
+#line 29
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 29
+allow system_server surfaceflinger:binder transfer;
+#line 29
+# Receive and use open files from the server.
+#line 29
+allow surfaceflinger system_server:fd use;
+#line 29
+;
+
+#line 30
+typeattribute surfaceflinger binderservicedomain;
+#line 30
+
+
+# Binder IPC to bu, presently runs in adbd domain.
+
+#line 33
+# Call the server domain and optionally transfer references to it.
+#line 33
+allow surfaceflinger adbd:binder { call transfer };
+#line 33
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 33
+allow adbd surfaceflinger:binder transfer;
+#line 33
+# Receive and use open files from the server.
+#line 33
+allow surfaceflinger adbd:fd use;
+#line 33
+
+
+# Read /proc/pid files for Binder clients.
+
+#line 36
+allow surfaceflinger binderservicedomain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow surfaceflinger binderservicedomain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 36
+
+
+#line 37
+allow surfaceflinger appdomain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 37
+allow surfaceflinger appdomain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 37
+
+
+# Access the GPU.
+allow surfaceflinger gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow surfaceflinger gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow surfaceflinger sysfs_gpu:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access /dev/graphics/fb0.
+allow surfaceflinger graphics_device:dir search;
+allow surfaceflinger graphics_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access /dev/video1.
+allow surfaceflinger video_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow surfaceflinger video_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access the secure heap.
+allow surfaceflinger dmabuf_system_secure_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Create and use netlink kobject uevent sockets.
+allow surfaceflinger self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Set properties.
+
+#line 59
+
+#line 59
+allow surfaceflinger property_socket:sock_file write;
+#line 59
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 59
+
+#line 59
+allow surfaceflinger system_prop:property_service set;
+#line 59
+
+#line 59
+allow surfaceflinger system_prop:file { getattr open read map };
+#line 59
+
+#line 59
+
+
+#line 60
+
+#line 60
+allow surfaceflinger property_socket:sock_file write;
+#line 60
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 60
+
+#line 60
+allow surfaceflinger bootanim_system_prop:property_service set;
+#line 60
+
+#line 60
+allow surfaceflinger bootanim_system_prop:file { getattr open read map };
+#line 60
+
+#line 60
+
+
+#line 61
+
+#line 61
+allow surfaceflinger property_socket:sock_file write;
+#line 61
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 61
+
+#line 61
+allow surfaceflinger exported_system_prop:property_service set;
+#line 61
+
+#line 61
+allow surfaceflinger exported_system_prop:file { getattr open read map };
+#line 61
+
+#line 61
+
+
+#line 62
+
+#line 62
+allow surfaceflinger property_socket:sock_file write;
+#line 62
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 62
+
+#line 62
+allow surfaceflinger exported3_system_prop:property_service set;
+#line 62
+
+#line 62
+allow surfaceflinger exported3_system_prop:file { getattr open read map };
+#line 62
+
+#line 62
+
+
+#line 63
+
+#line 63
+allow surfaceflinger property_socket:sock_file write;
+#line 63
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 63
+
+#line 63
+allow surfaceflinger ctl_bootanim_prop:property_service set;
+#line 63
+
+#line 63
+allow surfaceflinger ctl_bootanim_prop:file { getattr open read map };
+#line 63
+
+#line 63
+
+
+#line 64
+
+#line 64
+allow surfaceflinger property_socket:sock_file write;
+#line 64
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 64
+
+#line 64
+allow surfaceflinger locale_prop:property_service set;
+#line 64
+
+#line 64
+allow surfaceflinger locale_prop:file { getattr open read map };
+#line 64
+
+#line 64
+
+
+#line 65
+
+#line 65
+allow surfaceflinger property_socket:sock_file write;
+#line 65
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 65
+
+#line 65
+allow surfaceflinger surfaceflinger_display_prop:property_service set;
+#line 65
+
+#line 65
+allow surfaceflinger surfaceflinger_display_prop:file { getattr open read map };
+#line 65
+
+#line 65
+
+
+#line 66
+
+#line 66
+allow surfaceflinger property_socket:sock_file write;
+#line 66
+allow surfaceflinger init:unix_stream_socket connectto;
+#line 66
+
+#line 66
+allow surfaceflinger timezone_prop:property_service set;
+#line 66
+
+#line 66
+allow surfaceflinger timezone_prop:file { getattr open read map };
+#line 66
+
+#line 66
+
+
+# Get properties.
+
+#line 69
+allow surfaceflinger qemu_sf_lcd_density_prop:file { getattr open read map };
+#line 69
+
+
+#line 70
+allow surfaceflinger device_config_surface_flinger_native_boot_prop:file { getattr open read map };
+#line 70
+
+
+# Use open files supplied by an app.
+allow surfaceflinger appdomain:fd use;
+allow surfaceflinger { app_data_file privapp_data_file }:file { read write };
+
+# Allow writing surface traces to /data/misc/wmtrace.
+#line 80
+
+
+# Needed to register as a Perfetto producer.
+
+#line 83
+  allow surfaceflinger traced:fd use;
+#line 83
+  allow surfaceflinger traced_tmpfs:file { read write getattr map };
+#line 83
+  
+#line 83
+allow surfaceflinger traced_producer_socket:sock_file write;
+#line 83
+allow surfaceflinger traced:unix_stream_socket connectto;
+#line 83
+
+#line 83
+
+#line 83
+  # Also allow the service to use the producer file descriptors. This is
+#line 83
+  # necessary when the producer is creating the shared memory, as it will be
+#line 83
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 83
+  allow traced surfaceflinger:fd use;
+#line 83
+
+
+# Use socket supplied by adbd, for cmd gpu vkjson etc.
+allow surfaceflinger adbd:unix_stream_socket { read write getattr };
+
+# Allow reading and writing to sockets used for BLAST buffer releases.
+# SurfaceFlinger never reads from these sockets but needs read permissions in order to receive
+# the file descriptors over binder. There's no mechanism to mark a socket as write-only.
+# shutdown is used to close the read-end of the sockets that are sent to SurfaceFlinger. See
+# b/353597444
+allow surfaceflinger { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:unix_stream_socket { read write };
+allow surfaceflinger bootanim:unix_stream_socket { read write };
+allow surfaceflinger automotive_display_service:unix_stream_socket { read write };
+
+# Allow a dumpstate triggered screenshot
+
+#line 98
+# Call the server domain and optionally transfer references to it.
+#line 98
+allow surfaceflinger dumpstate:binder { call transfer };
+#line 98
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 98
+allow dumpstate surfaceflinger:binder transfer;
+#line 98
+# Receive and use open files from the server.
+#line 98
+allow surfaceflinger dumpstate:fd use;
+#line 98
+
+
+#line 99
+# Call the server domain and optionally transfer references to it.
+#line 99
+allow surfaceflinger shell:binder { call transfer };
+#line 99
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 99
+allow shell surfaceflinger:binder transfer;
+#line 99
+# Receive and use open files from the server.
+#line 99
+allow surfaceflinger shell:fd use;
+#line 99
+
+
+#line 100
+allow surfaceflinger dumpstate:dir { open getattr read search ioctl lock watch watch_reads };
+#line 100
+allow surfaceflinger dumpstate:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 100
+
+
+# media.player service
+
+# do not use add_service() as hal_graphics_composer_default may be the
+# provider as well
+#add_service(surfaceflinger, surfaceflinger_service)
+allow surfaceflinger surfaceflinger_service:service_manager { add find };
+
+allow surfaceflinger mediaserver_service:service_manager find;
+allow surfaceflinger permission_service:service_manager find;
+allow surfaceflinger power_service:service_manager find;
+allow surfaceflinger vr_manager_service:service_manager find;
+allow surfaceflinger window_service:service_manager find;
+allow surfaceflinger inputflinger_service:service_manager find;
+
+
+# allow self to set SCHED_FIFO
+allow surfaceflinger self:{ capability cap_userns } sys_nice;
+allow surfaceflinger proc_meminfo:file { getattr open read ioctl lock map watch watch_reads };
+
+#line 120
+allow surfaceflinger cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 120
+allow surfaceflinger cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 120
+
+
+#line 121
+allow surfaceflinger cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 121
+allow surfaceflinger cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 121
+
+
+#line 122
+allow surfaceflinger system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 122
+allow surfaceflinger system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 122
+
+allow surfaceflinger tmpfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow surfaceflinger system_server:fd use;
+allow surfaceflinger system_server:unix_stream_socket { read write };
+allow surfaceflinger ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow surfaceflinger dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# pdx IPC
+
+#line 130
+# Mark the server domain as a PDX server.
+#line 130
+typeattribute surfaceflinger pdx_display_client_server_type;
+#line 130
+# Allow the init process to create the initial endpoint socket.
+#line 130
+allow init pdx_display_client_endpoint_socket_type:unix_stream_socket { create bind };
+#line 130
+# Allow the server domain to use the endpoint socket and accept connections on it.
+#line 130
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 130
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 130
+allow surfaceflinger pdx_display_client_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+#line 130
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+#line 130
+allow surfaceflinger self:process setsockcreate;
+#line 130
+# Allow the server domain to create a client channel socket.
+#line 130
+allow surfaceflinger pdx_display_client_channel_socket_type:unix_stream_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+#line 130
+# Prevent other processes from claiming to be a server for the same service.
+#line 130
+neverallow {domain -surfaceflinger} pdx_display_client_endpoint_socket_type:unix_stream_socket { listen accept };
+#line 130
+
+
+#line 131
+# Mark the server domain as a PDX server.
+#line 131
+typeattribute surfaceflinger pdx_display_manager_server_type;
+#line 131
+# Allow the init process to create the initial endpoint socket.
+#line 131
+allow init pdx_display_manager_endpoint_socket_type:unix_stream_socket { create bind };
+#line 131
+# Allow the server domain to use the endpoint socket and accept connections on it.
+#line 131
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 131
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 131
+allow surfaceflinger pdx_display_manager_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+#line 131
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+#line 131
+allow surfaceflinger self:process setsockcreate;
+#line 131
+# Allow the server domain to create a client channel socket.
+#line 131
+allow surfaceflinger pdx_display_manager_channel_socket_type:unix_stream_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+#line 131
+# Prevent other processes from claiming to be a server for the same service.
+#line 131
+neverallow {domain -surfaceflinger} pdx_display_manager_endpoint_socket_type:unix_stream_socket { listen accept };
+#line 131
+
+
+#line 132
+# Mark the server domain as a PDX server.
+#line 132
+typeattribute surfaceflinger pdx_display_screenshot_server_type;
+#line 132
+# Allow the init process to create the initial endpoint socket.
+#line 132
+allow init pdx_display_screenshot_endpoint_socket_type:unix_stream_socket { create bind };
+#line 132
+# Allow the server domain to use the endpoint socket and accept connections on it.
+#line 132
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 132
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 132
+allow surfaceflinger pdx_display_screenshot_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+#line 132
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+#line 132
+allow surfaceflinger self:process setsockcreate;
+#line 132
+# Allow the server domain to create a client channel socket.
+#line 132
+allow surfaceflinger pdx_display_screenshot_channel_socket_type:unix_stream_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+#line 132
+# Prevent other processes from claiming to be a server for the same service.
+#line 132
+neverallow {domain -surfaceflinger} pdx_display_screenshot_endpoint_socket_type:unix_stream_socket { listen accept };
+#line 132
+
+
+#line 133
+# Mark the server domain as a PDX server.
+#line 133
+typeattribute surfaceflinger pdx_display_vsync_server_type;
+#line 133
+# Allow the init process to create the initial endpoint socket.
+#line 133
+allow init pdx_display_vsync_endpoint_socket_type:unix_stream_socket { create bind };
+#line 133
+# Allow the server domain to use the endpoint socket and accept connections on it.
+#line 133
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 133
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 133
+allow surfaceflinger pdx_display_vsync_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+#line 133
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+#line 133
+allow surfaceflinger self:process setsockcreate;
+#line 133
+# Allow the server domain to create a client channel socket.
+#line 133
+allow surfaceflinger pdx_display_vsync_channel_socket_type:unix_stream_socket { create { { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } listen accept } };
+#line 133
+# Prevent other processes from claiming to be a server for the same service.
+#line 133
+neverallow {domain -surfaceflinger} pdx_display_vsync_endpoint_socket_type:unix_stream_socket { listen accept };
+#line 133
+
+
+
+#line 135
+
+#line 135
+# Allow client to open the service endpoint file.
+#line 135
+allow surfaceflinger pdx_bufferhub_client_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 135
+allow surfaceflinger pdx_bufferhub_client_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 135
+# Allow the client to connect to endpoint socket.
+#line 135
+allow surfaceflinger pdx_bufferhub_client_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 135
+
+#line 135
+
+#line 135
+# Allow the client to use the PDX channel socket.
+#line 135
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 135
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 135
+allow surfaceflinger pdx_bufferhub_client_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 135
+# Client needs to use an channel event fd from the server.
+#line 135
+allow surfaceflinger pdx_bufferhub_client_server_type:fd use;
+#line 135
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 135
+# This could be tightened on a per-server basis, but keeping track of service
+#line 135
+# clients is error prone.
+#line 135
+allow pdx_bufferhub_client_server_type surfaceflinger:fd use;
+#line 135
+
+#line 135
+
+
+#line 136
+
+#line 136
+# Allow client to open the service endpoint file.
+#line 136
+allow surfaceflinger pdx_performance_client_endpoint_dir_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 136
+allow surfaceflinger pdx_performance_client_endpoint_socket_type:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 136
+# Allow the client to connect to endpoint socket.
+#line 136
+allow surfaceflinger pdx_performance_client_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+#line 136
+
+#line 136
+
+#line 136
+# Allow the client to use the PDX channel socket.
+#line 136
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+#line 136
+# than we need (e.g. we don"t need "bind" or "connect").
+#line 136
+allow surfaceflinger pdx_performance_client_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+#line 136
+# Client needs to use an channel event fd from the server.
+#line 136
+allow surfaceflinger pdx_performance_client_server_type:fd use;
+#line 136
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+#line 136
+# This could be tightened on a per-server basis, but keeping track of service
+#line 136
+# clients is error prone.
+#line 136
+allow pdx_performance_client_server_type surfaceflinger:fd use;
+#line 136
+
+#line 136
+
+
+# Allow supplying timestats statistics to statsd
+allow surfaceflinger stats_service:service_manager find;
+allow surfaceflinger statsmanager_service:service_manager find;
+# TODO(146461633): remove this once native pullers talk to StatsManagerService
+
+#line 142
+# Call the server domain and optionally transfer references to it.
+#line 142
+allow surfaceflinger statsd:binder { call transfer };
+#line 142
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 142
+allow statsd surfaceflinger:binder transfer;
+#line 142
+# Receive and use open files from the server.
+#line 142
+allow surfaceflinger statsd:fd use;
+#line 142
+;
+# Allow pushing atoms to the stats bootstrap atom service
+allow surfaceflinger statsbootstrap_service:service_manager find;
+
+# Allow to use files supplied by hal_evs
+allow surfaceflinger hal_evs:fd use;
+
+# Allow to use release fence fds supplied by hal_camera
+allow surfaceflinger hal_camera:fd use;
+
+
+# Surfaceflinger should not be reading default vendor-defined properties.
+dontaudit surfaceflinger vendor_default_prop:file read;
+
+###
+### Neverallow rules
+###
+### surfaceflinger should NEVER do any of this
+
+# Do not allow accessing SDcard files as unsafe ejection could
+# cause the kernel to kill the process.
+neverallow surfaceflinger { sdcard_type fuse }:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# b/68864350
+dontaudit surfaceflinger unlabeled:dir search;
+#line 1 "system/sepolicy/private/system_app.te"
+###
+### Apps that run with the system UID, e.g. com.android.system.ui,
+### com.android.settings.  These are not as privileged as the system
+### server.
+###
+
+typeattribute system_app coredomain, mlstrustedsubject;
+
+
+#line 9
+typeattribute system_app appdomain;
+#line 9
+# Label tmpfs objects for all apps.
+#line 9
+type_transition system_app tmpfs:file appdomain_tmpfs;
+#line 9
+
+#line 9
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 9
+type system_app_userfaultfd;
+#line 9
+type_transition system_app system_app:anon_inode system_app_userfaultfd "[userfaultfd]";
+#line 9
+# Allow domain to create/use userfaultfd anon_inode.
+#line 9
+allow system_app system_app_userfaultfd:anon_inode { create ioctl read };
+#line 9
+# Suppress errors generate during bugreport
+#line 9
+dontaudit su system_app_userfaultfd:anon_inode *;
+#line 9
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 9
+neverallow { domain -system_app } system_app_userfaultfd:anon_inode *;
+#line 9
+
+#line 9
+allow system_app appdomain_tmpfs:file { execute getattr map read write };
+#line 9
+neverallow { system_app -runas_app -shell -simpleperf } { domain -system_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 9
+neverallow { appdomain -runas_app -shell -simpleperf -system_app } system_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 9
+# The Android security model guarantees the confidentiality and integrity
+#line 9
+# of application data and execution state. Ptrace bypasses those
+#line 9
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 9
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 9
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 9
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 9
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 9
+# live lock conditions.
+#line 9
+neverallow { domain -system_app -crash_dump  -runas_app -simpleperf } system_app:process ptrace;
+#line 9
+
+
+#line 10
+typeattribute system_app netdomain;
+#line 10
+
+
+#line 11
+typeattribute system_app binderservicedomain;
+#line 11
+
+
+# android.ui and system.ui
+allow system_app rootfs:dir getattr;
+
+# read/write certain subdirectories of /data/data for system UID apps.
+allow system_app system_app_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_app system_app_data_file:{ file lnk_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read and write to /data/misc/user.
+allow system_app misc_user_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_app misc_user_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access to apex files stored on /data (b/136063500)
+# Needed so that Settings can access NOTICE files inside apex
+# files located in the assets/ directory.
+allow system_app apex_data_file:dir search;
+allow system_app staging_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read wallpaper file.
+allow system_app wallpaper_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read icon file.
+allow system_app icon_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Write to properties
+
+#line 37
+
+#line 37
+allow system_app property_socket:sock_file write;
+#line 37
+allow system_app init:unix_stream_socket connectto;
+#line 37
+
+#line 37
+allow system_app adaptive_haptics_prop:property_service set;
+#line 37
+
+#line 37
+allow system_app adaptive_haptics_prop:file { getattr open read map };
+#line 37
+
+#line 37
+
+
+#line 38
+
+#line 38
+allow system_app property_socket:sock_file write;
+#line 38
+allow system_app init:unix_stream_socket connectto;
+#line 38
+
+#line 38
+allow system_app arm64_memtag_prop:property_service set;
+#line 38
+
+#line 38
+allow system_app arm64_memtag_prop:file { getattr open read map };
+#line 38
+
+#line 38
+
+
+#line 39
+
+#line 39
+allow system_app property_socket:sock_file write;
+#line 39
+allow system_app init:unix_stream_socket connectto;
+#line 39
+
+#line 39
+allow system_app bluetooth_a2dp_offload_prop:property_service set;
+#line 39
+
+#line 39
+allow system_app bluetooth_a2dp_offload_prop:file { getattr open read map };
+#line 39
+
+#line 39
+
+
+#line 40
+
+#line 40
+allow system_app property_socket:sock_file write;
+#line 40
+allow system_app init:unix_stream_socket connectto;
+#line 40
+
+#line 40
+allow system_app bluetooth_audio_hal_prop:property_service set;
+#line 40
+
+#line 40
+allow system_app bluetooth_audio_hal_prop:file { getattr open read map };
+#line 40
+
+#line 40
+
+
+#line 41
+
+#line 41
+allow system_app property_socket:sock_file write;
+#line 41
+allow system_app init:unix_stream_socket connectto;
+#line 41
+
+#line 41
+allow system_app bluetooth_prop:property_service set;
+#line 41
+
+#line 41
+allow system_app bluetooth_prop:file { getattr open read map };
+#line 41
+
+#line 41
+
+
+#line 42
+
+#line 42
+allow system_app property_socket:sock_file write;
+#line 42
+allow system_app init:unix_stream_socket connectto;
+#line 42
+
+#line 42
+allow system_app debug_prop:property_service set;
+#line 42
+
+#line 42
+allow system_app debug_prop:file { getattr open read map };
+#line 42
+
+#line 42
+
+
+#line 43
+
+#line 43
+allow system_app property_socket:sock_file write;
+#line 43
+allow system_app init:unix_stream_socket connectto;
+#line 43
+
+#line 43
+allow system_app system_prop:property_service set;
+#line 43
+
+#line 43
+allow system_app system_prop:file { getattr open read map };
+#line 43
+
+#line 43
+
+
+#line 44
+
+#line 44
+allow system_app property_socket:sock_file write;
+#line 44
+allow system_app init:unix_stream_socket connectto;
+#line 44
+
+#line 44
+allow system_app exported_bluetooth_prop:property_service set;
+#line 44
+
+#line 44
+allow system_app exported_bluetooth_prop:file { getattr open read map };
+#line 44
+
+#line 44
+
+
+#line 45
+
+#line 45
+allow system_app property_socket:sock_file write;
+#line 45
+allow system_app init:unix_stream_socket connectto;
+#line 45
+
+#line 45
+allow system_app exported_system_prop:property_service set;
+#line 45
+
+#line 45
+allow system_app exported_system_prop:file { getattr open read map };
+#line 45
+
+#line 45
+
+
+#line 46
+
+#line 46
+allow system_app property_socket:sock_file write;
+#line 46
+allow system_app init:unix_stream_socket connectto;
+#line 46
+
+#line 46
+allow system_app exported3_system_prop:property_service set;
+#line 46
+
+#line 46
+allow system_app exported3_system_prop:file { getattr open read map };
+#line 46
+
+#line 46
+
+
+#line 47
+
+#line 47
+allow system_app property_socket:sock_file write;
+#line 47
+allow system_app init:unix_stream_socket connectto;
+#line 47
+
+#line 47
+allow system_app gesture_prop:property_service set;
+#line 47
+
+#line 47
+allow system_app gesture_prop:file { getattr open read map };
+#line 47
+
+#line 47
+
+
+#line 48
+
+#line 48
+allow system_app property_socket:sock_file write;
+#line 48
+allow system_app init:unix_stream_socket connectto;
+#line 48
+
+#line 48
+allow system_app locale_prop:property_service set;
+#line 48
+
+#line 48
+allow system_app locale_prop:file { getattr open read map };
+#line 48
+
+#line 48
+
+
+#line 49
+
+#line 49
+allow system_app property_socket:sock_file write;
+#line 49
+allow system_app init:unix_stream_socket connectto;
+#line 49
+
+#line 49
+allow system_app logd_prop:property_service set;
+#line 49
+
+#line 49
+allow system_app logd_prop:file { getattr open read map };
+#line 49
+
+#line 49
+
+
+#line 50
+
+#line 50
+allow system_app property_socket:sock_file write;
+#line 50
+allow system_app init:unix_stream_socket connectto;
+#line 50
+
+#line 50
+allow system_app net_radio_prop:property_service set;
+#line 50
+
+#line 50
+allow system_app net_radio_prop:file { getattr open read map };
+#line 50
+
+#line 50
+
+
+#line 51
+
+#line 51
+allow system_app property_socket:sock_file write;
+#line 51
+allow system_app init:unix_stream_socket connectto;
+#line 51
+
+#line 51
+allow system_app timezone_prop:property_service set;
+#line 51
+
+#line 51
+allow system_app timezone_prop:file { getattr open read map };
+#line 51
+
+#line 51
+
+
+#line 52
+
+#line 52
+allow system_app property_socket:sock_file write;
+#line 52
+allow system_app init:unix_stream_socket connectto;
+#line 52
+
+#line 52
+allow system_app usb_control_prop:property_service set;
+#line 52
+
+#line 52
+allow system_app usb_control_prop:file { getattr open read map };
+#line 52
+
+#line 52
+
+
+#line 53
+
+#line 53
+allow system_app property_socket:sock_file write;
+#line 53
+allow system_app init:unix_stream_socket connectto;
+#line 53
+
+#line 53
+allow system_app usb_prop:property_service set;
+#line 53
+
+#line 53
+allow system_app usb_prop:file { getattr open read map };
+#line 53
+
+#line 53
+
+
+#line 54
+
+#line 54
+allow system_app property_socket:sock_file write;
+#line 54
+allow system_app init:unix_stream_socket connectto;
+#line 54
+
+#line 54
+allow system_app log_tag_prop:property_service set;
+#line 54
+
+#line 54
+allow system_app log_tag_prop:file { getattr open read map };
+#line 54
+
+#line 54
+
+
+#line 55
+
+#line 55
+allow system_app property_socket:sock_file write;
+#line 55
+allow system_app init:unix_stream_socket connectto;
+#line 55
+
+#line 55
+allow system_app drm_forcel3_prop:property_service set;
+#line 55
+
+#line 55
+allow system_app drm_forcel3_prop:file { getattr open read map };
+#line 55
+
+#line 55
+
+
+auditallow system_app net_radio_prop:property_service set;
+auditallow system_app usb_control_prop:property_service set;
+auditallow system_app usb_prop:property_service set;
+# Allow Settings to enable Dynamic System Update
+
+#line 61
+
+#line 61
+allow system_app property_socket:sock_file write;
+#line 61
+allow system_app init:unix_stream_socket connectto;
+#line 61
+
+#line 61
+allow system_app dynamic_system_prop:property_service set;
+#line 61
+
+#line 61
+allow system_app dynamic_system_prop:file { getattr open read map };
+#line 61
+
+#line 61
+
+
+# ctl interface
+
+#line 64
+
+#line 64
+allow system_app property_socket:sock_file write;
+#line 64
+allow system_app init:unix_stream_socket connectto;
+#line 64
+
+#line 64
+allow system_app ctl_default_prop:property_service set;
+#line 64
+
+#line 64
+allow system_app ctl_default_prop:file { getattr open read map };
+#line 64
+
+#line 64
+
+
+#line 65
+
+#line 65
+allow system_app property_socket:sock_file write;
+#line 65
+allow system_app init:unix_stream_socket connectto;
+#line 65
+
+#line 65
+allow system_app ctl_bugreport_prop:property_service set;
+#line 65
+
+#line 65
+allow system_app ctl_bugreport_prop:file { getattr open read map };
+#line 65
+
+#line 65
+
+
+# Allow developer settings to query gsid status
+
+#line 68
+allow system_app gsid_prop:file { getattr open read map };
+#line 68
+
+
+# Allow developer settings to check 16k pages boot option status
+
+#line 71
+allow system_app enable_16k_pages_prop:file { getattr open read map };
+#line 71
+
+
+# Allow developer settings to check virtualization capabilities
+
+#line 74
+allow system_app hypervisor_prop:file { getattr open read map };
+#line 74
+
+
+# Create /data/anr/traces.txt.
+allow system_app anr_data_file:dir { { open getattr read search ioctl lock watch watch_reads } add_name write };
+allow system_app anr_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Settings need to access app name and icon from asec
+allow system_app asec_apk_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow system apps (like Settings) to interact with statsd
+
+#line 84
+# Call the server domain and optionally transfer references to it.
+#line 84
+allow system_app statsd:binder { call transfer };
+#line 84
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 84
+allow statsd system_app:binder transfer;
+#line 84
+# Receive and use open files from the server.
+#line 84
+allow system_app statsd:fd use;
+#line 84
+
+
+# Allow system apps to interact with incidentd
+
+#line 87
+# Call the server domain and optionally transfer references to it.
+#line 87
+allow system_app incidentd:binder { call transfer };
+#line 87
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 87
+allow incidentd system_app:binder transfer;
+#line 87
+# Receive and use open files from the server.
+#line 87
+allow system_app incidentd:fd use;
+#line 87
+
+
+# Allow system apps (Settings) to call into update_engine
+# in order to apply update to switch from 4k kernel to 16K and vice-versa
+
+#line 91
+# Call the servicemanager and transfer references to it.
+#line 91
+allow system_app servicemanager:binder { call transfer };
+#line 91
+# Allow servicemanager to send out callbacks
+#line 91
+allow servicemanager system_app:binder { call transfer };
+#line 91
+# servicemanager performs getpidcon on clients.
+#line 91
+allow servicemanager system_app:dir search;
+#line 91
+allow servicemanager system_app:file { read open };
+#line 91
+allow servicemanager system_app:process getattr;
+#line 91
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 91
+# all domains in domain.te.
+#line 91
+
+allow system_app update_engine_stable_service:service_manager find;
+
+#line 93
+# Call the server domain and optionally transfer references to it.
+#line 93
+allow system_app update_engine:binder { call transfer };
+#line 93
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 93
+allow update_engine system_app:binder transfer;
+#line 93
+# Receive and use open files from the server.
+#line 93
+allow system_app update_engine:fd use;
+#line 93
+
+
+# Allow system app to interact with Dumpstate HAL
+
+#line 96
+typeattribute system_app halclientdomain;
+#line 96
+typeattribute system_app hal_dumpstate_client;
+#line 96
+
+#line 96
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 96
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 96
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 96
+
+#line 96
+typeattribute system_app hal_dumpstate;
+#line 96
+# Find passthrough HAL implementations
+#line 96
+allow hal_dumpstate system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 96
+allow hal_dumpstate vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 96
+allow hal_dumpstate vendor_file:file { read open getattr execute map };
+#line 96
+
+#line 96
+
+
+allow system_app servicemanager:service_manager list;
+# TODO: scope this down? Too broad?
+allow system_app {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -dumpstate_service
+  -installd_service
+  -lpdump_service
+  -mdns_service
+  -netd_service
+  -system_suspend_control_internal_service
+  -system_suspend_control_service
+  -tracingproxy_service
+  -virtual_touchpad_service
+  -vold_service
+  -default_android_service
+}:service_manager find;
+# suppress denials for services system_app should not be accessing.
+dontaudit system_app {
+  dnsresolver_service
+  dumpstate_service
+  installd_service
+  mdns_service
+  netd_service
+  virtual_touchpad_service
+  vold_service
+}:service_manager find;
+
+# suppress denials caused by debugfs_tracing
+dontaudit system_app debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Ignore access to memory properties for Settings.
+dontaudit system_app proc_pagetypeinfo:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit system_app sysfs_zram:dir search;
+
+allow system_app keystore:keystore2_key {
+    delete
+    get_info
+    grant
+    rebind
+    update
+    use
+};
+
+# Allow Settings to manage WI-FI keys.
+allow system_app wifi_key:keystore2_key {
+    delete
+    get_info
+    rebind
+    update
+    use
+};
+
+# settings app reads /proc/version
+allow system_app {
+  proc_version
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow system apps to modify cgroup attributes and migrate processes
+allow system_app cgroup:file { open append write lock map };
+allow system_app cgroup_v2:file { open append write lock map };
+allow system_app cgroup_v2:dir { open search write add_name remove_name lock };
+
+
+#line 162
+# Group AID_LOG checked by filesystem & logd
+#line 162
+# to permit control commands
+#line 162
+
+#line 162
+allow system_app logd_socket:sock_file write;
+#line 162
+allow system_app logd:unix_stream_socket connectto;
+#line 162
+
+#line 162
+
+
+#line 163
+allow system_app runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 163
+
+
+#line 164
+allow system_app device_logging_prop:file { getattr open read map };
+#line 164
+
+
+# allow system apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow system_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow system apps to read game manager related sysrops
+
+#line 172
+allow system_app game_manager_config_prop:file { getattr open read map };
+#line 172
+
+
+# Settings app reads ro.oem_unlock_supported
+
+#line 175
+allow system_app oem_unlock_prop:file { getattr open read map };
+#line 175
+
+
+# Settings app reads ro.usb.uvc.enabled
+
+#line 178
+allow system_app usb_uvc_enabled_prop:file { getattr open read map };
+#line 178
+
+
+# Settings app reads and writes the wifi blob database
+allow system_app connectivityblob_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_app connectivityblob_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+###
+### Neverallow rules
+###
+
+# app domains which access /dev/fuse should not run as system_app
+neverallow system_app fuse_device:chr_file *;
+
+# Apps which run as UID=system should not rely on any attacker controlled
+# filesystem locations, such as /data/local/tmp. For /data/local/tmp, we
+# allow writes to files passed by file descriptor to support dumpstate and
+# bug reports, but not reads.
+neverallow system_app shell_data_file:dir { { add_name create link relabelfrom remove_name rename reparent rmdir setattr write } open search read };
+neverallow system_app shell_data_file:file { open read ioctl lock };
+
+# system_app should be the only domain writing the adaptive haptics prop
+neverallow { domain -init -system_app } adaptive_haptics_prop:property_service set;
+# system_app should be the only domain writing the force l3 prop
+neverallow { domain -init -system_app } drm_forcel3_prop:property_service set;
+
+allow system_app vendor_boot_ota_file:dir { { open getattr read search ioctl lock watch watch_reads } };
+allow system_app vendor_boot_ota_file:file { { getattr open read ioctl lock map watch watch_reads } };
+
+# allow system_app to read system_dlkm_file for /system_dlkm/etc/NOTICE.xml.gz
+allow system_app system_dlkm_file:dir search;
+allow system_app system_dlkm_file:file { getattr open read };
+#line 1 "system/sepolicy/private/system_server.te"
+#
+# System Server aka system_server spawned by zygote.
+# Most of the framework services run in this process.
+#
+
+typeattribute system_server coredomain;
+typeattribute system_server mlstrustedsubject;
+typeattribute system_server remote_provisioning_service_server;
+typeattribute system_server scheduler_service_server;
+typeattribute system_server sensor_service_server;
+typeattribute system_server stats_service_server;
+typeattribute system_server bpfdomain;
+
+# Define a type for tmpfs-backed ashmem regions.
+
+#line 15
+type_transition system_server tmpfs:file system_server_tmpfs;
+#line 15
+allow system_server system_server_tmpfs:file { read write getattr map };
+#line 15
+
+
+
+#line 17
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 17
+type system_server_userfaultfd;
+#line 17
+type_transition system_server system_server:anon_inode system_server_userfaultfd "[userfaultfd]";
+#line 17
+# Allow domain to create/use userfaultfd anon_inode.
+#line 17
+allow system_server system_server_userfaultfd:anon_inode { create ioctl read };
+#line 17
+# Suppress errors generate during bugreport
+#line 17
+dontaudit su system_server_userfaultfd:anon_inode *;
+#line 17
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 17
+neverallow { domain -system_server } system_server_userfaultfd:anon_inode *;
+#line 17
+
+
+# Create a socket for connections from crash_dump.
+type_transition system_server system_data_file:sock_file system_ndebug_socket "ndebugsocket";
+
+# Create a socket for connections from zygotes.
+type_transition system_server system_data_file:sock_file system_unsolzygote_socket "unsolzygotesocket";
+
+allow system_server zygote_tmpfs:file { map read };
+allow system_server appdomain_tmpfs:file { getattr map read write };
+
+# For Incremental Service to check if incfs is available
+allow system_server proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+# To create files, get permission to fill blocks, and configure Incremental File System
+allow system_server incremental_control_file:file { ioctl { getattr open read ioctl lock map watch watch_reads } };
+allowxperm system_server incremental_control_file:file ioctl {
+  0x0000671e
+  0x00006723
+  0x00006721
+  0x00006725
+  0x00006726
+  0x00006727
+};
+
+# To get signature of an APK installed on Incremental File System, and fill in data
+# blocks and get the filesystem state
+allowxperm system_server apk_data_file:file ioctl {
+  0x0000671f
+  0x00006720
+  0x00006722
+  0x00006724
+  0xf50c
+  0xf511
+  0xf518
+  0xf517
+  0xf512
+  0xf513
+  0x40086602
+  0x80086601
+};
+
+allowxperm system_server apk_tmp_file:file ioctl {
+  0xf512
+  0x80086601
+};
+
+# For Incremental Service to check incfs metrics
+allow system_server sysfs_fs_incfs_metrics:file { getattr open read ioctl lock map watch watch_reads };
+
+# For f2fs-compression support
+allow system_server sysfs_fs_f2fs:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server sysfs_fs_f2fs:file { getattr open read ioctl lock map watch watch_reads };
+
+# For SdkSandboxManagerService
+allow system_server sdk_sandbox_system_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# For art.
+allow system_server { apex_art_data_file dalvikcache_data_file }:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server { apex_art_data_file dalvikcache_data_file }:file { getattr open read ioctl lock map watch watch_reads };
+
+# Ignore the denial on `system@framework@com.android.location.provider.jar@classes.odex`.
+# `com.android.location.provider.jar` happens to be both a jar on system server classpath and a
+# shared library used by a system server app. The odex file is loaded fine by Zygote when it forks
+# system_server. It fails to be loaded when the jar is used as a shared library, which is expected.
+dontaudit system_server apex_art_data_file:file execute;
+
+# For release odex/vdex compress blocks
+allowxperm system_server dalvikcache_data_file:file ioctl {
+  0xf512
+  0x80086601
+};
+
+# When running system server under --invoke-with, we'll try to load the boot image under the
+# system server domain, following links to the system partition.
+
+
+# /data/resource-cache
+allow system_server resourcecache_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow system_server resourcecache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# ptrace to processes in the same domain for debugging crashes.
+allow system_server self:process ptrace;
+
+# Child of the zygote.
+allow system_server zygote:fd use;
+allow system_server zygote:process sigchld;
+
+# May kill zygote (or its child processes) on crashes.
+allow system_server {
+  app_zygote
+  crash_dump
+  crosvm
+  virtualizationmanager
+  webview_zygote
+  zygote
+}:process { getpgid sigkill signull };
+
+# Read /system/bin/app_process.
+allow system_server zygote_exec:file { getattr open read ioctl lock map watch watch_reads };
+
+# Needed to close the zygote socket, which involves getopt / getattr
+allow system_server zygote:unix_stream_socket { getopt getattr };
+
+# system server gets network and bluetooth permissions.
+
+#line 122
+typeattribute system_server netdomain;
+#line 122
+
+# in addition to ioctls allowlisted for all domains, also allow system_server
+# to use privileged ioctls commands. Needed to set up VPNs.
+allowxperm system_server self:udp_socket ioctl 
+#line 125
+{
+#line 125
+# qualcomm rmnet ioctls
+#line 125
+0x00006900 0x00006902
+#line 125
+# socket ioctls
+#line 125
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 125
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 125
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 125
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 125
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 125
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 125
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 125
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 125
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 125
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 125
+# device and protocol specific ioctls
+#line 125
+0x000089f0-0x000089ff
+#line 125
+0x000089e0-0x000089ef
+#line 125
+# Wireless extension ioctls
+#line 125
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 125
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 125
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 125
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 125
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 125
+0x00008b34 0x00008b35 0x00008b36
+#line 125
+# Dev private ioctl i.e. hardware specific ioctls
+#line 125
+0x00008be0-0x00008bff
+#line 125
+};
+
+#line 126
+typeattribute system_server bluetoothdomain;
+#line 126
+
+
+# Allow setup of tcp keepalive offload. This gives system_server the permission to
+# call ioctl on app domains' tcp sockets. Additional ioctl commands still need to
+# be granted individually, except for a small set of safe values allowlisted in
+# public/domain.te.
+allow system_server appdomain:tcp_socket ioctl;
+
+# These are the capabilities assigned by the zygote to the
+# system server.
+allow system_server self:{ capability cap_userns } {
+    ipc_lock
+    kill
+    net_admin
+    net_bind_service
+    net_broadcast
+    net_raw
+    sys_boot
+    sys_nice
+    sys_ptrace
+    sys_time
+    sys_tty_config
+};
+
+# Allow alarmtimers to be set
+allow system_server self:{ capability2 cap2_userns } wake_alarm;
+
+# Create and share netlink_netfilter_sockets for tetheroffload.
+allow system_server self:netlink_netfilter_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Create/use netlink_tcpdiag_socket for looking up connection UIDs for VPN apps.
+allow system_server self:netlink_tcpdiag_socket
+    { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_read nlmsg_write };
+
+# Use netlink uevent sockets.
+allow system_server self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+allow system_server self:netlink_nflog_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Use generic netlink sockets.
+allow system_server self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow system_server self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# libvintf reads the kernel config to verify vendor interface compatibility.
+allow system_server config_gz:file { read open };
+
+# Use generic "sockets" where the address family is not known
+# to the kernel. The ioctl permission is specifically omitted here, but may
+# be added to device specific policy along with the ioctl commands to be
+# allowlisted.
+allow system_server self:socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Set and get routes directly via netlink.
+allow system_server self:netlink_route_socket nlmsg_write;
+
+# Use XFRM (IPsec) netlink sockets
+allow system_server self:netlink_xfrm_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } nlmsg_write nlmsg_read };
+
+# Kill apps.
+allow system_server appdomain:process { getpgid sigkill signal };
+# signull allowed for kill(pid, 0) existence test.
+allow system_server appdomain:process { signull };
+
+# Set scheduling info for apps.
+allow system_server appdomain:process { getsched setsched };
+allow system_server audioserver:process { getsched setsched };
+allow system_server hal_audio:process { getsched setsched };
+allow system_server hal_bluetooth:process { getsched setsched };
+allow system_server hal_codec2_server:process { getsched setsched };
+allow system_server hal_omx_server:process { getsched setsched };
+allow system_server mediaswcodec:process { getsched setsched };
+allow system_server cameraserver:process { getsched setsched };
+allow system_server hal_camera:process { getsched setsched };
+allow system_server mediaserver:process { getsched setsched };
+allow system_server bootanim:process { getsched setsched };
+# Set scheduling info for VMs (b/375058190)
+allow system_server { virtualizationmanager crosvm }:process { getsched setsched };
+
+# Set scheduling info for psi monitor thread.
+# TODO: delete this line b/131761776
+allow system_server kernel:process { getsched setsched };
+
+# Allow system_server to write to /proc/<pid>/*
+allow system_server domain:file { open append write lock map };
+
+# Read /proc/pid data for all domains. This is used by ProcessCpuTracker
+# within system_server to keep track of memory and CPU usage for
+# all processes on the device. In addition, /proc/pid files access is needed
+# for dumping stack traces of native processes.
+
+#line 215
+allow system_server domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 215
+allow system_server domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 215
+
+
+# Write /proc/uid_cputime/remove_uid_range.
+allow system_server proc_uid_cputime_removeuid:file { { open append write lock map } getattr };
+
+# Write /proc/uid_procstat/set.
+allow system_server proc_uid_procstat_set:file { { open append write lock map } getattr };
+
+# Write to /proc/sysrq-trigger.
+allow system_server proc_sysrq:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Delete /data/misc/stats-service/ directories.
+allow system_server stats_config_data_file:dir { open read remove_name search write };
+allow system_server stats_config_data_file:file unlink;
+
+# Read metric file & upload to statsd
+allow system_server odsign_data_file:dir search;
+allow system_server odsign_metrics_file:dir { { open getattr read search ioctl lock watch watch_reads } write remove_name };
+allow system_server odsign_metrics_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+
+# Read /sys/kernel/debug/wakeup_sources.
+
+#line 236
+  allow system_server debugfs_wakeup_sources:file { getattr open read ioctl lock map watch watch_reads };
+#line 238
+
+
+# Read /sys/kernel/ion/*.
+allow system_server sysfs_ion:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /sys/kernel/dma_heap/*.
+allow system_server sysfs_dma_heap:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /sys/kernel/mm/cma/*.
+
+#line 247
+allow system_server sysfs_cma:file { getattr open read ioctl lock map watch watch_reads };
+#line 249
+
+
+# Allow reading DMA-BUF sysfs stats from /sys/kernel/dmabuf.
+allow system_server sysfs_dmabuf_stats:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server sysfs_dmabuf_stats:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow ActivityManager to look at the list of DMA-BUF heaps from /dev/dma_heap
+# for dumpsys meminfo
+allow system_server dmabuf_heap_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow reading /proc/vmstat for the oom kill count
+allow system_server proc_vmstat:file { getattr open read ioctl lock map watch watch_reads };
+
+# The DhcpClient and WifiWatchdog use packet_sockets
+allow system_server self:packet_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# 3rd party VPN clients require a tun_socket to be created
+allow system_server self:tun_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+# Talk to init and various daemons via sockets.
+
+#line 269
+allow system_server lmkd_socket:sock_file write;
+#line 269
+allow system_server lmkd:unix_stream_socket connectto;
+#line 269
+
+
+#line 270
+allow system_server zygote_socket:sock_file write;
+#line 270
+allow system_server zygote:unix_stream_socket connectto;
+#line 270
+
+
+#line 271
+allow system_server uncrypt_socket:sock_file write;
+#line 271
+allow system_server uncrypt:unix_stream_socket connectto;
+#line 271
+
+
+# Allow system_server to write to statsd.
+
+#line 274
+allow system_server statsdw_socket:sock_file write;
+#line 274
+allow system_server statsd:unix_dgram_socket sendto;
+#line 274
+
+
+# Communicate over a socket created by surfaceflinger.
+allow system_server surfaceflinger:unix_stream_socket { read write setopt };
+
+allow system_server gpuservice:unix_stream_socket { read write setopt };
+
+# Communicate over a socket created by webview_zygote.
+allow system_server webview_zygote:unix_stream_socket { read write connectto setopt };
+
+# Communicate over a socket created by app_zygote.
+allow system_server app_zygote:unix_stream_socket { read write connectto setopt };
+
+# Perform Binder IPC.
+
+#line 288
+# Call the servicemanager and transfer references to it.
+#line 288
+allow system_server servicemanager:binder { call transfer };
+#line 288
+# Allow servicemanager to send out callbacks
+#line 288
+allow servicemanager system_server:binder { call transfer };
+#line 288
+# servicemanager performs getpidcon on clients.
+#line 288
+allow servicemanager system_server:dir search;
+#line 288
+allow servicemanager system_server:file { read open };
+#line 288
+allow servicemanager system_server:process getattr;
+#line 288
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 288
+# all domains in domain.te.
+#line 288
+
+
+#line 289
+# Call the server domain and optionally transfer references to it.
+#line 289
+allow system_server appdomain:binder { call transfer };
+#line 289
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 289
+allow appdomain system_server:binder transfer;
+#line 289
+# Receive and use open files from the server.
+#line 289
+allow system_server appdomain:fd use;
+#line 289
+
+
+#line 290
+# Call the server domain and optionally transfer references to it.
+#line 290
+allow system_server artd:binder { call transfer };
+#line 290
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 290
+allow artd system_server:binder transfer;
+#line 290
+# Receive and use open files from the server.
+#line 290
+allow system_server artd:fd use;
+#line 290
+
+
+#line 291
+# Call the server domain and optionally transfer references to it.
+#line 291
+allow system_server binderservicedomain:binder { call transfer };
+#line 291
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 291
+allow binderservicedomain system_server:binder transfer;
+#line 291
+# Receive and use open files from the server.
+#line 291
+allow system_server binderservicedomain:fd use;
+#line 291
+
+
+#line 292
+# Call the server domain and optionally transfer references to it.
+#line 292
+allow system_server composd:binder { call transfer };
+#line 292
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 292
+allow composd system_server:binder transfer;
+#line 292
+# Receive and use open files from the server.
+#line 292
+allow system_server composd:fd use;
+#line 292
+
+
+#line 293
+# Call the server domain and optionally transfer references to it.
+#line 293
+allow system_server dexopt_chroot_setup:binder { call transfer };
+#line 293
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 293
+allow dexopt_chroot_setup system_server:binder transfer;
+#line 293
+# Receive and use open files from the server.
+#line 293
+allow system_server dexopt_chroot_setup:fd use;
+#line 293
+
+
+#line 294
+# Call the server domain and optionally transfer references to it.
+#line 294
+allow system_server dumpstate:binder { call transfer };
+#line 294
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 294
+allow dumpstate system_server:binder transfer;
+#line 294
+# Receive and use open files from the server.
+#line 294
+allow system_server dumpstate:fd use;
+#line 294
+
+
+#line 295
+# Call the server domain and optionally transfer references to it.
+#line 295
+allow system_server fingerprintd:binder { call transfer };
+#line 295
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 295
+allow fingerprintd system_server:binder transfer;
+#line 295
+# Receive and use open files from the server.
+#line 295
+allow system_server fingerprintd:fd use;
+#line 295
+
+
+#line 296
+# Call the server domain and optionally transfer references to it.
+#line 296
+allow system_server gatekeeperd:binder { call transfer };
+#line 296
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 296
+allow gatekeeperd system_server:binder transfer;
+#line 296
+# Receive and use open files from the server.
+#line 296
+allow system_server gatekeeperd:fd use;
+#line 296
+
+
+#line 297
+# Call the server domain and optionally transfer references to it.
+#line 297
+allow system_server gpuservice:binder { call transfer };
+#line 297
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 297
+allow gpuservice system_server:binder transfer;
+#line 297
+# Receive and use open files from the server.
+#line 297
+allow system_server gpuservice:fd use;
+#line 297
+
+
+#line 298
+# Call the server domain and optionally transfer references to it.
+#line 298
+allow system_server idmap:binder { call transfer };
+#line 298
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 298
+allow idmap system_server:binder transfer;
+#line 298
+# Receive and use open files from the server.
+#line 298
+allow system_server idmap:fd use;
+#line 298
+
+
+#line 299
+# Call the server domain and optionally transfer references to it.
+#line 299
+allow system_server installd:binder { call transfer };
+#line 299
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 299
+allow installd system_server:binder transfer;
+#line 299
+# Receive and use open files from the server.
+#line 299
+allow system_server installd:fd use;
+#line 299
+
+
+#line 300
+# Call the server domain and optionally transfer references to it.
+#line 300
+allow system_server incidentd:binder { call transfer };
+#line 300
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 300
+allow incidentd system_server:binder transfer;
+#line 300
+# Receive and use open files from the server.
+#line 300
+allow system_server incidentd:fd use;
+#line 300
+
+
+#line 301
+# Call the server domain and optionally transfer references to it.
+#line 301
+allow system_server mmd:binder { call transfer };
+#line 301
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 301
+allow mmd system_server:binder transfer;
+#line 301
+# Receive and use open files from the server.
+#line 301
+allow system_server mmd:fd use;
+#line 301
+
+
+#line 302
+# Call the server domain and optionally transfer references to it.
+#line 302
+allow system_server netd:binder { call transfer };
+#line 302
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 302
+allow netd system_server:binder transfer;
+#line 302
+# Receive and use open files from the server.
+#line 302
+allow system_server netd:fd use;
+#line 302
+
+
+#line 303
+# Call the server domain and optionally transfer references to it.
+#line 303
+allow system_server ot_daemon:binder { call transfer };
+#line 303
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 303
+allow ot_daemon system_server:binder transfer;
+#line 303
+# Receive and use open files from the server.
+#line 303
+allow system_server ot_daemon:fd use;
+#line 303
+
+
+
+#line 305
+# Call the server domain and optionally transfer references to it.
+#line 305
+allow system_server statsd:binder { call transfer };
+#line 305
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 305
+allow statsd system_server:binder transfer;
+#line 305
+# Receive and use open files from the server.
+#line 305
+allow system_server statsd:fd use;
+#line 305
+
+
+#line 306
+# Call the server domain and optionally transfer references to it.
+#line 306
+allow system_server storaged:binder { call transfer };
+#line 306
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 306
+allow storaged system_server:binder transfer;
+#line 306
+# Receive and use open files from the server.
+#line 306
+allow system_server storaged:fd use;
+#line 306
+
+
+#line 307
+# Call the server domain and optionally transfer references to it.
+#line 307
+allow system_server update_engine:binder { call transfer };
+#line 307
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 307
+allow update_engine system_server:binder transfer;
+#line 307
+# Receive and use open files from the server.
+#line 307
+allow system_server update_engine:fd use;
+#line 307
+
+
+#line 308
+# Call the server domain and optionally transfer references to it.
+#line 308
+allow system_server virtual_camera:binder { call transfer };
+#line 308
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 308
+allow virtual_camera system_server:binder transfer;
+#line 308
+# Receive and use open files from the server.
+#line 308
+allow system_server virtual_camera:fd use;
+#line 308
+
+
+#line 309
+# Call the server domain and optionally transfer references to it.
+#line 309
+allow system_server vold:binder { call transfer };
+#line 309
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 309
+allow vold system_server:binder transfer;
+#line 309
+# Receive and use open files from the server.
+#line 309
+allow system_server vold:fd use;
+#line 309
+
+
+#line 310
+# Call the server domain and optionally transfer references to it.
+#line 310
+allow system_server logd:binder { call transfer };
+#line 310
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 310
+allow logd system_server:binder transfer;
+#line 310
+# Receive and use open files from the server.
+#line 310
+allow system_server logd:fd use;
+#line 310
+
+
+#line 311
+# Call the server domain and optionally transfer references to it.
+#line 311
+allow system_server wificond:binder { call transfer };
+#line 311
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 311
+allow wificond system_server:binder transfer;
+#line 311
+# Receive and use open files from the server.
+#line 311
+allow system_server wificond:fd use;
+#line 311
+
+
+#line 312
+# Call the server domain and optionally transfer references to it.
+#line 312
+allow system_server uprobestats:binder { call transfer };
+#line 312
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 312
+allow uprobestats system_server:binder transfer;
+#line 312
+# Receive and use open files from the server.
+#line 312
+allow system_server uprobestats:fd use;
+#line 312
+
+
+#line 313
+# Call the server domain and optionally transfer references to it.
+#line 313
+allow system_server wifi_mainline_supplicant:binder { call transfer };
+#line 313
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 313
+allow wifi_mainline_supplicant system_server:binder transfer;
+#line 313
+# Receive and use open files from the server.
+#line 313
+allow system_server wifi_mainline_supplicant:fd use;
+#line 313
+
+
+#line 314
+typeattribute system_server binderservicedomain;
+#line 314
+
+
+# Use HALs
+
+#line 317
+typeattribute system_server halclientdomain;
+#line 317
+typeattribute system_server hal_allocator_client;
+#line 317
+
+#line 317
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 317
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 317
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 317
+
+#line 317
+typeattribute system_server hal_allocator;
+#line 317
+# Find passthrough HAL implementations
+#line 317
+allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 317
+allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 317
+allow hal_allocator vendor_file:file { read open getattr execute map };
+#line 317
+
+#line 317
+
+
+#line 318
+typeattribute system_server halclientdomain;
+#line 318
+typeattribute system_server hal_audio_client;
+#line 318
+
+#line 318
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 318
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 318
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 318
+
+#line 318
+typeattribute system_server hal_audio;
+#line 318
+# Find passthrough HAL implementations
+#line 318
+allow hal_audio system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 318
+allow hal_audio vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 318
+allow hal_audio vendor_file:file { read open getattr execute map };
+#line 318
+
+#line 318
+
+
+#line 319
+typeattribute system_server halclientdomain;
+#line 319
+typeattribute system_server hal_authgraph_client;
+#line 319
+
+#line 319
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 319
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 319
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 319
+
+#line 319
+typeattribute system_server hal_authgraph;
+#line 319
+# Find passthrough HAL implementations
+#line 319
+allow hal_authgraph system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 319
+allow hal_authgraph vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 319
+allow hal_authgraph vendor_file:file { read open getattr execute map };
+#line 319
+
+#line 319
+
+
+#line 320
+typeattribute system_server halclientdomain;
+#line 320
+typeattribute system_server hal_authsecret_client;
+#line 320
+
+#line 320
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 320
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 320
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 320
+
+#line 320
+typeattribute system_server hal_authsecret;
+#line 320
+# Find passthrough HAL implementations
+#line 320
+allow hal_authsecret system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 320
+allow hal_authsecret vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 320
+allow hal_authsecret vendor_file:file { read open getattr execute map };
+#line 320
+
+#line 320
+
+
+#line 321
+typeattribute system_server halclientdomain;
+#line 321
+typeattribute system_server hal_bluetooth_client;
+#line 321
+
+#line 321
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 321
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 321
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 321
+
+#line 321
+typeattribute system_server hal_bluetooth;
+#line 321
+# Find passthrough HAL implementations
+#line 321
+allow hal_bluetooth system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 321
+allow hal_bluetooth vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 321
+allow hal_bluetooth vendor_file:file { read open getattr execute map };
+#line 321
+
+#line 321
+
+
+#line 322
+typeattribute system_server halclientdomain;
+#line 322
+typeattribute system_server hal_broadcastradio_client;
+#line 322
+
+#line 322
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 322
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 322
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 322
+
+#line 322
+typeattribute system_server hal_broadcastradio;
+#line 322
+# Find passthrough HAL implementations
+#line 322
+allow hal_broadcastradio system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 322
+allow hal_broadcastradio vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 322
+allow hal_broadcastradio vendor_file:file { read open getattr execute map };
+#line 322
+
+#line 322
+
+
+#line 323
+typeattribute system_server halclientdomain;
+#line 323
+typeattribute system_server hal_codec2_client;
+#line 323
+
+#line 323
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 323
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 323
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 323
+
+#line 323
+typeattribute system_server hal_codec2;
+#line 323
+# Find passthrough HAL implementations
+#line 323
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 323
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 323
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 323
+
+#line 323
+
+
+#line 324
+typeattribute system_server halclientdomain;
+#line 324
+typeattribute system_server hal_configstore_client;
+#line 324
+
+#line 324
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 324
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 324
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 324
+
+#line 324
+typeattribute system_server hal_configstore;
+#line 324
+# Find passthrough HAL implementations
+#line 324
+allow hal_configstore system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 324
+allow hal_configstore vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 324
+allow hal_configstore vendor_file:file { read open getattr execute map };
+#line 324
+
+#line 324
+
+
+#line 325
+typeattribute system_server halclientdomain;
+#line 325
+typeattribute system_server hal_contexthub_client;
+#line 325
+
+#line 325
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 325
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 325
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 325
+
+#line 325
+typeattribute system_server hal_contexthub;
+#line 325
+# Find passthrough HAL implementations
+#line 325
+allow hal_contexthub system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 325
+allow hal_contexthub vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 325
+allow hal_contexthub vendor_file:file { read open getattr execute map };
+#line 325
+
+#line 325
+
+
+#line 326
+typeattribute system_server halclientdomain;
+#line 326
+typeattribute system_server hal_face_client;
+#line 326
+
+#line 326
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 326
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 326
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 326
+
+#line 326
+typeattribute system_server hal_face;
+#line 326
+# Find passthrough HAL implementations
+#line 326
+allow hal_face system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 326
+allow hal_face vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 326
+allow hal_face vendor_file:file { read open getattr execute map };
+#line 326
+
+#line 326
+
+
+#line 327
+typeattribute system_server halclientdomain;
+#line 327
+typeattribute system_server hal_fingerprint_client;
+#line 327
+
+#line 327
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 327
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 327
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 327
+
+#line 327
+typeattribute system_server hal_fingerprint;
+#line 327
+# Find passthrough HAL implementations
+#line 327
+allow hal_fingerprint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 327
+allow hal_fingerprint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 327
+allow hal_fingerprint vendor_file:file { read open getattr execute map };
+#line 327
+
+#line 327
+
+
+#line 328
+typeattribute system_server halclientdomain;
+#line 328
+typeattribute system_server hal_gnss_client;
+#line 328
+
+#line 328
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 328
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 328
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 328
+
+#line 328
+typeattribute system_server hal_gnss;
+#line 328
+# Find passthrough HAL implementations
+#line 328
+allow hal_gnss system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 328
+allow hal_gnss vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 328
+allow hal_gnss vendor_file:file { read open getattr execute map };
+#line 328
+
+#line 328
+
+
+#line 329
+typeattribute system_server halclientdomain;
+#line 329
+typeattribute system_server hal_graphics_allocator_client;
+#line 329
+
+#line 329
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 329
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 329
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 329
+
+#line 329
+typeattribute system_server hal_graphics_allocator;
+#line 329
+# Find passthrough HAL implementations
+#line 329
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 329
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 329
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 329
+
+#line 329
+
+
+#line 330
+typeattribute system_server halclientdomain;
+#line 330
+typeattribute system_server hal_health_client;
+#line 330
+
+#line 330
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 330
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 330
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 330
+
+#line 330
+typeattribute system_server hal_health;
+#line 330
+# Find passthrough HAL implementations
+#line 330
+allow hal_health system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 330
+allow hal_health vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 330
+allow hal_health vendor_file:file { read open getattr execute map };
+#line 330
+
+#line 330
+
+
+#line 331
+typeattribute system_server halclientdomain;
+#line 331
+typeattribute system_server hal_input_classifier_client;
+#line 331
+
+#line 331
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 331
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 331
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 331
+
+#line 331
+typeattribute system_server hal_input_classifier;
+#line 331
+# Find passthrough HAL implementations
+#line 331
+allow hal_input_classifier system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 331
+allow hal_input_classifier vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 331
+allow hal_input_classifier vendor_file:file { read open getattr execute map };
+#line 331
+
+#line 331
+
+
+#line 332
+typeattribute system_server halclientdomain;
+#line 332
+typeattribute system_server hal_input_processor_client;
+#line 332
+
+#line 332
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 332
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 332
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 332
+
+#line 332
+typeattribute system_server hal_input_processor;
+#line 332
+# Find passthrough HAL implementations
+#line 332
+allow hal_input_processor system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 332
+allow hal_input_processor vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 332
+allow hal_input_processor vendor_file:file { read open getattr execute map };
+#line 332
+
+#line 332
+
+
+#line 333
+typeattribute system_server halclientdomain;
+#line 333
+typeattribute system_server hal_ir_client;
+#line 333
+
+#line 333
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 333
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 333
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 333
+
+#line 333
+typeattribute system_server hal_ir;
+#line 333
+# Find passthrough HAL implementations
+#line 333
+allow hal_ir system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 333
+allow hal_ir vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 333
+allow hal_ir vendor_file:file { read open getattr execute map };
+#line 333
+
+#line 333
+
+
+#line 334
+typeattribute system_server halclientdomain;
+#line 334
+typeattribute system_server hal_keymint_client;
+#line 334
+
+#line 334
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 334
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 334
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 334
+
+#line 334
+typeattribute system_server hal_keymint;
+#line 334
+# Find passthrough HAL implementations
+#line 334
+allow hal_keymint system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 334
+allow hal_keymint vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 334
+allow hal_keymint vendor_file:file { read open getattr execute map };
+#line 334
+
+#line 334
+
+
+#line 335
+typeattribute system_server halclientdomain;
+#line 335
+typeattribute system_server hal_light_client;
+#line 335
+
+#line 335
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 335
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 335
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 335
+
+#line 335
+typeattribute system_server hal_light;
+#line 335
+# Find passthrough HAL implementations
+#line 335
+allow hal_light system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 335
+allow hal_light vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 335
+allow hal_light vendor_file:file { read open getattr execute map };
+#line 335
+
+#line 335
+
+
+#line 336
+typeattribute system_server halclientdomain;
+#line 336
+typeattribute system_server hal_mediaquality_client;
+#line 336
+
+#line 336
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 336
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 336
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 336
+
+#line 336
+typeattribute system_server hal_mediaquality;
+#line 336
+# Find passthrough HAL implementations
+#line 336
+allow hal_mediaquality system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 336
+allow hal_mediaquality vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 336
+allow hal_mediaquality vendor_file:file { read open getattr execute map };
+#line 336
+
+#line 336
+
+
+#line 337
+typeattribute system_server halclientdomain;
+#line 337
+typeattribute system_server hal_memtrack_client;
+#line 337
+
+#line 337
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 337
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 337
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 337
+
+#line 337
+typeattribute system_server hal_memtrack;
+#line 337
+# Find passthrough HAL implementations
+#line 337
+allow hal_memtrack system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 337
+allow hal_memtrack vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 337
+allow hal_memtrack vendor_file:file { read open getattr execute map };
+#line 337
+
+#line 337
+
+
+#line 338
+typeattribute system_server halclientdomain;
+#line 338
+typeattribute system_server hal_neuralnetworks_client;
+#line 338
+
+#line 338
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 338
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 338
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 338
+
+#line 338
+typeattribute system_server hal_neuralnetworks;
+#line 338
+# Find passthrough HAL implementations
+#line 338
+allow hal_neuralnetworks system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 338
+allow hal_neuralnetworks vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 338
+allow hal_neuralnetworks vendor_file:file { read open getattr execute map };
+#line 338
+
+#line 338
+
+
+#line 339
+typeattribute system_server halclientdomain;
+#line 339
+typeattribute system_server hal_oemlock_client;
+#line 339
+
+#line 339
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 339
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 339
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 339
+
+#line 339
+typeattribute system_server hal_oemlock;
+#line 339
+# Find passthrough HAL implementations
+#line 339
+allow hal_oemlock system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 339
+allow hal_oemlock vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 339
+allow hal_oemlock vendor_file:file { read open getattr execute map };
+#line 339
+
+#line 339
+
+
+#line 340
+typeattribute system_server halclientdomain;
+#line 340
+typeattribute system_server hal_omx_client;
+#line 340
+
+#line 340
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 340
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 340
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 340
+
+#line 340
+typeattribute system_server hal_omx;
+#line 340
+# Find passthrough HAL implementations
+#line 340
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 340
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 340
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 340
+
+#line 340
+
+
+#line 341
+typeattribute system_server halclientdomain;
+#line 341
+typeattribute system_server hal_power_client;
+#line 341
+
+#line 341
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 341
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 341
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 341
+
+#line 341
+typeattribute system_server hal_power;
+#line 341
+# Find passthrough HAL implementations
+#line 341
+allow hal_power system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 341
+allow hal_power vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 341
+allow hal_power vendor_file:file { read open getattr execute map };
+#line 341
+
+#line 341
+
+
+#line 342
+typeattribute system_server halclientdomain;
+#line 342
+typeattribute system_server hal_power_stats_client;
+#line 342
+
+#line 342
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 342
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 342
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 342
+
+#line 342
+typeattribute system_server hal_power_stats;
+#line 342
+# Find passthrough HAL implementations
+#line 342
+allow hal_power_stats system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 342
+allow hal_power_stats vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 342
+allow hal_power_stats vendor_file:file { read open getattr execute map };
+#line 342
+
+#line 342
+
+
+#line 343
+typeattribute system_server halclientdomain;
+#line 343
+typeattribute system_server hal_rebootescrow_client;
+#line 343
+
+#line 343
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 343
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 343
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 343
+
+#line 343
+typeattribute system_server hal_rebootescrow;
+#line 343
+# Find passthrough HAL implementations
+#line 343
+allow hal_rebootescrow system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 343
+allow hal_rebootescrow vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 343
+allow hal_rebootescrow vendor_file:file { read open getattr execute map };
+#line 343
+
+#line 343
+
+
+#line 344
+typeattribute system_server halclientdomain;
+#line 344
+typeattribute system_server hal_remotelyprovisionedcomponent_avf_client;
+#line 344
+
+#line 344
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 344
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 344
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 344
+
+#line 344
+typeattribute system_server hal_remotelyprovisionedcomponent_avf;
+#line 344
+# Find passthrough HAL implementations
+#line 344
+allow hal_remotelyprovisionedcomponent_avf system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 344
+allow hal_remotelyprovisionedcomponent_avf vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 344
+allow hal_remotelyprovisionedcomponent_avf vendor_file:file { read open getattr execute map };
+#line 344
+
+#line 344
+
+
+#line 345
+typeattribute system_server halclientdomain;
+#line 345
+typeattribute system_server hal_sensors_client;
+#line 345
+
+#line 345
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 345
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 345
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 345
+
+#line 345
+typeattribute system_server hal_sensors;
+#line 345
+# Find passthrough HAL implementations
+#line 345
+allow hal_sensors system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 345
+allow hal_sensors vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 345
+allow hal_sensors vendor_file:file { read open getattr execute map };
+#line 345
+
+#line 345
+
+
+#line 346
+typeattribute system_server halclientdomain;
+#line 346
+typeattribute system_server hal_secretkeeper_client;
+#line 346
+
+#line 346
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 346
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 346
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 346
+
+#line 346
+typeattribute system_server hal_secretkeeper;
+#line 346
+# Find passthrough HAL implementations
+#line 346
+allow hal_secretkeeper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 346
+allow hal_secretkeeper vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 346
+allow hal_secretkeeper vendor_file:file { read open getattr execute map };
+#line 346
+
+#line 346
+
+
+#line 347
+typeattribute system_server halclientdomain;
+#line 347
+typeattribute system_server hal_tetheroffload_client;
+#line 347
+
+#line 347
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 347
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 347
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 347
+
+#line 347
+typeattribute system_server hal_tetheroffload;
+#line 347
+# Find passthrough HAL implementations
+#line 347
+allow hal_tetheroffload system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 347
+allow hal_tetheroffload vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 347
+allow hal_tetheroffload vendor_file:file { read open getattr execute map };
+#line 347
+
+#line 347
+
+
+#line 348
+typeattribute system_server halclientdomain;
+#line 348
+typeattribute system_server hal_thermal_client;
+#line 348
+
+#line 348
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 348
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 348
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 348
+
+#line 348
+typeattribute system_server hal_thermal;
+#line 348
+# Find passthrough HAL implementations
+#line 348
+allow hal_thermal system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 348
+allow hal_thermal vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 348
+allow hal_thermal vendor_file:file { read open getattr execute map };
+#line 348
+
+#line 348
+
+
+#line 349
+typeattribute system_server halclientdomain;
+#line 349
+typeattribute system_server hal_threadnetwork_client;
+#line 349
+
+#line 349
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 349
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 349
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 349
+
+#line 349
+typeattribute system_server hal_threadnetwork;
+#line 349
+# Find passthrough HAL implementations
+#line 349
+allow hal_threadnetwork system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 349
+allow hal_threadnetwork vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 349
+allow hal_threadnetwork vendor_file:file { read open getattr execute map };
+#line 349
+
+#line 349
+
+
+#line 350
+typeattribute system_server halclientdomain;
+#line 350
+typeattribute system_server hal_tv_cec_client;
+#line 350
+
+#line 350
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 350
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 350
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 350
+
+#line 350
+typeattribute system_server hal_tv_cec;
+#line 350
+# Find passthrough HAL implementations
+#line 350
+allow hal_tv_cec system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 350
+allow hal_tv_cec vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 350
+allow hal_tv_cec vendor_file:file { read open getattr execute map };
+#line 350
+
+#line 350
+
+
+#line 351
+typeattribute system_server halclientdomain;
+#line 351
+typeattribute system_server hal_tv_hdmi_cec_client;
+#line 351
+
+#line 351
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 351
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 351
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 351
+
+#line 351
+typeattribute system_server hal_tv_hdmi_cec;
+#line 351
+# Find passthrough HAL implementations
+#line 351
+allow hal_tv_hdmi_cec system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 351
+allow hal_tv_hdmi_cec vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 351
+allow hal_tv_hdmi_cec vendor_file:file { read open getattr execute map };
+#line 351
+
+#line 351
+
+
+#line 352
+typeattribute system_server halclientdomain;
+#line 352
+typeattribute system_server hal_tv_hdmi_connection_client;
+#line 352
+
+#line 352
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 352
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 352
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 352
+
+#line 352
+typeattribute system_server hal_tv_hdmi_connection;
+#line 352
+# Find passthrough HAL implementations
+#line 352
+allow hal_tv_hdmi_connection system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 352
+allow hal_tv_hdmi_connection vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 352
+allow hal_tv_hdmi_connection vendor_file:file { read open getattr execute map };
+#line 352
+
+#line 352
+
+
+#line 353
+typeattribute system_server halclientdomain;
+#line 353
+typeattribute system_server hal_tv_hdmi_earc_client;
+#line 353
+
+#line 353
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 353
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 353
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 353
+
+#line 353
+typeattribute system_server hal_tv_hdmi_earc;
+#line 353
+# Find passthrough HAL implementations
+#line 353
+allow hal_tv_hdmi_earc system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 353
+allow hal_tv_hdmi_earc vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 353
+allow hal_tv_hdmi_earc vendor_file:file { read open getattr execute map };
+#line 353
+
+#line 353
+
+
+#line 354
+typeattribute system_server halclientdomain;
+#line 354
+typeattribute system_server hal_tv_input_client;
+#line 354
+
+#line 354
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 354
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 354
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 354
+
+#line 354
+typeattribute system_server hal_tv_input;
+#line 354
+# Find passthrough HAL implementations
+#line 354
+allow hal_tv_input system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 354
+allow hal_tv_input vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 354
+allow hal_tv_input vendor_file:file { read open getattr execute map };
+#line 354
+
+#line 354
+
+
+#line 355
+typeattribute system_server halclientdomain;
+#line 355
+typeattribute system_server hal_usb_client;
+#line 355
+
+#line 355
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 355
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 355
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 355
+
+#line 355
+typeattribute system_server hal_usb;
+#line 355
+# Find passthrough HAL implementations
+#line 355
+allow hal_usb system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 355
+allow hal_usb vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 355
+allow hal_usb vendor_file:file { read open getattr execute map };
+#line 355
+
+#line 355
+
+
+#line 356
+typeattribute system_server halclientdomain;
+#line 356
+typeattribute system_server hal_usb_gadget_client;
+#line 356
+
+#line 356
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 356
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 356
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 356
+
+#line 356
+typeattribute system_server hal_usb_gadget;
+#line 356
+# Find passthrough HAL implementations
+#line 356
+allow hal_usb_gadget system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 356
+allow hal_usb_gadget vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 356
+allow hal_usb_gadget vendor_file:file { read open getattr execute map };
+#line 356
+
+#line 356
+
+
+#line 357
+typeattribute system_server halclientdomain;
+#line 357
+typeattribute system_server hal_uwb_client;
+#line 357
+
+#line 357
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 357
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 357
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 357
+
+#line 357
+typeattribute system_server hal_uwb;
+#line 357
+# Find passthrough HAL implementations
+#line 357
+allow hal_uwb system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 357
+allow hal_uwb vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 357
+allow hal_uwb vendor_file:file { read open getattr execute map };
+#line 357
+
+#line 357
+
+
+#line 358
+typeattribute system_server halclientdomain;
+#line 358
+typeattribute system_server hal_vibrator_client;
+#line 358
+
+#line 358
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 358
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 358
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 358
+
+#line 358
+typeattribute system_server hal_vibrator;
+#line 358
+# Find passthrough HAL implementations
+#line 358
+allow hal_vibrator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 358
+allow hal_vibrator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 358
+allow hal_vibrator vendor_file:file { read open getattr execute map };
+#line 358
+
+#line 358
+
+
+#line 359
+typeattribute system_server halclientdomain;
+#line 359
+typeattribute system_server hal_vr_client;
+#line 359
+
+#line 359
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 359
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 359
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 359
+
+#line 359
+typeattribute system_server hal_vr;
+#line 359
+# Find passthrough HAL implementations
+#line 359
+allow hal_vr system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 359
+allow hal_vr vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 359
+allow hal_vr vendor_file:file { read open getattr execute map };
+#line 359
+
+#line 359
+
+
+#line 360
+typeattribute system_server halclientdomain;
+#line 360
+typeattribute system_server hal_weaver_client;
+#line 360
+
+#line 360
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 360
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 360
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 360
+
+#line 360
+typeattribute system_server hal_weaver;
+#line 360
+# Find passthrough HAL implementations
+#line 360
+allow hal_weaver system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 360
+allow hal_weaver vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 360
+allow hal_weaver vendor_file:file { read open getattr execute map };
+#line 360
+
+#line 360
+
+
+#line 361
+typeattribute system_server halclientdomain;
+#line 361
+typeattribute system_server hal_wifi_client;
+#line 361
+
+#line 361
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 361
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 361
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 361
+
+#line 361
+typeattribute system_server hal_wifi;
+#line 361
+# Find passthrough HAL implementations
+#line 361
+allow hal_wifi system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 361
+allow hal_wifi vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 361
+allow hal_wifi vendor_file:file { read open getattr execute map };
+#line 361
+
+#line 361
+
+
+#line 362
+typeattribute system_server halclientdomain;
+#line 362
+typeattribute system_server hal_wifi_hostapd_client;
+#line 362
+
+#line 362
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 362
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 362
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 362
+
+#line 362
+typeattribute system_server hal_wifi_hostapd;
+#line 362
+# Find passthrough HAL implementations
+#line 362
+allow hal_wifi_hostapd system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 362
+allow hal_wifi_hostapd vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 362
+allow hal_wifi_hostapd vendor_file:file { read open getattr execute map };
+#line 362
+
+#line 362
+
+
+#line 363
+typeattribute system_server halclientdomain;
+#line 363
+typeattribute system_server hal_wifi_supplicant_client;
+#line 363
+
+#line 363
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 363
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 363
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 363
+
+#line 363
+typeattribute system_server hal_wifi_supplicant;
+#line 363
+# Find passthrough HAL implementations
+#line 363
+allow hal_wifi_supplicant system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 363
+allow hal_wifi_supplicant vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 363
+allow hal_wifi_supplicant vendor_file:file { read open getattr execute map };
+#line 363
+
+#line 363
+
+# The bootctl is a pass through HAL mode under recovery mode. So we skip the
+# permission for recovery in order not to give system server the access to
+# the low level block devices.
+
+#line 367
+typeattribute system_server halclientdomain;
+#line 367
+typeattribute system_server hal_bootctl_client;
+#line 367
+
+#line 367
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 367
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 367
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 367
+
+#line 367
+typeattribute system_server hal_bootctl;
+#line 367
+# Find passthrough HAL implementations
+#line 367
+allow hal_bootctl system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 367
+allow hal_bootctl vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 367
+allow hal_bootctl vendor_file:file { read open getattr execute map };
+#line 367
+
+#line 367
+
+
+# Talk with graphics composer fences
+allow system_server hal_graphics_composer:fd use;
+
+# Use RenderScript always-passthrough HAL
+allow system_server hal_renderscript_hwservice:hwservice_manager find;
+allow system_server same_process_hal_file:file { execute read open getattr map };
+
+# Talk to tombstoned to get ANR traces.
+
+#line 377
+allow system_server tombstoned_intercept_socket:sock_file write;
+#line 377
+allow system_server tombstoned:unix_stream_socket connectto;
+#line 377
+
+
+# List HAL interfaces to get ANR traces.
+allow system_server hwservicemanager:hwservice_manager list;
+allow system_server servicemanager:service_manager list;
+
+# Send signals to trigger ANR traces.
+allow system_server {
+  # This is derived from the list that system server defines as interesting native processes
+  # to dump during ANRs or watchdog aborts, defined in NATIVE_STACKS_OF_INTEREST in
+  # frameworks/base/services/core/java/com/android/server/Watchdog.java.
+  artd
+  audioserver
+  cameraserver
+  drmserver
+  gpuservice
+  inputflinger
+  keystore
+  mediadrmserver
+  mediaextractor
+  mediametrics
+  mediaserver
+  mediaswcodec
+  mediatranscoding
+  mediatuner
+  mmd
+  netd
+  sdcardd
+  servicemanager
+  statsd
+  surfaceflinger
+  vold
+
+  # This list comes from HAL_INTERFACES_OF_INTEREST in
+  # frameworks/base/services/core/java/com/android/server/Watchdog.java.
+  hal_audio_server
+  hal_bluetooth_server
+  hal_camera_server
+  hal_codec2_server
+  hal_drm_server
+  hal_face_server
+  hal_fingerprint_server
+  hal_gnss_server
+  hal_graphics_allocator_server
+  hal_graphics_composer_server
+  hal_health_server
+  hal_input_processor_server
+  hal_light_server
+  hal_neuralnetworks_server
+  hal_omx_server
+  hal_power_server
+  hal_power_stats_server
+  hal_sensors_server
+  hal_vibrator_server
+  hal_vr_server
+  hal_wifi_hostapd_server
+  hal_wifi_server
+  hal_wifi_supplicant_server
+  system_suspend_server
+}:process { signal };
+
+# Use sockets received over binder from various services.
+allow system_server audioserver:tcp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+allow system_server audioserver:udp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+allow system_server mediaserver:tcp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+allow system_server mediaserver:udp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+
+# Use sockets received over binder from various services.
+allow system_server mediadrmserver:tcp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+allow system_server mediadrmserver:udp_socket { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map };
+
+# Write trace data to the Perfetto traced daemon. This requires connecting to
+# its producer socket and obtaining a (per-process) tmpfs fd.
+
+#line 450
+  allow system_server traced:fd use;
+#line 450
+  allow system_server traced_tmpfs:file { read write getattr map };
+#line 450
+  
+#line 450
+allow system_server traced_producer_socket:sock_file write;
+#line 450
+allow system_server traced:unix_stream_socket connectto;
+#line 450
+
+#line 450
+
+#line 450
+  # Also allow the service to use the producer file descriptors. This is
+#line 450
+  # necessary when the producer is creating the shared memory, as it will be
+#line 450
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 450
+  allow traced system_server:fd use;
+#line 450
+
+
+# Get file context
+allow system_server file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+# access for mac_permissions
+allow system_server mac_perms_file: file { getattr open read ioctl lock map watch watch_reads };
+# Check SELinux permissions.
+
+#line 457
+
+#line 457
+allow system_server selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 457
+allow system_server selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 457
+
+#line 457
+allow system_server selinuxfs:file { open append write lock map };
+#line 457
+allow system_server kernel:security compute_av;
+#line 457
+allow system_server self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 457
+
+
+allow system_server sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+
+
+#line 461
+allow system_server sysfs_android_usb:dir { open getattr read search ioctl lock watch watch_reads };
+#line 461
+allow system_server sysfs_android_usb:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 461
+
+allow system_server sysfs_android_usb:file { open append write lock map };
+
+
+#line 464
+allow system_server sysfs_extcon:dir { open getattr read search ioctl lock watch watch_reads };
+#line 464
+allow system_server sysfs_extcon:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 464
+
+
+
+#line 466
+allow system_server sysfs_ipv4:dir { open getattr read search ioctl lock watch watch_reads };
+#line 466
+allow system_server sysfs_ipv4:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 466
+
+allow system_server sysfs_ipv4:file { open append write lock map };
+
+
+#line 469
+allow system_server sysfs_rtc:dir { open getattr read search ioctl lock watch watch_reads };
+#line 469
+allow system_server sysfs_rtc:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 469
+
+
+#line 470
+allow system_server sysfs_switch:dir { open getattr read search ioctl lock watch watch_reads };
+#line 470
+allow system_server sysfs_switch:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 470
+
+
+allow system_server sysfs_nfc_power_writable:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server sysfs_power:dir search;
+allow system_server sysfs_power:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server sysfs_thermal:dir search;
+allow system_server sysfs_thermal:file { getattr open read ioctl lock map watch watch_reads };
+allow system_server sysfs_uhid:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server sysfs_uhid:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# TODO: Remove when HALs are forced into separate processes
+allow system_server sysfs_vibrator:file { write append };
+
+# TODO: added to match above sysfs rule. Remove me?
+allow system_server sysfs_usb:file { open append write lock map };
+
+# Access devices.
+allow system_server device:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server mdns_socket:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server sysfs_gpu:file { getattr open read ioctl lock map watch watch_reads };
+allow system_server input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server input_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server usbaccessory_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server video_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server video_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server adbd_socket:sock_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server rtc_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server audio_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server uhid_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server hidraw_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server hidraw_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# write access to ALSA interfaces (/dev/snd/*) needed for MIDI
+allow system_server audio_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# tun device used for 3rd party vpn apps and test network manager
+allow system_server tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm system_server tun_device:chr_file ioctl { 0x800454d2 0x400454ca 0x400454cd 0x400454e2 };
+
+# Manage data/ota_package
+allow system_server ota_package_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server ota_package_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage system data files.
+allow system_server system_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server system_data_file:{ file lnk_file sock_file fifo_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server packages_list_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server game_mode_intervention_list_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server keychain_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server keychain_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server keychain_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read the user parent directories like /data/user.  Don't allow write access,
+# as vold is responsible for creating and deleting the subdirectories.
+allow system_server system_userdir_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Manage /data/app.
+allow system_server apk_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apk_data_file:{ file lnk_file } { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } link };
+allow system_server apk_tmp_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apk_tmp_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/app-metadata
+allow system_server apk_metadata_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apk_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access input configuration files in the /vendor directory
+
+#line 540
+allow system_server vendor_keylayout_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 540
+allow system_server vendor_keylayout_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 540
+
+
+#line 541
+allow system_server vendor_keychars_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 541
+allow system_server vendor_keychars_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 541
+
+
+#line 542
+allow system_server vendor_idc_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 542
+allow system_server vendor_idc_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 542
+
+
+#line 543
+allow system_server input_device_config_prop:file { getattr open read map };
+#line 543
+
+
+# Access /vendor/{app,framework,overlay}
+
+#line 546
+allow system_server vendor_app_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 546
+allow system_server vendor_app_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 546
+
+
+#line 547
+allow system_server vendor_framework_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 547
+allow system_server vendor_framework_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 547
+
+
+#line 548
+allow system_server vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 548
+allow system_server vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 548
+
+
+# Manage /data/app-private.
+allow system_server apk_private_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apk_private_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server apk_private_tmp_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apk_private_tmp_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage files within asec containers.
+allow system_server asec_apk_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server asec_apk_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server asec_public_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/anr.
+#
+# TODO: Some of these permissions can be withdrawn once we've switched to the
+# new stack dumping mechanism, see b/32064548 and the rules below. In particular,
+# the system_server should never need to create a new anr_data_file:file or write
+# to one, but it will still need to read and append to existing files.
+allow system_server anr_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server anr_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# New stack dumping scheme : request an output FD from tombstoned via a unix
+# domain socket.
+#
+# Allow system_server to connect and write to the tombstoned java trace socket in
+# order to dump its traces. Also allow the system server to write its traces to
+# dumpstate during bugreport capture and incidentd during incident collection.
+
+#line 576
+allow system_server tombstoned_java_trace_socket:sock_file write;
+#line 576
+allow system_server tombstoned:unix_stream_socket connectto;
+#line 576
+
+allow system_server tombstoned:fd use;
+allow system_server dumpstate:fifo_file append;
+allow system_server incidentd:fifo_file append;
+# Write to a pipe created from `adb shell` (for debuggerd -j `pidof system_server`)
+#line 583
+
+
+# Allow system_server to read pipes from incidentd (used to deliver incident reports
+# to dropbox)
+allow system_server incidentd:fifo_file read;
+
+# Read /data/misc/incidents - only read. The fd will be sent over binder,
+# with no DAC access to it, for dropbox to read.
+allow system_server incident_data_file:file read;
+
+# Manage /data/misc/prereboot.
+allow system_server prereboot_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server prereboot_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow tracing proxy service to read traces. Only the fd is sent over
+# binder.
+allow system_server perfetto_traces_data_file:file { read getattr };
+allow system_server perfetto:fd use;
+
+# Allow system_server to exec the perfetto cmdline client and pass it a trace config
+
+#line 603
+# Allow the necessary permissions.
+#line 603
+
+#line 603
+# Old domain may exec the file and transition to the new domain.
+#line 603
+allow system_server perfetto_exec:file { getattr open read execute map };
+#line 603
+allow system_server perfetto:process transition;
+#line 603
+# New domain is entered by executing the file.
+#line 603
+allow perfetto perfetto_exec:file { entrypoint open read execute getattr map };
+#line 603
+# New domain can send SIGCHLD to its caller.
+#line 603
+allow perfetto system_server:process sigchld;
+#line 603
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 603
+dontaudit system_server perfetto:process noatsecure;
+#line 603
+# XXX dontaudit candidate but requires further study.
+#line 603
+allow system_server perfetto:process { siginh rlimitinh };
+#line 603
+
+#line 603
+# Make the transition occur by default.
+#line 603
+type_transition system_server perfetto_exec:process perfetto;
+#line 603
+;
+allow system_server perfetto:fifo_file { read write };
+
+# Allow system server to manage perfetto traces for ProfilingService.
+allow system_server perfetto_traces_profiling_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server perfetto_traces_profiling_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server perfetto_traces_data_file:dir search;
+
+# Allow system server to exec the trace redactor cmdline client and kill the process for
+# ProfilingService.
+
+#line 613
+# Allow the necessary permissions.
+#line 613
+
+#line 613
+# Old domain may exec the file and transition to the new domain.
+#line 613
+allow system_server trace_redactor_exec:file { getattr open read execute map };
+#line 613
+allow system_server trace_redactor:process transition;
+#line 613
+# New domain is entered by executing the file.
+#line 613
+allow trace_redactor trace_redactor_exec:file { entrypoint open read execute getattr map };
+#line 613
+# New domain can send SIGCHLD to its caller.
+#line 613
+allow trace_redactor system_server:process sigchld;
+#line 613
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 613
+dontaudit system_server trace_redactor:process noatsecure;
+#line 613
+# XXX dontaudit candidate but requires further study.
+#line 613
+allow system_server trace_redactor:process { siginh rlimitinh };
+#line 613
+
+#line 613
+# Make the transition occur by default.
+#line 613
+type_transition system_server trace_redactor_exec:process trace_redactor;
+#line 613
+;
+allow system_server trace_redactor:process signal;
+
+# Allow system server to kill perfetto processes for ProfilingService.
+allow system_server perfetto:process signal;
+
+# Manage /data/backup.
+allow system_server backup_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server backup_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Write to /data/system/dropbox
+allow system_server dropbox_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server dropbox_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Write to /data/system/heapdump
+allow system_server heapdump_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server heapdump_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/adb.
+allow system_server adb_keys_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server adb_keys_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/appcompat.
+allow system_server appcompat_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server appcompat_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/connectivityblobdb.
+# Specifically, for vpn and wifi to create, read and write to an sqlite database.
+allow system_server connectivityblob_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server connectivityblob_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/emergencynumberdb
+allow system_server emergency_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server emergency_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/network_watchlist
+allow system_server network_watchlist_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server network_watchlist_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/sms.
+# TODO:  Split into a separate type?
+allow system_server radio_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server radio_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/systemkeys.
+allow system_server systemkeys_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server systemkeys_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/textclassifier.
+allow system_server textclassifier_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server textclassifier_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/tombstones.
+allow system_server tombstone_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server tombstone_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/vpn.
+allow system_server vpn_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server vpn_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/misc/wifi.
+allow system_server wifi_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server wifi_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/app-staging.
+allow system_server staging_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server staging_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage /data/rollback.
+allow system_server staging_data_file:{ file lnk_file } { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } link };
+
+# Walk /data/data subdirectories.
+allow system_server app_data_file_type:dir { getattr read search };
+
+# Also permit for unlabeled /data/data subdirectories and
+# for unlabeled asec containers on upgrades from 4.2.
+allow system_server unlabeled:dir { open getattr read search ioctl lock watch watch_reads };
+# Read pkg.apk file before it has been relabeled by vold.
+allow system_server unlabeled:file { getattr open read ioctl lock map watch watch_reads };
+
+# Populate com.android.providers.settings/databases/settings.db.
+allow system_server system_app_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server system_app_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Receive and use open app data files passed over binder IPC.
+allow system_server app_data_file_type:file { getattr read write append map };
+
+# Access to /data/media for measuring disk usage.
+allow system_server media_rw_data_file:dir { search getattr open read };
+
+# Receive and use open /data/media files passed over binder IPC.
+# Also used for measuring disk usage.
+allow system_server media_rw_data_file:file { getattr read write append };
+
+# System server needs to setfscreate to packages_list_file when writing
+# /data/system/packages.list
+allow system_server system_server:process setfscreate;
+
+# Relabel apk files.
+allow system_server { apk_tmp_file apk_private_tmp_file }:{ dir file } { relabelfrom relabelto };
+allow system_server { apk_data_file apk_private_data_file }:{ dir file } { relabelfrom relabelto };
+# Allow PackageManager to:
+# 1. rename file from /data/app-staging folder to /data/app
+# 2. relabel files (linked to /data/rollback) under /data/app-staging
+# during staged apk/apex install.
+allow system_server { staging_data_file }:{ dir file } { relabelfrom relabelto };
+
+# Relabel wallpaper.
+allow system_server system_data_file:file relabelfrom;
+allow system_server wallpaper_file:file relabelto;
+allow system_server wallpaper_file:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } rename unlink };
+
+# Backup of wallpaper imagery uses temporary hard links to avoid data churn
+allow system_server { system_data_file wallpaper_file }:file link;
+
+# ShortcutManager icons
+allow system_server system_data_file:dir relabelfrom;
+allow system_server shortcut_manager_icons:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow system_server shortcut_manager_icons:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage ringtones.
+allow system_server ringtone_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow system_server ringtone_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Relabel icon file.
+allow system_server icon_file:file relabelto;
+allow system_server icon_file:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } unlink };
+
+# FingerprintService.java does a restorecon of the directory /data/system/users/[0-9]+/fpdata(/.*)?
+allow system_server system_data_file:dir relabelfrom;
+
+# server_configurable_flags_data_file is used for storing server configurable flags which
+# have been reset during current booting. system_server needs to read the data to perform related
+# disaster recovery actions.
+allow system_server server_configurable_flags_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server server_configurable_flags_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Property Service write
+
+#line 751
+
+#line 751
+allow system_server property_socket:sock_file write;
+#line 751
+allow system_server init:unix_stream_socket connectto;
+#line 751
+
+#line 751
+allow system_server system_prop:property_service set;
+#line 751
+
+#line 751
+allow system_server system_prop:file { getattr open read map };
+#line 751
+
+#line 751
+
+
+#line 752
+
+#line 752
+allow system_server property_socket:sock_file write;
+#line 752
+allow system_server init:unix_stream_socket connectto;
+#line 752
+
+#line 752
+allow system_server bootanim_system_prop:property_service set;
+#line 752
+
+#line 752
+allow system_server bootanim_system_prop:file { getattr open read map };
+#line 752
+
+#line 752
+
+
+#line 753
+
+#line 753
+allow system_server property_socket:sock_file write;
+#line 753
+allow system_server init:unix_stream_socket connectto;
+#line 753
+
+#line 753
+allow system_server bluetooth_prop:property_service set;
+#line 753
+
+#line 753
+allow system_server bluetooth_prop:file { getattr open read map };
+#line 753
+
+#line 753
+
+
+#line 754
+
+#line 754
+allow system_server property_socket:sock_file write;
+#line 754
+allow system_server init:unix_stream_socket connectto;
+#line 754
+
+#line 754
+allow system_server exported_system_prop:property_service set;
+#line 754
+
+#line 754
+allow system_server exported_system_prop:file { getattr open read map };
+#line 754
+
+#line 754
+
+
+#line 755
+
+#line 755
+allow system_server property_socket:sock_file write;
+#line 755
+allow system_server init:unix_stream_socket connectto;
+#line 755
+
+#line 755
+allow system_server exported3_system_prop:property_service set;
+#line 755
+
+#line 755
+allow system_server exported3_system_prop:file { getattr open read map };
+#line 755
+
+#line 755
+
+
+#line 756
+
+#line 756
+allow system_server property_socket:sock_file write;
+#line 756
+allow system_server init:unix_stream_socket connectto;
+#line 756
+
+#line 756
+allow system_server safemode_prop:property_service set;
+#line 756
+
+#line 756
+allow system_server safemode_prop:file { getattr open read map };
+#line 756
+
+#line 756
+
+
+#line 757
+
+#line 757
+allow system_server property_socket:sock_file write;
+#line 757
+allow system_server init:unix_stream_socket connectto;
+#line 757
+
+#line 757
+allow system_server theme_prop:property_service set;
+#line 757
+
+#line 757
+allow system_server theme_prop:file { getattr open read map };
+#line 757
+
+#line 757
+
+
+#line 758
+
+#line 758
+allow system_server property_socket:sock_file write;
+#line 758
+allow system_server init:unix_stream_socket connectto;
+#line 758
+
+#line 758
+allow system_server dhcp_prop:property_service set;
+#line 758
+
+#line 758
+allow system_server dhcp_prop:file { getattr open read map };
+#line 758
+
+#line 758
+
+
+#line 759
+
+#line 759
+allow system_server property_socket:sock_file write;
+#line 759
+allow system_server init:unix_stream_socket connectto;
+#line 759
+
+#line 759
+allow system_server net_connectivity_prop:property_service set;
+#line 759
+
+#line 759
+allow system_server net_connectivity_prop:file { getattr open read map };
+#line 759
+
+#line 759
+
+
+#line 760
+
+#line 760
+allow system_server property_socket:sock_file write;
+#line 760
+allow system_server init:unix_stream_socket connectto;
+#line 760
+
+#line 760
+allow system_server net_radio_prop:property_service set;
+#line 760
+
+#line 760
+allow system_server net_radio_prop:file { getattr open read map };
+#line 760
+
+#line 760
+
+
+#line 761
+
+#line 761
+allow system_server property_socket:sock_file write;
+#line 761
+allow system_server init:unix_stream_socket connectto;
+#line 761
+
+#line 761
+allow system_server net_dns_prop:property_service set;
+#line 761
+
+#line 761
+allow system_server net_dns_prop:file { getattr open read map };
+#line 761
+
+#line 761
+
+
+#line 762
+
+#line 762
+allow system_server property_socket:sock_file write;
+#line 762
+allow system_server init:unix_stream_socket connectto;
+#line 762
+
+#line 762
+allow system_server usb_control_prop:property_service set;
+#line 762
+
+#line 762
+allow system_server usb_control_prop:file { getattr open read map };
+#line 762
+
+#line 762
+
+
+#line 763
+
+#line 763
+allow system_server property_socket:sock_file write;
+#line 763
+allow system_server init:unix_stream_socket connectto;
+#line 763
+
+#line 763
+allow system_server usb_prop:property_service set;
+#line 763
+
+#line 763
+allow system_server usb_prop:file { getattr open read map };
+#line 763
+
+#line 763
+
+
+#line 764
+
+#line 764
+allow system_server property_socket:sock_file write;
+#line 764
+allow system_server init:unix_stream_socket connectto;
+#line 764
+
+#line 764
+allow system_server debug_prop:property_service set;
+#line 764
+
+#line 764
+allow system_server debug_prop:file { getattr open read map };
+#line 764
+
+#line 764
+
+
+#line 765
+
+#line 765
+allow system_server property_socket:sock_file write;
+#line 765
+allow system_server init:unix_stream_socket connectto;
+#line 765
+
+#line 765
+allow system_server powerctl_prop:property_service set;
+#line 765
+
+#line 765
+allow system_server powerctl_prop:file { getattr open read map };
+#line 765
+
+#line 765
+
+
+#line 766
+
+#line 766
+allow system_server property_socket:sock_file write;
+#line 766
+allow system_server init:unix_stream_socket connectto;
+#line 766
+
+#line 766
+allow system_server fingerprint_prop:property_service set;
+#line 766
+
+#line 766
+allow system_server fingerprint_prop:file { getattr open read map };
+#line 766
+
+#line 766
+
+
+#line 767
+
+#line 767
+allow system_server property_socket:sock_file write;
+#line 767
+allow system_server init:unix_stream_socket connectto;
+#line 767
+
+#line 767
+allow system_server device_logging_prop:property_service set;
+#line 767
+
+#line 767
+allow system_server device_logging_prop:file { getattr open read map };
+#line 767
+
+#line 767
+
+
+#line 768
+
+#line 768
+allow system_server property_socket:sock_file write;
+#line 768
+allow system_server init:unix_stream_socket connectto;
+#line 768
+
+#line 768
+allow system_server dumpstate_options_prop:property_service set;
+#line 768
+
+#line 768
+allow system_server dumpstate_options_prop:file { getattr open read map };
+#line 768
+
+#line 768
+
+
+#line 769
+
+#line 769
+allow system_server property_socket:sock_file write;
+#line 769
+allow system_server init:unix_stream_socket connectto;
+#line 769
+
+#line 769
+allow system_server overlay_prop:property_service set;
+#line 769
+
+#line 769
+allow system_server overlay_prop:file { getattr open read map };
+#line 769
+
+#line 769
+
+
+#line 770
+
+#line 770
+allow system_server property_socket:sock_file write;
+#line 770
+allow system_server init:unix_stream_socket connectto;
+#line 770
+
+#line 770
+allow system_server exported_overlay_prop:property_service set;
+#line 770
+
+#line 770
+allow system_server exported_overlay_prop:file { getattr open read map };
+#line 770
+
+#line 770
+
+
+#line 771
+
+#line 771
+allow system_server property_socket:sock_file write;
+#line 771
+allow system_server init:unix_stream_socket connectto;
+#line 771
+
+#line 771
+allow system_server pm_prop:property_service set;
+#line 771
+
+#line 771
+allow system_server pm_prop:file { getattr open read map };
+#line 771
+
+#line 771
+
+
+#line 772
+
+#line 772
+allow system_server property_socket:sock_file write;
+#line 772
+allow system_server init:unix_stream_socket connectto;
+#line 772
+
+#line 772
+allow system_server exported_pm_prop:property_service set;
+#line 772
+
+#line 772
+allow system_server exported_pm_prop:file { getattr open read map };
+#line 772
+
+#line 772
+
+
+#line 773
+
+#line 773
+allow system_server property_socket:sock_file write;
+#line 773
+allow system_server init:unix_stream_socket connectto;
+#line 773
+
+#line 773
+allow system_server socket_hook_prop:property_service set;
+#line 773
+
+#line 773
+allow system_server socket_hook_prop:file { getattr open read map };
+#line 773
+
+#line 773
+
+
+#line 774
+
+#line 774
+allow system_server property_socket:sock_file write;
+#line 774
+allow system_server init:unix_stream_socket connectto;
+#line 774
+
+#line 774
+allow system_server audio_prop:property_service set;
+#line 774
+
+#line 774
+allow system_server audio_prop:file { getattr open read map };
+#line 774
+
+#line 774
+
+
+#line 775
+
+#line 775
+allow system_server property_socket:sock_file write;
+#line 775
+allow system_server init:unix_stream_socket connectto;
+#line 775
+
+#line 775
+allow system_server boot_status_prop:property_service set;
+#line 775
+
+#line 775
+allow system_server boot_status_prop:file { getattr open read map };
+#line 775
+
+#line 775
+
+
+#line 776
+
+#line 776
+allow system_server property_socket:sock_file write;
+#line 776
+allow system_server init:unix_stream_socket connectto;
+#line 776
+
+#line 776
+allow system_server surfaceflinger_color_prop:property_service set;
+#line 776
+
+#line 776
+allow system_server surfaceflinger_color_prop:file { getattr open read map };
+#line 776
+
+#line 776
+
+
+#line 777
+
+#line 777
+allow system_server property_socket:sock_file write;
+#line 777
+allow system_server init:unix_stream_socket connectto;
+#line 777
+
+#line 777
+allow system_server provisioned_prop:property_service set;
+#line 777
+
+#line 777
+allow system_server provisioned_prop:file { getattr open read map };
+#line 777
+
+#line 777
+
+
+#line 778
+
+#line 778
+allow system_server property_socket:sock_file write;
+#line 778
+allow system_server init:unix_stream_socket connectto;
+#line 778
+
+#line 778
+allow system_server retaildemo_prop:property_service set;
+#line 778
+
+#line 778
+allow system_server retaildemo_prop:file { getattr open read map };
+#line 778
+
+#line 778
+
+
+#line 779
+
+#line 779
+allow system_server property_socket:sock_file write;
+#line 779
+allow system_server init:unix_stream_socket connectto;
+#line 779
+
+#line 779
+allow system_server dmesgd_start_prop:property_service set;
+#line 779
+
+#line 779
+allow system_server dmesgd_start_prop:file { getattr open read map };
+#line 779
+
+#line 779
+
+
+#line 780
+
+#line 780
+allow system_server property_socket:sock_file write;
+#line 780
+allow system_server init:unix_stream_socket connectto;
+#line 780
+
+#line 780
+allow system_server locale_prop:property_service set;
+#line 780
+
+#line 780
+allow system_server locale_prop:file { getattr open read map };
+#line 780
+
+#line 780
+
+
+#line 781
+
+#line 781
+allow system_server property_socket:sock_file write;
+#line 781
+allow system_server init:unix_stream_socket connectto;
+#line 781
+
+#line 781
+allow system_server timezone_metadata_prop:property_service set;
+#line 781
+
+#line 781
+allow system_server timezone_metadata_prop:file { getattr open read map };
+#line 781
+
+#line 781
+
+
+#line 782
+
+#line 782
+allow system_server property_socket:sock_file write;
+#line 782
+allow system_server init:unix_stream_socket connectto;
+#line 782
+
+#line 782
+allow system_server timezone_prop:property_service set;
+#line 782
+
+#line 782
+allow system_server timezone_prop:file { getattr open read map };
+#line 782
+
+#line 782
+
+
+#line 783
+
+#line 783
+allow system_server property_socket:sock_file write;
+#line 783
+allow system_server init:unix_stream_socket connectto;
+#line 783
+
+#line 783
+allow system_server crashrecovery_prop:property_service set;
+#line 783
+
+#line 783
+allow system_server crashrecovery_prop:file { getattr open read map };
+#line 783
+
+#line 783
+
+
+
+
+# ctl interface
+
+#line 788
+
+#line 788
+allow system_server property_socket:sock_file write;
+#line 788
+allow system_server init:unix_stream_socket connectto;
+#line 788
+
+#line 788
+allow system_server ctl_default_prop:property_service set;
+#line 788
+
+#line 788
+allow system_server ctl_default_prop:file { getattr open read map };
+#line 788
+
+#line 788
+
+
+#line 789
+
+#line 789
+allow system_server property_socket:sock_file write;
+#line 789
+allow system_server init:unix_stream_socket connectto;
+#line 789
+
+#line 789
+allow system_server ctl_bugreport_prop:property_service set;
+#line 789
+
+#line 789
+allow system_server ctl_bugreport_prop:file { getattr open read map };
+#line 789
+
+#line 789
+
+
+#line 790
+
+#line 790
+allow system_server property_socket:sock_file write;
+#line 790
+allow system_server init:unix_stream_socket connectto;
+#line 790
+
+#line 790
+allow system_server ctl_gsid_prop:property_service set;
+#line 790
+
+#line 790
+allow system_server ctl_gsid_prop:file { getattr open read map };
+#line 790
+
+#line 790
+
+
+#line 791
+
+#line 791
+allow system_server property_socket:sock_file write;
+#line 791
+allow system_server init:unix_stream_socket connectto;
+#line 791
+
+#line 791
+allow system_server ctl_artd_pre_reboot_prop:property_service set;
+#line 791
+
+#line 791
+allow system_server ctl_artd_pre_reboot_prop:file { getattr open read map };
+#line 791
+
+#line 791
+
+
+# cppreopt property
+
+#line 794
+
+#line 794
+allow system_server property_socket:sock_file write;
+#line 794
+allow system_server init:unix_stream_socket connectto;
+#line 794
+
+#line 794
+allow system_server cppreopt_prop:property_service set;
+#line 794
+
+#line 794
+allow system_server cppreopt_prop:file { getattr open read map };
+#line 794
+
+#line 794
+
+
+# server configurable flags properties
+
+#line 797
+
+#line 797
+allow system_server property_socket:sock_file write;
+#line 797
+allow system_server init:unix_stream_socket connectto;
+#line 797
+
+#line 797
+allow system_server device_config_core_experiments_team_internal_prop:property_service set;
+#line 797
+
+#line 797
+allow system_server device_config_core_experiments_team_internal_prop:file { getattr open read map };
+#line 797
+
+#line 797
+
+
+#line 798
+
+#line 798
+allow system_server property_socket:sock_file write;
+#line 798
+allow system_server init:unix_stream_socket connectto;
+#line 798
+
+#line 798
+allow system_server device_config_edgetpu_native_prop:property_service set;
+#line 798
+
+#line 798
+allow system_server device_config_edgetpu_native_prop:file { getattr open read map };
+#line 798
+
+#line 798
+
+
+#line 799
+
+#line 799
+allow system_server property_socket:sock_file write;
+#line 799
+allow system_server init:unix_stream_socket connectto;
+#line 799
+
+#line 799
+allow system_server device_config_input_native_boot_prop:property_service set;
+#line 799
+
+#line 799
+allow system_server device_config_input_native_boot_prop:file { getattr open read map };
+#line 799
+
+#line 799
+
+
+#line 800
+
+#line 800
+allow system_server property_socket:sock_file write;
+#line 800
+allow system_server init:unix_stream_socket connectto;
+#line 800
+
+#line 800
+allow system_server device_config_netd_native_prop:property_service set;
+#line 800
+
+#line 800
+allow system_server device_config_netd_native_prop:file { getattr open read map };
+#line 800
+
+#line 800
+
+
+#line 801
+
+#line 801
+allow system_server property_socket:sock_file write;
+#line 801
+allow system_server init:unix_stream_socket connectto;
+#line 801
+
+#line 801
+allow system_server device_config_nnapi_native_prop:property_service set;
+#line 801
+
+#line 801
+allow system_server device_config_nnapi_native_prop:file { getattr open read map };
+#line 801
+
+#line 801
+
+
+#line 802
+
+#line 802
+allow system_server property_socket:sock_file write;
+#line 802
+allow system_server init:unix_stream_socket connectto;
+#line 802
+
+#line 802
+allow system_server device_config_activity_manager_native_boot_prop:property_service set;
+#line 802
+
+#line 802
+allow system_server device_config_activity_manager_native_boot_prop:file { getattr open read map };
+#line 802
+
+#line 802
+
+
+#line 803
+
+#line 803
+allow system_server property_socket:sock_file write;
+#line 803
+allow system_server init:unix_stream_socket connectto;
+#line 803
+
+#line 803
+allow system_server device_config_runtime_native_boot_prop:property_service set;
+#line 803
+
+#line 803
+allow system_server device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 803
+
+#line 803
+
+
+#line 804
+
+#line 804
+allow system_server property_socket:sock_file write;
+#line 804
+allow system_server init:unix_stream_socket connectto;
+#line 804
+
+#line 804
+allow system_server device_config_runtime_native_prop:property_service set;
+#line 804
+
+#line 804
+allow system_server device_config_runtime_native_prop:file { getattr open read map };
+#line 804
+
+#line 804
+
+
+#line 805
+
+#line 805
+allow system_server property_socket:sock_file write;
+#line 805
+allow system_server init:unix_stream_socket connectto;
+#line 805
+
+#line 805
+allow system_server device_config_lmkd_native_prop:property_service set;
+#line 805
+
+#line 805
+allow system_server device_config_lmkd_native_prop:file { getattr open read map };
+#line 805
+
+#line 805
+
+
+#line 806
+
+#line 806
+allow system_server property_socket:sock_file write;
+#line 806
+allow system_server init:unix_stream_socket connectto;
+#line 806
+
+#line 806
+allow system_server device_config_media_native_prop:property_service set;
+#line 806
+
+#line 806
+allow system_server device_config_media_native_prop:file { getattr open read map };
+#line 806
+
+#line 806
+
+
+#line 807
+
+#line 807
+allow system_server property_socket:sock_file write;
+#line 807
+allow system_server init:unix_stream_socket connectto;
+#line 807
+
+#line 807
+allow system_server device_config_camera_native_prop:property_service set;
+#line 807
+
+#line 807
+allow system_server device_config_camera_native_prop:file { getattr open read map };
+#line 807
+
+#line 807
+
+
+#line 808
+
+#line 808
+allow system_server property_socket:sock_file write;
+#line 808
+allow system_server init:unix_stream_socket connectto;
+#line 808
+
+#line 808
+allow system_server device_config_mglru_native_prop:property_service set;
+#line 808
+
+#line 808
+allow system_server device_config_mglru_native_prop:file { getattr open read map };
+#line 808
+
+#line 808
+
+
+#line 809
+
+#line 809
+allow system_server property_socket:sock_file write;
+#line 809
+allow system_server init:unix_stream_socket connectto;
+#line 809
+
+#line 809
+allow system_server device_config_profcollect_native_boot_prop:property_service set;
+#line 809
+
+#line 809
+allow system_server device_config_profcollect_native_boot_prop:file { getattr open read map };
+#line 809
+
+#line 809
+
+
+#line 810
+
+#line 810
+allow system_server property_socket:sock_file write;
+#line 810
+allow system_server init:unix_stream_socket connectto;
+#line 810
+
+#line 810
+allow system_server device_config_statsd_native_prop:property_service set;
+#line 810
+
+#line 810
+allow system_server device_config_statsd_native_prop:file { getattr open read map };
+#line 810
+
+#line 810
+
+
+#line 811
+
+#line 811
+allow system_server property_socket:sock_file write;
+#line 811
+allow system_server init:unix_stream_socket connectto;
+#line 811
+
+#line 811
+allow system_server device_config_statsd_native_boot_prop:property_service set;
+#line 811
+
+#line 811
+allow system_server device_config_statsd_native_boot_prop:file { getattr open read map };
+#line 811
+
+#line 811
+
+
+#line 812
+
+#line 812
+allow system_server property_socket:sock_file write;
+#line 812
+allow system_server init:unix_stream_socket connectto;
+#line 812
+
+#line 812
+allow system_server device_config_storage_native_boot_prop:property_service set;
+#line 812
+
+#line 812
+allow system_server device_config_storage_native_boot_prop:file { getattr open read map };
+#line 812
+
+#line 812
+
+
+#line 813
+
+#line 813
+allow system_server property_socket:sock_file write;
+#line 813
+allow system_server init:unix_stream_socket connectto;
+#line 813
+
+#line 813
+allow system_server device_config_swcodec_native_prop:property_service set;
+#line 813
+
+#line 813
+allow system_server device_config_swcodec_native_prop:file { getattr open read map };
+#line 813
+
+#line 813
+
+
+#line 814
+
+#line 814
+allow system_server property_socket:sock_file write;
+#line 814
+allow system_server init:unix_stream_socket connectto;
+#line 814
+
+#line 814
+allow system_server device_config_sys_traced_prop:property_service set;
+#line 814
+
+#line 814
+allow system_server device_config_sys_traced_prop:file { getattr open read map };
+#line 814
+
+#line 814
+
+
+#line 815
+
+#line 815
+allow system_server property_socket:sock_file write;
+#line 815
+allow system_server init:unix_stream_socket connectto;
+#line 815
+
+#line 815
+allow system_server device_config_window_manager_native_boot_prop:property_service set;
+#line 815
+
+#line 815
+allow system_server device_config_window_manager_native_boot_prop:file { getattr open read map };
+#line 815
+
+#line 815
+
+
+#line 816
+
+#line 816
+allow system_server property_socket:sock_file write;
+#line 816
+allow system_server init:unix_stream_socket connectto;
+#line 816
+
+#line 816
+allow system_server device_config_configuration_prop:property_service set;
+#line 816
+
+#line 816
+allow system_server device_config_configuration_prop:file { getattr open read map };
+#line 816
+
+#line 816
+
+
+#line 817
+
+#line 817
+allow system_server property_socket:sock_file write;
+#line 817
+allow system_server init:unix_stream_socket connectto;
+#line 817
+
+#line 817
+allow system_server device_config_connectivity_prop:property_service set;
+#line 817
+
+#line 817
+allow system_server device_config_connectivity_prop:file { getattr open read map };
+#line 817
+
+#line 817
+
+
+#line 818
+
+#line 818
+allow system_server property_socket:sock_file write;
+#line 818
+allow system_server init:unix_stream_socket connectto;
+#line 818
+
+#line 818
+allow system_server device_config_surface_flinger_native_boot_prop:property_service set;
+#line 818
+
+#line 818
+allow system_server device_config_surface_flinger_native_boot_prop:file { getattr open read map };
+#line 818
+
+#line 818
+
+
+#line 819
+
+#line 819
+allow system_server property_socket:sock_file write;
+#line 819
+allow system_server init:unix_stream_socket connectto;
+#line 819
+
+#line 819
+allow system_server device_config_aconfig_flags_prop:property_service set;
+#line 819
+
+#line 819
+allow system_server device_config_aconfig_flags_prop:file { getattr open read map };
+#line 819
+
+#line 819
+
+
+#line 820
+
+#line 820
+allow system_server property_socket:sock_file write;
+#line 820
+allow system_server init:unix_stream_socket connectto;
+#line 820
+
+#line 820
+allow system_server device_config_vendor_system_native_prop:property_service set;
+#line 820
+
+#line 820
+allow system_server device_config_vendor_system_native_prop:file { getattr open read map };
+#line 820
+
+#line 820
+
+
+#line 821
+
+#line 821
+allow system_server property_socket:sock_file write;
+#line 821
+allow system_server init:unix_stream_socket connectto;
+#line 821
+
+#line 821
+allow system_server device_config_vendor_system_native_boot_prop:property_service set;
+#line 821
+
+#line 821
+allow system_server device_config_vendor_system_native_boot_prop:file { getattr open read map };
+#line 821
+
+#line 821
+
+
+#line 822
+
+#line 822
+allow system_server property_socket:sock_file write;
+#line 822
+allow system_server init:unix_stream_socket connectto;
+#line 822
+
+#line 822
+allow system_server device_config_virtualization_framework_native_prop:property_service set;
+#line 822
+
+#line 822
+allow system_server device_config_virtualization_framework_native_prop:file { getattr open read map };
+#line 822
+
+#line 822
+
+
+#line 823
+
+#line 823
+allow system_server property_socket:sock_file write;
+#line 823
+allow system_server init:unix_stream_socket connectto;
+#line 823
+
+#line 823
+allow system_server device_config_memory_safety_native_boot_prop:property_service set;
+#line 823
+
+#line 823
+allow system_server device_config_memory_safety_native_boot_prop:file { getattr open read map };
+#line 823
+
+#line 823
+
+
+#line 824
+
+#line 824
+allow system_server property_socket:sock_file write;
+#line 824
+allow system_server init:unix_stream_socket connectto;
+#line 824
+
+#line 824
+allow system_server device_config_memory_safety_native_prop:property_service set;
+#line 824
+
+#line 824
+allow system_server device_config_memory_safety_native_prop:file { getattr open read map };
+#line 824
+
+#line 824
+
+
+#line 825
+
+#line 825
+allow system_server property_socket:sock_file write;
+#line 825
+allow system_server init:unix_stream_socket connectto;
+#line 825
+
+#line 825
+allow system_server device_config_remote_key_provisioning_native_prop:property_service set;
+#line 825
+
+#line 825
+allow system_server device_config_remote_key_provisioning_native_prop:file { getattr open read map };
+#line 825
+
+#line 825
+
+
+#line 826
+
+#line 826
+allow system_server property_socket:sock_file write;
+#line 826
+allow system_server init:unix_stream_socket connectto;
+#line 826
+
+#line 826
+allow system_server device_config_tethering_u_or_later_native_prop:property_service set;
+#line 826
+
+#line 826
+allow system_server device_config_tethering_u_or_later_native_prop:file { getattr open read map };
+#line 826
+
+#line 826
+
+
+#line 827
+
+#line 827
+allow system_server property_socket:sock_file write;
+#line 827
+allow system_server init:unix_stream_socket connectto;
+#line 827
+
+#line 827
+allow system_server device_config_mmd_native_prop:property_service set;
+#line 827
+
+#line 827
+allow system_server device_config_mmd_native_prop:file { getattr open read map };
+#line 827
+
+#line 827
+
+
+#line 828
+
+#line 828
+allow system_server property_socket:sock_file write;
+#line 828
+allow system_server init:unix_stream_socket connectto;
+#line 828
+
+#line 828
+allow system_server smart_idle_maint_enabled_prop:property_service set;
+#line 828
+
+#line 828
+allow system_server smart_idle_maint_enabled_prop:file { getattr open read map };
+#line 828
+
+#line 828
+
+
+#line 829
+
+#line 829
+allow system_server property_socket:sock_file write;
+#line 829
+allow system_server init:unix_stream_socket connectto;
+#line 829
+
+#line 829
+allow system_server arm64_memtag_prop:property_service set;
+#line 829
+
+#line 829
+allow system_server arm64_memtag_prop:file { getattr open read map };
+#line 829
+
+#line 829
+
+
+# staged flag properties
+
+#line 832
+
+#line 832
+allow system_server property_socket:sock_file write;
+#line 832
+allow system_server init:unix_stream_socket connectto;
+#line 832
+
+#line 832
+allow system_server next_boot_prop:property_service set;
+#line 832
+
+#line 832
+allow system_server next_boot_prop:file { getattr open read map };
+#line 832
+
+#line 832
+
+
+# Allow system server to read pm.16kb.app_compat.disabled
+
+#line 835
+allow system_server pm_16kb_app_compat_prop:file { getattr open read map };
+#line 835
+
+
+# Allow query ART device config properties
+
+#line 838
+allow system_server device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 838
+
+
+#line 839
+allow system_server device_config_runtime_native_prop:file { getattr open read map };
+#line 839
+
+
+# BootReceiver to read ro.boot.bootreason
+
+#line 842
+allow system_server bootloader_boot_reason_prop:file { getattr open read map };
+#line 842
+
+# PowerManager to read sys.boot.reason
+
+#line 844
+allow system_server system_boot_reason_prop:file { getattr open read map };
+#line 844
+
+
+# Collect metrics on boot time created by init
+
+#line 847
+allow system_server boottime_prop:file { getattr open read map };
+#line 847
+
+
+# Read device's serial number from system properties
+
+#line 850
+allow system_server serialno_prop:file { getattr open read map };
+#line 850
+
+
+# Read whether uvc gadget is enabled
+
+#line 853
+allow system_server usb_uvc_enabled_prop:file { getattr open read map };
+#line 853
+
+
+# Read/write the property which keeps track of whether this is the first start of system_server
+
+#line 856
+
+#line 856
+allow system_server property_socket:sock_file write;
+#line 856
+allow system_server init:unix_stream_socket connectto;
+#line 856
+
+#line 856
+allow system_server firstboot_prop:property_service set;
+#line 856
+
+#line 856
+allow system_server firstboot_prop:file { getattr open read map };
+#line 856
+
+#line 856
+
+
+# Audio service in system server can read audio config properties,
+# such as camera shutter enforcement
+
+#line 860
+allow system_server audio_config_prop:file { getattr open read map };
+#line 860
+
+
+# StorageManager service reads media config while checking if transcoding is supported.
+
+#line 863
+allow system_server media_config_prop:file { getattr open read map };
+#line 863
+
+
+# system server reads this property to keep track of whether server configurable flags have been
+# reset during current boot.
+
+#line 867
+allow system_server device_config_reset_performed_prop:file { getattr open read map };
+#line 867
+
+
+# Read/write the property that enables Test Harness Mode
+
+#line 870
+
+#line 870
+allow system_server property_socket:sock_file write;
+#line 870
+allow system_server init:unix_stream_socket connectto;
+#line 870
+
+#line 870
+allow system_server test_harness_prop:property_service set;
+#line 870
+
+#line 870
+allow system_server test_harness_prop:file { getattr open read map };
+#line 870
+
+#line 870
+
+
+# Read gsid.image_running.
+
+#line 873
+allow system_server gsid_prop:file { getattr open read map };
+#line 873
+
+
+# Read the property that mocks an OTA
+
+#line 876
+allow system_server mock_ota_prop:file { getattr open read map };
+#line 876
+
+
+# Read the property as feature flag for protecting apks with fs-verity.
+
+#line 879
+allow system_server apk_verity_prop:file { getattr open read map };
+#line 879
+
+
+# Read wifi.interface
+
+#line 882
+allow system_server wifi_prop:file { getattr open read map };
+#line 882
+
+
+# Read the vendor property that indicates if Incremental features is enabled
+
+#line 885
+allow system_server incremental_prop:file { getattr open read map };
+#line 885
+
+
+# Read ro.zram. properties
+
+#line 888
+allow system_server zram_config_prop:file { getattr open read map };
+#line 888
+
+
+# Read/write persist.sys.zram_enabled
+
+#line 891
+
+#line 891
+allow system_server property_socket:sock_file write;
+#line 891
+allow system_server init:unix_stream_socket connectto;
+#line 891
+
+#line 891
+allow system_server zram_control_prop:property_service set;
+#line 891
+
+#line 891
+allow system_server zram_control_prop:file { getattr open read map };
+#line 891
+
+#line 891
+
+
+# Read/write persist.sys.dalvik.vm.lib.2
+
+#line 894
+
+#line 894
+allow system_server property_socket:sock_file write;
+#line 894
+allow system_server init:unix_stream_socket connectto;
+#line 894
+
+#line 894
+allow system_server dalvik_runtime_prop:property_service set;
+#line 894
+
+#line 894
+allow system_server dalvik_runtime_prop:file { getattr open read map };
+#line 894
+
+#line 894
+
+
+# Read ro.control_privapp_permissions and ro.cp_system_other_odex
+
+#line 897
+allow system_server packagemanager_config_prop:file { getattr open read map };
+#line 897
+
+
+# Read the net.464xlat.cellular.enabled property (written by init).
+
+#line 900
+allow system_server net_464xlat_fromvendor_prop:file { getattr open read map };
+#line 900
+
+
+# Read hypervisor capabilities ro.boot.hypervisor.*
+
+#line 903
+allow system_server hypervisor_prop:file { getattr open read map };
+#line 903
+
+
+# Read persist.wm.debug. properties
+
+#line 906
+allow system_server persist_wm_debug_prop:file { getattr open read map };
+#line 906
+
+
+#line 907
+
+#line 907
+allow system_server property_socket:sock_file write;
+#line 907
+allow system_server init:unix_stream_socket connectto;
+#line 907
+
+#line 907
+allow system_server persist_wm_debug_prop:property_service set;
+#line 907
+
+#line 907
+allow system_server persist_wm_debug_prop:file { getattr open read map };
+#line 907
+
+#line 907
+
+
+# Read persist.sysui.notification.builder_extras_override property
+
+#line 910
+allow system_server persist_sysui_builder_extras_prop:file { getattr open read map };
+#line 910
+
+# Read persist.sysui.notification.ranking_update_ashmem property
+
+#line 912
+allow system_server persist_sysui_ranking_update_prop:file { getattr open read map };
+#line 912
+
+
+# Read ro.tuner.lazyhal
+
+#line 915
+allow system_server tuner_config_prop:file { getattr open read map };
+#line 915
+
+# Write tuner.server.enable
+
+#line 917
+
+#line 917
+allow system_server property_socket:sock_file write;
+#line 917
+allow system_server init:unix_stream_socket connectto;
+#line 917
+
+#line 917
+allow system_server tuner_server_ctl_prop:property_service set;
+#line 917
+
+#line 917
+allow system_server tuner_server_ctl_prop:file { getattr open read map };
+#line 917
+
+#line 917
+
+
+# Allow the heap dump ART plugin to the count of sessions waiting for OOME
+
+#line 920
+allow system_server traced_oome_heap_session_count_prop:file { getattr open read map };
+#line 920
+
+
+# Allow the sensor service (running in the system service) to read sensor
+# configuration properties
+
+#line 924
+allow system_server sensors_config_prop:file { getattr open read map };
+#line 924
+
+
+# Allow system server to determine if system services are enabled
+
+#line 927
+allow system_server system_service_enable_prop:file { getattr open read map };
+#line 927
+
+
+# Allow system server to read shared mmd properties
+
+#line 930
+allow system_server mmd_shared_prop:file { getattr open read map };
+#line 930
+
+
+# Create a socket for connections from debuggerd.
+allow system_server system_ndebug_socket:sock_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Create a socket for connections from zygotes.
+allow system_server system_unsolzygote_socket:sock_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage cache files.
+allow system_server cache_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow system_server { cache_file cache_recovery_file }:dir { relabelfrom { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } };
+allow system_server { cache_file cache_recovery_file }:file { relabelfrom { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } };
+allow system_server { cache_file cache_recovery_file }:fifo_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow system_server system_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server system_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# ART locks profile files.
+allow system_server system_file:file lock;
+
+# LocationManager(e.g, GPS) needs to read and write
+# to uart driver and ctrl proc entry
+allow system_server gps_control:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow system_server to use app-created sockets and pipes.
+allow system_server appdomain:{ tcp_socket udp_socket } { getattr getopt setopt read write shutdown };
+allow system_server appdomain:{ fifo_file unix_stream_socket } { getattr read write };
+
+# BackupManagerService needs to manipulate backup data files
+allow system_server cache_backup_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server cache_backup_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# LocalTransport works inside /cache/backup
+allow system_server cache_private_backup_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server cache_private_backup_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow system to talk to usb device
+allow system_server usb_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_server usb_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Read and delete files under /dev/fscklogs.
+
+#line 970
+allow system_server fscklogs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 970
+allow system_server fscklogs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 970
+
+allow system_server fscklogs:dir { write remove_name add_name };
+allow system_server fscklogs:file rename;
+
+# logd access, system_server inherit logd write socket
+# (urge is to deprecate this long term)
+allow system_server zygote:unix_dgram_socket write;
+
+# Read from log daemon.
+
+#line 979
+allow system_server logcat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+#line 979
+
+#line 979
+allow system_server logdr_socket:sock_file write;
+#line 979
+allow system_server logd:unix_stream_socket connectto;
+#line 979
+
+#line 979
+
+
+#line 980
+allow system_server runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 980
+
+
+# Be consistent with DAC permissions. Allow system_server to write to
+# /sys/module/lowmemorykiller/parameters/adj
+# /sys/module/lowmemorykiller/parameters/minfree
+allow system_server sysfs_lowmemorykiller:file { getattr { open append write lock map } };
+
+# Read /sys/fs/pstore/console-ramoops
+# Don't worry about overly broad permissions for now, as there's
+# only one file in /sys/fs/pstore
+allow system_server pstorefs:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server pstorefs:file { getattr open read ioctl lock map watch watch_reads };
+
+# /sys access
+allow system_server sysfs_zram:dir search;
+allow system_server sysfs_zram:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Read /sys/fs/selinux/policy
+allow system_server kernel:security read_policy;
+
+
+#line 1000
+  allow system_server system_server_service:service_manager { add find };
+#line 1000
+  neverallow { domain -system_server } system_server_service:service_manager add;
+#line 1000
+
+#line 1000
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 1000
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 1000
+  
+#line 1000
+;
+allow system_server artd_service:service_manager find;
+allow system_server artd_pre_reboot_service:service_manager find;
+allow system_server audioserver_service:service_manager find;
+allow system_server authorization_service:service_manager find;
+allow system_server batteryproperties_service:service_manager find;
+allow system_server cameraserver_service:service_manager find;
+allow system_server compos_service:service_manager find;
+allow system_server dataloader_manager_service:service_manager find;
+allow system_server dexopt_chroot_setup_service:service_manager find;
+allow system_server dnsresolver_service:service_manager find;
+allow system_server drmserver_service:service_manager find;
+allow system_server dumpstate_service:service_manager find;
+allow system_server fingerprintd_service:service_manager find;
+allow system_server gatekeeper_service:service_manager find;
+allow system_server gpu_service:service_manager find;
+allow system_server gsi_service:service_manager find;
+allow system_server idmap_service:service_manager find;
+allow system_server incident_service:service_manager find;
+allow system_server incremental_service:service_manager find;
+allow system_server installd_service:service_manager find;
+allow system_server keystore_maintenance_service:service_manager find;
+allow system_server keystore_metrics_service:service_manager find;
+allow system_server keystore_service:service_manager find;
+allow system_server mdns_service:service_manager find;
+allow system_server mediaserver_service:service_manager find;
+allow system_server mediametrics_service:service_manager find;
+allow system_server mediaextractor_service:service_manager find;
+allow system_server mediadrmserver_service:service_manager find;
+allow system_server mediatuner_service:service_manager find;
+allow system_server mmd_service:service_manager find;
+allow system_server netd_service:service_manager find;
+allow system_server nfc_service:service_manager find;
+allow system_server ot_daemon_service:service_manager find;
+allow system_server radio_service:service_manager find;
+allow system_server stats_service:service_manager find;
+allow system_server storaged_service:service_manager find;
+allow system_server surfaceflinger_service:service_manager find;
+allow system_server update_engine_service:service_manager find;
+allow system_server virtual_camera_service:service_manager find;
+
+#line 1040
+    allow system_server virtualization_maintenance_service:service_manager find;
+#line 1042
+
+allow system_server vold_service:service_manager find;
+allow system_server wifinl80211_service:service_manager find;
+allow system_server logd_service:service_manager find;
+#line 1048
+
+allow system_server wifi_mainline_supplicant_service:service_manager find;
+
+
+#line 1051
+  allow system_server batteryproperties_service:service_manager { add find };
+#line 1051
+  neverallow { domain -system_server } batteryproperties_service:service_manager add;
+#line 1051
+
+#line 1051
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 1051
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 1051
+  
+#line 1051
+
+
+allow system_server keystore:keystore2 {
+	add_auth
+	change_password
+	change_user
+	clear_ns
+	clear_uid
+	delete_all_keys
+	get_last_auth_time
+	lock
+	pull_metrics
+	reset
+	unlock
+};
+
+allow system_server keystore:keystore2_key {
+	delete
+	use_dev_id
+	grant
+	get_info
+	rebind
+	update
+	use
+};
+
+# Allow Wifi module to manage Wi-Fi keys.
+allow system_server wifi_key:keystore2_key {
+	delete
+	get_info
+	rebind
+	update
+	use
+};
+
+# Allow lock_settings service to manage RoR keys.
+allow system_server resume_on_reboot_key:keystore2_key {
+	delete
+	get_info
+	rebind
+	update
+	use
+};
+
+# Allow lock_settings service to manage locksettings keys (e.g. the synthetic password key).
+allow system_server locksettings_key:keystore2_key {
+	delete
+	get_info
+	rebind
+	update
+	use
+};
+
+
+# Allow system server to search and write to the persistent factory reset
+# protection partition. This block device does not get wiped in a factory reset.
+allow system_server block_device:dir search;
+allow system_server frp_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm system_server frp_block_device:blk_file ioctl { 0x0000127d 0x00001277 };
+
+# Create new process groups and clean up old cgroups
+allow system_server cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server cgroup:file setattr;
+allow system_server cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server cgroup_v2:file { { getattr open read ioctl lock map watch watch_reads } setattr };
+
+# /oem access
+
+#line 1118
+allow system_server oemfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1118
+allow system_server oemfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1118
+
+
+# Allow resolving per-user storage symlinks
+allow system_server { mnt_user_file storage_file }:dir { getattr search };
+allow system_server { mnt_user_file storage_file }:lnk_file { getattr read };
+
+# Allow statfs() on storage devices, which happens fast enough that
+# we shouldn't be killed during unsafe removal
+allow system_server { sdcard_type fuse }:dir { getattr search };
+
+# Traverse into expanded storage
+allow system_server mnt_expand_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow system process to relabel the fingerprint directory after mkdir
+# and delete the directory and files when no longer needed
+allow system_server fingerprintd_data_file:dir { { open getattr read search ioctl lock watch watch_reads } remove_name rmdir relabelto write };
+allow system_server fingerprintd_data_file:file { getattr unlink };
+
+#line 1151
+
+
+# For AppFuse.
+allow system_server vold:fd use;
+allow system_server fuse_device:chr_file { read write ioctl getattr };
+allow system_server app_fuse_file:file { read write getattr };
+
+# For configuring sdcardfs
+allow system_server configfs:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } };
+allow system_server configfs:file { getattr open create unlink write };
+
+# Connect to adbd and use a socket transferred from it.
+# Used for e.g. jdwp.
+allow system_server adbd_common:unix_stream_socket connectto;
+allow system_server adbd_common:fd use;
+allow system_server adbd_common:unix_stream_socket { getattr getopt ioctl read write shutdown };
+
+# Read service.adb.tls.port, persist.adb.wifi. properties
+
+#line 1169
+allow system_server adbd_prop:file { getattr open read map };
+#line 1169
+
+
+# Set persist.adb.tls_server.enable property
+
+#line 1172
+
+#line 1172
+allow system_server property_socket:sock_file write;
+#line 1172
+allow system_server init:unix_stream_socket connectto;
+#line 1172
+
+#line 1172
+allow system_server system_adbd_prop:property_service set;
+#line 1172
+
+#line 1172
+allow system_server system_adbd_prop:file { getattr open read map };
+#line 1172
+
+#line 1172
+
+
+# Set service.adbd.tradeinmode from ITradeInService.
+
+#line 1175
+
+#line 1175
+allow system_server property_socket:sock_file write;
+#line 1175
+allow system_server init:unix_stream_socket connectto;
+#line 1175
+
+#line 1175
+allow system_server adbd_tradeinmode_prop:property_service set;
+#line 1175
+
+#line 1175
+allow system_server adbd_tradeinmode_prop:file { getattr open read map };
+#line 1175
+
+#line 1175
+
+
+# Allow invoking tools like "timeout"
+allow system_server toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow invoking pbtombstone
+allow system_server pbtombstone_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow system process to setup fs-verity
+allowxperm system_server { apk_data_file apk_tmp_file system_data_file apex_system_server_data_file }:file ioctl 0x6685;
+
+# Allow system process to measure fs-verity for apps, including those being installed
+allowxperm system_server { apk_data_file apk_tmp_file }:file ioctl 0x6686;
+allowxperm system_server apk_tmp_file:file ioctl 0x40086602;
+
+# Postinstall
+#
+# For OTA dexopt, allow calls coming from postinstall.
+
+#line 1193
+# Call the server domain and optionally transfer references to it.
+#line 1193
+allow system_server postinstall:binder { call transfer };
+#line 1193
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1193
+allow postinstall system_server:binder transfer;
+#line 1193
+# Receive and use open files from the server.
+#line 1193
+allow system_server postinstall:fd use;
+#line 1193
+
+
+allow system_server postinstall:fifo_file write;
+allow system_server update_engine:fd use;
+allow system_server update_engine:fifo_file write;
+
+# Access to /data/preloads
+allow system_server preloads_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+allow system_server preloads_data_file:dir { { open getattr read search ioctl lock watch watch_reads } write remove_name rmdir };
+allow system_server preloads_media_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+allow system_server preloads_media_file:dir { { open getattr read search ioctl lock watch watch_reads } write remove_name rmdir };
+
+
+#line 1205
+allow system_server cgroup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1205
+allow system_server cgroup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1205
+
+
+#line 1206
+allow system_server cgroup_v2:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1206
+allow system_server cgroup_v2:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1206
+
+allow system_server ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Access to /dev/dma_heap/system
+allow system_server dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+# Access to /dev/dma_heap/system-secure
+allow system_server dmabuf_system_secure_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 1214
+allow system_server proc_asound:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1214
+allow system_server proc_asound:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1214
+
+
+#line 1215
+allow system_server proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1215
+allow system_server proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1215
+
+
+#line 1216
+allow system_server proc_qtaguid_stat:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1216
+allow system_server proc_qtaguid_stat:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1216
+
+allow system_server {
+  proc_cmdline
+  proc_loadavg
+  proc_locks
+  proc_meminfo
+  proc_pagetypeinfo
+  proc_pipe_conf
+  proc_stat
+  proc_uid_cputime_showstat
+  proc_uid_io_stats
+  proc_uid_time_in_state
+  proc_uid_concurrent_active_time
+  proc_uid_concurrent_policy_time
+  proc_version
+  proc_vmallocinfo
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+allow system_server proc_uid_time_in_state:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server proc_uid_cpupower:file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 1237
+allow system_server rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1237
+allow system_server rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1237
+
+
+# Allow WifiService to start, stop, and read wifi-specific trace events.
+allow system_server debugfs_tracing_instances:dir search;
+allow system_server debugfs_wifi_tracing:dir search;
+allow system_server debugfs_wifi_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow BootReceiver to watch trace error_report events.
+allow system_server debugfs_bootreceiver_tracing:dir search;
+allow system_server debugfs_bootreceiver_tracing:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow system_server to read tracepoint ids in order to attach BPF programs to them.
+allow system_server debugfs_tracing:file { getattr open read ioctl lock map watch watch_reads };
+
+# allow system_server to exec shell, asanwrapper & zygote(app_process) on ASAN builds. Needed to run
+# asanwrapper.
+#line 1257
+
+
+# allow system_server to read the eBPF maps that stores the traffic stats information and update
+# the map after snapshot is recorded, and to read, update and run the maps and programs used for
+# time in state accounting
+allow system_server { fs_bpf fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared }:dir search;
+allow system_server { fs_bpf fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared }:file { getattr read write };
+allow system_server bpfloader:bpf prog_run;
+allow system_server self:bpf map_create;
+allow system_server { bpfloader netd network_stack system_server }:bpf { map_read map_write };
+# in order to invoke side effect of close() on such a socket calling synchronize_rcu()
+allow system_server self:key_socket create;
+# Java's Os.close() in libcore/luni/src/main/java/libcore/io/BlockGuardOs.java;l=100
+# calls if (fd.isSocket$()) if (isLingerSocket(fd)) ...
+dontaudit system_server self:key_socket getopt;
+
+# Needed to interact with memevents-eBPF and receive notifications for memory events
+allow system_server fs_bpf_memevents:dir search;
+allow system_server fs_bpf_memevents:file { read write };
+
+# Allow system_server to start clatd in its own domain and kill it.
+
+#line 1278
+# Allow the necessary permissions.
+#line 1278
+
+#line 1278
+# Old domain may exec the file and transition to the new domain.
+#line 1278
+allow system_server clatd_exec:file { getattr open read execute map };
+#line 1278
+allow system_server clatd:process transition;
+#line 1278
+# New domain is entered by executing the file.
+#line 1278
+allow clatd clatd_exec:file { entrypoint open read execute getattr map };
+#line 1278
+# New domain can send SIGCHLD to its caller.
+#line 1278
+allow clatd system_server:process sigchld;
+#line 1278
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1278
+dontaudit system_server clatd:process noatsecure;
+#line 1278
+# XXX dontaudit candidate but requires further study.
+#line 1278
+allow system_server clatd:process { siginh rlimitinh };
+#line 1278
+
+#line 1278
+# Make the transition occur by default.
+#line 1278
+type_transition system_server clatd_exec:process clatd;
+#line 1278
+
+allow system_server clatd:process { sigkill signal };
+
+# ART Profiles.
+# Allow system_server to open profile snapshots for read.
+# System server never reads the actual content. It passes the descriptor to
+# to privileged apps which acquire the permissions to inspect the profiles.
+allow system_server { user_profile_root_file user_profile_data_file}:dir { getattr search };
+allow system_server user_profile_data_file:file { getattr open read };
+
+# System server may dump profile data for debuggable apps in the /data/misc/profman.
+# As such it needs to be able create files but it should never read from them.
+# It also needs to stat the directory to check if it has the right permissions.
+allow system_server profman_dump_data_file:file { create getattr setattr { open append write lock map }};
+allow system_server profman_dump_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# On userdebug build we may profile system server. Allow it to write and create its own profile.
+#line 1298
+
+# Allow system server to load JVMTI agents under control of a property.
+
+#line 1300
+allow system_server system_jvmti_agent_prop:file { getattr open read map };
+#line 1300
+
+
+# UsbDeviceManager uses /dev/usb-ffs
+allow system_server functionfs:dir search;
+allow system_server functionfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# To resolve arbitrary sysfs paths from /sys/class/udc/* symlinks.
+
+#line 1306
+allow system_server sysfs_type:dir search;
+#line 1306
+
+#line 1306
+allow system_server sysfs_udc:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1306
+allow system_server sysfs_udc:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 1306
+
+#line 1309
+
+
+# system_server contains time / time zone detection logic so reads the associated properties.
+
+#line 1312
+allow system_server time_prop:file { getattr open read map };
+#line 1312
+
+
+# system_server reads this property to know it should expect the lmkd sends notification to it
+# on low memory kills.
+
+#line 1316
+allow system_server system_lmk_prop:file { getattr open read map };
+#line 1316
+
+
+
+#line 1318
+allow system_server wifi_config_prop:file { getattr open read map };
+#line 1318
+
+
+# Only system server can access BINDER_FREEZE and BINDER_GET_FROZEN_INFO
+allowxperm system_server binder_device:chr_file ioctl { 0x400c620e 0xc00c620f };
+
+# Watchdog prints debugging log to /dev/kmsg_debug.
+#line 1326
+
+# Watchdog reads sysprops framework_watchdog.fatal_* to handle watchdog timeout loop.
+
+#line 1328
+allow system_server framework_watchdog_config_prop:file { getattr open read map };
+#line 1328
+
+
+
+# Font files are written by system server
+allow system_server font_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server font_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+# Allow system process to setup and measure fs-verity for font files
+allowxperm system_server font_data_file:file ioctl { 0x6685 0x6686 };
+
+# Read qemu.hw.mainkeys property
+
+#line 1338
+allow system_server qemu_hw_prop:file { getattr open read map };
+#line 1338
+
+
+# Allow system server to read profcollectd reports for upload.
+
+
+# Power controls for debugging/diagnostics
+
+#line 1344
+allow system_server power_debug_prop:file { getattr open read map };
+#line 1344
+
+
+#line 1345
+
+#line 1345
+allow system_server property_socket:sock_file write;
+#line 1345
+allow system_server init:unix_stream_socket connectto;
+#line 1345
+
+#line 1345
+allow system_server power_debug_prop:property_service set;
+#line 1345
+
+#line 1345
+allow system_server power_debug_prop:file { getattr open read map };
+#line 1345
+
+#line 1345
+
+
+###
+### Neverallow rules
+###
+### system_server should NEVER do any of this
+
+# Do not allow opening files from external storage as unsafe ejection
+# could cause the kernel to kill the system_server.
+neverallow system_server { sdcard_type fuse }:dir { open read write };
+neverallow system_server { sdcard_type fuse }:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# system server should never be operating on zygote spawned app data
+# files directly. Rather, they should always be passed via a
+# file descriptor.
+# Exclude those types that system_server needs to open directly.
+neverallow system_server {
+  app_data_file_type
+  -system_app_data_file
+  -radio_data_file
+}:file { open create unlink link };
+
+# Forking and execing is inherently dangerous and racy. See, for
+# example, https://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
+# Prevent the addition of new file execs to stop the problem from
+# getting worse. b/28035297
+neverallow system_server {
+  file_type
+  -toolbox_exec
+  -logcat_exec
+  -pbtombstone_exec
+  
+}:file execute_no_trans;
+
+# Ensure that system_server doesn't perform any domain transitions other than
+# transitioning to the crash_dump domain when a crash occurs or fork clatd.
+# add perfetto and trace_redactor which are exec'd from system server for ProfilingService.
+neverallow system_server { domain -clatd -crash_dump -perfetto -trace_redactor }:process transition;
+neverallow system_server *:process dyntransition;
+
+# Ensure that system_server doesn't access anything but search in perfetto_traces_data_file:dir.
+neverallow system_server perfetto_traces_data_file:dir ~search;
+
+# Only allow crash_dump to connect to system_ndebug_socket.
+neverallow { domain -init -system_server -crash_dump } system_ndebug_socket:sock_file { open write };
+
+# Only allow zygotes to connect to system_unsolzygote_socket.
+neverallow {
+  domain
+  -init
+  -system_server
+  -zygote
+  -app_zygote
+  -webview_zygote
+} system_unsolzygote_socket:sock_file { open write };
+
+# Only allow init, system_server, flags_health_check to set properties for server configurable flags
+neverallow {
+  domain
+  -init
+  -system_server
+  -flags_health_check
+} {
+  device_config_core_experiments_team_internal_prop
+  device_config_activity_manager_native_boot_prop
+  device_config_connectivity_prop
+  device_config_input_native_boot_prop
+  device_config_lmkd_native_prop
+  device_config_netd_native_prop
+  device_config_nnapi_native_prop
+  device_config_edgetpu_native_prop
+  device_config_runtime_native_boot_prop
+  device_config_runtime_native_prop
+  device_config_media_native_prop
+  device_config_mglru_native_prop
+  device_config_remote_key_provisioning_native_prop
+  device_config_storage_native_boot_prop
+  device_config_surface_flinger_native_boot_prop
+  device_config_sys_traced_prop
+  device_config_swcodec_native_prop
+  device_config_aconfig_flags_prop
+  device_config_window_manager_native_boot_prop
+  device_config_tethering_u_or_later_native_prop
+  device_config_mmd_native_prop
+  next_boot_prop
+}:property_service set;
+
+# Only allow system_server and init to set tuner_server_ctl_prop
+neverallow {
+  domain
+  -system_server
+  -init
+} tuner_server_ctl_prop:property_service set;
+
+# system_server should never be executing dex2oat. This is either
+# a bug (for example, bug 16317188), or represents an attempt by
+# system server to dynamically load a dex file, something we do not
+# want to allow.
+neverallow system_server dex2oat_exec:file { execute execute_no_trans };
+
+# system_server should never execute or load executable shared libraries
+# in /data. Executable files in /data are a persistence vector.
+# https://bugs.chromium.org/p/project-zero/issues/detail?id=955 for example.
+neverallow system_server data_file_type:file { execute execute_no_trans };
+
+# The only block device system_server should be writing to is
+# the frp_block_device. This helps avoid a system_server to root
+# escalation by writing to raw block devices.
+# The system_server may need to read from vd_device if it uses
+# block apexes.
+neverallow system_server { dev_type -frp_block_device }:blk_file { append create link unlink relabelfrom rename setattr write };
+neverallow system_server { dev_type -frp_block_device -vd_device }:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# system_server should never use JIT functionality
+# See https://googleprojectzero.blogspot.com/2016/12/bitunmap-attacking-android-ashmem.html
+# in the section titled "A Short ROP Chain" for why.
+# However, in emulator builds without OpenGL passthrough, we use software
+# rendering via SwiftShader, which requires JIT support. These builds are
+# never shipped to users.
+neverallow system_server self:process execmem;
+#line 1467
+neverallow system_server { ashmem_device ashmem_libcutils_device }:chr_file execute;
+
+# TODO: deal with tmpfs_domain pub/priv split properly
+neverallow system_server system_server_tmpfs:file execute;
+
+# Resources handed off by system_server_startup
+allow system_server system_server_startup:fd use;
+allow system_server system_server_startup_tmpfs:file { read write map };
+allow system_server system_server_startup:unix_dgram_socket write;
+
+# Allow system server to communicate to apexd
+allow system_server apex_service:service_manager find;
+allow system_server apexd:binder call;
+
+# Allow system server to scan /apex for flattened APEXes
+allow system_server apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow system server to read /apex/apex-info-list.xml
+allow system_server apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow system_server to communicate with tradeinmode.
+
+#line 1488
+# Call the server domain and optionally transfer references to it.
+#line 1488
+allow system_server tradeinmode:binder { call transfer };
+#line 1488
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1488
+allow tradeinmode system_server:binder transfer;
+#line 1488
+# Receive and use open files from the server.
+#line 1488
+allow system_server tradeinmode:fd use;
+#line 1488
+
+
+# Allow system server to communicate to system-suspend's control interface
+allow system_server system_suspend_control_internal_service:service_manager find;
+allow system_server system_suspend_control_service:service_manager find;
+
+#line 1493
+# Call the server domain and optionally transfer references to it.
+#line 1493
+allow system_server system_suspend:binder { call transfer };
+#line 1493
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1493
+allow system_suspend system_server:binder transfer;
+#line 1493
+# Receive and use open files from the server.
+#line 1493
+allow system_server system_suspend:fd use;
+#line 1493
+
+
+#line 1494
+# Call the server domain and optionally transfer references to it.
+#line 1494
+allow system_suspend system_server:binder { call transfer };
+#line 1494
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1494
+allow system_server system_suspend:binder transfer;
+#line 1494
+# Receive and use open files from the server.
+#line 1494
+allow system_suspend system_server:fd use;
+#line 1494
+
+
+# Allow system server to communicate to system-suspend's wakelock interface
+
+#line 1497
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 1497
+# deprecated.
+#line 1497
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 1497
+allow system_server sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1497
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 1497
+allow system_server self:{ capability2 cap2_userns } block_suspend;
+#line 1497
+# system_suspend permissions
+#line 1497
+
+#line 1497
+# Call the server domain and optionally transfer references to it.
+#line 1497
+allow system_server system_suspend_server:binder { call transfer };
+#line 1497
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 1497
+allow system_suspend_server system_server:binder transfer;
+#line 1497
+# Receive and use open files from the server.
+#line 1497
+allow system_server system_suspend_server:fd use;
+#line 1497
+
+#line 1497
+allow system_server system_suspend_hwservice:hwservice_manager find;
+#line 1497
+# halclientdomain permissions
+#line 1497
+
+#line 1497
+# Call the hwservicemanager and transfer references to it.
+#line 1497
+allow system_server hwservicemanager:binder { call transfer };
+#line 1497
+# Allow hwservicemanager to send out callbacks
+#line 1497
+allow hwservicemanager system_server:binder { call transfer };
+#line 1497
+# hwservicemanager performs getpidcon on clients.
+#line 1497
+allow hwservicemanager system_server:dir search;
+#line 1497
+allow hwservicemanager system_server:file { read open map };
+#line 1497
+allow hwservicemanager system_server:process getattr;
+#line 1497
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 1497
+# all domains in domain.te.
+#line 1497
+
+#line 1497
+
+#line 1497
+allow system_server hwservicemanager_prop:file { getattr open read map };
+#line 1497
+
+#line 1497
+allow system_server hidl_manager_hwservice:hwservice_manager find;
+#line 1497
+# AIDL suspend hal permissions
+#line 1497
+allow system_server hal_system_suspend_service:service_manager find;
+#line 1497
+
+#line 1497
+# Call the servicemanager and transfer references to it.
+#line 1497
+allow system_server servicemanager:binder { call transfer };
+#line 1497
+# Allow servicemanager to send out callbacks
+#line 1497
+allow servicemanager system_server:binder { call transfer };
+#line 1497
+# servicemanager performs getpidcon on clients.
+#line 1497
+allow servicemanager system_server:dir search;
+#line 1497
+allow servicemanager system_server:file { read open };
+#line 1497
+allow servicemanager system_server:process getattr;
+#line 1497
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 1497
+# all domains in domain.te.
+#line 1497
+
+#line 1497
+
+
+# Allow the system server to read files under /data/apex. The system_server
+# needs these privileges to compare file signatures while processing installs.
+#
+# Only apexd is allowed to create new entries or write to any file under /data/apex.
+allow system_server apex_data_file:dir { getattr search };
+allow system_server apex_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow the system server to read files under /vendor/apex. This is where
+# vendor APEX packages might be installed and system_server needs to parse
+# these packages to inspect the signatures and other metadata.
+allow system_server vendor_apex_file:dir { getattr search };
+allow system_server vendor_apex_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow the system server to manage relevant apex module data files.
+allow system_server apex_module_data_file:dir { getattr search };
+# These are modules where the code runs in system_server, so we need full access.
+allow system_server apex_system_server_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apex_system_server_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server apex_tethering_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apex_tethering_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow system_server apex_uwb_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server apex_uwb_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# Legacy labels that we still need to support (b/217581286)
+allow system_server {
+  apex_appsearch_data_file
+  apex_permission_data_file
+  apex_scheduling_data_file
+  apex_wifi_data_file
+}:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server {
+  apex_appsearch_data_file
+  apex_permission_data_file
+  apex_scheduling_data_file
+  apex_wifi_data_file
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow PasswordSlotManager rw access to /metadata/password_slots, so GSIs and the host image can
+# communicate which slots are available for use.
+allow system_server metadata_file:dir search;
+allow system_server password_slot_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server password_slot_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow TradeInMode service rw access to /metadata/tradeinmode.
+allow system_server tradeinmode_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server tradeinmode_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow system_server userspace_reboot_metadata_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server userspace_reboot_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow system server rw access to files in /metadata/staged-install folder
+allow system_server staged_install_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server staged_install_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow system_server watchdog_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server watchdog_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow system_server write to aconfigd socket
+
+#line 1556
+allow system_server aconfigd_socket:sock_file write;
+#line 1556
+allow system_server aconfigd:unix_stream_socket connectto;
+#line 1556
+;
+
+# allow system_server write to aconfigd_mainline socket
+
+#line 1559
+allow system_server aconfigd_mainline_socket:sock_file write;
+#line 1559
+allow system_server aconfigd_mainline:unix_stream_socket connectto;
+#line 1559
+;
+
+allow system_server repair_mode_metadata_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server repair_mode_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+allow system_server gsi_persistent_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server gsi_persistent_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow system server read and remove files under /data/misc/odrefresh
+allow system_server odrefresh_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow system_server odrefresh_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+
+# Allow system server r access to /system/bin/surfaceflinger for PinnerService.
+allow system_server surfaceflinger_exec:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow init to set sysprop used to compute stats about userspace reboot.
+
+#line 1575
+
+#line 1575
+allow system_server property_socket:sock_file write;
+#line 1575
+allow system_server init:unix_stream_socket connectto;
+#line 1575
+
+#line 1575
+allow system_server userspace_reboot_log_prop:property_service set;
+#line 1575
+
+#line 1575
+allow system_server userspace_reboot_log_prop:file { getattr open read map };
+#line 1575
+
+#line 1575
+
+
+# JVMTI agent settings are only readable from the system server.
+neverallow {
+  domain
+  -system_server
+  -dumpstate
+  -init
+  -vendor_init
+} {
+  system_jvmti_agent_prop
+}:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Read/Write /proc/pressure/memory
+allow system_server proc_pressure_mem:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+# Read /proc/pressure/cpu and /proc/pressure/io
+allow system_server { proc_pressure_cpu proc_pressure_io }:file { getattr open read ioctl lock map watch watch_reads };
+
+# No ptracing others
+neverallow system_server { domain -system_server }:process ptrace;
+
+# CAP_SYS_RESOURCE was traditionally needed for sensitive /proc/PID
+# file read access. However, that is now unnecessary (b/34951864)
+neverallow system_server system_server:{ capability cap_userns } sys_resource;
+
+# Only system_server/init should access /metadata/password_slots.
+neverallow { domain -init -system_server } password_slot_metadata_file:dir *;
+neverallow {
+  domain
+  -init
+  -system_server
+} password_slot_metadata_file:{ file lnk_file sock_file fifo_file } ~{ relabelto getattr };
+neverallow { domain -init -system_server } password_slot_metadata_file:{ file lnk_file sock_file fifo_file } *;
+
+# Allow systemserver to read/write the invalidation property
+
+#line 1610
+
+#line 1610
+allow system_server property_socket:sock_file write;
+#line 1610
+allow system_server init:unix_stream_socket connectto;
+#line 1610
+
+#line 1610
+allow system_server binder_cache_system_server_prop:property_service set;
+#line 1610
+
+#line 1610
+allow system_server binder_cache_system_server_prop:file { getattr open read map };
+#line 1610
+
+#line 1610
+
+neverallow { domain -system_server -init }
+    binder_cache_system_server_prop:property_service set;
+
+# Allow system server to attach BPF programs to tracepoints. Deny read permission so that
+# system_server cannot use this access to read perf event data like process stacks.
+allow system_server self:perf_event { open write cpu kernel };
+neverallow system_server self:perf_event ~{ open write cpu kernel };
+
+# Allow writing files under /data/system/shutdown-checkpoints/
+allow system_server shutdown_checkpoints_system_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow system_server shutdown_checkpoints_system_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Do not allow any domain other than init or system server to set the property
+neverallow { domain -init -system_server } socket_hook_prop:property_service set;
+
+neverallow { domain -init -system_server } boot_status_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -system_server
+} wifi_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Only allow system server to write uhid sysfs files
+neverallow {
+    domain
+    -init
+    -system_server
+    -ueventd
+    -vendor_init
+} sysfs_uhid:file { append create link unlink relabelfrom rename setattr write };
+
+# BINDER_FREEZE is used to block ipc transactions to frozen processes, so it
+# can be accessed by system_server only (b/143717177)
+# BINDER_GET_FROZEN_INFO is used by system_server to determine the state of a frozen binder
+# interface
+neverallowxperm { domain -system_server } binder_device:chr_file ioctl { 0x400c620e 0xc00c620f };
+
+# Only system server can write the font files.
+neverallow { domain -init -system_server } font_data_file:file { append create link unlink relabelfrom rename setattr write };
+neverallow { domain -init -system_server } font_data_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+
+# Allow reading /system/etc/font_fallback.xml
+allow system_server system_font_fallback_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow system server to set dynamic ART properties.
+
+#line 1659
+
+#line 1659
+allow system_server property_socket:sock_file write;
+#line 1659
+allow system_server init:unix_stream_socket connectto;
+#line 1659
+
+#line 1659
+allow system_server dalvik_dynamic_config_prop:property_service set;
+#line 1659
+
+#line 1659
+allow system_server dalvik_dynamic_config_prop:file { getattr open read map };
+#line 1659
+
+#line 1659
+
+
+# Allow system server to read binderfs
+allow system_server binderfs_logs:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server binderfs_logs_stats:file { getattr open read ioctl lock map watch watch_reads };
+
+# For ANRs
+#line 1668
+
+
+# Allow GameManagerService to read and write persist.graphics.game_default_frame_rate.enabled
+
+#line 1671
+
+#line 1671
+allow system_server property_socket:sock_file write;
+#line 1671
+allow system_server init:unix_stream_socket connectto;
+#line 1671
+
+#line 1671
+allow system_server game_manager_config_prop:property_service set;
+#line 1671
+
+#line 1671
+allow system_server game_manager_config_prop:file { getattr open read map };
+#line 1671
+
+#line 1671
+
+
+# Allow system server to write HintManagerService properties
+
+#line 1674
+
+#line 1674
+allow system_server property_socket:sock_file write;
+#line 1674
+allow system_server init:unix_stream_socket connectto;
+#line 1674
+
+#line 1674
+allow system_server hint_manager_config_prop:property_service set;
+#line 1674
+
+#line 1674
+allow system_server hint_manager_config_prop:file { getattr open read map };
+#line 1674
+
+#line 1674
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -system_server
+  
+} hint_manager_config_prop:property_service set;
+
+# ThreadNetworkService reads Thread Network properties
+
+#line 1684
+allow system_server threadnetwork_config_prop:file { getattr open read map };
+#line 1684
+
+
+# Do not allow any domain other than init and system server to set the property
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -system_server
+} threadnetwork_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Allow accessing /mnt/pre_reboot_dexopt/chroot, to load the new service-art.jar
+# in Pre-reboot Dexopt.
+allow system_server pre_reboot_dexopt_file:dir { getattr search };
+
+# Allow system_server to reopen its own memfd.
+# system_server needs to copy the new service-art.jar to a memfd and reopen it with the path
+# /proc/self/fd/<fd> with a classloader.
+allow system_server system_server_tmpfs:file open;
+
+# Allow system_server to read from postinstall scripts through STDIN, to check if the
+# otapreopt_script is still alive.
+allow system_server postinstall:fifo_file read;
+
+# Allow system_server to kill artd and its subprocesses, to make sure that no process is accessing
+# files in chroot when we teardown chroot.
+allow system_server {
+  artd
+  derive_classpath
+  dex2oat
+  odrefresh
+  profman
+}:process sigkill;
+
+# Do not allow any domain other than init or system server to get or set the property
+neverallow { domain -init -system_server } crashrecovery_prop:property_service set;
+neverallow { domain -init -dumpstate -system_server } crashrecovery_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Do not allow anything other than system_server and init to touch /metadata/tradeinmode.
+neverallow { domain -init -system_server } tradeinmode_metadata_file:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -system_server
+  -shell
+} power_debug_prop:property_service set;
+#line 1 "system/sepolicy/private/system_server_startup.te"
+type system_server_startup, domain, coredomain;
+type system_server_startup_tmpfs, file_type;
+
+
+#line 4
+type_transition system_server_startup tmpfs:file system_server_startup_tmpfs;
+#line 4
+allow system_server_startup system_server_startup_tmpfs:file { read write getattr map };
+#line 4
+
+
+# Create JIT memory
+allow system_server_startup self:process execmem;
+allow system_server_startup system_server_startup_tmpfs:file { execute read write open map };
+
+# Allow to pick up integrity-checked artifacts from the ART APEX dalvik cache.
+allow system_server_startup apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow system_server_startup apex_art_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# Allow system_server_startup to run setcon() and enter the
+# system_server domain
+allow system_server_startup self:process setcurrent;
+allow system_server_startup system_server:process dyntransition;
+
+# Child of the zygote.
+allow system_server_startup zygote:process sigchld;
+
+# Allow query ART device config properties
+
+#line 23
+allow system_server_startup device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 23
+
+
+#line 24
+allow system_server_startup device_config_runtime_native_prop:file { getattr open read map };
+#line 24
+
+#line 1 "system/sepolicy/private/system_suspend.te"
+type system_suspend, domain, coredomain, system_suspend_server, system_suspend_internal_server;
+
+type system_suspend_exec, system_file_type, exec_type, file_type;
+
+#line 4
+
+#line 4
+# Allow the necessary permissions.
+#line 4
+
+#line 4
+# Old domain may exec the file and transition to the new domain.
+#line 4
+allow init system_suspend_exec:file { getattr open read execute map };
+#line 4
+allow init system_suspend:process transition;
+#line 4
+# New domain is entered by executing the file.
+#line 4
+allow system_suspend system_suspend_exec:file { entrypoint open read execute getattr map };
+#line 4
+# New domain can send SIGCHLD to its caller.
+#line 4
+
+#line 4
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 4
+dontaudit init system_suspend:process noatsecure;
+#line 4
+# XXX dontaudit candidate but requires further study.
+#line 4
+allow init system_suspend:process { siginh rlimitinh };
+#line 4
+
+#line 4
+# Make the transition occur by default.
+#line 4
+type_transition init system_suspend_exec:process system_suspend;
+#line 4
+
+#line 4
+
+
+# To serve ISuspendControlService.
+
+#line 7
+# Call the servicemanager and transfer references to it.
+#line 7
+allow system_suspend servicemanager:binder { call transfer };
+#line 7
+# Allow servicemanager to send out callbacks
+#line 7
+allow servicemanager system_suspend:binder { call transfer };
+#line 7
+# servicemanager performs getpidcon on clients.
+#line 7
+allow servicemanager system_suspend:dir search;
+#line 7
+allow servicemanager system_suspend:file { read open };
+#line 7
+allow servicemanager system_suspend:process getattr;
+#line 7
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 7
+# all domains in domain.te.
+#line 7
+
+
+#line 8
+  allow system_suspend system_suspend_control_service:service_manager { add find };
+#line 8
+  neverallow { domain -system_suspend } system_suspend_control_service:service_manager add;
+#line 8
+
+#line 8
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 8
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 8
+  
+#line 8
+
+
+
+#line 10
+  allow system_suspend hal_system_suspend_service:service_manager { add find };
+#line 10
+  neverallow { domain -system_suspend } hal_system_suspend_service:service_manager add;
+#line 10
+
+#line 10
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 10
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 10
+  
+#line 10
+
+
+# Access to /sys/power/{ wakeup_count, state } suspend interface.
+allow system_suspend sysfs_power:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access to wakeup, suspend stats, and wakeup reasons.
+
+#line 16
+allow system_suspend sysfs_suspend_stats:dir { open getattr read search ioctl lock watch watch_reads };
+#line 16
+allow system_suspend sysfs_suspend_stats:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 16
+
+
+#line 17
+allow system_suspend sysfs_wakeup:dir { open getattr read search ioctl lock watch watch_reads };
+#line 17
+allow system_suspend sysfs_wakeup:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 17
+
+
+#line 18
+allow system_suspend sysfs_wakeup_reasons:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow system_suspend sysfs_wakeup_reasons:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 18
+
+# To resolve arbitrary sysfs paths from /sys/class/wakeup/* symlinks.
+allow system_suspend sysfs_type:dir search;
+
+# Access to suspend_hal system properties
+
+#line 23
+allow system_suspend suspend_prop:file { getattr open read map };
+#line 23
+
+
+# Access to system_suspend debug system properties
+#line 28
+
+
+# To call BTAA registered callbacks
+allow system_suspend bluetooth:binder call;
+
+# For adding `dumpsys syspend_control` output to bugreport
+allow system_suspend dumpstate:fd use;
+allow system_suspend dumpstate:fifo_file write;
+
+# Allow init to take kernel wakelock and system suspend to
+# remove kenel wakelocks and the capability to access these
+# files
+allow init sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow init self:{ capability2 cap2_userns } block_suspend;
+allow system_suspend sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow system_suspend self:{ capability2 cap2_userns } block_suspend;
+
+# Allow init to set /sys/power/sync_on_suspend.
+allow init sysfs_sync_on_suspend:file { open append write lock map };
+
+neverallow {
+    domain
+    -atrace # tracing
+    -bluetooth # support Bluetooth activity attribution (BTAA)
+    -dumpstate # bug reports
+    -system_suspend # implements system_suspend_control_service
+    -system_server # configures system_suspend via ISuspendControlService
+    -traceur_app # tracing
+} system_suspend_control_service:service_manager find;
+#line 1 "system/sepolicy/private/system_suspend_internal_server.te"
+# To serve ISuspendControlServiceInternal.
+
+#line 2
+  allow system_suspend_internal_server system_suspend_control_internal_service:service_manager { add find };
+#line 2
+  neverallow { domain -system_suspend_internal_server } system_suspend_control_internal_service:service_manager add;
+#line 2
+
+#line 2
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 2
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 2
+  
+#line 2
+
+
+neverallow {
+    domain
+    -atrace # tracing
+    -dumpstate # bug reports
+    -system_suspend_internal_server # implements system_suspend_control_internal_service
+    -system_server # configures system_suspend via ISuspendControlServiceInternal
+    -traced_probes # tracing
+    -traceur_app # tracing
+} system_suspend_control_internal_service:service_manager find;
+#line 1 "system/sepolicy/private/system_suspend_server.te"
+# Required to export a HIDL interface.
+
+#line 2
+# Call the hwservicemanager and transfer references to it.
+#line 2
+allow system_suspend_server hwservicemanager:binder { call transfer };
+#line 2
+# Allow hwservicemanager to send out callbacks
+#line 2
+allow hwservicemanager system_suspend_server:binder { call transfer };
+#line 2
+# hwservicemanager performs getpidcon on clients.
+#line 2
+allow hwservicemanager system_suspend_server:dir search;
+#line 2
+allow hwservicemanager system_suspend_server:file { read open map };
+#line 2
+allow hwservicemanager system_suspend_server:process getattr;
+#line 2
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 2
+# all domains in domain.te.
+#line 2
+
+
+#line 3
+allow system_suspend_server hwservicemanager_prop:file { getattr open read map };
+#line 3
+
+
+# To serve ISystemSuspend.hal.
+
+#line 6
+  allow system_suspend_server system_suspend_hwservice:hwservice_manager { add find };
+#line 6
+  allow system_suspend_server hidl_base_hwservice:hwservice_manager add;
+#line 6
+  neverallow { domain -system_suspend_server } system_suspend_hwservice:hwservice_manager add;
+#line 6
+
+#line 1 "system/sepolicy/private/tee.te"
+allow tee fingerprint_vendor_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow tee fingerprint_vendor_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1 "system/sepolicy/private/tee_services.te"
+# Specify tee_services in this file.
+# Please keep the names in the alphabetical order and comment each new entry.
+
+# An example tee_service that can be used to test end-to-end integration of custom
+# smcs filtering feature on a device with pkvm hypervisor.
+type test_pkvm_tee_service, tee_service_type;
+#line 1 "system/sepolicy/private/tombstoned.te"
+typeattribute tombstoned coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init tombstoned_exec:file { getattr open read execute map };
+#line 3
+allow init tombstoned:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow tombstoned tombstoned_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init tombstoned:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init tombstoned:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init tombstoned_exec:process tombstoned;
+#line 3
+
+#line 3
+
+
+
+#line 5
+allow tombstoned tombstone_config_prop:file { getattr open read map };
+#line 5
+
+
+# Write to arbitrary pipes given to us.
+allow tombstoned domain:fd use;
+allow tombstoned domain:fifo_file write;
+
+allow tombstoned domain:dir { open getattr read search ioctl lock watch watch_reads };
+allow tombstoned domain:file { getattr open read ioctl lock map watch watch_reads };
+allow tombstoned tombstone_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow tombstoned tombstone_data_file:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } link };
+
+# Changes for the new stack dumping mechanism. Each trace goes into a
+# separate file, and these files are managed by tombstoned.
+allow tombstoned anr_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow tombstoned anr_data_file:file { append create getattr open link unlink };
+
+###
+### Neverallow rules
+###
+
+neverallow {
+    domain
+    -init
+    -vendor_init
+    -dumpstate
+    -tombstoned
+} tombstone_config_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 1 "system/sepolicy/private/toolbox.te"
+typeattribute toolbox coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init toolbox_exec:file { getattr open read execute map };
+#line 3
+allow init toolbox:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow toolbox toolbox_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init toolbox:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init toolbox:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init toolbox_exec:process toolbox;
+#line 3
+
+#line 3
+
+
+# rm -rf in /data/misc/virtualizationservice
+allow toolbox virtualizationservice_data_file:dir { rmdir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow toolbox virtualizationservice_data_file:file { getattr unlink };
+
+# If we can't remove these directories we try to chmod them. That
+# doesn't work, but it doesn't matter as virtualizationservice itself
+# will delete them when it starts. See b/235338094#comment39
+dontaudit toolbox virtualizationservice_data_file:dir setattr;
+
+# /dev/__null__ created by init prior to policy load,
+# open fd inherited by fsck.
+allow toolbox tmpfs:chr_file { read write ioctl };
+
+# Inherit and use pty created by android_fork_execvp_ext().
+allow toolbox devpts:chr_file { read write getattr ioctl };
+
+# mkswap-specific.
+# Read/write block devices used for swap partitions.
+# Assign swap_block_device type any such partition in your
+# device/<vendor>/<product>/sepolicy/file_contexts file.
+allow toolbox block_device:dir search;
+allow toolbox swap_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# rm -rf /data/per_boot
+allow toolbox system_data_root_file:dir { remove_name write };
+allow toolbox system_data_file:dir { rmdir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow toolbox system_data_file:file { getattr unlink };
+
+# chattr +F /data/media in init
+allow toolbox media_userdir_file:dir { { open getattr read search ioctl lock watch watch_reads } setattr };
+allowxperm toolbox media_userdir_file:dir ioctl { 0x40086602 0x80086601 };
+
+###
+### Neverallow rules
+###
+
+# Only allow entry from init via the toolbox binary.
+neverallow { domain -init } toolbox:process transition;
+neverallow * toolbox:process dyntransition;
+neverallow toolbox { file_type fs_type -toolbox_exec}:file entrypoint;
+#line 1 "system/sepolicy/private/trace_redactor.te"
+# Trace Redactor command line
+type trace_redactor_exec, system_file_type, exec_type, file_type;
+type trace_redactor, domain, coredomain;
+
+# Use pipes provided by system_server
+allow trace_redactor system_server:fd use;
+allow trace_redactor system_server:fifo_file { read write getattr ioctl };
+
+# Allow trace_redactor to read output trace file and write to new redacted file.
+allow trace_redactor perfetto_traces_profiling_data_file:dir search;
+allow trace_redactor perfetto_traces_data_file:dir search;
+allow trace_redactor perfetto_traces_data_file:file { read getattr ioctl };
+allow trace_redactor perfetto_traces_profiling_data_file:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/traced.te"
+# Perfetto user-space tracing daemon (unprivileged)
+type traced_exec, system_file_type, exec_type, file_type;
+
+# Allow init to exec the daemon.
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init traced_exec:file { getattr open read execute map };
+#line 5
+allow init traced:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow traced traced_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init traced:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init traced:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init traced_exec:process traced;
+#line 5
+
+#line 5
+
+
+#line 6
+type_transition traced tmpfs:file traced_tmpfs;
+#line 6
+allow traced traced_tmpfs:file { read write getattr map };
+#line 6
+
+
+# Allow apps in other MLS contexts (for multi-user) to access
+# share memory buffers created by traced.
+typeattribute traced_tmpfs mlstrustedobject;
+
+# Allow traced to start with a lower scheduling class and change
+# class accordingly to what defined in the config provided by
+# the privileged process that controls it.
+allow traced self:{ capability cap_userns } { sys_nice };
+
+# Allow to pass a file descriptor for the output trace from "perfetto" (the
+# cmdline client) and other shell binaries to traced and let traced write
+# directly into that (rather than returning the trace contents over the socket).
+allow traced perfetto:fd use;
+allow traced shell:fd use;
+allow traced shell:fifo_file { read write };
+
+# Allow the service to create new files within /data/misc/perfetto-traces.
+allow traced perfetto_traces_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow traced perfetto_traces_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Allow traceur to pass open file descriptors to traced, so traced can directly
+# write into the output file without doing roundtrips over IPC.
+allow traced traceur_app:fd use;
+allow traced platform_app:fd use;
+allow traced trace_data_file:file { read write };
+
+# Allow perfetto to access the proxy service for notifying Traceur.
+allow traced tracingproxy_service:service_manager find;
+
+#line 36
+# Call the servicemanager and transfer references to it.
+#line 36
+allow traced servicemanager:binder { call transfer };
+#line 36
+# Allow servicemanager to send out callbacks
+#line 36
+allow servicemanager traced:binder { call transfer };
+#line 36
+# servicemanager performs getpidcon on clients.
+#line 36
+allow servicemanager traced:dir search;
+#line 36
+allow servicemanager traced:file { read open };
+#line 36
+allow servicemanager traced:process getattr;
+#line 36
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 36
+# all domains in domain.te.
+#line 36
+;
+
+#line 37
+# Call the server domain and optionally transfer references to it.
+#line 37
+allow traced system_server:binder { call transfer };
+#line 37
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 37
+allow system_server traced:binder transfer;
+#line 37
+# Receive and use open files from the server.
+#line 37
+allow traced system_server:fd use;
+#line 37
+;
+
+# Allow traced to use shared memory supplied by producers. Typically, traced
+# (i.e. the tracing service) creates the shared memory used for data transfer
+# from the producer. This rule allows an alternative scheme, where the producer
+# creates the shared memory, that is then adopted by traced (after validating
+# that it is appropriately sealed).
+# This list has to replicate the tmpfs domains of all applicable domains that
+# have perfetto_producer() macro applied to them.
+# perfetto_tmpfs excluded as it should never need to use the producer-supplied
+# shared memory scheme.
+allow traced  {
+  appdomain_tmpfs
+  heapprofd_tmpfs
+  surfaceflinger_tmpfs
+  traced_probes_tmpfs
+  
+}:file { getattr map read write };
+
+# Allow traced to detect if a process is frozen (b/381089063).
+allow traced cgroup_v2:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow traced/traced_relay to read the traced config properties.
+
+#line 60
+allow traced traced_config_prop:file { getattr open read map };
+#line 60
+
+# Allow traced_relay to read the relay port being used
+
+#line 62
+allow traced traced_relay_relay_port_prop:file { getattr open read map };
+#line 62
+
+
+# Allow setting debug properties which guard initialization of the Perfetto SDK
+# in SurfaceFlinger and HWUI's copy of Skia.
+# Required for the android.sdk_sysprop_guard data source.
+# TODO(b/281329340): remove this when no longer needed.
+
+#line 68
+
+#line 68
+allow traced property_socket:sock_file write;
+#line 68
+allow traced init:unix_stream_socket connectto;
+#line 68
+
+#line 68
+allow traced debug_prop:property_service set;
+#line 68
+
+#line 68
+allow traced debug_prop:file { getattr open read map };
+#line 68
+
+#line 68
+
+# Allow traced to notify Traceur when a trace ends by setting the
+# sys.trace.trace_end_signal property.
+
+#line 71
+
+#line 71
+allow traced property_socket:sock_file write;
+#line 71
+allow traced init:unix_stream_socket connectto;
+#line 71
+
+#line 71
+allow traced system_trace_prop:property_service set;
+#line 71
+
+#line 71
+allow traced system_trace_prop:file { getattr open read map };
+#line 71
+
+#line 71
+
+# Allow to lazily start producers.
+
+#line 73
+
+#line 73
+allow traced property_socket:sock_file write;
+#line 73
+allow traced init:unix_stream_socket connectto;
+#line 73
+
+#line 73
+allow traced traced_lazy_prop:property_service set;
+#line 73
+
+#line 73
+allow traced traced_lazy_prop:file { getattr open read map };
+#line 73
+
+#line 73
+
+# Allow tracking the count of sessions intercepting Java OutOfMemoryError
+# If there are such tracing sessions and an OutOfMemoryError is thrown by ART,
+# the hprof plugin intercepts the error, lazily registers a data source to
+# traced and collects a heap dump.
+
+#line 78
+
+#line 78
+allow traced property_socket:sock_file write;
+#line 78
+allow traced init:unix_stream_socket connectto;
+#line 78
+
+#line 78
+allow traced traced_oome_heap_session_count_prop:property_service set;
+#line 78
+
+#line 78
+allow traced traced_oome_heap_session_count_prop:file { getattr open read map };
+#line 78
+
+#line 78
+
+
+# Allow traced to talk to statsd for logging metrics.
+
+#line 81
+allow traced statsdw_socket:sock_file write;
+#line 81
+allow traced statsd:unix_dgram_socket sendto;
+#line 81
+
+
+###
+### Neverallow rules
+###
+### traced should NEVER do any of this
+
+# Disallow mapping executable memory (execstack and exec are already disallowed
+# globally in domain.te).
+neverallow traced self:process execmem;
+
+# Block device access.
+neverallow traced dev_type:blk_file { read write };
+
+# ptrace any other process
+neverallow traced domain:process ptrace;
+
+# Disallows access to /data files, still allowing to write to file descriptors
+# passed through the socket.
+neverallow traced {
+  data_file_type
+  -perfetto_traces_data_file
+  -system_data_file
+  -system_data_root_file
+  -media_userdir_file
+  -system_userdir_file
+  -vendor_userdir_file
+  # TODO(b/72998741) Remove vendor_data_file exemption. Further restricted in a
+  # subsequent neverallow. Currently only getattr and search are allowed.
+  -vendor_data_file
+  
+}:dir *;
+neverallow traced { system_data_file }:dir ~{ getattr search };
+neverallow traced {
+  data_file_type
+  -perfetto_traces_data_file
+  -trace_data_file
+  
+}:file ~write;
+
+# Only init is allowed to enter the traced domain via exec()
+neverallow { domain -init } traced:process transition;
+neverallow * traced:process dyntransition;
+
+# Limit the processes that can access tracingproxy_service.
+neverallow {
+  domain
+  -traced
+  -dumpstate
+  -traceur_app
+  -platform_app
+  -shell
+  -system_server
+  -perfetto
+} tracingproxy_service:service_manager find;
+#line 1 "system/sepolicy/private/traced_perf.te"
+# Performance profiler, backed by perf_event_open(2).
+# See go/perfetto-perf-android.
+typeattribute traced_perf coredomain;
+typeattribute traced_perf mlstrustedsubject;
+
+type traced_perf_exec, system_file_type, exec_type, file_type;
+
+
+#line 8
+
+#line 8
+# Allow the necessary permissions.
+#line 8
+
+#line 8
+# Old domain may exec the file and transition to the new domain.
+#line 8
+allow init traced_perf_exec:file { getattr open read execute map };
+#line 8
+allow init traced_perf:process transition;
+#line 8
+# New domain is entered by executing the file.
+#line 8
+allow traced_perf traced_perf_exec:file { entrypoint open read execute getattr map };
+#line 8
+# New domain can send SIGCHLD to its caller.
+#line 8
+
+#line 8
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 8
+dontaudit init traced_perf:process noatsecure;
+#line 8
+# XXX dontaudit candidate but requires further study.
+#line 8
+allow init traced_perf:process { siginh rlimitinh };
+#line 8
+
+#line 8
+# Make the transition occur by default.
+#line 8
+type_transition init traced_perf_exec:process traced_perf;
+#line 8
+
+#line 8
+
+
+#line 9
+  allow traced_perf traced:fd use;
+#line 9
+  allow traced_perf traced_tmpfs:file { read write getattr map };
+#line 9
+  
+#line 9
+allow traced_perf traced_producer_socket:sock_file write;
+#line 9
+allow traced_perf traced:unix_stream_socket connectto;
+#line 9
+
+#line 9
+
+#line 9
+  # Also allow the service to use the producer file descriptors. This is
+#line 9
+  # necessary when the producer is creating the shared memory, as it will be
+#line 9
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 9
+  allow traced traced_perf:fd use;
+#line 9
+
+
+# Allow traced_perf full use of perf_event_open(2). It will perform cpu-wide
+# profiling, but retain samples only for profileable processes.
+# Thread-specific profiling is still disallowed due to a PTRACE_MODE_ATTACH
+# check (which would require a process:attach SELinux allow-rule).
+allow traced_perf self:perf_event { open cpu kernel read write tracepoint };
+
+# Allow CAP_KILL for delivery of dedicated signal to obtain proc-fds from a
+# process. Allow CAP_DAC_READ_SEARCH for stack unwinding and symbolization of
+# sampled stacks, which requires opening the backing libraries/executables (as
+# symbols are usually not mapped into the process space). Not all such files
+# are world-readable, e.g. odex files that included user profiles during
+# profile-guided optimization.
+allow traced_perf self:capability { kill dac_read_search };
+
+# Allow reading /system/data/packages.list.
+allow traced_perf packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow reading files for stack unwinding and symbolization.
+
+#line 29
+allow traced_perf nativetest_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 29
+allow traced_perf nativetest_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 29
+
+
+#line 30
+allow traced_perf system_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 30
+allow traced_perf system_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 30
+
+
+#line 31
+allow traced_perf apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 31
+allow traced_perf apk_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 31
+
+
+#line 32
+allow traced_perf dalvikcache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow traced_perf dalvikcache_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+
+#line 33
+allow traced_perf vendor_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 33
+allow traced_perf vendor_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 33
+
+# ART apex files and directory access to the containing /data/misc/apexdata.
+
+#line 35
+allow traced_perf apex_art_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 35
+allow traced_perf apex_art_data_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 35
+
+allow traced_perf apex_module_data_file:dir { getattr search };
+
+# For kernel address symbolisation. Allow reading from /proc/kallsyms inherited
+# from init, as well as separately opening and locking the file for
+# coordinating the use of that shared fd.
+# On debuggable builds, allow using lower_kptr_restrict_prop to temporarily
+# lift kptr_restrict systemwide.
+
+allow traced_perf proc_kallsyms:file { open read lock };
+
+# Allow reading tracefs files to get the format and numeric ids of tracepoints.
+allow traced_perf debugfs_tracing:dir { open getattr read search ioctl lock watch watch_reads };
+allow traced_perf debugfs_tracing:file { getattr open read ioctl lock map watch watch_reads };
+#line 52
+
+
+# Do not audit the cases where traced_perf attempts to access /proc/[pid] for
+# domains that it cannot read.
+dontaudit traced_perf domain:dir { search getattr open };
+
+# Do not audit failures to signal a process, as there are cases when this is
+# expected (native processes on debug builds use the policy for enforcing which
+# processes are profileable).
+dontaudit traced_perf domain:process signal;
+
+# Never allow access to app data files
+neverallow traced_perf app_data_file_type:file *;
+
+# Never allow profiling privileged or otherwise incompatible domains.
+# Corresponding allow-rule is in private/domain.te.
+
+#line 68
+  neverallow traced_perf {
+#line 68
+  apexd
+#line 68
+  app_zygote
+#line 68
+  bpfloader
+#line 68
+  hal_configstore_server
+#line 68
+  init
+#line 68
+  kernel
+#line 68
+  keystore
+#line 68
+  llkd
+#line 68
+  logd
+#line 68
+  ueventd
+#line 68
+  vendor_init
+#line 68
+  vold
+#line 68
+  webview_zygote
+#line 68
+  zygote
+#line 68
+}:file read;
+#line 68
+  neverallow traced_perf {
+#line 68
+  apexd
+#line 68
+  app_zygote
+#line 68
+  bpfloader
+#line 68
+  hal_configstore_server
+#line 68
+  init
+#line 68
+  kernel
+#line 68
+  keystore
+#line 68
+  llkd
+#line 68
+  logd
+#line 68
+  ueventd
+#line 68
+  vendor_init
+#line 68
+  vold
+#line 68
+  webview_zygote
+#line 68
+  zygote
+#line 68
+}:process signal;
+#line 83
+
+#line 1 "system/sepolicy/private/traced_probes.te"
+# Perfetto tracing probes, has tracefs access.
+type traced_probes_exec, system_file_type, exec_type, file_type;
+type traced_probes_tmpfs, file_type;
+
+# Allow init to exec the daemon.
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init traced_probes_exec:file { getattr open read execute map };
+#line 6
+allow init traced_probes:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow traced_probes traced_probes_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init traced_probes:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init traced_probes:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init traced_probes_exec:process traced_probes;
+#line 6
+
+#line 6
+
+
+#line 7
+type_transition traced_probes tmpfs:file traced_probes_tmpfs;
+#line 7
+allow traced_probes traced_probes_tmpfs:file { read write getattr map };
+#line 7
+
+
+# Write trace data to the Perfetto traced damon. This requires connecting to its
+# producer socket and obtaining a (per-process) tmpfs fd.
+
+#line 11
+  allow traced_probes traced:fd use;
+#line 11
+  allow traced_probes traced_tmpfs:file { read write getattr map };
+#line 11
+  
+#line 11
+allow traced_probes traced_producer_socket:sock_file write;
+#line 11
+allow traced_probes traced:unix_stream_socket connectto;
+#line 11
+
+#line 11
+
+#line 11
+  # Also allow the service to use the producer file descriptors. This is
+#line 11
+  # necessary when the producer is creating the shared memory, as it will be
+#line 11
+  # passed to the service as a file descriptor (obtained from memfd_create).
+#line 11
+  allow traced traced_probes:fd use;
+#line 11
+
+
+# Allow traced_probes to access tracefs.
+allow traced_probes debugfs_tracing:dir { open getattr read search ioctl lock watch watch_reads };
+allow traced_probes debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow traced_probes debugfs_trace_marker:file getattr;
+allow traced_probes debugfs_tracing_printk_formats:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow traced_probes to access mm_events trace instance
+allow traced_probes debugfs_tracing_instances:dir search;
+allow traced_probes debugfs_mm_events_tracing:dir search;
+allow traced_probes debugfs_mm_events_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# TODO(primiano): temporarily I/O tracing categories are still
+# userdebug only until we nail down the denylist/allowlist.
+#line 29
+
+
+# Allow traced_probes to start with a higher scheduling class and then downgrade
+# itself.
+allow traced_probes self:{ capability cap_userns } { sys_nice };
+
+# Allow procfs access
+
+#line 36
+allow traced_probes domain:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow traced_probes domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 36
+
+
+# For kernel address symbolisation. Allow reading from /proc/kallsyms inherited
+# from init, as well as separately opening and locking the file for
+# coordinating the use of that shared fd.
+# On debuggable builds, allow using lower_kptr_restrict_prop to temporarily
+# lift kptr_restrict systemwide.
+
+allow traced_probes proc_kallsyms:file { open read lock };
+
+# Allow to read packages.list file.
+allow traced_probes packages_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow to read game_mode_intervention.list file.
+allow traced_probes game_mode_intervention_list_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow to log to kernel dmesg when starting / stopping ftrace.
+allow traced_probes kmsg_device:chr_file write;
+
+# Allow traced_probes to list the system partition.
+allow traced_probes system_file:dir { open read };
+
+# Allow traced_probes to list some of the data partition.
+allow traced_probes self:{ capability cap_userns } dac_read_search;
+
+allow traced_probes apk_data_file:dir { getattr open read search };
+allow traced_probes { apex_art_data_file apex_module_data_file }:dir { getattr open read search };
+allow traced_probes dalvikcache_data_file:dir { getattr open read search };
+#line 67
+
+allow traced_probes system_app_data_file:dir { getattr open read search };
+allow traced_probes backup_data_file:dir { getattr open read search };
+allow traced_probes bootstat_data_file:dir { getattr open read search };
+allow traced_probes update_engine_data_file:dir { getattr open read search };
+allow traced_probes update_engine_log_data_file:dir { getattr open read search };
+allow traced_probes { user_profile_root_file user_profile_data_file}:dir { getattr open read search };
+
+# Allow traced_probes to run atrace. atrace pokes at system services to enable
+# their userspace TRACE macros.
+
+#line 77
+# Allow the necessary permissions.
+#line 77
+
+#line 77
+# Old domain may exec the file and transition to the new domain.
+#line 77
+allow traced_probes atrace_exec:file { getattr open read execute map };
+#line 77
+allow traced_probes atrace:process transition;
+#line 77
+# New domain is entered by executing the file.
+#line 77
+allow atrace atrace_exec:file { entrypoint open read execute getattr map };
+#line 77
+# New domain can send SIGCHLD to its caller.
+#line 77
+allow atrace traced_probes:process sigchld;
+#line 77
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 77
+dontaudit traced_probes atrace:process noatsecure;
+#line 77
+# XXX dontaudit candidate but requires further study.
+#line 77
+allow traced_probes atrace:process { siginh rlimitinh };
+#line 77
+
+#line 77
+# Make the transition occur by default.
+#line 77
+type_transition traced_probes atrace_exec:process atrace;
+#line 77
+;
+
+# Allow traced_probes to kill atrace on timeout.
+allow traced_probes atrace:process sigkill;
+
+# Allow traced_probes to access /proc files for system stats.
+# Note: trace data is NOT exposed to anything other than shell and privileged
+# system apps that have access to the traced consumer socket.
+allow traced_probes {
+  proc_meminfo
+  proc_vmstat
+  proc_stat
+  proc_buddyinfo
+  proc_pressure_cpu
+  proc_pressure_io
+  proc_pressure_mem
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow access to read /sys/class/devfreq/ and /$DEVICE/cur_freq files
+allow traced_probes sysfs_devfreq_dir:dir { open getattr read search ioctl lock watch watch_reads };
+allow traced_probes sysfs_devfreq_cur:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow access to read /proc/diskstats for I/O profiling.
+allow traced_probes proc_diskstats:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow access to the IHealth and IPowerStats HAL service for tracing battery counters.
+
+#line 103
+typeattribute traced_probes halclientdomain;
+#line 103
+typeattribute traced_probes hal_health_client;
+#line 103
+
+#line 103
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 103
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 103
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 103
+
+#line 103
+typeattribute traced_probes hal_health;
+#line 103
+# Find passthrough HAL implementations
+#line 103
+allow hal_health system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 103
+allow hal_health vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 103
+allow hal_health vendor_file:file { read open getattr execute map };
+#line 103
+
+#line 103
+
+
+#line 104
+typeattribute traced_probes halclientdomain;
+#line 104
+typeattribute traced_probes hal_power_stats_client;
+#line 104
+
+#line 104
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 104
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 104
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 104
+
+#line 104
+typeattribute traced_probes hal_power_stats;
+#line 104
+# Find passthrough HAL implementations
+#line 104
+allow hal_power_stats system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 104
+allow hal_power_stats vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 104
+allow hal_power_stats vendor_file:file { read open getattr execute map };
+#line 104
+
+#line 104
+
+
+# Allow access to Atrace HAL for enabling vendor/device specific tracing categories.
+
+#line 107
+typeattribute traced_probes halclientdomain;
+#line 107
+typeattribute traced_probes hal_atrace_client;
+#line 107
+
+#line 107
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 107
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 107
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 107
+
+#line 107
+typeattribute traced_probes hal_atrace;
+#line 107
+# Find passthrough HAL implementations
+#line 107
+allow hal_atrace system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 107
+allow hal_atrace vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 107
+allow hal_atrace vendor_file:file { read open getattr execute map };
+#line 107
+
+#line 107
+
+
+# On debug builds allow to ingest system logs into the trace.
+
+
+# Allow traced_probes to talk to statsd for logging metrics and recording atoms.
+
+#line 113
+allow traced_probes statsdw_socket:sock_file write;
+#line 113
+allow traced_probes statsd:unix_dgram_socket sendto;
+#line 113
+
+
+#line 114
+# Call the server domain and optionally transfer references to it.
+#line 114
+allow traced_probes statsd:binder { call transfer };
+#line 114
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 114
+allow statsd traced_probes:binder transfer;
+#line 114
+# Receive and use open files from the server.
+#line 114
+allow traced_probes statsd:fd use;
+#line 114
+
+allow traced_probes stats_service:service_manager find;
+
+# Allow traced_probes to talk to suspend control service to read details of kernel wakelocks.
+allow traced_probes system_suspend_control_internal_service:service_manager find;
+allow traced_probes system_suspend:binder call;
+
+# Allow reading the system property representing number of desktop windows to
+# set the initial value for the counter in traces.
+
+#line 123
+allow traced_probes debug_tracing_desktop_mode_visible_tasks_prop:file { getattr open read map };
+#line 123
+
+
+###
+### Neverallow rules
+###
+### traced_probes should NEVER do any of this
+
+# Disallow mapping executable memory (execstack and exec are already disallowed
+# globally in domain.te).
+neverallow traced_probes self:process execmem;
+
+# Block device access.
+neverallow traced_probes dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow traced_probes domain:process ptrace;
+
+# Disallows access to /data files.
+neverallow traced_probes {
+  data_file_type
+  -apex_module_data_file
+  -apex_art_data_file
+  -apk_data_file
+  -dalvikcache_data_file
+  -system_data_file
+  -system_data_root_file
+  -media_userdir_file
+  -system_userdir_file
+  -vendor_userdir_file
+  -system_app_data_file
+  -backup_data_file
+  -bootstat_data_file
+  -update_engine_data_file
+  -update_engine_log_data_file
+  -user_profile_root_file
+  -user_profile_data_file
+  # TODO(b/72998741) Remove vendor_data_file exemption. Further restricted in a
+  # subsequent neverallow. Currently only getattr and search are allowed.
+  -vendor_data_file
+  
+}:dir *;
+neverallow traced_probes system_data_file:dir ~{ getattr  search };
+neverallow traced_probes {
+  data_file_type
+  -packages_list_file
+  
+  -game_mode_intervention_list_file
+}:file *;
+
+# Only init is allowed to enter the traced_probes domain via exec()
+neverallow { domain -init } traced_probes:process transition;
+neverallow * traced_probes:process dyntransition;
+
+#line 1 "system/sepolicy/private/traceur_app.te"
+typeattribute traceur_app coredomain;
+
+
+#line 3
+typeattribute traceur_app appdomain;
+#line 3
+# Label tmpfs objects for all apps.
+#line 3
+type_transition traceur_app tmpfs:file appdomain_tmpfs;
+#line 3
+
+#line 3
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 3
+type traceur_app_userfaultfd;
+#line 3
+type_transition traceur_app traceur_app:anon_inode traceur_app_userfaultfd "[userfaultfd]";
+#line 3
+# Allow domain to create/use userfaultfd anon_inode.
+#line 3
+allow traceur_app traceur_app_userfaultfd:anon_inode { create ioctl read };
+#line 3
+# Suppress errors generate during bugreport
+#line 3
+dontaudit su traceur_app_userfaultfd:anon_inode *;
+#line 3
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 3
+neverallow { domain -traceur_app } traceur_app_userfaultfd:anon_inode *;
+#line 3
+
+#line 3
+allow traceur_app appdomain_tmpfs:file { execute getattr map read write };
+#line 3
+neverallow { traceur_app -runas_app -shell -simpleperf } { domain -traceur_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+neverallow { appdomain -runas_app -shell -simpleperf -traceur_app } traceur_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 3
+# The Android security model guarantees the confidentiality and integrity
+#line 3
+# of application data and execution state. Ptrace bypasses those
+#line 3
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 3
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 3
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 3
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 3
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 3
+# live lock conditions.
+#line 3
+neverallow { domain -traceur_app -crash_dump  -runas_app -simpleperf } traceur_app:process ptrace;
+#line 3
+;
+allow traceur_app debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow traceur_app debugfs_tracing_debug:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 9
+
+
+allow traceur_app trace_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow traceur_app trace_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow traceur_app wm_trace_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow traceur_app wm_trace_data_file:file { getattr { getattr open read ioctl lock map watch watch_reads } unlink };
+allow traceur_app atrace_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# To exec the perfetto cmdline client and pass it the trace config on
+# stdint through a pipe.
+allow traceur_app perfetto_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow to access traced's privileged consumer socket.
+
+#line 22
+allow traceur_app traced_consumer_socket:sock_file write;
+#line 22
+allow traceur_app traced:unix_stream_socket connectto;
+#line 22
+
+
+dontaudit traceur_app debugfs_tracing_debug:file audit_access;
+
+
+#line 26
+
+#line 26
+allow traceur_app property_socket:sock_file write;
+#line 26
+allow traceur_app init:unix_stream_socket connectto;
+#line 26
+
+#line 26
+allow traceur_app debug_prop:property_service set;
+#line 26
+
+#line 26
+allow traceur_app debug_prop:file { getattr open read map };
+#line 26
+
+#line 26
+
+
+allow traceur_app servicemanager:service_manager list;
+allow traceur_app hwservicemanager:hwservice_manager list;
+
+allow traceur_app {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -gatekeeper_service
+  -incident_service
+  -installd_service
+  -lpdump_service
+  -mdns_service
+  -netd_service
+  -virtual_touchpad_service
+  -vold_service
+  -default_android_service
+}:service_manager find;
+
+# Allow traceur_app to use atrace HAL
+
+#line 47
+typeattribute traceur_app halclientdomain;
+#line 47
+typeattribute traceur_app hal_atrace_client;
+#line 47
+
+#line 47
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 47
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 47
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 47
+
+#line 47
+typeattribute traceur_app hal_atrace;
+#line 47
+# Find passthrough HAL implementations
+#line 47
+allow hal_atrace system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 47
+allow hal_atrace vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 47
+allow hal_atrace vendor_file:file { read open getattr execute map };
+#line 47
+
+#line 47
+
+
+dontaudit traceur_app service_manager_type:service_manager find;
+dontaudit traceur_app hwservice_manager_type:hwservice_manager find;
+dontaudit traceur_app domain:binder call;
+#line 1 "system/sepolicy/private/tradeinmode.te"
+### trade-in mode
+
+type tradeinmode, domain, coredomain;
+type tradeinmode_exec, exec_type, file_type, system_file_type;
+
+allow tradeinmode adbd_tradeinmode:fd use;
+allow tradeinmode adbd_tradeinmode:unix_stream_socket { read write ioctl };
+
+# Needed to enable trade-in mode for testing.
+
+#line 10
+
+#line 10
+allow tradeinmode property_socket:sock_file write;
+#line 10
+allow tradeinmode init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow tradeinmode adbd_tradeinmode_prop:property_service set;
+#line 10
+
+#line 10
+allow tradeinmode adbd_tradeinmode_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+# Allow running from normal shell.
+allow tradeinmode { adbd shell }:fd use;
+allow tradeinmode adbd:unix_stream_socket { read write ioctl };
+
+allow tradeinmode devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Allow executing am/content without a domain transition.
+allow tradeinmode system_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow tradeinmode zygote_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow tradeinmode apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+allow tradeinmode activity_service:service_manager find;
+
+
+#line 25
+allow tradeinmode odsign_prop:file { getattr open read map };
+#line 25
+
+
+#line 26
+allow tradeinmode build_attestation_prop:file { getattr open read map };
+#line 26
+
+
+#line 27
+allow tradeinmode adbd_tradeinmode_prop:file { getattr open read map };
+#line 27
+
+
+#line 28
+
+#line 28
+allow tradeinmode property_socket:sock_file write;
+#line 28
+allow tradeinmode init:unix_stream_socket connectto;
+#line 28
+
+#line 28
+allow tradeinmode powerctl_prop:property_service set;
+#line 28
+
+#line 28
+allow tradeinmode powerctl_prop:file { getattr open read map };
+#line 28
+
+#line 28
+
+
+# Needed to start activities through "am".
+
+#line 31
+# Call the server domain and optionally transfer references to it.
+#line 31
+allow tradeinmode system_server:binder { call transfer };
+#line 31
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 31
+allow system_server tradeinmode:binder transfer;
+#line 31
+# Receive and use open files from the server.
+#line 31
+allow tradeinmode system_server:fd use;
+#line 31
+
+
+#line 32
+# Call the server domain and optionally transfer references to it.
+#line 32
+allow tradeinmode servicemanager:binder { call transfer };
+#line 32
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 32
+allow servicemanager tradeinmode:binder transfer;
+#line 32
+# Receive and use open files from the server.
+#line 32
+allow tradeinmode servicemanager:fd use;
+#line 32
+
+
+# Needed to run "content".
+
+#line 35
+# Call the server domain and optionally transfer references to it.
+#line 35
+allow tradeinmode platform_app:binder { call transfer };
+#line 35
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 35
+allow platform_app tradeinmode:binder transfer;
+#line 35
+# Receive and use open files from the server.
+#line 35
+allow tradeinmode platform_app:fd use;
+#line 35
+
+#line 1 "system/sepolicy/private/ueventd.te"
+typeattribute ueventd coredomain;
+
+
+#line 3
+type_transition ueventd tmpfs:file ueventd_tmpfs;
+#line 3
+allow ueventd ueventd_tmpfs:file { read write getattr map };
+#line 3
+
+
+# ueventd can set properties, particularly it sets ro.cold_boot_done to signal
+# to init that cold boot has completed.
+
+#line 7
+
+#line 7
+allow ueventd property_socket:sock_file write;
+#line 7
+allow ueventd init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow ueventd cold_boot_done_prop:property_service set;
+#line 7
+
+#line 7
+allow ueventd cold_boot_done_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+
+# Write to /dev/kmsg.
+allow ueventd kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+allow ueventd self:{ capability cap_userns } { chown mknod net_admin setgid fsetid sys_rawio dac_override dac_read_search fowner setuid };
+allow ueventd device:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+
+#line 15
+allow ueventd rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow ueventd rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 15
+
+
+# ueventd needs write access to files in /sys to regenerate uevents
+allow ueventd sysfs_type:file { open append write lock map };
+
+#line 19
+allow ueventd sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 19
+allow ueventd sysfs_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 19
+
+allow ueventd sysfs_type:{ file lnk_file } { relabelfrom relabelto setattr };
+allow ueventd sysfs_type:dir { relabelfrom relabelto setattr };
+allow ueventd tmpfs:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow ueventd dev_type:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow ueventd dev_type:lnk_file { create unlink };
+allow ueventd dev_type:chr_file { getattr create setattr unlink };
+allow ueventd dev_type:blk_file { getattr relabelfrom relabelto create setattr unlink };
+allow ueventd self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow ueventd efs_file:dir search;
+allow ueventd efs_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Get SELinux enforcing status.
+
+#line 32
+allow ueventd selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 32
+allow ueventd selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 32
+
+
+# Access for /vendor/ueventd.rc and /vendor/firmware
+
+#line 35
+allow ueventd { vendor_file_type -vendor_app_file -vendor_overlay_file }:dir { open getattr read search ioctl lock watch watch_reads };
+#line 35
+allow ueventd { vendor_file_type -vendor_app_file -vendor_overlay_file }:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 35
+
+
+# Access for /apex/*/firmware
+allow ueventd apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Get file contexts for new device nodes
+allow ueventd file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Use setfscreatecon() to label /dev directories and files.
+allow ueventd self:process setfscreate;
+
+# Allow ueventd to read androidboot.android_dt_dir from kernel cmdline or bootconfig.
+allow ueventd proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+allow ueventd proc_bootconfig:file { getattr open read ioctl lock map watch watch_reads };
+
+# Everything is labeled as rootfs in recovery mode. ueventd has to execute
+# the dynamic linker and shared libraries.
+#line 54
+
+
+# Suppress denials for ueventd to getattr /postinstall. This occurs when the
+# linker tries to resolve paths in ld.config.txt.
+dontaudit ueventd postinstall_mnt_dir:dir getattr;
+
+# ueventd loads modules in response to modalias events.
+allow ueventd self:{ capability cap_userns } sys_module;
+allow ueventd vendor_file:system module_load;
+allow ueventd kernel:key search;
+
+# ueventd is using bootstrap bionic
+
+#line 66
+  allow ueventd system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 66
+  allow ueventd system_bootstrap_lib_file:file { execute read open getattr map };
+#line 66
+
+
+# Allow ueventd to run shell scripts from vendor
+allow ueventd vendor_shell_exec:file execute;
+
+# Query device-mapper to extract name/uuid in response to uevents.
+allow ueventd dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow ueventd self:capability sys_admin;
+
+# Allow ueventd to read apexd property
+
+#line 76
+allow ueventd apexd_prop:file { getattr open read map };
+#line 76
+
+
+# Allow ueventd to correctly label the symlinks it creates
+allow ueventd block_device:lnk_file relabelfrom;
+
+#####
+##### neverallow rules
+#####
+
+# Restrict ueventd access on block devices to maintenence operations.
+neverallow ueventd dev_type:blk_file ~{ getattr relabelfrom relabelto create setattr unlink };
+
+# Only relabelto as we would never want to relabelfrom port_device
+neverallow ueventd port_device:chr_file ~{ getattr create setattr unlink relabelto };
+
+# Nobody should be able to ptrace ueventd
+neverallow * ueventd:process ptrace;
+
+# ueventd should never execute a program without changing to another domain.
+neverallow ueventd { file_type fs_type }:file execute_no_trans;
+#line 1 "system/sepolicy/private/uncrypt.te"
+typeattribute uncrypt coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init uncrypt_exec:file { getattr open read execute map };
+#line 3
+allow init uncrypt:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow uncrypt uncrypt_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init uncrypt:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init uncrypt:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init uncrypt_exec:process uncrypt;
+#line 3
+
+#line 3
+
+
+# Set a property to reboot the device.
+
+#line 6
+
+#line 6
+allow uncrypt property_socket:sock_file write;
+#line 6
+allow uncrypt init:unix_stream_socket connectto;
+#line 6
+
+#line 6
+allow uncrypt powerctl_prop:property_service set;
+#line 6
+
+#line 6
+allow uncrypt powerctl_prop:file { getattr open read map };
+#line 6
+
+#line 6
+
+
+allow uncrypt self:{ capability cap_userns } { dac_override dac_read_search };
+
+#line 13
+
+
+# Read /cache/recovery/command
+# Read /cache/recovery/uncrypt_file
+allow uncrypt cache_file:dir search;
+allow uncrypt cache_recovery_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow uncrypt cache_recovery_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Read and write(for f2fs_pin_file) on OTA zip file at /data/ota_package/.
+allow uncrypt ota_package_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow uncrypt ota_package_file:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Write to /dev/socket/uncrypt
+
+#line 26
+allow uncrypt uncrypt_socket:sock_file write;
+#line 26
+allow uncrypt uncrypt:unix_stream_socket connectto;
+#line 26
+
+
+# Raw writes to block device
+allow uncrypt self:{ capability cap_userns } sys_rawio;
+allow uncrypt misc_block_device:blk_file { open append write lock map };
+allow uncrypt block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Access userdata block device.
+allow uncrypt userdata_block_device:blk_file { open append write lock map };
+
+
+#line 36
+allow uncrypt rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 36
+allow uncrypt rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 36
+
+
+# Access to bootconfig is needed when calling ReadDefaultFstab.
+allow uncrypt {
+  proc_bootconfig
+  proc_cmdline
+
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read files in /sys
+
+#line 46
+allow uncrypt sysfs_dt_firmware_android:dir { open getattr read search ioctl lock watch watch_reads };
+#line 46
+allow uncrypt sysfs_dt_firmware_android:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 46
+
+
+# Allow ReadDefaultFstab().
+
+#line 49
+  allow uncrypt { metadata_file gsi_metadata_file_type }:dir search;
+#line 49
+  allow uncrypt gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 49
+  allow uncrypt { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 49
+
+#line 1 "system/sepolicy/private/untrusted_app.te"
+###
+### Untrusted apps.
+###
+### This file defines the rules for untrusted apps running with
+### targetSdkVersion >= 34.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app coredomain;
+
+
+#line 13
+typeattribute untrusted_app appdomain;
+#line 13
+# Label tmpfs objects for all apps.
+#line 13
+type_transition untrusted_app tmpfs:file appdomain_tmpfs;
+#line 13
+
+#line 13
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 13
+type untrusted_app_userfaultfd;
+#line 13
+type_transition untrusted_app untrusted_app:anon_inode untrusted_app_userfaultfd "[userfaultfd]";
+#line 13
+# Allow domain to create/use userfaultfd anon_inode.
+#line 13
+allow untrusted_app untrusted_app_userfaultfd:anon_inode { create ioctl read };
+#line 13
+# Suppress errors generate during bugreport
+#line 13
+dontaudit su untrusted_app_userfaultfd:anon_inode *;
+#line 13
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 13
+neverallow { domain -untrusted_app } untrusted_app_userfaultfd:anon_inode *;
+#line 13
+
+#line 13
+allow untrusted_app appdomain_tmpfs:file { execute getattr map read write };
+#line 13
+neverallow { untrusted_app -runas_app -shell -simpleperf } { domain -untrusted_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+neverallow { appdomain -runas_app -shell -simpleperf -untrusted_app } untrusted_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+# The Android security model guarantees the confidentiality and integrity
+#line 13
+# of application data and execution state. Ptrace bypasses those
+#line 13
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 13
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 13
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 13
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 13
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 13
+# live lock conditions.
+#line 13
+neverallow { domain -untrusted_app -crash_dump  -runas_app -simpleperf } untrusted_app:process ptrace;
+#line 13
+
+
+#line 14
+typeattribute untrusted_app untrusted_app_all;
+#line 14
+
+
+#line 15
+typeattribute untrusted_app netdomain;
+#line 15
+
+
+#line 16
+typeattribute untrusted_app bluetoothdomain;
+#line 16
+
+
+# Allow webview to access fd shared by sdksandbox for experiments data
+# TODO(b/229249719): Will not be supported in Android U
+allow untrusted_app sdk_sandbox_data_file:fd use;
+allow untrusted_app sdk_sandbox_data_file:file write;
+
+neverallow untrusted_app sdk_sandbox_data_file:file { open create };
+#line 1 "system/sepolicy/private/untrusted_app_25.te"
+###
+### Untrusted_app_25
+###
+### This file defines the rules for untrusted apps running with
+### targetSdkVersion <= 25.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_25 coredomain;
+
+
+#line 13
+typeattribute untrusted_app_25 appdomain;
+#line 13
+# Label tmpfs objects for all apps.
+#line 13
+type_transition untrusted_app_25 tmpfs:file appdomain_tmpfs;
+#line 13
+
+#line 13
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 13
+type untrusted_app_25_userfaultfd;
+#line 13
+type_transition untrusted_app_25 untrusted_app_25:anon_inode untrusted_app_25_userfaultfd "[userfaultfd]";
+#line 13
+# Allow domain to create/use userfaultfd anon_inode.
+#line 13
+allow untrusted_app_25 untrusted_app_25_userfaultfd:anon_inode { create ioctl read };
+#line 13
+# Suppress errors generate during bugreport
+#line 13
+dontaudit su untrusted_app_25_userfaultfd:anon_inode *;
+#line 13
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 13
+neverallow { domain -untrusted_app_25 } untrusted_app_25_userfaultfd:anon_inode *;
+#line 13
+
+#line 13
+allow untrusted_app_25 appdomain_tmpfs:file { execute getattr map read write };
+#line 13
+neverallow { untrusted_app_25 -runas_app -shell -simpleperf } { domain -untrusted_app_25 }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+neverallow { appdomain -runas_app -shell -simpleperf -untrusted_app_25 } untrusted_app_25:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+# The Android security model guarantees the confidentiality and integrity
+#line 13
+# of application data and execution state. Ptrace bypasses those
+#line 13
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 13
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 13
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 13
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 13
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 13
+# live lock conditions.
+#line 13
+neverallow { domain -untrusted_app_25 -crash_dump  -runas_app -simpleperf } untrusted_app_25:process ptrace;
+#line 13
+
+
+#line 14
+typeattribute untrusted_app_25 untrusted_app_all;
+#line 14
+
+
+#line 15
+typeattribute untrusted_app_25 netdomain;
+#line 15
+
+
+#line 16
+typeattribute untrusted_app_25 bluetoothdomain;
+#line 16
+
+
+# b/35917228 - /proc/misc access
+# This will go away in a future Android release
+allow untrusted_app_25 proc_misc:file { getattr open read ioctl lock map watch watch_reads };
+
+# Access to /proc/tty/drivers, to allow apps to determine if they
+# are running in an emulated environment.
+# b/33214085 b/33814662 b/33791054 b/33211769
+# https://github.com/strazzere/anti-emulator/blob/master/AntiEmulator/src/diff/strazzere/anti/emulator/FindEmulator.java
+# This will go away in a future Android release
+allow untrusted_app_25 proc_tty_drivers:file { getattr open read ioctl lock map watch watch_reads };
+
+# Text relocation support for API < 23. This is now disallowed for targetSdkVersion>=Q.
+# https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#text-relocations-enforced-for-api-level-23
+allow untrusted_app_25 { apk_data_file app_data_file asec_public_file }:file execmod;
+
+# The ability to call exec() on files in the apps home directories
+# for targetApi<=25. This is also allowed for targetAPIs 26, 27,
+# and 28 in untrusted_app_27.te.
+allow untrusted_app_25 app_data_file:file execute_no_trans;
+auditallow untrusted_app_25 app_data_file:file { execute execute_no_trans };
+
+# The ability to invoke dex2oat. Historically required by ART, now only
+# allowed for targetApi<=28 for compat reasons.
+allow untrusted_app_25 dex2oat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+
+# The ability to talk to /dev/ashmem directly. targetApi>=29 must use
+# ASharedMemory instead.
+allow untrusted_app_25 ashmem_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+auditallow untrusted_app_25 ashmem_device:chr_file open;
+
+# Read /mnt/sdcard symlink.
+allow untrusted_app_25 mnt_sdcard_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_25 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_25 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 57
+allow untrusted_app_25 mdnsd_socket:sock_file write;
+#line 57
+allow untrusted_app_25 mdnsd:unix_stream_socket connectto;
+#line 57
+
+#line 61
+
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_25 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_25 apk_data_file:file { watch watch_reads };
+#line 70
+
+#line 1 "system/sepolicy/private/untrusted_app_27.te"
+###
+### Untrusted_27.
+###
+### This file defines the rules for untrusted apps running with
+### 25 < targetSdkVersion <= 28.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_27 coredomain;
+
+
+#line 13
+typeattribute untrusted_app_27 appdomain;
+#line 13
+# Label tmpfs objects for all apps.
+#line 13
+type_transition untrusted_app_27 tmpfs:file appdomain_tmpfs;
+#line 13
+
+#line 13
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 13
+type untrusted_app_27_userfaultfd;
+#line 13
+type_transition untrusted_app_27 untrusted_app_27:anon_inode untrusted_app_27_userfaultfd "[userfaultfd]";
+#line 13
+# Allow domain to create/use userfaultfd anon_inode.
+#line 13
+allow untrusted_app_27 untrusted_app_27_userfaultfd:anon_inode { create ioctl read };
+#line 13
+# Suppress errors generate during bugreport
+#line 13
+dontaudit su untrusted_app_27_userfaultfd:anon_inode *;
+#line 13
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 13
+neverallow { domain -untrusted_app_27 } untrusted_app_27_userfaultfd:anon_inode *;
+#line 13
+
+#line 13
+allow untrusted_app_27 appdomain_tmpfs:file { execute getattr map read write };
+#line 13
+neverallow { untrusted_app_27 -runas_app -shell -simpleperf } { domain -untrusted_app_27 }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+neverallow { appdomain -runas_app -shell -simpleperf -untrusted_app_27 } untrusted_app_27:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+# The Android security model guarantees the confidentiality and integrity
+#line 13
+# of application data and execution state. Ptrace bypasses those
+#line 13
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 13
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 13
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 13
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 13
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 13
+# live lock conditions.
+#line 13
+neverallow { domain -untrusted_app_27 -crash_dump  -runas_app -simpleperf } untrusted_app_27:process ptrace;
+#line 13
+
+
+#line 14
+typeattribute untrusted_app_27 untrusted_app_all;
+#line 14
+
+
+#line 15
+typeattribute untrusted_app_27 netdomain;
+#line 15
+
+
+#line 16
+typeattribute untrusted_app_27 bluetoothdomain;
+#line 16
+
+
+# Text relocation support for API < 23. This is now disallowed for targetSdkVersion>=Q.
+# https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#text-relocations-enforced-for-api-level-23
+allow untrusted_app_27 { apk_data_file app_data_file asec_public_file }:file execmod;
+
+# The ability to call exec() on files in the apps home directories
+# for targetApi 26, 27, and 28.
+allow untrusted_app_27 app_data_file:file execute_no_trans;
+auditallow untrusted_app_27 app_data_file:file { execute execute_no_trans };
+
+# The ability to invoke dex2oat. Historically required by ART, now only
+# allowed for targetApi<=28 for compat reasons.
+allow untrusted_app_27 dex2oat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+
+# The ability to talk to /dev/ashmem directly. targetApi>=29 must use
+# ASharedMemory instead.
+allow untrusted_app_27 ashmem_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+auditallow untrusted_app_27 ashmem_device:chr_file open;
+
+# Read /mnt/sdcard symlink.
+allow untrusted_app_27 mnt_sdcard_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_27 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_27 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 45
+allow untrusted_app_27 mdnsd_socket:sock_file write;
+#line 45
+allow untrusted_app_27 mdnsd:unix_stream_socket connectto;
+#line 45
+
+#line 49
+
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_27 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_27 apk_data_file:file { watch watch_reads };
+#line 58
+
+#line 1 "system/sepolicy/private/untrusted_app_29.te"
+###
+### Untrusted_29.
+###
+### This file defines the rules for untrusted apps running with
+### targetSdkVersion = 29.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_29 coredomain;
+
+
+#line 13
+typeattribute untrusted_app_29 appdomain;
+#line 13
+# Label tmpfs objects for all apps.
+#line 13
+type_transition untrusted_app_29 tmpfs:file appdomain_tmpfs;
+#line 13
+
+#line 13
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 13
+type untrusted_app_29_userfaultfd;
+#line 13
+type_transition untrusted_app_29 untrusted_app_29:anon_inode untrusted_app_29_userfaultfd "[userfaultfd]";
+#line 13
+# Allow domain to create/use userfaultfd anon_inode.
+#line 13
+allow untrusted_app_29 untrusted_app_29_userfaultfd:anon_inode { create ioctl read };
+#line 13
+# Suppress errors generate during bugreport
+#line 13
+dontaudit su untrusted_app_29_userfaultfd:anon_inode *;
+#line 13
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 13
+neverallow { domain -untrusted_app_29 } untrusted_app_29_userfaultfd:anon_inode *;
+#line 13
+
+#line 13
+allow untrusted_app_29 appdomain_tmpfs:file { execute getattr map read write };
+#line 13
+neverallow { untrusted_app_29 -runas_app -shell -simpleperf } { domain -untrusted_app_29 }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+neverallow { appdomain -runas_app -shell -simpleperf -untrusted_app_29 } untrusted_app_29:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+# The Android security model guarantees the confidentiality and integrity
+#line 13
+# of application data and execution state. Ptrace bypasses those
+#line 13
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 13
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 13
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 13
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 13
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 13
+# live lock conditions.
+#line 13
+neverallow { domain -untrusted_app_29 -crash_dump  -runas_app -simpleperf } untrusted_app_29:process ptrace;
+#line 13
+
+
+#line 14
+typeattribute untrusted_app_29 untrusted_app_all;
+#line 14
+
+
+#line 15
+typeattribute untrusted_app_29 netdomain;
+#line 15
+
+
+#line 16
+typeattribute untrusted_app_29 bluetoothdomain;
+#line 16
+
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_29 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_29 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 23
+allow untrusted_app_29 mdnsd_socket:sock_file write;
+#line 23
+allow untrusted_app_29 mdnsd:unix_stream_socket connectto;
+#line 23
+
+#line 27
+
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_29 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_29 apk_data_file:file { watch watch_reads };
+#line 36
+
+#line 1 "system/sepolicy/private/untrusted_app_30.te"
+###
+### Untrusted apps.
+###
+### This file defines the rules for untrusted apps running with
+### 29 < targetSdkVersion <= 31.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+### TODO(b/192334803): Merge this policy into untrusted_app_29 when possible
+###
+
+typeattribute untrusted_app_30 coredomain;
+
+
+#line 15
+typeattribute untrusted_app_30 appdomain;
+#line 15
+# Label tmpfs objects for all apps.
+#line 15
+type_transition untrusted_app_30 tmpfs:file appdomain_tmpfs;
+#line 15
+
+#line 15
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 15
+type untrusted_app_30_userfaultfd;
+#line 15
+type_transition untrusted_app_30 untrusted_app_30:anon_inode untrusted_app_30_userfaultfd "[userfaultfd]";
+#line 15
+# Allow domain to create/use userfaultfd anon_inode.
+#line 15
+allow untrusted_app_30 untrusted_app_30_userfaultfd:anon_inode { create ioctl read };
+#line 15
+# Suppress errors generate during bugreport
+#line 15
+dontaudit su untrusted_app_30_userfaultfd:anon_inode *;
+#line 15
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 15
+neverallow { domain -untrusted_app_30 } untrusted_app_30_userfaultfd:anon_inode *;
+#line 15
+
+#line 15
+allow untrusted_app_30 appdomain_tmpfs:file { execute getattr map read write };
+#line 15
+neverallow { untrusted_app_30 -runas_app -shell -simpleperf } { domain -untrusted_app_30 }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+neverallow { appdomain -runas_app -shell -simpleperf -untrusted_app_30 } untrusted_app_30:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 15
+# The Android security model guarantees the confidentiality and integrity
+#line 15
+# of application data and execution state. Ptrace bypasses those
+#line 15
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 15
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 15
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 15
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 15
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 15
+# live lock conditions.
+#line 15
+neverallow { domain -untrusted_app_30 -crash_dump  -runas_app -simpleperf } untrusted_app_30:process ptrace;
+#line 15
+
+
+#line 16
+typeattribute untrusted_app_30 untrusted_app_all;
+#line 16
+
+
+#line 17
+typeattribute untrusted_app_30 netdomain;
+#line 17
+
+
+#line 18
+typeattribute untrusted_app_30 bluetoothdomain;
+#line 18
+
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_30 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_30 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 25
+allow untrusted_app_30 mdnsd_socket:sock_file write;
+#line 25
+allow untrusted_app_30 mdnsd:unix_stream_socket connectto;
+#line 25
+
+#line 29
+
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_30 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_30 apk_data_file:file { watch watch_reads };
+#line 38
+
+#line 1 "system/sepolicy/private/untrusted_app_32.te"
+###
+### Untrusted apps.
+###
+### This file defines the rules for untrusted apps running with
+### 31 < targetSdkVersion <= 33.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_32 coredomain;
+
+
+#line 13
+typeattribute untrusted_app_32 appdomain;
+#line 13
+# Label tmpfs objects for all apps.
+#line 13
+type_transition untrusted_app_32 tmpfs:file appdomain_tmpfs;
+#line 13
+
+#line 13
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 13
+type untrusted_app_32_userfaultfd;
+#line 13
+type_transition untrusted_app_32 untrusted_app_32:anon_inode untrusted_app_32_userfaultfd "[userfaultfd]";
+#line 13
+# Allow domain to create/use userfaultfd anon_inode.
+#line 13
+allow untrusted_app_32 untrusted_app_32_userfaultfd:anon_inode { create ioctl read };
+#line 13
+# Suppress errors generate during bugreport
+#line 13
+dontaudit su untrusted_app_32_userfaultfd:anon_inode *;
+#line 13
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 13
+neverallow { domain -untrusted_app_32 } untrusted_app_32_userfaultfd:anon_inode *;
+#line 13
+
+#line 13
+allow untrusted_app_32 appdomain_tmpfs:file { execute getattr map read write };
+#line 13
+neverallow { untrusted_app_32 -runas_app -shell -simpleperf } { domain -untrusted_app_32 }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+neverallow { appdomain -runas_app -shell -simpleperf -untrusted_app_32 } untrusted_app_32:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 13
+# The Android security model guarantees the confidentiality and integrity
+#line 13
+# of application data and execution state. Ptrace bypasses those
+#line 13
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 13
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 13
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 13
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 13
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 13
+# live lock conditions.
+#line 13
+neverallow { domain -untrusted_app_32 -crash_dump  -runas_app -simpleperf } untrusted_app_32:process ptrace;
+#line 13
+
+
+#line 14
+typeattribute untrusted_app_32 untrusted_app_all;
+#line 14
+
+
+#line 15
+typeattribute untrusted_app_32 netdomain;
+#line 15
+
+
+#line 16
+typeattribute untrusted_app_32 bluetoothdomain;
+#line 16
+
+
+# Allow webview to access fd shared by sdksandbox for experiments data
+# TODO(b/229249719): Will not be supported in Android U
+allow untrusted_app_32 sdk_sandbox_data_file:fd use;
+allow untrusted_app_32 sdk_sandbox_data_file:file write;
+
+neverallow untrusted_app_32 sdk_sandbox_data_file:file { open create };
+
+# Connect to mdnsd via mdnsd socket.
+
+#line 26
+allow untrusted_app_32 mdnsd_socket:sock_file write;
+#line 26
+allow untrusted_app_32 mdnsd:unix_stream_socket connectto;
+#line 26
+
+#line 30
+
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_32 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_32 apk_data_file:file { watch watch_reads };
+#line 39
+
+#line 1 "system/sepolicy/private/untrusted_app_all.te"
+###
+### Untrusted_app_all.
+###
+### This file defines the rules shared by all untrusted app domains except
+### ephemeral_app for instant apps and isolated_app (which has a reduced
+### permission set).
+### Apps are labeled based on mac_permissions.xml (maps signer and
+### optionally package name to seinfo value) and seapp_contexts (maps UID
+### and optionally seinfo value to domain for process and type for data
+### directory).  The untrusted_app_all attribute is assigned to all default
+### seapp_contexts for any app with UID between APP_AID (10000)
+### and AID_ISOLATED_START (99000) if the app has no specific seinfo
+### value as determined from mac_permissions.xml.  In current AOSP, this
+### attribute is assigned to all non-system apps as well as to any system apps
+### that are not signed by the platform key.  To move
+### a system app into a specific domain, add a signer entry for it to
+### mac_permissions.xml and assign it one of the pre-existing seinfo values
+### or define and use a new seinfo value in both mac_permissions.xml and
+### seapp_contexts.
+###
+### Note that rules that should apply to all untrusted apps must be in app.te or also
+### added to ephemeral_app.te.
+
+# Some apps ship with shared libraries and binaries that they write out
+# to their sandbox directory and then execute.
+allow untrusted_app_all privapp_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+allow untrusted_app_all app_data_file:file     { { getattr open read ioctl lock map watch watch_reads } execute };
+auditallow untrusted_app_all app_data_file:file execute;
+
+# Chrome Crashpad uses the the dynamic linker to load native executables
+# from an APK (b/112050209, crbug.com/928422)
+allow untrusted_app_all system_linker_exec:file execute_no_trans;
+
+# Follow priv-app symlinks. This is used for dynamite functionality.
+allow untrusted_app_all privapp_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow handling of less common filesystem objects
+allow untrusted_app_all app_data_file:{ lnk_file sock_file fifo_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow loading and deleting executable shared libraries
+# within an application home directory. Such shared libraries would be
+# created by things like renderscript or via other mechanisms.
+allow untrusted_app_all app_exec_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute unlink };
+
+# ASEC
+allow untrusted_app_all asec_apk_file:file { getattr open read ioctl lock map watch watch_reads };
+allow untrusted_app_all asec_apk_file:dir { open getattr read search ioctl lock watch watch_reads };
+# Execute libs in asec containers.
+allow untrusted_app_all asec_public_file:file { execute };
+
+# Used by Finsky / Android "Verify Apps" functionality when
+# running "adb install foo.apk".
+# TODO: Long term, we don't want apps probing into shell data files.
+# Figure out a way to remove these rules.
+allow untrusted_app_all shell_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow untrusted_app_all shell_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow traceur to pass file descriptors through a content provider to untrusted apps
+# for the purpose of sharing files through e.g. gmail
+allow untrusted_app_all trace_data_file:file { getattr read };
+
+# untrusted apps should not be able to open trace data files, they should depend
+# upon traceur to pass a file descriptor
+neverallow untrusted_app_all trace_data_file:dir *;
+neverallow untrusted_app_all trace_data_file:file { { append create link unlink relabelfrom rename setattr write } open };
+
+# neverallow untrusted apps accessing debugfs_tracing
+neverallow untrusted_app_all debugfs_tracing:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Allow to read staged apks.
+allow untrusted_app_all { apk_tmp_file apk_private_tmp_file }:file {read getattr};
+
+# Read and write system app data files passed over Binder.
+# Motivating case was /data/data/com.android.settings/cache/*.jpg for
+# cropping or taking user photos.
+allow untrusted_app_all system_app_data_file:file { read write getattr };
+
+#
+# Rules migrated from old app domains coalesced into untrusted_app.
+# This includes what used to be media_app, shared_app, and release_app.
+#
+
+# Access to /data/media.
+allow untrusted_app_all media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow untrusted_app_all media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# allow cts to query all services
+allow untrusted_app_all servicemanager:service_manager list;
+
+allow untrusted_app_all audioserver_service:service_manager find;
+allow untrusted_app_all cameraserver_service:service_manager find;
+allow untrusted_app_all drmserver_service:service_manager find;
+allow untrusted_app_all mediaserver_service:service_manager find;
+allow untrusted_app_all mediaextractor_service:service_manager find;
+allow untrusted_app_all mediametrics_service:service_manager find;
+allow untrusted_app_all mediadrmserver_service:service_manager find;
+allow untrusted_app_all nfc_service:service_manager find;
+allow untrusted_app_all radio_service:service_manager find;
+allow untrusted_app_all app_api_service:service_manager find;
+allow untrusted_app_all vr_manager_service:service_manager find;
+
+# gdbserver for ndk-gdb ptrace attaches to app process.
+allow untrusted_app_all self:process ptrace;
+
+# Android Studio Instant Run has the application connect to a
+# runas_app socket listening in the abstract namespace.
+# https://developer.android.com/studio/run/
+# b/123297648
+allow untrusted_app_all runas_app:unix_stream_socket connectto;
+
+# Untrusted apps need to be able to send a SIGCHLD to runas_app
+# when running under a debugger (b/123612207)
+allow untrusted_app_all runas_app:process sigchld;
+
+# Cts: HwRngTest
+allow untrusted_app_all sysfs_hwrandom:dir search;
+allow untrusted_app_all sysfs_hwrandom:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow apps to view preloaded media content
+allow untrusted_app_all preloads_media_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow untrusted_app_all preloads_media_file:file { getattr open read ioctl lock map watch watch_reads };
+allow untrusted_app_all preloads_data_file:dir search;
+
+# Allow untrusted apps read / execute access to /vendor/app for there can
+# be pre-installed vendor apps that package a library within themselves.
+# TODO (b/37784178) Consider creating  a special type for /vendor/app installed
+# apps.
+allow untrusted_app_all vendor_app_file:dir { open getattr read search };
+allow untrusted_app_all vendor_app_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+allow untrusted_app_all vendor_app_file:lnk_file { open getattr read };
+
+# allow untrusted apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow untrusted_app_all system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# Allow the renderscript compiler to be run.
+
+#line 138
+# Allow the necessary permissions.
+#line 138
+
+#line 138
+# Old domain may exec the file and transition to the new domain.
+#line 138
+allow untrusted_app_all rs_exec:file { getattr open read execute map };
+#line 138
+allow untrusted_app_all rs:process transition;
+#line 138
+# New domain is entered by executing the file.
+#line 138
+allow rs rs_exec:file { entrypoint open read execute getattr map };
+#line 138
+# New domain can send SIGCHLD to its caller.
+#line 138
+allow rs untrusted_app_all:process sigchld;
+#line 138
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 138
+dontaudit untrusted_app_all rs:process noatsecure;
+#line 138
+# XXX dontaudit candidate but requires further study.
+#line 138
+allow untrusted_app_all rs:process { siginh rlimitinh };
+#line 138
+
+#line 138
+# Make the transition occur by default.
+#line 138
+type_transition untrusted_app_all rs_exec:process rs;
+#line 138
+
+
+# suppress denials caused by debugfs_tracing
+dontaudit untrusted_app_all debugfs_tracing:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# This is allowed for targetSdkVersion <= 25 but disallowed on newer versions.
+dontaudit untrusted_app_all net_dns_prop:file read;
+
+# These have been disallowed since Android O.
+# For P, we assume that apps are safely handling the denial.
+dontaudit untrusted_app_all {
+  proc_stat
+  proc_uptime
+  proc_vmstat
+  proc_zoneinfo
+}:file read;
+
+# Allow the allocation and use of ptys
+# Used by: https://play.google.com/store/apps/details?id=jackpal.androidterm
+
+#line 157
+# Each domain gets a unique devpts type.
+#line 157
+type untrusted_app_all_devpts, fs_type;
+#line 157
+# Label the pty with the unique type when created.
+#line 157
+type_transition untrusted_app_all devpts:chr_file untrusted_app_all_devpts;
+#line 157
+# Allow use of the pty after creation.
+#line 157
+allow untrusted_app_all untrusted_app_all_devpts:chr_file { open getattr read write ioctl };
+#line 157
+allowxperm untrusted_app_all untrusted_app_all_devpts:chr_file ioctl {
+#line 157
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 157
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 157
+};
+#line 157
+# TIOCSTI is only ever used for exploits. Block it.
+#line 157
+# b/33073072, b/7530569
+#line 157
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+#line 157
+neverallowxperm * untrusted_app_all_devpts:chr_file ioctl 0x00005412;
+#line 157
+# Note: devpts:dir search and ptmx_device:chr_file rw_file_perms
+#line 157
+# allowed to everyone via domain.te.
+#line 157
+
+
+# Allow access to kcov via its ioctl interface for coverage
+# guided kernel fuzzing.
+#line 164
+
+
+# Allow running a VM for test/demo purposes. Note that access to the
+# service is still guarded with the
+# `android.permission.MANAGE_VIRTUAL_MACHINE` permission. The
+# protection level of the permission is
+# `signature|privileged|development` so that it can only be granted to
+# either platform-key signed apps, privileged apps, or test-only apps
+# having `android:testOnly="true"` in their manifest.
+
+#line 173
+# Transition to virtualizationmanager when the client executes it.
+#line 173
+
+#line 173
+# Allow the necessary permissions.
+#line 173
+
+#line 173
+# Old domain may exec the file and transition to the new domain.
+#line 173
+allow untrusted_app_all virtualizationmanager_exec:file { getattr open read execute map };
+#line 173
+allow untrusted_app_all virtualizationmanager:process transition;
+#line 173
+# New domain is entered by executing the file.
+#line 173
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 173
+# New domain can send SIGCHLD to its caller.
+#line 173
+allow virtualizationmanager untrusted_app_all:process sigchld;
+#line 173
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 173
+dontaudit untrusted_app_all virtualizationmanager:process noatsecure;
+#line 173
+# XXX dontaudit candidate but requires further study.
+#line 173
+allow untrusted_app_all virtualizationmanager:process { siginh rlimitinh };
+#line 173
+
+#line 173
+# Make the transition occur by default.
+#line 173
+type_transition untrusted_app_all virtualizationmanager_exec:process virtualizationmanager;
+#line 173
+
+#line 173
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 173
+allow { virtualizationmanager crosvm } untrusted_app_all:unix_stream_socket { ioctl getattr read write };
+#line 173
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 173
+allow { virtualizationmanager crosvm } untrusted_app_all:fd use;
+#line 173
+# Let the client use file descriptors created by virtualizationmanager.
+#line 173
+allow untrusted_app_all virtualizationmanager:fd use;
+#line 173
+# Allow piping console log to the client
+#line 173
+allow { virtualizationmanager crosvm } untrusted_app_all:fifo_file { ioctl getattr read write };
+#line 173
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 173
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 173
+# the client can only connect to VMs that it owns.
+#line 173
+allow untrusted_app_all virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 173
+# Allow client to inspect hypervisor capabilities
+#line 173
+
+#line 173
+allow untrusted_app_all hypervisor_prop:file { getattr open read map };
+#line 173
+
+#line 173
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 173
+allow untrusted_app_all virtualizationservice_data_file:file { getattr read };
+#line 173
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 173
+allow virtualizationmanager untrusted_app_all:dir search;
+#line 173
+allow virtualizationmanager untrusted_app_all:file read;
+#line 173
+allow virtualizationmanager untrusted_app_all:lnk_file read;
+#line 173
+
+
+#line 179
+
+#line 1 "system/sepolicy/private/update_engine.te"
+typeattribute update_engine coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init update_engine_exec:file { getattr open read execute map };
+#line 3
+allow init update_engine:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow update_engine update_engine_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init update_engine:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init update_engine:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init update_engine_exec:process update_engine;
+#line 3
+
+#line 3
+;
+
+# Allow to talk to gsid.
+allow update_engine gsi_service:service_manager find;
+
+#line 7
+# Call the server domain and optionally transfer references to it.
+#line 7
+allow update_engine gsid:binder { call transfer };
+#line 7
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 7
+allow gsid update_engine:binder transfer;
+#line 7
+# Receive and use open files from the server.
+#line 7
+allow update_engine gsid:fd use;
+#line 7
+
+
+# Allow to start gsid service.
+
+#line 10
+
+#line 10
+allow update_engine property_socket:sock_file write;
+#line 10
+allow update_engine init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow update_engine ctl_gsid_prop:property_service set;
+#line 10
+
+#line 10
+allow update_engine ctl_gsid_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+# Allow to start snapuserd for dm-user communication.
+
+#line 13
+
+#line 13
+allow update_engine property_socket:sock_file write;
+#line 13
+allow update_engine init:unix_stream_socket connectto;
+#line 13
+
+#line 13
+allow update_engine ctl_snapuserd_prop:property_service set;
+#line 13
+
+#line 13
+allow update_engine ctl_snapuserd_prop:file { getattr open read map };
+#line 13
+
+#line 13
+
+
+# Allow to set the OTA related properties, e.g. ota.warm_reset.
+
+#line 16
+
+#line 16
+allow update_engine property_socket:sock_file write;
+#line 16
+allow update_engine init:unix_stream_socket connectto;
+#line 16
+
+#line 16
+allow update_engine ota_prop:property_service set;
+#line 16
+
+#line 16
+allow update_engine ota_prop:file { getattr open read map };
+#line 16
+
+#line 16
+
+
+#line 17
+allow update_engine ota_build_prop:file { getattr open read map };
+#line 17
+
+
+# Allow to get the DSU status
+
+#line 20
+allow update_engine gsid_prop:file { getattr open read map };
+#line 20
+
+
+# Allow update_engine to call the callback function provided by GKI update hook.
+
+#line 23
+# Call the server domain and optionally transfer references to it.
+#line 23
+allow update_engine gki_apex_prepostinstall:binder { call transfer };
+#line 23
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 23
+allow gki_apex_prepostinstall update_engine:binder transfer;
+#line 23
+# Receive and use open files from the server.
+#line 23
+allow update_engine gki_apex_prepostinstall:fd use;
+#line 23
+
+
+# Allow update_engine to call the callback function by settings app
+# for the kernel update triggered using 16k developer option
+
+#line 27
+# Call the server domain and optionally transfer references to it.
+#line 27
+allow update_engine system_app:binder { call transfer };
+#line 27
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 27
+allow system_app update_engine:binder transfer;
+#line 27
+# Receive and use open files from the server.
+#line 27
+allow update_engine system_app:fd use;
+#line 27
+
+
+# Allow to communicate with the snapuserd service, for dm-user snapshots.
+allow update_engine snapuserd:unix_stream_socket connectto;
+allow update_engine snapuserd_socket:sock_file write;
+
+#line 32
+allow update_engine snapuserd_prop:file { getattr open read map };
+#line 32
+
+
+# Allow to communicate with apexd for calculating and reserving space for
+# capex decompression
+allow update_engine apex_service:service_manager find;
+
+#line 37
+# Call the server domain and optionally transfer references to it.
+#line 37
+allow update_engine apexd:binder { call transfer };
+#line 37
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 37
+allow apexd update_engine:binder transfer;
+#line 37
+# Receive and use open files from the server.
+#line 37
+allow update_engine apexd:fd use;
+#line 37
+
+
+# let this domain use the hal service
+
+#line 40
+# Call the servicemanager and transfer references to it.
+#line 40
+allow update_engine servicemanager:binder { call transfer };
+#line 40
+# Allow servicemanager to send out callbacks
+#line 40
+allow servicemanager update_engine:binder { call transfer };
+#line 40
+# servicemanager performs getpidcon on clients.
+#line 40
+allow servicemanager update_engine:dir search;
+#line 40
+allow servicemanager update_engine:file { read open };
+#line 40
+allow servicemanager update_engine:process getattr;
+#line 40
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 40
+# all domains in domain.te.
+#line 40
+
+
+#line 41
+typeattribute update_engine halclientdomain;
+#line 41
+typeattribute update_engine hal_bootctl_client;
+#line 41
+
+#line 41
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 41
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 41
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 41
+
+#line 41
+typeattribute update_engine hal_bootctl;
+#line 41
+# Find passthrough HAL implementations
+#line 41
+allow hal_bootctl system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow hal_bootctl vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow hal_bootctl vendor_file:file { read open getattr execute map };
+#line 41
+
+#line 41
+
+
+
+#line 43
+typeattribute update_engine netdomain;
+#line 43
+;
+
+# Following permissions are needed for update_engine.
+allow update_engine self:process { setsched };
+allow update_engine self:{ capability cap_userns } { fowner sys_admin };
+# Note: fsetid checks are triggered when creating a file in a directory with
+# the setgid bit set to determine if the file should inherit setgid. In this
+# case, setgid on the file is undesirable so we should just suppress the
+# denial.
+dontaudit update_engine self:{ capability cap_userns } fsetid;
+
+allow update_engine kmsg_device:chr_file { getattr { open append write lock map } };
+allow update_engine update_engine_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+#line 56
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 56
+# deprecated.
+#line 56
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 56
+allow update_engine sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 56
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 56
+allow update_engine self:{ capability2 cap2_userns } block_suspend;
+#line 56
+# system_suspend permissions
+#line 56
+
+#line 56
+# Call the server domain and optionally transfer references to it.
+#line 56
+allow update_engine system_suspend_server:binder { call transfer };
+#line 56
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 56
+allow system_suspend_server update_engine:binder transfer;
+#line 56
+# Receive and use open files from the server.
+#line 56
+allow update_engine system_suspend_server:fd use;
+#line 56
+
+#line 56
+allow update_engine system_suspend_hwservice:hwservice_manager find;
+#line 56
+# halclientdomain permissions
+#line 56
+
+#line 56
+# Call the hwservicemanager and transfer references to it.
+#line 56
+allow update_engine hwservicemanager:binder { call transfer };
+#line 56
+# Allow hwservicemanager to send out callbacks
+#line 56
+allow hwservicemanager update_engine:binder { call transfer };
+#line 56
+# hwservicemanager performs getpidcon on clients.
+#line 56
+allow hwservicemanager update_engine:dir search;
+#line 56
+allow hwservicemanager update_engine:file { read open map };
+#line 56
+allow hwservicemanager update_engine:process getattr;
+#line 56
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 56
+# all domains in domain.te.
+#line 56
+
+#line 56
+
+#line 56
+allow update_engine hwservicemanager_prop:file { getattr open read map };
+#line 56
+
+#line 56
+allow update_engine hidl_manager_hwservice:hwservice_manager find;
+#line 56
+# AIDL suspend hal permissions
+#line 56
+allow update_engine hal_system_suspend_service:service_manager find;
+#line 56
+
+#line 56
+# Call the servicemanager and transfer references to it.
+#line 56
+allow update_engine servicemanager:binder { call transfer };
+#line 56
+# Allow servicemanager to send out callbacks
+#line 56
+allow servicemanager update_engine:binder { call transfer };
+#line 56
+# servicemanager performs getpidcon on clients.
+#line 56
+allow servicemanager update_engine:dir search;
+#line 56
+allow servicemanager update_engine:file { read open };
+#line 56
+allow servicemanager update_engine:process getattr;
+#line 56
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 56
+# all domains in domain.te.
+#line 56
+
+#line 56
+;
+
+# Ignore these denials.
+dontaudit update_engine kernel:process setsched;
+dontaudit update_engine self:{ capability cap_userns } sys_rawio;
+
+# Allow using persistent storage in /data/misc/update_engine.
+allow update_engine update_engine_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow update_engine update_engine_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow using persistent storage in /data/misc/update_engine_log.
+allow update_engine update_engine_log_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow update_engine update_engine_log_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Register the service to perform Binder IPC.
+
+#line 71
+# Call the servicemanager and transfer references to it.
+#line 71
+allow update_engine servicemanager:binder { call transfer };
+#line 71
+# Allow servicemanager to send out callbacks
+#line 71
+allow servicemanager update_engine:binder { call transfer };
+#line 71
+# servicemanager performs getpidcon on clients.
+#line 71
+allow servicemanager update_engine:dir search;
+#line 71
+allow servicemanager update_engine:file { read open };
+#line 71
+allow servicemanager update_engine:process getattr;
+#line 71
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 71
+# all domains in domain.te.
+#line 71
+
+
+#line 72
+  allow update_engine update_engine_service:service_manager { add find };
+#line 72
+  neverallow { domain -update_engine } update_engine_service:service_manager add;
+#line 72
+
+#line 72
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 72
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 72
+  
+#line 72
+
+
+#line 73
+  allow update_engine update_engine_stable_service:service_manager { add find };
+#line 73
+  neverallow { domain -update_engine } update_engine_stable_service:service_manager add;
+#line 73
+
+#line 73
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 73
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 73
+  
+#line 73
+
+
+# Allow update_engine to call the callback function provided by priv_app/GMS core.
+
+#line 76
+# Call the server domain and optionally transfer references to it.
+#line 76
+allow update_engine priv_app:binder { call transfer };
+#line 76
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 76
+allow priv_app update_engine:binder transfer;
+#line 76
+# Receive and use open files from the server.
+#line 76
+allow update_engine priv_app:fd use;
+#line 76
+
+# b/142672293: No other priv-app should need this rule now that GMS core runs in its own domain.
+#line 82
+
+
+
+#line 84
+# Call the server domain and optionally transfer references to it.
+#line 84
+allow update_engine gmscore_app:binder { call transfer };
+#line 84
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 84
+allow gmscore_app update_engine:binder transfer;
+#line 84
+# Receive and use open files from the server.
+#line 84
+allow update_engine gmscore_app:fd use;
+#line 84
+
+
+# Allow update_engine to call the callback function provided by system_server.
+
+#line 87
+# Call the server domain and optionally transfer references to it.
+#line 87
+allow update_engine system_server:binder { call transfer };
+#line 87
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 87
+allow system_server update_engine:binder transfer;
+#line 87
+# Receive and use open files from the server.
+#line 87
+allow update_engine system_server:fd use;
+#line 87
+
+
+# Read OTA zip file at /data/ota_package/.
+allow update_engine ota_package_file:file { getattr open read ioctl lock map watch watch_reads };
+allow update_engine ota_package_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Use Boot Control HAL
+
+#line 94
+typeattribute update_engine halclientdomain;
+#line 94
+typeattribute update_engine hal_bootctl_client;
+#line 94
+
+#line 94
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 94
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 94
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 94
+
+#line 94
+typeattribute update_engine hal_bootctl;
+#line 94
+# Find passthrough HAL implementations
+#line 94
+allow hal_bootctl system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 94
+allow hal_bootctl vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 94
+allow hal_bootctl vendor_file:file { read open getattr execute map };
+#line 94
+
+#line 94
+
+
+# access /proc/misc
+allow update_engine proc_misc:file { getattr open read ioctl lock map watch watch_reads };
+
+# read directories on /system and /vendor
+allow update_engine system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow ReadDefaultFstab().
+# update_engine tries to determine the parent path for all devices (e.g.
+# /dev/block/by-name) by reading the default fstab and looking for the misc
+# device.
+
+#line 106
+  allow update_engine { metadata_file gsi_metadata_file_type }:dir search;
+#line 106
+  allow update_engine gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 106
+  allow update_engine { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 106
+
+
+# Allow to write to snapshotctl_log logs.
+# TODO(b/148818798) revert when parent bug is fixed.
+#line 113
+
+
+# Allow determining filesystems available on system.
+# Needed for checking if overlayfs is enabled
+allow update_engine proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+allow update_engine vendor_boot_ota_file:dir { { open getattr read search ioctl lock watch watch_reads } };
+allow update_engine vendor_boot_ota_file:file { { getattr open read ioctl lock map watch watch_reads } };
+#line 1 "system/sepolicy/private/update_engine_common.te"
+# update_engine payload application permissions. These are shared between the
+# background daemon and the recovery tool to sideload an update.
+
+# type_transition must be private policy the domain_trans rules could stay
+# public, but conceptually should go with this
+# The postinstall program is run by update_engine_common and must be tagged
+# with postinstall_exec in the new filesystem.
+# TODO Have build system attempt to verify this
+
+#line 9
+# Allow the necessary permissions.
+#line 9
+
+#line 9
+# Old domain may exec the file and transition to the new domain.
+#line 9
+allow update_engine_common postinstall_exec:file { getattr open read execute map };
+#line 9
+allow update_engine_common postinstall:process transition;
+#line 9
+# New domain is entered by executing the file.
+#line 9
+allow postinstall postinstall_exec:file { entrypoint open read execute getattr map };
+#line 9
+# New domain can send SIGCHLD to its caller.
+#line 9
+allow postinstall update_engine_common:process sigchld;
+#line 9
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 9
+dontaudit update_engine_common postinstall:process noatsecure;
+#line 9
+# XXX dontaudit candidate but requires further study.
+#line 9
+allow update_engine_common postinstall:process { siginh rlimitinh };
+#line 9
+
+#line 9
+# Make the transition occur by default.
+#line 9
+type_transition update_engine_common postinstall_exec:process postinstall;
+#line 9
+
+
+# Vendor directories can have the transition as well during OTA. This is caused
+# by update_engine execing scripts in vendor to perform any update tasks needed
+# there.
+
+#line 14
+# Allow the necessary permissions.
+#line 14
+
+#line 14
+# Old domain may exec the file and transition to the new domain.
+#line 14
+allow update_engine_common postinstall_file:file { getattr open read execute map };
+#line 14
+allow update_engine_common postinstall:process transition;
+#line 14
+# New domain is entered by executing the file.
+#line 14
+allow postinstall postinstall_file:file { entrypoint open read execute getattr map };
+#line 14
+# New domain can send SIGCHLD to its caller.
+#line 14
+allow postinstall update_engine_common:process sigchld;
+#line 14
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 14
+dontaudit update_engine_common postinstall:process noatsecure;
+#line 14
+# XXX dontaudit candidate but requires further study.
+#line 14
+allow update_engine_common postinstall:process { siginh rlimitinh };
+#line 14
+
+#line 14
+# Make the transition occur by default.
+#line 14
+type_transition update_engine_common postinstall_file:process postinstall;
+#line 14
+
+
+# Allow update_engine to reach block devices in /dev/block.
+allow update_engine_common block_device:dir search;
+
+# Allow read/write on system and boot partitions.
+allow update_engine_common boot_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow update_engine_common system_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Where ioctls are granted via standard allow rules to block devices,
+# automatically allow common ioctls that are generally needed by
+# update_engine.
+allowxperm update_engine_common dev_type:blk_file ioctl {
+  0x00001277
+  0x0000127c
+  0x0000125e
+  0x0000125d
+  0x0000127d
+  0x0000127f
+};
+
+# Allow to set recovery options in the BCB. Used to trigger factory reset when
+# the update to an older version (channel change) or incompatible version
+# requires it.
+allow update_engine_common misc_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# read fstab
+allow update_engine_common rootfs:dir getattr;
+allow update_engine_common rootfs:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow update_engine_common to mount on the /postinstall directory and reset the
+# labels on the mounted filesystem to postinstall_file.
+allow update_engine_common postinstall_mnt_dir:dir { mounton getattr search };
+allow update_engine_common postinstall_file:filesystem { mount unmount relabelfrom relabelto };
+allow update_engine_common labeledfs:filesystem { mount unmount relabelfrom };
+
+# Allow update_engine_common to read and execute postinstall_file.
+allow update_engine_common postinstall_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow update_engine_common postinstall_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow update_engine_common postinstall_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# install update.zip from cache
+
+#line 56
+allow update_engine_common cache_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 56
+allow update_engine_common cache_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 56
+
+
+# A postinstall program is typically a shell script (with a #!), so we allow
+# to execute those.
+allow update_engine_common shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow update_engine_common to suspend, resume and kill the postinstall program.
+allow update_engine_common postinstall:process { signal sigstop sigkill };
+
+# access /proc/cmdline
+allow update_engine_common proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read files in /sys/firmware/devicetree/base/firmware/android/
+
+#line 69
+allow update_engine_common sysfs_dt_firmware_android:dir { open getattr read search ioctl lock watch watch_reads };
+#line 69
+allow update_engine_common sysfs_dt_firmware_android:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 69
+
+
+# Needed because libdm reads sysfs to validate when a dm path is ready.
+
+#line 72
+allow update_engine_common sysfs_dm:dir { open getattr read search ioctl lock watch watch_reads };
+#line 72
+allow update_engine_common sysfs_dm:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 72
+
+
+# Scan files in /sys/fs/ext4 and /sys/fs/f2fs for device-mapper diagnostics.
+allow update_engine_common sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+allow update_engine_common sysfs_fs_f2fs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# read / write on /dev/device-mapper to map / unmap devices
+allow update_engine_common dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# apply / verify updates on devices mapped via device mapper
+allow update_engine_common dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# read /dev/dm-user, so that we can inotify wait for control devices to be
+# asynchronously created by ueventd.
+allow update_engine dm_user_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow update_engine dm_user_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# read / write metadata on super device to resize partitions
+allow update_engine_common super_block_device_type:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# ioctl on super device to get block device alignment and alignment offset
+allowxperm update_engine_common super_block_device_type:blk_file ioctl { 0x00001278 0x0000127a };
+
+# get physical block device to map logical partitions on device mapper
+allow update_engine_common block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow update_engine_common to write to statsd socket.
+
+#line 99
+allow update_engine_common statsdw_socket:sock_file write;
+#line 99
+allow update_engine_common statsd:unix_dgram_socket sendto;
+#line 99
+
+
+# Allow to read Virtual A/B feature flags.
+
+#line 102
+allow update_engine_common virtual_ab_prop:file { getattr open read map };
+#line 102
+
+
+# Allow to read GKI related flags.
+
+#line 105
+allow update_engine_common ab_update_gki_prop:file { getattr open read map };
+#line 105
+
+
+#line 106
+allow update_engine_common build_bootimage_prop:file { getattr open read map };
+#line 106
+
+
+# Allow to read/write/create OTA metadata files for snapshot status and COW file status.
+allow update_engine_common metadata_file:dir search;
+allow update_engine_common ota_metadata_file:dir { { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } rmdir };
+allow update_engine_common ota_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1 "system/sepolicy/private/update_verifier.te"
+typeattribute update_verifier coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init update_verifier_exec:file { getattr open read execute map };
+#line 3
+allow init update_verifier:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow update_verifier update_verifier_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init update_verifier:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init update_verifier:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init update_verifier_exec:process update_verifier;
+#line 3
+
+#line 3
+
+
+# Allow update_verifier to reboot the device.
+
+#line 6
+
+#line 6
+allow update_verifier property_socket:sock_file write;
+#line 6
+allow update_verifier init:unix_stream_socket connectto;
+#line 6
+
+#line 6
+allow update_verifier powerctl_prop:property_service set;
+#line 6
+
+#line 6
+allow update_verifier powerctl_prop:file { getattr open read map };
+#line 6
+
+#line 6
+
+
+# Allow to set the OTA related properties e.g. ota.warm_reset.
+
+#line 9
+
+#line 9
+allow update_verifier property_socket:sock_file write;
+#line 9
+allow update_verifier init:unix_stream_socket connectto;
+#line 9
+
+#line 9
+allow update_verifier ota_prop:property_service set;
+#line 9
+
+#line 9
+allow update_verifier ota_prop:file { getattr open read map };
+#line 9
+
+#line 9
+
+
+# allow update_verifier to connect to snapuserd daemon
+allow update_verifier snapuserd_socket:sock_file write;
+allow update_verifier snapuserd:unix_stream_socket connectto;
+
+# virtual a/b properties
+
+#line 16
+allow update_verifier virtual_ab_prop:file { getattr open read map };
+#line 16
+
+
+# Allow update_verifier to reach block devices in /dev/block.
+allow update_verifier block_device:dir search;
+
+# Read care map in /data/ota_package/.
+allow update_verifier ota_package_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow update_verifier ota_package_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read /sys/block to find all the DM directories like (/sys/block/dm-X).
+allow update_verifier sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Read /sys/block/dm-X/dm/name (which is a symlink to
+# /sys/devices/virtual/block/dm-X/dm/name) to identify the mapping between
+# dm-X and system/vendor partitions.
+allow update_verifier sysfs_dm:dir { open getattr read search ioctl lock watch watch_reads };
+allow update_verifier sysfs_dm:file { getattr open read ioctl lock map watch watch_reads };
+
+# Read all blocks in DM wrapped system partition.
+allow update_verifier dm_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Write to kernel message.
+allow update_verifier kmsg_device:chr_file { getattr { open append write lock map } };
+
+# Use Boot Control HAL
+
+#line 41
+typeattribute update_verifier halclientdomain;
+#line 41
+typeattribute update_verifier hal_bootctl_client;
+#line 41
+
+#line 41
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 41
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 41
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 41
+
+#line 41
+typeattribute update_verifier hal_bootctl;
+#line 41
+# Find passthrough HAL implementations
+#line 41
+allow hal_bootctl system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow hal_bootctl vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 41
+allow hal_bootctl vendor_file:file { read open getattr execute map };
+#line 41
+
+#line 41
+
+
+# Access Checkpoint commands over binder
+allow update_verifier vold_service:service_manager find;
+
+#line 45
+# Call the server domain and optionally transfer references to it.
+#line 45
+allow update_verifier servicemanager:binder { call transfer };
+#line 45
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 45
+allow servicemanager update_verifier:binder transfer;
+#line 45
+# Receive and use open files from the server.
+#line 45
+allow update_verifier servicemanager:fd use;
+#line 45
+
+
+#line 46
+# Call the server domain and optionally transfer references to it.
+#line 46
+allow update_verifier vold:binder { call transfer };
+#line 46
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 46
+allow vold update_verifier:binder transfer;
+#line 46
+# Receive and use open files from the server.
+#line 46
+allow update_verifier vold:fd use;
+#line 46
+
+#line 1 "system/sepolicy/private/uprobestats.te"
+type uprobestats, domain, coredomain;
+
+typeattribute uprobestats bpfdomain;
+
+type uprobestats_exec, system_file_type, exec_type, file_type;
+
+# Allow init to start uprobestats.
+
+#line 8
+
+#line 8
+# Allow the necessary permissions.
+#line 8
+
+#line 8
+# Old domain may exec the file and transition to the new domain.
+#line 8
+allow init uprobestats_exec:file { getattr open read execute map };
+#line 8
+allow init uprobestats:process transition;
+#line 8
+# New domain is entered by executing the file.
+#line 8
+allow uprobestats uprobestats_exec:file { entrypoint open read execute getattr map };
+#line 8
+# New domain can send SIGCHLD to its caller.
+#line 8
+
+#line 8
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 8
+dontaudit init uprobestats:process noatsecure;
+#line 8
+# XXX dontaudit candidate but requires further study.
+#line 8
+allow init uprobestats:process { siginh rlimitinh };
+#line 8
+
+#line 8
+# Make the transition occur by default.
+#line 8
+type_transition init uprobestats_exec:process uprobestats;
+#line 8
+
+#line 8
+
+
+allow uprobestats fs_bpf_uprobestats:file { read write };
+allow uprobestats fs_bpf_uprobestats:dir search;
+allow uprobestats bpfloader:bpf { map_read map_write prog_run };
+allow uprobestats self:capability2 perfmon;
+allow uprobestats self:perf_event { cpu open write };
+allow uprobestats sysfs_uprobe:file { open read };
+allow uprobestats sysfs_uprobe:dir { search };
+
+# Allow uprobestats to popen oatdump.
+allow uprobestats system_file:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow uprobestats to write atoms to statsd
+
+#line 22
+allow uprobestats statsdw_socket:sock_file write;
+#line 22
+allow uprobestats statsd:unix_dgram_socket sendto;
+#line 22
+
+
+# For registration with system server as a process observer.
+
+#line 25
+# Call the servicemanager and transfer references to it.
+#line 25
+allow uprobestats servicemanager:binder { call transfer };
+#line 25
+# Allow servicemanager to send out callbacks
+#line 25
+allow servicemanager uprobestats:binder { call transfer };
+#line 25
+# servicemanager performs getpidcon on clients.
+#line 25
+allow servicemanager uprobestats:dir search;
+#line 25
+allow servicemanager uprobestats:file { read open };
+#line 25
+allow servicemanager uprobestats:process getattr;
+#line 25
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 25
+# all domains in domain.te.
+#line 25
+
+allow uprobestats activity_service:service_manager find;
+allow uprobestats dynamic_instrumentation_service:service_manager find;
+
+#line 28
+# Call the server domain and optionally transfer references to it.
+#line 28
+allow uprobestats system_server:binder { call transfer };
+#line 28
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 28
+allow system_server uprobestats:binder transfer;
+#line 28
+# Receive and use open files from the server.
+#line 28
+allow uprobestats system_server:fd use;
+#line 28
+;
+
+# Allow uprobestats to talk to native package manager
+allow uprobestats package_native_service:service_manager find;
+
+# Allow uprobestats to scan /proc/<pid>/cmdline.
+
+#line 34
+allow uprobestats { domain -appdomain }:dir { open getattr read search ioctl lock watch watch_reads };
+#line 34
+allow uprobestats { domain -appdomain }:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 34
+
+
+# Allow uprobestats to manage its own config files.
+allow uprobestats uprobestats_configs_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow uprobestats uprobestats_configs_data_file:file { { getattr open read ioctl lock map watch watch_reads } unlink };
+#line 1 "system/sepolicy/private/usbd.te"
+typeattribute usbd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init usbd_exec:file { getattr open read execute map };
+#line 3
+allow init usbd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow usbd usbd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init usbd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init usbd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init usbd_exec:process usbd;
+#line 3
+
+#line 3
+
+
+# Access usb gadget hal
+
+#line 6
+typeattribute usbd halclientdomain;
+#line 6
+typeattribute usbd hal_usb_gadget_client;
+#line 6
+
+#line 6
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 6
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 6
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 6
+
+#line 6
+typeattribute usbd hal_usb_gadget;
+#line 6
+# Find passthrough HAL implementations
+#line 6
+allow hal_usb_gadget system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_usb_gadget vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 6
+allow hal_usb_gadget vendor_file:file { read open getattr execute map };
+#line 6
+
+#line 6
+
+
+# Access persist.sys.usb.config
+
+#line 9
+allow usbd system_prop:file { getattr open read map };
+#line 9
+
+
+# start adbd during boot if adb is enabled
+
+#line 12
+
+#line 12
+allow usbd property_socket:sock_file write;
+#line 12
+allow usbd init:unix_stream_socket connectto;
+#line 12
+
+#line 12
+allow usbd ctl_default_prop:property_service set;
+#line 12
+
+#line 12
+allow usbd ctl_default_prop:file { getattr open read map };
+#line 12
+
+#line 12
+
+
+# Start/stop adbd via ctl.start adbd
+
+#line 15
+
+#line 15
+allow usbd property_socket:sock_file write;
+#line 15
+allow usbd init:unix_stream_socket connectto;
+#line 15
+
+#line 15
+allow usbd ctl_adbd_prop:property_service set;
+#line 15
+
+#line 15
+allow usbd ctl_adbd_prop:file { getattr open read map };
+#line 15
+
+#line 15
+
+
+
+#line 17
+# Call the server domain and optionally transfer references to it.
+#line 17
+allow usbd servicemanager:binder { call transfer };
+#line 17
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 17
+allow servicemanager usbd:binder transfer;
+#line 17
+# Receive and use open files from the server.
+#line 17
+allow usbd servicemanager:fd use;
+#line 17
+
+#line 1 "system/sepolicy/private/userdata_sysdev.te"
+allow userdata_sysdev sysfs:filesystem associate;
+#line 1 "system/sepolicy/private/vdc.te"
+typeattribute vdc coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init vdc_exec:file { getattr open read execute map };
+#line 3
+allow init vdc:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow vdc vdc_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init vdc:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init vdc:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init vdc_exec:process vdc;
+#line 3
+
+#line 3
+
+
+# Allow stdin/out back to vehicle_binding_util
+allow vdc vehicle_binding_util:fd use;
+
+# vdc can be invoked with logwrapper, so let it write to pty
+allow vdc devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# vdc writes directly to kmsg during the boot process
+allow vdc kmsg_device:chr_file { getattr { open append write lock map } };
+
+# vdc talks to vold over Binder
+
+#line 15
+# Call the servicemanager and transfer references to it.
+#line 15
+allow vdc servicemanager:binder { call transfer };
+#line 15
+# Allow servicemanager to send out callbacks
+#line 15
+allow servicemanager vdc:binder { call transfer };
+#line 15
+# servicemanager performs getpidcon on clients.
+#line 15
+allow servicemanager vdc:dir search;
+#line 15
+allow servicemanager vdc:file { read open };
+#line 15
+allow servicemanager vdc:process getattr;
+#line 15
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 15
+# all domains in domain.te.
+#line 15
+
+
+#line 16
+# Call the server domain and optionally transfer references to it.
+#line 16
+allow vdc vold:binder { call transfer };
+#line 16
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 16
+allow vold vdc:binder transfer;
+#line 16
+# Receive and use open files from the server.
+#line 16
+allow vdc vold:fd use;
+#line 16
+
+allow vdc vold_service:service_manager find;
+#line 1 "system/sepolicy/private/vehicle_binding_util.te"
+# vehicle binding util startup application
+type vehicle_binding_util, domain, coredomain;
+
+# allow init to start vehicle_binding_util
+type vehicle_binding_util_exec, exec_type, file_type, system_file_type;
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init vehicle_binding_util_exec:file { getattr open read execute map };
+#line 6
+allow init vehicle_binding_util:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow vehicle_binding_util vehicle_binding_util_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init vehicle_binding_util:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init vehicle_binding_util:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init vehicle_binding_util_exec:process vehicle_binding_util;
+#line 6
+
+#line 6
+
+
+# allow writing to kmsg during boot
+allow vehicle_binding_util kmsg_device:chr_file { getattr { open append write lock map } };
+
+# allow reading the binding property from HIDL VHAL.
+
+#line 12
+# Call the hwservicemanager and transfer references to it.
+#line 12
+allow vehicle_binding_util hwservicemanager:binder { call transfer };
+#line 12
+# Allow hwservicemanager to send out callbacks
+#line 12
+allow hwservicemanager vehicle_binding_util:binder { call transfer };
+#line 12
+# hwservicemanager performs getpidcon on clients.
+#line 12
+allow hwservicemanager vehicle_binding_util:dir search;
+#line 12
+allow hwservicemanager vehicle_binding_util:file { read open map };
+#line 12
+allow hwservicemanager vehicle_binding_util:process getattr;
+#line 12
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 12
+# all domains in domain.te.
+#line 12
+
+# allow reading the binding property from AIDL VHAL.
+
+#line 14
+# Call the servicemanager and transfer references to it.
+#line 14
+allow vehicle_binding_util servicemanager:binder { call transfer };
+#line 14
+# Allow servicemanager to send out callbacks
+#line 14
+allow servicemanager vehicle_binding_util:binder { call transfer };
+#line 14
+# servicemanager performs getpidcon on clients.
+#line 14
+allow servicemanager vehicle_binding_util:dir search;
+#line 14
+allow servicemanager vehicle_binding_util:file { read open };
+#line 14
+allow servicemanager vehicle_binding_util:process getattr;
+#line 14
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+
+#line 15
+typeattribute vehicle_binding_util halclientdomain;
+#line 15
+typeattribute vehicle_binding_util hal_vehicle_client;
+#line 15
+
+#line 15
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 15
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 15
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 15
+
+#line 15
+typeattribute vehicle_binding_util hal_vehicle;
+#line 15
+# Find passthrough HAL implementations
+#line 15
+allow hal_vehicle system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_vehicle vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 15
+allow hal_vehicle vendor_file:file { read open getattr execute map };
+#line 15
+
+#line 15
+
+
+# allow executing vdc
+
+#line 18
+# Allow the necessary permissions.
+#line 18
+
+#line 18
+# Old domain may exec the file and transition to the new domain.
+#line 18
+allow vehicle_binding_util vdc_exec:file { getattr open read execute map };
+#line 18
+allow vehicle_binding_util vdc:process transition;
+#line 18
+# New domain is entered by executing the file.
+#line 18
+allow vdc vdc_exec:file { entrypoint open read execute getattr map };
+#line 18
+# New domain can send SIGCHLD to its caller.
+#line 18
+allow vdc vehicle_binding_util:process sigchld;
+#line 18
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 18
+dontaudit vehicle_binding_util vdc:process noatsecure;
+#line 18
+# XXX dontaudit candidate but requires further study.
+#line 18
+allow vehicle_binding_util vdc:process { siginh rlimitinh };
+#line 18
+
+#line 18
+# Make the transition occur by default.
+#line 18
+type_transition vehicle_binding_util vdc_exec:process vdc;
+#line 18
+
+
+# devpts is needed to redirect output from vdc
+allow vehicle_binding_util devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+#line 1 "system/sepolicy/private/vendor_init.te"
+# Creating files on sysfs is impossible so this isn't a threat
+# Sometimes we have to write to non-existent files to avoid conditional
+# init behavior. See b/35303861 for an example.
+dontaudit vendor_init sysfs:dir write;
+
+# TODO(b/140259336) We want to remove vendor_init in the long term but allow for now
+allow vendor_init system_data_root_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Let vendor_init set service.adb.tcp.port.
+
+#line 10
+
+#line 10
+allow vendor_init property_socket:sock_file write;
+#line 10
+allow vendor_init init:unix_stream_socket connectto;
+#line 10
+
+#line 10
+allow vendor_init adbd_config_prop:property_service set;
+#line 10
+
+#line 10
+allow vendor_init adbd_config_prop:file { getattr open read map };
+#line 10
+
+#line 10
+
+
+# Let vendor_init react to AVF device config changes
+
+#line 13
+allow vendor_init device_config_virtualization_framework_native_prop:file { getattr open read map };
+#line 13
+
+
+# Let vendor_init use apex.<name>.ready to start services from vendor APEX
+
+#line 16
+allow vendor_init apex_ready_prop:file { getattr open read map };
+#line 16
+
+
+# Let vendor_init read ro.fstype.data to process init.rc triggers
+# for this property
+
+#line 20
+allow vendor_init fstype_prop:file { getattr open read map };
+#line 20
+
+
+# chown/chmod on devices, e.g. /dev/ttyHS0
+allow vendor_init {
+  dev_type
+  -keychord_device
+  -vm_manager_device_type
+  -port_device
+  -lowpan_device
+  -hw_random_device
+}:chr_file setattr;
+
+# Communication to the main init process
+allow vendor_init init:unix_stream_socket { read write };
+
+# Logging to kmsg
+allow vendor_init kmsg_device:chr_file { open getattr write };
+
+# Mount on /dev/usb-ffs/adb.
+allow vendor_init device:dir mounton;
+
+# Create and remove symlinks in /.
+allow vendor_init rootfs:lnk_file { create unlink };
+
+# Create cgroups mount points in tmpfs and mount cgroups on them.
+allow vendor_init cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vendor_init cgroup:file { open append write lock map };
+allow vendor_init cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vendor_init cgroup_v2:file { open append write lock map };
+
+# /config
+allow vendor_init configfs:dir mounton;
+allow vendor_init configfs:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vendor_init configfs:{ file lnk_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Create directories under /dev/cpuctl after chowning it to system.
+allow vendor_init self:{ capability cap_userns } { dac_override dac_read_search };
+
+# mkdir, symlink, write, rm/rmdir, chown/chmod, restorecon/restorecon_recursive from init.rc files.
+# chown/chmod require open+read+setattr required for open()+fchown/fchmod().
+# system/core/init.rc requires at least cache_file and data_file_type.
+# init.<board>.rc files often include device-specific types, so
+# we just allow all file types except /system files here.
+allow vendor_init self:{ capability cap_userns } { chown fowner fsetid };
+
+# mkdir with FBE requires reading /data/unencrypted/{ref,mode}.
+allow vendor_init unencrypted_data_file:dir search;
+allow vendor_init unencrypted_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Set encryption policy on dirs in /data
+allowxperm vendor_init data_file_type:dir ioctl {
+  0x400c6615
+  0x800c6613
+};
+
+allow vendor_init system_data_file:dir getattr;
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -system_dlkm_file_type
+  -system_file_type
+  -mnt_product_file
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:dir { create search getattr open read setattr ioctl write add_name remove_name rmdir relabelfrom };
+
+allow vendor_init unlabeled:{ dir { file lnk_file sock_file fifo_file } } { getattr relabelfrom };
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -runtime_event_log_tags_file
+  -system_dlkm_file_type
+  -system_file_type
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -apex_info_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+  -tradeinmode_metadata_file
+  -proc_kallsyms
+  # BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 120
+-debugfs_type
+#line 120
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 120
+
+}:file { create getattr open read write setattr relabelfrom unlink map };
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -system_dlkm_file_type
+  -system_file_type
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:{ sock_file fifo_file } { create getattr open read setattr relabelfrom unlink };
+
+allow vendor_init {
+  file_type
+  -apex_mnt_dir
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -system_dlkm_file_type
+  -system_file_type
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:lnk_file { create getattr setattr relabelfrom unlink };
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -mnt_product_file
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } relabelto;
+
+allow vendor_init dev_type:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vendor_init dev_type:lnk_file create;
+
+# Disable tracing by writing to /sys/kernel/debug/tracing/tracing_on
+allow vendor_init debugfs_tracing:file { open append write lock map };
+
+# chown/chmod on pseudo files.
+allow vendor_init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -keychord_device
+  -sdcard_type
+  -fusefs_type
+  -rootfs
+  -proc_uid_time_in_state
+  -proc_uid_concurrent_active_time
+  -proc_uid_concurrent_policy_time
+  -proc_kallsyms
+  # BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 200
+-debugfs_type
+#line 200
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+#line 200
+
+}:file { open read setattr map };
+
+allow vendor_init tracefs_type:file { open read setattr map };
+
+allow vendor_init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -sdcard_type
+  -fusefs_type
+  -rootfs
+  -proc_uid_time_in_state
+  -proc_uid_concurrent_active_time
+  -proc_uid_concurrent_policy_time
+}:dir { open read setattr search };
+
+allow vendor_init dev_type:blk_file getattr;
+
+# Write to /proc/sys/net/ping_group_range and other /proc/sys/net files.
+
+#line 220
+allow vendor_init proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 220
+allow vendor_init proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 220
+
+allow vendor_init proc_net_type:file { open append write lock map };
+allow vendor_init self:{ capability cap_userns } net_admin;
+
+# Write to /proc/sys/vm/page-cluster
+allow vendor_init proc_page_cluster:file { open append write lock map };
+
+# Write to sysfs nodes.
+allow vendor_init sysfs_type:dir { open getattr read search ioctl lock watch watch_reads };
+allow vendor_init sysfs_type:lnk_file read;
+allow vendor_init { sysfs_type -sysfs_usermodehelper }:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# setfscreatecon() for labeling directories and socket files.
+allow vendor_init self:process { setfscreate };
+
+
+#line 235
+allow vendor_init vendor_file_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 235
+allow vendor_init vendor_file_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 235
+
+
+# Vendor init can read properties
+allow vendor_init serialno_prop:file { getattr open read map };
+
+# Vendor init can perform operations on trusted and security Extended Attributes
+allow vendor_init self:{ capability cap_userns } sys_admin;
+
+# Raw writes to misc block device
+allow vendor_init misc_block_device:blk_file { open append write lock map };
+
+# vendor_init is using bootstrap bionic
+
+#line 247
+  allow vendor_init system_bootstrap_lib_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 247
+  allow vendor_init system_bootstrap_lib_file:file { execute read open getattr map };
+#line 247
+
+
+# allow filesystem tuning
+allow vendor_init userdata_sysdev:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Everything is labeled as rootfs in recovery mode. Vendor init has to execute
+# the dynamic linker and shared libraries.
+#line 256
+
+
+
+#line 258
+    
+#line 258
+
+#line 258
+allow vendor_init property_socket:sock_file write;
+#line 258
+allow vendor_init init:unix_stream_socket connectto;
+#line 258
+
+#line 258
+allow vendor_init {
+#line 258
+      property_type
+#line 258
+      -system_internal_property_type
+#line 258
+      -system_restricted_property_type
+#line 258
+    }:property_service set;
+#line 258
+
+#line 258
+allow vendor_init {
+#line 258
+      property_type
+#line 258
+      -system_internal_property_type
+#line 258
+      -system_restricted_property_type
+#line 258
+    }:file { getattr open read map };
+#line 258
+
+#line 258
+
+#line 264
+
+
+# Get file context
+allow vendor_init file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow vendor_init to (re)set nice
+allow vendor_init self:capability sys_nice;
+
+
+#line 272
+
+#line 272
+allow vendor_init property_socket:sock_file write;
+#line 272
+allow vendor_init init:unix_stream_socket connectto;
+#line 272
+
+#line 272
+allow vendor_init apk_verity_prop:property_service set;
+#line 272
+
+#line 272
+allow vendor_init apk_verity_prop:file { getattr open read map };
+#line 272
+
+#line 272
+
+
+#line 273
+
+#line 273
+allow vendor_init property_socket:sock_file write;
+#line 273
+allow vendor_init init:unix_stream_socket connectto;
+#line 273
+
+#line 273
+allow vendor_init bluetooth_a2dp_offload_prop:property_service set;
+#line 273
+
+#line 273
+allow vendor_init bluetooth_a2dp_offload_prop:file { getattr open read map };
+#line 273
+
+#line 273
+
+
+#line 274
+
+#line 274
+allow vendor_init property_socket:sock_file write;
+#line 274
+allow vendor_init init:unix_stream_socket connectto;
+#line 274
+
+#line 274
+allow vendor_init bluetooth_audio_hal_prop:property_service set;
+#line 274
+
+#line 274
+allow vendor_init bluetooth_audio_hal_prop:file { getattr open read map };
+#line 274
+
+#line 274
+
+
+#line 275
+
+#line 275
+allow vendor_init property_socket:sock_file write;
+#line 275
+allow vendor_init init:unix_stream_socket connectto;
+#line 275
+
+#line 275
+allow vendor_init bluetooth_config_prop:property_service set;
+#line 275
+
+#line 275
+allow vendor_init bluetooth_config_prop:file { getattr open read map };
+#line 275
+
+#line 275
+
+
+#line 276
+
+#line 276
+allow vendor_init property_socket:sock_file write;
+#line 276
+allow vendor_init init:unix_stream_socket connectto;
+#line 276
+
+#line 276
+allow vendor_init camera2_extensions_prop:property_service set;
+#line 276
+
+#line 276
+allow vendor_init camera2_extensions_prop:file { getattr open read map };
+#line 276
+
+#line 276
+
+
+#line 277
+
+#line 277
+allow vendor_init property_socket:sock_file write;
+#line 277
+allow vendor_init init:unix_stream_socket connectto;
+#line 277
+
+#line 277
+allow vendor_init camerax_extensions_prop:property_service set;
+#line 277
+
+#line 277
+allow vendor_init camerax_extensions_prop:file { getattr open read map };
+#line 277
+
+#line 277
+
+
+#line 278
+
+#line 278
+allow vendor_init property_socket:sock_file write;
+#line 278
+allow vendor_init init:unix_stream_socket connectto;
+#line 278
+
+#line 278
+allow vendor_init cpu_variant_prop:property_service set;
+#line 278
+
+#line 278
+allow vendor_init cpu_variant_prop:file { getattr open read map };
+#line 278
+
+#line 278
+
+
+#line 279
+
+#line 279
+allow vendor_init property_socket:sock_file write;
+#line 279
+allow vendor_init init:unix_stream_socket connectto;
+#line 279
+
+#line 279
+allow vendor_init dalvik_config_prop:property_service set;
+#line 279
+
+#line 279
+allow vendor_init dalvik_config_prop:file { getattr open read map };
+#line 279
+
+#line 279
+
+
+#line 280
+
+#line 280
+allow vendor_init property_socket:sock_file write;
+#line 280
+allow vendor_init init:unix_stream_socket connectto;
+#line 280
+
+#line 280
+allow vendor_init dalvik_dynamic_config_prop:property_service set;
+#line 280
+
+#line 280
+allow vendor_init dalvik_dynamic_config_prop:file { getattr open read map };
+#line 280
+
+#line 280
+
+
+#line 281
+
+#line 281
+allow vendor_init property_socket:sock_file write;
+#line 281
+allow vendor_init init:unix_stream_socket connectto;
+#line 281
+
+#line 281
+allow vendor_init dalvik_runtime_prop:property_service set;
+#line 281
+
+#line 281
+allow vendor_init dalvik_runtime_prop:file { getattr open read map };
+#line 281
+
+#line 281
+
+
+#line 282
+
+#line 282
+allow vendor_init property_socket:sock_file write;
+#line 282
+allow vendor_init init:unix_stream_socket connectto;
+#line 282
+
+#line 282
+allow vendor_init debug_prop:property_service set;
+#line 282
+
+#line 282
+allow vendor_init debug_prop:file { getattr open read map };
+#line 282
+
+#line 282
+
+
+#line 283
+
+#line 283
+allow vendor_init property_socket:sock_file write;
+#line 283
+allow vendor_init init:unix_stream_socket connectto;
+#line 283
+
+#line 283
+allow vendor_init exported_bluetooth_prop:property_service set;
+#line 283
+
+#line 283
+allow vendor_init exported_bluetooth_prop:file { getattr open read map };
+#line 283
+
+#line 283
+
+
+#line 284
+
+#line 284
+allow vendor_init property_socket:sock_file write;
+#line 284
+allow vendor_init init:unix_stream_socket connectto;
+#line 284
+
+#line 284
+allow vendor_init exported_camera_prop:property_service set;
+#line 284
+
+#line 284
+allow vendor_init exported_camera_prop:file { getattr open read map };
+#line 284
+
+#line 284
+
+
+#line 285
+
+#line 285
+allow vendor_init property_socket:sock_file write;
+#line 285
+allow vendor_init init:unix_stream_socket connectto;
+#line 285
+
+#line 285
+allow vendor_init exported_config_prop:property_service set;
+#line 285
+
+#line 285
+allow vendor_init exported_config_prop:file { getattr open read map };
+#line 285
+
+#line 285
+
+
+#line 286
+
+#line 286
+allow vendor_init property_socket:sock_file write;
+#line 286
+allow vendor_init init:unix_stream_socket connectto;
+#line 286
+
+#line 286
+allow vendor_init exported_default_prop:property_service set;
+#line 286
+
+#line 286
+allow vendor_init exported_default_prop:file { getattr open read map };
+#line 286
+
+#line 286
+
+
+#line 287
+
+#line 287
+allow vendor_init property_socket:sock_file write;
+#line 287
+allow vendor_init init:unix_stream_socket connectto;
+#line 287
+
+#line 287
+allow vendor_init exported_overlay_prop:property_service set;
+#line 287
+
+#line 287
+allow vendor_init exported_overlay_prop:file { getattr open read map };
+#line 287
+
+#line 287
+
+
+#line 288
+
+#line 288
+allow vendor_init property_socket:sock_file write;
+#line 288
+allow vendor_init init:unix_stream_socket connectto;
+#line 288
+
+#line 288
+allow vendor_init exported_pm_prop:property_service set;
+#line 288
+
+#line 288
+allow vendor_init exported_pm_prop:file { getattr open read map };
+#line 288
+
+#line 288
+
+
+#line 289
+
+#line 289
+allow vendor_init property_socket:sock_file write;
+#line 289
+allow vendor_init init:unix_stream_socket connectto;
+#line 289
+
+#line 289
+allow vendor_init ffs_control_prop:property_service set;
+#line 289
+
+#line 289
+allow vendor_init ffs_control_prop:file { getattr open read map };
+#line 289
+
+#line 289
+
+
+#line 290
+
+#line 290
+allow vendor_init property_socket:sock_file write;
+#line 290
+allow vendor_init init:unix_stream_socket connectto;
+#line 290
+
+#line 290
+allow vendor_init hw_timeout_multiplier_prop:property_service set;
+#line 290
+
+#line 290
+allow vendor_init hw_timeout_multiplier_prop:file { getattr open read map };
+#line 290
+
+#line 290
+
+
+#line 291
+
+#line 291
+allow vendor_init property_socket:sock_file write;
+#line 291
+allow vendor_init init:unix_stream_socket connectto;
+#line 291
+
+#line 291
+allow vendor_init incremental_prop:property_service set;
+#line 291
+
+#line 291
+allow vendor_init incremental_prop:file { getattr open read map };
+#line 291
+
+#line 291
+
+
+#line 292
+
+#line 292
+allow vendor_init property_socket:sock_file write;
+#line 292
+allow vendor_init init:unix_stream_socket connectto;
+#line 292
+
+#line 292
+allow vendor_init lmkd_prop:property_service set;
+#line 292
+
+#line 292
+allow vendor_init lmkd_prop:file { getattr open read map };
+#line 292
+
+#line 292
+
+
+#line 293
+
+#line 293
+allow vendor_init property_socket:sock_file write;
+#line 293
+allow vendor_init init:unix_stream_socket connectto;
+#line 293
+
+#line 293
+allow vendor_init logd_prop:property_service set;
+#line 293
+
+#line 293
+allow vendor_init logd_prop:file { getattr open read map };
+#line 293
+
+#line 293
+
+
+#line 294
+
+#line 294
+allow vendor_init property_socket:sock_file write;
+#line 294
+allow vendor_init init:unix_stream_socket connectto;
+#line 294
+
+#line 294
+allow vendor_init log_tag_prop:property_service set;
+#line 294
+
+#line 294
+allow vendor_init log_tag_prop:file { getattr open read map };
+#line 294
+
+#line 294
+
+
+#line 295
+
+#line 295
+allow vendor_init property_socket:sock_file write;
+#line 295
+allow vendor_init init:unix_stream_socket connectto;
+#line 295
+
+#line 295
+allow vendor_init log_prop:property_service set;
+#line 295
+
+#line 295
+allow vendor_init log_prop:file { getattr open read map };
+#line 295
+
+#line 295
+
+
+#line 296
+
+#line 296
+allow vendor_init property_socket:sock_file write;
+#line 296
+allow vendor_init init:unix_stream_socket connectto;
+#line 296
+
+#line 296
+allow vendor_init graphics_config_writable_prop:property_service set;
+#line 296
+
+#line 296
+allow vendor_init graphics_config_writable_prop:file { getattr open read map };
+#line 296
+
+#line 296
+
+
+#line 297
+
+#line 297
+allow vendor_init property_socket:sock_file write;
+#line 297
+allow vendor_init init:unix_stream_socket connectto;
+#line 297
+
+#line 297
+allow vendor_init prefetch_boot_prop:property_service set;
+#line 297
+
+#line 297
+allow vendor_init prefetch_boot_prop:file { getattr open read map };
+#line 297
+
+#line 297
+;
+
+#line 298
+
+#line 298
+allow vendor_init property_socket:sock_file write;
+#line 298
+allow vendor_init init:unix_stream_socket connectto;
+#line 298
+
+#line 298
+allow vendor_init qemu_hw_prop:property_service set;
+#line 298
+
+#line 298
+allow vendor_init qemu_hw_prop:file { getattr open read map };
+#line 298
+
+#line 298
+
+
+#line 299
+
+#line 299
+allow vendor_init property_socket:sock_file write;
+#line 299
+allow vendor_init init:unix_stream_socket connectto;
+#line 299
+
+#line 299
+allow vendor_init radio_control_prop:property_service set;
+#line 299
+
+#line 299
+allow vendor_init radio_control_prop:file { getattr open read map };
+#line 299
+
+#line 299
+
+
+#line 300
+
+#line 300
+allow vendor_init property_socket:sock_file write;
+#line 300
+allow vendor_init init:unix_stream_socket connectto;
+#line 300
+
+#line 300
+allow vendor_init rebootescrow_hal_prop:property_service set;
+#line 300
+
+#line 300
+allow vendor_init rebootescrow_hal_prop:file { getattr open read map };
+#line 300
+
+#line 300
+
+
+#line 301
+
+#line 301
+allow vendor_init property_socket:sock_file write;
+#line 301
+allow vendor_init init:unix_stream_socket connectto;
+#line 301
+
+#line 301
+allow vendor_init serialno_prop:property_service set;
+#line 301
+
+#line 301
+allow vendor_init serialno_prop:file { getattr open read map };
+#line 301
+
+#line 301
+
+
+#line 302
+
+#line 302
+allow vendor_init property_socket:sock_file write;
+#line 302
+allow vendor_init init:unix_stream_socket connectto;
+#line 302
+
+#line 302
+allow vendor_init soc_prop:property_service set;
+#line 302
+
+#line 302
+allow vendor_init soc_prop:file { getattr open read map };
+#line 302
+
+#line 302
+
+
+#line 303
+
+#line 303
+allow vendor_init property_socket:sock_file write;
+#line 303
+allow vendor_init init:unix_stream_socket connectto;
+#line 303
+
+#line 303
+allow vendor_init surfaceflinger_color_prop:property_service set;
+#line 303
+
+#line 303
+allow vendor_init surfaceflinger_color_prop:file { getattr open read map };
+#line 303
+
+#line 303
+
+
+#line 304
+
+#line 304
+allow vendor_init property_socket:sock_file write;
+#line 304
+allow vendor_init init:unix_stream_socket connectto;
+#line 304
+
+#line 304
+allow vendor_init usb_control_prop:property_service set;
+#line 304
+
+#line 304
+allow vendor_init usb_control_prop:file { getattr open read map };
+#line 304
+
+#line 304
+
+
+#line 305
+
+#line 305
+allow vendor_init property_socket:sock_file write;
+#line 305
+allow vendor_init init:unix_stream_socket connectto;
+#line 305
+
+#line 305
+allow vendor_init userspace_reboot_config_prop:property_service set;
+#line 305
+
+#line 305
+allow vendor_init userspace_reboot_config_prop:file { getattr open read map };
+#line 305
+
+#line 305
+
+
+#line 306
+
+#line 306
+allow vendor_init property_socket:sock_file write;
+#line 306
+allow vendor_init init:unix_stream_socket connectto;
+#line 306
+
+#line 306
+allow vendor_init vehicle_hal_prop:property_service set;
+#line 306
+
+#line 306
+allow vendor_init vehicle_hal_prop:file { getattr open read map };
+#line 306
+
+#line 306
+
+
+#line 307
+
+#line 307
+allow vendor_init property_socket:sock_file write;
+#line 307
+allow vendor_init init:unix_stream_socket connectto;
+#line 307
+
+#line 307
+allow vendor_init vendor_default_prop:property_service set;
+#line 307
+
+#line 307
+allow vendor_init vendor_default_prop:file { getattr open read map };
+#line 307
+
+#line 307
+
+
+#line 308
+
+#line 308
+allow vendor_init property_socket:sock_file write;
+#line 308
+allow vendor_init init:unix_stream_socket connectto;
+#line 308
+
+#line 308
+allow vendor_init keystore_config_prop:property_service set;
+#line 308
+
+#line 308
+allow vendor_init keystore_config_prop:file { getattr open read map };
+#line 308
+
+#line 308
+
+
+#line 309
+
+#line 309
+allow vendor_init property_socket:sock_file write;
+#line 309
+allow vendor_init init:unix_stream_socket connectto;
+#line 309
+
+#line 309
+allow vendor_init vendor_security_patch_level_prop:property_service set;
+#line 309
+
+#line 309
+allow vendor_init vendor_security_patch_level_prop:file { getattr open read map };
+#line 309
+
+#line 309
+
+
+#line 310
+
+#line 310
+allow vendor_init property_socket:sock_file write;
+#line 310
+allow vendor_init init:unix_stream_socket connectto;
+#line 310
+
+#line 310
+allow vendor_init vndk_prop:property_service set;
+#line 310
+
+#line 310
+allow vendor_init vndk_prop:file { getattr open read map };
+#line 310
+
+#line 310
+
+
+#line 311
+
+#line 311
+allow vendor_init property_socket:sock_file write;
+#line 311
+allow vendor_init init:unix_stream_socket connectto;
+#line 311
+
+#line 311
+allow vendor_init virtual_ab_prop:property_service set;
+#line 311
+
+#line 311
+allow vendor_init virtual_ab_prop:file { getattr open read map };
+#line 311
+
+#line 311
+
+
+#line 312
+
+#line 312
+allow vendor_init property_socket:sock_file write;
+#line 312
+allow vendor_init init:unix_stream_socket connectto;
+#line 312
+
+#line 312
+allow vendor_init vold_post_fs_data_prop:property_service set;
+#line 312
+
+#line 312
+allow vendor_init vold_post_fs_data_prop:file { getattr open read map };
+#line 312
+
+#line 312
+
+
+#line 313
+
+#line 313
+allow vendor_init property_socket:sock_file write;
+#line 313
+allow vendor_init init:unix_stream_socket connectto;
+#line 313
+
+#line 313
+allow vendor_init wifi_hal_prop:property_service set;
+#line 313
+
+#line 313
+allow vendor_init wifi_hal_prop:file { getattr open read map };
+#line 313
+
+#line 313
+
+
+#line 314
+
+#line 314
+allow vendor_init property_socket:sock_file write;
+#line 314
+allow vendor_init init:unix_stream_socket connectto;
+#line 314
+
+#line 314
+allow vendor_init wifi_log_prop:property_service set;
+#line 314
+
+#line 314
+allow vendor_init wifi_log_prop:file { getattr open read map };
+#line 314
+
+#line 314
+
+
+#line 315
+
+#line 315
+allow vendor_init property_socket:sock_file write;
+#line 315
+allow vendor_init init:unix_stream_socket connectto;
+#line 315
+
+#line 315
+allow vendor_init zram_control_prop:property_service set;
+#line 315
+
+#line 315
+allow vendor_init zram_control_prop:file { getattr open read map };
+#line 315
+
+#line 315
+
+
+
+#line 317
+allow vendor_init boot_status_prop:file { getattr open read map };
+#line 317
+
+
+#line 318
+allow vendor_init exported3_system_prop:file { getattr open read map };
+#line 318
+
+
+#line 319
+allow vendor_init mmd_shared_status_prop:file { getattr open read map };
+#line 319
+
+
+#line 320
+allow vendor_init ota_prop:file { getattr open read map };
+#line 320
+
+
+#line 321
+allow vendor_init power_debug_prop:file { getattr open read map };
+#line 321
+
+
+#line 322
+allow vendor_init provisioned_prop:file { getattr open read map };
+#line 322
+
+
+#line 323
+allow vendor_init retaildemo_prop:file { getattr open read map };
+#line 323
+
+
+#line 324
+allow vendor_init surfaceflinger_display_prop:file { getattr open read map };
+#line 324
+
+
+#line 325
+allow vendor_init test_harness_prop:file { getattr open read map };
+#line 325
+
+
+#line 326
+allow vendor_init theme_prop:file { getattr open read map };
+#line 326
+
+
+#line 327
+
+#line 327
+allow vendor_init property_socket:sock_file write;
+#line 327
+allow vendor_init init:unix_stream_socket connectto;
+#line 327
+
+#line 327
+allow vendor_init dck_prop:property_service set;
+#line 327
+
+#line 327
+allow vendor_init dck_prop:file { getattr open read map };
+#line 327
+
+#line 327
+
+
+# Allow vendor_init to read vendor_system_native device config changes
+
+#line 330
+allow vendor_init device_config_vendor_system_native_prop:file { getattr open read map };
+#line 330
+
+
+#line 331
+allow vendor_init device_config_vendor_system_native_boot_prop:file { getattr open read map };
+#line 331
+
+
+#line 335
+
+
+###
+### neverallow rules
+###
+
+# Vendor init shouldn't communicate with any vendor process, nor most system processes.
+
+#line 342
+  neverallow vendor_init {
+#line 342
+    domain -init -logd -prng_seeder -su -vendor_init }:{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket } { connect sendto };
+#line 342
+  neverallow vendor_init {
+#line 342
+    domain -init -logd -prng_seeder -su -vendor_init }:unix_stream_socket connectto;
+;
+
+# The vendor_init domain is only entered via an exec based transition from the
+# init domain, never via setcon().
+neverallow domain vendor_init:process dyntransition;
+neverallow { domain -init } vendor_init:process transition;
+neverallow vendor_init { file_type fs_type -init_exec }:file entrypoint;
+
+# Never read/follow symlinks created by shell or untrusted apps.
+neverallow vendor_init app_data_file_type:lnk_file read;
+neverallow vendor_init shell_data_file:lnk_file read;
+# Init should not be creating subdirectories in /data/local/tmp
+neverallow vendor_init shell_data_file:dir { write add_name remove_name };
+
+# init should never execute a program without changing to another domain.
+neverallow vendor_init { file_type fs_type }:file execute_no_trans;
+
+# Init never adds or uses services via service_manager.
+neverallow vendor_init service_manager_type:service_manager { add find };
+neverallow vendor_init servicemanager:service_manager list;
+
+# vendor_init should never be ptraced
+neverallow * vendor_init:process ptrace;
+#line 1 "system/sepolicy/private/vendor_misc_writer.te"
+# Raw writes to misc_block_device
+allow vendor_misc_writer misc_block_device:blk_file { open append write lock map };
+allow vendor_misc_writer block_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Silence the denial when calling libfstab's ReadDefaultFstab, which tries to
+# load DT fstab.
+dontaudit vendor_misc_writer proc_cmdline:file { getattr open read ioctl lock map watch watch_reads };
+dontaudit vendor_misc_writer sysfs_dt_firmware_android:dir search;
+dontaudit vendor_misc_writer proc_bootconfig:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow ReadDefaultFstab().
+
+#line 12
+  allow vendor_misc_writer { metadata_file gsi_metadata_file_type }:dir search;
+#line 12
+  allow vendor_misc_writer gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 12
+  allow vendor_misc_writer { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 12
+
+#line 1 "system/sepolicy/private/vendor_shell.te"
+allow vendor_shell vendor_shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow vendor_shell vendor_toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Use fd from shell when vendor_shell is started from shell
+allow vendor_shell shell:fd use;
+
+# adbd: allow `adb shell /vendor/bin/sh` and `adb shell` then `/vendor/bin/sh`
+allow vendor_shell adbd:fd use;
+allow vendor_shell adbd:process sigchld;
+allow vendor_shell adbd:unix_stream_socket { getattr ioctl read write };
+
+allow vendor_shell devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vendor_shell tty_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vendor_shell console_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vendor_shell input_device:dir { open getattr read search ioctl lock watch watch_reads };
+allow vendor_shell input_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+
+#line 1 "system/sepolicy/private/vendor_toolbox.te"
+# Do not allow domains to transition to vendor toolbox
+# or read, execute the vendor_toolbox file.
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 3
+
+#line 3
+    # Do not allow non-vendor domains to transition
+#line 3
+    # to vendor toolbox except for the allowlisted domains.
+#line 3
+    neverallow {
+#line 3
+        coredomain
+#line 3
+        -init
+#line 3
+        -modprobe
+#line 3
+        
+#line 3
+    } vendor_toolbox_exec:file { entrypoint execute execute_no_trans };
+#line 3
+
+#line 3
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 12
+
+#line 1 "system/sepolicy/private/vfio_handler.te"
+
+#line 1
+    # vfio_handler is a helper service for VFIO tasks, like binding platform devices to VFIO driver.
+#line 1
+    # vfio_handler is separate from virtualizationservice as VFIO tasks require root.
+#line 1
+    type vfio_handler, domain, coredomain;
+#line 1
+    type vfio_handler_exec, system_file_type, exec_type, file_type;
+#line 1
+
+#line 1
+    # When init runs a file labelled with vfio_handler_exec, run it in the vfio_handler domain.
+#line 1
+    
+#line 1
+
+#line 1
+# Allow the necessary permissions.
+#line 1
+
+#line 1
+# Old domain may exec the file and transition to the new domain.
+#line 1
+allow init vfio_handler_exec:file { getattr open read execute map };
+#line 1
+allow init vfio_handler:process transition;
+#line 1
+# New domain is entered by executing the file.
+#line 1
+allow vfio_handler vfio_handler_exec:file { entrypoint open read execute getattr map };
+#line 1
+# New domain can send SIGCHLD to its caller.
+#line 1
+
+#line 1
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1
+dontaudit init vfio_handler:process noatsecure;
+#line 1
+# XXX dontaudit candidate but requires further study.
+#line 1
+allow init vfio_handler:process { siginh rlimitinh };
+#line 1
+
+#line 1
+# Make the transition occur by default.
+#line 1
+type_transition init vfio_handler_exec:process vfio_handler;
+#line 1
+
+#line 1
+
+#line 1
+
+#line 1
+    # Let the vfio_handler domain register the vfio_handler_service with ServiceManager.
+#line 1
+    
+#line 1
+  allow vfio_handler vfio_handler_service:service_manager { add find };
+#line 1
+  neverallow { domain -vfio_handler } vfio_handler_service:service_manager add;
+#line 1
+
+#line 1
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 1
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 1
+  
+#line 1
+
+#line 1
+
+#line 1
+    # Let the vfio_handler domain use Binder.
+#line 1
+    
+#line 1
+# Call the servicemanager and transfer references to it.
+#line 1
+allow vfio_handler servicemanager:binder { call transfer };
+#line 1
+# Allow servicemanager to send out callbacks
+#line 1
+allow servicemanager vfio_handler:binder { call transfer };
+#line 1
+# servicemanager performs getpidcon on clients.
+#line 1
+allow servicemanager vfio_handler:dir search;
+#line 1
+allow servicemanager vfio_handler:file { read open };
+#line 1
+allow servicemanager vfio_handler:process getattr;
+#line 1
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 1
+# all domains in domain.te.
+#line 1
+
+#line 1
+
+#line 1
+    # Allow vfio_handler to check if VFIO is supported
+#line 1
+    allow vfio_handler vfio_device:chr_file getattr;
+#line 1
+    allow vfio_handler vfio_device:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+
+#line 1
+    # Allow vfio_handler to bind/unbind platform devices
+#line 1
+    allow vfio_handler sysfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 1
+    allow vfio_handler sysfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1
+
+#line 1
+    # Allow vfio_handler to write to VM DTBO via a file created by virtualizationservice.
+#line 1
+    allow vfio_handler virtualizationservice:fd use;
+#line 1
+    allow vfio_handler virtualizationservice_data_file:file write;
+#line 1
+
+#line 1
+    # vfio_handler can only use fd from virtualizationservice, and cannot open files itself
+#line 1
+    neverallow vfio_handler virtualizationservice_data_file:file { open create };
+#line 1
+
+#line 1
+    # Allow vfio_handler to search /dev/block for accessing dtbo.img
+#line 1
+    allow vfio_handler block_device:dir search;
+#line 1
+    allow vfio_handler dtbo_block_device:blk_file { getattr open read ioctl lock map watch watch_reads };
+#line 34
+ # is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT)
+#line 1 "system/sepolicy/private/virtual_camera.te"
+# virtual_camera - virtual camera daemon
+
+# The types are moved to public starting at 202502
+#line 7
+
+
+
+#line 9
+
+#line 9
+# Allow the necessary permissions.
+#line 9
+
+#line 9
+# Old domain may exec the file and transition to the new domain.
+#line 9
+allow init virtual_camera_exec:file { getattr open read execute map };
+#line 9
+allow init virtual_camera:process transition;
+#line 9
+# New domain is entered by executing the file.
+#line 9
+allow virtual_camera virtual_camera_exec:file { entrypoint open read execute getattr map };
+#line 9
+# New domain can send SIGCHLD to its caller.
+#line 9
+
+#line 9
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 9
+dontaudit init virtual_camera:process noatsecure;
+#line 9
+# XXX dontaudit candidate but requires further study.
+#line 9
+allow init virtual_camera:process { siginh rlimitinh };
+#line 9
+
+#line 9
+# Make the transition occur by default.
+#line 9
+type_transition init virtual_camera_exec:process virtual_camera;
+#line 9
+
+#line 9
+
+
+# Since virtual_camera is not a real HAL we don't set the
+# hal_server_domain(virtual_camera, hal_camera) macro but only the rules that
+# we actually need from halserverdomain and hal_camera_server:
+
+#line 14
+# Call the servicemanager and transfer references to it.
+#line 14
+allow virtual_camera servicemanager:binder { call transfer };
+#line 14
+# Allow servicemanager to send out callbacks
+#line 14
+allow servicemanager virtual_camera:binder { call transfer };
+#line 14
+# servicemanager performs getpidcon on clients.
+#line 14
+allow servicemanager virtual_camera:dir search;
+#line 14
+allow servicemanager virtual_camera:file { read open };
+#line 14
+allow servicemanager virtual_camera:process getattr;
+#line 14
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+
+#line 15
+# Call the server domain and optionally transfer references to it.
+#line 15
+allow virtual_camera cameraserver:binder { call transfer };
+#line 15
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 15
+allow cameraserver virtual_camera:binder transfer;
+#line 15
+# Receive and use open files from the server.
+#line 15
+allow virtual_camera cameraserver:fd use;
+#line 15
+
+
+#line 16
+# Call the server domain and optionally transfer references to it.
+#line 16
+allow virtual_camera system_server:binder { call transfer };
+#line 16
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 16
+allow system_server virtual_camera:binder transfer;
+#line 16
+# Receive and use open files from the server.
+#line 16
+allow virtual_camera system_server:fd use;
+#line 16
+
+
+# Allow virtual_camera to communicate with
+# mediaserver (required for using Surface originating
+# from virtual camera in mediaserver).
+
+#line 21
+# Call the server domain and optionally transfer references to it.
+#line 21
+allow virtual_camera mediaserver:binder { call transfer };
+#line 21
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 21
+allow mediaserver virtual_camera:binder transfer;
+#line 21
+# Receive and use open files from the server.
+#line 21
+allow virtual_camera mediaserver:fd use;
+#line 21
+
+
+# Required for the codecs to be able to decode
+# video into surface provided by virtual camera.
+
+#line 25
+typeattribute virtual_camera halclientdomain;
+#line 25
+typeattribute virtual_camera hal_codec2_client;
+#line 25
+
+#line 25
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 25
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 25
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 25
+
+#line 25
+typeattribute virtual_camera hal_codec2;
+#line 25
+# Find passthrough HAL implementations
+#line 25
+allow hal_codec2 system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow hal_codec2 vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 25
+allow hal_codec2 vendor_file:file { read open getattr execute map };
+#line 25
+
+#line 25
+
+
+#line 26
+typeattribute virtual_camera halclientdomain;
+#line 26
+typeattribute virtual_camera hal_omx_client;
+#line 26
+
+#line 26
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 26
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 26
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 26
+
+#line 26
+typeattribute virtual_camera hal_omx;
+#line 26
+# Find passthrough HAL implementations
+#line 26
+allow hal_omx system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow hal_omx vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 26
+allow hal_omx vendor_file:file { read open getattr execute map };
+#line 26
+
+#line 26
+
+
+# Allow virtualCamera to call apps via binder.
+
+#line 29
+# Call the server domain and optionally transfer references to it.
+#line 29
+allow virtual_camera appdomain:binder { call transfer };
+#line 29
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 29
+allow appdomain virtual_camera:binder transfer;
+#line 29
+# Receive and use open files from the server.
+#line 29
+allow virtual_camera appdomain:fd use;
+#line 29
+
+
+# Allow virtual_camera to use fd from apps
+allow virtual_camera { appdomain -isolated_app }:fd use;
+
+
+#line 34
+# Call the server domain and optionally transfer references to it.
+#line 34
+allow virtual_camera surfaceflinger:binder { call transfer };
+#line 34
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 34
+allow surfaceflinger virtual_camera:binder transfer;
+#line 34
+# Receive and use open files from the server.
+#line 34
+allow virtual_camera surfaceflinger:fd use;
+#line 34
+;
+
+# Only allow virtual_camera to add a virtual_camera_service and no one else.
+
+#line 37
+  allow virtual_camera virtual_camera_service:service_manager { add find };
+#line 37
+  neverallow { domain -virtual_camera } virtual_camera_service:service_manager add;
+#line 37
+
+#line 37
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 37
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 37
+  
+#line 37
+;
+
+# Allow virtual_camera to map graphic buffers
+
+#line 40
+typeattribute virtual_camera halclientdomain;
+#line 40
+typeattribute virtual_camera hal_graphics_allocator_client;
+#line 40
+
+#line 40
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 40
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 40
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 40
+
+#line 40
+typeattribute virtual_camera hal_graphics_allocator;
+#line 40
+# Find passthrough HAL implementations
+#line 40
+allow hal_graphics_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 40
+allow hal_graphics_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 40
+allow hal_graphics_allocator vendor_file:file { read open getattr execute map };
+#line 40
+
+#line 40
+
+
+# Allow virtual_camera to use GPU
+allow virtual_camera gpu_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow virtual_camera gpu_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+#line 45
+allow virtual_camera sysfs_gpu:dir { open getattr read search ioctl lock watch watch_reads };
+#line 45
+allow virtual_camera sysfs_gpu:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 45
+
+
+# ION And DMABUF are used by vendor to allocate graphic buffers needed by virtual_camera
+allow cameraserver ion_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow cameraserver dmabuf_system_heap_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow virtual camera to use graphics composer fd-s (fences).
+allow virtual_camera hal_graphics_composer:fd use;
+
+# For collecting bugreports.
+allow virtual_camera dumpstate:fd use;
+allow virtual_camera dumpstate:fifo_file write;
+
+# Needed for permission checks.
+allow virtual_camera permission_service:service_manager find;
+
+# Allow 'adb shell cmd' to configure test instances of camera.
+allow virtual_camera adbd:fd use;
+allow virtual_camera adbd:unix_stream_socket { getattr read write };
+allow virtual_camera shell:fifo_file { getattr read write };
+
+# Allow virtual_camera to access dmabuf_system_heap_device
+allow virtual_camera dmabuf_system_heap_device:chr_file { read open };
+#line 1 "system/sepolicy/private/virtual_face.te"
+# biometric virtual face sensor
+type virtual_face, domain;
+type virtual_face_exec, system_file_type, exec_type, file_type;
+
+#line 4
+typeattribute virtual_face halserverdomain;
+#line 4
+typeattribute virtual_face hal_face_server;
+#line 4
+typeattribute virtual_face hal_face;
+#line 4
+
+typeattribute virtual_face coredomain;
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init virtual_face_exec:file { getattr open read execute map };
+#line 6
+allow init virtual_face:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow virtual_face virtual_face_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init virtual_face:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init virtual_face:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init virtual_face_exec:process virtual_face;
+#line 6
+
+#line 6
+
+
+#line 7
+
+#line 7
+allow virtual_face property_socket:sock_file write;
+#line 7
+allow virtual_face init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow virtual_face virtual_face_prop:property_service set;
+#line 7
+
+#line 7
+allow virtual_face virtual_face_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+#line 1 "system/sepolicy/private/virtual_fingerprint.te"
+# biometric virtual fingerprint sensor
+type virtual_fingerprint, domain;
+type virtual_fingerprint_exec, system_file_type, exec_type, file_type;
+
+#line 4
+typeattribute virtual_fingerprint halserverdomain;
+#line 4
+typeattribute virtual_fingerprint hal_fingerprint_server;
+#line 4
+typeattribute virtual_fingerprint hal_fingerprint;
+#line 4
+
+typeattribute virtual_fingerprint coredomain;
+
+#line 6
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow init virtual_fingerprint_exec:file { getattr open read execute map };
+#line 6
+allow init virtual_fingerprint:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow virtual_fingerprint virtual_fingerprint_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit init virtual_fingerprint:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow init virtual_fingerprint:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition init virtual_fingerprint_exec:process virtual_fingerprint;
+#line 6
+
+#line 6
+
+
+#line 7
+
+#line 7
+allow virtual_fingerprint property_socket:sock_file write;
+#line 7
+allow virtual_fingerprint init:unix_stream_socket connectto;
+#line 7
+
+#line 7
+allow virtual_fingerprint virtual_fingerprint_prop:property_service set;
+#line 7
+
+#line 7
+allow virtual_fingerprint virtual_fingerprint_prop:file { getattr open read map };
+#line 7
+
+#line 7
+
+#line 1 "system/sepolicy/private/virtual_touchpad.te"
+typeattribute virtual_touchpad coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init virtual_touchpad_exec:file { getattr open read execute map };
+#line 3
+allow init virtual_touchpad:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow virtual_touchpad virtual_touchpad_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init virtual_touchpad:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init virtual_touchpad:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init virtual_touchpad_exec:process virtual_touchpad;
+#line 3
+
+#line 3
+
+
+
+#line 5
+# Call the servicemanager and transfer references to it.
+#line 5
+allow virtual_touchpad servicemanager:binder { call transfer };
+#line 5
+# Allow servicemanager to send out callbacks
+#line 5
+allow servicemanager virtual_touchpad:binder { call transfer };
+#line 5
+# servicemanager performs getpidcon on clients.
+#line 5
+allow servicemanager virtual_touchpad:dir search;
+#line 5
+allow servicemanager virtual_touchpad:file { read open };
+#line 5
+allow servicemanager virtual_touchpad:process getattr;
+#line 5
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 5
+# all domains in domain.te.
+#line 5
+
+
+#line 6
+typeattribute virtual_touchpad binderservicedomain;
+#line 6
+
+
+#line 7
+  allow virtual_touchpad virtual_touchpad_service:service_manager { add find };
+#line 7
+  neverallow { domain -virtual_touchpad } virtual_touchpad_service:service_manager add;
+#line 7
+
+#line 7
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 7
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 7
+  
+#line 7
+
+
+# Needed to check app permissions.
+
+#line 10
+# Call the server domain and optionally transfer references to it.
+#line 10
+allow virtual_touchpad system_server:binder { call transfer };
+#line 10
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 10
+allow system_server virtual_touchpad:binder transfer;
+#line 10
+# Receive and use open files from the server.
+#line 10
+allow virtual_touchpad system_server:fd use;
+#line 10
+
+
+# Requires access to /dev/uinput to create and feed the virtual device.
+allow virtual_touchpad uhid_device:chr_file { { open append write lock map } ioctl };
+
+# Requires access to the permission service to validate that clients have the
+# appropriate VR permissions.
+allow virtual_touchpad permission_service:service_manager find;
+#line 4 "system/sepolicy/private/virtualizationmanager.te"
+
+
+# Allow virtualizationmanager to communicate use, read and write over the adb connection.
+allow virtualizationmanager adbd:fd use;
+allow virtualizationmanager adbd:unix_stream_socket { getattr read write };
+
+# Allow writing VM logs to the shell console
+allow virtualizationmanager devpts:chr_file { read write getattr ioctl };
+
+# Let the virtualizationmanager domain use Binder.
+
+#line 14
+# Call the servicemanager and transfer references to it.
+#line 14
+allow virtualizationmanager servicemanager:binder { call transfer };
+#line 14
+# Allow servicemanager to send out callbacks
+#line 14
+allow servicemanager virtualizationmanager:binder { call transfer };
+#line 14
+# servicemanager performs getpidcon on clients.
+#line 14
+allow servicemanager virtualizationmanager:dir search;
+#line 14
+allow servicemanager virtualizationmanager:file { read open };
+#line 14
+allow servicemanager virtualizationmanager:process getattr;
+#line 14
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 14
+# all domains in domain.te.
+#line 14
+
+
+# Let virtualizationmanager find and communicate with virtualizationservice.
+allow virtualizationmanager virtualization_service:service_manager find;
+
+#line 18
+# Call the server domain and optionally transfer references to it.
+#line 18
+allow virtualizationmanager virtualizationservice:binder { call transfer };
+#line 18
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 18
+allow virtualizationservice virtualizationmanager:binder transfer;
+#line 18
+# Receive and use open files from the server.
+#line 18
+allow virtualizationmanager virtualizationservice:fd use;
+#line 18
+
+
+# Allow calling into the system server to find native services. "permission_service" to check
+# permissions, and "package_native" for staged apex info.
+
+#line 22
+# Call the server domain and optionally transfer references to it.
+#line 22
+allow virtualizationmanager system_server:binder { call transfer };
+#line 22
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 22
+allow system_server virtualizationmanager:binder transfer;
+#line 22
+# Receive and use open files from the server.
+#line 22
+allow virtualizationmanager system_server:fd use;
+#line 22
+
+allow virtualizationmanager { package_native_service permission_service }:service_manager find;
+
+# When virtualizationmanager execs a file with the crosvm_exec label, run it in the crosvm domain.
+
+#line 26
+# Allow the necessary permissions.
+#line 26
+
+#line 26
+# Old domain may exec the file and transition to the new domain.
+#line 26
+allow virtualizationmanager crosvm_exec:file { getattr open read execute map };
+#line 26
+allow virtualizationmanager crosvm:process transition;
+#line 26
+# New domain is entered by executing the file.
+#line 26
+allow crosvm crosvm_exec:file { entrypoint open read execute getattr map };
+#line 26
+# New domain can send SIGCHLD to its caller.
+#line 26
+allow crosvm virtualizationmanager:process sigchld;
+#line 26
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 26
+dontaudit virtualizationmanager crosvm:process noatsecure;
+#line 26
+# XXX dontaudit candidate but requires further study.
+#line 26
+allow virtualizationmanager crosvm:process { siginh rlimitinh };
+#line 26
+
+#line 26
+# Make the transition occur by default.
+#line 26
+type_transition virtualizationmanager crosvm_exec:process crosvm;
+#line 26
+
+
+# Let virtualizationmanager kill crosvm.
+allow virtualizationmanager crosvm:process sigkill;
+
+# Let virtualizationmanager create files inside virtualizationservice's temporary directories.
+allow virtualizationmanager virtualizationservice_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow virtualizationmanager virtualizationservice_data_file:{ file sock_file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Let virtualizationmanager read and write files from its various clients, but not open them
+# directly as they must be passed over Binder by the client.
+allow virtualizationmanager apk_data_file:file { getattr read };
+
+# Write access is needed for mutable partitions like instance.img
+allow virtualizationmanager {
+  app_data_file
+  apex_compos_data_file
+  apex_virt_data_file
+  privapp_data_file
+}:file { getattr read write };
+
+# shell_data_file is used for automated tests and manual debugging.
+allow virtualizationmanager shell_data_file:file { getattr read write };
+
+# Allow virtualizationmanager to read apex-info-list.xml and access the APEX files listed there.
+allow virtualizationmanager apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+allow virtualizationmanager apex_data_file:dir search;
+allow virtualizationmanager staging_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow virtualizationmanager staging_data_file:dir search;
+
+# Run derive_classpath in our domain
+allow virtualizationmanager derive_classpath_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow virtualizationmanager apex_mnt_dir:dir { open getattr read search ioctl lock watch watch_reads };
+# Ignore harmless denials on /proc/self/fd
+dontaudit virtualizationmanager self:dir write;
+
+# Let virtualizationmanager to accept vsock connection from the guest VMs
+allow virtualizationmanager self:vsock_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } listen accept };
+neverallow { domain -virtualizationmanager } virtualizationmanager:vsock_socket { accept bind create connect listen };
+
+# Allow virtualizationmanager to inspect all hypervisor capabilities.
+
+#line 67
+allow virtualizationmanager hypervisor_prop:file { getattr open read map };
+#line 67
+
+
+#line 68
+allow virtualizationmanager hypervisor_restricted_prop:file { getattr open read map };
+#line 68
+
+
+# Allow virtualizationmanager to be read custom pvmfw.img configuration
+
+dontaudit virtualizationmanager hypervisor_pvmfw_prop:file read;
+neverallow {
+  domain
+  -init
+  -dumpstate
+  
+  -early_virtmgr
+} hypervisor_pvmfw_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Allow virtualizationmanager to be read custom virtualizationmanager configuration
+
+dontaudit virtualizationmanager hypervisor_virtualizationmanager_prop:file read;
+neverallow {
+  domain
+  -init
+  -dumpstate
+  
+  -early_virtmgr
+} hypervisor_virtualizationmanager_prop:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+
+# Allow virtualizationmanager service to talk to tombstoned to push guest ramdumps
+
+#line 93
+allow virtualizationmanager tombstoned_crash_socket:sock_file write;
+#line 93
+allow virtualizationmanager tombstoned:unix_stream_socket connectto;
+#line 93
+
+
+# Append ramdumps to tombstone files passed as fds from tombstoned
+allow virtualizationmanager tombstone_data_file:file { append getattr };
+allow virtualizationmanager tombstoned:fd use;
+
+# Allow virtualizationmanager to read file system DT for VM reference DT and AVF debug policy
+
+#line 100
+allow virtualizationmanager proc_dt_avf:dir { open getattr read search ioctl lock watch watch_reads };
+#line 100
+allow virtualizationmanager proc_dt_avf:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 100
+
+
+#line 101
+allow virtualizationmanager sysfs_dt_avf:dir { open getattr read search ioctl lock watch watch_reads };
+#line 101
+allow virtualizationmanager sysfs_dt_avf:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 101
+
+
+# virtualizationmanager to be client of secretkeeper HAL. It ferries SecretManagement messages
+# from pVM to HAL.
+
+#line 105
+typeattribute virtualizationmanager halclientdomain;
+#line 105
+typeattribute virtualizationmanager hal_secretkeeper_client;
+#line 105
+
+#line 105
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 105
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 105
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 105
+
+#line 105
+typeattribute virtualizationmanager hal_secretkeeper;
+#line 105
+# Find passthrough HAL implementations
+#line 105
+allow hal_secretkeeper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 105
+allow hal_secretkeeper vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 105
+allow hal_secretkeeper vendor_file:file { read open getattr execute map };
+#line 105
+
+#line 105
+;
+
+# Let virtualizationmanager open test artifacts under /data/local/tmp with file path.
+# (e.g. custom debug policy)
+#line 112
+
+
+# Allow virtualizationmanager to read microdroid related files in vendor partition
+
+#line 115
+allow virtualizationmanager vendor_microdroid_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 115
+allow virtualizationmanager vendor_microdroid_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 115
+
+
+# Do not allow writing vendor_microdroid_file from any process.
+neverallow {
+  domain
+  
+  
+} vendor_microdroid_file:dir { add_name create link relabelfrom remove_name rename reparent rmdir setattr write };
+neverallow {
+  domain
+  
+  
+} vendor_microdroid_file:file { append create link unlink relabelfrom rename setattr write };
+
+# Allow reading files under /proc/[crosvm pid]/, for collecting CPU & memory usage inside VM.
+
+#line 130
+allow virtualizationmanager crosvm:dir { open getattr read search ioctl lock watch watch_reads };
+#line 130
+allow virtualizationmanager crosvm:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 130
+;
+
+# For debug purposes we try to get the canonical path from /proc/self/fd/N. That triggers
+# a harmless denial for CompOS log files, so ignore that.
+dontaudit virtualizationmanager apex_module_data_file:dir search;
+
+
+#line 136
+    # virtualizationmanager holds references to bound devices, returned from vfio_handler
+#line 136
+    
+#line 136
+# Call the server domain and optionally transfer references to it.
+#line 136
+allow virtualizationmanager vfio_handler:binder { call transfer };
+#line 136
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 136
+allow vfio_handler virtualizationmanager:binder transfer;
+#line 136
+# Receive and use open files from the server.
+#line 136
+allow virtualizationmanager vfio_handler:fd use;
+#line 136
+
+#line 139
+
+
+
+#line 141
+    # Allow virtualizationmanager to deal with file descriptors of TAP interfaces.
+#line 141
+    allow virtualizationmanager tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 141
+    allow virtualizationmanager vmnic:fd use;
+#line 145
+
+
+# virtualizationmanager reads tee_service_contexts_file to determine if VM is allowed
+# to access requested tee services
+allow virtualizationmanager tee_service_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+# virtualizationmanager uses libselinux to check if VM is allowed to access requested
+# tee services.
+
+#line 152
+
+#line 152
+allow virtualizationmanager selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 152
+allow virtualizationmanager selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 152
+
+#line 152
+allow virtualizationmanager selinuxfs:file { open append write lock map };
+#line 152
+allow virtualizationmanager kernel:security compute_av;
+#line 152
+allow virtualizationmanager self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 152
+
+#line 1 "system/sepolicy/private/virtualizationservice.te"
+type virtualizationservice, domain, coredomain;
+type virtualizationservice_exec, system_file_type, exec_type, file_type;
+
+# The domain needs to be a 'mlstrustedsubject' to change the memlock rlimit of
+# the virtualizationmanager domain running at a more constrained MLS level.
+typeattribute virtualizationservice mlstrustedsubject;
+
+# When init runs a file labelled with virtualizationservice_exec, run it in the
+# virtualizationservice domain.
+
+#line 10
+
+#line 10
+# Allow the necessary permissions.
+#line 10
+
+#line 10
+# Old domain may exec the file and transition to the new domain.
+#line 10
+allow init virtualizationservice_exec:file { getattr open read execute map };
+#line 10
+allow init virtualizationservice:process transition;
+#line 10
+# New domain is entered by executing the file.
+#line 10
+allow virtualizationservice virtualizationservice_exec:file { entrypoint open read execute getattr map };
+#line 10
+# New domain can send SIGCHLD to its caller.
+#line 10
+
+#line 10
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 10
+dontaudit init virtualizationservice:process noatsecure;
+#line 10
+# XXX dontaudit candidate but requires further study.
+#line 10
+allow init virtualizationservice:process { siginh rlimitinh };
+#line 10
+
+#line 10
+# Make the transition occur by default.
+#line 10
+type_transition init virtualizationservice_exec:process virtualizationservice;
+#line 10
+
+#line 10
+
+
+# Let the virtualizationservice domain use Binder.
+
+#line 13
+# Call the servicemanager and transfer references to it.
+#line 13
+allow virtualizationservice servicemanager:binder { call transfer };
+#line 13
+# Allow servicemanager to send out callbacks
+#line 13
+allow servicemanager virtualizationservice:binder { call transfer };
+#line 13
+# servicemanager performs getpidcon on clients.
+#line 13
+allow servicemanager virtualizationservice:dir search;
+#line 13
+allow servicemanager virtualizationservice:file { read open };
+#line 13
+allow servicemanager virtualizationservice:process getattr;
+#line 13
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 13
+# all domains in domain.te.
+#line 13
+
+
+# Register our services with ServiceManager.
+
+#line 16
+  allow virtualizationservice virtualization_service:service_manager { add find };
+#line 16
+  neverallow { domain -virtualizationservice } virtualization_service:service_manager add;
+#line 16
+
+#line 16
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 16
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 16
+  
+#line 16
+
+
+#line 17
+    
+#line 17
+  allow virtualizationservice virtualization_maintenance_service:service_manager { add find };
+#line 17
+  neverallow { domain -virtualizationservice } virtualization_maintenance_service:service_manager add;
+#line 17
+
+#line 17
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 17
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 17
+  
+#line 17
+
+#line 19
+
+
+
+#line 21
+    # Let virtualizationservice find and communicate with vfio_handler.
+#line 21
+    allow virtualizationservice vfio_handler_service:service_manager find;
+#line 21
+    
+#line 21
+# Call the server domain and optionally transfer references to it.
+#line 21
+allow virtualizationservice vfio_handler:binder { call transfer };
+#line 21
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 21
+allow vfio_handler virtualizationservice:binder transfer;
+#line 21
+# Receive and use open files from the server.
+#line 21
+allow virtualizationservice vfio_handler:fd use;
+#line 21
+
+#line 25
+
+
+
+#line 27
+    # Let virtualizationservice find and communicate with vmnic.
+#line 27
+    allow virtualizationservice vmnic_service:service_manager find;
+#line 27
+    
+#line 27
+# Call the server domain and optionally transfer references to it.
+#line 27
+allow virtualizationservice vmnic:binder { call transfer };
+#line 27
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 27
+allow vmnic virtualizationservice:binder transfer;
+#line 27
+# Receive and use open files from the server.
+#line 27
+allow virtualizationservice vmnic:fd use;
+#line 27
+
+#line 27
+    allow virtualizationservice vm_tethering_service:service_manager find;
+#line 32
+
+
+# Allow the virtualizationservice domain to serve a remotely provisioned component for
+# pVM remote attestation.
+
+#line 36
+typeattribute virtualizationservice halserverdomain;
+#line 36
+typeattribute virtualizationservice hal_remotelyprovisionedcomponent_avf_server;
+#line 36
+typeattribute virtualizationservice hal_remotelyprovisionedcomponent_avf;
+#line 36
+
+
+# Allow the virtualizationservice to inspect whether remote attestation is supported
+# through the system property.
+
+#line 40
+allow virtualizationservice avf_virtualizationservice_prop:file { getattr open read map };
+#line 40
+
+
+# Allow calling into the system server to find "permission_service".
+
+#line 43
+# Call the server domain and optionally transfer references to it.
+#line 43
+allow virtualizationservice system_server:binder { call transfer };
+#line 43
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 43
+allow system_server virtualizationservice:binder transfer;
+#line 43
+# Receive and use open files from the server.
+#line 43
+allow virtualizationservice system_server:fd use;
+#line 43
+
+allow virtualizationservice permission_service:service_manager find;
+
+# Allow virtualizationservice to retrieve the remotely provisioned keys from rkpd.
+
+#line 47
+# Call the server domain and optionally transfer references to it.
+#line 47
+allow virtualizationservice remote_provisioning_service_server:binder { call transfer };
+#line 47
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 47
+allow remote_provisioning_service_server virtualizationservice:binder transfer;
+#line 47
+# Receive and use open files from the server.
+#line 47
+allow virtualizationservice remote_provisioning_service_server:fd use;
+#line 47
+
+allow virtualizationservice remote_provisioning_service:service_manager find;
+
+# Allow virtualizationservice to manage VM secrets via Secretkeeper.
+
+#line 51
+typeattribute virtualizationservice halclientdomain;
+#line 51
+typeattribute virtualizationservice hal_secretkeeper_client;
+#line 51
+
+#line 51
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 51
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 51
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 51
+
+#line 51
+typeattribute virtualizationservice hal_secretkeeper;
+#line 51
+# Find passthrough HAL implementations
+#line 51
+allow hal_secretkeeper system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 51
+allow hal_secretkeeper vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 51
+allow hal_secretkeeper vendor_file:file { read open getattr execute map };
+#line 51
+
+#line 51
+
+
+# Let virtualizationservice remove memlock rlimit of virtualizationmanager. This is necessary
+# to mlock VM memory and page tables.
+allow virtualizationservice self:capability sys_resource;
+allow virtualizationservice virtualizationmanager:process setrlimit;
+
+
+#line 58
+  # To provide display service to an app to get surface.
+#line 58
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+#line 58
+  allow virtualizationservice vmlauncher_app:binder transfer;
+#line 62
+
+
+# Let virtualizationservice set the owner of a VM's temporary directory.
+allow virtualizationservice self:capability chown;
+
+# Let virtualizationservice create and delete temporary directories of VMs. To remove old
+# directories, it needs the permission to unlink the files created by virtualizationmanager.
+allow virtualizationservice virtualizationservice_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow virtualizationservice virtualizationservice_data_file:sock_file unlink;
+allow virtualizationservice virtualizationservice_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow to use fd (e.g. /dev/pts/0) inherited from adbd so that we can redirect output from
+# crosvm to the console
+allow virtualizationservice adbd:fd use;
+allow virtualizationservice adbd:unix_stream_socket { read write };
+
+# Allow to connnect to and run VirtMgr to start the service VM for remote attestation.
+
+#line 79
+# Transition to virtualizationmanager when the client executes it.
+#line 79
+
+#line 79
+# Allow the necessary permissions.
+#line 79
+
+#line 79
+# Old domain may exec the file and transition to the new domain.
+#line 79
+allow virtualizationservice virtualizationmanager_exec:file { getattr open read execute map };
+#line 79
+allow virtualizationservice virtualizationmanager:process transition;
+#line 79
+# New domain is entered by executing the file.
+#line 79
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 79
+# New domain can send SIGCHLD to its caller.
+#line 79
+allow virtualizationmanager virtualizationservice:process sigchld;
+#line 79
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 79
+dontaudit virtualizationservice virtualizationmanager:process noatsecure;
+#line 79
+# XXX dontaudit candidate but requires further study.
+#line 79
+allow virtualizationservice virtualizationmanager:process { siginh rlimitinh };
+#line 79
+
+#line 79
+# Make the transition occur by default.
+#line 79
+type_transition virtualizationservice virtualizationmanager_exec:process virtualizationmanager;
+#line 79
+
+#line 79
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 79
+allow { virtualizationmanager crosvm } virtualizationservice:unix_stream_socket { ioctl getattr read write };
+#line 79
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 79
+allow { virtualizationmanager crosvm } virtualizationservice:fd use;
+#line 79
+# Let the client use file descriptors created by virtualizationmanager.
+#line 79
+allow virtualizationservice virtualizationmanager:fd use;
+#line 79
+# Allow piping console log to the client
+#line 79
+allow { virtualizationmanager crosvm } virtualizationservice:fifo_file { ioctl getattr read write };
+#line 79
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 79
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 79
+# the client can only connect to VMs that it owns.
+#line 79
+allow virtualizationservice virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 79
+# Allow client to inspect hypervisor capabilities
+#line 79
+
+#line 79
+allow virtualizationservice hypervisor_prop:file { getattr open read map };
+#line 79
+
+#line 79
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 79
+allow virtualizationservice virtualizationservice_data_file:file { getattr read };
+#line 79
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 79
+allow virtualizationmanager virtualizationservice:dir search;
+#line 79
+allow virtualizationmanager virtualizationservice:file read;
+#line 79
+allow virtualizationmanager virtualizationservice:lnk_file read;
+#line 79
+
+
+# Allow virtualizationservice to read and write in the apex data directory
+# /data/misc/apexdata/com.android.virt. Also allow checking of the parent directory
+# (needed for SQLite database creation).
+allow virtualizationservice apex_module_data_file:dir { search getattr };
+allow virtualizationservice apex_virt_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow virtualizationservice apex_virt_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Accept vsock connection from the guest VMs to singleton services
+# such as the guest tombstone server.
+allow virtualizationservice self:vsock_socket { create read getattr write setattr lock append bind getopt setopt shutdown map listen accept };
+neverallow { domain -virtualizationservice -dumpstate } virtualizationservice:vsock_socket *;
+
+# Allow virtualizationservice to read/write its own sysprop. Only the process can do so.
+
+#line 94
+
+#line 94
+allow virtualizationservice property_socket:sock_file write;
+#line 94
+allow virtualizationservice init:unix_stream_socket connectto;
+#line 94
+
+#line 94
+allow virtualizationservice virtualizationservice_prop:property_service set;
+#line 94
+
+#line 94
+allow virtualizationservice virtualizationservice_prop:file { getattr open read map };
+#line 94
+
+#line 94
+
+
+# Allow writing stats to statsd
+
+#line 97
+allow virtualizationservice statsdw_socket:sock_file write;
+#line 97
+allow virtualizationservice statsd:unix_dgram_socket sendto;
+#line 97
+
+
+# Allow virtualization service to talk to tombstoned to push guest tombstones
+
+#line 100
+allow virtualizationservice tombstoned_crash_socket:sock_file write;
+#line 100
+allow virtualizationservice tombstoned:unix_stream_socket connectto;
+#line 100
+
+
+# Append to tombstone files passed as fds from tombstoned
+allow virtualizationservice tombstone_data_file:file { append getattr };
+allow virtualizationservice tombstoned:fd use;
+
+# Allow virtualizationservice to check if VFIO is supported
+allow virtualizationservice vfio_device:chr_file getattr;
+allow virtualizationservice vfio_device:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Allow virtualizationservice to access VM DTBO via a file created by virtualizationmanager.
+allow virtualizationservice virtualizationmanager:fd use;
+
+# Allow virtualizationservice to access vendor_configs_file to get the list of assignable devices.
+
+#line 114
+allow virtualizationservice vendor_configs_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 114
+allow virtualizationservice vendor_configs_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 114
+
+
+neverallow {
+  domain
+  -init
+  -virtualizationservice
+} virtualizationservice_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -virtualizationmanager
+  -virtualizationservice
+} virtualizationservice_data_file:file { open create };
+
+neverallow virtualizationservice {
+  domain
+  -virtualizationmanager
+  -virtualizationservice
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+  -crosvm
+}:process setrlimit;
+
+
+#line 137
+    # Allow virtualizationservice to deal with file descriptors of TAP interfaces.
+#line 137
+    allow virtualizationservice tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 137
+    allow virtualizationservice vmnic:fd use;
+#line 141
+
+
+
+#line 143
+    # Only virtualizationservice and virtualizationmanager can communicate to vfio_handler
+#line 143
+    neverallow { domain -virtualizationmanager -virtualizationservice -servicemanager } vfio_handler:binder call;
+#line 146
+
+#line 1 "system/sepolicy/private/vmlauncher_app.te"
+type vmlauncher_app, domain;
+typeattribute vmlauncher_app coredomain;
+
+
+#line 4
+typeattribute vmlauncher_app appdomain;
+#line 4
+# Label tmpfs objects for all apps.
+#line 4
+type_transition vmlauncher_app tmpfs:file appdomain_tmpfs;
+#line 4
+
+#line 4
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 4
+type vmlauncher_app_userfaultfd;
+#line 4
+type_transition vmlauncher_app vmlauncher_app:anon_inode vmlauncher_app_userfaultfd "[userfaultfd]";
+#line 4
+# Allow domain to create/use userfaultfd anon_inode.
+#line 4
+allow vmlauncher_app vmlauncher_app_userfaultfd:anon_inode { create ioctl read };
+#line 4
+# Suppress errors generate during bugreport
+#line 4
+dontaudit su vmlauncher_app_userfaultfd:anon_inode *;
+#line 4
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 4
+neverallow { domain -vmlauncher_app } vmlauncher_app_userfaultfd:anon_inode *;
+#line 4
+
+#line 4
+allow vmlauncher_app appdomain_tmpfs:file { execute getattr map read write };
+#line 4
+neverallow { vmlauncher_app -runas_app -shell -simpleperf } { domain -vmlauncher_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 4
+neverallow { appdomain -runas_app -shell -simpleperf -vmlauncher_app } vmlauncher_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 4
+# The Android security model guarantees the confidentiality and integrity
+#line 4
+# of application data and execution state. Ptrace bypasses those
+#line 4
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 4
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 4
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 4
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 4
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 4
+# live lock conditions.
+#line 4
+neverallow { domain -vmlauncher_app -crash_dump  -runas_app -simpleperf } vmlauncher_app:process ptrace;
+#line 4
+
+
+#line 5
+typeattribute vmlauncher_app netdomain;
+#line 5
+
+
+allow vmlauncher_app app_api_service:service_manager find;
+allow vmlauncher_app system_api_service:service_manager find;
+
+allow vmlauncher_app shell_data_file:dir search;
+allow vmlauncher_app shell_data_file:file { read open write };
+
+#line 12
+# Transition to virtualizationmanager when the client executes it.
+#line 12
+
+#line 12
+# Allow the necessary permissions.
+#line 12
+
+#line 12
+# Old domain may exec the file and transition to the new domain.
+#line 12
+allow vmlauncher_app virtualizationmanager_exec:file { getattr open read execute map };
+#line 12
+allow vmlauncher_app virtualizationmanager:process transition;
+#line 12
+# New domain is entered by executing the file.
+#line 12
+allow virtualizationmanager virtualizationmanager_exec:file { entrypoint open read execute getattr map };
+#line 12
+# New domain can send SIGCHLD to its caller.
+#line 12
+allow virtualizationmanager vmlauncher_app:process sigchld;
+#line 12
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 12
+dontaudit vmlauncher_app virtualizationmanager:process noatsecure;
+#line 12
+# XXX dontaudit candidate but requires further study.
+#line 12
+allow vmlauncher_app virtualizationmanager:process { siginh rlimitinh };
+#line 12
+
+#line 12
+# Make the transition occur by default.
+#line 12
+type_transition vmlauncher_app virtualizationmanager_exec:process virtualizationmanager;
+#line 12
+
+#line 12
+# Allow virtualizationmanager to communicate over UDS with the client.
+#line 12
+allow { virtualizationmanager crosvm } vmlauncher_app:unix_stream_socket { ioctl getattr read write };
+#line 12
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+#line 12
+allow { virtualizationmanager crosvm } vmlauncher_app:fd use;
+#line 12
+# Let the client use file descriptors created by virtualizationmanager.
+#line 12
+allow vmlauncher_app virtualizationmanager:fd use;
+#line 12
+# Allow piping console log to the client
+#line 12
+allow { virtualizationmanager crosvm } vmlauncher_app:fifo_file { ioctl getattr read write };
+#line 12
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+#line 12
+# that it created. Notice that we do not grant permission to create a vsock;
+#line 12
+# the client can only connect to VMs that it owns.
+#line 12
+allow vmlauncher_app virtualizationmanager:vsock_socket { getattr getopt read write };
+#line 12
+# Allow client to inspect hypervisor capabilities
+#line 12
+
+#line 12
+allow vmlauncher_app hypervisor_prop:file { getattr open read map };
+#line 12
+
+#line 12
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+#line 12
+allow vmlauncher_app virtualizationservice_data_file:file { getattr read };
+#line 12
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+#line 12
+allow virtualizationmanager vmlauncher_app:dir search;
+#line 12
+allow virtualizationmanager vmlauncher_app:file read;
+#line 12
+allow virtualizationmanager vmlauncher_app:lnk_file read;
+#line 12
+
+
+allow vmlauncher_app fsck_exec:file { { getattr open read ioctl lock map watch watch_reads } execute execute_no_trans };
+allow vmlauncher_app crosvm:fd use;
+allow vmlauncher_app crosvm_tmpfs:file { map read write };
+allow vmlauncher_app crosvm_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+allow vmlauncher_app privapp_data_file:sock_file { create unlink write getattr };
+
+
+#line 21
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+#line 21
+  allow vmlauncher_app virtualization_service:service_manager find;
+#line 21
+  allow vmlauncher_app virtualizationservice:binder call;
+#line 21
+  allow vmlauncher_app crosvm:binder { call transfer };
+#line 26
+
+
+
+#line 28
+  allow vmlauncher_app self:vsock_socket { { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } } listen accept };
+#line 30
+
+
+#line 37
+
+
+# TODO(b/372664601): Remove this when we don't need linux_vm_setup
+
+#line 40
+
+#line 40
+allow vmlauncher_app property_socket:sock_file write;
+#line 40
+allow vmlauncher_app init:unix_stream_socket connectto;
+#line 40
+
+#line 40
+allow vmlauncher_app debug_prop:property_service set;
+#line 40
+
+#line 40
+allow vmlauncher_app debug_prop:file { getattr open read map };
+#line 40
+
+#line 40
+;
+#line 1 "system/sepolicy/private/vmnic.te"
+
+#line 1
+    # vmnic is a helper service for network tasks, like creating TAP network interface.
+#line 1
+    # vmnic is separated from virtualizationservice as vmnic requires more permission to do network related tasks.
+#line 1
+    type vmnic, domain, coredomain;
+#line 1
+    type vmnic_exec, system_file_type, exec_type, file_type;
+#line 1
+
+#line 1
+    # When init runs a file labelled with vmnic_exec, run it in the vmnic domain.
+#line 1
+    
+#line 1
+
+#line 1
+# Allow the necessary permissions.
+#line 1
+
+#line 1
+# Old domain may exec the file and transition to the new domain.
+#line 1
+allow init vmnic_exec:file { getattr open read execute map };
+#line 1
+allow init vmnic:process transition;
+#line 1
+# New domain is entered by executing the file.
+#line 1
+allow vmnic vmnic_exec:file { entrypoint open read execute getattr map };
+#line 1
+# New domain can send SIGCHLD to its caller.
+#line 1
+
+#line 1
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1
+dontaudit init vmnic:process noatsecure;
+#line 1
+# XXX dontaudit candidate but requires further study.
+#line 1
+allow init vmnic:process { siginh rlimitinh };
+#line 1
+
+#line 1
+# Make the transition occur by default.
+#line 1
+type_transition init vmnic_exec:process vmnic;
+#line 1
+
+#line 1
+
+#line 1
+
+#line 1
+    # Let the vmnic domain register the vmnic_service with ServiceManager.
+#line 1
+    
+#line 1
+  allow vmnic vmnic_service:service_manager { add find };
+#line 1
+  neverallow { domain -vmnic } vmnic_service:service_manager add;
+#line 1
+
+#line 1
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 1
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 1
+  
+#line 1
+
+#line 1
+
+#line 1
+    # Let the vmnic domain use Binder.
+#line 1
+    
+#line 1
+# Call the servicemanager and transfer references to it.
+#line 1
+allow vmnic servicemanager:binder { call transfer };
+#line 1
+# Allow servicemanager to send out callbacks
+#line 1
+allow servicemanager vmnic:binder { call transfer };
+#line 1
+# servicemanager performs getpidcon on clients.
+#line 1
+allow servicemanager vmnic:dir search;
+#line 1
+allow servicemanager vmnic:file { read open };
+#line 1
+allow servicemanager vmnic:process getattr;
+#line 1
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 1
+# all domains in domain.te.
+#line 1
+
+#line 1
+
+#line 1
+    # Allow for creating and deleting TAP network interfaces.
+#line 1
+    allow vmnic self:{ capability cap_userns } net_admin;
+#line 1
+    allow vmnic self:tun_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+#line 1
+    allow vmnic tun_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1
+    allowxperm vmnic tun_device:chr_file ioctl { 0x800454d2 0x400454ca };
+#line 1
+    allow vmnic self:udp_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+#line 1
+    allowxperm vmnic self:udp_socket ioctl 0x00008914;
+#line 1
+
+#line 1
+    # Only virtualizationservice can communicate to vmnic
+#line 1
+    neverallow { domain -virtualizationservice -servicemanager } vmnic:binder call;
+#line 26
+ # is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK)
+#line 1 "system/sepolicy/private/vold.te"
+typeattribute vold coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init vold_exec:file { getattr open read execute map };
+#line 3
+allow init vold:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow vold vold_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init vold:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init vold:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init vold_exec:process vold;
+#line 3
+
+#line 3
+
+
+# Switch to more restrictive domains when executing common tools
+
+#line 6
+# Allow the necessary permissions.
+#line 6
+
+#line 6
+# Old domain may exec the file and transition to the new domain.
+#line 6
+allow vold sgdisk_exec:file { getattr open read execute map };
+#line 6
+allow vold sgdisk:process transition;
+#line 6
+# New domain is entered by executing the file.
+#line 6
+allow sgdisk sgdisk_exec:file { entrypoint open read execute getattr map };
+#line 6
+# New domain can send SIGCHLD to its caller.
+#line 6
+allow sgdisk vold:process sigchld;
+#line 6
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 6
+dontaudit vold sgdisk:process noatsecure;
+#line 6
+# XXX dontaudit candidate but requires further study.
+#line 6
+allow vold sgdisk:process { siginh rlimitinh };
+#line 6
+
+#line 6
+# Make the transition occur by default.
+#line 6
+type_transition vold sgdisk_exec:process sgdisk;
+#line 6
+;
+
+#line 7
+# Allow the necessary permissions.
+#line 7
+
+#line 7
+# Old domain may exec the file and transition to the new domain.
+#line 7
+allow vold sdcardd_exec:file { getattr open read execute map };
+#line 7
+allow vold sdcardd:process transition;
+#line 7
+# New domain is entered by executing the file.
+#line 7
+allow sdcardd sdcardd_exec:file { entrypoint open read execute getattr map };
+#line 7
+# New domain can send SIGCHLD to its caller.
+#line 7
+allow sdcardd vold:process sigchld;
+#line 7
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 7
+dontaudit vold sdcardd:process noatsecure;
+#line 7
+# XXX dontaudit candidate but requires further study.
+#line 7
+allow vold sdcardd:process { siginh rlimitinh };
+#line 7
+
+#line 7
+# Make the transition occur by default.
+#line 7
+type_transition vold sdcardd_exec:process sdcardd;
+#line 7
+;
+
+#line 8
+# Allow the necessary permissions.
+#line 8
+
+#line 8
+# Old domain may exec the file and transition to the new domain.
+#line 8
+allow vold fuseblkd_untrusted_exec:file { getattr open read execute map };
+#line 8
+allow vold fuseblkd_untrusted:process transition;
+#line 8
+# New domain is entered by executing the file.
+#line 8
+allow fuseblkd_untrusted fuseblkd_untrusted_exec:file { entrypoint open read execute getattr map };
+#line 8
+# New domain can send SIGCHLD to its caller.
+#line 8
+allow fuseblkd_untrusted vold:process sigchld;
+#line 8
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 8
+dontaudit vold fuseblkd_untrusted:process noatsecure;
+#line 8
+# XXX dontaudit candidate but requires further study.
+#line 8
+allow vold fuseblkd_untrusted:process { siginh rlimitinh };
+#line 8
+
+#line 8
+# Make the transition occur by default.
+#line 8
+type_transition vold fuseblkd_untrusted_exec:process fuseblkd_untrusted;
+#line 8
+;
+
+# Switch to e2fs domain when running mkfs.ext4 to format a partition
+
+#line 11
+# Allow the necessary permissions.
+#line 11
+
+#line 11
+# Old domain may exec the file and transition to the new domain.
+#line 11
+allow vold e2fs_exec:file { getattr open read execute map };
+#line 11
+allow vold e2fs:process transition;
+#line 11
+# New domain is entered by executing the file.
+#line 11
+allow e2fs e2fs_exec:file { entrypoint open read execute getattr map };
+#line 11
+# New domain can send SIGCHLD to its caller.
+#line 11
+allow e2fs vold:process sigchld;
+#line 11
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 11
+dontaudit vold e2fs:process noatsecure;
+#line 11
+# XXX dontaudit candidate but requires further study.
+#line 11
+allow vold e2fs:process { siginh rlimitinh };
+#line 11
+
+#line 11
+# Make the transition occur by default.
+#line 11
+type_transition vold e2fs_exec:process e2fs;
+#line 11
+;
+
+
+# For a handful of probing tools, we choose an even more restrictive
+# domain when working with untrusted block devices
+
+#line 16
+# Old domain may exec the file and transition to the new domain.
+#line 16
+allow vold blkid_exec:file { getattr open read execute map };
+#line 16
+allow vold blkid:process transition;
+#line 16
+# New domain is entered by executing the file.
+#line 16
+allow blkid blkid_exec:file { entrypoint open read execute getattr map };
+#line 16
+# New domain can send SIGCHLD to its caller.
+#line 16
+allow blkid vold:process sigchld;
+#line 16
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 16
+dontaudit vold blkid:process noatsecure;
+#line 16
+# XXX dontaudit candidate but requires further study.
+#line 16
+allow vold blkid:process { siginh rlimitinh };
+#line 16
+;
+
+#line 17
+# Old domain may exec the file and transition to the new domain.
+#line 17
+allow vold blkid_exec:file { getattr open read execute map };
+#line 17
+allow vold blkid_untrusted:process transition;
+#line 17
+# New domain is entered by executing the file.
+#line 17
+allow blkid_untrusted blkid_exec:file { entrypoint open read execute getattr map };
+#line 17
+# New domain can send SIGCHLD to its caller.
+#line 17
+allow blkid_untrusted vold:process sigchld;
+#line 17
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 17
+dontaudit vold blkid_untrusted:process noatsecure;
+#line 17
+# XXX dontaudit candidate but requires further study.
+#line 17
+allow vold blkid_untrusted:process { siginh rlimitinh };
+#line 17
+;
+
+#line 18
+# Old domain may exec the file and transition to the new domain.
+#line 18
+allow vold fsck_exec:file { getattr open read execute map };
+#line 18
+allow vold fsck:process transition;
+#line 18
+# New domain is entered by executing the file.
+#line 18
+allow fsck fsck_exec:file { entrypoint open read execute getattr map };
+#line 18
+# New domain can send SIGCHLD to its caller.
+#line 18
+allow fsck vold:process sigchld;
+#line 18
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 18
+dontaudit vold fsck:process noatsecure;
+#line 18
+# XXX dontaudit candidate but requires further study.
+#line 18
+allow vold fsck:process { siginh rlimitinh };
+#line 18
+;
+
+#line 19
+# Old domain may exec the file and transition to the new domain.
+#line 19
+allow vold fsck_exec:file { getattr open read execute map };
+#line 19
+allow vold fsck_untrusted:process transition;
+#line 19
+# New domain is entered by executing the file.
+#line 19
+allow fsck_untrusted fsck_exec:file { entrypoint open read execute getattr map };
+#line 19
+# New domain can send SIGCHLD to its caller.
+#line 19
+allow fsck_untrusted vold:process sigchld;
+#line 19
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 19
+dontaudit vold fsck_untrusted:process noatsecure;
+#line 19
+# XXX dontaudit candidate but requires further study.
+#line 19
+allow vold fsck_untrusted:process { siginh rlimitinh };
+#line 19
+;
+
+# Newly created storage dirs are always treated as mount stubs to prevent us
+# from accidentally writing when the mount point isn't present.
+type_transition vold storage_file:dir storage_stub_file;
+type_transition vold mnt_media_rw_file:dir mnt_media_rw_stub_file;
+
+# Property Service
+
+#line 27
+allow vold vold_config_prop:file { getattr open read map };
+#line 27
+
+
+#line 28
+allow vold storage_config_prop:file { getattr open read map };
+#line 28
+;
+
+#line 29
+allow vold incremental_prop:file { getattr open read map };
+#line 29
+;
+
+#line 30
+allow vold gsid_prop:file { getattr open read map };
+#line 30
+;
+
+
+#line 32
+
+#line 32
+allow vold property_socket:sock_file write;
+#line 32
+allow vold init:unix_stream_socket connectto;
+#line 32
+
+#line 32
+allow vold vold_prop:property_service set;
+#line 32
+
+#line 32
+allow vold vold_prop:file { getattr open read map };
+#line 32
+
+#line 32
+
+
+#line 33
+
+#line 33
+allow vold property_socket:sock_file write;
+#line 33
+allow vold init:unix_stream_socket connectto;
+#line 33
+
+#line 33
+allow vold vold_status_prop:property_service set;
+#line 33
+
+#line 33
+allow vold vold_status_prop:file { getattr open read map };
+#line 33
+
+#line 33
+
+
+#line 34
+
+#line 34
+allow vold property_socket:sock_file write;
+#line 34
+allow vold init:unix_stream_socket connectto;
+#line 34
+
+#line 34
+allow vold powerctl_prop:property_service set;
+#line 34
+
+#line 34
+allow vold powerctl_prop:file { getattr open read map };
+#line 34
+
+#line 34
+
+
+#line 35
+
+#line 35
+allow vold property_socket:sock_file write;
+#line 35
+allow vold init:unix_stream_socket connectto;
+#line 35
+
+#line 35
+allow vold ctl_fuse_prop:property_service set;
+#line 35
+
+#line 35
+allow vold ctl_fuse_prop:file { getattr open read map };
+#line 35
+
+#line 35
+
+
+#line 36
+
+#line 36
+allow vold property_socket:sock_file write;
+#line 36
+allow vold init:unix_stream_socket connectto;
+#line 36
+
+#line 36
+allow vold restorecon_prop:property_service set;
+#line 36
+
+#line 36
+allow vold restorecon_prop:file { getattr open read map };
+#line 36
+
+#line 36
+
+
+#line 37
+
+#line 37
+allow vold property_socket:sock_file write;
+#line 37
+allow vold init:unix_stream_socket connectto;
+#line 37
+
+#line 37
+allow vold ota_prop:property_service set;
+#line 37
+
+#line 37
+allow vold ota_prop:file { getattr open read map };
+#line 37
+
+#line 37
+
+
+#line 38
+
+#line 38
+allow vold property_socket:sock_file write;
+#line 38
+allow vold init:unix_stream_socket connectto;
+#line 38
+
+#line 38
+allow vold boottime_prop:property_service set;
+#line 38
+
+#line 38
+allow vold boottime_prop:file { getattr open read map };
+#line 38
+
+#line 38
+
+
+#line 39
+
+#line 39
+allow vold property_socket:sock_file write;
+#line 39
+allow vold init:unix_stream_socket connectto;
+#line 39
+
+#line 39
+allow vold boottime_public_prop:property_service set;
+#line 39
+
+#line 39
+allow vold boottime_public_prop:file { getattr open read map };
+#line 39
+
+#line 39
+
+
+# Vold will use Keystore instead of using Keymint directly. But it still needs
+# to manage its Keymint blobs. This is why it needs the `manage_blob` permission.
+allow vold vold_key:keystore2_key {
+    convert_storage_key_to_ephemeral
+    delete
+    get_info
+    manage_blob
+    rebind
+    req_forced_op
+    update
+    use
+};
+
+# vold needs to call keystore methods
+allow vold keystore:binder call;
+
+# vold needs to find keystore2 services
+allow vold keystore_service:service_manager find;
+allow vold keystore_maintenance_service:service_manager find;
+
+# vold needs to be able to call earlyBootEnded() and deleteAllKeys()
+allow vold keystore:keystore2 early_boot_ended;
+allow vold keystore:keystore2 delete_all_keys;
+
+
+#line 65
+    allow vold storage_area_app_dir:dir search;
+#line 65
+    # Allow vold to get the encryption policy and
+#line 65
+    # verify the ownership of storage areas
+#line 65
+    allow vold storage_area_dir:dir {
+#line 65
+        read
+#line 65
+        open
+#line 65
+        getattr
+#line 65
+        ioctl
+#line 65
+    };
+#line 75
+
+
+# when a storage area is created (with `openStorageArea`), vold creates the key
+# and when a storage area is deleted (with `deleteStorageArea`), vold deletes the key
+
+#line 79
+  allow vold storage_area_key_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 79
+  allow vold storage_area_key_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+#line 82
+
+
+# Allow vold to create and delete per-user directories like /data/user/$userId.
+allow vold {
+    media_userdir_file
+    system_userdir_file
+    vendor_userdir_file
+}:dir {
+    add_name
+    remove_name
+    write
+};
+
+# Read already opened /cache files.
+allow vold cache_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow vold cache_file:file { getattr read };
+allow vold cache_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+
+#line 100
+allow vold { sysfs_type -sysfs_batteryinfo }:dir { open getattr read search ioctl lock watch watch_reads };
+#line 100
+allow vold { sysfs_type -sysfs_batteryinfo }:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 100
+
+# XXX Label sysfs files with a specific type?
+allow vold {
+  sysfs # writing to /sys/*/uevent during coldboot.
+  sysfs_devices_block
+  sysfs_dm
+  sysfs_loop # writing to /sys/block/loop*/uevent during coldboot.
+  sysfs_usb
+  sysfs_zram_uevent
+  sysfs_fs_f2fs
+}:file { open append write lock map };
+
+
+#line 112
+allow vold rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 112
+allow vold rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 112
+
+
+#line 113
+allow vold metadata_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 113
+allow vold metadata_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 113
+
+allow vold {
+  proc # b/67049235 processes /proc/<pid>/* files are mislabeled.
+  proc_bootconfig
+  proc_cmdline
+  proc_drop_caches
+  proc_filesystems
+  proc_meminfo
+  proc_mounts
+}:file { getattr open read ioctl lock map watch watch_reads };
+
+#Get file contexts
+allow vold file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow us to jump into execution domains of above tools
+allow vold self:process setexec;
+
+# For formatting adoptable storage devices
+allow vold e2fs_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Run fstrim on mounted partitions
+# allowxperm still requires the ioctl permission for the individual type
+allowxperm vold { fs_type file_type }:dir ioctl 0xc0185879;
+
+# Get/set file-based encryption policies on dirs in /data and adoptable storage,
+# and add/remove file-based encryption keys.
+allowxperm vold data_file_type:dir ioctl {
+  0x400c6615
+  0xc0096616
+  0x800c6613
+  0xc0506617
+  0xc0406618
+  0xc080661a
+};
+
+# Allow securely erasing crypto key files. F2FS_IOC_SEC_TRIM_FILE is
+# tried first. Otherwise, FS_IOC_FIEMAP is needed to get the
+# location of the file's blocks on the raw block device to erase.
+allowxperm vold {
+  vold_data_file
+  vold_metadata_file
+  storage_area_key_file
+}:file ioctl {
+  0xf514
+  0xc020660b
+};
+
+typeattribute vold mlstrustedsubject;
+allow vold self:process setfscreate;
+allow vold system_file:file { getattr execute execute_no_trans map };
+allow vold vendor_file:file { getattr execute execute_no_trans map };
+allow vold block_device:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vold device:dir write;
+allow vold devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vold rootfs:dir mounton;
+allow vold { sdcard_type fuse }:dir mounton; # TODO: deprecated in M
+allow vold { sdcard_type fuse }:filesystem { mount remount unmount }; # TODO: deprecated in M
+
+# Manage locations where storage is mounted
+allow vold { mnt_media_rw_file storage_file sdcard_type fuse }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vold { mnt_media_rw_file storage_file sdcard_type fuse }:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Access to storage that backs emulated FUSE daemons for migration optimization
+allow vold media_rw_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vold media_rw_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+# Allow mounting (lower filesystem) on parts of media for performance
+allow vold media_rw_data_file:dir mounton;
+
+# Allow setting project quota IDs and enabling project ID inheritance on
+# /data/media/$userId/* and /mnt/expand/$volume/media/$userId/*
+allowxperm vold media_rw_data_file:{ dir file } ioctl {
+  0x801c581f
+  0x401c5820
+  0x80086601
+  0x40086602
+};
+
+# Allow mounting of storage devices
+allow vold { mnt_media_rw_stub_file storage_stub_file }:dir { mounton create rmdir getattr setattr };
+
+# Manage per-user primary symlinks
+allow vold mnt_user_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow vold mnt_user_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow vold mnt_user_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Manage per-user pass_through primary symlinks
+allow vold mnt_pass_through_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow vold mnt_pass_through_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow to create and mount expanded storage
+allow vold mnt_expand_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow vold apk_data_file:dir { create getattr setattr };
+allow vold shell_data_file:dir { create getattr setattr };
+allow vold system_userdir_file:dir { create getattr setattr };
+allow vold media_userdir_file:dir { create getattr setattr open read ioctl };
+# Needed to set the casefold flag on /mnt/expand/$volume/media
+allowxperm vold media_userdir_file:dir ioctl { 0x80086601 0x40086602 };
+
+# Allow to mount incremental file system on /data/incremental and create files
+allow vold apk_data_file:dir { mounton { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+# Allow to create and write files in /data/incremental
+allow vold apk_data_file:file { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } unlink };
+# Allow to bind-mount incremental file system on /data/app/vmdl*.tmp and read files
+allow vold apk_tmp_file:dir { mounton { open getattr read search ioctl lock watch watch_reads } };
+# Allow to read incremental control file and call selinux restorecon on it
+allow vold incremental_control_file:file { { getattr open read ioctl lock map watch watch_reads } relabelto };
+
+allow vold tmpfs:filesystem { mount unmount };
+allow vold tmpfs:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vold tmpfs:dir mounton;
+allow vold self:{ capability cap_userns } { net_admin dac_override dac_read_search mknod sys_admin chown fowner fsetid };
+allow vold self:netlink_kobject_uevent_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow vold loop_control_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vold loop_device:blk_file { create setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allowxperm vold loop_device:blk_file ioctl {
+  0x00004c01
+  0x00004c82
+  0x00004c05
+  0x00004c00
+  0x00004c04
+};
+allow vold vold_device:blk_file { create setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allowxperm vold vold_device:blk_file ioctl { 0x00001277 0x00001260 };
+allow vold dm_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vold dm_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm vold dm_device:blk_file ioctl { 0x00001277 0x0000127d 0xc0101282 0x40101283 0x0000125d 0x0000125e };
+# For vold Process::killProcessesWithOpenFiles function.
+allow vold domain:dir { open getattr read search ioctl lock watch watch_reads };
+allow vold domain:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+allow vold domain:process { signal sigkill };
+allow vold self:{ capability cap_userns } { sys_ptrace kill };
+
+allow vold kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Run fsck in the fsck domain.
+allow vold fsck_exec:file { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# Log fsck results
+allow vold fscklogs:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow vold fscklogs:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Mount and unmount filesystems.
+allow vold labeledfs:filesystem { mount unmount remount };
+
+# Create and mount on /data/tmp_mnt and management of expansion mounts
+#
+# Also rename per-user encrypted directories such as /data/user/10 from their
+# temporary name ("10.new") to their final name ("10").
+allow vold {
+    system_data_file
+    system_data_root_file
+}:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow vold system_data_file:lnk_file getattr;
+
+# Vold create users in /data/vendor_{ce,de}/[0-9]+
+allow vold vendor_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# for secdiscard
+allow vold system_data_file:file read;
+
+# Set scheduling policy of kernel processes
+allow vold kernel:process setsched;
+
+# ASEC
+allow vold asec_image_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow vold asec_image_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow vold asec_apk_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton relabelfrom relabelto };
+allow vold asec_public_file:dir { relabelto setattr };
+allow vold asec_apk_file:file { { getattr open read ioctl lock map watch watch_reads } setattr relabelfrom relabelto };
+allow vold asec_public_file:file { relabelto setattr };
+# restorecon files in asec containers created on 4.2 or earlier.
+allow vold unlabeled:dir { { open getattr read search ioctl lock watch watch_reads } setattr relabelfrom };
+allow vold unlabeled:file { { getattr open read ioctl lock map watch watch_reads } setattr relabelfrom };
+
+# Access to FUSE control filesystem to hard-abort FUSE mounts
+allow vold fusectlfs:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vold fusectlfs:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+
+# Allow vold to use wake locks.  Needed for idle maintenance and moving storage.
+
+#line 292
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+#line 292
+# deprecated.
+#line 292
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+#line 292
+allow vold sysfs_wake_lock:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 292
+# Accessing these files requires CAP_BLOCK_SUSPEND
+#line 292
+allow vold self:{ capability2 cap2_userns } block_suspend;
+#line 292
+# system_suspend permissions
+#line 292
+
+#line 292
+# Call the server domain and optionally transfer references to it.
+#line 292
+allow vold system_suspend_server:binder { call transfer };
+#line 292
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 292
+allow system_suspend_server vold:binder transfer;
+#line 292
+# Receive and use open files from the server.
+#line 292
+allow vold system_suspend_server:fd use;
+#line 292
+
+#line 292
+allow vold system_suspend_hwservice:hwservice_manager find;
+#line 292
+# halclientdomain permissions
+#line 292
+
+#line 292
+# Call the hwservicemanager and transfer references to it.
+#line 292
+allow vold hwservicemanager:binder { call transfer };
+#line 292
+# Allow hwservicemanager to send out callbacks
+#line 292
+allow hwservicemanager vold:binder { call transfer };
+#line 292
+# hwservicemanager performs getpidcon on clients.
+#line 292
+allow hwservicemanager vold:dir search;
+#line 292
+allow hwservicemanager vold:file { read open map };
+#line 292
+allow hwservicemanager vold:process getattr;
+#line 292
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 292
+# all domains in domain.te.
+#line 292
+
+#line 292
+
+#line 292
+allow vold hwservicemanager_prop:file { getattr open read map };
+#line 292
+
+#line 292
+allow vold hidl_manager_hwservice:hwservice_manager find;
+#line 292
+# AIDL suspend hal permissions
+#line 292
+allow vold hal_system_suspend_service:service_manager find;
+#line 292
+
+#line 292
+# Call the servicemanager and transfer references to it.
+#line 292
+allow vold servicemanager:binder { call transfer };
+#line 292
+# Allow servicemanager to send out callbacks
+#line 292
+allow servicemanager vold:binder { call transfer };
+#line 292
+# servicemanager performs getpidcon on clients.
+#line 292
+allow servicemanager vold:dir search;
+#line 292
+allow servicemanager vold:file { read open };
+#line 292
+allow servicemanager vold:process getattr;
+#line 292
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 292
+# all domains in domain.te.
+#line 292
+
+#line 292
+
+
+# Allow vold to make binder calls and publish binder services.
+
+#line 295
+# Call the servicemanager and transfer references to it.
+#line 295
+allow vold servicemanager:binder { call transfer };
+#line 295
+# Allow servicemanager to send out callbacks
+#line 295
+allow servicemanager vold:binder { call transfer };
+#line 295
+# servicemanager performs getpidcon on clients.
+#line 295
+allow servicemanager vold:dir search;
+#line 295
+allow servicemanager vold:file { read open };
+#line 295
+allow servicemanager vold:process getattr;
+#line 295
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 295
+# all domains in domain.te.
+#line 295
+
+
+#line 296
+  allow vold vold_service:service_manager { add find };
+#line 296
+  neverallow { domain -vold } vold_service:service_manager add;
+#line 296
+
+#line 296
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 296
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 296
+  
+#line 296
+
+
+#line 297
+  allow vold fwk_vold_service:service_manager { add find };
+#line 297
+  neverallow { domain -vold } fwk_vold_service:service_manager add;
+#line 297
+
+#line 297
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 297
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 297
+  
+#line 297
+
+
+# Allow vold to call into the system server so it can check permissions.
+
+#line 300
+# Call the server domain and optionally transfer references to it.
+#line 300
+allow vold system_server:binder { call transfer };
+#line 300
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 300
+allow system_server vold:binder transfer;
+#line 300
+# Receive and use open files from the server.
+#line 300
+allow vold system_server:fd use;
+#line 300
+
+allow vold permission_service:service_manager find;
+
+# talk to health storage HAL
+
+#line 304
+typeattribute vold halclientdomain;
+#line 304
+typeattribute vold hal_health_storage_client;
+#line 304
+
+#line 304
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 304
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 304
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 304
+
+#line 304
+typeattribute vold hal_health_storage;
+#line 304
+# Find passthrough HAL implementations
+#line 304
+allow hal_health_storage system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 304
+allow hal_health_storage vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 304
+allow hal_health_storage vendor_file:file { read open getattr execute map };
+#line 304
+
+#line 304
+
+
+# talk to bootloader HAL
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 307
+
+#line 307
+typeattribute vold halclientdomain;
+#line 307
+typeattribute vold hal_bootctl_client;
+#line 307
+
+#line 307
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 307
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 307
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 307
+
+#line 307
+typeattribute vold hal_bootctl;
+#line 307
+# Find passthrough HAL implementations
+#line 307
+allow hal_bootctl system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 307
+allow hal_bootctl vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 307
+allow hal_bootctl vendor_file:file { read open getattr execute map };
+#line 307
+
+#line 307
+
+#line 307
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+#line 307
+
+
+# Access userdata block device.
+allow vold userdata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm vold userdata_block_device:blk_file ioctl 0x0000127d;
+
+# Access zoned block device.
+allow vold zoned_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+
+# Access metadata block device used for encryption meta-data.
+allow vold metadata_block_device:blk_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allowxperm vold metadata_block_device:blk_file ioctl 0x0000127d;
+
+# Allow vold to manipulate /data/unencrypted
+allow vold unencrypted_data_file:{ file } { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow vold unencrypted_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# Write to /proc/sys/vm/drop_caches
+allow vold proc_drop_caches:file { open append write lock map };
+
+# Give vold a place where only vold can store files; everyone else is off limits
+allow vold vold_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vold vold_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# And a similar place in the metadata partition
+allow vold vold_metadata_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow vold vold_metadata_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# linux keyring configuration
+allow vold init:key { write search setattr };
+allow vold vold:key { write search setattr };
+
+# vold temporarily changes its priority when running benchmarks
+allow vold self:{ capability cap_userns } sys_nice;
+
+# vold needs to chroot into app namespaces to remount when runtime permissions change
+allow vold self:{ capability cap_userns } sys_chroot;
+allow vold storage_file:dir mounton;
+
+# For AppFuse.
+allow vold fuse_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vold fuse:filesystem { relabelfrom };
+allow vold app_fusefs:filesystem { relabelfrom relabelto };
+allow vold app_fusefs:filesystem { mount unmount };
+allow vold app_fuse_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow vold app_fuse_file:file { read write open getattr append };
+
+# MoveStorage.cpp executes cp and rm
+allow vold toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Prepare profile dir for users.
+allow vold { user_profile_data_file user_profile_root_file }:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+
+# Raw writes to misc block device
+allow vold misc_block_device:blk_file { open append write lock map };
+
+# vold might need to search or mount /mnt/vendor/*
+allow vold mnt_vendor_file:dir search;
+
+dontaudit vold self:{ capability cap_userns } sys_resource;
+
+dontaudit vold self:capability sys_rawio;
+
+# Allow ReadDefaultFstab().
+
+#line 371
+  allow vold { metadata_file gsi_metadata_file_type }:dir search;
+#line 371
+  allow vold gsi_public_metadata_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 371
+  allow vold { proc_bootconfig proc_cmdline }:file { getattr open read ioctl lock map watch watch_reads };
+#line 371
+
+
+# vold might need to search loopback apex files
+allow vold vendor_apex_file:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### Neverallow rules
+###
+
+neverallow {
+    domain
+    -system_server
+    -vdc
+    -vold
+    -update_verifier
+    -apexd
+    -gsid
+} vold_service:service_manager find;
+
+# Only vold should create (and delete) per-user directories like
+# /data/user/$userId.  This is very important, as these directories need to be
+# encrypted with per-user keys, which only vold can do.  Encryption can only be
+# set up on empty directories, so creation and encryption must happen together.
+neverallow {
+    domain
+    -vold
+} {
+    media_userdir_file
+    system_userdir_file
+    vendor_userdir_file
+}:dir {
+    add_name
+    remove_name
+    write
+};
+
+# Only vold and init should ever set file-based encryption policies.
+neverallowxperm {
+  domain
+  -vold
+  -init
+  -vendor_init
+   -vold_prepare_subdirs 
+} data_file_type:dir ioctl { 0x800c6613 };
+
+# Only vold should ever add/remove file-based encryption keys.
+neverallowxperm {
+  domain
+  -vold
+} data_file_type:dir ioctl { 0xc0506617 0xc0406618 0xc080661a };
+
+neverallow {
+    domain
+    -vold
+    -vold_prepare_subdirs
+} vold_data_file:dir ~{ open create read getattr setattr search relabelfrom relabelto ioctl };
+
+neverallow {
+    domain
+    -init
+    -vold
+    -vold_prepare_subdirs
+} vold_data_file:dir *;
+
+neverallow {
+    domain
+    -init
+    -vold
+} vold_metadata_file:dir *;
+
+neverallow {
+    domain
+    -kernel
+    -vold
+    -vold_prepare_subdirs
+} vold_data_file:{ file lnk_file sock_file fifo_file } ~{ relabelto getattr };
+
+neverallow {
+    domain
+    -init
+    -vold
+    -vold_prepare_subdirs
+} vold_metadata_file:{ file lnk_file sock_file fifo_file } ~{ relabelto getattr };
+
+neverallow {
+    domain
+    -init
+    -kernel
+    -vold
+    -vold_prepare_subdirs
+} { vold_data_file vold_metadata_file }:{ file lnk_file sock_file fifo_file } *;
+
+neverallow { domain -vold -init } restorecon_prop:property_service set;
+
+neverallow vold {
+  domain
+  -hal_health_storage_server
+  -hal_keymaster_server
+  -system_suspend_server
+  -hal_bootctl_server
+  -hwservicemanager
+  -keystore
+  -servicemanager
+  -system_server
+  
+}:binder call;
+
+neverallow vold fsck_exec:file execute_no_trans;
+neverallow { domain -init } vold:process { transition dyntransition };
+neverallow vold *:process ptrace;
+neverallow vold *:rawip_socket *;
+#line 1 "system/sepolicy/private/vold_prepare_subdirs.te"
+
+#line 1
+# Allow the necessary permissions.
+#line 1
+
+#line 1
+# Old domain may exec the file and transition to the new domain.
+#line 1
+allow vold vold_prepare_subdirs_exec:file { getattr open read execute map };
+#line 1
+allow vold vold_prepare_subdirs:process transition;
+#line 1
+# New domain is entered by executing the file.
+#line 1
+allow vold_prepare_subdirs vold_prepare_subdirs_exec:file { entrypoint open read execute getattr map };
+#line 1
+# New domain can send SIGCHLD to its caller.
+#line 1
+allow vold_prepare_subdirs vold:process sigchld;
+#line 1
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 1
+dontaudit vold vold_prepare_subdirs:process noatsecure;
+#line 1
+# XXX dontaudit candidate but requires further study.
+#line 1
+allow vold vold_prepare_subdirs:process { siginh rlimitinh };
+#line 1
+
+#line 1
+# Make the transition occur by default.
+#line 1
+type_transition vold vold_prepare_subdirs_exec:process vold_prepare_subdirs;
+#line 1
+
+
+typeattribute vold_prepare_subdirs coredomain;
+typeattribute vold_prepare_subdirs mlstrustedsubject;
+
+allow vold_prepare_subdirs system_file:file execute_no_trans;
+allow vold_prepare_subdirs shell_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow vold_prepare_subdirs toolbox_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow vold_prepare_subdirs devpts:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow vold_prepare_subdirs vold:fd use;
+allow vold_prepare_subdirs vold:fifo_file { read write };
+allow vold_prepare_subdirs file_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow vold_prepare_subdirs seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+allow vold_prepare_subdirs self:{ capability cap_userns } { chown dac_override dac_read_search fowner };
+allow vold_prepare_subdirs self:process setfscreate;
+allow vold_prepare_subdirs {
+  sdk_sandbox_system_data_file
+  system_data_file
+  vendor_data_file
+}:dir { open read write add_name remove_name rmdir relabelfrom };
+allow vold_prepare_subdirs {
+    apex_data_file_type
+    apex_module_data_file
+    apex_rollback_data_file
+    backup_data_file
+    checkin_data_file
+    face_vendor_data_file
+    fingerprint_vendor_data_file
+    iris_vendor_data_file
+    rollback_data_file
+    storage_area_key_file
+    storaged_data_file
+    sdk_sandbox_data_file
+    sdk_sandbox_system_data_file
+    system_data_file
+    vold_data_file
+}:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } relabelto };
+allow vold_prepare_subdirs {
+    apex_data_file_type
+    apex_art_staging_data_file
+    apex_module_data_file
+    apex_rollback_data_file
+    backup_data_file
+    checkin_data_file
+    face_vendor_data_file
+    fingerprint_vendor_data_file
+    iris_vendor_data_file
+    rollback_data_file
+    storaged_data_file
+    sdk_sandbox_data_file
+    system_data_file
+    vold_data_file
+}:file { getattr unlink };
+allow vold_prepare_subdirs apex_mnt_dir:dir { open read };
+allow vold_prepare_subdirs mnt_expand_file:dir search;
+allow vold_prepare_subdirs user_profile_data_file:dir { search getattr relabelfrom };
+allow vold_prepare_subdirs user_profile_root_file:dir { search getattr relabelfrom relabelto };
+
+# Allow vold_prepare_subdirs to create storage area directories on behalf of apps.
+
+#line 60
+  allow vold_prepare_subdirs {
+#line 60
+      storage_area_dir
+#line 60
+      storage_area_app_dir
+#line 60
+  }:dir {
+#line 60
+      { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } }
+#line 60
+      create
+#line 60
+      setattr # for chown() and chmod()
+#line 60
+      rmdir
+#line 60
+      unlink
+#line 60
+      relabelfrom # setfilecon
+#line 60
+      relabelto # setfilecon
+#line 60
+  };
+#line 60
+
+#line 60
+  # The storage area directories should have type storage_area_dir
+#line 60
+  type_transition vold_prepare_subdirs storage_area_app_dir:dir storage_area_dir;
+#line 60
+
+#line 60
+  
+#line 60
+
+#line 60
+allow vold_prepare_subdirs selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 60
+allow vold_prepare_subdirs selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 60
+
+#line 60
+allow vold_prepare_subdirs selinuxfs:file { open append write lock map };
+#line 60
+allow vold_prepare_subdirs kernel:security check_context;
+#line 60
+
+#line 60
+
+#line 60
+  allowxperm vold_prepare_subdirs storage_area_dir:dir ioctl 0x800c6613;
+#line 80
+
+
+
+#line 82
+  neverallowxperm vold_prepare_subdirs {
+#line 82
+    data_file_type
+#line 82
+    -storage_area_dir
+#line 82
+  }:dir ioctl 0x800c6613;
+#line 87
+
+
+# Migrate legacy labels to apex_system_server_data_file (b/217581286)
+allow vold_prepare_subdirs {
+  apex_appsearch_data_file
+  apex_permission_data_file
+  apex_scheduling_data_file
+  apex_tethering_data_file
+  apex_wifi_data_file
+}:dir relabelfrom;
+
+# /data/misc is unlabeled during early boot.
+allow vold_prepare_subdirs unlabeled:dir search;
+
+dontaudit vold_prepare_subdirs { proc unlabeled }:file { getattr open read ioctl lock map watch watch_reads };
+#line 1 "system/sepolicy/private/vzwomatrigger_app.te"
+###
+### A domain for further sandboxing the VzwOmaTrigger app.
+###
+type vzwomatrigger_app, domain;
+
+
+#line 6
+typeattribute vzwomatrigger_app appdomain;
+#line 6
+# Label tmpfs objects for all apps.
+#line 6
+type_transition vzwomatrigger_app tmpfs:file appdomain_tmpfs;
+#line 6
+
+#line 6
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 6
+type vzwomatrigger_app_userfaultfd;
+#line 6
+type_transition vzwomatrigger_app vzwomatrigger_app:anon_inode vzwomatrigger_app_userfaultfd "[userfaultfd]";
+#line 6
+# Allow domain to create/use userfaultfd anon_inode.
+#line 6
+allow vzwomatrigger_app vzwomatrigger_app_userfaultfd:anon_inode { create ioctl read };
+#line 6
+# Suppress errors generate during bugreport
+#line 6
+dontaudit su vzwomatrigger_app_userfaultfd:anon_inode *;
+#line 6
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 6
+neverallow { domain -vzwomatrigger_app } vzwomatrigger_app_userfaultfd:anon_inode *;
+#line 6
+
+#line 6
+allow vzwomatrigger_app appdomain_tmpfs:file { execute getattr map read write };
+#line 6
+neverallow { vzwomatrigger_app -runas_app -shell -simpleperf } { domain -vzwomatrigger_app }:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+neverallow { appdomain -runas_app -shell -simpleperf -vzwomatrigger_app } vzwomatrigger_app:file { { append create link unlink relabelfrom rename setattr write } open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads };
+#line 6
+# The Android security model guarantees the confidentiality and integrity
+#line 6
+# of application data and execution state. Ptrace bypasses those
+#line 6
+# confidentiality guarantees. Disallow ptrace access from system components to
+#line 6
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+#line 6
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+#line 6
+# simpleperf is excluded, as it operates only on debuggable or profileable
+#line 6
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+#line 6
+# live lock conditions.
+#line 6
+neverallow { domain -vzwomatrigger_app -crash_dump  -runas_app -simpleperf } vzwomatrigger_app:process ptrace;
+#line 6
+
+#line 1 "system/sepolicy/private/wait_for_keymaster.te"
+# wait_for_keymaster service. No longer used;
+# here only so that downstream code compiles.
+type wait_for_keymaster, domain, coredomain;
+type wait_for_keymaster_exec, system_file_type, exec_type, file_type;
+
+#line 1 "system/sepolicy/private/watchdogd.te"
+typeattribute watchdogd coredomain;
+
+
+#line 3
+
+#line 3
+# Allow the necessary permissions.
+#line 3
+
+#line 3
+# Old domain may exec the file and transition to the new domain.
+#line 3
+allow init watchdogd_exec:file { getattr open read execute map };
+#line 3
+allow init watchdogd:process transition;
+#line 3
+# New domain is entered by executing the file.
+#line 3
+allow watchdogd watchdogd_exec:file { entrypoint open read execute getattr map };
+#line 3
+# New domain can send SIGCHLD to its caller.
+#line 3
+
+#line 3
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 3
+dontaudit init watchdogd:process noatsecure;
+#line 3
+# XXX dontaudit candidate but requires further study.
+#line 3
+allow init watchdogd:process { siginh rlimitinh };
+#line 3
+
+#line 3
+# Make the transition occur by default.
+#line 3
+type_transition init watchdogd_exec:process watchdogd;
+#line 3
+
+#line 3
+
+
+allow watchdogd watchdog_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow watchdogd kmsg_device:chr_file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+#line 1 "system/sepolicy/private/webview_zygote.te"
+# webview_zygote is an auxiliary zygote process that is used to spawn
+# isolated_app processes for rendering untrusted web content.
+
+typeattribute webview_zygote coredomain;
+
+# The webview_zygote needs to be able to transition domains.
+typeattribute webview_zygote mlstrustedsubject;
+
+# Allow access to temporary files, which is normally permitted through
+# a domain macro.
+
+#line 11
+type_transition webview_zygote tmpfs:file webview_zygote_tmpfs;
+#line 11
+allow webview_zygote webview_zygote_tmpfs:file { read write getattr map };
+#line 11
+;
+
+
+#line 13
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 13
+type webview_zygote_userfaultfd;
+#line 13
+type_transition webview_zygote webview_zygote:anon_inode webview_zygote_userfaultfd "[userfaultfd]";
+#line 13
+# Allow domain to create/use userfaultfd anon_inode.
+#line 13
+allow webview_zygote webview_zygote_userfaultfd:anon_inode { create ioctl read };
+#line 13
+# Suppress errors generate during bugreport
+#line 13
+dontaudit su webview_zygote_userfaultfd:anon_inode *;
+#line 13
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 13
+neverallow { domain -webview_zygote } webview_zygote_userfaultfd:anon_inode *;
+#line 13
+
+
+# Allow reading/executing installed binaries to enable preloading the
+# installed WebView implementation.
+allow webview_zygote apk_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow webview_zygote apk_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# Access to the WebView relro file.
+allow webview_zygote shared_relro_file:dir search;
+allow webview_zygote shared_relro_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Set the UID/GID of the process.
+allow webview_zygote self:{ capability cap_userns } { setgid setuid };
+# Drop capabilities from bounding set.
+allow webview_zygote self:{ capability cap_userns } setpcap;
+# Switch SELinux context to app domains.
+allow webview_zygote self:process setcurrent;
+allow webview_zygote isolated_app:process dyntransition;
+
+# For art.
+allow webview_zygote { apex_art_data_file dalvikcache_data_file }:dir { open getattr read search ioctl lock watch watch_reads };
+allow webview_zygote dalvikcache_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+allow webview_zygote { apex_art_data_file dalvikcache_data_file }:file { { getattr open read ioctl lock map watch watch_reads } execute };
+allow webview_zygote apex_module_data_file:dir search;
+
+# To load overlay from /apex (vendor APEXes)
+allow webview_zygote vendor_apex_metadata_file:dir search;
+
+# Allow webview_zygote to create JIT memory.
+allow webview_zygote self:process execmem;
+
+# Allow webview_zygote to stat the files that it opens. It must
+# be able to inspect them so that it can reopen them on fork
+# if necessary: b/30963384.
+allow webview_zygote debugfs_trace_marker:file getattr;
+
+# Allow webview_zygote to manage the pgroup of its children.
+allow webview_zygote system_server:process getpgid;
+
+# Interaction between the webview_zygote and its children.
+allow webview_zygote isolated_app:process setpgid;
+
+# TODO (b/63631799) fix this access
+# Suppress denials to storage. Webview zygote should not be accessing.
+dontaudit webview_zygote mnt_expand_file:dir getattr;
+
+# TODO (b/72957399) remove this when webview_zygote is reparented to
+# app_process zygote
+dontaudit webview_zygote dex2oat_exec:file execute;
+
+# Get seapp_contexts
+allow webview_zygote seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+# Check validity of SELinux context before use.
+
+#line 66
+
+#line 66
+allow webview_zygote selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 66
+allow webview_zygote selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 66
+
+#line 66
+allow webview_zygote selinuxfs:file { open append write lock map };
+#line 66
+allow webview_zygote kernel:security check_context;
+#line 66
+
+# Check SELinux permissions.
+
+#line 68
+
+#line 68
+allow webview_zygote selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 68
+allow webview_zygote selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 68
+
+#line 68
+allow webview_zygote selinuxfs:file { open append write lock map };
+#line 68
+allow webview_zygote kernel:security compute_av;
+#line 68
+allow webview_zygote self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 68
+
+
+# Directory listing in /system.
+allow webview_zygote system_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+# Read and inspect temporary files (like system properties) managed by zygote.
+allow webview_zygote zygote_tmpfs:file { read getattr };
+# Child of zygote.
+allow webview_zygote zygote:fd use;
+allow webview_zygote zygote:process sigchld;
+
+# Allow apps access to /vendor/overlay
+
+#line 80
+allow webview_zygote vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 80
+allow webview_zygote vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 80
+
+
+allow webview_zygote same_process_hal_file:file { execute read open getattr map };
+
+allow webview_zygote system_data_file:lnk_file { getattr open read ioctl lock map watch watch_reads };
+
+# Send unsolicited message to system_server
+
+#line 87
+allow webview_zygote system_unsolzygote_socket:sock_file write;
+#line 87
+allow webview_zygote system_server:unix_dgram_socket sendto;
+#line 87
+
+
+# Allow the webview_zygote to access the runtime feature flag properties.
+
+#line 90
+allow webview_zygote device_config_runtime_native_prop:file { getattr open read map };
+#line 90
+
+
+#line 91
+allow webview_zygote device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 91
+
+
+# Allow webview_zygote to access odsign verification status
+
+#line 94
+allow zygote odsign_prop:file { getattr open read map };
+#line 94
+
+
+# /data/resource-cache
+allow webview_zygote resourcecache_data_file:file { getattr open read ioctl lock map watch watch_reads };
+allow webview_zygote resourcecache_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+
+#####
+##### Neverallow
+#####
+
+# Only permit transition to isolated_app.
+neverallow webview_zygote { domain -isolated_app }:process dyntransition;
+
+# Only setcon() transitions, no exec() based transitions, except for crash_dump.
+neverallow webview_zygote { domain -crash_dump }:process transition;
+
+# Must not exec() a program without changing domains.
+# Having said that, exec() above is not allowed.
+neverallow webview_zygote *:file execute_no_trans;
+
+# The only way to enter this domain is for the zygote to fork a new
+# webview_zygote child.
+neverallow { domain -zygote } webview_zygote:process dyntransition;
+
+# Disallow write access to properties.
+neverallow webview_zygote property_socket:sock_file write;
+neverallow webview_zygote property_type:property_service set;
+
+# Should not have any access to app data files.
+neverallow webview_zygote app_data_file_type:file { { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } { getattr execute execute_no_trans map } } };
+
+neverallow webview_zygote {
+    service_manager_type
+    -activity_service
+    -webviewupdate_service
+}:service_manager find;
+
+# Isolated apps shouldn't be able to access the driver directly.
+neverallow webview_zygote gpu_device:chr_file { { { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } { getattr execute execute_no_trans map } } };
+
+# Do not allow webview_zygote access to /cache.
+neverallow webview_zygote cache_file:dir ~{ { open getattr read search ioctl lock watch watch_reads } };
+neverallow webview_zygote cache_file:file ~{ read getattr };
+
+# Do not allow most socket access. This is socket_class_set, excluding unix_dgram_socket,
+# unix_stream_socket, and netlink_selinux_socket.
+neverallow webview_zygote domain:{
+  socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket
+  appletalk_socket netlink_route_socket netlink_tcpdiag_socket
+  netlink_nflog_socket netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket
+  netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket
+  netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket
+  sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket
+  x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket
+  pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket
+  rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket
+  xdp_socket
+} *;
+
+# Do not allow access to Bluetooth-related system properties.
+# neverallow rules for Bluetooth-related data files are listed above.
+neverallow webview_zygote {
+  bluetooth_a2dp_offload_prop
+  bluetooth_audio_hal_prop
+  bluetooth_prop
+  exported_bluetooth_prop
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+#line 1 "system/sepolicy/private/wifi_mainline_supplicant.te"
+type wifi_mainline_supplicant, domain, coredomain;
+type wifi_mainline_supplicant_exec, system_file_type, exec_type, file_type;
+
+
+#line 4
+# Call the servicemanager and transfer references to it.
+#line 4
+allow wifi_mainline_supplicant servicemanager:binder { call transfer };
+#line 4
+# Allow servicemanager to send out callbacks
+#line 4
+allow servicemanager wifi_mainline_supplicant:binder { call transfer };
+#line 4
+# servicemanager performs getpidcon on clients.
+#line 4
+allow servicemanager wifi_mainline_supplicant:dir search;
+#line 4
+allow servicemanager wifi_mainline_supplicant:file { read open };
+#line 4
+allow servicemanager wifi_mainline_supplicant:process getattr;
+#line 4
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 4
+# all domains in domain.te.
+#line 4
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init wifi_mainline_supplicant_exec:file { getattr open read execute map };
+#line 5
+allow init wifi_mainline_supplicant:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow wifi_mainline_supplicant wifi_mainline_supplicant_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init wifi_mainline_supplicant:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init wifi_mainline_supplicant:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init wifi_mainline_supplicant_exec:process wifi_mainline_supplicant;
+#line 5
+
+#line 5
+
+
+#line 6
+  allow wifi_mainline_supplicant wifi_mainline_supplicant_service:service_manager { add find };
+#line 6
+  neverallow { domain -wifi_mainline_supplicant } wifi_mainline_supplicant_service:service_manager add;
+#line 6
+
+#line 6
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 6
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 6
+  
+#line 6
+
+
+allow wifi_mainline_supplicant self:{ capability cap_userns } { net_admin net_raw };
+allow wifi_mainline_supplicant proc_net:file { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } };
+allow wifi_mainline_supplicant sysfs_net:dir search;
+
+# Allow limited access to the parent directory /data/misc/wifi/
+allow wifi_mainline_supplicant wifi_data_file:dir { getattr search };
+
+# Create temporary socket files in /data/misc/wifi/mainline_supplicant/sockets
+allow wifi_mainline_supplicant mainline_supplicant_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow wifi_mainline_supplicant mainline_supplicant_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow wifi_mainline_supplicant mainline_supplicant_data_file:sock_file { create write setattr unlink };
+
+# UDP sockets
+allow wifi_mainline_supplicant self:udp_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allowxperm wifi_mainline_supplicant self:udp_socket ioctl { 
+#line 22
+{
+#line 22
+# qualcomm rmnet ioctls
+#line 22
+0x00006900 0x00006902
+#line 22
+# socket ioctls
+#line 22
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 22
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 22
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 22
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 22
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 22
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 22
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 22
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 22
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 22
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 22
+# device and protocol specific ioctls
+#line 22
+0x000089f0-0x000089ff
+#line 22
+0x000089e0-0x000089ef
+#line 22
+# Wireless extension ioctls
+#line 22
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 22
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 22
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 22
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 22
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 22
+0x00008b34 0x00008b35 0x00008b36
+#line 22
+# Dev private ioctl i.e. hardware specific ioctls
+#line 22
+0x00008be0-0x00008bff
+#line 22
+} 0x00008914 0x00008924 };
+
+# Packet sockets
+allow wifi_mainline_supplicant self:packet_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allowxperm wifi_mainline_supplicant self:packet_socket ioctl { 
+#line 26
+{
+#line 26
+# Socket ioctls for gathering information about the interface
+#line 26
+0x00008906 0x00008907
+#line 26
+0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
+#line 26
+0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
+#line 26
+# Wireless extension ioctls. Primarily get functions.
+#line 26
+0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
+#line 26
+0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
+#line 26
+0x00008b25 0x00008b27 0x00008b29 0x00008b2d
+#line 26
+} 
+#line 26
+{
+#line 26
+# qualcomm rmnet ioctls
+#line 26
+0x00006900 0x00006902
+#line 26
+# socket ioctls
+#line 26
+0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
+#line 26
+0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
+#line 26
+0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
+#line 26
+0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
+#line 26
+0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
+#line 26
+0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
+#line 26
+0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
+#line 26
+0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
+#line 26
+0x00008991 0x00008992 0x00008993 0x00008994
+#line 26
+0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
+#line 26
+# device and protocol specific ioctls
+#line 26
+0x000089f0-0x000089ff
+#line 26
+0x000089e0-0x000089ef
+#line 26
+# Wireless extension ioctls
+#line 26
+0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
+#line 26
+0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
+#line 26
+0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
+#line 26
+0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
+#line 26
+0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
+#line 26
+0x00008b34 0x00008b35 0x00008b36
+#line 26
+# Dev private ioctl i.e. hardware specific ioctls
+#line 26
+0x00008be0-0x00008bff
+#line 26
+} {
+#line 26
+  0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
+#line 26
+  0x0000540e 0x0000540b 0x00005410 0x0000540f
+#line 26
+} };
+
+# Netlink sockets
+allow wifi_mainline_supplicant self:netlink_route_socket { bind create read write nlmsg_readpriv nlmsg_write };
+allow wifi_mainline_supplicant self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+allow wifi_mainline_supplicant self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+#line 1 "system/sepolicy/private/wificond.te"
+typeattribute wificond coredomain;
+
+
+#line 3
+
+#line 3
+allow wificond property_socket:sock_file write;
+#line 3
+allow wificond init:unix_stream_socket connectto;
+#line 3
+
+#line 3
+allow wificond wifi_hal_prop:property_service set;
+#line 3
+
+#line 3
+allow wificond wifi_hal_prop:file { getattr open read map };
+#line 3
+
+#line 3
+
+
+#line 4
+
+#line 4
+allow wificond property_socket:sock_file write;
+#line 4
+allow wificond init:unix_stream_socket connectto;
+#line 4
+
+#line 4
+allow wificond wifi_prop:property_service set;
+#line 4
+
+#line 4
+allow wificond wifi_prop:file { getattr open read map };
+#line 4
+
+#line 4
+
+
+#line 5
+
+#line 5
+allow wificond property_socket:sock_file write;
+#line 5
+allow wificond init:unix_stream_socket connectto;
+#line 5
+
+#line 5
+allow wificond ctl_default_prop:property_service set;
+#line 5
+
+#line 5
+allow wificond ctl_default_prop:file { getattr open read map };
+#line 5
+
+#line 5
+
+
+
+#line 7
+allow wificond hwservicemanager_prop:file { getattr open read map };
+#line 7
+
+
+allow wificond legacykeystore_service:service_manager find;
+
+
+#line 11
+
+#line 11
+# Allow the necessary permissions.
+#line 11
+
+#line 11
+# Old domain may exec the file and transition to the new domain.
+#line 11
+allow init wificond_exec:file { getattr open read execute map };
+#line 11
+allow init wificond:process transition;
+#line 11
+# New domain is entered by executing the file.
+#line 11
+allow wificond wificond_exec:file { entrypoint open read execute getattr map };
+#line 11
+# New domain can send SIGCHLD to its caller.
+#line 11
+
+#line 11
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 11
+dontaudit init wificond:process noatsecure;
+#line 11
+# XXX dontaudit candidate but requires further study.
+#line 11
+allow init wificond:process { siginh rlimitinh };
+#line 11
+
+#line 11
+# Make the transition occur by default.
+#line 11
+type_transition init wificond_exec:process wificond;
+#line 11
+
+#line 11
+
+
+
+#line 13
+# Call the servicemanager and transfer references to it.
+#line 13
+allow wificond servicemanager:binder { call transfer };
+#line 13
+# Allow servicemanager to send out callbacks
+#line 13
+allow servicemanager wificond:binder { call transfer };
+#line 13
+# servicemanager performs getpidcon on clients.
+#line 13
+allow servicemanager wificond:dir search;
+#line 13
+allow servicemanager wificond:file { read open };
+#line 13
+allow servicemanager wificond:process getattr;
+#line 13
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+#line 13
+# all domains in domain.te.
+#line 13
+
+
+#line 14
+# Call the server domain and optionally transfer references to it.
+#line 14
+allow wificond system_server:binder { call transfer };
+#line 14
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 14
+allow system_server wificond:binder transfer;
+#line 14
+# Receive and use open files from the server.
+#line 14
+allow wificond system_server:fd use;
+#line 14
+
+
+#line 15
+# Call the server domain and optionally transfer references to it.
+#line 15
+allow wificond keystore:binder { call transfer };
+#line 15
+# Allow the serverdomain to transfer references to the client on the reply.
+#line 15
+allow keystore wificond:binder transfer;
+#line 15
+# Receive and use open files from the server.
+#line 15
+allow wificond keystore:fd use;
+#line 15
+
+
+
+#line 17
+  allow wificond wifinl80211_service:service_manager { add find };
+#line 17
+  neverallow { domain -wificond } wifinl80211_service:service_manager add;
+#line 17
+
+#line 17
+  # On debug builds with root, allow binder services to use binder over TCP.
+#line 17
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+#line 17
+  
+#line 17
+
+
+#line 18
+typeattribute wificond halclientdomain;
+#line 18
+typeattribute wificond hal_nlinterceptor_client;
+#line 18
+
+#line 18
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+#line 18
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+#line 18
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+#line 18
+
+#line 18
+typeattribute wificond hal_nlinterceptor;
+#line 18
+# Find passthrough HAL implementations
+#line 18
+allow hal_nlinterceptor system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_nlinterceptor vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 18
+allow hal_nlinterceptor vendor_file:file { read open getattr execute map };
+#line 18
+
+#line 18
+
+
+# create sockets to set interfaces up and down
+allow wificond self:udp_socket { create { ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+# setting interface state up/down is a privileged ioctl
+allowxperm wificond self:udp_socket ioctl { 0x00008914 0x00008924 };
+allow wificond self:{ capability cap_userns } { net_admin net_raw };
+# allow wificond to speak to nl80211 in the kernel
+allow wificond self:netlink_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+# newer kernels (e.g. 4.4 but not 4.1) have a new class for sockets
+allow wificond self:netlink_generic_socket { create { read getattr write setattr lock append bind connect getopt setopt shutdown map } };
+
+
+#line 30
+allow wificond proc_net_type:dir { open getattr read search ioctl lock watch watch_reads };
+#line 30
+allow wificond proc_net_type:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 30
+
+
+# allow wificond to check permission for dumping logs
+allow wificond permission_service:service_manager find;
+
+# dumpstate support
+allow wificond dumpstate:fd use;
+allow wificond dumpstate:fifo_file write;
+
+#### Offer the Wifi Keystore HwBinder service ###
+
+#line 40
+# Call the hwservicemanager and transfer references to it.
+#line 40
+allow wificond hwservicemanager:binder { call transfer };
+#line 40
+# Allow hwservicemanager to send out callbacks
+#line 40
+allow hwservicemanager wificond:binder { call transfer };
+#line 40
+# hwservicemanager performs getpidcon on clients.
+#line 40
+allow hwservicemanager wificond:dir search;
+#line 40
+allow hwservicemanager wificond:file { read open map };
+#line 40
+allow hwservicemanager wificond:process getattr;
+#line 40
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+#line 40
+# all domains in domain.te.
+#line 40
+
+typeattribute wificond wifi_keystore_service_server;
+
+#line 42
+  allow wificond system_wifi_keystore_hwservice:hwservice_manager { add find };
+#line 42
+  allow wificond hidl_base_hwservice:hwservice_manager add;
+#line 42
+  neverallow { domain -wificond } system_wifi_keystore_hwservice:hwservice_manager add;
+#line 42
+
+
+# Allow keystore2 binder access to serve the HwBinder service.
+allow wificond keystore_service:service_manager find;
+allow wificond wifi_key:keystore2_key {
+    get_info
+    use
+};
+#line 1 "system/sepolicy/private/zygote.te"
+# zygote
+typeattribute zygote coredomain;
+typeattribute zygote mlstrustedsubject;
+
+
+#line 5
+
+#line 5
+# Allow the necessary permissions.
+#line 5
+
+#line 5
+# Old domain may exec the file and transition to the new domain.
+#line 5
+allow init zygote_exec:file { getattr open read execute map };
+#line 5
+allow init zygote:process transition;
+#line 5
+# New domain is entered by executing the file.
+#line 5
+allow zygote zygote_exec:file { entrypoint open read execute getattr map };
+#line 5
+# New domain can send SIGCHLD to its caller.
+#line 5
+
+#line 5
+# Enable AT_SECURE, i.e. libc secure mode.
+#line 5
+dontaudit init zygote:process noatsecure;
+#line 5
+# XXX dontaudit candidate but requires further study.
+#line 5
+allow init zygote:process { siginh rlimitinh };
+#line 5
+
+#line 5
+# Make the transition occur by default.
+#line 5
+type_transition init zygote_exec:process zygote;
+#line 5
+
+#line 5
+
+
+#line 6
+type_transition zygote tmpfs:file zygote_tmpfs;
+#line 6
+allow zygote zygote_tmpfs:file { read write getattr map };
+#line 6
+
+
+
+#line 8
+allow zygote runtime_event_log_tags_file:file { getattr open read ioctl lock map watch watch_reads };
+#line 8
+
+
+# Override DAC on files and switch uid/gid.
+allow zygote self:{ capability cap_userns } { dac_override dac_read_search setgid setuid fowner chown };
+
+# Drop capabilities from bounding set.
+allow zygote self:{ capability cap_userns } setpcap;
+
+# Switch SELinux context to app domains.
+allow zygote self:process setcurrent;
+allow zygote system_server_startup:process dyntransition;
+allow zygote appdomain:process dyntransition;
+allow zygote webview_zygote:process dyntransition;
+allow zygote app_zygote:process dyntransition;
+
+# Allow zygote to read app /proc/pid dirs (b/10455872).
+allow zygote appdomain:dir { getattr search };
+allow zygote appdomain:file { { getattr open read ioctl lock map watch watch_reads } };
+
+
+#line 27
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+#line 27
+type zygote_userfaultfd;
+#line 27
+type_transition zygote zygote:anon_inode zygote_userfaultfd "[userfaultfd]";
+#line 27
+# Allow domain to create/use userfaultfd anon_inode.
+#line 27
+allow zygote zygote_userfaultfd:anon_inode { create ioctl read };
+#line 27
+# Suppress errors generate during bugreport
+#line 27
+dontaudit su zygote_userfaultfd:anon_inode *;
+#line 27
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+#line 27
+neverallow { domain -zygote } zygote_userfaultfd:anon_inode *;
+#line 27
+
+
+# Move children into the peer process group.
+allow zygote system_server:process { getpgid setpgid };
+allow zygote appdomain:process { getpgid setpgid };
+allow zygote webview_zygote:process { getpgid setpgid };
+allow zygote app_zygote:process { getpgid setpgid };
+
+# Read system data.
+allow zygote system_data_file:dir { open getattr read search ioctl lock watch watch_reads };
+allow zygote system_data_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Get attributes of /mnt/expand, needed by cacheNonBootClasspathClassLoaders.
+allow zygote mnt_expand_file:dir getattr;
+
+# Write to /data/dalvik-cache.
+allow zygote dalvikcache_data_file:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow zygote dalvikcache_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Create symlinks in /data/dalvik-cache.
+allow zygote dalvikcache_data_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Write to /data/resource-cache.
+allow zygote resourcecache_data_file:dir { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } };
+allow zygote resourcecache_data_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# For updateability, the zygote may fetch the current boot
+# classpath from the dalvik cache. Integrity of the files
+# is ensured by fsverity protection (checked in art_apex_boot_integrity).
+allow zygote dalvikcache_data_file:file execute;
+
+# Allow zygote to find files in APEX data directories.
+allow zygote apex_module_data_file:dir search;
+
+# Allow zygote to find and map files created by on device signing.
+allow zygote apex_art_data_file:dir { getattr search };
+allow zygote apex_art_data_file:file { { getattr open read ioctl lock map watch watch_reads } execute };
+
+# Mount tmpfs over various directories containing per-app directories, to hide
+# them for app data isolation.  Also traverse these directories (via
+# /data_mirror) to find the allowlisted per-app directories to bind-mount in.
+allow zygote {
+    # /data/user{,_de}, /mnt/expand/$volume/user{,_de}
+    system_userdir_file
+    # /data/data
+    system_data_file
+    # /data/misc/profiles/cur
+    user_profile_root_file
+    # /data/misc/profiles/ref
+    user_profile_data_file
+    # /storage/emulated/$userId/Android/{data,obb}
+    media_rw_data_file
+    # /dev/__properties__
+    properties_device
+}:dir { mounton search };
+
+# Traverse /data_mirror to get to the above directories while their normal paths
+# are hidden, in order to bind-mount allowlisted per-app directories.
+allow zygote mirror_data_file:dir search;
+
+# List /mnt/expand to find all /mnt/expand/$volume/user{,_de} directories that
+# need to be hidden by app data isolation, and traverse /mnt/expand to get to
+# any allowlisted per-app directories within these directories.
+allow zygote mnt_expand_file:dir { open read search };
+
+# Get the inode number of app CE data directories to find them by inode number
+# when CE storage is locked.  Needed for app data isolation.
+allow zygote app_data_file_type:dir getattr;
+
+# Create dirs in the app data isolation tmpfs mounts and bind mount on them.
+allow zygote tmpfs:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+
+# Create the '/data/user/0 => /data/data' symlink in the /data/user tmpfs mount
+# when setting up app data isolation.
+allow zygote tmpfs:lnk_file create;
+
+# Relabel dirs and symlinks in the app and sdk sandbox data isolation tmpfs mounts to their
+# standard labels.  Note: it seems that not all dirs are actually relabeled yet,
+# but it works anyway since all domains can search tmpfs:dir.
+allow zygote tmpfs:{ dir lnk_file } relabelfrom;
+allow zygote system_userdir_file:dir relabelto;
+allow zygote system_data_file:{ dir lnk_file } relabelto;
+allow zygote sdk_sandbox_system_data_file:dir { getattr relabelto search };
+
+# Read if sdcardfs is supported
+allow zygote proc_filesystems:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow zygote to create JIT memory.
+allow zygote self:process execmem;
+allow zygote zygote_tmpfs:file execute;
+allow zygote ashmem_libcutils_device:chr_file execute;
+
+# Execute idmap and dex2oat within zygote's own domain.
+# TODO:  Should either of these be transitioned to the same domain
+# used by installd or stay in-domain for zygote?
+allow zygote idmap_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+allow zygote dex2oat_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow apps access to /vendor/overlay
+
+#line 126
+allow zygote vendor_overlay_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 126
+allow zygote vendor_overlay_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 126
+
+
+# Control cgroups.
+allow zygote cgroup:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow zygote cgroup:{ file lnk_file } { { getattr open read ioctl lock map watch watch_reads } setattr };
+allow zygote cgroup_v2:dir { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } };
+allow zygote cgroup_v2:{ file lnk_file } { { getattr open read ioctl lock map watch watch_reads } setattr };
+allow zygote self:{ capability cap_userns } sys_admin;
+
+# Allow zygote to stat the files that it opens. The zygote must
+# be able to inspect them so that it can reopen them on fork
+# if necessary: b/30963384.
+allow zygote pmsg_device:chr_file getattr;
+allow zygote debugfs_trace_marker:file getattr;
+
+# Get seapp_contexts
+allow zygote seapp_contexts_file:file { getattr open read ioctl lock map watch watch_reads };
+# Check validity of SELinux context before use.
+
+#line 144
+
+#line 144
+allow zygote selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 144
+allow zygote selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 144
+
+#line 144
+allow zygote selinuxfs:file { open append write lock map };
+#line 144
+allow zygote kernel:security check_context;
+#line 144
+
+# Check SELinux permissions.
+
+#line 146
+
+#line 146
+allow zygote selinuxfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 146
+allow zygote selinuxfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 146
+
+#line 146
+allow zygote selinuxfs:file { open append write lock map };
+#line 146
+allow zygote kernel:security compute_av;
+#line 146
+allow zygote self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+#line 146
+
+
+# Native bridge functionality requires that zygote replaces
+# /proc/cpuinfo with /system/lib/<ISA>/cpuinfo using a bind mount
+allow zygote proc_cpuinfo:file mounton;
+
+# Allow remounting rootfs as MS_SLAVE.
+allow zygote rootfs:dir mounton;
+allow zygote tmpfs:filesystem { mount unmount };
+allow zygote fuse:filesystem { unmount };
+allow zygote sdcardfs:filesystem { unmount };
+allow zygote labeledfs:filesystem { unmount };
+
+# Allow creating user-specific storage source if started before vold.
+allow zygote mnt_user_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow zygote mnt_user_file:lnk_file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+allow zygote mnt_user_file:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Allow mounting user-specific storage source if started before vold.
+allow zygote mnt_pass_through_file:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+
+# Allowed to mount user-specific storage into place
+allow zygote storage_file:dir { search mounton };
+
+# Allow mounting and creating files, dirs on sdcardfs.
+allow zygote { sdcard_type fuse }:dir { { create reparent rename rmdir setattr { { open getattr read search ioctl lock watch watch_reads } { open search write add_name remove_name lock } } } mounton };
+allow zygote { sdcard_type fuse }:file { { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } } };
+
+# Handle --invoke-with command when launching Zygote with a wrapper command.
+allow zygote zygote_exec:file { { getattr open read ioctl lock map watch watch_reads } { getattr execute execute_no_trans map } };
+
+# Allow zygote to write to statsd.
+
+#line 178
+allow zygote statsdw_socket:sock_file write;
+#line 178
+allow zygote statsd:unix_dgram_socket sendto;
+#line 178
+
+
+# Root fs.
+
+#line 181
+allow zygote rootfs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 181
+allow zygote rootfs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 181
+
+
+# System file accesses.
+
+#line 184
+allow zygote system_file:dir { open getattr read search ioctl lock watch watch_reads };
+#line 184
+allow zygote system_file:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 184
+
+
+# /oem accesses.
+allow zygote oemfs:dir search;
+
+#line 193
+
+
+allow zygote ion_device:chr_file { getattr open read ioctl lock map watch watch_reads };
+allow zygote tmpfs:dir { open getattr read search ioctl lock watch watch_reads };
+
+allow zygote same_process_hal_file:file { execute read open getattr map };
+
+# Allow zygote to read build properties for attestation feature
+
+#line 201
+allow zygote build_attestation_prop:file { getattr open read map };
+#line 201
+
+
+# Allow the zygote to access storage properties to check if sdcardfs is enabled.
+
+#line 204
+allow zygote storage_config_prop:file { getattr open read map };
+#line 204
+;
+
+# Let the zygote access overlays so it can initialize the AssetManager.
+
+#line 207
+allow zygote overlay_prop:file { getattr open read map };
+#line 207
+
+
+#line 208
+allow zygote exported_overlay_prop:file { getattr open read map };
+#line 208
+
+
+# Allow the zygote to access the runtime feature flag properties.
+
+#line 211
+allow zygote device_config_runtime_native_prop:file { getattr open read map };
+#line 211
+
+
+#line 212
+allow zygote device_config_runtime_native_boot_prop:file { getattr open read map };
+#line 212
+
+
+# Allow the zygote to access window manager native boot feature flags
+# to initialize WindowManager static properties.
+
+#line 216
+allow zygote device_config_window_manager_native_boot_prop:file { getattr open read map };
+#line 216
+
+
+# ingore spurious denials
+# fsetid can be checked as a consequence of chmod when using cgroup v2 uid/pid hierarchy. This is
+# done to determine if the file should inherit setgid. In this case, setgid on the file is
+# undesirable, so suppress the denial.
+dontaudit zygote self:{ capability cap_userns } { sys_resource fsetid };
+
+# Ignore spurious denials calling access() on fuse.
+# Also ignore read and open as sdcardfs may read and open dir when app tries to access a dir that
+# doesn't exist.
+# TODO(b/151316657): avoid the denials
+dontaudit zygote media_rw_data_file:dir  { read open setattr };
+
+# Allow zygote to use ashmem fds from system_server.
+allow zygote system_server:fd use;
+
+# Send unsolicited message to system_server
+
+#line 234
+allow zygote system_unsolzygote_socket:sock_file write;
+#line 234
+allow zygote system_server:unix_dgram_socket sendto;
+#line 234
+
+
+# Allow zygote to access media_variant_prop for static initialization
+
+#line 237
+allow zygote media_variant_prop:file { getattr open read map };
+#line 237
+
+
+# Allow zygote to access odsign verification status
+
+#line 240
+allow zygote odsign_prop:file { getattr open read map };
+#line 240
+
+
+# Allow zygote to read ro.control_privapp_permissions and ro.cp_system_other_odex
+
+#line 243
+allow zygote packagemanager_config_prop:file { getattr open read map };
+#line 243
+
+
+# Allow zygote to read qemu.sf.lcd_density
+
+#line 246
+allow zygote qemu_sf_lcd_density_prop:file { getattr open read map };
+#line 246
+
+
+# Allow zygote to read persist.wm.debug.* to toggle experimental window manager features in
+# preloaded classes
+
+#line 250
+allow zygote persist_wm_debug_prop:file { getattr open read map };
+#line 250
+
+
+# Allow zygote to read persist_sysui_builder_extras_prop
+# and persist_sysui_ranking_update_prop
+# to toggle experimental features in core preloaded classes
+
+#line 255
+allow zygote persist_sysui_builder_extras_prop:file { getattr open read map };
+#line 255
+
+
+#line 256
+allow zygote persist_sysui_ranking_update_prop:file { getattr open read map };
+#line 256
+
+
+# Allow zygote to read /apex/apex-info-list.xml
+allow zygote apex_info_file:file { getattr open read ioctl lock map watch watch_reads };
+
+# Allow zygote to canonicalize vendor APEX paths. This is used when zygote is checking the
+# preinstalled path of APEXes that contain runtime resource overlays for the 'android' package.
+allow zygote vendor_apex_file:dir { getattr search };
+allow zygote vendor_apex_file:file { getattr };
+allow zygote vendor_apex_metadata_file:dir { search };
+
+# Allow zygote to query for compression/features.
+
+#line 268
+allow zygote sysfs_fs_f2fs:dir { open getattr read search ioctl lock watch watch_reads };
+#line 268
+allow zygote sysfs_fs_f2fs:{ file lnk_file } { getattr open read ioctl lock map watch watch_reads };
+#line 268
+
+
+# Allow zygote to read fonts_customization.xml for preloading font files that matches device locale.
+allow zygote system_font_fallback_file:file { getattr open read ioctl lock map watch watch_reads };
+
+###
+### neverallow rules
+###
+
+# Ensure that all types assigned to app processes are included
+# in the appdomain attribute, so that all allow and neverallow rules
+# written on appdomain are applied to all app processes.
+# This is achieved by ensuring that it is impossible for zygote to
+# setcon (dyntransition) to any types other than those associated
+# with appdomain plus system_server_startup, webview_zygote and
+# app_zygote.
+neverallow zygote ~{
+  appdomain
+  system_server_startup
+  webview_zygote
+  app_zygote
+}:process dyntransition;
+
+# Zygote should never execute anything from /data except for
+# /data/dalvik-cache files or files generated during on-device
+# signing under /data/misc/apexdata/com.android.art/.
+neverallow zygote {
+  data_file_type
+  -apex_art_data_file # map PROT_EXEC
+  -dalvikcache_data_file # map PROT_EXEC
+}:file { execute execute_no_trans };
+
+# Do not allow access to Bluetooth-related system properties and files
+neverallow zygote {
+  bluetooth_a2dp_offload_prop
+  bluetooth_audio_hal_prop
+  bluetooth_prop
+  exported_bluetooth_prop
+}:file { create rename setattr unlink { { getattr open read ioctl lock map watch watch_reads } { open append write lock map } } };
+
+# Zygote should not be able to access app private data.
+neverallow zygote app_data_file_type:dir ~getattr;
+#line 1 "system/sepolicy/private/roles_decl"
+role r;
+#line 1 "system/sepolicy/public/roles"
+role r types domain;
+#line 1 "system/sepolicy/private/users"
+user u roles { r } level s0 range s0 - s0:c0.c1023;
+#line 1 "system/sepolicy/private/initial_sid_contexts"
+sid kernel u:r:kernel:s0
+sid security u:object_r:kernel:s0
+sid unlabeled u:object_r:unlabeled:s0
+sid fs u:object_r:labeledfs:s0
+sid file u:object_r:unlabeled:s0
+sid file_labels u:object_r:unlabeled:s0
+sid init u:object_r:unlabeled:s0
+sid any_socket u:object_r:unlabeled:s0
+sid port u:object_r:port:s0
+sid netif u:object_r:netif:s0
+sid netmsg u:object_r:unlabeled:s0
+sid node u:object_r:node:s0
+sid igmp_packet u:object_r:unlabeled:s0
+sid icmp_socket u:object_r:unlabeled:s0
+sid tcp_socket u:object_r:unlabeled:s0
+sid sysctl_modprobe u:object_r:unlabeled:s0
+sid sysctl u:object_r:proc:s0
+sid sysctl_fs u:object_r:unlabeled:s0
+sid sysctl_kernel u:object_r:unlabeled:s0
+sid sysctl_net u:object_r:unlabeled:s0
+sid sysctl_net_unix u:object_r:unlabeled:s0
+sid sysctl_vm u:object_r:unlabeled:s0
+sid sysctl_dev u:object_r:unlabeled:s0
+sid kmod u:object_r:unlabeled:s0
+sid policy u:object_r:unlabeled:s0
+sid scmp_packet u:object_r:unlabeled:s0
+sid devnull u:object_r:null_device:s0
+#line 1 "system/sepolicy/private/fs_use"
+# Label inodes via getxattr.
+fs_use_xattr yaffs2 u:object_r:labeledfs:s0;
+fs_use_xattr jffs2 u:object_r:labeledfs:s0;
+fs_use_xattr ext2 u:object_r:labeledfs:s0;
+fs_use_xattr ext3 u:object_r:labeledfs:s0;
+fs_use_xattr ext4 u:object_r:labeledfs:s0;
+fs_use_xattr xfs u:object_r:labeledfs:s0;
+fs_use_xattr btrfs u:object_r:labeledfs:s0;
+fs_use_xattr f2fs u:object_r:labeledfs:s0;
+fs_use_xattr squashfs u:object_r:labeledfs:s0;
+fs_use_xattr overlay u:object_r:labeledfs:s0;
+fs_use_xattr erofs u:object_r:labeledfs:s0;
+fs_use_xattr incremental-fs u:object_r:labeledfs:s0;
+fs_use_xattr virtiofs u:object_r:labeledfs:s0;
+
+# Label inodes from task label.
+fs_use_task pipefs u:object_r:pipefs:s0;
+fs_use_task sockfs u:object_r:sockfs:s0;
+
+# Label inodes from combination of task label and fs label.
+# Define type_transition rules if you want per-domain types.
+fs_use_trans devpts u:object_r:devpts:s0;
+fs_use_trans tmpfs u:object_r:tmpfs:s0;
+fs_use_trans devtmpfs u:object_r:device:s0;
+fs_use_trans shm u:object_r:shm:s0;
+fs_use_trans mqueue u:object_r:mqueue:s0;
+
+#line 1 "system/sepolicy/private/genfs_contexts"
+# Label inodes with the fs label.
+genfscon rootfs / u:object_r:rootfs:s0
+# proc labeling can be further refined (longest matching prefix).
+genfscon proc / u:object_r:proc:s0
+genfscon proc /allocinfo u:object_r:proc_allocinfo:s0
+genfscon proc /asound u:object_r:proc_asound:s0
+genfscon proc /bootconfig u:object_r:proc_bootconfig:s0
+genfscon proc /buddyinfo u:object_r:proc_buddyinfo:s0
+genfscon proc /cgroups u:object_r:proc_cgroups:s0
+genfscon proc /cmdline u:object_r:proc_cmdline:s0
+genfscon proc /config.gz u:object_r:config_gz:s0
+genfscon proc /cpu/alignment u:object_r:proc_cpu_alignment:s0
+genfscon proc /device-tree/avf u:object_r:proc_dt_avf:s0
+genfscon proc /diskstats u:object_r:proc_diskstats:s0
+genfscon proc /filesystems u:object_r:proc_filesystems:s0
+genfscon proc /interrupts u:object_r:proc_interrupts:s0
+genfscon proc /iomem u:object_r:proc_iomem:s0
+genfscon proc /kallsyms u:object_r:proc_kallsyms:s0
+genfscon proc /keys u:object_r:proc_keys:s0
+genfscon proc /kmsg u:object_r:proc_kmsg:s0
+genfscon proc /loadavg u:object_r:proc_loadavg:s0
+genfscon proc /locks u:object_r:proc_locks:s0
+genfscon proc /lowmemorykiller u:object_r:proc_lowmemorykiller:s0
+genfscon proc /meminfo u:object_r:proc_meminfo:s0
+genfscon proc /misc u:object_r:proc_misc:s0
+genfscon proc /modules u:object_r:proc_modules:s0
+genfscon proc /mounts u:object_r:proc_mounts:s0
+genfscon proc /net u:object_r:proc_net:s0
+genfscon proc /net/tcp u:object_r:proc_net_tcp_udp:s0
+genfscon proc /net/udp u:object_r:proc_net_tcp_udp:s0
+genfscon proc /net/xt_qtaguid/ctrl u:object_r:proc_qtaguid_ctrl:s0
+genfscon proc /net/xt_qtaguid/ u:object_r:proc_qtaguid_stat:s0
+genfscon proc /cpuinfo u:object_r:proc_cpuinfo:s0
+genfscon proc /pagetypeinfo u:object_r:proc_pagetypeinfo:s0
+genfscon proc /pressure/cpu u:object_r:proc_pressure_cpu:s0
+genfscon proc /pressure/io u:object_r:proc_pressure_io:s0
+genfscon proc /pressure/memory u:object_r:proc_pressure_mem:s0
+genfscon proc /slabinfo u:object_r:proc_slabinfo:s0
+genfscon proc /softirqs u:object_r:proc_timer:s0
+genfscon proc /stat u:object_r:proc_stat:s0
+genfscon proc /swaps u:object_r:proc_swaps:s0
+genfscon proc /sysrq-trigger u:object_r:proc_sysrq:s0
+genfscon proc /kpageflags u:object_r:proc_kpageflags:s0
+genfscon proc /sys/abi/swp u:object_r:proc_abi:s0
+genfscon proc /sys/fs/pipe-max-size u:object_r:proc_pipe_conf:s0
+genfscon proc /sys/fs/protected_hardlinks u:object_r:proc_security:s0
+genfscon proc /sys/fs/protected_symlinks u:object_r:proc_security:s0
+genfscon proc /sys/fs/suid_dumpable u:object_r:proc_security:s0
+genfscon proc /sys/kernel/bpf_ u:object_r:proc_bpf:s0
+genfscon proc /sys/kernel/core_pattern u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/core_pipe_limit u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/domainname u:object_r:proc_hostname:s0
+genfscon proc /sys/kernel/dmesg_restrict u:object_r:proc_security:s0
+genfscon proc /sys/kernel/hostname u:object_r:proc_hostname:s0
+genfscon proc /sys/kernel/hotplug u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/hung_task_ u:object_r:proc_hung_task:s0
+genfscon proc /sys/kernel/kptr_restrict u:object_r:proc_security:s0
+genfscon proc /sys/kernel/modprobe u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/modules_disabled u:object_r:proc_security:s0
+genfscon proc /sys/kernel/panic_on_oops u:object_r:proc_panic:s0
+genfscon proc /sys/kernel/perf_event_max_sample_rate u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/perf_event_paranoid u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/perf_cpu_time_max_percent u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/perf_event_mlock_kb u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/pid_max u:object_r:proc_pid_max:s0
+genfscon proc /sys/kernel/poweroff_cmd u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/random u:object_r:proc_random:s0
+genfscon proc /sys/kernel/randomize_va_space u:object_r:proc_security:s0
+genfscon proc /sys/kernel/sched_child_runs_first u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_latency_ns u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_rt_period_us u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_rt_runtime_us u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_schedstats u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_tunable_scaling u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_util_clamp_max u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_util_clamp_min u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_util_clamp_min_rt_default u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_wakeup_granularity_ns u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sysrq u:object_r:proc_sysrq:s0
+genfscon proc /sys/kernel/unprivileged_bpf_ u:object_r:proc_bpf:s0
+genfscon proc /sys/kernel/usermodehelper u:object_r:usermodehelper:s0
+genfscon proc /sys/net u:object_r:proc_net:s0
+genfscon proc /sys/net/core/bpf_ u:object_r:proc_bpf:s0
+genfscon proc /sys/vm/dirty_background_ratio u:object_r:proc_dirty:s0
+genfscon proc /sys/vm/dirty_expire_centisecs u:object_r:proc_dirty:s0
+genfscon proc /sys/vm/extra_free_kbytes u:object_r:proc_extra_free_kbytes:s0
+genfscon proc /sys/vm/max_map_count u:object_r:proc_max_map_count:s0
+genfscon proc /sys/vm/mmap_min_addr u:object_r:proc_security:s0
+genfscon proc /sys/vm/mmap_rnd_bits u:object_r:proc_security:s0
+genfscon proc /sys/vm/mmap_rnd_compat_bits u:object_r:proc_security:s0
+genfscon proc /sys/vm/page-cluster u:object_r:proc_page_cluster:s0
+genfscon proc /sys/vm/drop_caches u:object_r:proc_drop_caches:s0
+genfscon proc /sys/vm/overcommit_memory u:object_r:proc_overcommit_memory:s0
+genfscon proc /sys/vm/min_free_order_shift u:object_r:proc_min_free_order_shift:s0
+genfscon proc /sys/vm/watermark_boost_factor u:object_r:proc_watermark_boost_factor:s0
+genfscon proc /sys/vm/watermark_scale_factor u:object_r:proc_watermark_scale_factor:s0
+genfscon proc /sys/vm/percpu_pagelist_high_fraction u:object_r:proc_percpu_pagelist_high_fraction:s0
+genfscon proc /timer_list u:object_r:proc_timer:s0
+genfscon proc /timer_stats u:object_r:proc_timer:s0
+genfscon proc /tty/drivers u:object_r:proc_tty_drivers:s0
+genfscon proc /uid/ u:object_r:proc_uid_time_in_state:s0
+genfscon proc /uid_cputime/show_uid_stat u:object_r:proc_uid_cputime_showstat:s0
+genfscon proc /uid_cputime/remove_uid_range u:object_r:proc_uid_cputime_removeuid:s0
+genfscon proc /uid_io/stats u:object_r:proc_uid_io_stats:s0
+genfscon proc /uid_procstat/set u:object_r:proc_uid_procstat_set:s0
+genfscon proc /uid_time_in_state u:object_r:proc_uid_time_in_state:s0
+genfscon proc /uid_concurrent_active_time u:object_r:proc_uid_concurrent_active_time:s0
+genfscon proc /uid_concurrent_policy_time u:object_r:proc_uid_concurrent_policy_time:s0
+genfscon proc /uid_cpupower/ u:object_r:proc_uid_cpupower:s0
+genfscon proc /uptime u:object_r:proc_uptime:s0
+genfscon proc /version u:object_r:proc_version:s0
+genfscon proc /vmallocinfo u:object_r:proc_vmallocinfo:s0
+genfscon proc /vmstat u:object_r:proc_vmstat:s0
+genfscon proc /zoneinfo u:object_r:proc_zoneinfo:s0
+genfscon proc /vendor_sched u:object_r:proc_vendor_sched:s0
+
+genfscon fusectl / u:object_r:fusectlfs:s0
+
+# selinuxfs booleans can be individually labeled.
+genfscon selinuxfs / u:object_r:selinuxfs:s0
+genfscon cgroup / u:object_r:cgroup:s0
+genfscon cgroup2 / u:object_r:cgroup_v2:s0
+# sysfs labels can be set by userspace.
+genfscon sysfs / u:object_r:sysfs:s0
+genfscon sysfs /devices/cs_etm                    u:object_r:sysfs_devices_cs_etm:s0
+genfscon sysfs /devices/system/cpu u:object_r:sysfs_devices_system_cpu:s0
+genfscon sysfs /class/android_usb                 u:object_r:sysfs_android_usb:s0
+genfscon sysfs /class/extcon                      u:object_r:sysfs_extcon:s0
+genfscon sysfs /class/gpu                         u:object_r:sysfs_gpu:s0
+genfscon sysfs /class/leds                        u:object_r:sysfs_leds:s0
+genfscon sysfs /class/net                         u:object_r:sysfs_net:s0
+genfscon sysfs /class/rfkill/rfkill0/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rfkill/rfkill1/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rfkill/rfkill2/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rfkill/rfkill3/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rtc                         u:object_r:sysfs_rtc:s0
+genfscon sysfs /class/switch                      u:object_r:sysfs_switch:s0
+genfscon sysfs /class/wakeup                      u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/nfc-power/nfc_power u:object_r:sysfs_nfc_power_writable:s0
+genfscon sysfs /devices/virtual/android_usb     u:object_r:sysfs_android_usb:s0
+genfscon sysfs /devices/virtual/block/            u:object_r:sysfs_devices_block:s0
+genfscon sysfs /devices/virtual/block/dm-       u:object_r:sysfs_dm:s0
+genfscon sysfs /devices/virtual/block/loop       u:object_r:sysfs_loop:s0
+genfscon sysfs /devices/virtual/block/zram0     u:object_r:sysfs_zram:s0
+genfscon sysfs /devices/virtual/block/zram1     u:object_r:sysfs_zram:s0
+genfscon sysfs /devices/virtual/block/zram0/uevent    u:object_r:sysfs_zram_uevent:s0
+genfscon sysfs /devices/virtual/block/zram1/uevent    u:object_r:sysfs_zram_uevent:s0
+genfscon sysfs /devices/virtual/misc/hw_random    u:object_r:sysfs_hwrandom:s0
+genfscon sysfs /devices/virtual/net             u:object_r:sysfs_net:s0
+genfscon sysfs /devices/virtual/switch          u:object_r:sysfs_switch:s0
+genfscon sysfs /devices/virtual/wakeup          u:object_r:sysfs_wakeup:s0
+genfscon sysfs /firmware/acpi/tables              u:object_r:sysfs_firmware_acpi_tables:s0
+genfscon sysfs /firmware/devicetree/base/avf u:object_r:sysfs_dt_avf:s0
+genfscon sysfs /firmware/devicetree/base/firmware/android u:object_r:sysfs_dt_firmware_android:s0
+genfscon sysfs /fs/ext4/features                  u:object_r:sysfs_fs_ext4_features:s0
+genfscon sysfs /fs/f2fs                           u:object_r:sysfs_fs_f2fs:s0
+genfscon sysfs /fs/fuse/bpf_prog_type_fuse        u:object_r:sysfs_fs_fuse_bpf:s0
+genfscon sysfs /fs/fuse/features                  u:object_r:sysfs_fs_fuse_features:s0
+genfscon sysfs /fs/incremental-fs/features        u:object_r:sysfs_fs_incfs_features:s0
+genfscon sysfs /fs/incremental-fs/instances       u:object_r:sysfs_fs_incfs_metrics:s0
+genfscon sysfs /power/autosleep u:object_r:sysfs_power:s0
+genfscon sysfs /power/state u:object_r:sysfs_power:s0
+genfscon sysfs /power/suspend_stats u:object_r:sysfs_suspend_stats:s0
+genfscon sysfs /power/sync_on_suspend u:object_r:sysfs_sync_on_suspend:s0
+genfscon sysfs /power/wakeup_count u:object_r:sysfs_power:s0
+genfscon sysfs /power/wake_lock u:object_r:sysfs_wake_lock:s0
+genfscon sysfs /power/wake_unlock u:object_r:sysfs_wake_lock:s0
+genfscon sysfs /kernel/memory_state_time u:object_r:sysfs_power:s0
+genfscon sysfs /kernel/dma_heap u:object_r:sysfs_dma_heap:s0
+genfscon sysfs /kernel/ion u:object_r:sysfs_ion:s0
+genfscon sysfs /kernel/ipv4 u:object_r:sysfs_ipv4:s0
+
+#line 172
+genfscon sysfs /kernel/mm/cma u:object_r:sysfs_cma:s0
+#line 174
+
+genfscon sysfs /kernel/mm/transparent_hugepage u:object_r:sysfs_transparent_hugepage:s0
+genfscon sysfs /kernel/mm/lru_gen/enabled u:object_r:sysfs_lru_gen_enabled:s0
+genfscon sysfs /kernel/mm/pgsize_migration/enabled u:object_r:sysfs_pgsize_migration:s0
+genfscon sysfs /kernel/notes u:object_r:sysfs_kernel_notes:s0
+genfscon sysfs /kernel/uevent_helper u:object_r:sysfs_usermodehelper:s0
+genfscon sysfs /kernel/wakeup_reasons u:object_r:sysfs_wakeup_reasons:s0
+genfscon sysfs /kernel/dmabuf/buffers u:object_r:sysfs_dmabuf_stats:s0
+genfscon sysfs /module/dm_bufio/parameters/max_age_seconds u:object_r:sysfs_dm_verity:s0
+genfscon sysfs /module/dm_verity/parameters/prefetch_cluster u:object_r:sysfs_dm_verity:s0
+genfscon sysfs /module/lowmemorykiller u:object_r:sysfs_lowmemorykiller:s0
+genfscon sysfs /module/tcp_cubic/parameters u:object_r:sysfs_net:s0
+genfscon sysfs /module/wlan/parameters/fwpath u:object_r:sysfs_wlan_fwpath:s0
+genfscon sysfs /devices/virtual/timed_output/vibrator/enable u:object_r:sysfs_vibrator:s0
+genfscon sysfs /devices/virtual/misc/uhid u:object_r:sysfs_uhid:s0
+genfscon sysfs /kernel/vendor_sched u:object_r:sysfs_vendor_sched:s0
+genfscon sysfs /devices/uprobe u:object_r:sysfs_uprobe:s0
+
+genfscon debugfs /kprobes                             u:object_r:debugfs_kprobes:s0
+genfscon debugfs /mmc0                                u:object_r:debugfs_mmc:s0
+genfscon debugfs /tracing                             u:object_r:debugfs_tracing_debug:s0
+genfscon tracefs /                                    u:object_r:debugfs_tracing_debug:s0
+genfscon tracefs /tracing_on                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /trace                               u:object_r:debugfs_tracing:s0
+genfscon tracefs /per_cpu/cpu                         u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /hyp                                 u:object_r:debugfs_tracing:s0
+
+genfscon debugfs /tracing/instances                   u:object_r:debugfs_tracing_instances:s0
+genfscon tracefs /instances                           u:object_r:debugfs_tracing_instances:s0
+genfscon debugfs /tracing/instances/bootreceiver      u:object_r:debugfs_bootreceiver_tracing:s0
+genfscon tracefs /instances/bootreceiver              u:object_r:debugfs_bootreceiver_tracing:s0
+genfscon debugfs /tracing/instances/mm_events         u:object_r:debugfs_mm_events_tracing:s0
+genfscon tracefs /instances/mm_events                 u:object_r:debugfs_mm_events_tracing:s0
+genfscon debugfs /tracing/instances/wifi              u:object_r:debugfs_wifi_tracing:s0
+genfscon tracefs /instances/wifi                      u:object_r:debugfs_wifi_tracing:s0
+genfscon debugfs /tracing/trace_marker                u:object_r:debugfs_trace_marker:s0
+genfscon tracefs /trace_marker                        u:object_r:debugfs_trace_marker:s0
+genfscon debugfs /wakeup_sources                      u:object_r:debugfs_wakeup_sources:s0
+genfscon debugfs /tracing/printk_formats              u:object_r:debugfs_tracing_printk_formats:s0
+genfscon tracefs /printk_formats                      u:object_r:debugfs_tracing_printk_formats:s0
+
+genfscon tracefs /events/header_page                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_get_data_block/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_iget/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_sync_file_enter/          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_sync_file_exit/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_write_begin/              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_write_end/                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_da_write_begin/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_da_write_end/             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_es_lookup_extent_enter/   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_es_lookup_extent_exit/    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_load_inode/               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_sync_file_enter/          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_sync_file_exit/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/block/block_rq_issue/               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/block/block_rq_complete/            u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /synthetic_events                                       u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /events/synthetic/rss_stat_throttled                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/synthetic/suspend_resume_minimal                u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /trace_clock                                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /buffer_percent                                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /buffer_size_kb                                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /options/overwrite                                      u:object_r:debugfs_tracing:s0
+genfscon tracefs /options/print-tgid                                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /options/record-tgid                                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /saved_cmdlines_size                                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_switch/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_wakeup/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_wakeup_new/                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_waking/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_blocked_reason/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_cpu_hotplug/                        u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_process_exit/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_process_free/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_pi_setprio/                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cgroup/                                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/cpu_frequency/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/cpu_idle/                                 u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/clock_enable/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/clock_disable/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/clock_set_rate/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/cpu_frequency_limits/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/gpu_frequency/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/gpu_work_period/                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/suspend_resume/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpufreq_interactive/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_direct_reclaim_begin/          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_direct_reclaim_end/            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_kswapd_wake/                   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_kswapd_sleep/                  u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/android_vendor_lmk/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_transaction/                      u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_transaction_received/             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_lock/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_locked/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_unlock/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_transaction_alloc_buf/            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_set_priority/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_command/                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_return/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/lowmemorykiller/                                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sync/                                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/fence/                                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/dma_fence/                                      u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/filemap/mm_filemap_add_to_page_cache/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/filemap/mm_filemap_delete_from_page_cache/      u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/kmem/rss_stat/                                  u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/kmem/ion_heap_grow/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/kmem/ion_heap_shrink/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ion/ion_stat/                                   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/mm_event/mm_event_record/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/oom/oom_score_adj_update/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/oom/mark_victim/                                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/task/task_rename/                               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/task/task_newtask/                              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ftrace/print/                                   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/gpu_mem/gpu_mem_total                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/thermal/thermal_temperature/                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/thermal/cdev_update/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpuhp/cpuhp_enter/                              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpuhp/cpuhp_exit/                               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpuhp/cpuhp_pause/                              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ipi/                                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/irq/                                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/clk/clk_enable/                                 u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/clk/clk_disable/                                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/clk/clk_set_rate/                               u:object_r:debugfs_tracing:s0
+
+genfscon debugfs /kcov								 u:object_r:debugfs_kcov:s0
+
+genfscon securityfs / u:object_r:securityfs:s0
+
+genfscon binder /binder u:object_r:binder_device:s0
+genfscon binder /hwbinder u:object_r:hwbinder_device:s0
+genfscon binder /vndbinder u:object_r:vndbinder_device:s0
+genfscon binder /binder_logs u:object_r:binderfs_logs:s0
+genfscon binder /binder_logs/proc u:object_r:binderfs_logs_proc:s0
+genfscon binder /binder_logs/stats u:object_r:binderfs_logs_stats:s0
+genfscon binder /binder_logs/transactions u:object_r:binderfs_logs_transactions:s0
+genfscon binder /binder_logs/transaction_log u:object_r:binderfs_logs_transaction_history:s0
+genfscon binder /binder_logs/failed_transaction_log u:object_r:binderfs_logs_transaction_history:s0
+genfscon binder /features u:object_r:binderfs_features:s0
+
+genfscon inotifyfs / u:object_r:inotify:s0
+genfscon vfat / u:object_r:vfat:s0
+genfscon binder / u:object_r:binderfs:s0
+genfscon exfat / u:object_r:exfat:s0
+genfscon debugfs / u:object_r:debugfs:s0
+genfscon fuse / u:object_r:fuse:s0
+genfscon fuseblk / u:object_r:fuseblk:s0
+genfscon configfs / u:object_r:configfs:s0
+genfscon sdcardfs / u:object_r:sdcardfs:s0
+genfscon esdfs / u:object_r:sdcardfs:s0
+genfscon pstore / u:object_r:pstorefs:s0
+genfscon functionfs / u:object_r:functionfs:s0
+genfscon usbfs / u:object_r:usbfs:s0
+genfscon binfmt_misc / u:object_r:binfmt_miscfs:s0
+
+genfscon bpf / u:object_r:fs_bpf:s0
+genfscon bpf /loader u:object_r:fs_bpf_loader:s0
+genfscon bpf /memevents u:object_r:fs_bpf_memevents:s0
+genfscon bpf /net_private u:object_r:fs_bpf_net_private:s0
+genfscon bpf /net_shared u:object_r:fs_bpf_net_shared:s0
+genfscon bpf /netd_readonly u:object_r:fs_bpf_netd_readonly:s0
+genfscon bpf /netd_shared u:object_r:fs_bpf_netd_shared:s0
+genfscon bpf /tethering u:object_r:fs_bpf_tethering:s0
+genfscon bpf /vendor u:object_r:fs_bpf_vendor:s0
+genfscon bpf /uprobestats u:object_r:fs_bpf_uprobestats:s0
+#line 1 "system/sepolicy/private/port_contexts"
+# portcon statements go here, e.g.
+# portcon tcp 80 u:object_r:http_port:s0
+
diff --git a/prebuilts/api/202504/202504_mapping.cil b/prebuilts/api/202504/202504_mapping.cil
new file mode 100644
index 0000000..2763fd1
--- /dev/null
+++ b/prebuilts/api/202504/202504_mapping.cil
@@ -0,0 +1,4257 @@
+(typeattributeset mediadrmserver_service_202504 (mediadrmserver_service))
+(expandtypeattribute (mediadrmserver_service_202504) true)
+(typeattribute mediadrmserver_service_202504)
+(typeattributeset sysfs_gpu_202504 (sysfs_gpu))
+(expandtypeattribute (sysfs_gpu_202504) true)
+(typeattribute sysfs_gpu_202504)
+(typeattributeset recovery_refresh_202504 (recovery_refresh))
+(expandtypeattribute (recovery_refresh_202504) true)
+(typeattribute recovery_refresh_202504)
+(typeattributeset slice_service_202504 (slice_service))
+(expandtypeattribute (slice_service_202504) true)
+(typeattribute slice_service_202504)
+(typeattributeset pdx_display_dir_202504 (pdx_display_dir))
+(expandtypeattribute (pdx_display_dir_202504) true)
+(typeattribute pdx_display_dir_202504)
+(typeattributeset vendor_service_contexts_file_202504 (vendor_service_contexts_file))
+(expandtypeattribute (vendor_service_contexts_file_202504) true)
+(typeattribute vendor_service_contexts_file_202504)
+(typeattributeset shell_test_data_file_202504 (shell_test_data_file))
+(expandtypeattribute (shell_test_data_file_202504) true)
+(typeattribute shell_test_data_file_202504)
+(typeattributeset processinfo_service_202504 (processinfo_service))
+(expandtypeattribute (processinfo_service_202504) true)
+(typeattribute processinfo_service_202504)
+(typeattributeset domain_verification_service_202504 (domain_verification_service))
+(expandtypeattribute (domain_verification_service_202504) true)
+(typeattribute domain_verification_service_202504)
+(typeattributeset sysfs_ipv4_202504 (sysfs_ipv4))
+(expandtypeattribute (sysfs_ipv4_202504) true)
+(typeattribute sysfs_ipv4_202504)
+(typeattributeset system_asan_options_file_202504 (system_asan_options_file))
+(expandtypeattribute (system_asan_options_file_202504) true)
+(typeattribute system_asan_options_file_202504)
+(typeattributeset vdc_202504 (vdc))
+(expandtypeattribute (vdc_202504) true)
+(typeattribute vdc_202504)
+(typeattributeset mediadrmserver_exec_202504 (mediadrmserver_exec))
+(expandtypeattribute (mediadrmserver_exec_202504) true)
+(typeattribute mediadrmserver_exec_202504)
+(typeattributeset proc_pressure_cpu_202504 (proc_pressure_cpu))
+(expandtypeattribute (proc_pressure_cpu_202504) true)
+(typeattribute proc_pressure_cpu_202504)
+(typeattributeset devicelock_service_202504 (devicelock_service))
+(expandtypeattribute (devicelock_service_202504) true)
+(typeattribute devicelock_service_202504)
+(typeattributeset serial_service_202504 (serial_service))
+(expandtypeattribute (serial_service_202504) true)
+(typeattribute serial_service_202504)
+(typeattributeset vendor_shell_202504 (vendor_shell))
+(expandtypeattribute (vendor_shell_202504) true)
+(typeattribute vendor_shell_202504)
+(typeattributeset system_ndebug_socket_202504 (system_ndebug_socket))
+(expandtypeattribute (system_ndebug_socket_202504) true)
+(typeattribute system_ndebug_socket_202504)
+(typeattributeset fingerprint_service_202504 (fingerprint_service))
+(expandtypeattribute (fingerprint_service_202504) true)
+(typeattribute fingerprint_service_202504)
+(typeattributeset hal_fingerprint_service_202504 (hal_fingerprint_service))
+(expandtypeattribute (hal_fingerprint_service_202504) true)
+(typeattribute hal_fingerprint_service_202504)
+(typeattributeset recovery_block_device_202504 (recovery_block_device))
+(expandtypeattribute (recovery_block_device_202504) true)
+(typeattribute recovery_block_device_202504)
+(typeattributeset drmserver_202504 (drmserver))
+(expandtypeattribute (drmserver_202504) true)
+(typeattribute drmserver_202504)
+(typeattributeset sysfs_fs_fuse_features_202504 (sysfs_fs_fuse_features))
+(expandtypeattribute (sysfs_fs_fuse_features_202504) true)
+(typeattribute sysfs_fs_fuse_features_202504)
+(typeattributeset vr_hwc_service_202504 (vr_hwc_service))
+(expandtypeattribute (vr_hwc_service_202504) true)
+(typeattribute vr_hwc_service_202504)
+(typeattributeset userdata_sysdev_202504 (userdata_sysdev))
+(expandtypeattribute (userdata_sysdev_202504) true)
+(typeattribute userdata_sysdev_202504)
+(typeattributeset bootanim_oem_file_202504 (bootanim_oem_file))
+(expandtypeattribute (bootanim_oem_file_202504) true)
+(typeattribute bootanim_oem_file_202504)
+(typeattributeset debugfs_mm_events_tracing_202504 (debugfs_mm_events_tracing))
+(expandtypeattribute (debugfs_mm_events_tracing_202504) true)
+(typeattribute debugfs_mm_events_tracing_202504)
+(typeattributeset secure_element_device_202504 (secure_element_device))
+(expandtypeattribute (secure_element_device_202504) true)
+(typeattribute secure_element_device_202504)
+(typeattributeset hal_sensors_hwservice_202504 (hal_sensors_hwservice))
+(expandtypeattribute (hal_sensors_hwservice_202504) true)
+(typeattribute hal_sensors_hwservice_202504)
+(typeattributeset evsmanagerd_202504 (evsmanagerd))
+(expandtypeattribute (evsmanagerd_202504) true)
+(typeattribute evsmanagerd_202504)
+(typeattributeset audiohal_data_file_202504 (audiohal_data_file))
+(expandtypeattribute (audiohal_data_file_202504) true)
+(typeattribute audiohal_data_file_202504)
+(typeattributeset charger_exec_202504 (charger_exec))
+(expandtypeattribute (charger_exec_202504) true)
+(typeattribute charger_exec_202504)
+(typeattributeset wifi_service_202504 (wifi_service))
+(expandtypeattribute (wifi_service_202504) true)
+(typeattribute wifi_service_202504)
+(typeattributeset legacykeystore_service_202504 (legacykeystore_service))
+(expandtypeattribute (legacykeystore_service_202504) true)
+(typeattribute legacykeystore_service_202504)
+(typeattributeset hal_can_bus_hwservice_202504 (hal_can_bus_hwservice))
+(expandtypeattribute (hal_can_bus_hwservice_202504) true)
+(typeattribute hal_can_bus_hwservice_202504)
+(typeattributeset hal_wifi_service_202504 (hal_wifi_service))
+(expandtypeattribute (hal_wifi_service_202504) true)
+(typeattribute hal_wifi_service_202504)
+(typeattributeset media_communication_service_202504 (media_communication_service))
+(expandtypeattribute (media_communication_service_202504) true)
+(typeattribute media_communication_service_202504)
+(typeattributeset proc_qtaguid_stat_202504 (proc_qtaguid_stat))
+(expandtypeattribute (proc_qtaguid_stat_202504) true)
+(typeattribute proc_qtaguid_stat_202504)
+(typeattributeset exfat_202504 (exfat))
+(expandtypeattribute (exfat_202504) true)
+(typeattribute exfat_202504)
+(typeattributeset hal_gatekeeper_service_202504 (hal_gatekeeper_service))
+(expandtypeattribute (hal_gatekeeper_service_202504) true)
+(typeattribute hal_gatekeeper_service_202504)
+(typeattributeset system_prop_202504 (system_prop))
+(expandtypeattribute (system_prop_202504) true)
+(typeattribute system_prop_202504)
+(typeattributeset vfat_202504 (vfat))
+(expandtypeattribute (vfat_202504) true)
+(typeattribute vfat_202504)
+(typeattributeset pdx_bufferhub_client_endpoint_socket_202504 (pdx_bufferhub_client_endpoint_socket))
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_202504) true)
+(typeattribute pdx_bufferhub_client_endpoint_socket_202504)
+(typeattributeset hal_confirmationui_service_202504 (hal_confirmationui_service))
+(expandtypeattribute (hal_confirmationui_service_202504) true)
+(typeattribute hal_confirmationui_service_202504)
+(typeattributeset remote_provisioning_service_202504 (remote_provisioning_service))
+(expandtypeattribute (remote_provisioning_service_202504) true)
+(typeattribute remote_provisioning_service_202504)
+(typeattributeset property_info_202504 (property_info))
+(expandtypeattribute (property_info_202504) true)
+(typeattribute property_info_202504)
+(typeattributeset keystore_exec_202504 (keystore_exec))
+(expandtypeattribute (keystore_exec_202504) true)
+(typeattribute keystore_exec_202504)
+(typeattributeset netpolicy_service_202504 (netpolicy_service))
+(expandtypeattribute (netpolicy_service_202504) true)
+(typeattribute netpolicy_service_202504)
+(typeattributeset video_device_202504 (video_device))
+(expandtypeattribute (video_device_202504) true)
+(typeattribute video_device_202504)
+(typeattributeset serialno_prop_202504 (serialno_prop))
+(expandtypeattribute (serialno_prop_202504) true)
+(typeattribute serialno_prop_202504)
+(typeattributeset midi_service_202504 (midi_service))
+(expandtypeattribute (midi_service_202504) true)
+(typeattribute midi_service_202504)
+(typeattributeset virtualizationmanager_exec_202504 (virtualizationmanager_exec))
+(expandtypeattribute (virtualizationmanager_exec_202504) true)
+(typeattribute virtualizationmanager_exec_202504)
+(typeattributeset persistent_properties_ready_prop_202504 (persistent_properties_ready_prop))
+(expandtypeattribute (persistent_properties_ready_prop_202504) true)
+(typeattribute persistent_properties_ready_prop_202504)
+(typeattributeset cold_boot_done_prop_202504 (cold_boot_done_prop))
+(expandtypeattribute (cold_boot_done_prop_202504) true)
+(typeattribute cold_boot_done_prop_202504)
+(typeattributeset file_contexts_file_202504 (file_contexts_file))
+(expandtypeattribute (file_contexts_file_202504) true)
+(typeattribute file_contexts_file_202504)
+(typeattributeset aidl_lazy_test_server_202504 (aidl_lazy_test_server))
+(expandtypeattribute (aidl_lazy_test_server_202504) true)
+(typeattribute aidl_lazy_test_server_202504)
+(typeattributeset boot_status_prop_202504 (boot_status_prop))
+(expandtypeattribute (boot_status_prop_202504) true)
+(typeattribute boot_status_prop_202504)
+(typeattributeset profiling_service_202504 (profiling_service))
+(expandtypeattribute (profiling_service_202504) true)
+(typeattribute profiling_service_202504)
+(typeattributeset aidl_lazy_test_server_exec_202504 (aidl_lazy_test_server_exec))
+(expandtypeattribute (aidl_lazy_test_server_exec_202504) true)
+(typeattribute aidl_lazy_test_server_exec_202504)
+(typeattributeset proc_diskstats_202504 (proc_diskstats))
+(expandtypeattribute (proc_diskstats_202504) true)
+(typeattribute proc_diskstats_202504)
+(typeattributeset vold_status_prop_202504 (vold_status_prop))
+(expandtypeattribute (vold_status_prop_202504) true)
+(typeattribute vold_status_prop_202504)
+(typeattributeset property_contexts_file_202504 (property_contexts_file))
+(expandtypeattribute (property_contexts_file_202504) true)
+(typeattribute property_contexts_file_202504)
+(typeattributeset firstboot_prop_202504 (firstboot_prop))
+(expandtypeattribute (firstboot_prop_202504) true)
+(typeattribute firstboot_prop_202504)
+(typeattributeset pan_result_prop_202504 (pan_result_prop))
+(expandtypeattribute (pan_result_prop_202504) true)
+(typeattribute pan_result_prop_202504)
+(typeattributeset tethering_service_202504 (tethering_service))
+(expandtypeattribute (tethering_service_202504) true)
+(typeattribute tethering_service_202504)
+(typeattributeset vts_status_prop_202504 (vts_status_prop))
+(expandtypeattribute (vts_status_prop_202504) true)
+(typeattribute vts_status_prop_202504)
+(typeattributeset system_server_tmpfs_202504 (system_server_tmpfs))
+(expandtypeattribute (system_server_tmpfs_202504) true)
+(typeattribute system_server_tmpfs_202504)
+(typeattributeset hal_authgraph_service_202504 (hal_authgraph_service))
+(expandtypeattribute (hal_authgraph_service_202504) true)
+(typeattribute hal_authgraph_service_202504)
+(typeattributeset ctl_rildaemon_prop_202504 (ctl_rildaemon_prop))
+(expandtypeattribute (ctl_rildaemon_prop_202504) true)
+(typeattribute ctl_rildaemon_prop_202504)
+(typeattributeset bluetooth_logs_data_file_202504 (bluetooth_logs_data_file))
+(expandtypeattribute (bluetooth_logs_data_file_202504) true)
+(typeattribute bluetooth_logs_data_file_202504)
+(typeattributeset hal_light_hwservice_202504 (hal_light_hwservice))
+(expandtypeattribute (hal_light_hwservice_202504) true)
+(typeattribute hal_light_hwservice_202504)
+(typeattributeset sysfs_devfreq_dir_202504 (sysfs_devfreq_dir))
+(expandtypeattribute (sysfs_devfreq_dir_202504) true)
+(typeattribute sysfs_devfreq_dir_202504)
+(typeattributeset metadata_bootstat_file_202504 (metadata_bootstat_file))
+(expandtypeattribute (metadata_bootstat_file_202504) true)
+(typeattribute metadata_bootstat_file_202504)
+(typeattributeset system_bootstrap_lib_file_202504 (system_bootstrap_lib_file))
+(expandtypeattribute (system_bootstrap_lib_file_202504) true)
+(typeattribute system_bootstrap_lib_file_202504)
+(typeattributeset rootdisk_sysdev_202504 (rootdisk_sysdev))
+(expandtypeattribute (rootdisk_sysdev_202504) true)
+(typeattribute rootdisk_sysdev_202504)
+(typeattributeset hint_service_202504 (hint_service))
+(expandtypeattribute (hint_service_202504) true)
+(typeattribute hint_service_202504)
+(typeattributeset print_service_202504 (print_service))
+(expandtypeattribute (print_service_202504) true)
+(typeattribute print_service_202504)
+(typeattributeset proc_hung_task_202504 (proc_hung_task))
+(expandtypeattribute (proc_hung_task_202504) true)
+(typeattribute proc_hung_task_202504)
+(typeattributeset same_process_hal_file_202504 (same_process_hal_file))
+(expandtypeattribute (same_process_hal_file_202504) true)
+(typeattribute same_process_hal_file_202504)
+(typeattributeset hal_vibrator_hwservice_202504 (hal_vibrator_hwservice))
+(expandtypeattribute (hal_vibrator_hwservice_202504) true)
+(typeattribute hal_vibrator_hwservice_202504)
+(typeattributeset location_service_202504 (location_service))
+(expandtypeattribute (location_service_202504) true)
+(typeattribute location_service_202504)
+(typeattributeset mediaprovider_202504 (mediaprovider))
+(expandtypeattribute (mediaprovider_202504) true)
+(typeattribute mediaprovider_202504)
+(typeattributeset device_config_runtime_native_prop_202504 (device_config_runtime_native_prop))
+(expandtypeattribute (device_config_runtime_native_prop_202504) true)
+(typeattribute device_config_runtime_native_prop_202504)
+(typeattributeset attestation_verification_service_202504 (attestation_verification_service))
+(expandtypeattribute (attestation_verification_service_202504) true)
+(typeattribute attestation_verification_service_202504)
+(typeattributeset hal_confirmationui_hwservice_202504 (hal_confirmationui_hwservice))
+(expandtypeattribute (hal_confirmationui_hwservice_202504) true)
+(typeattribute hal_confirmationui_hwservice_202504)
+(typeattributeset looper_stats_service_202504 (looper_stats_service))
+(expandtypeattribute (looper_stats_service_202504) true)
+(typeattribute looper_stats_service_202504)
+(typeattributeset runtime_service_202504 (runtime_service))
+(expandtypeattribute (runtime_service_202504) true)
+(typeattribute runtime_service_202504)
+(typeattributeset sdcard_block_device_202504 (sdcard_block_device))
+(expandtypeattribute (sdcard_block_device_202504) true)
+(typeattribute sdcard_block_device_202504)
+(typeattributeset hal_dumpstate_service_202504 (hal_dumpstate_service))
+(expandtypeattribute (hal_dumpstate_service_202504) true)
+(typeattribute hal_dumpstate_service_202504)
+(typeattributeset hal_tv_tuner_service_202504 (hal_tv_tuner_service))
+(expandtypeattribute (hal_tv_tuner_service_202504) true)
+(typeattribute hal_tv_tuner_service_202504)
+(typeattributeset init_tmpfs_202504 (init_tmpfs))
+(expandtypeattribute (init_tmpfs_202504) true)
+(typeattribute init_tmpfs_202504)
+(typeattributeset device_policy_service_202504 (device_policy_service))
+(expandtypeattribute (device_policy_service_202504) true)
+(typeattribute device_policy_service_202504)
+(typeattributeset permissionmgr_service_202504 (permissionmgr_service))
+(expandtypeattribute (permissionmgr_service_202504) true)
+(typeattribute permissionmgr_service_202504)
+(typeattributeset hal_tv_tuner_hwservice_202504 (hal_tv_tuner_hwservice))
+(expandtypeattribute (hal_tv_tuner_hwservice_202504) true)
+(typeattribute hal_tv_tuner_hwservice_202504)
+(typeattributeset autofill_service_202504 (autofill_service))
+(expandtypeattribute (autofill_service_202504) true)
+(typeattribute autofill_service_202504)
+(typeattributeset ab_update_gki_prop_202504 (ab_update_gki_prop))
+(expandtypeattribute (ab_update_gki_prop_202504) true)
+(typeattribute ab_update_gki_prop_202504)
+(typeattributeset traced_perf_202504 (traced_perf))
+(expandtypeattribute (traced_perf_202504) true)
+(typeattribute traced_perf_202504)
+(typeattributeset exported_default_prop_202504 (exported_default_prop))
+(expandtypeattribute (exported_default_prop_202504) true)
+(typeattribute exported_default_prop_202504)
+(typeattributeset sysfs_fs_f2fs_202504 (sysfs_fs_f2fs))
+(expandtypeattribute (sysfs_fs_f2fs_202504) true)
+(typeattribute sysfs_fs_f2fs_202504)
+(typeattributeset proc_swaps_202504 (proc_swaps))
+(expandtypeattribute (proc_swaps_202504) true)
+(typeattribute proc_swaps_202504)
+(typeattributeset debugfs_202504 (debugfs))
+(expandtypeattribute (debugfs_202504) true)
+(typeattribute debugfs_202504)
+(typeattributeset configfs_202504 (configfs))
+(expandtypeattribute (configfs_202504) true)
+(typeattribute configfs_202504)
+(typeattributeset gwp_asan_prop_202504 (gwp_asan_prop))
+(expandtypeattribute (gwp_asan_prop_202504) true)
+(typeattribute gwp_asan_prop_202504)
+(typeattributeset dexopt_chroot_setup_service_202504 (dexopt_chroot_setup_service))
+(expandtypeattribute (dexopt_chroot_setup_service_202504) true)
+(typeattribute dexopt_chroot_setup_service_202504)
+(typeattributeset bq_config_prop_202504 (bq_config_prop))
+(expandtypeattribute (bq_config_prop_202504) true)
+(typeattribute bq_config_prop_202504)
+(typeattributeset config_prop_202504 (config_prop))
+(expandtypeattribute (config_prop_202504) true)
+(typeattribute config_prop_202504)
+(typeattributeset drm_config_prop_202504 (drm_config_prop))
+(expandtypeattribute (drm_config_prop_202504) true)
+(typeattribute drm_config_prop_202504)
+(typeattributeset ffs_config_prop_202504 (ffs_config_prop))
+(expandtypeattribute (ffs_config_prop_202504) true)
+(typeattribute ffs_config_prop_202504)
+(typeattributeset usb_config_prop_202504 (usb_config_prop))
+(expandtypeattribute (usb_config_prop_202504) true)
+(typeattribute usb_config_prop_202504)
+(typeattributeset vts_config_prop_202504 (vts_config_prop))
+(expandtypeattribute (vts_config_prop_202504) true)
+(typeattribute vts_config_prop_202504)
+(typeattributeset mediaswcodec_202504 (mediaswcodec))
+(expandtypeattribute (mediaswcodec_202504) true)
+(typeattribute mediaswcodec_202504)
+(typeattributeset adbd_config_prop_202504 (adbd_config_prop))
+(expandtypeattribute (adbd_config_prop_202504) true)
+(typeattribute adbd_config_prop_202504)
+(typeattributeset hdmi_config_prop_202504 (hdmi_config_prop))
+(expandtypeattribute (hdmi_config_prop_202504) true)
+(typeattribute hdmi_config_prop_202504)
+(typeattributeset lmkd_config_prop_202504 (lmkd_config_prop))
+(expandtypeattribute (lmkd_config_prop_202504) true)
+(typeattribute lmkd_config_prop_202504)
+(typeattributeset vold_config_prop_202504 (vold_config_prop))
+(expandtypeattribute (vold_config_prop_202504) true)
+(typeattribute vold_config_prop_202504)
+(typeattributeset wifi_config_prop_202504 (wifi_config_prop))
+(expandtypeattribute (wifi_config_prop_202504) true)
+(typeattribute wifi_config_prop_202504)
+(typeattributeset zram_config_prop_202504 (zram_config_prop))
+(expandtypeattribute (zram_config_prop_202504) true)
+(typeattribute zram_config_prop_202504)
+(typeattributeset binderfs_logs_202504 (binderfs_logs))
+(expandtypeattribute (binderfs_logs_202504) true)
+(typeattribute binderfs_logs_202504)
+(typeattributeset charger_202504 (charger))
+(expandtypeattribute (charger_202504) true)
+(typeattribute charger_202504)
+(typeattributeset service_manager_service_202504 (service_manager_service))
+(expandtypeattribute (service_manager_service_202504) true)
+(typeattribute service_manager_service_202504)
+(typeattributeset system_block_device_202504 (system_block_device))
+(expandtypeattribute (system_block_device_202504) true)
+(typeattribute system_block_device_202504)
+(typeattributeset postinstall_202504 (postinstall))
+(expandtypeattribute (postinstall_202504) true)
+(typeattribute postinstall_202504)
+(typeattributeset updatelock_service_202504 (updatelock_service))
+(expandtypeattribute (updatelock_service_202504) true)
+(typeattribute updatelock_service_202504)
+(typeattributeset server_configurable_flags_data_file_202504 (server_configurable_flags_data_file))
+(expandtypeattribute (server_configurable_flags_data_file_202504) true)
+(typeattribute server_configurable_flags_data_file_202504)
+(typeattributeset apk_data_file_202504 (apk_data_file))
+(expandtypeattribute (apk_data_file_202504) true)
+(typeattribute apk_data_file_202504)
+(typeattributeset hidl_base_hwservice_202504 (hidl_base_hwservice))
+(expandtypeattribute (hidl_base_hwservice_202504) true)
+(typeattribute hidl_base_hwservice_202504)
+(typeattributeset vendor_modprobe_202504 (vendor_modprobe))
+(expandtypeattribute (vendor_modprobe_202504) true)
+(typeattribute vendor_modprobe_202504)
+(typeattributeset system_app_202504 (system_app))
+(expandtypeattribute (system_app_202504) true)
+(typeattribute system_app_202504)
+(typeattributeset uri_grants_service_202504 (uri_grants_service))
+(expandtypeattribute (uri_grants_service_202504) true)
+(typeattribute uri_grants_service_202504)
+(typeattributeset proc_qtaguid_ctrl_202504 (proc_qtaguid_ctrl))
+(expandtypeattribute (proc_qtaguid_ctrl_202504) true)
+(typeattribute proc_qtaguid_ctrl_202504)
+(typeattributeset hal_fastboot_service_202504 (hal_fastboot_service))
+(expandtypeattribute (hal_fastboot_service_202504) true)
+(typeattribute hal_fastboot_service_202504)
+(typeattributeset hidl_manager_hwservice_202504 (hidl_manager_hwservice))
+(expandtypeattribute (hidl_manager_hwservice_202504) true)
+(typeattribute hidl_manager_hwservice_202504)
+(typeattributeset hidl_memory_hwservice_202504 (hidl_memory_hwservice))
+(expandtypeattribute (hidl_memory_hwservice_202504) true)
+(typeattribute hidl_memory_hwservice_202504)
+(typeattributeset archive_service_202504 (archive_service))
+(expandtypeattribute (archive_service_202504) true)
+(typeattribute archive_service_202504)
+(typeattributeset preloads_media_file_202504 (preloads_media_file))
+(expandtypeattribute (preloads_media_file_202504) true)
+(typeattribute preloads_media_file_202504)
+(typeattributeset surfaceflinger_202504 (surfaceflinger))
+(expandtypeattribute (surfaceflinger_202504) true)
+(typeattribute surfaceflinger_202504)
+(typeattributeset pdx_display_screenshot_channel_socket_202504 (pdx_display_screenshot_channel_socket))
+(expandtypeattribute (pdx_display_screenshot_channel_socket_202504) true)
+(typeattribute pdx_display_screenshot_channel_socket_202504)
+(typeattributeset debugfs_tracing_instances_202504 (debugfs_tracing_instances))
+(expandtypeattribute (debugfs_tracing_instances_202504) true)
+(typeattribute debugfs_tracing_instances_202504)
+(typeattributeset hal_contexthub_hwservice_202504 (hal_contexthub_hwservice))
+(expandtypeattribute (hal_contexthub_hwservice_202504) true)
+(typeattribute hal_contexthub_hwservice_202504)
+(typeattributeset hal_ivn_service_202504 (hal_ivn_service))
+(expandtypeattribute (hal_ivn_service_202504) true)
+(typeattribute hal_ivn_service_202504)
+(typeattributeset blob_store_service_202504 (blob_store_service))
+(expandtypeattribute (blob_store_service_202504) true)
+(typeattribute blob_store_service_202504)
+(typeattributeset persist_vendor_debug_wifi_prop_202504 (persist_vendor_debug_wifi_prop))
+(expandtypeattribute (persist_vendor_debug_wifi_prop_202504) true)
+(typeattribute persist_vendor_debug_wifi_prop_202504)
+(typeattributeset proc_slabinfo_202504 (proc_slabinfo))
+(expandtypeattribute (proc_slabinfo_202504) true)
+(typeattribute proc_slabinfo_202504)
+(typeattributeset proc_zoneinfo_202504 (proc_zoneinfo))
+(expandtypeattribute (proc_zoneinfo_202504) true)
+(typeattribute proc_zoneinfo_202504)
+(typeattributeset proc_tty_drivers_202504 (proc_tty_drivers))
+(expandtypeattribute (proc_tty_drivers_202504) true)
+(typeattribute proc_tty_drivers_202504)
+(typeattributeset mock_ota_prop_202504 (mock_ota_prop))
+(expandtypeattribute (mock_ota_prop_202504) true)
+(typeattribute mock_ota_prop_202504)
+(typeattributeset mnt_pass_through_file_202504 (mnt_pass_through_file))
+(expandtypeattribute (mnt_pass_through_file_202504) true)
+(typeattribute mnt_pass_through_file_202504)
+(typeattributeset tuner_config_prop_202504 (tuner_config_prop))
+(expandtypeattribute (tuner_config_prop_202504) true)
+(typeattribute tuner_config_prop_202504)
+(typeattributeset sec_key_att_app_id_provider_service_202504 (sec_key_att_app_id_provider_service))
+(expandtypeattribute (sec_key_att_app_id_provider_service_202504) true)
+(typeattribute sec_key_att_app_id_provider_service_202504)
+(typeattributeset activity_service_202504 (activity_service))
+(expandtypeattribute (activity_service_202504) true)
+(typeattribute activity_service_202504)
+(typeattributeset media_config_prop_202504 (media_config_prop))
+(expandtypeattribute (media_config_prop_202504) true)
+(typeattribute media_config_prop_202504)
+(typeattributeset mediaextractor_exec_202504 (mediaextractor_exec))
+(expandtypeattribute (mediaextractor_exec_202504) true)
+(typeattribute mediaextractor_exec_202504)
+(typeattributeset virtual_camera_202504 (virtual_camera))
+(expandtypeattribute (virtual_camera_202504) true)
+(typeattribute virtual_camera_202504)
+(typeattributeset fwk_automotive_display_hwservice_202504 (fwk_automotive_display_hwservice))
+(expandtypeattribute (fwk_automotive_display_hwservice_202504) true)
+(typeattribute fwk_automotive_display_hwservice_202504)
+(typeattributeset tombstoned_java_trace_socket_202504 (tombstoned_java_trace_socket))
+(expandtypeattribute (tombstoned_java_trace_socket_202504) true)
+(typeattribute tombstoned_java_trace_socket_202504)
+(typeattributeset watchdog_device_202504 (watchdog_device))
+(expandtypeattribute (watchdog_device_202504) true)
+(typeattribute watchdog_device_202504)
+(typeattributeset build_config_prop_202504 (build_config_prop))
+(expandtypeattribute (build_config_prop_202504) true)
+(typeattribute build_config_prop_202504)
+(typeattributeset apexd_config_prop_202504 (apexd_config_prop))
+(expandtypeattribute (apexd_config_prop_202504) true)
+(typeattribute apexd_config_prop_202504)
+(typeattributeset audio_config_prop_202504 (audio_config_prop))
+(expandtypeattribute (audio_config_prop_202504) true)
+(typeattribute audio_config_prop_202504)
+(typeattributeset provisioned_prop_202504 (provisioned_prop))
+(expandtypeattribute (provisioned_prop_202504) true)
+(typeattribute provisioned_prop_202504)
+(typeattributeset task_profiles_file_202504 (task_profiles_file))
+(expandtypeattribute (task_profiles_file_202504) true)
+(typeattribute task_profiles_file_202504)
+(typeattributeset hypervisor_prop_202504 (hypervisor_prop))
+(expandtypeattribute (hypervisor_prop_202504) true)
+(typeattribute hypervisor_prop_202504)
+(typeattributeset composd_vm_art_prop_202504 (composd_vm_art_prop))
+(expandtypeattribute (composd_vm_art_prop_202504) true)
+(typeattribute composd_vm_art_prop_202504)
+(typeattributeset graphics_device_202504 (graphics_device))
+(expandtypeattribute (graphics_device_202504) true)
+(typeattribute graphics_device_202504)
+(typeattributeset hal_tv_hdmi_connection_service_202504 (hal_tv_hdmi_connection_service))
+(expandtypeattribute (hal_tv_hdmi_connection_service_202504) true)
+(typeattribute hal_tv_hdmi_connection_service_202504)
+(typeattributeset method_trace_data_file_202504 (method_trace_data_file))
+(expandtypeattribute (method_trace_data_file_202504) true)
+(typeattribute method_trace_data_file_202504)
+(typeattributeset vndservicemanager_202504 (vndservicemanager))
+(expandtypeattribute (vndservicemanager_202504) true)
+(typeattribute vndservicemanager_202504)
+(typeattributeset tombstone_wifi_data_file_202504 (tombstone_wifi_data_file))
+(expandtypeattribute (tombstone_wifi_data_file_202504) true)
+(typeattribute tombstone_wifi_data_file_202504)
+(typeattributeset apk_private_data_file_202504 (apk_private_data_file))
+(expandtypeattribute (apk_private_data_file_202504) true)
+(typeattribute apk_private_data_file_202504)
+(typeattributeset vold_prepare_subdirs_202504 (vold_prepare_subdirs))
+(expandtypeattribute (vold_prepare_subdirs_202504) true)
+(typeattribute vold_prepare_subdirs_202504)
+(typeattributeset binder_cache_bluetooth_server_prop_202504 (binder_cache_bluetooth_server_prop))
+(expandtypeattribute (binder_cache_bluetooth_server_prop_202504) true)
+(typeattribute binder_cache_bluetooth_server_prop_202504)
+(typeattributeset hwservicemanager_202504 (hwservicemanager))
+(expandtypeattribute (hwservicemanager_202504) true)
+(typeattribute hwservicemanager_202504)
+(typeattributeset keychord_device_202504 (keychord_device))
+(expandtypeattribute (keychord_device_202504) true)
+(typeattribute keychord_device_202504)
+(typeattributeset secure_element_202504 (secure_element))
+(expandtypeattribute (secure_element_202504) true)
+(typeattribute secure_element_202504)
+(typeattributeset hal_graphics_composer_hwservice_202504 (hal_graphics_composer_hwservice))
+(expandtypeattribute (hal_graphics_composer_hwservice_202504) true)
+(typeattribute hal_graphics_composer_hwservice_202504)
+(typeattributeset servicemanager_202504 (servicemanager))
+(expandtypeattribute (servicemanager_202504) true)
+(typeattribute servicemanager_202504)
+(typeattributeset apexd_select_prop_202504 (apexd_select_prop))
+(expandtypeattribute (apexd_select_prop_202504) true)
+(typeattribute apexd_select_prop_202504)
+(typeattributeset ashmem_device_202504 (ashmem_device))
+(expandtypeattribute (ashmem_device_202504) true)
+(typeattribute ashmem_device_202504)
+(typeattributeset virtual_touchpad_202504 (virtual_touchpad))
+(expandtypeattribute (virtual_touchpad_202504) true)
+(typeattribute virtual_touchpad_202504)
+(typeattributeset hal_telephony_hwservice_202504 (hal_telephony_hwservice))
+(expandtypeattribute (hal_telephony_hwservice_202504) true)
+(typeattribute hal_telephony_hwservice_202504)
+(typeattributeset fingerprint_prop_202504 (fingerprint_prop))
+(expandtypeattribute (fingerprint_prop_202504) true)
+(typeattribute fingerprint_prop_202504)
+(typeattributeset flags_health_check_exec_202504 (flags_health_check_exec))
+(expandtypeattribute (flags_health_check_exec_202504) true)
+(typeattribute flags_health_check_exec_202504)
+(typeattributeset file_integrity_service_202504 (file_integrity_service))
+(expandtypeattribute (file_integrity_service_202504) true)
+(typeattribute file_integrity_service_202504)
+(typeattributeset sysfs_dma_heap_202504 (sysfs_dma_heap))
+(expandtypeattribute (sysfs_dma_heap_202504) true)
+(typeattribute sysfs_dma_heap_202504)
+(typeattributeset zoned_block_device_202504 (zoned_block_device))
+(expandtypeattribute (zoned_block_device_202504) true)
+(typeattribute zoned_block_device_202504)
+(typeattributeset proc_stat_202504 (proc_stat))
+(expandtypeattribute (proc_stat_202504) true)
+(typeattribute proc_stat_202504)
+(typeattributeset rootfs_202504 (rootfs))
+(expandtypeattribute (rootfs_202504) true)
+(typeattribute rootfs_202504)
+(typeattributeset cameraserver_tmpfs_202504 (cameraserver_tmpfs))
+(expandtypeattribute (cameraserver_tmpfs_202504) true)
+(typeattribute cameraserver_tmpfs_202504)
+(typeattributeset sdcardfs_202504 (sdcardfs))
+(expandtypeattribute (sdcardfs_202504) true)
+(typeattribute sdcardfs_202504)
+(typeattributeset hal_authsecret_service_202504 (hal_authsecret_service))
+(expandtypeattribute (hal_authsecret_service_202504) true)
+(typeattribute hal_authsecret_service_202504)
+(typeattributeset exported_overlay_prop_202504 (exported_overlay_prop))
+(expandtypeattribute (exported_overlay_prop_202504) true)
+(typeattribute exported_overlay_prop_202504)
+(typeattributeset netd_202504 (netd))
+(expandtypeattribute (netd_202504) true)
+(typeattribute netd_202504)
+(typeattributeset authorization_service_202504 (authorization_service))
+(expandtypeattribute (authorization_service_202504) true)
+(typeattribute authorization_service_202504)
+(typeattributeset sysfs_usb_202504 (sysfs_usb))
+(expandtypeattribute (sysfs_usb_202504) true)
+(typeattribute sysfs_usb_202504)
+(typeattributeset qemu_sf_lcd_density_prop_202504 (qemu_sf_lcd_density_prop))
+(expandtypeattribute (qemu_sf_lcd_density_prop_202504) true)
+(typeattribute qemu_sf_lcd_density_prop_202504)
+(typeattributeset hal_nlinterceptor_service_202504 (hal_nlinterceptor_service))
+(expandtypeattribute (hal_nlinterceptor_service_202504) true)
+(typeattribute hal_nlinterceptor_service_202504)
+(typeattributeset proc_perf_202504 (proc_perf))
+(expandtypeattribute (proc_perf_202504) true)
+(typeattribute proc_perf_202504)
+(typeattributeset system_server_dumper_service_202504 (system_server_dumper_service))
+(expandtypeattribute (system_server_dumper_service_202504) true)
+(typeattribute system_server_dumper_service_202504)
+(typeattributeset mqueue_202504 (mqueue))
+(expandtypeattribute (mqueue_202504) true)
+(typeattribute mqueue_202504)
+(typeattributeset tee_202504 (tee))
+(expandtypeattribute (tee_202504) true)
+(typeattribute tee_202504)
+(typeattributeset apex_data_file_202504 (apex_data_file))
+(expandtypeattribute (apex_data_file_202504) true)
+(typeattribute apex_data_file_202504)
+(typeattributeset mediadrm_config_prop_202504 (mediadrm_config_prop))
+(expandtypeattribute (mediadrm_config_prop_202504) true)
+(typeattribute mediadrm_config_prop_202504)
+(typeattributeset apex_info_file_202504 (apex_info_file))
+(expandtypeattribute (apex_info_file_202504) true)
+(typeattribute apex_info_file_202504)
+(typeattributeset bluetooth_config_prop_202504 (bluetooth_config_prop))
+(expandtypeattribute (bluetooth_config_prop_202504) true)
+(typeattribute bluetooth_config_prop_202504)
+(typeattributeset device_config_activity_manager_native_boot_prop_202504 (device_config_activity_manager_native_boot_prop))
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_202504) true)
+(typeattribute device_config_activity_manager_native_boot_prop_202504)
+(typeattributeset media_session_service_202504 (media_session_service))
+(expandtypeattribute (media_session_service_202504) true)
+(typeattribute media_session_service_202504)
+(typeattributeset composd_vm_vendor_prop_202504 (composd_vm_vendor_prop))
+(expandtypeattribute (composd_vm_vendor_prop_202504) true)
+(typeattribute composd_vm_vendor_prop_202504)
+(typeattributeset hal_mediaquality_service_202504 (hal_mediaquality_service))
+(expandtypeattribute (hal_mediaquality_service_202504) true)
+(typeattribute hal_mediaquality_service_202504)
+(typeattributeset recovery_config_prop_202504 (recovery_config_prop))
+(expandtypeattribute (recovery_config_prop_202504) true)
+(typeattribute recovery_config_prop_202504)
+(typeattributeset hal_graphics_allocator_service_202504 (hal_graphics_allocator_service))
+(expandtypeattribute (hal_graphics_allocator_service_202504) true)
+(typeattribute hal_graphics_allocator_service_202504)
+(typeattributeset adbd_202504 (adbd))
+(expandtypeattribute (adbd_202504) true)
+(typeattribute adbd_202504)
+(typeattributeset bpfloader_202504 (bpfloader))
+(expandtypeattribute (bpfloader_202504) true)
+(typeattribute bpfloader_202504)
+(typeattributeset vendor_public_lib_file_202504 (vendor_public_lib_file))
+(expandtypeattribute (vendor_public_lib_file_202504) true)
+(typeattribute vendor_public_lib_file_202504)
+(typeattributeset proc_dirty_202504 (proc_dirty))
+(expandtypeattribute (proc_dirty_202504) true)
+(typeattribute proc_dirty_202504)
+(typeattributeset vendor_cgroup_desc_file_202504 (vendor_cgroup_desc_file))
+(expandtypeattribute (vendor_cgroup_desc_file_202504) true)
+(typeattribute vendor_cgroup_desc_file_202504)
+(typeattributeset sysfs_fs_ext4_features_202504 (sysfs_fs_ext4_features))
+(expandtypeattribute (sysfs_fs_ext4_features_202504) true)
+(typeattribute sysfs_fs_ext4_features_202504)
+(typeattributeset dropbox_data_file_202504 (dropbox_data_file))
+(expandtypeattribute (dropbox_data_file_202504) true)
+(typeattribute dropbox_data_file_202504)
+(typeattributeset textclassifier_data_file_202504 (textclassifier_data_file))
+(expandtypeattribute (textclassifier_data_file_202504) true)
+(typeattribute textclassifier_data_file_202504)
+(typeattributeset fuse_202504 (fuse))
+(expandtypeattribute (fuse_202504) true)
+(typeattribute fuse_202504)
+(typeattributeset fwk_automotive_display_service_202504 (fwk_automotive_display_service))
+(expandtypeattribute (fwk_automotive_display_service_202504) true)
+(typeattribute fwk_automotive_display_service_202504)
+(typeattributeset recovery_202504 (recovery))
+(expandtypeattribute (recovery_202504) true)
+(typeattribute recovery_202504)
+(typeattributeset timedetector_service_202504 (timedetector_service))
+(expandtypeattribute (timedetector_service_202504) true)
+(typeattribute timedetector_service_202504)
+(typeattributeset bootstat_202504 (bootstat))
+(expandtypeattribute (bootstat_202504) true)
+(typeattribute bootstat_202504)
+(typeattributeset pm_archiving_enabled_prop_202504 (pm_archiving_enabled_prop))
+(expandtypeattribute (pm_archiving_enabled_prop_202504) true)
+(typeattribute pm_archiving_enabled_prop_202504)
+(typeattributeset traced_tmpfs_202504 (traced_tmpfs))
+(expandtypeattribute (traced_tmpfs_202504) true)
+(typeattribute traced_tmpfs_202504)
+(typeattributeset sensitive_content_protection_service_202504 (sensitive_content_protection_service))
+(expandtypeattribute (sensitive_content_protection_service_202504) true)
+(typeattribute sensitive_content_protection_service_202504)
+(typeattributeset labeledfs_202504 (labeledfs))
+(expandtypeattribute (labeledfs_202504) true)
+(typeattribute labeledfs_202504)
+(typeattributeset mediaextractor_tmpfs_202504 (mediaextractor_tmpfs))
+(expandtypeattribute (mediaextractor_tmpfs_202504) true)
+(typeattribute mediaextractor_tmpfs_202504)
+(typeattributeset grammatical_inflection_service_202504 (grammatical_inflection_service))
+(expandtypeattribute (grammatical_inflection_service_202504) true)
+(typeattribute grammatical_inflection_service_202504)
+(typeattributeset super_block_device_202504 (super_block_device))
+(expandtypeattribute (super_block_device_202504) true)
+(typeattribute super_block_device_202504)
+(typeattributeset proc_loadavg_202504 (proc_loadavg))
+(expandtypeattribute (proc_loadavg_202504) true)
+(typeattribute proc_loadavg_202504)
+(typeattributeset system_security_cacerts_file_202504 (system_security_cacerts_file))
+(expandtypeattribute (system_security_cacerts_file_202504) true)
+(typeattribute system_security_cacerts_file_202504)
+(typeattributeset proc_keys_202504 (proc_keys))
+(expandtypeattribute (proc_keys_202504) true)
+(typeattribute proc_keys_202504)
+(typeattributeset pdx_bufferhub_dir_202504 (pdx_bufferhub_dir))
+(expandtypeattribute (pdx_bufferhub_dir_202504) true)
+(typeattribute pdx_bufferhub_dir_202504)
+(typeattributeset usermodehelper_202504 (usermodehelper))
+(expandtypeattribute (usermodehelper_202504) true)
+(typeattribute usermodehelper_202504)
+(typeattributeset hal_health_service_202504 (hal_health_service))
+(expandtypeattribute (hal_health_service_202504) true)
+(typeattribute hal_health_service_202504)
+(typeattributeset mediaextractor_service_202504 (mediaextractor_service))
+(expandtypeattribute (mediaextractor_service_202504) true)
+(typeattribute mediaextractor_service_202504)
+(typeattributeset debug_prop_202504 (debug_prop))
+(expandtypeattribute (debug_prop_202504) true)
+(typeattribute debug_prop_202504)
+(typeattributeset hal_omx_hwservice_202504 (hal_omx_hwservice))
+(expandtypeattribute (hal_omx_hwservice_202504) true)
+(typeattribute hal_omx_hwservice_202504)
+(typeattributeset incremental_service_202504 (incremental_service))
+(expandtypeattribute (incremental_service_202504) true)
+(typeattribute incremental_service_202504)
+(typeattributeset bluetooth_audio_hal_prop_202504 (bluetooth_audio_hal_prop))
+(expandtypeattribute (bluetooth_audio_hal_prop_202504) true)
+(typeattribute bluetooth_audio_hal_prop_202504)
+(typeattributeset permissive_mte_prop_202504 (permissive_mte_prop))
+(expandtypeattribute (permissive_mte_prop_202504) true)
+(typeattribute permissive_mte_prop_202504)
+(typeattributeset lpdumpd_prop_202504 (lpdumpd_prop))
+(expandtypeattribute (lpdumpd_prop_202504) true)
+(typeattribute lpdumpd_prop_202504)
+(typeattributeset proc_locks_202504 (proc_locks))
+(expandtypeattribute (proc_locks_202504) true)
+(typeattribute proc_locks_202504)
+(typeattributeset update_engine_service_202504 (update_engine_service))
+(expandtypeattribute (update_engine_service_202504) true)
+(typeattribute update_engine_service_202504)
+(typeattributeset test_harness_prop_202504 (test_harness_prop))
+(expandtypeattribute (test_harness_prop_202504) true)
+(typeattribute test_harness_prop_202504)
+(typeattributeset lock_settings_service_202504 (lock_settings_service))
+(expandtypeattribute (lock_settings_service_202504) true)
+(typeattribute lock_settings_service_202504)
+(typeattributeset systemsound_config_prop_202504 (systemsound_config_prop))
+(expandtypeattribute (systemsound_config_prop_202504) true)
+(typeattribute systemsound_config_prop_202504)
+(typeattributeset ctl_interface_restart_prop_202504 (ctl_interface_restart_prop))
+(expandtypeattribute (ctl_interface_restart_prop_202504) true)
+(typeattribute ctl_interface_restart_prop_202504)
+(typeattributeset staged_install_file_202504 (staged_install_file))
+(expandtypeattribute (staged_install_file_202504) true)
+(typeattribute staged_install_file_202504)
+(typeattributeset cpu_variant_prop_202504 (cpu_variant_prop))
+(expandtypeattribute (cpu_variant_prop_202504) true)
+(typeattribute cpu_variant_prop_202504)
+(typeattributeset cameraproxy_service_202504 (cameraproxy_service))
+(expandtypeattribute (cameraproxy_service_202504) true)
+(typeattribute cameraproxy_service_202504)
+(typeattributeset build_prop_202504 (build_prop))
+(expandtypeattribute (build_prop_202504) true)
+(typeattribute build_prop_202504)
+(typeattributeset hal_remotelyprovisionedcomponent_avf_service_202504 (hal_remotelyprovisionedcomponent_avf_service))
+(expandtypeattribute (hal_remotelyprovisionedcomponent_avf_service_202504) true)
+(typeattribute hal_remotelyprovisionedcomponent_avf_service_202504)
+(typeattributeset audio_prop_202504 (audio_prop))
+(expandtypeattribute (audio_prop_202504) true)
+(typeattribute audio_prop_202504)
+(typeattributeset apexd_202504 (apexd))
+(expandtypeattribute (apexd_202504) true)
+(typeattribute apexd_202504)
+(typeattributeset healthd_202504 (healthd))
+(expandtypeattribute (healthd_202504) true)
+(typeattribute healthd_202504)
+(typeattributeset keychain_data_file_202504 (keychain_data_file))
+(expandtypeattribute (keychain_data_file_202504) true)
+(typeattribute keychain_data_file_202504)
+(typeattributeset apexd_prop_202504 (apexd_prop))
+(expandtypeattribute (apexd_prop_202504) true)
+(typeattribute apexd_prop_202504)
+(typeattributeset media_metrics_service_202504 (media_metrics_service))
+(expandtypeattribute (media_metrics_service_202504) true)
+(typeattribute media_metrics_service_202504)
+(typeattributeset kmsg_device_202504 (kmsg_device))
+(expandtypeattribute (kmsg_device_202504) true)
+(typeattribute kmsg_device_202504)
+(typeattributeset netif_202504 (netif))
+(expandtypeattribute (netif_202504) true)
+(typeattribute netif_202504)
+(typeattributeset webview_zygote_exec_202504 (webview_zygote_exec))
+(expandtypeattribute (webview_zygote_exec_202504) true)
+(typeattribute webview_zygote_exec_202504)
+(typeattributeset hal_tetheroffload_hwservice_202504 (hal_tetheroffload_hwservice))
+(expandtypeattribute (hal_tetheroffload_hwservice_202504) true)
+(typeattribute hal_tetheroffload_hwservice_202504)
+(typeattributeset proc_watermark_scale_factor_202504 (proc_watermark_scale_factor))
+(expandtypeattribute (proc_watermark_scale_factor_202504) true)
+(typeattribute proc_watermark_scale_factor_202504)
+(typeattributeset radio_202504 (radio))
+(expandtypeattribute (radio_202504) true)
+(typeattribute radio_202504)
+(typeattributeset extra_free_kbytes_202504 (extra_free_kbytes))
+(expandtypeattribute (extra_free_kbytes_202504) true)
+(typeattribute extra_free_kbytes_202504)
+(typeattributeset hypervisor_restricted_prop_202504 (hypervisor_restricted_prop))
+(expandtypeattribute (hypervisor_restricted_prop_202504) true)
+(typeattribute hypervisor_restricted_prop_202504)
+(typeattributeset smart_idle_maint_enabled_prop_202504 (smart_idle_maint_enabled_prop))
+(expandtypeattribute (smart_idle_maint_enabled_prop_202504) true)
+(typeattribute smart_idle_maint_enabled_prop_202504)
+(typeattributeset pipefs_202504 (pipefs))
+(expandtypeattribute (pipefs_202504) true)
+(typeattribute pipefs_202504)
+(typeattributeset pstorefs_202504 (pstorefs))
+(expandtypeattribute (pstorefs_202504) true)
+(typeattribute pstorefs_202504)
+(typeattributeset device_config_surface_flinger_native_boot_prop_202504 (device_config_surface_flinger_native_boot_prop))
+(expandtypeattribute (device_config_surface_flinger_native_boot_prop_202504) true)
+(typeattribute device_config_surface_flinger_native_boot_prop_202504)
+(typeattributeset device_config_vendor_system_native_prop_202504 (device_config_vendor_system_native_prop))
+(expandtypeattribute (device_config_vendor_system_native_prop_202504) true)
+(typeattribute device_config_vendor_system_native_prop_202504)
+(typeattributeset proc_sysrq_202504 (proc_sysrq))
+(expandtypeattribute (proc_sysrq_202504) true)
+(typeattribute proc_sysrq_202504)
+(typeattributeset gatekeeperd_202504 (gatekeeperd))
+(expandtypeattribute (gatekeeperd_202504) true)
+(typeattribute gatekeeperd_202504)
+(typeattributeset device_config_memory_safety_native_prop_202504 (device_config_memory_safety_native_prop))
+(expandtypeattribute (device_config_memory_safety_native_prop_202504) true)
+(typeattribute device_config_memory_safety_native_prop_202504)
+(typeattributeset perfetto_202504 (perfetto))
+(expandtypeattribute (perfetto_202504) true)
+(typeattribute perfetto_202504)
+(typeattributeset consumer_ir_service_202504 (consumer_ir_service))
+(expandtypeattribute (consumer_ir_service_202504) true)
+(typeattribute consumer_ir_service_202504)
+(typeattributeset threadnetwork_service_202504 (threadnetwork_service))
+(expandtypeattribute (threadnetwork_service_202504) true)
+(typeattribute threadnetwork_service_202504)
+(typeattributeset sysfs_devices_cs_etm_202504 (sysfs_devices_cs_etm))
+(expandtypeattribute (sysfs_devices_cs_etm_202504) true)
+(typeattribute sysfs_devices_cs_etm_202504)
+(typeattributeset virtual_device_service_202504 (virtual_device_service))
+(expandtypeattribute (virtual_device_service_202504) true)
+(typeattribute virtual_device_service_202504)
+(typeattributeset sysfs_zram_202504 (sysfs_zram))
+(expandtypeattribute (sysfs_zram_202504) true)
+(typeattribute sysfs_zram_202504)
+(typeattributeset gsi_data_file_202504 (gsi_data_file))
+(expandtypeattribute (gsi_data_file_202504) true)
+(typeattribute gsi_data_file_202504)
+(typeattributeset wifi_data_file_202504 (wifi_data_file))
+(expandtypeattribute (wifi_data_file_202504) true)
+(typeattribute wifi_data_file_202504)
+(typeattributeset mediametrics_service_202504 (mediametrics_service))
+(expandtypeattribute (mediametrics_service_202504) true)
+(typeattribute mediametrics_service_202504)
+(typeattributeset hal_secureclock_service_202504 (hal_secureclock_service))
+(expandtypeattribute (hal_secureclock_service_202504) true)
+(typeattribute hal_secureclock_service_202504)
+(typeattributeset system_boot_reason_prop_202504 (system_boot_reason_prop))
+(expandtypeattribute (system_boot_reason_prop_202504) true)
+(typeattribute system_boot_reason_prop_202504)
+(typeattributeset hal_threadnetwork_service_202504 (hal_threadnetwork_service))
+(expandtypeattribute (hal_threadnetwork_service_202504) true)
+(typeattribute hal_threadnetwork_service_202504)
+(typeattributeset recovery_usb_config_prop_202504 (recovery_usb_config_prop))
+(expandtypeattribute (recovery_usb_config_prop_202504) true)
+(typeattribute recovery_usb_config_prop_202504)
+(typeattributeset hal_lowpan_hwservice_202504 (hal_lowpan_hwservice))
+(expandtypeattribute (hal_lowpan_hwservice_202504) true)
+(typeattribute hal_lowpan_hwservice_202504)
+(typeattributeset statsd_202504 (statsd))
+(expandtypeattribute (statsd_202504) true)
+(typeattribute statsd_202504)
+(typeattributeset assetatlas_service_202504 (assetatlas_service))
+(expandtypeattribute (assetatlas_service_202504) true)
+(typeattribute assetatlas_service_202504)
+(typeattributeset sysfs_udc_202504 (sysfs_udc))
+(expandtypeattribute (sysfs_udc_202504) true)
+(typeattribute sysfs_udc_202504)
+(typeattributeset proc_filesystems_202504 (proc_filesystems))
+(expandtypeattribute (proc_filesystems_202504) true)
+(typeattribute proc_filesystems_202504)
+(typeattributeset backup_service_202504 (backup_service))
+(expandtypeattribute (backup_service_202504) true)
+(typeattribute backup_service_202504)
+(typeattributeset pdx_display_manager_channel_socket_202504 (pdx_display_manager_channel_socket))
+(expandtypeattribute (pdx_display_manager_channel_socket_202504) true)
+(typeattribute pdx_display_manager_channel_socket_202504)
+(typeattributeset traced_probes_202504 (traced_probes))
+(expandtypeattribute (traced_probes_202504) true)
+(typeattribute traced_probes_202504)
+(typeattributeset zero_device_202504 (zero_device))
+(expandtypeattribute (zero_device_202504) true)
+(typeattribute zero_device_202504)
+(typeattributeset vendor_keychars_file_202504 (vendor_keychars_file))
+(expandtypeattribute (vendor_keychars_file_202504) true)
+(typeattribute vendor_keychars_file_202504)
+(typeattributeset system_linker_exec_202504 (system_linker_exec))
+(expandtypeattribute (system_linker_exec_202504) true)
+(typeattribute system_linker_exec_202504)
+(typeattributeset hwservice_contexts_file_202504 (hwservice_contexts_file))
+(expandtypeattribute (hwservice_contexts_file_202504) true)
+(typeattribute hwservice_contexts_file_202504)
+(typeattributeset service_contexts_file_202504 (service_contexts_file))
+(expandtypeattribute (service_contexts_file_202504) true)
+(typeattribute service_contexts_file_202504)
+(typeattributeset translation_service_202504 (translation_service))
+(expandtypeattribute (translation_service_202504) true)
+(typeattribute translation_service_202504)
+(typeattributeset exported_bluetooth_prop_202504 (exported_bluetooth_prop))
+(expandtypeattribute (exported_bluetooth_prop_202504) true)
+(typeattribute exported_bluetooth_prop_202504)
+(typeattributeset sysfs_uio_202504 (sysfs_uio))
+(expandtypeattribute (sysfs_uio_202504) true)
+(typeattribute sysfs_uio_202504)
+(typeattributeset vndservice_contexts_file_202504 (vndservice_contexts_file))
+(expandtypeattribute (vndservice_contexts_file_202504) true)
+(typeattribute vndservice_contexts_file_202504)
+(typeattributeset incident_202504 (incident))
+(expandtypeattribute (incident_202504) true)
+(typeattribute incident_202504)
+(typeattributeset vold_post_fs_data_prop_202504 (vold_post_fs_data_prop))
+(expandtypeattribute (vold_post_fs_data_prop_202504) true)
+(typeattribute vold_post_fs_data_prop_202504)
+(typeattributeset mediatranscoding_service_202504 (mediatranscoding_service))
+(expandtypeattribute (mediatranscoding_service_202504) true)
+(typeattribute mediatranscoding_service_202504)
+(typeattributeset cache_block_device_202504 (cache_block_device))
+(expandtypeattribute (cache_block_device_202504) true)
+(typeattribute cache_block_device_202504)
+(typeattributeset dynamic_system_prop_202504 (dynamic_system_prop))
+(expandtypeattribute (dynamic_system_prop_202504) true)
+(typeattribute dynamic_system_prop_202504)
+(typeattributeset media_quality_service_202504 (media_quality_service))
+(expandtypeattribute (media_quality_service_202504) true)
+(typeattribute media_quality_service_202504)
+(typeattributeset soundtrigger_middleware_service_202504 (soundtrigger_middleware_service))
+(expandtypeattribute (soundtrigger_middleware_service_202504) true)
+(typeattribute soundtrigger_middleware_service_202504)
+(typeattributeset crash_dump_exec_202504 (crash_dump_exec))
+(expandtypeattribute (crash_dump_exec_202504) true)
+(typeattribute crash_dump_exec_202504)
+(typeattributeset vendor_public_framework_file_202504 (vendor_public_framework_file))
+(expandtypeattribute (vendor_public_framework_file_202504) true)
+(typeattribute vendor_public_framework_file_202504)
+(typeattributeset shell_202504 (shell))
+(expandtypeattribute (shell_202504) true)
+(typeattribute shell_202504)
+(typeattributeset network_time_update_service_202504 (network_time_update_service))
+(expandtypeattribute (network_time_update_service_202504) true)
+(typeattribute network_time_update_service_202504)
+(typeattributeset theme_prop_202504 (theme_prop))
+(expandtypeattribute (theme_prop_202504) true)
+(typeattribute theme_prop_202504)
+(typeattributeset seapp_contexts_file_202504 (seapp_contexts_file))
+(expandtypeattribute (seapp_contexts_file_202504) true)
+(typeattribute seapp_contexts_file_202504)
+(typeattributeset textclassification_service_202504 (textclassification_service))
+(expandtypeattribute (textclassification_service_202504) true)
+(typeattribute textclassification_service_202504)
+(typeattributeset blkid_untrusted_202504 (blkid_untrusted))
+(expandtypeattribute (blkid_untrusted_202504) true)
+(typeattribute blkid_untrusted_202504)
+(typeattributeset rss_hwm_reset_202504 (rss_hwm_reset))
+(expandtypeattribute (rss_hwm_reset_202504) true)
+(typeattribute rss_hwm_reset_202504)
+(typeattributeset speech_recognition_service_202504 (speech_recognition_service))
+(expandtypeattribute (speech_recognition_service_202504) true)
+(typeattribute speech_recognition_service_202504)
+(typeattributeset dumpstate_prop_202504 (dumpstate_prop))
+(expandtypeattribute (dumpstate_prop_202504) true)
+(typeattribute dumpstate_prop_202504)
+(typeattributeset zygote_exec_202504 (zygote_exec))
+(expandtypeattribute (zygote_exec_202504) true)
+(typeattribute zygote_exec_202504)
+(typeattributeset cppreopt_prop_202504 (cppreopt_prop))
+(expandtypeattribute (cppreopt_prop_202504) true)
+(typeattribute cppreopt_prop_202504)
+(typeattributeset radio_prop_202504 (radio_prop))
+(expandtypeattribute (radio_prop_202504) true)
+(typeattribute radio_prop_202504)
+(typeattributeset postinstall_mnt_dir_202504 (postinstall_mnt_dir))
+(expandtypeattribute (postinstall_mnt_dir_202504) true)
+(typeattribute postinstall_mnt_dir_202504)
+(typeattributeset misc_user_data_file_202504 (misc_user_data_file))
+(expandtypeattribute (misc_user_data_file_202504) true)
+(typeattribute misc_user_data_file_202504)
+(typeattributeset debugfs_wifi_tracing_202504 (debugfs_wifi_tracing))
+(expandtypeattribute (debugfs_wifi_tracing_202504) true)
+(typeattribute debugfs_wifi_tracing_202504)
+(typeattributeset sysfs_fs_incfs_features_202504 (sysfs_fs_incfs_features))
+(expandtypeattribute (sysfs_fs_incfs_features_202504) true)
+(typeattribute sysfs_fs_incfs_features_202504)
+(typeattributeset shell_prop_202504 (shell_prop))
+(expandtypeattribute (shell_prop_202504) true)
+(typeattribute shell_prop_202504)
+(typeattributeset dev_cpu_variant_202504 (dev_cpu_variant))
+(expandtypeattribute (dev_cpu_variant_202504) true)
+(typeattribute dev_cpu_variant_202504)
+(typeattributeset system_linker_config_file_202504 (system_linker_config_file))
+(expandtypeattribute (system_linker_config_file_202504) true)
+(typeattribute system_linker_config_file_202504)
+(typeattributeset keyguard_config_prop_202504 (keyguard_config_prop))
+(expandtypeattribute (keyguard_config_prop_202504) true)
+(typeattribute keyguard_config_prop_202504)
+(typeattributeset aac_drc_prop_202504 (aac_drc_prop))
+(expandtypeattribute (aac_drc_prop_202504) true)
+(typeattribute aac_drc_prop_202504)
+(typeattributeset password_slot_metadata_file_202504 (password_slot_metadata_file))
+(expandtypeattribute (password_slot_metadata_file_202504) true)
+(typeattribute password_slot_metadata_file_202504)
+(typeattributeset isolated_app_202504 (isolated_app))
+(expandtypeattribute (isolated_app_202504) true)
+(typeattribute isolated_app_202504)
+(typeattributeset sysfs_vibrator_202504 (sysfs_vibrator))
+(expandtypeattribute (sysfs_vibrator_202504) true)
+(typeattribute sysfs_vibrator_202504)
+(typeattributeset network_management_service_202504 (network_management_service))
+(expandtypeattribute (network_management_service_202504) true)
+(typeattribute network_management_service_202504)
+(typeattributeset heapprofd_prop_202504 (heapprofd_prop))
+(expandtypeattribute (heapprofd_prop_202504) true)
+(typeattribute heapprofd_prop_202504)
+(typeattributeset sysfs_hwrandom_202504 (sysfs_hwrandom))
+(expandtypeattribute (sysfs_hwrandom_202504) true)
+(typeattribute sysfs_hwrandom_202504)
+(typeattributeset virtualization_service_202504 (virtualization_service))
+(expandtypeattribute (virtualization_service_202504) true)
+(typeattribute virtualization_service_202504)
+(typeattributeset tee_service_contexts_file_202504 (tee_service_contexts_file))
+(expandtypeattribute (tee_service_contexts_file_202504) true)
+(typeattribute tee_service_contexts_file_202504)
+(typeattributeset keystore_config_prop_202504 (keystore_config_prop))
+(expandtypeattribute (keystore_config_prop_202504) true)
+(typeattribute keystore_config_prop_202504)
+(typeattributeset system_server_202504 (system_server))
+(expandtypeattribute (system_server_202504) true)
+(typeattribute system_server_202504)
+(typeattributeset device_identifiers_service_202504 (device_identifiers_service))
+(expandtypeattribute (device_identifiers_service_202504) true)
+(typeattribute device_identifiers_service_202504)
+(typeattributeset userspace_reboot_exported_prop_202504 (userspace_reboot_exported_prop))
+(expandtypeattribute (userspace_reboot_exported_prop_202504) true)
+(typeattribute userspace_reboot_exported_prop_202504)
+(typeattributeset crosvm_202504 (crosvm))
+(expandtypeattribute (crosvm_202504) true)
+(typeattribute crosvm_202504)
+(typeattributeset network_score_service_202504 (network_score_service))
+(expandtypeattribute (network_score_service_202504) true)
+(typeattribute network_score_service_202504)
+(typeattributeset e2fs_202504 (e2fs))
+(expandtypeattribute (e2fs_202504) true)
+(typeattribute e2fs_202504)
+(typeattributeset usbfs_202504 (usbfs))
+(expandtypeattribute (usbfs_202504) true)
+(typeattribute usbfs_202504)
+(typeattributeset binderfs_202504 (binderfs))
+(expandtypeattribute (binderfs_202504) true)
+(typeattribute binderfs_202504)
+(typeattributeset vendor_microdroid_file_202504 (vendor_microdroid_file))
+(expandtypeattribute (vendor_microdroid_file_202504) true)
+(typeattribute vendor_microdroid_file_202504)
+(typeattributeset debugfs_wakeup_sources_202504 (debugfs_wakeup_sources))
+(expandtypeattribute (debugfs_wakeup_sources_202504) true)
+(typeattribute debugfs_wakeup_sources_202504)
+(typeattributeset repair_mode_metadata_file_202504 (repair_mode_metadata_file))
+(expandtypeattribute (repair_mode_metadata_file_202504) true)
+(typeattribute repair_mode_metadata_file_202504)
+(typeattributeset surfaceflinger_display_prop_202504 (surfaceflinger_display_prop))
+(expandtypeattribute (surfaceflinger_display_prop_202504) true)
+(typeattribute surfaceflinger_display_prop_202504)
+(typeattributeset incident_helper_202504 (incident_helper))
+(expandtypeattribute (incident_helper_202504) true)
+(typeattribute incident_helper_202504)
+(typeattributeset sendbug_config_prop_202504 (sendbug_config_prop))
+(expandtypeattribute (sendbug_config_prop_202504) true)
+(typeattribute sendbug_config_prop_202504)
+(typeattributeset system_wifi_keystore_hwservice_202504 (system_wifi_keystore_hwservice))
+(expandtypeattribute (system_wifi_keystore_hwservice_202504) true)
+(typeattribute system_wifi_keystore_hwservice_202504)
+(typeattributeset sdcardd_202504 (sdcardd))
+(expandtypeattribute (sdcardd_202504) true)
+(typeattribute sdcardd_202504)
+(typeattributeset audioserver_tmpfs_202504 (audioserver_tmpfs))
+(expandtypeattribute (audioserver_tmpfs_202504) true)
+(typeattribute audioserver_tmpfs_202504)
+(typeattributeset mediaserver_tmpfs_202504 (mediaserver_tmpfs))
+(expandtypeattribute (mediaserver_tmpfs_202504) true)
+(typeattribute mediaserver_tmpfs_202504)
+(typeattributeset thermal_service_202504 (thermal_service))
+(expandtypeattribute (thermal_service_202504) true)
+(typeattribute thermal_service_202504)
+(typeattributeset connectivity_native_service_202504 (connectivity_native_service))
+(expandtypeattribute (connectivity_native_service_202504) true)
+(typeattribute connectivity_native_service_202504)
+(typeattributeset idmap_service_202504 (idmap_service))
+(expandtypeattribute (idmap_service_202504) true)
+(typeattribute idmap_service_202504)
+(typeattributeset logdr_socket_202504 (logdr_socket))
+(expandtypeattribute (logdr_socket_202504) true)
+(typeattribute logdr_socket_202504)
+(typeattributeset logdw_socket_202504 (logdw_socket))
+(expandtypeattribute (logdw_socket_202504) true)
+(typeattribute logdw_socket_202504)
+(typeattributeset vpn_data_file_202504 (vpn_data_file))
+(expandtypeattribute (vpn_data_file_202504) true)
+(typeattribute vpn_data_file_202504)
+(typeattributeset dalvikcache_data_file_202504 (dalvikcache_data_file))
+(expandtypeattribute (dalvikcache_data_file_202504) true)
+(typeattribute dalvikcache_data_file_202504)
+(typeattributeset hw_timeout_multiplier_prop_202504 (hw_timeout_multiplier_prop))
+(expandtypeattribute (hw_timeout_multiplier_prop_202504) true)
+(typeattribute hw_timeout_multiplier_prop_202504)
+(typeattributeset drm_service_config_prop_202504 (drm_service_config_prop))
+(expandtypeattribute (drm_service_config_prop_202504) true)
+(typeattribute drm_service_config_prop_202504)
+(typeattributeset vendor_boot_ota_file_202504 (vendor_boot_ota_file))
+(expandtypeattribute (vendor_boot_ota_file_202504) true)
+(typeattribute vendor_boot_ota_file_202504)
+(typeattributeset mediaserver_service_202504 (mediaserver_service))
+(expandtypeattribute (mediaserver_service_202504) true)
+(typeattribute mediaserver_service_202504)
+(typeattributeset network_stack_202504 (network_stack))
+(expandtypeattribute (network_stack_202504) true)
+(typeattribute network_stack_202504)
+(typeattributeset property_data_file_202504 (property_data_file))
+(expandtypeattribute (property_data_file_202504) true)
+(typeattribute property_data_file_202504)
+(typeattributeset binderfs_logs_proc_202504 (binderfs_logs_proc))
+(expandtypeattribute (binderfs_logs_proc_202504) true)
+(typeattribute binderfs_logs_proc_202504)
+(typeattributeset wifi_hal_prop_202504 (wifi_hal_prop))
+(expandtypeattribute (wifi_hal_prop_202504) true)
+(typeattribute wifi_hal_prop_202504)
+(typeattributeset wifi_log_prop_202504 (wifi_log_prop))
+(expandtypeattribute (wifi_log_prop_202504) true)
+(typeattribute wifi_log_prop_202504)
+(typeattributeset accessibility_service_202504 (accessibility_service))
+(expandtypeattribute (accessibility_service_202504) true)
+(typeattribute accessibility_service_202504)
+(typeattributeset timezonedetector_service_202504 (timezonedetector_service))
+(expandtypeattribute (timezonedetector_service_202504) true)
+(typeattribute timezonedetector_service_202504)
+(typeattributeset device_config_aconfig_flags_prop_202504 (device_config_aconfig_flags_prop))
+(expandtypeattribute (device_config_aconfig_flags_prop_202504) true)
+(typeattribute device_config_aconfig_flags_prop_202504)
+(typeattributeset camera_device_202504 (camera_device))
+(expandtypeattribute (camera_device_202504) true)
+(typeattribute camera_device_202504)
+(typeattributeset recovery_data_file_202504 (recovery_data_file))
+(expandtypeattribute (recovery_data_file_202504) true)
+(typeattribute recovery_data_file_202504)
+(typeattributeset system_app_data_file_202504 (system_app_data_file))
+(expandtypeattribute (system_app_data_file_202504) true)
+(typeattribute system_app_data_file_202504)
+(typeattributeset proc_cpu_alignment_202504 (proc_cpu_alignment))
+(expandtypeattribute (proc_cpu_alignment_202504) true)
+(typeattribute proc_cpu_alignment_202504)
+(typeattributeset sysfs_fs_fuse_bpf_202504 (sysfs_fs_fuse_bpf))
+(expandtypeattribute (sysfs_fs_fuse_bpf_202504) true)
+(typeattribute sysfs_fs_fuse_bpf_202504)
+(typeattributeset media_variant_prop_202504 (media_variant_prop))
+(expandtypeattribute (media_variant_prop_202504) true)
+(typeattribute media_variant_prop_202504)
+(typeattributeset sysfs_leds_202504 (sysfs_leds))
+(expandtypeattribute (sysfs_leds_202504) true)
+(typeattribute sysfs_leds_202504)
+(typeattributeset adaptive_haptics_prop_202504 (adaptive_haptics_prop))
+(expandtypeattribute (adaptive_haptics_prop_202504) true)
+(typeattribute adaptive_haptics_prop_202504)
+(typeattributeset restrictions_service_202504 (restrictions_service))
+(expandtypeattribute (restrictions_service_202504) true)
+(typeattribute restrictions_service_202504)
+(typeattributeset dck_prop_202504 (dck_prop))
+(expandtypeattribute (dck_prop_202504) true)
+(typeattribute dck_prop_202504)
+(typeattributeset log_prop_202504 (log_prop))
+(expandtypeattribute (log_prop_202504) true)
+(typeattribute log_prop_202504)
+(typeattributeset mmc_prop_202504 (mmc_prop))
+(expandtypeattribute (mmc_prop_202504) true)
+(typeattribute mmc_prop_202504)
+(typeattributeset nfc_prop_202504 (nfc_prop))
+(expandtypeattribute (nfc_prop_202504) true)
+(typeattribute nfc_prop_202504)
+(typeattributeset ota_prop_202504 (ota_prop))
+(expandtypeattribute (ota_prop_202504) true)
+(typeattribute ota_prop_202504)
+(typeattributeset soc_prop_202504 (soc_prop))
+(expandtypeattribute (soc_prop_202504) true)
+(typeattribute soc_prop_202504)
+(typeattributeset usb_prop_202504 (usb_prop))
+(expandtypeattribute (usb_prop_202504) true)
+(typeattribute usb_prop_202504)
+(typeattributeset toolbox_202504 (toolbox))
+(expandtypeattribute (toolbox_202504) true)
+(typeattribute toolbox_202504)
+(typeattributeset IProxyService_service_202504 (IProxyService_service))
+(expandtypeattribute (IProxyService_service_202504) true)
+(typeattribute IProxyService_service_202504)
+(typeattributeset hal_vehicle_service_202504 (hal_vehicle_service))
+(expandtypeattribute (hal_vehicle_service_202504) true)
+(typeattribute hal_vehicle_service_202504)
+(typeattributeset aidl_lazy_test_service_202504 (aidl_lazy_test_service))
+(expandtypeattribute (aidl_lazy_test_service_202504) true)
+(typeattribute aidl_lazy_test_service_202504)
+(typeattributeset music_recognition_service_202504 (music_recognition_service))
+(expandtypeattribute (music_recognition_service_202504) true)
+(typeattribute music_recognition_service_202504)
+(typeattributeset mnt_media_rw_stub_file_202504 (mnt_media_rw_stub_file))
+(expandtypeattribute (mnt_media_rw_stub_file_202504) true)
+(typeattribute mnt_media_rw_stub_file_202504)
+(typeattributeset proc_202504 (proc))
+(expandtypeattribute (proc_202504) true)
+(typeattribute proc_202504)
+(typeattributeset virtual_device_native_service_202504 (virtual_device_native_service))
+(expandtypeattribute (virtual_device_native_service_202504) true)
+(typeattribute virtual_device_native_service_202504)
+(typeattributeset bluetooth_socket_202504 (bluetooth_socket))
+(expandtypeattribute (bluetooth_socket_202504) true)
+(typeattribute bluetooth_socket_202504)
+(typeattributeset logcat_exec_202504 (logcat_exec))
+(expandtypeattribute (logcat_exec_202504) true)
+(typeattribute logcat_exec_202504)
+(typeattributeset apk_verity_prop_202504 (apk_verity_prop))
+(expandtypeattribute (apk_verity_prop_202504) true)
+(typeattribute apk_verity_prop_202504)
+(typeattributeset inputflinger_exec_202504 (inputflinger_exec))
+(expandtypeattribute (inputflinger_exec_202504) true)
+(typeattribute inputflinger_exec_202504)
+(typeattributeset overlay_prop_202504 (overlay_prop))
+(expandtypeattribute (overlay_prop_202504) true)
+(typeattribute overlay_prop_202504)
+(typeattributeset ot_daemon_service_202504 (ot_daemon_service))
+(expandtypeattribute (ot_daemon_service_202504) true)
+(typeattribute ot_daemon_service_202504)
+(typeattributeset hal_tetheroffload_service_202504 (hal_tetheroffload_service))
+(expandtypeattribute (hal_tetheroffload_service_202504) true)
+(typeattribute hal_tetheroffload_service_202504)
+(typeattributeset camera_calibration_prop_202504 (camera_calibration_prop))
+(expandtypeattribute (camera_calibration_prop_202504) true)
+(typeattribute camera_calibration_prop_202504)
+(typeattributeset fuseblk_202504 (fuseblk))
+(expandtypeattribute (fuseblk_202504) true)
+(typeattribute fuseblk_202504)
+(typeattributeset test_boot_reason_prop_202504 (test_boot_reason_prop))
+(expandtypeattribute (test_boot_reason_prop_202504) true)
+(typeattribute test_boot_reason_prop_202504)
+(typeattributeset hal_wifi_hostapd_hwservice_202504 (hal_wifi_hostapd_hwservice))
+(expandtypeattribute (hal_wifi_hostapd_hwservice_202504) true)
+(typeattribute hal_wifi_hostapd_hwservice_202504)
+(typeattributeset virtual_face_hal_prop_202504 (virtual_face_hal_prop))
+(expandtypeattribute (virtual_face_hal_prop_202504) true)
+(typeattribute virtual_face_hal_prop_202504)
+(typeattributeset safemode_prop_202504 (safemode_prop))
+(expandtypeattribute (safemode_prop_202504) true)
+(typeattribute safemode_prop_202504)
+(typeattributeset vendor_apex_metadata_file_202504 (vendor_apex_metadata_file))
+(expandtypeattribute (vendor_apex_metadata_file_202504) true)
+(typeattribute vendor_apex_metadata_file_202504)
+(typeattributeset wallpaper_file_202504 (wallpaper_file))
+(expandtypeattribute (wallpaper_file_202504) true)
+(typeattribute wallpaper_file_202504)
+(typeattributeset shortcut_manager_icons_202504 (shortcut_manager_icons))
+(expandtypeattribute (shortcut_manager_icons_202504) true)
+(typeattribute shortcut_manager_icons_202504)
+(typeattributeset dalvik_dynamic_config_prop_202504 (dalvik_dynamic_config_prop))
+(expandtypeattribute (dalvik_dynamic_config_prop_202504) true)
+(typeattribute dalvik_dynamic_config_prop_202504)
+(typeattributeset proc_asound_202504 (proc_asound))
+(expandtypeattribute (proc_asound_202504) true)
+(typeattribute proc_asound_202504)
+(typeattributeset apex_mnt_dir_202504 (apex_mnt_dir))
+(expandtypeattribute (apex_mnt_dir_202504) true)
+(typeattribute apex_mnt_dir_202504)
+(typeattributeset intrusion_detection_service_202504 (intrusion_detection_service))
+(expandtypeattribute (intrusion_detection_service_202504) true)
+(typeattribute intrusion_detection_service_202504)
+(typeattributeset hal_neuralnetworks_hwservice_202504 (hal_neuralnetworks_hwservice))
+(expandtypeattribute (hal_neuralnetworks_hwservice_202504) true)
+(typeattribute hal_neuralnetworks_hwservice_202504)
+(typeattributeset selection_toolbar_service_202504 (selection_toolbar_service))
+(expandtypeattribute (selection_toolbar_service_202504) true)
+(typeattribute selection_toolbar_service_202504)
+(typeattributeset build_vendor_prop_202504 (build_vendor_prop))
+(expandtypeattribute (build_vendor_prop_202504) true)
+(typeattribute build_vendor_prop_202504)
+(typeattributeset dhcp_prop_202504 (dhcp_prop))
+(expandtypeattribute (dhcp_prop_202504) true)
+(typeattribute dhcp_prop_202504)
+(typeattributeset gps_control_202504 (gps_control))
+(expandtypeattribute (gps_control_202504) true)
+(typeattribute gps_control_202504)
+(typeattributeset llkd_prop_202504 (llkd_prop))
+(expandtypeattribute (llkd_prop_202504) true)
+(typeattribute llkd_prop_202504)
+(typeattributeset lmkd_prop_202504 (lmkd_prop))
+(expandtypeattribute (lmkd_prop_202504) true)
+(typeattribute lmkd_prop_202504)
+(typeattributeset logd_prop_202504 (logd_prop))
+(expandtypeattribute (logd_prop_202504) true)
+(typeattribute logd_prop_202504)
+(typeattributeset system_unsolzygote_socket_202504 (system_unsolzygote_socket))
+(expandtypeattribute (system_unsolzygote_socket_202504) true)
+(typeattribute system_unsolzygote_socket_202504)
+(typeattributeset dumpstate_options_prop_202504 (dumpstate_options_prop))
+(expandtypeattribute (dumpstate_options_prop_202504) true)
+(typeattribute dumpstate_options_prop_202504)
+(typeattributeset proc_uid_concurrent_active_time_202504 (proc_uid_concurrent_active_time))
+(expandtypeattribute (proc_uid_concurrent_active_time_202504) true)
+(typeattribute proc_uid_concurrent_active_time_202504)
+(typeattributeset vndk_prop_202504 (vndk_prop))
+(expandtypeattribute (vndk_prop_202504) true)
+(typeattribute vndk_prop_202504)
+(typeattributeset vold_prop_202504 (vold_prop))
+(expandtypeattribute (vold_prop_202504) true)
+(typeattribute vold_prop_202504)
+(typeattributeset wifi_prop_202504 (wifi_prop))
+(expandtypeattribute (wifi_prop_202504) true)
+(typeattribute wifi_prop_202504)
+(typeattributeset time_prop_202504 (time_prop))
+(expandtypeattribute (time_prop_202504) true)
+(typeattribute time_prop_202504)
+(typeattributeset imms_service_202504 (imms_service))
+(expandtypeattribute (imms_service_202504) true)
+(typeattribute imms_service_202504)
+(typeattributeset sota_prop_202504 (sota_prop))
+(expandtypeattribute (sota_prop_202504) true)
+(typeattribute sota_prop_202504)
+(typeattributeset app_integrity_service_202504 (app_integrity_service))
+(expandtypeattribute (app_integrity_service_202504) true)
+(typeattribute app_integrity_service_202504)
+(typeattributeset charger_config_prop_202504 (charger_config_prop))
+(expandtypeattribute (charger_config_prop_202504) true)
+(typeattribute charger_config_prop_202504)
+(typeattributeset hal_bootctl_service_202504 (hal_bootctl_service))
+(expandtypeattribute (hal_bootctl_service_202504) true)
+(typeattribute hal_bootctl_service_202504)
+(typeattributeset sysfs_202504 (sysfs))
+(expandtypeattribute (sysfs_202504) true)
+(typeattribute sysfs_202504)
+(typeattributeset default_android_service_202504 (default_android_service))
+(expandtypeattribute (default_android_service_202504) true)
+(typeattribute default_android_service_202504)
+(typeattributeset hal_sharedsecret_service_202504 (hal_sharedsecret_service))
+(expandtypeattribute (hal_sharedsecret_service_202504) true)
+(typeattribute hal_sharedsecret_service_202504)
+(typeattributeset bufferhubd_202504 (bufferhubd))
+(expandtypeattribute (bufferhubd_202504) true)
+(typeattribute bufferhubd_202504)
+(typeattributeset simpleperf_202504 (simpleperf))
+(expandtypeattribute (simpleperf_202504) true)
+(typeattribute simpleperf_202504)
+(typeattributeset socket_hook_prop_202504 (socket_hook_prop))
+(expandtypeattribute (socket_hook_prop_202504) true)
+(typeattribute socket_hook_prop_202504)
+(typeattributeset traced_lazy_prop_202504 (traced_lazy_prop))
+(expandtypeattribute (traced_lazy_prop_202504) true)
+(typeattribute traced_lazy_prop_202504)
+(typeattributeset sysfs_devices_system_cpu_202504 (sysfs_devices_system_cpu))
+(expandtypeattribute (sysfs_devices_system_cpu_202504) true)
+(typeattribute sysfs_devices_system_cpu_202504)
+(typeattributeset untrusted_app_202504 (untrusted_app))
+(expandtypeattribute (untrusted_app_202504) true)
+(typeattribute untrusted_app_202504)
+(typeattributeset artd_202504 (artd))
+(expandtypeattribute (artd_202504) true)
+(typeattribute artd_202504)
+(typeattributeset system_suspend_control_internal_service_202504 (system_suspend_control_internal_service))
+(expandtypeattribute (system_suspend_control_internal_service_202504) true)
+(typeattribute system_suspend_control_internal_service_202504)
+(typeattributeset device_config_camera_native_prop_202504 (device_config_camera_native_prop))
+(expandtypeattribute (device_config_camera_native_prop_202504) true)
+(typeattribute device_config_camera_native_prop_202504)
+(typeattributeset shared_relro_202504 (shared_relro))
+(expandtypeattribute (shared_relro_202504) true)
+(typeattribute shared_relro_202504)
+(typeattributeset hal_input_processor_service_202504 (hal_input_processor_service))
+(expandtypeattribute (hal_input_processor_service_202504) true)
+(typeattribute hal_input_processor_service_202504)
+(typeattributeset hal_wifi_hwservice_202504 (hal_wifi_hwservice))
+(expandtypeattribute (hal_wifi_hwservice_202504) true)
+(typeattribute hal_wifi_hwservice_202504)
+(typeattributeset proc_vmstat_202504 (proc_vmstat))
+(expandtypeattribute (proc_vmstat_202504) true)
+(typeattribute proc_vmstat_202504)
+(typeattributeset binderfs_features_202504 (binderfs_features))
+(expandtypeattribute (binderfs_features_202504) true)
+(typeattribute binderfs_features_202504)
+(typeattributeset storage_config_prop_202504 (storage_config_prop))
+(expandtypeattribute (storage_config_prop_202504) true)
+(typeattribute storage_config_prop_202504)
+(typeattributeset hal_graphics_mapper_hwservice_202504 (hal_graphics_mapper_hwservice))
+(expandtypeattribute (hal_graphics_mapper_hwservice_202504) true)
+(typeattribute hal_graphics_mapper_hwservice_202504)
+(typeattributeset traced_202504 (traced))
+(expandtypeattribute (traced_202504) true)
+(typeattribute traced_202504)
+(typeattributeset debugfs_kprobes_202504 (debugfs_kprobes))
+(expandtypeattribute (debugfs_kprobes_202504) true)
+(typeattribute debugfs_kprobes_202504)
+(typeattributeset proc_uid_concurrent_policy_time_202504 (proc_uid_concurrent_policy_time))
+(expandtypeattribute (proc_uid_concurrent_policy_time_202504) true)
+(typeattribute proc_uid_concurrent_policy_time_202504)
+(typeattributeset audio_data_file_202504 (audio_data_file))
+(expandtypeattribute (audio_data_file_202504) true)
+(typeattribute audio_data_file_202504)
+(typeattributeset radio_data_file_202504 (radio_data_file))
+(expandtypeattribute (radio_data_file_202504) true)
+(typeattribute radio_data_file_202504)
+(typeattributeset traceur_app_202504 (traceur_app))
+(expandtypeattribute (traceur_app_202504) true)
+(typeattribute traceur_app_202504)
+(typeattributeset display_service_202504 (display_service))
+(expandtypeattribute (display_service_202504) true)
+(typeattribute display_service_202504)
+(typeattributeset overlay_service_202504 (overlay_service))
+(expandtypeattribute (overlay_service_202504) true)
+(typeattribute overlay_service_202504)
+(typeattributeset hal_wifi_supplicant_hwservice_202504 (hal_wifi_supplicant_hwservice))
+(expandtypeattribute (hal_wifi_supplicant_hwservice_202504) true)
+(typeattribute hal_wifi_supplicant_hwservice_202504)
+(typeattributeset performanced_exec_202504 (performanced_exec))
+(expandtypeattribute (performanced_exec_202504) true)
+(typeattribute performanced_exec_202504)
+(typeattributeset charger_status_prop_202504 (charger_status_prop))
+(expandtypeattribute (charger_status_prop_202504) true)
+(typeattribute charger_status_prop_202504)
+(typeattributeset usbd_202504 (usbd))
+(expandtypeattribute (usbd_202504) true)
+(typeattribute usbd_202504)
+(typeattributeset proc_page_cluster_202504 (proc_page_cluster))
+(expandtypeattribute (proc_page_cluster_202504) true)
+(typeattribute proc_page_cluster_202504)
+(typeattributeset graphics_config_writable_prop_202504 (graphics_config_writable_prop))
+(expandtypeattribute (graphics_config_writable_prop_202504) true)
+(typeattribute graphics_config_writable_prop_202504)
+(typeattributeset emergency_affordance_service_202504 (emergency_affordance_service))
+(expandtypeattribute (emergency_affordance_service_202504) true)
+(typeattribute emergency_affordance_service_202504)
+(typeattributeset hal_health_hwservice_202504 (hal_health_hwservice))
+(expandtypeattribute (hal_health_hwservice_202504) true)
+(typeattribute hal_health_hwservice_202504)
+(typeattributeset system_wpa_socket_202504 (system_wpa_socket))
+(expandtypeattribute (system_wpa_socket_202504) true)
+(typeattribute system_wpa_socket_202504)
+(typeattributeset sysfs_rtc_202504 (sysfs_rtc))
+(expandtypeattribute (sysfs_rtc_202504) true)
+(typeattribute sysfs_rtc_202504)
+(typeattributeset fsck_202504 (fsck))
+(expandtypeattribute (fsck_202504) true)
+(typeattribute fsck_202504)
+(typeattributeset keystore_compat_hal_service_202504 (keystore_compat_hal_service))
+(expandtypeattribute (keystore_compat_hal_service_202504) true)
+(typeattribute keystore_compat_hal_service_202504)
+(typeattributeset proc_bpf_202504 (proc_bpf))
+(expandtypeattribute (proc_bpf_202504) true)
+(typeattribute proc_bpf_202504)
+(typeattributeset fs_bpf_202504 (fs_bpf))
+(expandtypeattribute (fs_bpf_202504) true)
+(typeattribute fs_bpf_202504)
+(typeattributeset snapshotctl_log_data_file_202504 (snapshotctl_log_data_file))
+(expandtypeattribute (snapshotctl_log_data_file_202504) true)
+(typeattribute snapshotctl_log_data_file_202504)
+(typeattributeset dalvik_runtime_prop_202504 (dalvik_runtime_prop))
+(expandtypeattribute (dalvik_runtime_prop_202504) true)
+(typeattribute dalvik_runtime_prop_202504)
+(typeattributeset prng_seeder_202504 (prng_seeder))
+(expandtypeattribute (prng_seeder_202504) true)
+(typeattribute prng_seeder_202504)
+(typeattributeset netd_listener_service_202504 (netd_listener_service))
+(expandtypeattribute (netd_listener_service_202504) true)
+(typeattribute netd_listener_service_202504)
+(typeattributeset debugfs_bootreceiver_tracing_202504 (debugfs_bootreceiver_tracing))
+(expandtypeattribute (debugfs_bootreceiver_tracing_202504) true)
+(typeattribute debugfs_bootreceiver_tracing_202504)
+(typeattributeset vcn_management_service_202504 (vcn_management_service))
+(expandtypeattribute (vcn_management_service_202504) true)
+(typeattribute vcn_management_service_202504)
+(typeattributeset vpn_management_service_202504 (vpn_management_service))
+(expandtypeattribute (vpn_management_service_202504) true)
+(typeattribute vpn_management_service_202504)
+(typeattributeset app_fusefs_202504 (app_fusefs))
+(expandtypeattribute (app_fusefs_202504) true)
+(typeattribute app_fusefs_202504)
+(typeattributeset graphics_config_prop_202504 (graphics_config_prop))
+(expandtypeattribute (graphics_config_prop_202504) true)
+(typeattribute graphics_config_prop_202504)
+(typeattributeset proc_overcommit_memory_202504 (proc_overcommit_memory))
+(expandtypeattribute (proc_overcommit_memory_202504) true)
+(typeattribute proc_overcommit_memory_202504)
+(typeattributeset ctl_dumpstate_prop_202504 (ctl_dumpstate_prop))
+(expandtypeattribute (ctl_dumpstate_prop_202504) true)
+(typeattribute ctl_dumpstate_prop_202504)
+(typeattributeset build_bootimage_prop_202504 (build_bootimage_prop))
+(expandtypeattribute (build_bootimage_prop_202504) true)
+(typeattribute build_bootimage_prop_202504)
+(typeattributeset device_config_memory_safety_native_boot_prop_202504 (device_config_memory_safety_native_boot_prop))
+(expandtypeattribute (device_config_memory_safety_native_boot_prop_202504) true)
+(typeattribute device_config_memory_safety_native_boot_prop_202504)
+(typeattributeset init_service_status_prop_202504 (init_service_status_prop))
+(expandtypeattribute (init_service_status_prop_202504) true)
+(typeattribute init_service_status_prop_202504)
+(typeattributeset binderfs_logs_transaction_history_202504 (binderfs_logs_transaction_history))
+(expandtypeattribute (binderfs_logs_transaction_history_202504) true)
+(typeattribute binderfs_logs_transaction_history_202504)
+(typeattributeset connmetrics_service_202504 (connmetrics_service))
+(expandtypeattribute (connmetrics_service_202504) true)
+(typeattribute connmetrics_service_202504)
+(typeattributeset hal_health_storage_service_202504 (hal_health_storage_service))
+(expandtypeattribute (hal_health_storage_service_202504) true)
+(typeattribute hal_health_storage_service_202504)
+(typeattributeset proc_uid_cputime_removeuid_202504 (proc_uid_cputime_removeuid))
+(expandtypeattribute (proc_uid_cputime_removeuid_202504) true)
+(typeattribute proc_uid_cputime_removeuid_202504)
+(typeattributeset dtbo_block_device_202504 (dtbo_block_device))
+(expandtypeattribute (dtbo_block_device_202504) true)
+(typeattribute dtbo_block_device_202504)
+(typeattributeset boot_block_device_202504 (boot_block_device))
+(expandtypeattribute (boot_block_device_202504) true)
+(typeattribute boot_block_device_202504)
+(typeattributeset powerctl_prop_202504 (powerctl_prop))
+(expandtypeattribute (powerctl_prop_202504) true)
+(typeattribute powerctl_prop_202504)
+(typeattributeset sysfs_android_usb_202504 (sysfs_android_usb))
+(expandtypeattribute (sysfs_android_usb_202504) true)
+(typeattribute sysfs_android_usb_202504)
+(typeattributeset misc_block_device_202504 (misc_block_device))
+(expandtypeattribute (misc_block_device_202504) true)
+(typeattribute misc_block_device_202504)
+(typeattributeset ublk_block_device_202504 (ublk_block_device))
+(expandtypeattribute (ublk_block_device_202504) true)
+(typeattribute ublk_block_device_202504)
+(typeattributeset root_block_device_202504 (root_block_device))
+(expandtypeattribute (root_block_device_202504) true)
+(typeattribute root_block_device_202504)
+(typeattributeset swap_block_device_202504 (swap_block_device))
+(expandtypeattribute (swap_block_device_202504) true)
+(typeattribute swap_block_device_202504)
+(typeattributeset sysfs_mem_sleep_202504 (sysfs_mem_sleep))
+(expandtypeattribute (sysfs_mem_sleep_202504) true)
+(typeattribute sysfs_mem_sleep_202504)
+(typeattributeset block_device_202504 (block_device))
+(expandtypeattribute (block_device_202504) true)
+(typeattribute block_device_202504)
+(typeattributeset sysfs_cma_202504 (sysfs_cma))
+(expandtypeattribute (sysfs_cma_202504) true)
+(typeattribute sysfs_cma_202504)
+(typeattributeset frp_block_device_202504 (frp_block_device))
+(expandtypeattribute (frp_block_device_202504) true)
+(typeattribute frp_block_device_202504)
+(typeattributeset sysfs_power_202504 (sysfs_power))
+(expandtypeattribute (sysfs_power_202504) true)
+(typeattribute sysfs_power_202504)
+(typeattributeset loop_device_202504 (loop_device))
+(expandtypeattribute (loop_device_202504) true)
+(typeattribute loop_device_202504)
+(typeattributeset proc_random_202504 (proc_random))
+(expandtypeattribute (proc_random_202504) true)
+(typeattribute proc_random_202504)
+(typeattributeset hal_health_storage_hwservice_202504 (hal_health_storage_hwservice))
+(expandtypeattribute (hal_health_storage_hwservice_202504) true)
+(typeattribute hal_health_storage_hwservice_202504)
+(typeattributeset dnsproxyd_socket_202504 (dnsproxyd_socket))
+(expandtypeattribute (dnsproxyd_socket_202504) true)
+(typeattribute dnsproxyd_socket_202504)
+(typeattributeset crash_dump_202504 (crash_dump))
+(expandtypeattribute (crash_dump_202504) true)
+(typeattribute crash_dump_202504)
+(typeattributeset hal_keymaster_hwservice_202504 (hal_keymaster_hwservice))
+(expandtypeattribute (hal_keymaster_hwservice_202504) true)
+(typeattribute hal_keymaster_hwservice_202504)
+(typeattributeset ctl_interface_start_prop_202504 (ctl_interface_start_prop))
+(expandtypeattribute (ctl_interface_start_prop_202504) true)
+(typeattribute ctl_interface_start_prop_202504)
+(typeattributeset module_sdkextensions_prop_202504 (module_sdkextensions_prop))
+(expandtypeattribute (module_sdkextensions_prop_202504) true)
+(typeattribute module_sdkextensions_prop_202504)
+(typeattributeset sysfs_wakeup_reasons_202504 (sysfs_wakeup_reasons))
+(expandtypeattribute (sysfs_wakeup_reasons_202504) true)
+(typeattribute sysfs_wakeup_reasons_202504)
+(typeattributeset device_config_reset_performed_prop_202504 (device_config_reset_performed_prop))
+(expandtypeattribute (device_config_reset_performed_prop_202504) true)
+(typeattribute device_config_reset_performed_prop_202504)
+(typeattributeset shm_202504 (shm))
+(expandtypeattribute (shm_202504) true)
+(typeattribute shm_202504)
+(typeattributeset installd_service_202504 (installd_service))
+(expandtypeattribute (installd_service_202504) true)
+(typeattribute installd_service_202504)
+(typeattributeset proc_extra_free_kbytes_202504 (proc_extra_free_kbytes))
+(expandtypeattribute (proc_extra_free_kbytes_202504) true)
+(typeattribute proc_extra_free_kbytes_202504)
+(typeattributeset proc_uid_cputime_showstat_202504 (proc_uid_cputime_showstat))
+(expandtypeattribute (proc_uid_cputime_showstat_202504) true)
+(typeattribute proc_uid_cputime_showstat_202504)
+(typeattributeset vendor_misc_writer_exec_202504 (vendor_misc_writer_exec))
+(expandtypeattribute (vendor_misc_writer_exec_202504) true)
+(typeattribute vendor_misc_writer_exec_202504)
+(typeattributeset runas_app_202504 (runas_app))
+(expandtypeattribute (runas_app_202504) true)
+(typeattribute runas_app_202504)
+(typeattributeset bootstat_exec_202504 (bootstat_exec))
+(expandtypeattribute (bootstat_exec_202504) true)
+(typeattribute bootstat_exec_202504)
+(typeattributeset mdns_socket_202504 (mdns_socket))
+(expandtypeattribute (mdns_socket_202504) true)
+(typeattribute mdns_socket_202504)
+(typeattributeset oem_lock_service_202504 (oem_lock_service))
+(expandtypeattribute (oem_lock_service_202504) true)
+(typeattribute oem_lock_service_202504)
+(typeattributeset audioserver_202504 (audioserver))
+(expandtypeattribute (audioserver_202504) true)
+(typeattribute audioserver_202504)
+(typeattributeset tmpfs_202504 (tmpfs))
+(expandtypeattribute (tmpfs_202504) true)
+(typeattribute tmpfs_202504)
+(typeattributeset bootanim_exec_202504 (bootanim_exec))
+(expandtypeattribute (bootanim_exec_202504) true)
+(typeattribute bootanim_exec_202504)
+(typeattributeset hal_gnss_service_202504 (hal_gnss_service))
+(expandtypeattribute (hal_gnss_service_202504) true)
+(typeattribute hal_gnss_service_202504)
+(typeattributeset vendor_configs_file_202504 (vendor_configs_file))
+(expandtypeattribute (vendor_configs_file_202504) true)
+(typeattribute vendor_configs_file_202504)
+(typeattributeset vendor_shell_exec_202504 (vendor_shell_exec))
+(expandtypeattribute (vendor_shell_exec_202504) true)
+(typeattribute vendor_shell_exec_202504)
+(typeattributeset hwservicemanager_prop_202504 (hwservicemanager_prop))
+(expandtypeattribute (hwservicemanager_prop_202504) true)
+(typeattribute hwservicemanager_prop_202504)
+(typeattributeset servicemanager_prop_202504 (servicemanager_prop))
+(expandtypeattribute (servicemanager_prop_202504) true)
+(typeattribute servicemanager_prop_202504)
+(typeattributeset tv_ad_service_202504 (tv_ad_service))
+(expandtypeattribute (tv_ad_service_202504) true)
+(typeattribute tv_ad_service_202504)
+(typeattributeset input_device_202504 (input_device))
+(expandtypeattribute (input_device_202504) true)
+(typeattribute input_device_202504)
+(typeattributeset flags_health_check_202504 (flags_health_check))
+(expandtypeattribute (flags_health_check_202504) true)
+(typeattribute flags_health_check_202504)
+(typeattributeset ueventd_tmpfs_202504 (ueventd_tmpfs))
+(expandtypeattribute (ueventd_tmpfs_202504) true)
+(typeattribute ueventd_tmpfs_202504)
+(typeattributeset DockObserver_service_202504 (DockObserver_service))
+(expandtypeattribute (DockObserver_service_202504) true)
+(typeattribute DockObserver_service_202504)
+(typeattributeset shell_data_file_202504 (shell_data_file))
+(expandtypeattribute (shell_data_file_202504) true)
+(typeattribute shell_data_file_202504)
+(typeattributeset bluetooth_manager_service_202504 (bluetooth_manager_service))
+(expandtypeattribute (bluetooth_manager_service_202504) true)
+(typeattribute bluetooth_manager_service_202504)
+(typeattributeset contexthub_service_202504 (contexthub_service))
+(expandtypeattribute (contexthub_service_202504) true)
+(typeattribute contexthub_service_202504)
+(typeattributeset setupwizard_mode_prop_202504 (setupwizard_mode_prop))
+(expandtypeattribute (setupwizard_mode_prop_202504) true)
+(typeattribute setupwizard_mode_prop_202504)
+(typeattributeset hal_wifi_hostapd_service_202504 (hal_wifi_hostapd_service))
+(expandtypeattribute (hal_wifi_hostapd_service_202504) true)
+(typeattribute hal_wifi_hostapd_service_202504)
+(typeattributeset dnsmasq_202504 (dnsmasq))
+(expandtypeattribute (dnsmasq_202504) true)
+(typeattribute dnsmasq_202504)
+(typeattributeset dumpstate_202504 (dumpstate))
+(expandtypeattribute (dumpstate_202504) true)
+(typeattribute dumpstate_202504)
+(typeattributeset system_suspend_hwservice_202504 (system_suspend_hwservice))
+(expandtypeattribute (system_suspend_hwservice_202504) true)
+(typeattribute system_suspend_hwservice_202504)
+(typeattributeset hal_vehicle_hwservice_202504 (hal_vehicle_hwservice))
+(expandtypeattribute (hal_vehicle_hwservice_202504) true)
+(typeattribute hal_vehicle_hwservice_202504)
+(typeattributeset hal_usb_gadget_service_202504 (hal_usb_gadget_service))
+(expandtypeattribute (hal_usb_gadget_service_202504) true)
+(typeattribute hal_usb_gadget_service_202504)
+(typeattributeset bootloader_boot_reason_prop_202504 (bootloader_boot_reason_prop))
+(expandtypeattribute (bootloader_boot_reason_prop_202504) true)
+(typeattribute bootloader_boot_reason_prop_202504)
+(typeattributeset early_virtmgr_exec_202504 (early_virtmgr_exec))
+(expandtypeattribute (early_virtmgr_exec_202504) true)
+(typeattribute early_virtmgr_exec_202504)
+(typeattributeset install_data_file_202504 (install_data_file))
+(expandtypeattribute (install_data_file_202504) true)
+(typeattribute install_data_file_202504)
+(typeattributeset asec_image_file_202504 (asec_image_file))
+(expandtypeattribute (asec_image_file_202504) true)
+(typeattribute asec_image_file_202504)
+(typeattributeset iris_vendor_data_file_202504 (iris_vendor_data_file))
+(expandtypeattribute (iris_vendor_data_file_202504) true)
+(typeattribute iris_vendor_data_file_202504)
+(typeattributeset hardware_properties_service_202504 (hardware_properties_service))
+(expandtypeattribute (hardware_properties_service_202504) true)
+(typeattribute hardware_properties_service_202504)
+(typeattributeset owntty_device_202504 (owntty_device))
+(expandtypeattribute (owntty_device_202504) true)
+(typeattribute owntty_device_202504)
+(typeattributeset credential_service_202504 (credential_service))
+(expandtypeattribute (credential_service_202504) true)
+(typeattribute credential_service_202504)
+(typeattributeset virtual_fingerprint_prop_202504 (virtual_fingerprint_prop))
+(expandtypeattribute (virtual_fingerprint_prop_202504) true)
+(typeattribute virtual_fingerprint_prop_202504)
+(typeattributeset null_device_202504 (null_device))
+(expandtypeattribute (null_device_202504) true)
+(typeattribute null_device_202504)
+(typeattributeset isolated_compute_app_202504 (isolated_compute_app))
+(expandtypeattribute (isolated_compute_app_202504) true)
+(typeattribute isolated_compute_app_202504)
+(typeattributeset rkpdapp_202504 (rkpdapp))
+(expandtypeattribute (rkpdapp_202504) true)
+(typeattribute rkpdapp_202504)
+(typeattributeset uimode_service_202504 (uimode_service))
+(expandtypeattribute (uimode_service_202504) true)
+(typeattribute uimode_service_202504)
+(typeattributeset sysfs_devfreq_cur_202504 (sysfs_devfreq_cur))
+(expandtypeattribute (sysfs_devfreq_cur_202504) true)
+(typeattribute sysfs_devfreq_cur_202504)
+(typeattributeset uncrypt_exec_202504 (uncrypt_exec))
+(expandtypeattribute (uncrypt_exec_202504) true)
+(typeattribute uncrypt_exec_202504)
+(typeattributeset priv_app_202504 (priv_app))
+(expandtypeattribute (priv_app_202504) true)
+(typeattribute priv_app_202504)
+(typeattributeset hal_bluetooth_hwservice_202504 (hal_bluetooth_hwservice))
+(expandtypeattribute (hal_bluetooth_hwservice_202504) true)
+(typeattribute hal_bluetooth_hwservice_202504)
+(typeattributeset wifiscanner_service_202504 (wifiscanner_service))
+(expandtypeattribute (wifiscanner_service_202504) true)
+(typeattribute wifiscanner_service_202504)
+(typeattributeset bluetooth_data_file_202504 (bluetooth_data_file))
+(expandtypeattribute (bluetooth_data_file_202504) true)
+(typeattribute bluetooth_data_file_202504)
+(typeattributeset loop_control_device_202504 (loop_control_device))
+(expandtypeattribute (loop_control_device_202504) true)
+(typeattribute loop_control_device_202504)
+(typeattributeset pdx_display_client_endpoint_socket_202504 (pdx_display_client_endpoint_socket))
+(expandtypeattribute (pdx_display_client_endpoint_socket_202504) true)
+(typeattribute pdx_display_client_endpoint_socket_202504)
+(typeattributeset sqlite_log_prop_202504 (sqlite_log_prop))
+(expandtypeattribute (sqlite_log_prop_202504) true)
+(typeattribute sqlite_log_prop_202504)
+(typeattributeset charger_vendor_202504 (charger_vendor))
+(expandtypeattribute (charger_vendor_202504) true)
+(typeattribute charger_vendor_202504)
+(typeattributeset net_dns_prop_202504 (net_dns_prop))
+(expandtypeattribute (net_dns_prop_202504) true)
+(typeattribute net_dns_prop_202504)
+(typeattributeset app_binding_service_202504 (app_binding_service))
+(expandtypeattribute (app_binding_service_202504) true)
+(typeattribute app_binding_service_202504)
+(typeattributeset fingerprintd_202504 (fingerprintd))
+(expandtypeattribute (fingerprintd_202504) true)
+(typeattribute fingerprintd_202504)
+(typeattributeset bluetooth_prop_202504 (bluetooth_prop))
+(expandtypeattribute (bluetooth_prop_202504) true)
+(typeattribute bluetooth_prop_202504)
+(typeattributeset hal_ir_service_202504 (hal_ir_service))
+(expandtypeattribute (hal_ir_service_202504) true)
+(typeattribute hal_ir_service_202504)
+(typeattributeset hal_power_hwservice_202504 (hal_power_hwservice))
+(expandtypeattribute (hal_power_hwservice_202504) true)
+(typeattribute hal_power_hwservice_202504)
+(typeattributeset sysfs_suspend_stats_202504 (sysfs_suspend_stats))
+(expandtypeattribute (sysfs_suspend_stats_202504) true)
+(typeattribute sysfs_suspend_stats_202504)
+(typeattributeset hal_fingerprint_hwservice_202504 (hal_fingerprint_hwservice))
+(expandtypeattribute (hal_fingerprint_hwservice_202504) true)
+(typeattribute hal_fingerprint_hwservice_202504)
+(typeattributeset exported_pm_prop_202504 (exported_pm_prop))
+(expandtypeattribute (exported_pm_prop_202504) true)
+(typeattribute exported_pm_prop_202504)
+(typeattributeset future_pm_prop_202504 (future_pm_prop))
+(expandtypeattribute (future_pm_prop_202504) true)
+(typeattribute future_pm_prop_202504)
+(typeattributeset hal_can_controller_hwservice_202504 (hal_can_controller_hwservice))
+(expandtypeattribute (hal_can_controller_hwservice_202504) true)
+(typeattribute hal_can_controller_hwservice_202504)
+(typeattributeset gesture_prop_202504 (gesture_prop))
+(expandtypeattribute (gesture_prop_202504) true)
+(typeattribute gesture_prop_202504)
+(typeattributeset ctl_restart_prop_202504 (ctl_restart_prop))
+(expandtypeattribute (ctl_restart_prop_202504) true)
+(typeattribute ctl_restart_prop_202504)
+(typeattributeset font_service_202504 (font_service))
+(expandtypeattribute (font_service_202504) true)
+(typeattribute font_service_202504)
+(typeattributeset suspend_prop_202504 (suspend_prop))
+(expandtypeattribute (suspend_prop_202504) true)
+(typeattribute suspend_prop_202504)
+(typeattributeset zygote_config_prop_202504 (zygote_config_prop))
+(expandtypeattribute (zygote_config_prop_202504) true)
+(typeattribute zygote_config_prop_202504)
+(typeattributeset proc_kallsyms_202504 (proc_kallsyms))
+(expandtypeattribute (proc_kallsyms_202504) true)
+(typeattribute proc_kallsyms_202504)
+(typeattributeset system_group_file_202504 (system_group_file))
+(expandtypeattribute (system_group_file_202504) true)
+(typeattribute system_group_file_202504)
+(typeattributeset postinstall_file_202504 (postinstall_file))
+(expandtypeattribute (postinstall_file_202504) true)
+(typeattribute postinstall_file_202504)
+(typeattributeset exported3_system_prop_202504 (exported3_system_prop))
+(expandtypeattribute (exported3_system_prop_202504) true)
+(typeattribute exported3_system_prop_202504)
+(typeattributeset exported_dumpstate_prop_202504 (exported_dumpstate_prop))
+(expandtypeattribute (exported_dumpstate_prop_202504) true)
+(typeattribute exported_dumpstate_prop_202504)
+(typeattributeset ctl_bugreport_prop_202504 (ctl_bugreport_prop))
+(expandtypeattribute (ctl_bugreport_prop_202504) true)
+(typeattribute ctl_bugreport_prop_202504)
+(typeattributeset proc_cgroups_202504 (proc_cgroups))
+(expandtypeattribute (proc_cgroups_202504) true)
+(typeattribute proc_cgroups_202504)
+(typeattributeset virtualizationmanager_202504 (virtualizationmanager))
+(expandtypeattribute (virtualizationmanager_202504) true)
+(typeattribute virtualizationmanager_202504)
+(typeattributeset hal_identity_service_202504 (hal_identity_service))
+(expandtypeattribute (hal_identity_service_202504) true)
+(typeattribute hal_identity_service_202504)
+(typeattributeset fwk_vold_service_202504 (fwk_vold_service))
+(expandtypeattribute (fwk_vold_service_202504) true)
+(typeattribute fwk_vold_service_202504)
+(typeattributeset vold_service_202504 (vold_service))
+(expandtypeattribute (vold_service_202504) true)
+(typeattribute vold_service_202504)
+(typeattributeset role_service_202504 (role_service))
+(expandtypeattribute (role_service_202504) true)
+(typeattribute role_service_202504)
+(typeattributeset device_config_edgetpu_native_prop_202504 (device_config_edgetpu_native_prop))
+(expandtypeattribute (device_config_edgetpu_native_prop_202504) true)
+(typeattribute device_config_edgetpu_native_prop_202504)
+(typeattributeset system_user_mode_emulation_prop_202504 (system_user_mode_emulation_prop))
+(expandtypeattribute (system_user_mode_emulation_prop_202504) true)
+(typeattribute system_user_mode_emulation_prop_202504)
+(typeattributeset hal_tv_input_hwservice_202504 (hal_tv_input_hwservice))
+(expandtypeattribute (hal_tv_input_hwservice_202504) true)
+(typeattribute hal_tv_input_hwservice_202504)
+(typeattributeset dalvik_prop_202504 (dalvik_prop))
+(expandtypeattribute (dalvik_prop_202504) true)
+(typeattribute dalvik_prop_202504)
+(typeattributeset inputflinger_service_202504 (inputflinger_service))
+(expandtypeattribute (inputflinger_service_202504) true)
+(typeattribute inputflinger_service_202504)
+(typeattributeset system_lmk_prop_202504 (system_lmk_prop))
+(expandtypeattribute (system_lmk_prop_202504) true)
+(typeattribute system_lmk_prop_202504)
+(typeattributeset oem_unlock_prop_202504 (oem_unlock_prop))
+(expandtypeattribute (oem_unlock_prop_202504) true)
+(typeattribute oem_unlock_prop_202504)
+(typeattributeset vendor_vm_data_file_202504 (vendor_vm_data_file))
+(expandtypeattribute (vendor_vm_data_file_202504) true)
+(typeattribute vendor_vm_data_file_202504)
+(typeattributeset mtpd_socket_202504 (mtpd_socket))
+(expandtypeattribute (mtpd_socket_202504) true)
+(typeattribute mtpd_socket_202504)
+(typeattributeset keystore_service_202504 (keystore_service))
+(expandtypeattribute (keystore_service_202504) true)
+(typeattribute keystore_service_202504)
+(typeattributeset framework_status_prop_202504 (framework_status_prop))
+(expandtypeattribute (framework_status_prop_202504) true)
+(typeattribute framework_status_prop_202504)
+(typeattributeset apex_ota_reserved_file_202504 (apex_ota_reserved_file))
+(expandtypeattribute (apex_ota_reserved_file_202504) true)
+(typeattribute apex_ota_reserved_file_202504)
+(typeattributeset bluetooth_service_202504 (bluetooth_service))
+(expandtypeattribute (bluetooth_service_202504) true)
+(typeattribute bluetooth_service_202504)
+(typeattributeset search_ui_service_202504 (search_ui_service))
+(expandtypeattribute (search_ui_service_202504) true)
+(typeattribute search_ui_service_202504)
+(typeattributeset qemu_hw_prop_202504 (qemu_hw_prop))
+(expandtypeattribute (qemu_hw_prop_202504) true)
+(typeattribute qemu_hw_prop_202504)
+(typeattributeset appops_service_202504 (appops_service))
+(expandtypeattribute (appops_service_202504) true)
+(typeattribute appops_service_202504)
+(typeattributeset extra_free_kbytes_exec_202504 (extra_free_kbytes_exec))
+(expandtypeattribute (extra_free_kbytes_exec_202504) true)
+(typeattribute extra_free_kbytes_exec_202504)
+(typeattributeset sysfs_kernel_notes_202504 (sysfs_kernel_notes))
+(expandtypeattribute (sysfs_kernel_notes_202504) true)
+(typeattribute sysfs_kernel_notes_202504)
+(typeattributeset system_data_file_202504 (system_data_file))
+(expandtypeattribute (system_data_file_202504) true)
+(typeattribute system_data_file_202504)
+(typeattributeset system_dlkm_file_202504 (system_dlkm_file))
+(expandtypeattribute (system_dlkm_file_202504) true)
+(typeattribute system_dlkm_file_202504)
+(typeattributeset devpts_202504 (devpts))
+(expandtypeattribute (devpts_202504) true)
+(typeattribute devpts_202504)
+(typeattributeset drm_data_file_202504 (drm_data_file))
+(expandtypeattribute (drm_data_file_202504) true)
+(typeattribute drm_data_file_202504)
+(typeattributeset hal_broadcastradio_hwservice_202504 (hal_broadcastradio_hwservice))
+(expandtypeattribute (hal_broadcastradio_hwservice_202504) true)
+(typeattribute hal_broadcastradio_hwservice_202504)
+(typeattributeset cacheinfo_service_202504 (cacheinfo_service))
+(expandtypeattribute (cacheinfo_service_202504) true)
+(typeattribute cacheinfo_service_202504)
+(typeattributeset system_net_netd_hwservice_202504 (system_net_netd_hwservice))
+(expandtypeattribute (system_net_netd_hwservice_202504) true)
+(typeattribute system_net_netd_hwservice_202504)
+(typeattributeset dalvik_config_prop_202504 (dalvik_config_prop))
+(expandtypeattribute (dalvik_config_prop_202504) true)
+(typeattribute dalvik_config_prop_202504)
+(typeattributeset codec2_config_prop_202504 (codec2_config_prop))
+(expandtypeattribute (codec2_config_prop_202504) true)
+(typeattribute codec2_config_prop_202504)
+(typeattributeset su_202504 (su))
+(expandtypeattribute (su_202504) true)
+(typeattribute su_202504)
+(typeattributeset wallpaper_effects_generation_service_202504 (wallpaper_effects_generation_service))
+(expandtypeattribute (wallpaper_effects_generation_service_202504) true)
+(typeattribute wallpaper_effects_generation_service_202504)
+(typeattributeset dmabuf_heap_device_202504 (dmabuf_heap_device))
+(expandtypeattribute (dmabuf_heap_device_202504) true)
+(typeattribute dmabuf_heap_device_202504)
+(typeattributeset update_engine_log_data_file_202504 (update_engine_log_data_file))
+(expandtypeattribute (update_engine_log_data_file_202504) true)
+(typeattribute update_engine_log_data_file_202504)
+(typeattributeset otadexopt_service_202504 (otadexopt_service))
+(expandtypeattribute (otadexopt_service_202504) true)
+(typeattribute otadexopt_service_202504)
+(typeattributeset proc_abi_202504 (proc_abi))
+(expandtypeattribute (proc_abi_202504) true)
+(typeattribute proc_abi_202504)
+(typeattributeset camera_config_prop_202504 (camera_config_prop))
+(expandtypeattribute (camera_config_prop_202504) true)
+(typeattribute camera_config_prop_202504)
+(typeattributeset proc_security_202504 (proc_security))
+(expandtypeattribute (proc_security_202504) true)
+(typeattribute proc_security_202504)
+(typeattributeset hal_nfc_service_202504 (hal_nfc_service))
+(expandtypeattribute (hal_nfc_service_202504) true)
+(typeattribute hal_nfc_service_202504)
+(typeattributeset nfc_service_202504 (nfc_service))
+(expandtypeattribute (nfc_service_202504) true)
+(typeattribute nfc_service_202504)
+(typeattributeset rs_202504 (rs))
+(expandtypeattribute (rs_202504) true)
+(typeattribute rs_202504)
+(typeattributeset settings_service_202504 (settings_service))
+(expandtypeattribute (settings_service_202504) true)
+(typeattribute settings_service_202504)
+(typeattributeset atrace_202504 (atrace))
+(expandtypeattribute (atrace_202504) true)
+(typeattribute atrace_202504)
+(typeattributeset ecm_enhanced_confirmation_service_202504 (ecm_enhanced_confirmation_service))
+(expandtypeattribute (ecm_enhanced_confirmation_service_202504) true)
+(typeattribute ecm_enhanced_confirmation_service_202504)
+(typeattributeset debugfs_tracing_debug_202504 (debugfs_tracing_debug))
+(expandtypeattribute (debugfs_tracing_debug_202504) true)
+(typeattribute debugfs_tracing_debug_202504)
+(typeattributeset bluetooth_finder_prop_202504 (bluetooth_finder_prop))
+(expandtypeattribute (bluetooth_finder_prop_202504) true)
+(typeattribute bluetooth_finder_prop_202504)
+(typeattributeset cpuinfo_service_202504 (cpuinfo_service))
+(expandtypeattribute (cpuinfo_service_202504) true)
+(typeattribute cpuinfo_service_202504)
+(typeattributeset dbinfo_service_202504 (dbinfo_service))
+(expandtypeattribute (dbinfo_service_202504) true)
+(typeattribute dbinfo_service_202504)
+(typeattributeset gfxinfo_service_202504 (gfxinfo_service))
+(expandtypeattribute (gfxinfo_service_202504) true)
+(typeattribute gfxinfo_service_202504)
+(typeattributeset meminfo_service_202504 (meminfo_service))
+(expandtypeattribute (meminfo_service_202504) true)
+(typeattribute meminfo_service_202504)
+(typeattributeset bugreport_service_202504 (bugreport_service))
+(expandtypeattribute (bugreport_service_202504) true)
+(typeattribute bugreport_service_202504)
+(typeattributeset dnsmasq_exec_202504 (dnsmasq_exec))
+(expandtypeattribute (dnsmasq_exec_202504) true)
+(typeattribute dnsmasq_exec_202504)
+(typeattributeset content_suggestions_service_202504 (content_suggestions_service))
+(expandtypeattribute (content_suggestions_service_202504) true)
+(typeattribute content_suggestions_service_202504)
+(typeattributeset aaudio_config_prop_202504 (aaudio_config_prop))
+(expandtypeattribute (aaudio_config_prop_202504) true)
+(typeattribute aaudio_config_prop_202504)
+(typeattributeset ppp_202504 (ppp))
+(expandtypeattribute (ppp_202504) true)
+(typeattribute ppp_202504)
+(typeattributeset vndbinder_device_202504 (vndbinder_device))
+(expandtypeattribute (vndbinder_device_202504) true)
+(typeattribute vndbinder_device_202504)
+(typeattributeset credstore_service_202504 (credstore_service))
+(expandtypeattribute (credstore_service_202504) true)
+(typeattribute credstore_service_202504)
+(typeattributeset ethernet_service_202504 (ethernet_service))
+(expandtypeattribute (ethernet_service_202504) true)
+(typeattribute ethernet_service_202504)
+(typeattributeset pinner_service_202504 (pinner_service))
+(expandtypeattribute (pinner_service_202504) true)
+(typeattribute pinner_service_202504)
+(typeattributeset performanced_202504 (performanced))
+(expandtypeattribute (performanced_202504) true)
+(typeattribute performanced_202504)
+(typeattributeset systemkeys_data_file_202504 (systemkeys_data_file))
+(expandtypeattribute (systemkeys_data_file_202504) true)
+(typeattribute systemkeys_data_file_202504)
+(typeattributeset network_watchlist_data_file_202504 (network_watchlist_data_file))
+(expandtypeattribute (network_watchlist_data_file_202504) true)
+(typeattribute network_watchlist_data_file_202504)
+(typeattributeset binder_device_202504 (binder_device))
+(expandtypeattribute (binder_device_202504) true)
+(typeattribute binder_device_202504)
+(typeattributeset hwbinder_device_202504 (hwbinder_device))
+(expandtypeattribute (hwbinder_device_202504) true)
+(typeattribute hwbinder_device_202504)
+(typeattributeset hw_random_device_202504 (hw_random_device))
+(expandtypeattribute (hw_random_device_202504) true)
+(typeattribute hw_random_device_202504)
+(typeattributeset random_device_202504 (random_device))
+(expandtypeattribute (random_device_202504) true)
+(typeattribute random_device_202504)
+(typeattributeset cgroup_rc_file_202504 (cgroup_rc_file))
+(expandtypeattribute (cgroup_rc_file_202504) true)
+(typeattribute cgroup_rc_file_202504)
+(typeattributeset ctl_default_prop_202504 (ctl_default_prop))
+(expandtypeattribute (ctl_default_prop_202504) true)
+(typeattribute ctl_default_prop_202504)
+(typeattributeset userdata_block_device_202504 (userdata_block_device))
+(expandtypeattribute (userdata_block_device_202504) true)
+(typeattribute userdata_block_device_202504)
+(typeattributeset default_prop_202504 (default_prop))
+(expandtypeattribute (default_prop_202504) true)
+(typeattribute default_prop_202504)
+(typeattributeset hal_graphics_composer_service_202504 (hal_graphics_composer_service))
+(expandtypeattribute (hal_graphics_composer_service_202504) true)
+(typeattribute hal_graphics_composer_service_202504)
+(typeattributeset vndk_sp_file_202504 (vndk_sp_file))
+(expandtypeattribute (vndk_sp_file_202504) true)
+(typeattribute vndk_sp_file_202504)
+(typeattributeset cameraserver_202504 (cameraserver))
+(expandtypeattribute (cameraserver_202504) true)
+(typeattribute cameraserver_202504)
+(typeattributeset debuggerd_prop_202504 (debuggerd_prop))
+(expandtypeattribute (debuggerd_prop_202504) true)
+(typeattribute debuggerd_prop_202504)
+(typeattributeset vendor_toolbox_exec_202504 (vendor_toolbox_exec))
+(expandtypeattribute (vendor_toolbox_exec_202504) true)
+(typeattribute vendor_toolbox_exec_202504)
+(typeattributeset shared_relro_file_202504 (shared_relro_file))
+(expandtypeattribute (shared_relro_file_202504) true)
+(typeattribute shared_relro_file_202504)
+(typeattributeset app_function_service_202504 (app_function_service))
+(expandtypeattribute (app_function_service_202504) true)
+(typeattribute app_function_service_202504)
+(typeattributeset lmkd_socket_202504 (lmkd_socket))
+(expandtypeattribute (lmkd_socket_202504) true)
+(typeattribute lmkd_socket_202504)
+(typeattributeset hal_drm_hwservice_202504 (hal_drm_hwservice))
+(expandtypeattribute (hal_drm_hwservice_202504) true)
+(typeattribute hal_drm_hwservice_202504)
+(typeattributeset ringtone_file_202504 (ringtone_file))
+(expandtypeattribute (ringtone_file_202504) true)
+(typeattribute ringtone_file_202504)
+(typeattributeset toolbox_exec_202504 (toolbox_exec))
+(expandtypeattribute (toolbox_exec_202504) true)
+(typeattribute toolbox_exec_202504)
+(typeattributeset permission_service_202504 (permission_service))
+(expandtypeattribute (permission_service_202504) true)
+(typeattribute permission_service_202504)
+(typeattributeset metadata_block_device_202504 (metadata_block_device))
+(expandtypeattribute (metadata_block_device_202504) true)
+(typeattribute metadata_block_device_202504)
+(typeattributeset logd_socket_202504 (logd_socket))
+(expandtypeattribute (logd_socket_202504) true)
+(typeattribute logd_socket_202504)
+(typeattributeset vendor_default_prop_202504 (vendor_default_prop))
+(expandtypeattribute (vendor_default_prop_202504) true)
+(typeattribute vendor_default_prop_202504)
+(typeattributeset mac_perms_file_202504 (mac_perms_file))
+(expandtypeattribute (mac_perms_file_202504) true)
+(typeattribute mac_perms_file_202504)
+(typeattributeset gmscore_app_202504 (gmscore_app))
+(expandtypeattribute (gmscore_app_202504) true)
+(typeattribute gmscore_app_202504)
+(typeattributeset vendor_app_file_202504 (vendor_app_file))
+(expandtypeattribute (vendor_app_file_202504) true)
+(typeattribute vendor_app_file_202504)
+(typeattributeset vendor_hal_file_202504 (vendor_hal_file))
+(expandtypeattribute (vendor_hal_file_202504) true)
+(typeattribute vendor_hal_file_202504)
+(typeattributeset vendor_idc_file_202504 (vendor_idc_file))
+(expandtypeattribute (vendor_idc_file_202504) true)
+(typeattribute vendor_idc_file_202504)
+(typeattributeset pac_proxy_service_202504 (pac_proxy_service))
+(expandtypeattribute (pac_proxy_service_202504) true)
+(typeattribute pac_proxy_service_202504)
+(typeattributeset virtual_ab_prop_202504 (virtual_ab_prop))
+(expandtypeattribute (virtual_ab_prop_202504) true)
+(typeattribute virtual_ab_prop_202504)
+(typeattributeset art_apex_dir_202504 (art_apex_dir))
+(expandtypeattribute (art_apex_dir_202504) true)
+(typeattribute art_apex_dir_202504)
+(typeattributeset sysfs_wlan_fwpath_202504 (sysfs_wlan_fwpath))
+(expandtypeattribute (sysfs_wlan_fwpath_202504) true)
+(typeattribute sysfs_wlan_fwpath_202504)
+(typeattributeset hal_face_service_202504 (hal_face_service))
+(expandtypeattribute (hal_face_service_202504) true)
+(typeattribute hal_face_service_202504)
+(typeattributeset nfc_202504 (nfc))
+(expandtypeattribute (nfc_202504) true)
+(typeattribute nfc_202504)
+(typeattributeset ondevicepersonalization_system_service_202504 (ondevicepersonalization_system_service))
+(expandtypeattribute (ondevicepersonalization_system_service_202504) true)
+(typeattribute ondevicepersonalization_system_service_202504)
+(typeattributeset face_service_202504 (face_service))
+(expandtypeattribute (face_service_202504) true)
+(typeattribute face_service_202504)
+(typeattributeset default_android_vndservice_202504 (default_android_vndservice))
+(expandtypeattribute (default_android_vndservice_202504) true)
+(typeattribute default_android_vndservice_202504)
+(typeattributeset rtc_device_202504 (rtc_device))
+(expandtypeattribute (rtc_device_202504) true)
+(typeattribute rtc_device_202504)
+(typeattributeset snapuserd_socket_202504 (snapuserd_socket))
+(expandtypeattribute (snapuserd_socket_202504) true)
+(typeattribute snapuserd_socket_202504)
+(typeattributeset hal_system_suspend_service_202504 (hal_system_suspend_service))
+(expandtypeattribute (hal_system_suspend_service_202504) true)
+(typeattribute hal_system_suspend_service_202504)
+(typeattributeset rollback_service_202504 (rollback_service))
+(expandtypeattribute (rollback_service_202504) true)
+(typeattribute rollback_service_202504)
+(typeattributeset ram_device_202504 (ram_device))
+(expandtypeattribute (ram_device_202504) true)
+(typeattribute ram_device_202504)
+(typeattributeset radio_core_data_file_202504 (radio_core_data_file))
+(expandtypeattribute (radio_core_data_file_202504) true)
+(typeattribute radio_core_data_file_202504)
+(typeattributeset nativetest_data_file_202504 (nativetest_data_file))
+(expandtypeattribute (nativetest_data_file_202504) true)
+(typeattribute nativetest_data_file_202504)
+(typeattributeset country_detector_service_202504 (country_detector_service))
+(expandtypeattribute (country_detector_service_202504) true)
+(typeattribute country_detector_service_202504)
+(typeattributeset cgroup_202504 (cgroup))
+(expandtypeattribute (cgroup_202504) true)
+(typeattribute cgroup_202504)
+(typeattributeset drmserver_socket_202504 (drmserver_socket))
+(expandtypeattribute (drmserver_socket_202504) true)
+(typeattribute drmserver_socket_202504)
+(typeattributeset credstore_202504 (credstore))
+(expandtypeattribute (credstore_202504) true)
+(typeattribute credstore_202504)
+(typeattributeset proc_net_202504 (proc_net))
+(expandtypeattribute (proc_net_202504) true)
+(typeattribute proc_net_202504)
+(typeattributeset untrusted_app_30_202504 (untrusted_app_30))
+(expandtypeattribute (untrusted_app_30_202504) true)
+(typeattribute untrusted_app_30_202504)
+(typeattributeset zygote_202504 (zygote))
+(expandtypeattribute (zygote_202504) true)
+(typeattribute zygote_202504)
+(typeattributeset untrusted_app_32_202504 (untrusted_app_32))
+(expandtypeattribute (untrusted_app_32_202504) true)
+(typeattribute untrusted_app_32_202504)
+(typeattributeset vendor_data_file_202504 (vendor_data_file))
+(expandtypeattribute (vendor_data_file_202504) true)
+(typeattribute vendor_data_file_202504)
+(typeattributeset mirror_data_file_202504 (mirror_data_file))
+(expandtypeattribute (mirror_data_file_202504) true)
+(typeattribute mirror_data_file_202504)
+(typeattributeset rebootescrow_hal_prop_202504 (rebootescrow_hal_prop))
+(expandtypeattribute (rebootescrow_hal_prop_202504) true)
+(typeattribute rebootescrow_hal_prop_202504)
+(typeattributeset untrusted_app_25_202504 (untrusted_app_25))
+(expandtypeattribute (untrusted_app_25_202504) true)
+(typeattribute untrusted_app_25_202504)
+(typeattributeset untrusted_app_27_202504 (untrusted_app_27))
+(expandtypeattribute (untrusted_app_27_202504) true)
+(typeattribute untrusted_app_27_202504)
+(typeattributeset vendor_apex_file_202504 (vendor_apex_file))
+(expandtypeattribute (vendor_apex_file_202504) true)
+(typeattribute vendor_apex_file_202504)
+(typeattributeset watchdog_metadata_file_202504 (watchdog_metadata_file))
+(expandtypeattribute (watchdog_metadata_file_202504) true)
+(typeattribute watchdog_metadata_file_202504)
+(typeattributeset adb_data_file_202504 (adb_data_file))
+(expandtypeattribute (adb_data_file_202504) true)
+(typeattribute adb_data_file_202504)
+(typeattributeset anr_data_file_202504 (anr_data_file))
+(expandtypeattribute (anr_data_file_202504) true)
+(typeattribute anr_data_file_202504)
+(typeattributeset cgroup_v2_202504 (cgroup_v2))
+(expandtypeattribute (cgroup_v2_202504) true)
+(typeattribute cgroup_v2_202504)
+(typeattributeset adb_keys_file_202504 (adb_keys_file))
+(expandtypeattribute (adb_keys_file_202504) true)
+(typeattribute adb_keys_file_202504)
+(typeattributeset mm_events_config_prop_202504 (mm_events_config_prop))
+(expandtypeattribute (mm_events_config_prop_202504) true)
+(typeattribute mm_events_config_prop_202504)
+(typeattributeset input_device_config_prop_202504 (input_device_config_prop))
+(expandtypeattribute (input_device_config_prop_202504) true)
+(typeattribute input_device_config_prop_202504)
+(typeattributeset kernel_202504 (kernel))
+(expandtypeattribute (kernel_202504) true)
+(typeattribute kernel_202504)
+(typeattributeset servicediscovery_service_202504 (servicediscovery_service))
+(expandtypeattribute (servicediscovery_service_202504) true)
+(typeattribute servicediscovery_service_202504)
+(typeattributeset untrusted_app_29_202504 (untrusted_app_29))
+(expandtypeattribute (untrusted_app_29_202504) true)
+(typeattribute untrusted_app_29_202504)
+(typeattributeset securityfs_202504 (securityfs))
+(expandtypeattribute (securityfs_202504) true)
+(typeattribute securityfs_202504)
+(typeattributeset appcompat_data_file_202504 (appcompat_data_file))
+(expandtypeattribute (appcompat_data_file_202504) true)
+(typeattribute appcompat_data_file_202504)
+(typeattributeset coverage_service_202504 (coverage_service))
+(expandtypeattribute (coverage_service_202504) true)
+(typeattribute coverage_service_202504)
+(typeattributeset keystore_202504 (keystore))
+(expandtypeattribute (keystore_202504) true)
+(typeattribute keystore_202504)
+(typeattributeset fastbootd_202504 (fastbootd))
+(expandtypeattribute (fastbootd_202504) true)
+(typeattribute fastbootd_202504)
+(typeattributeset package_service_202504 (package_service))
+(expandtypeattribute (package_service_202504) true)
+(typeattribute package_service_202504)
+(typeattributeset shutdown_checkpoints_system_data_file_202504 (shutdown_checkpoints_system_data_file))
+(expandtypeattribute (shutdown_checkpoints_system_data_file_202504) true)
+(typeattribute shutdown_checkpoints_system_data_file_202504)
+(typeattributeset ephemeral_app_202504 (ephemeral_app))
+(expandtypeattribute (ephemeral_app_202504) true)
+(typeattribute ephemeral_app_202504)
+(typeattributeset bluetooth_202504 (bluetooth))
+(expandtypeattribute (bluetooth_202504) true)
+(typeattribute bluetooth_202504)
+(typeattributeset inputflinger_202504 (inputflinger))
+(expandtypeattribute (inputflinger_202504) true)
+(typeattribute inputflinger_202504)
+(typeattributeset sysfs_net_202504 (sysfs_net))
+(expandtypeattribute (sysfs_net_202504) true)
+(typeattribute sysfs_net_202504)
+(typeattributeset hal_atrace_hwservice_202504 (hal_atrace_hwservice))
+(expandtypeattribute (hal_atrace_hwservice_202504) true)
+(typeattribute hal_atrace_hwservice_202504)
+(typeattributeset hal_oemlock_hwservice_202504 (hal_oemlock_hwservice))
+(expandtypeattribute (hal_oemlock_hwservice_202504) true)
+(typeattribute hal_oemlock_hwservice_202504)
+(typeattributeset port_202504 (port))
+(expandtypeattribute (port_202504) true)
+(typeattribute port_202504)
+(typeattributeset apexd_exec_202504 (apexd_exec))
+(expandtypeattribute (apexd_exec_202504) true)
+(typeattribute apexd_exec_202504)
+(typeattributeset keystore_metrics_service_202504 (keystore_metrics_service))
+(expandtypeattribute (keystore_metrics_service_202504) true)
+(typeattribute keystore_metrics_service_202504)
+(typeattributeset contextual_search_service_202504 (contextual_search_service))
+(expandtypeattribute (contextual_search_service_202504) true)
+(typeattribute contextual_search_service_202504)
+(typeattributeset virtual_touchpad_exec_202504 (virtual_touchpad_exec))
+(expandtypeattribute (virtual_touchpad_exec_202504) true)
+(typeattribute virtual_touchpad_exec_202504)
+(typeattributeset hal_secure_element_service_202504 (hal_secure_element_service))
+(expandtypeattribute (hal_secure_element_service_202504) true)
+(typeattribute hal_secure_element_service_202504)
+(typeattributeset runas_202504 (runas))
+(expandtypeattribute (runas_202504) true)
+(typeattribute runas_202504)
+(typeattributeset tty_device_202504 (tty_device))
+(expandtypeattribute (tty_device_202504) true)
+(typeattribute tty_device_202504)
+(typeattributeset tun_device_202504 (tun_device))
+(expandtypeattribute (tun_device_202504) true)
+(typeattribute tun_device_202504)
+(typeattributeset system_event_log_tags_file_202504 (system_event_log_tags_file))
+(expandtypeattribute (system_event_log_tags_file_202504) true)
+(typeattribute system_event_log_tags_file_202504)
+(typeattributeset uio_device_202504 (uio_device))
+(expandtypeattribute (uio_device_202504) true)
+(typeattribute uio_device_202504)
+(typeattributeset hal_vm_capabilities_service_202504 (hal_vm_capabilities_service))
+(expandtypeattribute (hal_vm_capabilities_service_202504) true)
+(typeattribute hal_vm_capabilities_service_202504)
+(typeattributeset usb_device_202504 (usb_device))
+(expandtypeattribute (usb_device_202504) true)
+(typeattribute usb_device_202504)
+(typeattributeset adb_service_202504 (adb_service))
+(expandtypeattribute (adb_service_202504) true)
+(typeattribute adb_service_202504)
+(typeattributeset hal_oemlock_service_202504 (hal_oemlock_service))
+(expandtypeattribute (hal_oemlock_service_202504) true)
+(typeattribute hal_oemlock_service_202504)
+(typeattributeset tv_input_service_202504 (tv_input_service))
+(expandtypeattribute (tv_input_service_202504) true)
+(typeattribute tv_input_service_202504)
+(typeattributeset input_service_202504 (input_service))
+(expandtypeattribute (input_service_202504) true)
+(typeattribute input_service_202504)
+(typeattributeset tee_device_202504 (tee_device))
+(expandtypeattribute (tee_device_202504) true)
+(typeattribute tee_device_202504)
+(typeattributeset hal_memtrack_hwservice_202504 (hal_memtrack_hwservice))
+(expandtypeattribute (hal_memtrack_hwservice_202504) true)
+(typeattribute hal_memtrack_hwservice_202504)
+(typeattributeset radio_device_202504 (radio_device))
+(expandtypeattribute (radio_device_202504) true)
+(typeattribute radio_device_202504)
+(typeattributeset bootstat_data_file_202504 (bootstat_data_file))
+(expandtypeattribute (bootstat_data_file_202504) true)
+(typeattribute bootstat_data_file_202504)
+(typeattributeset ptmx_device_202504 (ptmx_device))
+(expandtypeattribute (ptmx_device_202504) true)
+(typeattribute ptmx_device_202504)
+(typeattributeset textservices_service_202504 (textservices_service))
+(expandtypeattribute (textservices_service_202504) true)
+(typeattribute textservices_service_202504)
+(typeattributeset hal_power_stats_hwservice_202504 (hal_power_stats_hwservice))
+(expandtypeattribute (hal_power_stats_hwservice_202504) true)
+(typeattribute hal_power_stats_hwservice_202504)
+(typeattributeset usbaccessory_device_202504 (usbaccessory_device))
+(expandtypeattribute (usbaccessory_device_202504) true)
+(typeattribute usbaccessory_device_202504)
+(typeattributeset asec_public_file_202504 (asec_public_file))
+(expandtypeattribute (asec_public_file_202504) true)
+(typeattribute asec_public_file_202504)
+(typeattributeset hal_rebootescrow_service_202504 (hal_rebootescrow_service))
+(expandtypeattribute (hal_rebootescrow_service_202504) true)
+(typeattribute hal_rebootescrow_service_202504)
+(typeattributeset proc_min_free_order_shift_202504 (proc_min_free_order_shift))
+(expandtypeattribute (proc_min_free_order_shift_202504) true)
+(typeattribute proc_min_free_order_shift_202504)
+(typeattributeset bootanim_config_prop_202504 (bootanim_config_prop))
+(expandtypeattribute (bootanim_config_prop_202504) true)
+(typeattribute bootanim_config_prop_202504)
+(typeattributeset fwk_vibrator_control_service_202504 (fwk_vibrator_control_service))
+(expandtypeattribute (fwk_vibrator_control_service_202504) true)
+(typeattribute fwk_vibrator_control_service_202504)
+(typeattributeset hal_usb_hwservice_202504 (hal_usb_hwservice))
+(expandtypeattribute (hal_usb_hwservice_202504) true)
+(typeattribute hal_usb_hwservice_202504)
+(typeattributeset user_profile_root_file_202504 (user_profile_root_file))
+(expandtypeattribute (user_profile_root_file_202504) true)
+(typeattribute user_profile_root_file_202504)
+(typeattributeset recovery_refresh_exec_202504 (recovery_refresh_exec))
+(expandtypeattribute (recovery_refresh_exec_202504) true)
+(typeattribute recovery_refresh_exec_202504)
+(typeattributeset proc_fs_verity_202504 (proc_fs_verity))
+(expandtypeattribute (proc_fs_verity_202504) true)
+(typeattribute proc_fs_verity_202504)
+(typeattributeset pdx_performance_client_endpoint_socket_202504 (pdx_performance_client_endpoint_socket))
+(expandtypeattribute (pdx_performance_client_endpoint_socket_202504) true)
+(typeattribute pdx_performance_client_endpoint_socket_202504)
+(typeattributeset sysfs_dm_verity_202504 (sysfs_dm_verity))
+(expandtypeattribute (sysfs_dm_verity_202504) true)
+(typeattribute sysfs_dm_verity_202504)
+(typeattributeset user_profile_data_file_202504 (user_profile_data_file))
+(expandtypeattribute (user_profile_data_file_202504) true)
+(typeattribute user_profile_data_file_202504)
+(typeattributeset input_method_service_202504 (input_method_service))
+(expandtypeattribute (input_method_service_202504) true)
+(typeattribute input_method_service_202504)
+(typeattributeset binder_cache_telephony_server_prop_202504 (binder_cache_telephony_server_prop))
+(expandtypeattribute (binder_cache_telephony_server_prop_202504) true)
+(typeattribute binder_cache_telephony_server_prop_202504)
+(typeattributeset app_prediction_service_202504 (app_prediction_service))
+(expandtypeattribute (app_prediction_service_202504) true)
+(typeattribute app_prediction_service_202504)
+(typeattributeset media_projection_service_202504 (media_projection_service))
+(expandtypeattribute (media_projection_service_202504) true)
+(typeattribute media_projection_service_202504)
+(typeattributeset racoon_socket_202504 (racoon_socket))
+(expandtypeattribute (racoon_socket_202504) true)
+(typeattribute racoon_socket_202504)
+(typeattributeset proc_vmallocinfo_202504 (proc_vmallocinfo))
+(expandtypeattribute (proc_vmallocinfo_202504) true)
+(typeattribute proc_vmallocinfo_202504)
+(typeattributeset cameraserver_service_202504 (cameraserver_service))
+(expandtypeattribute (cameraserver_service_202504) true)
+(typeattribute cameraserver_service_202504)
+(typeattributeset idmap_exec_202504 (idmap_exec))
+(expandtypeattribute (idmap_exec_202504) true)
+(typeattribute idmap_exec_202504)
+(typeattributeset uncrypt_socket_202504 (uncrypt_socket))
+(expandtypeattribute (uncrypt_socket_202504) true)
+(typeattribute uncrypt_socket_202504)
+(typeattributeset legacy_permission_service_202504 (legacy_permission_service))
+(expandtypeattribute (legacy_permission_service_202504) true)
+(typeattribute legacy_permission_service_202504)
+(typeattributeset logpersistd_logging_prop_202504 (logpersistd_logging_prop))
+(expandtypeattribute (logpersistd_logging_prop_202504) true)
+(typeattribute logpersistd_logging_prop_202504)
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_202504 (hal_configstore_ISurfaceFlingerConfigs))
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_202504) true)
+(typeattribute hal_configstore_ISurfaceFlingerConfigs_202504)
+(typeattributeset hal_ir_hwservice_202504 (hal_ir_hwservice))
+(expandtypeattribute (hal_ir_hwservice_202504) true)
+(typeattribute hal_ir_hwservice_202504)
+(typeattributeset hal_vr_hwservice_202504 (hal_vr_hwservice))
+(expandtypeattribute (hal_vr_hwservice_202504) true)
+(typeattribute hal_vr_hwservice_202504)
+(typeattributeset incident_data_file_202504 (incident_data_file))
+(expandtypeattribute (incident_data_file_202504) true)
+(typeattribute incident_data_file_202504)
+(typeattributeset fwk_stats_hwservice_202504 (fwk_stats_hwservice))
+(expandtypeattribute (fwk_stats_hwservice_202504) true)
+(typeattribute fwk_stats_hwservice_202504)
+(typeattributeset webview_zygote_202504 (webview_zygote))
+(expandtypeattribute (webview_zygote_202504) true)
+(typeattribute webview_zygote_202504)
+(typeattributeset proc_uid_procstat_set_202504 (proc_uid_procstat_set))
+(expandtypeattribute (proc_uid_procstat_set_202504) true)
+(typeattribute proc_uid_procstat_set_202504)
+(typeattributeset vendor_init_202504 (vendor_init))
+(expandtypeattribute (vendor_init_202504) true)
+(typeattribute vendor_init_202504)
+(typeattributeset hal_remotelyprovisionedcomponent_service_202504 (hal_remotelyprovisionedcomponent_service))
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_202504) true)
+(typeattribute hal_remotelyprovisionedcomponent_service_202504)
+(typeattributeset connectivity_service_202504 (connectivity_service))
+(expandtypeattribute (connectivity_service_202504) true)
+(typeattribute connectivity_service_202504)
+(typeattributeset notification_service_202504 (notification_service))
+(expandtypeattribute (notification_service_202504) true)
+(typeattribute notification_service_202504)
+(typeattributeset init_202504 (init))
+(expandtypeattribute (init_202504) true)
+(typeattribute init_202504)
+(typeattributeset game_service_202504 (game_service))
+(expandtypeattribute (game_service_202504) true)
+(typeattribute game_service_202504)
+(typeattributeset hal_audiocontrol_service_202504 (hal_audiocontrol_service))
+(expandtypeattribute (hal_audiocontrol_service_202504) true)
+(typeattribute hal_audiocontrol_service_202504)
+(typeattributeset logpersist_202504 (logpersist))
+(expandtypeattribute (logpersist_202504) true)
+(typeattribute logpersist_202504)
+(typeattributeset dreams_service_202504 (dreams_service))
+(expandtypeattribute (dreams_service_202504) true)
+(typeattribute dreams_service_202504)
+(typeattributeset locale_service_202504 (locale_service))
+(expandtypeattribute (locale_service_202504) true)
+(typeattribute locale_service_202504)
+(typeattributeset companion_device_service_202504 (companion_device_service))
+(expandtypeattribute (companion_device_service_202504) true)
+(typeattribute companion_device_service_202504)
+(typeattributeset bootanim_202504 (bootanim))
+(expandtypeattribute (bootanim_202504) true)
+(typeattribute bootanim_202504)
+(typeattributeset proc_uptime_202504 (proc_uptime))
+(expandtypeattribute (proc_uptime_202504) true)
+(typeattribute proc_uptime_202504)
+(typeattributeset persist_wm_debug_prop_202504 (persist_wm_debug_prop))
+(expandtypeattribute (persist_wm_debug_prop_202504) true)
+(typeattribute persist_wm_debug_prop_202504)
+(typeattributeset ota_package_file_202504 (ota_package_file))
+(expandtypeattribute (ota_package_file_202504) true)
+(typeattribute ota_package_file_202504)
+(typeattributeset diskstats_service_202504 (diskstats_service))
+(expandtypeattribute (diskstats_service_202504) true)
+(typeattribute diskstats_service_202504)
+(typeattributeset fwk_stats_service_202504 (fwk_stats_service))
+(expandtypeattribute (fwk_stats_service_202504) true)
+(typeattribute fwk_stats_service_202504)
+(typeattributeset wallpaper_service_202504 (wallpaper_service))
+(expandtypeattribute (wallpaper_service_202504) true)
+(typeattribute wallpaper_service_202504)
+(typeattributeset fscklogs_202504 (fscklogs))
+(expandtypeattribute (fscklogs_202504) true)
+(typeattribute fscklogs_202504)
+(typeattributeset nnapi_ext_deny_product_prop_202504 (nnapi_ext_deny_product_prop))
+(expandtypeattribute (nnapi_ext_deny_product_prop_202504) true)
+(typeattribute nnapi_ext_deny_product_prop_202504)
+(typeattributeset task_service_202504 (task_service))
+(expandtypeattribute (task_service_202504) true)
+(typeattribute task_service_202504)
+(typeattributeset zygote_tmpfs_202504 (zygote_tmpfs))
+(expandtypeattribute (zygote_tmpfs_202504) true)
+(typeattribute zygote_tmpfs_202504)
+(typeattributeset app_zygote_tmpfs_202504 (app_zygote_tmpfs))
+(expandtypeattribute (app_zygote_tmpfs_202504) true)
+(typeattribute app_zygote_tmpfs_202504)
+(typeattributeset hal_neuralnetworks_service_202504 (hal_neuralnetworks_service))
+(expandtypeattribute (hal_neuralnetworks_service_202504) true)
+(typeattribute hal_neuralnetworks_service_202504)
+(typeattributeset hardware_service_202504 (hardware_service))
+(expandtypeattribute (hardware_service_202504) true)
+(typeattribute hardware_service_202504)
+(typeattributeset logd_202504 (logd))
+(expandtypeattribute (logd_202504) true)
+(typeattribute logd_202504)
+(typeattributeset procstats_service_202504 (procstats_service))
+(expandtypeattribute (procstats_service_202504) true)
+(typeattribute procstats_service_202504)
+(typeattributeset tare_service_202504 (tare_service))
+(expandtypeattribute (tare_service_202504) true)
+(typeattribute tare_service_202504)
+(typeattributeset dumpstate_service_202504 (dumpstate_service))
+(expandtypeattribute (dumpstate_service_202504) true)
+(typeattribute dumpstate_service_202504)
+(typeattributeset fingerprintd_exec_202504 (fingerprintd_exec))
+(expandtypeattribute (fingerprintd_exec_202504) true)
+(typeattribute fingerprintd_exec_202504)
+(typeattributeset alarm_service_202504 (alarm_service))
+(expandtypeattribute (alarm_service_202504) true)
+(typeattribute alarm_service_202504)
+(typeattributeset tv_iapp_service_202504 (tv_iapp_service))
+(expandtypeattribute (tv_iapp_service_202504) true)
+(typeattribute tv_iapp_service_202504)
+(typeattributeset rttmanager_service_202504 (rttmanager_service))
+(expandtypeattribute (rttmanager_service_202504) true)
+(typeattribute rttmanager_service_202504)
+(typeattributeset fwk_sensor_hwservice_202504 (fwk_sensor_hwservice))
+(expandtypeattribute (fwk_sensor_hwservice_202504) true)
+(typeattribute fwk_sensor_hwservice_202504)
+(typeattributeset vendor_uuid_mapping_config_file_202504 (vendor_uuid_mapping_config_file))
+(expandtypeattribute (vendor_uuid_mapping_config_file_202504) true)
+(typeattribute vendor_uuid_mapping_config_file_202504)
+(typeattributeset ueventd_202504 (ueventd))
+(expandtypeattribute (ueventd_202504) true)
+(typeattribute ueventd_202504)
+(typeattributeset node_202504 (node))
+(expandtypeattribute (node_202504) true)
+(typeattribute node_202504)
+(typeattributeset vold_prepare_subdirs_exec_202504 (vold_prepare_subdirs_exec))
+(expandtypeattribute (vold_prepare_subdirs_exec_202504) true)
+(typeattribute vold_prepare_subdirs_exec_202504)
+(typeattributeset sysfs_dm_202504 (sysfs_dm))
+(expandtypeattribute (sysfs_dm_202504) true)
+(typeattribute sysfs_dm_202504)
+(typeattributeset hal_face_hwservice_202504 (hal_face_hwservice))
+(expandtypeattribute (hal_face_hwservice_202504) true)
+(typeattribute hal_face_hwservice_202504)
+(typeattributeset apc_service_202504 (apc_service))
+(expandtypeattribute (apc_service_202504) true)
+(typeattribute apc_service_202504)
+(typeattributeset nfc_data_file_202504 (nfc_data_file))
+(expandtypeattribute (nfc_data_file_202504) true)
+(typeattribute nfc_data_file_202504)
+(typeattributeset stats_data_file_202504 (stats_data_file))
+(expandtypeattribute (stats_data_file_202504) true)
+(typeattribute stats_data_file_202504)
+(typeattributeset hal_contexthub_service_202504 (hal_contexthub_service))
+(expandtypeattribute (hal_contexthub_service_202504) true)
+(typeattribute hal_contexthub_service_202504)
+(typeattributeset misc_logd_file_202504 (misc_logd_file))
+(expandtypeattribute (misc_logd_file_202504) true)
+(typeattribute misc_logd_file_202504)
+(typeattributeset sepolicy_file_202504 (sepolicy_file))
+(expandtypeattribute (sepolicy_file_202504) true)
+(typeattribute sepolicy_file_202504)
+(typeattributeset audioserver_service_202504 (audioserver_service))
+(expandtypeattribute (audioserver_service_202504) true)
+(typeattribute audioserver_service_202504)
+(typeattributeset proc_sched_202504 (proc_sched))
+(expandtypeattribute (proc_sched_202504) true)
+(typeattribute proc_sched_202504)
+(typeattributeset modprobe_202504 (modprobe))
+(expandtypeattribute (modprobe_202504) true)
+(typeattribute modprobe_202504)
+(typeattributeset remote_auth_service_202504 (remote_auth_service))
+(expandtypeattribute (remote_auth_service_202504) true)
+(typeattribute remote_auth_service_202504)
+(typeattributeset threadnetwork_config_prop_202504 (threadnetwork_config_prop))
+(expandtypeattribute (threadnetwork_config_prop_202504) true)
+(typeattribute threadnetwork_config_prop_202504)
+(typeattributeset incidentd_202504 (incidentd))
+(expandtypeattribute (incidentd_202504) true)
+(typeattribute incidentd_202504)
+(typeattributeset apk_tmp_file_202504 (apk_tmp_file))
+(expandtypeattribute (apk_tmp_file_202504) true)
+(typeattribute apk_tmp_file_202504)
+(typeattributeset dmabuf_system_heap_device_202504 (dmabuf_system_heap_device))
+(expandtypeattribute (dmabuf_system_heap_device_202504) true)
+(typeattribute dmabuf_system_heap_device_202504)
+(typeattributeset gpu_device_202504 (gpu_device))
+(expandtypeattribute (gpu_device_202504) true)
+(typeattribute gpu_device_202504)
+(typeattributeset gpuservice_202504 (gpuservice))
+(expandtypeattribute (gpuservice_202504) true)
+(typeattribute gpuservice_202504)
+(typeattributeset mdnsd_202504 (mdnsd))
+(expandtypeattribute (mdnsd_202504) true)
+(typeattribute mdnsd_202504)
+(typeattributeset hal_tv_hdmi_cec_service_202504 (hal_tv_hdmi_cec_service))
+(expandtypeattribute (hal_tv_hdmi_cec_service_202504) true)
+(typeattribute hal_tv_hdmi_cec_service_202504)
+(typeattributeset proc_uid_io_stats_202504 (proc_uid_io_stats))
+(expandtypeattribute (proc_uid_io_stats_202504) true)
+(typeattribute proc_uid_io_stats_202504)
+(typeattributeset sensorservice_service_202504 (sensorservice_service))
+(expandtypeattribute (sensorservice_service_202504) true)
+(typeattribute sensorservice_service_202504)
+(typeattributeset runas_exec_202504 (runas_exec))
+(expandtypeattribute (runas_exec_202504) true)
+(typeattribute runas_exec_202504)
+(typeattributeset wifiaware_service_202504 (wifiaware_service))
+(expandtypeattribute (wifiaware_service_202504) true)
+(typeattribute wifiaware_service_202504)
+(typeattributeset netstats_service_202504 (netstats_service))
+(expandtypeattribute (netstats_service_202504) true)
+(typeattribute netstats_service_202504)
+(typeattributeset vr_manager_service_202504 (vr_manager_service))
+(expandtypeattribute (vr_manager_service_202504) true)
+(typeattribute vr_manager_service_202504)
+(typeattributeset watchdogd_202504 (watchdogd))
+(expandtypeattribute (watchdogd_202504) true)
+(typeattribute watchdogd_202504)
+(typeattributeset vendor_security_patch_level_prop_202504 (vendor_security_patch_level_prop))
+(expandtypeattribute (vendor_security_patch_level_prop_202504) true)
+(typeattribute vendor_security_patch_level_prop_202504)
+(typeattributeset heapprofd_202504 (heapprofd))
+(expandtypeattribute (heapprofd_202504) true)
+(typeattribute heapprofd_202504)
+(typeattributeset shell_exec_202504 (shell_exec))
+(expandtypeattribute (shell_exec_202504) true)
+(typeattribute shell_exec_202504)
+(typeattributeset hdmi_control_service_202504 (hdmi_control_service))
+(expandtypeattribute (hdmi_control_service_202504) true)
+(typeattribute hdmi_control_service_202504)
+(typeattributeset clipboard_service_202504 (clipboard_service))
+(expandtypeattribute (clipboard_service_202504) true)
+(typeattribute clipboard_service_202504)
+(typeattributeset dumpstate_exec_202504 (dumpstate_exec))
+(expandtypeattribute (dumpstate_exec_202504) true)
+(typeattribute dumpstate_exec_202504)
+(typeattributeset prereboot_data_file_202504 (prereboot_data_file))
+(expandtypeattribute (prereboot_data_file_202504) true)
+(typeattribute prereboot_data_file_202504)
+(typeattributeset netutils_wrapper_exec_202504 (netutils_wrapper_exec))
+(expandtypeattribute (netutils_wrapper_exec_202504) true)
+(typeattribute netutils_wrapper_exec_202504)
+(typeattributeset apex_service_202504 (apex_service))
+(expandtypeattribute (apex_service_202504) true)
+(typeattribute apex_service_202504)
+(typeattributeset hal_sensors_service_202504 (hal_sensors_service))
+(expandtypeattribute (hal_sensors_service_202504) true)
+(typeattribute hal_sensors_service_202504)
+(typeattributeset proc_max_map_count_202504 (proc_max_map_count))
+(expandtypeattribute (proc_max_map_count_202504) true)
+(typeattribute proc_max_map_count_202504)
+(typeattributeset apex_rollback_data_file_202504 (apex_rollback_data_file))
+(expandtypeattribute (apex_rollback_data_file_202504) true)
+(typeattribute apex_rollback_data_file_202504)
+(typeattributeset tombstoned_intercept_socket_202504 (tombstoned_intercept_socket))
+(expandtypeattribute (tombstoned_intercept_socket_202504) true)
+(typeattribute tombstoned_intercept_socket_202504)
+(typeattributeset wificond_202504 (wificond))
+(expandtypeattribute (wificond_202504) true)
+(typeattribute wificond_202504)
+(typeattributeset debugfs_mmc_202504 (debugfs_mmc))
+(expandtypeattribute (debugfs_mmc_202504) true)
+(typeattribute debugfs_mmc_202504)
+(typeattributeset usb_uvc_enabled_prop_202504 (usb_uvc_enabled_prop))
+(expandtypeattribute (usb_uvc_enabled_prop_202504) true)
+(typeattribute usb_uvc_enabled_prop_202504)
+(typeattributeset netutils_wrapper_202504 (netutils_wrapper))
+(expandtypeattribute (netutils_wrapper_202504) true)
+(typeattribute netutils_wrapper_202504)
+(typeattributeset hal_weaver_service_202504 (hal_weaver_service))
+(expandtypeattribute (hal_weaver_service_202504) true)
+(typeattribute hal_weaver_service_202504)
+(typeattributeset cpu_monitor_service_202504 (cpu_monitor_service))
+(expandtypeattribute (cpu_monitor_service_202504) true)
+(typeattribute cpu_monitor_service_202504)
+(typeattributeset hal_cas_hwservice_202504 (hal_cas_hwservice))
+(expandtypeattribute (hal_cas_hwservice_202504) true)
+(typeattribute hal_cas_hwservice_202504)
+(typeattributeset hal_evs_hwservice_202504 (hal_evs_hwservice))
+(expandtypeattribute (hal_evs_hwservice_202504) true)
+(typeattribute hal_evs_hwservice_202504)
+(typeattributeset hal_nfc_hwservice_202504 (hal_nfc_hwservice))
+(expandtypeattribute (hal_nfc_hwservice_202504) true)
+(typeattribute hal_nfc_hwservice_202504)
+(typeattributeset vold_202504 (vold))
+(expandtypeattribute (vold_202504) true)
+(typeattribute vold_202504)
+(typeattributeset iio_device_202504 (iio_device))
+(expandtypeattribute (iio_device_202504) true)
+(typeattribute iio_device_202504)
+(typeattributeset pdx_display_manager_endpoint_socket_202504 (pdx_display_manager_endpoint_socket))
+(expandtypeattribute (pdx_display_manager_endpoint_socket_202504) true)
+(typeattribute pdx_display_manager_endpoint_socket_202504)
+(typeattributeset ion_device_202504 (ion_device))
+(expandtypeattribute (ion_device_202504) true)
+(typeattribute ion_device_202504)
+(typeattributeset platform_compat_service_202504 (platform_compat_service))
+(expandtypeattribute (platform_compat_service_202504) true)
+(typeattribute platform_compat_service_202504)
+(typeattributeset camerax_extensions_prop_202504 (camerax_extensions_prop))
+(expandtypeattribute (camerax_extensions_prop_202504) true)
+(typeattribute camerax_extensions_prop_202504)
+(typeattributeset heapprofd_socket_202504 (heapprofd_socket))
+(expandtypeattribute (heapprofd_socket_202504) true)
+(typeattribute heapprofd_socket_202504)
+(typeattributeset service_manager_vndservice_202504 (service_manager_vndservice))
+(expandtypeattribute (service_manager_vndservice_202504) true)
+(typeattribute service_manager_vndservice_202504)
+(typeattributeset sysfs_uhid_202504 (sysfs_uhid))
+(expandtypeattribute (sysfs_uhid_202504) true)
+(typeattribute sysfs_uhid_202504)
+(typeattributeset proc_bootconfig_202504 (proc_bootconfig))
+(expandtypeattribute (proc_bootconfig_202504) true)
+(typeattribute proc_bootconfig_202504)
+(typeattributeset hal_secure_element_hwservice_202504 (hal_secure_element_hwservice))
+(expandtypeattribute (hal_secure_element_hwservice_202504) true)
+(typeattribute hal_secure_element_hwservice_202504)
+(typeattributeset port_device_202504 (port_device))
+(expandtypeattribute (port_device_202504) true)
+(typeattribute port_device_202504)
+(typeattributeset nfc_device_202504 (nfc_device))
+(expandtypeattribute (nfc_device_202504) true)
+(typeattribute nfc_device_202504)
+(typeattributeset system_zoneinfo_file_202504 (system_zoneinfo_file))
+(expandtypeattribute (system_zoneinfo_file_202504) true)
+(typeattribute system_zoneinfo_file_202504)
+(typeattributeset rild_socket_202504 (rild_socket))
+(expandtypeattribute (rild_socket_202504) true)
+(typeattribute rild_socket_202504)
+(typeattributeset keystore_data_file_202504 (keystore_data_file))
+(expandtypeattribute (keystore_data_file_202504) true)
+(typeattribute keystore_data_file_202504)
+(typeattributeset bootanim_system_prop_202504 (bootanim_system_prop))
+(expandtypeattribute (bootanim_system_prop_202504) true)
+(typeattribute bootanim_system_prop_202504)
+(typeattributeset recovery_persist_exec_202504 (recovery_persist_exec))
+(expandtypeattribute (recovery_persist_exec_202504) true)
+(typeattribute recovery_persist_exec_202504)
+(typeattributeset pmsg_device_202504 (pmsg_device))
+(expandtypeattribute (pmsg_device_202504) true)
+(typeattribute pmsg_device_202504)
+(typeattributeset rpmsg_device_202504 (rpmsg_device))
+(expandtypeattribute (rpmsg_device_202504) true)
+(typeattribute rpmsg_device_202504)
+(typeattributeset cache_file_202504 (cache_file))
+(expandtypeattribute (cache_file_202504) true)
+(typeattribute cache_file_202504)
+(typeattributeset debugfs_tracing_printk_formats_202504 (debugfs_tracing_printk_formats))
+(expandtypeattribute (debugfs_tracing_printk_formats_202504) true)
+(typeattribute debugfs_tracing_printk_formats_202504)
+(typeattributeset fingerprintd_service_202504 (fingerprintd_service))
+(expandtypeattribute (fingerprintd_service_202504) true)
+(typeattribute fingerprintd_service_202504)
+(typeattributeset people_service_202504 (people_service))
+(expandtypeattribute (people_service_202504) true)
+(typeattribute people_service_202504)
+(typeattributeset mtp_device_202504 (mtp_device))
+(expandtypeattribute (mtp_device_202504) true)
+(typeattribute mtp_device_202504)
+(typeattributeset camera2_extensions_prop_202504 (camera2_extensions_prop))
+(expandtypeattribute (camera2_extensions_prop_202504) true)
+(typeattribute camera2_extensions_prop_202504)
+(typeattributeset hal_graphics_mapper_service_202504 (hal_graphics_mapper_service))
+(expandtypeattribute (hal_graphics_mapper_service_202504) true)
+(typeattribute hal_graphics_mapper_service_202504)
+(typeattributeset adbd_socket_202504 (adbd_socket))
+(expandtypeattribute (adbd_socket_202504) true)
+(typeattribute adbd_socket_202504)
+(typeattributeset debugfs_trace_marker_202504 (debugfs_trace_marker))
+(expandtypeattribute (debugfs_trace_marker_202504) true)
+(typeattribute debugfs_trace_marker_202504)
+(typeattributeset hal_renderscript_hwservice_202504 (hal_renderscript_hwservice))
+(expandtypeattribute (hal_renderscript_hwservice_202504) true)
+(typeattribute hal_renderscript_hwservice_202504)
+(typeattributeset sysfs_dmabuf_stats_202504 (sysfs_dmabuf_stats))
+(expandtypeattribute (sysfs_dmabuf_stats_202504) true)
+(typeattribute sysfs_dmabuf_stats_202504)
+(typeattributeset installd_exec_202504 (installd_exec))
+(expandtypeattribute (installd_exec_202504) true)
+(typeattribute installd_exec_202504)
+(typeattributeset statsd_exec_202504 (statsd_exec))
+(expandtypeattribute (statsd_exec_202504) true)
+(typeattribute statsd_exec_202504)
+(typeattributeset tombstoned_exec_202504 (tombstoned_exec))
+(expandtypeattribute (tombstoned_exec_202504) true)
+(typeattribute tombstoned_exec_202504)
+(typeattributeset runtime_event_log_tags_file_202504 (runtime_event_log_tags_file))
+(expandtypeattribute (runtime_event_log_tags_file_202504) true)
+(typeattribute runtime_event_log_tags_file_202504)
+(typeattributeset proc_kmsg_202504 (proc_kmsg))
+(expandtypeattribute (proc_kmsg_202504) true)
+(typeattribute proc_kmsg_202504)
+(typeattributeset wpa_socket_202504 (wpa_socket))
+(expandtypeattribute (wpa_socket_202504) true)
+(typeattribute wpa_socket_202504)
+(typeattributeset fwk_camera_hwservice_202504 (fwk_camera_hwservice))
+(expandtypeattribute (fwk_camera_hwservice_202504) true)
+(typeattribute fwk_camera_hwservice_202504)
+(typeattributeset external_vibrator_service_202504 (external_vibrator_service))
+(expandtypeattribute (external_vibrator_service_202504) true)
+(typeattribute external_vibrator_service_202504)
+(typeattributeset hal_secretkeeper_service_202504 (hal_secretkeeper_service))
+(expandtypeattribute (hal_secretkeeper_service_202504) true)
+(typeattribute hal_secretkeeper_service_202504)
+(typeattributeset mtp_202504 (mtp))
+(expandtypeattribute (mtp_202504) true)
+(typeattribute mtp_202504)
+(typeattributeset backup_data_file_202504 (backup_data_file))
+(expandtypeattribute (backup_data_file_202504) true)
+(typeattribute backup_data_file_202504)
+(typeattributeset cgroup_desc_file_202504 (cgroup_desc_file))
+(expandtypeattribute (cgroup_desc_file_202504) true)
+(typeattribute cgroup_desc_file_202504)
+(typeattributeset vendor_kernel_modules_202504 (vendor_kernel_modules))
+(expandtypeattribute (vendor_kernel_modules_202504) true)
+(typeattribute vendor_kernel_modules_202504)
+(typeattributeset hal_cas_service_202504 (hal_cas_service))
+(expandtypeattribute (hal_cas_service_202504) true)
+(typeattribute hal_cas_service_202504)
+(typeattributeset app_fuse_file_202504 (app_fuse_file))
+(expandtypeattribute (app_fuse_file_202504) true)
+(typeattribute app_fuse_file_202504)
+(typeattributeset app_data_file_202504 (app_data_file))
+(expandtypeattribute (app_data_file_202504) true)
+(typeattribute app_data_file_202504)
+(typeattributeset boottime_public_prop_202504 (boottime_public_prop))
+(expandtypeattribute (boottime_public_prop_202504) true)
+(typeattribute boottime_public_prop_202504)
+(typeattributeset dhcp_data_file_202504 (dhcp_data_file))
+(expandtypeattribute (dhcp_data_file_202504) true)
+(typeattribute dhcp_data_file_202504)
+(typeattributeset privapp_data_file_202504 (privapp_data_file))
+(expandtypeattribute (privapp_data_file_202504) true)
+(typeattribute privapp_data_file_202504)
+(typeattributeset unlabeled_202504 (unlabeled))
+(expandtypeattribute (unlabeled_202504) true)
+(typeattribute unlabeled_202504)
+(typeattributeset hal_vibrator_service_202504 (hal_vibrator_service))
+(expandtypeattribute (hal_vibrator_service_202504) true)
+(typeattribute hal_vibrator_service_202504)
+(typeattributeset tombstone_config_prop_202504 (tombstone_config_prop))
+(expandtypeattribute (tombstone_config_prop_202504) true)
+(typeattribute tombstone_config_prop_202504)
+(typeattributeset tcpdump_exec_202504 (tcpdump_exec))
+(expandtypeattribute (tcpdump_exec_202504) true)
+(typeattribute tcpdump_exec_202504)
+(typeattributeset radio_control_prop_202504 (radio_control_prop))
+(expandtypeattribute (radio_control_prop_202504) true)
+(typeattribute radio_control_prop_202504)
+(typeattributeset hal_thermal_service_202504 (hal_thermal_service))
+(expandtypeattribute (hal_thermal_service_202504) true)
+(typeattribute hal_thermal_service_202504)
+(typeattributeset binder_calls_stats_service_202504 (binder_calls_stats_service))
+(expandtypeattribute (binder_calls_stats_service_202504) true)
+(typeattribute binder_calls_stats_service_202504)
+(typeattributeset linkerconfig_file_202504 (linkerconfig_file))
+(expandtypeattribute (linkerconfig_file_202504) true)
+(typeattribute linkerconfig_file_202504)
+(typeattributeset webview_zygote_tmpfs_202504 (webview_zygote_tmpfs))
+(expandtypeattribute (webview_zygote_tmpfs_202504) true)
+(typeattribute webview_zygote_tmpfs_202504)
+(typeattributeset surfaceflinger_prop_202504 (surfaceflinger_prop))
+(expandtypeattribute (surfaceflinger_prop_202504) true)
+(typeattribute surfaceflinger_prop_202504)
+(typeattributeset ipsec_service_202504 (ipsec_service))
+(expandtypeattribute (ipsec_service_202504) true)
+(typeattribute ipsec_service_202504)
+(typeattributeset fusectlfs_202504 (fusectlfs))
+(expandtypeattribute (fusectlfs_202504) true)
+(typeattribute fusectlfs_202504)
+(typeattributeset user_service_202504 (user_service))
+(expandtypeattribute (user_service_202504) true)
+(typeattribute user_service_202504)
+(typeattributeset dataloader_manager_service_202504 (dataloader_manager_service))
+(expandtypeattribute (dataloader_manager_service_202504) true)
+(typeattribute dataloader_manager_service_202504)
+(typeattributeset persistent_data_block_service_202504 (persistent_data_block_service))
+(expandtypeattribute (persistent_data_block_service_202504) true)
+(typeattribute persistent_data_block_service_202504)
+(typeattributeset artd_service_202504 (artd_service))
+(expandtypeattribute (artd_service_202504) true)
+(typeattribute artd_service_202504)
+(typeattributeset system_suspend_control_service_202504 (system_suspend_control_service))
+(expandtypeattribute (system_suspend_control_service_202504) true)
+(typeattribute system_suspend_control_service_202504)
+(typeattributeset mnt_sdcard_file_202504 (mnt_sdcard_file))
+(expandtypeattribute (mnt_sdcard_file_202504) true)
+(typeattribute mnt_sdcard_file_202504)
+(typeattributeset profman_dump_data_file_202504 (profman_dump_data_file))
+(expandtypeattribute (profman_dump_data_file_202504) true)
+(typeattribute profman_dump_data_file_202504)
+(typeattributeset telephony_status_prop_202504 (telephony_status_prop))
+(expandtypeattribute (telephony_status_prop_202504) true)
+(typeattribute telephony_status_prop_202504)
+(typeattributeset socket_device_202504 (socket_device))
+(expandtypeattribute (socket_device_202504) true)
+(typeattribute socket_device_202504)
+(typeattributeset broadcastradio_service_202504 (broadcastradio_service))
+(expandtypeattribute (broadcastradio_service_202504) true)
+(typeattribute broadcastradio_service_202504)
+(typeattributeset hal_tv_hdmi_earc_service_202504 (hal_tv_hdmi_earc_service))
+(expandtypeattribute (hal_tv_hdmi_earc_service_202504) true)
+(typeattribute hal_tv_hdmi_earc_service_202504)
+(typeattributeset permission_checker_service_202504 (permission_checker_service))
+(expandtypeattribute (permission_checker_service_202504) true)
+(typeattribute permission_checker_service_202504)
+(typeattributeset scheduling_policy_service_202504 (scheduling_policy_service))
+(expandtypeattribute (scheduling_policy_service_202504) true)
+(typeattribute scheduling_policy_service_202504)
+(typeattributeset update_engine_exec_202504 (update_engine_exec))
+(expandtypeattribute (update_engine_exec_202504) true)
+(typeattribute update_engine_exec_202504)
+(typeattributeset installd_202504 (installd))
+(expandtypeattribute (installd_202504) true)
+(typeattribute installd_202504)
+(typeattributeset profman_exec_202504 (profman_exec))
+(expandtypeattribute (profman_exec_202504) true)
+(typeattribute profman_exec_202504)
+(typeattributeset debugfs_restriction_prop_202504 (debugfs_restriction_prop))
+(expandtypeattribute (debugfs_restriction_prop_202504) true)
+(typeattribute debugfs_restriction_prop_202504)
+(typeattributeset bootchart_data_file_202504 (bootchart_data_file))
+(expandtypeattribute (bootchart_data_file_202504) true)
+(typeattribute bootchart_data_file_202504)
+(typeattributeset dmabuf_system_secure_heap_device_202504 (dmabuf_system_secure_heap_device))
+(expandtypeattribute (dmabuf_system_secure_heap_device_202504) true)
+(typeattribute dmabuf_system_secure_heap_device_202504)
+(typeattributeset hal_codec2_service_202504 (hal_codec2_service))
+(expandtypeattribute (hal_codec2_service_202504) true)
+(typeattribute hal_codec2_service_202504)
+(typeattributeset vendor_userdir_file_202504 (vendor_userdir_file))
+(expandtypeattribute (vendor_userdir_file_202504) true)
+(typeattribute vendor_userdir_file_202504)
+(typeattributeset persist_debug_prop_202504 (persist_debug_prop))
+(expandtypeattribute (persist_debug_prop_202504) true)
+(typeattribute persist_debug_prop_202504)
+(typeattributeset hal_can_controller_service_202504 (hal_can_controller_service))
+(expandtypeattribute (hal_can_controller_service_202504) true)
+(typeattribute hal_can_controller_service_202504)
+(typeattributeset telecom_service_202504 (telecom_service))
+(expandtypeattribute (telecom_service_202504) true)
+(typeattribute telecom_service_202504)
+(typeattributeset audioserver_data_file_202504 (audioserver_data_file))
+(expandtypeattribute (audioserver_data_file_202504) true)
+(typeattribute audioserver_data_file_202504)
+(typeattributeset console_device_202504 (console_device))
+(expandtypeattribute (console_device_202504) true)
+(typeattribute console_device_202504)
+(typeattributeset sensors_device_202504 (sensors_device))
+(expandtypeattribute (sensors_device_202504) true)
+(typeattribute sensors_device_202504)
+(typeattributeset llkd_202504 (llkd))
+(expandtypeattribute (llkd_202504) true)
+(typeattribute llkd_202504)
+(typeattributeset location_time_zone_manager_service_202504 (location_time_zone_manager_service))
+(expandtypeattribute (location_time_zone_manager_service_202504) true)
+(typeattribute location_time_zone_manager_service_202504)
+(typeattributeset vold_metadata_file_202504 (vold_metadata_file))
+(expandtypeattribute (vold_metadata_file_202504) true)
+(typeattribute vold_metadata_file_202504)
+(typeattributeset charger_prop_202504 (charger_prop))
+(expandtypeattribute (charger_prop_202504) true)
+(typeattribute charger_prop_202504)
+(typeattributeset samplingprofiler_service_202504 (samplingprofiler_service))
+(expandtypeattribute (samplingprofiler_service_202504) true)
+(typeattribute samplingprofiler_service_202504)
+(typeattributeset sysfs_vendor_sched_202504 (sysfs_vendor_sched))
+(expandtypeattribute (sysfs_vendor_sched_202504) true)
+(typeattribute sysfs_vendor_sched_202504)
+(typeattributeset fwk_camera_service_202504 (fwk_camera_service))
+(expandtypeattribute (fwk_camera_service_202504) true)
+(typeattribute fwk_camera_service_202504)
+(typeattributeset hal_graphics_allocator_hwservice_202504 (hal_graphics_allocator_hwservice))
+(expandtypeattribute (hal_graphics_allocator_hwservice_202504) true)
+(typeattribute hal_graphics_allocator_hwservice_202504)
+(typeattributeset hal_dumpstate_config_prop_202504 (hal_dumpstate_config_prop))
+(expandtypeattribute (hal_dumpstate_config_prop_202504) true)
+(typeattribute hal_dumpstate_config_prop_202504)
+(typeattributeset overlayfs_file_202504 (overlayfs_file))
+(expandtypeattribute (overlayfs_file_202504) true)
+(typeattribute overlayfs_file_202504)
+(typeattributeset proc_version_202504 (proc_version))
+(expandtypeattribute (proc_version_202504) true)
+(typeattribute proc_version_202504)
+(typeattributeset search_service_202504 (search_service))
+(expandtypeattribute (search_service_202504) true)
+(typeattribute search_service_202504)
+(typeattributeset nearby_service_202504 (nearby_service))
+(expandtypeattribute (nearby_service_202504) true)
+(typeattribute nearby_service_202504)
+(typeattributeset mediaserver_202504 (mediaserver))
+(expandtypeattribute (mediaserver_202504) true)
+(typeattribute mediaserver_202504)
+(typeattributeset mediaserver_exec_202504 (mediaserver_exec))
+(expandtypeattribute (mediaserver_exec_202504) true)
+(typeattribute mediaserver_exec_202504)
+(typeattributeset network_stack_service_202504 (network_stack_service))
+(expandtypeattribute (network_stack_service_202504) true)
+(typeattribute network_stack_service_202504)
+(typeattributeset oemfs_202504 (oemfs))
+(expandtypeattribute (oemfs_202504) true)
+(typeattribute oemfs_202504)
+(typeattributeset proc_cmdline_202504 (proc_cmdline))
+(expandtypeattribute (proc_cmdline_202504) true)
+(typeattribute proc_cmdline_202504)
+(typeattributeset drmserver_exec_202504 (drmserver_exec))
+(expandtypeattribute (drmserver_exec_202504) true)
+(typeattribute drmserver_exec_202504)
+(typeattributeset proc_net_tcp_udp_202504 (proc_net_tcp_udp))
+(expandtypeattribute (proc_net_tcp_udp_202504) true)
+(typeattribute proc_net_tcp_udp_202504)
+(typeattributeset resources_manager_service_202504 (resources_manager_service))
+(expandtypeattribute (resources_manager_service_202504) true)
+(typeattribute resources_manager_service_202504)
+(typeattributeset sgdisk_exec_202504 (sgdisk_exec))
+(expandtypeattribute (sgdisk_exec_202504) true)
+(typeattribute sgdisk_exec_202504)
+(typeattributeset retaildemo_prop_202504 (retaildemo_prop))
+(expandtypeattribute (retaildemo_prop_202504) true)
+(typeattribute retaildemo_prop_202504)
+(typeattributeset pdx_display_screenshot_endpoint_socket_202504 (pdx_display_screenshot_endpoint_socket))
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_202504) true)
+(typeattribute pdx_display_screenshot_endpoint_socket_202504)
+(typeattributeset simpleperf_app_runner_202504 (simpleperf_app_runner))
+(expandtypeattribute (simpleperf_app_runner_202504) true)
+(typeattribute simpleperf_app_runner_202504)
+(typeattributeset mnt_product_file_202504 (mnt_product_file))
+(expandtypeattribute (mnt_product_file_202504) true)
+(typeattribute mnt_product_file_202504)
+(typeattributeset camera_data_file_202504 (camera_data_file))
+(expandtypeattribute (camera_data_file_202504) true)
+(typeattribute camera_data_file_202504)
+(typeattributeset bluetooth_efs_file_202504 (bluetooth_efs_file))
+(expandtypeattribute (bluetooth_efs_file_202504) true)
+(typeattribute bluetooth_efs_file_202504)
+(typeattributeset media_data_file_202504 (media_data_file))
+(expandtypeattribute (media_data_file_202504) true)
+(typeattribute media_data_file_202504)
+(typeattributeset ota_data_file_202504 (ota_data_file))
+(expandtypeattribute (ota_data_file_202504) true)
+(typeattribute ota_data_file_202504)
+(typeattributeset security_state_service_202504 (security_state_service))
+(expandtypeattribute (security_state_service_202504) true)
+(typeattribute security_state_service_202504)
+(typeattributeset sysfs_fs_incfs_metrics_202504 (sysfs_fs_incfs_metrics))
+(expandtypeattribute (sysfs_fs_incfs_metrics_202504) true)
+(typeattribute sysfs_fs_incfs_metrics_202504)
+(typeattributeset telephony_config_prop_202504 (telephony_config_prop))
+(expandtypeattribute (telephony_config_prop_202504) true)
+(typeattribute telephony_config_prop_202504)
+(typeattributeset system_file_202504 (system_file))
+(expandtypeattribute (system_file_202504) true)
+(typeattribute system_file_202504)
+(typeattributeset system_seccomp_policy_file_202504 (system_seccomp_policy_file))
+(expandtypeattribute (system_seccomp_policy_file_202504) true)
+(typeattribute system_seccomp_policy_file_202504)
+(typeattributeset apk_private_tmp_file_202504 (apk_private_tmp_file))
+(expandtypeattribute (apk_private_tmp_file_202504) true)
+(typeattribute apk_private_tmp_file_202504)
+(typeattributeset hci_attach_dev_202504 (hci_attach_dev))
+(expandtypeattribute (hci_attach_dev_202504) true)
+(typeattribute hci_attach_dev_202504)
+(typeattributeset statusbar_service_202504 (statusbar_service))
+(expandtypeattribute (statusbar_service_202504) true)
+(typeattribute statusbar_service_202504)
+(typeattributeset traced_producer_socket_202504 (traced_producer_socket))
+(expandtypeattribute (traced_producer_socket_202504) true)
+(typeattribute traced_producer_socket_202504)
+(typeattributeset hal_input_classifier_hwservice_202504 (hal_input_classifier_hwservice))
+(expandtypeattribute (hal_input_classifier_hwservice_202504) true)
+(typeattribute hal_input_classifier_hwservice_202504)
+(typeattributeset idmap_202504 (idmap))
+(expandtypeattribute (idmap_202504) true)
+(typeattribute idmap_202504)
+(typeattributeset binderfs_logs_stats_202504 (binderfs_logs_stats))
+(expandtypeattribute (binderfs_logs_stats_202504) true)
+(typeattribute binderfs_logs_stats_202504)
+(typeattributeset fwmarkd_socket_202504 (fwmarkd_socket))
+(expandtypeattribute (fwmarkd_socket_202504) true)
+(typeattribute fwmarkd_socket_202504)
+(typeattributeset device_config_media_native_prop_202504 (device_config_media_native_prop))
+(expandtypeattribute (device_config_media_native_prop_202504) true)
+(typeattribute device_config_media_native_prop_202504)
+(typeattributeset cameraserver_exec_202504 (cameraserver_exec))
+(expandtypeattribute (cameraserver_exec_202504) true)
+(typeattribute cameraserver_exec_202504)
+(typeattributeset device_config_nnapi_native_prop_202504 (device_config_nnapi_native_prop))
+(expandtypeattribute (device_config_nnapi_native_prop_202504) true)
+(typeattribute device_config_nnapi_native_prop_202504)
+(typeattributeset shortcut_service_202504 (shortcut_service))
+(expandtypeattribute (shortcut_service_202504) true)
+(typeattribute shortcut_service_202504)
+(typeattributeset credstore_data_file_202504 (credstore_data_file))
+(expandtypeattribute (credstore_data_file_202504) true)
+(typeattribute credstore_data_file_202504)
+(typeattributeset device_state_service_202504 (device_state_service))
+(expandtypeattribute (device_state_service_202504) true)
+(typeattribute device_state_service_202504)
+(typeattributeset profman_202504 (profman))
+(expandtypeattribute (profman_202504) true)
+(typeattribute profman_202504)
+(typeattributeset heapprofd_enabled_prop_202504 (heapprofd_enabled_prop))
+(expandtypeattribute (heapprofd_enabled_prop_202504) true)
+(typeattribute heapprofd_enabled_prop_202504)
+(typeattributeset ctl_sigstop_prop_202504 (ctl_sigstop_prop))
+(expandtypeattribute (ctl_sigstop_prop_202504) true)
+(typeattribute ctl_sigstop_prop_202504)
+(typeattributeset media_rw_data_file_202504 (media_rw_data_file))
+(expandtypeattribute (media_rw_data_file_202504) true)
+(typeattribute media_rw_data_file_202504)
+(typeattributeset system_config_service_202504 (system_config_service))
+(expandtypeattribute (system_config_service_202504) true)
+(typeattribute system_config_service_202504)
+(typeattributeset gnss_time_update_service_202504 (gnss_time_update_service))
+(expandtypeattribute (gnss_time_update_service_202504) true)
+(typeattribute gnss_time_update_service_202504)
+(typeattributeset binder_cache_system_server_prop_202504 (binder_cache_system_server_prop))
+(expandtypeattribute (binder_cache_system_server_prop_202504) true)
+(typeattribute binder_cache_system_server_prop_202504)
+(typeattributeset coredump_file_202504 (coredump_file))
+(expandtypeattribute (coredump_file_202504) true)
+(typeattribute coredump_file_202504)
+(typeattributeset ctl_interface_stop_prop_202504 (ctl_interface_stop_prop))
+(expandtypeattribute (ctl_interface_stop_prop_202504) true)
+(typeattribute ctl_interface_stop_prop_202504)
+(typeattributeset serial_device_202504 (serial_device))
+(expandtypeattribute (serial_device_202504) true)
+(typeattribute serial_device_202504)
+(typeattributeset healthconnect_service_202504 (healthconnect_service))
+(expandtypeattribute (healthconnect_service_202504) true)
+(typeattribute healthconnect_service_202504)
+(typeattributeset traced_consumer_socket_202504 (traced_consumer_socket))
+(expandtypeattribute (traced_consumer_socket_202504) true)
+(typeattribute traced_consumer_socket_202504)
+(typeattributeset devicestoragemonitor_service_202504 (devicestoragemonitor_service))
+(expandtypeattribute (devicestoragemonitor_service_202504) true)
+(typeattribute devicestoragemonitor_service_202504)
+(typeattributeset enable_16k_pages_prop_202504 (enable_16k_pages_prop))
+(expandtypeattribute (enable_16k_pages_prop_202504) true)
+(typeattribute enable_16k_pages_prop_202504)
+(typeattributeset virtual_camera_exec_202504 (virtual_camera_exec))
+(expandtypeattribute (virtual_camera_exec_202504) true)
+(typeattribute virtual_camera_exec_202504)
+(typeattributeset boottrace_data_file_202504 (boottrace_data_file))
+(expandtypeattribute (boottrace_data_file_202504) true)
+(typeattribute boottrace_data_file_202504)
+(typeattributeset proc_uid_time_in_state_202504 (proc_uid_time_in_state))
+(expandtypeattribute (proc_uid_time_in_state_202504) true)
+(typeattribute proc_uid_time_in_state_202504)
+(typeattributeset apex_metadata_file_202504 (apex_metadata_file))
+(expandtypeattribute (apex_metadata_file_202504) true)
+(typeattribute apex_metadata_file_202504)
+(typeattributeset hal_audio_hwservice_202504 (hal_audio_hwservice))
+(expandtypeattribute (hal_audio_hwservice_202504) true)
+(typeattribute hal_audio_hwservice_202504)
+(typeattributeset iris_service_202504 (iris_service))
+(expandtypeattribute (iris_service_202504) true)
+(typeattribute iris_service_202504)
+(typeattributeset cache_backup_file_202504 (cache_backup_file))
+(expandtypeattribute (cache_backup_file_202504) true)
+(typeattribute cache_backup_file_202504)
+(typeattributeset hal_usb_gadget_hwservice_202504 (hal_usb_gadget_hwservice))
+(expandtypeattribute (hal_usb_gadget_hwservice_202504) true)
+(typeattribute hal_usb_gadget_hwservice_202504)
+(typeattributeset biometric_service_202504 (biometric_service))
+(expandtypeattribute (biometric_service_202504) true)
+(typeattribute biometric_service_202504)
+(typeattributeset sysfs_extcon_202504 (sysfs_extcon))
+(expandtypeattribute (sysfs_extcon_202504) true)
+(typeattribute sysfs_extcon_202504)
+(typeattributeset usb_serial_device_202504 (usb_serial_device))
+(expandtypeattribute (usb_serial_device_202504) true)
+(typeattribute usb_serial_device_202504)
+(typeattributeset watchdogd_exec_202504 (watchdogd_exec))
+(expandtypeattribute (watchdogd_exec_202504) true)
+(typeattribute watchdogd_exec_202504)
+(typeattributeset surfaceflinger_tmpfs_202504 (surfaceflinger_tmpfs))
+(expandtypeattribute (surfaceflinger_tmpfs_202504) true)
+(typeattribute surfaceflinger_tmpfs_202504)
+(typeattributeset fs_bpf_vendor_202504 (fs_bpf_vendor))
+(expandtypeattribute (fs_bpf_vendor_202504) true)
+(typeattribute fs_bpf_vendor_202504)
+(typeattributeset lmkd_202504 (lmkd))
+(expandtypeattribute (lmkd_202504) true)
+(typeattribute lmkd_202504)
+(typeattributeset deviceidle_service_202504 (deviceidle_service))
+(expandtypeattribute (deviceidle_service_202504) true)
+(typeattribute deviceidle_service_202504)
+(typeattributeset dropbox_service_202504 (dropbox_service))
+(expandtypeattribute (dropbox_service_202504) true)
+(typeattribute dropbox_service_202504)
+(typeattributeset userspace_reboot_metadata_file_202504 (userspace_reboot_metadata_file))
+(expandtypeattribute (userspace_reboot_metadata_file_202504) true)
+(typeattribute userspace_reboot_metadata_file_202504)
+(typeattributeset hidl_token_hwservice_202504 (hidl_token_hwservice))
+(expandtypeattribute (hidl_token_hwservice_202504) true)
+(typeattribute hidl_token_hwservice_202504)
+(typeattributeset storagestats_service_202504 (storagestats_service))
+(expandtypeattribute (storagestats_service_202504) true)
+(typeattribute storagestats_service_202504)
+(typeattributeset activity_task_service_202504 (activity_task_service))
+(expandtypeattribute (activity_task_service_202504) true)
+(typeattribute activity_task_service_202504)
+(typeattributeset hal_camera_service_202504 (hal_camera_service))
+(expandtypeattribute (hal_camera_service_202504) true)
+(typeattribute hal_camera_service_202504)
+(typeattributeset wifip2p_service_202504 (wifip2p_service))
+(expandtypeattribute (wifip2p_service_202504) true)
+(typeattribute wifip2p_service_202504)
+(typeattributeset fs_bpf_tethering_202504 (fs_bpf_tethering))
+(expandtypeattribute (fs_bpf_tethering_202504) true)
+(typeattribute fs_bpf_tethering_202504)
+(typeattributeset sysfs_switch_202504 (sysfs_switch))
+(expandtypeattribute (sysfs_switch_202504) true)
+(typeattribute sysfs_switch_202504)
+(typeattributeset device_config_input_native_boot_prop_202504 (device_config_input_native_boot_prop))
+(expandtypeattribute (device_config_input_native_boot_prop_202504) true)
+(typeattribute device_config_input_native_boot_prop_202504)
+(typeattributeset registry_service_202504 (registry_service))
+(expandtypeattribute (registry_service_202504) true)
+(typeattribute registry_service_202504)
+(typeattributeset aconfig_storage_metadata_file_202504 (aconfig_storage_metadata_file))
+(expandtypeattribute (aconfig_storage_metadata_file_202504) true)
+(typeattribute aconfig_storage_metadata_file_202504)
+(typeattributeset platform_app_202504 (platform_app))
+(expandtypeattribute (platform_app_202504) true)
+(typeattribute platform_app_202504)
+(typeattributeset hidraw_device_202504 (hidraw_device))
+(expandtypeattribute (hidraw_device_202504) true)
+(typeattribute hidraw_device_202504)
+(typeattributeset sysfs_batteryinfo_202504 (sysfs_batteryinfo))
+(expandtypeattribute (sysfs_batteryinfo_202504) true)
+(typeattribute sysfs_batteryinfo_202504)
+(typeattributeset framework_watchdog_config_prop_202504 (framework_watchdog_config_prop))
+(expandtypeattribute (framework_watchdog_config_prop_202504) true)
+(typeattribute framework_watchdog_config_prop_202504)
+(typeattributeset hal_drm_service_202504 (hal_drm_service))
+(expandtypeattribute (hal_drm_service_202504) true)
+(typeattribute hal_drm_service_202504)
+(typeattributeset recovery_persist_202504 (recovery_persist))
+(expandtypeattribute (recovery_persist_202504) true)
+(typeattribute recovery_persist_202504)
+(typeattributeset package_native_service_202504 (package_native_service))
+(expandtypeattribute (package_native_service_202504) true)
+(typeattribute package_native_service_202504)
+(typeattributeset jobscheduler_service_202504 (jobscheduler_service))
+(expandtypeattribute (jobscheduler_service_202504) true)
+(typeattribute jobscheduler_service_202504)
+(typeattributeset update_engine_stable_service_202504 (update_engine_stable_service))
+(expandtypeattribute (update_engine_stable_service_202504) true)
+(typeattribute update_engine_stable_service_202504)
+(typeattributeset system_lib_file_202504 (system_lib_file))
+(expandtypeattribute (system_lib_file_202504) true)
+(typeattribute system_lib_file_202504)
+(typeattributeset media_userdir_file_202504 (media_userdir_file))
+(expandtypeattribute (media_userdir_file_202504) true)
+(typeattribute media_userdir_file_202504)
+(typeattributeset keystore2_key_contexts_file_202504 (keystore2_key_contexts_file))
+(expandtypeattribute (keystore2_key_contexts_file_202504) true)
+(typeattribute keystore2_key_contexts_file_202504)
+(typeattributeset traced_perf_socket_202504 (traced_perf_socket))
+(expandtypeattribute (traced_perf_socket_202504) true)
+(typeattribute traced_perf_socket_202504)
+(typeattributeset proc_iomem_202504 (proc_iomem))
+(expandtypeattribute (proc_iomem_202504) true)
+(typeattribute proc_iomem_202504)
+(typeattributeset virtual_fingerprint_hal_prop_202504 (virtual_fingerprint_hal_prop))
+(expandtypeattribute (virtual_fingerprint_hal_prop_202504) true)
+(typeattribute virtual_fingerprint_hal_prop_202504)
+(typeattributeset hal_camera_hwservice_202504 (hal_camera_hwservice))
+(expandtypeattribute (hal_camera_hwservice_202504) true)
+(typeattribute hal_camera_hwservice_202504)
+(typeattributeset proc_timer_202504 (proc_timer))
+(expandtypeattribute (proc_timer_202504) true)
+(typeattribute proc_timer_202504)
+(typeattributeset pdx_performance_client_channel_socket_202504 (pdx_performance_client_channel_socket))
+(expandtypeattribute (pdx_performance_client_channel_socket_202504) true)
+(typeattribute pdx_performance_client_channel_socket_202504)
+(typeattributeset sdcardd_exec_202504 (sdcardd_exec))
+(expandtypeattribute (sdcardd_exec_202504) true)
+(typeattribute sdcardd_exec_202504)
+(typeattributeset kmsg_debug_device_202504 (kmsg_debug_device))
+(expandtypeattribute (kmsg_debug_device_202504) true)
+(typeattribute kmsg_debug_device_202504)
+(typeattributeset mediametrics_202504 (mediametrics))
+(expandtypeattribute (mediametrics_202504) true)
+(typeattribute mediametrics_202504)
+(typeattributeset mediametrics_exec_202504 (mediametrics_exec))
+(expandtypeattribute (mediametrics_exec_202504) true)
+(typeattribute mediametrics_exec_202504)
+(typeattributeset hal_broadcastradio_service_202504 (hal_broadcastradio_service))
+(expandtypeattribute (hal_broadcastradio_service_202504) true)
+(typeattribute hal_broadcastradio_service_202504)
+(typeattributeset sysfs_wakeup_202504 (sysfs_wakeup))
+(expandtypeattribute (sysfs_wakeup_202504) true)
+(typeattribute sysfs_wakeup_202504)
+(typeattributeset audio_device_202504 (audio_device))
+(expandtypeattribute (audio_device_202504) true)
+(typeattribute audio_device_202504)
+(typeattributeset webviewupdate_service_202504 (webviewupdate_service))
+(expandtypeattribute (webviewupdate_service_202504) true)
+(typeattribute webviewupdate_service_202504)
+(typeattributeset bufferhubd_exec_202504 (bufferhubd_exec))
+(expandtypeattribute (bufferhubd_exec_202504) true)
+(typeattribute bufferhubd_exec_202504)
+(typeattributeset device_config_updatable_service_202504 (device_config_updatable_service))
+(expandtypeattribute (device_config_updatable_service_202504) true)
+(typeattribute device_config_updatable_service_202504)
+(typeattributeset userspace_reboot_config_prop_202504 (userspace_reboot_config_prop))
+(expandtypeattribute (userspace_reboot_config_prop_202504) true)
+(typeattribute userspace_reboot_config_prop_202504)
+(typeattributeset hal_macsec_service_202504 (hal_macsec_service))
+(expandtypeattribute (hal_macsec_service_202504) true)
+(typeattribute hal_macsec_service_202504)
+(typeattributeset sysfs_lowmemorykiller_202504 (sysfs_lowmemorykiller))
+(expandtypeattribute (sysfs_lowmemorykiller_202504) true)
+(typeattribute sysfs_lowmemorykiller_202504)
+(typeattributeset reboot_readiness_service_202504 (reboot_readiness_service))
+(expandtypeattribute (reboot_readiness_service_202504) true)
+(typeattribute reboot_readiness_service_202504)
+(typeattributeset hwservicemanager_exec_202504 (hwservicemanager_exec))
+(expandtypeattribute (hwservicemanager_exec_202504) true)
+(typeattribute hwservicemanager_exec_202504)
+(typeattributeset servicemanager_exec_202504 (servicemanager_exec))
+(expandtypeattribute (servicemanager_exec_202504) true)
+(typeattribute servicemanager_exec_202504)
+(typeattributeset pdx_performance_dir_202504 (pdx_performance_dir))
+(expandtypeattribute (pdx_performance_dir_202504) true)
+(typeattribute pdx_performance_dir_202504)
+(typeattributeset proc_cpuinfo_202504 (proc_cpuinfo))
+(expandtypeattribute (proc_cpuinfo_202504) true)
+(typeattribute proc_cpuinfo_202504)
+(typeattributeset proc_meminfo_202504 (proc_meminfo))
+(expandtypeattribute (proc_meminfo_202504) true)
+(typeattribute proc_meminfo_202504)
+(typeattributeset device_config_netd_native_prop_202504 (device_config_netd_native_prop))
+(expandtypeattribute (device_config_netd_native_prop_202504) true)
+(typeattribute device_config_netd_native_prop_202504)
+(typeattributeset zygote_socket_202504 (zygote_socket))
+(expandtypeattribute (zygote_socket_202504) true)
+(typeattribute zygote_socket_202504)
+(typeattributeset vendor_framework_file_202504 (vendor_framework_file))
+(expandtypeattribute (vendor_framework_file_202504) true)
+(typeattribute vendor_framework_file_202504)
+(typeattributeset boottime_prop_202504 (boottime_prop))
+(expandtypeattribute (boottime_prop_202504) true)
+(typeattribute boottime_prop_202504)
+(typeattributeset fsck_untrusted_202504 (fsck_untrusted))
+(expandtypeattribute (fsck_untrusted_202504) true)
+(typeattribute fsck_untrusted_202504)
+(typeattributeset uhid_device_202504 (uhid_device))
+(expandtypeattribute (uhid_device_202504) true)
+(typeattribute uhid_device_202504)
+(typeattributeset system_trace_prop_202504 (system_trace_prop))
+(expandtypeattribute (system_trace_prop_202504) true)
+(typeattribute system_trace_prop_202504)
+(typeattributeset ctl_start_prop_202504 (ctl_start_prop))
+(expandtypeattribute (ctl_start_prop_202504) true)
+(typeattribute ctl_start_prop_202504)
+(typeattributeset incident_service_202504 (incident_service))
+(expandtypeattribute (incident_service_202504) true)
+(typeattribute incident_service_202504)
+(typeattributeset apex_ready_prop_202504 (apex_ready_prop))
+(expandtypeattribute (apex_ready_prop_202504) true)
+(typeattribute apex_ready_prop_202504)
+(typeattributeset ctl_bootanim_prop_202504 (ctl_bootanim_prop))
+(expandtypeattribute (ctl_bootanim_prop_202504) true)
+(typeattribute ctl_bootanim_prop_202504)
+(typeattributeset drm_forcel3_prop_202504 (drm_forcel3_prop))
+(expandtypeattribute (drm_forcel3_prop_202504) true)
+(typeattribute drm_forcel3_prop_202504)
+(typeattributeset fwk_sensor_service_202504 (fwk_sensor_service))
+(expandtypeattribute (fwk_sensor_service_202504) true)
+(typeattribute fwk_sensor_service_202504)
+(typeattributeset restorecon_prop_202504 (restorecon_prop))
+(expandtypeattribute (restorecon_prop_202504) true)
+(typeattribute restorecon_prop_202504)
+(typeattributeset account_service_202504 (account_service))
+(expandtypeattribute (account_service_202504) true)
+(typeattribute account_service_202504)
+(typeattributeset content_service_202504 (content_service))
+(expandtypeattribute (content_service_202504) true)
+(typeattribute content_service_202504)
+(typeattributeset mount_service_202504 (mount_service))
+(expandtypeattribute (mount_service_202504) true)
+(typeattribute mount_service_202504)
+(typeattributeset quick_start_prop_202504 (quick_start_prop))
+(expandtypeattribute (quick_start_prop_202504) true)
+(typeattribute quick_start_prop_202504)
+(typeattributeset mediatranscoding_202504 (mediatranscoding))
+(expandtypeattribute (mediatranscoding_202504) true)
+(typeattribute mediatranscoding_202504)
+(typeattributeset net_radio_prop_202504 (net_radio_prop))
+(expandtypeattribute (net_radio_prop_202504) true)
+(typeattribute net_radio_prop_202504)
+(typeattributeset sysfs_usermodehelper_202504 (sysfs_usermodehelper))
+(expandtypeattribute (sysfs_usermodehelper_202504) true)
+(typeattribute sysfs_usermodehelper_202504)
+(typeattributeset asec_apk_file_202504 (asec_apk_file))
+(expandtypeattribute (asec_apk_file_202504) true)
+(typeattribute asec_apk_file_202504)
+(typeattributeset heapdump_data_file_202504 (heapdump_data_file))
+(expandtypeattribute (heapdump_data_file_202504) true)
+(typeattribute heapdump_data_file_202504)
+(typeattributeset sysfs_dt_firmware_android_202504 (sysfs_dt_firmware_android))
+(expandtypeattribute (sysfs_dt_firmware_android_202504) true)
+(typeattribute sysfs_dt_firmware_android_202504)
+(typeattributeset hal_authsecret_hwservice_202504 (hal_authsecret_hwservice))
+(expandtypeattribute (hal_authsecret_hwservice_202504) true)
+(typeattribute hal_authsecret_hwservice_202504)
+(typeattributeset update_verifier_exec_202504 (update_verifier_exec))
+(expandtypeattribute (update_verifier_exec_202504) true)
+(typeattribute update_verifier_exec_202504)
+(typeattributeset property_service_version_prop_202504 (property_service_version_prop))
+(expandtypeattribute (property_service_version_prop_202504) true)
+(typeattribute property_service_version_prop_202504)
+(typeattributeset hal_dumpstate_hwservice_202504 (hal_dumpstate_hwservice))
+(expandtypeattribute (hal_dumpstate_hwservice_202504) true)
+(typeattribute hal_dumpstate_hwservice_202504)
+(typeattributeset lpdump_service_202504 (lpdump_service))
+(expandtypeattribute (lpdump_service_202504) true)
+(typeattribute lpdump_service_202504)
+(typeattributeset vibrator_manager_service_202504 (vibrator_manager_service))
+(expandtypeattribute (vibrator_manager_service_202504) true)
+(typeattribute vibrator_manager_service_202504)
+(typeattributeset build_attestation_prop_202504 (build_attestation_prop))
+(expandtypeattribute (build_attestation_prop_202504) true)
+(typeattribute build_attestation_prop_202504)
+(typeattributeset cache_private_backup_file_202504 (cache_private_backup_file))
+(expandtypeattribute (cache_private_backup_file_202504) true)
+(typeattribute cache_private_backup_file_202504)
+(typeattributeset recovery_socket_202504 (recovery_socket))
+(expandtypeattribute (recovery_socket_202504) true)
+(typeattribute recovery_socket_202504)
+(typeattributeset hal_usb_service_202504 (hal_usb_service))
+(expandtypeattribute (hal_usb_service_202504) true)
+(typeattribute hal_usb_service_202504)
+(typeattributeset usb_service_202504 (usb_service))
+(expandtypeattribute (usb_service_202504) true)
+(typeattribute usb_service_202504)
+(typeattributeset wifi_usd_service_202504 (wifi_usd_service))
+(expandtypeattribute (wifi_usd_service_202504) true)
+(typeattribute wifi_usd_service_202504)
+(typeattributeset ctl_stop_prop_202504 (ctl_stop_prop))
+(expandtypeattribute (ctl_stop_prop_202504) true)
+(typeattribute ctl_stop_prop_202504)
+(typeattributeset dm_user_device_202504 (dm_user_device))
+(expandtypeattribute (dm_user_device_202504) true)
+(typeattribute dm_user_device_202504)
+(typeattributeset packagemanager_config_prop_202504 (packagemanager_config_prop))
+(expandtypeattribute (packagemanager_config_prop_202504) true)
+(typeattribute packagemanager_config_prop_202504)
+(typeattributeset battery_service_202504 (battery_service))
+(expandtypeattribute (battery_service_202504) true)
+(typeattribute battery_service_202504)
+(typeattributeset incremental_control_file_202504 (incremental_control_file))
+(expandtypeattribute (incremental_control_file_202504) true)
+(typeattribute incremental_control_file_202504)
+(typeattributeset proc_lowmemorykiller_202504 (proc_lowmemorykiller))
+(expandtypeattribute (proc_lowmemorykiller_202504) true)
+(typeattribute proc_lowmemorykiller_202504)
+(typeattributeset recovery_service_202504 (recovery_service))
+(expandtypeattribute (recovery_service_202504) true)
+(typeattribute recovery_service_202504)
+(typeattributeset ctl_gsid_prop_202504 (ctl_gsid_prop))
+(expandtypeattribute (ctl_gsid_prop_202504) true)
+(typeattribute ctl_gsid_prop_202504)
+(typeattributeset ctl_fuse_prop_202504 (ctl_fuse_prop))
+(expandtypeattribute (ctl_fuse_prop_202504) true)
+(typeattribute ctl_fuse_prop_202504)
+(typeattributeset ctl_console_prop_202504 (ctl_console_prop))
+(expandtypeattribute (ctl_console_prop_202504) true)
+(typeattribute ctl_console_prop_202504)
+(typeattributeset gatekeeperd_exec_202504 (gatekeeperd_exec))
+(expandtypeattribute (gatekeeperd_exec_202504) true)
+(typeattribute gatekeeperd_exec_202504)
+(typeattributeset sockfs_202504 (sockfs))
+(expandtypeattribute (sockfs_202504) true)
+(typeattribute sockfs_202504)
+(typeattributeset trust_service_202504 (trust_service))
+(expandtypeattribute (trust_service_202504) true)
+(typeattribute trust_service_202504)
+(typeattributeset usb_control_prop_202504 (usb_control_prop))
+(expandtypeattribute (usb_control_prop_202504) true)
+(typeattribute usb_control_prop_202504)
+(typeattributeset ffs_control_prop_202504 (ffs_control_prop))
+(expandtypeattribute (ffs_control_prop_202504) true)
+(typeattribute ffs_control_prop_202504)
+(typeattributeset ctl_adbd_prop_202504 (ctl_adbd_prop))
+(expandtypeattribute (ctl_adbd_prop_202504) true)
+(typeattribute ctl_adbd_prop_202504)
+(typeattributeset binfmt_miscfs_202504 (binfmt_miscfs))
+(expandtypeattribute (binfmt_miscfs_202504) true)
+(typeattribute binfmt_miscfs_202504)
+(typeattributeset storage_file_202504 (storage_file))
+(expandtypeattribute (storage_file_202504) true)
+(typeattribute storage_file_202504)
+(typeattributeset storagemanager_config_prop_202504 (storagemanager_config_prop))
+(expandtypeattribute (storagemanager_config_prop_202504) true)
+(typeattribute storagemanager_config_prop_202504)
+(typeattributeset vendor_vm_file_202504 (vendor_vm_file))
+(expandtypeattribute (vendor_vm_file_202504) true)
+(typeattribute vendor_vm_file_202504)
+(typeattributeset adservices_manager_service_202504 (adservices_manager_service))
+(expandtypeattribute (adservices_manager_service_202504) true)
+(typeattribute adservices_manager_service_202504)
+(typeattributeset update_verifier_202504 (update_verifier))
+(expandtypeattribute (update_verifier_202504) true)
+(typeattribute update_verifier_202504)
+(typeattributeset wifi_key_202504 (wifi_key))
+(expandtypeattribute (wifi_key_202504) true)
+(typeattribute wifi_key_202504)
+(typeattributeset ctl_mdnsd_prop_202504 (ctl_mdnsd_prop))
+(expandtypeattribute (ctl_mdnsd_prop_202504) true)
+(typeattribute ctl_mdnsd_prop_202504)
+(typeattributeset use_memfd_prop_202504 (use_memfd_prop))
+(expandtypeattribute (use_memfd_prop_202504) true)
+(typeattribute use_memfd_prop_202504)
+(typeattributeset mnt_media_rw_file_202504 (mnt_media_rw_file))
+(expandtypeattribute (mnt_media_rw_file_202504) true)
+(typeattribute mnt_media_rw_file_202504)
+(typeattributeset sysfs_transparent_hugepage_202504 (sysfs_transparent_hugepage))
+(expandtypeattribute (sysfs_transparent_hugepage_202504) true)
+(typeattribute sysfs_transparent_hugepage_202504)
+(typeattributeset update_engine_data_file_202504 (update_engine_data_file))
+(expandtypeattribute (update_engine_data_file_202504) true)
+(typeattribute update_engine_data_file_202504)
+(typeattributeset binderfs_logs_transactions_202504 (binderfs_logs_transactions))
+(expandtypeattribute (binderfs_logs_transactions_202504) true)
+(typeattribute binderfs_logs_transactions_202504)
+(typeattributeset face_vendor_data_file_202504 (face_vendor_data_file))
+(expandtypeattribute (face_vendor_data_file_202504) true)
+(typeattribute face_vendor_data_file_202504)
+(typeattributeset hal_uwb_service_202504 (hal_uwb_service))
+(expandtypeattribute (hal_uwb_service_202504) true)
+(typeattribute hal_uwb_service_202504)
+(typeattributeset uwb_service_202504 (uwb_service))
+(expandtypeattribute (uwb_service_202504) true)
+(typeattribute uwb_service_202504)
+(typeattributeset hal_evs_service_202504 (hal_evs_service))
+(expandtypeattribute (hal_evs_service_202504) true)
+(typeattribute hal_evs_service_202504)
+(typeattributeset staging_data_file_202504 (staging_data_file))
+(expandtypeattribute (staging_data_file_202504) true)
+(typeattribute staging_data_file_202504)
+(typeattributeset sysfs_devices_block_202504 (sysfs_devices_block))
+(expandtypeattribute (sysfs_devices_block_202504) true)
+(typeattribute sysfs_devices_block_202504)
+(typeattributeset mnt_expand_file_202504 (mnt_expand_file))
+(expandtypeattribute (mnt_expand_file_202504) true)
+(typeattribute mnt_expand_file_202504)
+(typeattributeset system_update_service_202504 (system_update_service))
+(expandtypeattribute (system_update_service_202504) true)
+(typeattribute system_update_service_202504)
+(typeattributeset fwk_display_hwservice_202504 (fwk_display_hwservice))
+(expandtypeattribute (fwk_display_hwservice_202504) true)
+(typeattribute fwk_display_hwservice_202504)
+(typeattributeset virtual_face_prop_202504 (virtual_face_prop))
+(expandtypeattribute (virtual_face_prop_202504) true)
+(typeattribute virtual_face_prop_202504)
+(typeattributeset vendor_socket_hook_prop_202504 (vendor_socket_hook_prop))
+(expandtypeattribute (vendor_socket_hook_prop_202504) true)
+(typeattribute vendor_socket_hook_prop_202504)
+(typeattributeset tombstoned_crash_socket_202504 (tombstoned_crash_socket))
+(expandtypeattribute (tombstoned_crash_socket_202504) true)
+(typeattribute tombstoned_crash_socket_202504)
+(typeattributeset proc_drop_caches_202504 (proc_drop_caches))
+(expandtypeattribute (proc_drop_caches_202504) true)
+(typeattribute proc_drop_caches_202504)
+(typeattributeset zram_control_prop_202504 (zram_control_prop))
+(expandtypeattribute (zram_control_prop_202504) true)
+(typeattribute zram_control_prop_202504)
+(typeattributeset app_search_service_202504 (app_search_service))
+(expandtypeattribute (app_search_service_202504) true)
+(typeattribute app_search_service_202504)
+(typeattributeset credstore_exec_202504 (credstore_exec))
+(expandtypeattribute (credstore_exec_202504) true)
+(typeattribute credstore_exec_202504)
+(typeattributeset resourcecache_data_file_202504 (resourcecache_data_file))
+(expandtypeattribute (resourcecache_data_file_202504) true)
+(typeattribute resourcecache_data_file_202504)
+(typeattributeset netd_service_202504 (netd_service))
+(expandtypeattribute (netd_service_202504) true)
+(typeattribute netd_service_202504)
+(typeattributeset auth_service_202504 (auth_service))
+(expandtypeattribute (auth_service_202504) true)
+(typeattribute auth_service_202504)
+(typeattributeset postinstall_apex_mnt_dir_202504 (postinstall_apex_mnt_dir))
+(expandtypeattribute (postinstall_apex_mnt_dir_202504) true)
+(typeattribute postinstall_apex_mnt_dir_202504)
+(typeattributeset bpf_progs_loaded_prop_202504 (bpf_progs_loaded_prop))
+(expandtypeattribute (bpf_progs_loaded_prop_202504) true)
+(typeattribute bpf_progs_loaded_prop_202504)
+(typeattributeset apex_system_server_data_file_202504 (apex_system_server_data_file))
+(expandtypeattribute (apex_system_server_data_file_202504) true)
+(typeattribute apex_system_server_data_file_202504)
+(typeattributeset fwk_scheduler_hwservice_202504 (fwk_scheduler_hwservice))
+(expandtypeattribute (fwk_scheduler_hwservice_202504) true)
+(typeattribute fwk_scheduler_hwservice_202504)
+(typeattributeset fwk_altitude_service_202504 (fwk_altitude_service))
+(expandtypeattribute (fwk_altitude_service_202504) true)
+(typeattribute fwk_altitude_service_202504)
+(typeattributeset memtrackproxy_service_202504 (memtrackproxy_service))
+(expandtypeattribute (memtrackproxy_service_202504) true)
+(typeattribute memtrackproxy_service_202504)
+(typeattributeset sensor_privacy_service_202504 (sensor_privacy_service))
+(expandtypeattribute (sensor_privacy_service_202504) true)
+(typeattribute sensor_privacy_service_202504)
+(typeattributeset libc_debug_prop_202504 (libc_debug_prop))
+(expandtypeattribute (libc_debug_prop_202504) true)
+(typeattribute libc_debug_prop_202504)
+(typeattributeset power_debug_prop_202504 (power_debug_prop))
+(expandtypeattribute (power_debug_prop_202504) true)
+(typeattribute power_debug_prop_202504)
+(typeattributeset log_tag_prop_202504 (log_tag_prop))
+(expandtypeattribute (log_tag_prop_202504) true)
+(typeattribute log_tag_prop_202504)
+(typeattributeset bluetooth_a2dp_offload_prop_202504 (bluetooth_a2dp_offload_prop))
+(expandtypeattribute (bluetooth_a2dp_offload_prop_202504) true)
+(typeattribute bluetooth_a2dp_offload_prop_202504)
+(typeattributeset tombstone_data_file_202504 (tombstone_data_file))
+(expandtypeattribute (tombstone_data_file_202504) true)
+(typeattribute tombstone_data_file_202504)
+(typeattributeset audio_service_202504 (audio_service))
+(expandtypeattribute (audio_service_202504) true)
+(typeattribute audio_service_202504)
+(typeattributeset radio_service_202504 (radio_service))
+(expandtypeattribute (radio_service_202504) true)
+(typeattribute radio_service_202504)
+(typeattributeset unencrypted_data_file_202504 (unencrypted_data_file))
+(expandtypeattribute (unencrypted_data_file_202504) true)
+(typeattribute unencrypted_data_file_202504)
+(typeattributeset gsi_metadata_file_202504 (gsi_metadata_file))
+(expandtypeattribute (gsi_metadata_file_202504) true)
+(typeattribute gsi_metadata_file_202504)
+(typeattributeset ota_metadata_file_202504 (ota_metadata_file))
+(expandtypeattribute (ota_metadata_file_202504) true)
+(typeattribute ota_metadata_file_202504)
+(typeattributeset hal_audio_service_202504 (hal_audio_service))
+(expandtypeattribute (hal_audio_service_202504) true)
+(typeattribute hal_audio_service_202504)
+(typeattributeset hal_radio_service_202504 (hal_radio_service))
+(expandtypeattribute (hal_radio_service_202504) true)
+(typeattribute hal_radio_service_202504)
+(typeattributeset proc_vendor_sched_202504 (proc_vendor_sched))
+(expandtypeattribute (proc_vendor_sched_202504) true)
+(typeattribute proc_vendor_sched_202504)
+(typeattributeset mdns_service_202504 (mdns_service))
+(expandtypeattribute (mdns_service_202504) true)
+(typeattribute mdns_service_202504)
+(typeattributeset properties_device_202504 (properties_device))
+(expandtypeattribute (properties_device_202504) true)
+(typeattribute properties_device_202504)
+(typeattributeset ota_build_prop_202504 (ota_build_prop))
+(expandtypeattribute (ota_build_prop_202504) true)
+(typeattribute ota_build_prop_202504)
+(typeattributeset vibrator_service_202504 (vibrator_service))
+(expandtypeattribute (vibrator_service_202504) true)
+(typeattribute vibrator_service_202504)
+(typeattributeset metadata_file_202504 (metadata_file))
+(expandtypeattribute (metadata_file_202504) true)
+(typeattribute metadata_file_202504)
+(typeattributeset window_service_202504 (window_service))
+(expandtypeattribute (window_service_202504) true)
+(typeattribute window_service_202504)
+(typeattributeset device_config_boot_count_prop_202504 (device_config_boot_count_prop))
+(expandtypeattribute (device_config_boot_count_prop_202504) true)
+(typeattribute device_config_boot_count_prop_202504)
+(typeattributeset vendor_keylayout_file_202504 (vendor_keylayout_file))
+(expandtypeattribute (vendor_keylayout_file_202504) true)
+(typeattribute vendor_keylayout_file_202504)
+(typeattributeset ctl_apexd_prop_202504 (ctl_apexd_prop))
+(expandtypeattribute (ctl_apexd_prop_202504) true)
+(typeattribute ctl_apexd_prop_202504)
+(typeattributeset dnsresolver_service_202504 (dnsresolver_service))
+(expandtypeattribute (dnsresolver_service_202504) true)
+(typeattribute dnsresolver_service_202504)
+(typeattributeset update_engine_202504 (update_engine))
+(expandtypeattribute (update_engine_202504) true)
+(typeattribute update_engine_202504)
+(typeattributeset apex_module_data_file_202504 (apex_module_data_file))
+(expandtypeattribute (apex_module_data_file_202504) true)
+(typeattribute apex_module_data_file_202504)
+(typeattributeset mediaextractor_202504 (mediaextractor))
+(expandtypeattribute (mediaextractor_202504) true)
+(typeattribute mediaextractor_202504)
+(typeattributeset blkid_202504 (blkid))
+(expandtypeattribute (blkid_202504) true)
+(typeattribute blkid_202504)
+(typeattributeset properties_serial_202504 (properties_serial))
+(expandtypeattribute (properties_serial_202504) true)
+(typeattribute properties_serial_202504)
+(typeattributeset fwk_bufferhub_hwservice_202504 (fwk_bufferhub_hwservice))
+(expandtypeattribute (fwk_bufferhub_hwservice_202504) true)
+(typeattribute fwk_bufferhub_hwservice_202504)
+(typeattributeset game_mode_intervention_list_file_202504 (game_mode_intervention_list_file))
+(expandtypeattribute (game_mode_intervention_list_file_202504) true)
+(typeattribute game_mode_intervention_list_file_202504)
+(typeattributeset functionfs_202504 (functionfs))
+(expandtypeattribute (functionfs_202504) true)
+(typeattribute functionfs_202504)
+(typeattributeset lowpan_prop_202504 (lowpan_prop))
+(expandtypeattribute (lowpan_prop_202504) true)
+(typeattribute lowpan_prop_202504)
+(typeattributeset aconfig_storage_flags_metadata_file_202504 (aconfig_storage_flags_metadata_file))
+(expandtypeattribute (aconfig_storage_flags_metadata_file_202504) true)
+(typeattribute aconfig_storage_flags_metadata_file_202504)
+(typeattributeset rild_debug_socket_202504 (rild_debug_socket))
+(expandtypeattribute (rild_debug_socket_202504) true)
+(typeattribute rild_debug_socket_202504)
+(typeattributeset proc_watermark_boost_factor_202504 (proc_watermark_boost_factor))
+(expandtypeattribute (proc_watermark_boost_factor_202504) true)
+(typeattribute proc_watermark_boost_factor_202504)
+(typeattributeset surfaceflinger_service_202504 (surfaceflinger_service))
+(expandtypeattribute (surfaceflinger_service_202504) true)
+(typeattribute surfaceflinger_service_202504)
+(typeattributeset powerstats_service_202504 (powerstats_service))
+(expandtypeattribute (powerstats_service_202504) true)
+(typeattribute powerstats_service_202504)
+(typeattributeset appwidget_service_202504 (appwidget_service))
+(expandtypeattribute (appwidget_service_202504) true)
+(typeattribute appwidget_service_202504)
+(typeattributeset gatekeeper_data_file_202504 (gatekeeper_data_file))
+(expandtypeattribute (gatekeeper_data_file_202504) true)
+(typeattribute gatekeeper_data_file_202504)
+(typeattributeset locale_prop_202504 (locale_prop))
+(expandtypeattribute (locale_prop_202504) true)
+(typeattribute locale_prop_202504)
+(typeattributeset bootloader_prop_202504 (bootloader_prop))
+(expandtypeattribute (bootloader_prop_202504) true)
+(typeattribute bootloader_prop_202504)
+(typeattributeset simpleperf_app_runner_exec_202504 (simpleperf_app_runner_exec))
+(expandtypeattribute (simpleperf_app_runner_exec_202504) true)
+(typeattribute simpleperf_app_runner_exec_202504)
+(typeattributeset sysfs_lru_gen_enabled_202504 (sysfs_lru_gen_enabled))
+(expandtypeattribute (sysfs_lru_gen_enabled_202504) true)
+(typeattribute sysfs_lru_gen_enabled_202504)
+(typeattributeset launcherapps_service_202504 (launcherapps_service))
+(expandtypeattribute (launcherapps_service_202504) true)
+(typeattribute launcherapps_service_202504)
+(typeattributeset hal_power_service_202504 (hal_power_service))
+(expandtypeattribute (hal_power_service_202504) true)
+(typeattribute hal_power_service_202504)
+(typeattributeset hal_graphics_composer_server_tmpfs_202504 (hal_graphics_composer_server_tmpfs))
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_202504) true)
+(typeattribute hal_graphics_composer_server_tmpfs_202504)
+(typeattributeset proc_misc_202504 (proc_misc))
+(expandtypeattribute (proc_misc_202504) true)
+(typeattribute proc_misc_202504)
+(typeattributeset virtual_camera_service_202504 (virtual_camera_service))
+(expandtypeattribute (virtual_camera_service_202504) true)
+(typeattribute virtual_camera_service_202504)
+(typeattributeset ashmem_libcutils_device_202504 (ashmem_libcutils_device))
+(expandtypeattribute (ashmem_libcutils_device_202504) true)
+(typeattribute ashmem_libcutils_device_202504)
+(typeattributeset mnt_user_file_202504 (mnt_user_file))
+(expandtypeattribute (mnt_user_file_202504) true)
+(typeattribute mnt_user_file_202504)
+(typeattributeset rs_exec_202504 (rs_exec))
+(expandtypeattribute (rs_exec_202504) true)
+(typeattribute rs_exec_202504)
+(typeattributeset su_exec_202504 (su_exec))
+(expandtypeattribute (su_exec_202504) true)
+(typeattribute su_exec_202504)
+(typeattributeset vdc_exec_202504 (vdc_exec))
+(expandtypeattribute (vdc_exec_202504) true)
+(typeattribute vdc_exec_202504)
+(typeattributeset net_data_file_202504 (net_data_file))
+(expandtypeattribute (net_data_file_202504) true)
+(typeattribute net_data_file_202504)
+(typeattributeset vold_data_file_202504 (vold_data_file))
+(expandtypeattribute (vold_data_file_202504) true)
+(typeattribute vold_data_file_202504)
+(typeattributeset tv_tuner_resource_mgr_service_202504 (tv_tuner_resource_mgr_service))
+(expandtypeattribute (tv_tuner_resource_mgr_service_202504) true)
+(typeattribute tv_tuner_resource_mgr_service_202504)
+(typeattributeset app_hibernation_service_202504 (app_hibernation_service))
+(expandtypeattribute (app_hibernation_service_202504) true)
+(typeattribute app_hibernation_service_202504)
+(typeattributeset dhcp_202504 (dhcp))
+(expandtypeattribute (dhcp_202504) true)
+(typeattribute dhcp_202504)
+(typeattributeset usbd_exec_202504 (usbd_exec))
+(expandtypeattribute (usbd_exec_202504) true)
+(typeattribute usbd_exec_202504)
+(typeattributeset app_zygote_202504 (app_zygote))
+(expandtypeattribute (app_zygote_202504) true)
+(typeattribute app_zygote_202504)
+(typeattributeset preloads_data_file_202504 (preloads_data_file))
+(expandtypeattribute (preloads_data_file_202504) true)
+(typeattribute preloads_data_file_202504)
+(typeattributeset vold_exec_202504 (vold_exec))
+(expandtypeattribute (vold_exec_202504) true)
+(typeattribute vold_exec_202504)
+(typeattributeset usagestats_service_202504 (usagestats_service))
+(expandtypeattribute (usagestats_service_202504) true)
+(typeattribute usagestats_service_202504)
+(typeattributeset proc_uid_cpupower_202504 (proc_uid_cpupower))
+(expandtypeattribute (proc_uid_cpupower_202504) true)
+(typeattribute proc_uid_cpupower_202504)
+(typeattributeset dhcp_exec_202504 (dhcp_exec))
+(expandtypeattribute (dhcp_exec_202504) true)
+(typeattribute dhcp_exec_202504)
+(typeattributeset fsck_exec_202504 (fsck_exec))
+(expandtypeattribute (fsck_exec_202504) true)
+(typeattribute fsck_exec_202504)
+(typeattributeset hal_tv_cec_hwservice_202504 (hal_tv_cec_hwservice))
+(expandtypeattribute (hal_tv_cec_hwservice_202504) true)
+(typeattribute hal_tv_cec_hwservice_202504)
+(typeattributeset adbd_exec_202504 (adbd_exec))
+(expandtypeattribute (adbd_exec_202504) true)
+(typeattribute adbd_exec_202504)
+(typeattributeset e2fs_exec_202504 (e2fs_exec))
+(expandtypeattribute (e2fs_exec_202504) true)
+(typeattribute e2fs_exec_202504)
+(typeattributeset packages_list_file_202504 (packages_list_file))
+(expandtypeattribute (packages_list_file_202504) true)
+(typeattribute packages_list_file_202504)
+(typeattributeset llkd_exec_202504 (llkd_exec))
+(expandtypeattribute (llkd_exec_202504) true)
+(typeattribute llkd_exec_202504)
+(typeattributeset lmkd_exec_202504 (lmkd_exec))
+(expandtypeattribute (lmkd_exec_202504) true)
+(typeattribute lmkd_exec_202504)
+(typeattributeset logd_exec_202504 (logd_exec))
+(expandtypeattribute (logd_exec_202504) true)
+(typeattribute logd_exec_202504)
+(typeattributeset netd_exec_202504 (netd_exec))
+(expandtypeattribute (netd_exec_202504) true)
+(typeattribute netd_exec_202504)
+(typeattributeset sgdisk_202504 (sgdisk))
+(expandtypeattribute (sgdisk_202504) true)
+(typeattribute sgdisk_202504)
+(typeattributeset init_exec_202504 (init_exec))
+(expandtypeattribute (init_exec_202504) true)
+(typeattribute init_exec_202504)
+(typeattributeset media_router_service_202504 (media_router_service))
+(expandtypeattribute (media_router_service_202504) true)
+(typeattribute media_router_service_202504)
+(typeattributeset stats_config_data_file_202504 (stats_config_data_file))
+(expandtypeattribute (stats_config_data_file_202504) true)
+(typeattribute stats_config_data_file_202504)
+(typeattributeset batteryproperties_service_202504 (batteryproperties_service))
+(expandtypeattribute (batteryproperties_service_202504) true)
+(typeattribute batteryproperties_service_202504)
+(typeattributeset storaged_service_202504 (storaged_service))
+(expandtypeattribute (storaged_service_202504) true)
+(typeattribute storaged_service_202504)
+(typeattributeset system_userdir_file_202504 (system_userdir_file))
+(expandtypeattribute (system_userdir_file_202504) true)
+(typeattribute system_userdir_file_202504)
+(typeattributeset selinuxfs_202504 (selinuxfs))
+(expandtypeattribute (selinuxfs_202504) true)
+(typeattribute selinuxfs_202504)
+(typeattributeset sysfs_thermal_202504 (sysfs_thermal))
+(expandtypeattribute (sysfs_thermal_202504) true)
+(typeattribute sysfs_thermal_202504)
+(typeattributeset system_app_service_202504 (system_app_service))
+(expandtypeattribute (system_app_service_202504) true)
+(typeattribute system_app_service_202504)
+(typeattributeset exported_config_prop_202504 (exported_config_prop))
+(expandtypeattribute (exported_config_prop_202504) true)
+(typeattribute exported_config_prop_202504)
+(typeattributeset fuse_device_202504 (fuse_device))
+(expandtypeattribute (fuse_device_202504) true)
+(typeattribute fuse_device_202504)
+(typeattributeset power_service_202504 (power_service))
+(expandtypeattribute (power_service_202504) true)
+(typeattribute power_service_202504)
+(typeattributeset uncrypt_202504 (uncrypt))
+(expandtypeattribute (uncrypt_202504) true)
+(typeattribute uncrypt_202504)
+(typeattributeset statsdw_socket_202504 (statsdw_socket))
+(expandtypeattribute (statsdw_socket_202504) true)
+(typeattribute statsdw_socket_202504)
+(typeattributeset system_jvmti_agent_prop_202504 (system_jvmti_agent_prop))
+(expandtypeattribute (system_jvmti_agent_prop_202504) true)
+(typeattribute system_jvmti_agent_prop_202504)
+(typeattributeset proc_mounts_202504 (proc_mounts))
+(expandtypeattribute (proc_mounts_202504) true)
+(typeattribute proc_mounts_202504)
+(typeattributeset pdx_display_client_channel_socket_202504 (pdx_display_client_channel_socket))
+(expandtypeattribute (pdx_display_client_channel_socket_202504) true)
+(typeattribute pdx_display_client_channel_socket_202504)
+(typeattributeset content_capture_service_202504 (content_capture_service))
+(expandtypeattribute (content_capture_service_202504) true)
+(typeattribute content_capture_service_202504)
+(typeattributeset secure_element_service_202504 (secure_element_service))
+(expandtypeattribute (secure_element_service_202504) true)
+(typeattribute secure_element_service_202504)
+(typeattributeset snapuserd_proxy_socket_202504 (snapuserd_proxy_socket))
+(expandtypeattribute (snapuserd_proxy_socket_202504) true)
+(typeattribute snapuserd_proxy_socket_202504)
+(typeattributeset vehicle_hal_prop_202504 (vehicle_hal_prop))
+(expandtypeattribute (vehicle_hal_prop_202504) true)
+(typeattribute vehicle_hal_prop_202504)
+(typeattributeset system_passwd_file_202504 (system_passwd_file))
+(expandtypeattribute (system_passwd_file_202504) true)
+(typeattribute system_passwd_file_202504)
+(typeattributeset debugfs_tracing_202504 (debugfs_tracing))
+(expandtypeattribute (debugfs_tracing_202504) true)
+(typeattribute debugfs_tracing_202504)
+(typeattributeset exported_camera_prop_202504 (exported_camera_prop))
+(expandtypeattribute (exported_camera_prop_202504) true)
+(typeattribute exported_camera_prop_202504)
+(typeattributeset build_odm_prop_202504 (build_odm_prop))
+(expandtypeattribute (build_odm_prop_202504) true)
+(typeattribute build_odm_prop_202504)
+(typeattributeset proc_buddyinfo_202504 (proc_buddyinfo))
+(expandtypeattribute (proc_buddyinfo_202504) true)
+(typeattribute proc_buddyinfo_202504)
+(typeattributeset gsi_public_metadata_file_202504 (gsi_public_metadata_file))
+(expandtypeattribute (gsi_public_metadata_file_202504) true)
+(typeattribute gsi_public_metadata_file_202504)
+(typeattributeset ot_daemon_socket_202504 (ot_daemon_socket))
+(expandtypeattribute (ot_daemon_socket_202504) true)
+(typeattribute ot_daemon_socket_202504)
+(typeattributeset keystore_maintenance_service_202504 (keystore_maintenance_service))
+(expandtypeattribute (keystore_maintenance_service_202504) true)
+(typeattribute keystore_maintenance_service_202504)
+(typeattributeset artd_pre_reboot_service_202504 (artd_pre_reboot_service))
+(expandtypeattribute (artd_pre_reboot_service_202504) true)
+(typeattribute artd_pre_reboot_service_202504)
+(typeattributeset cloudsearch_service_202504 (cloudsearch_service))
+(expandtypeattribute (cloudsearch_service_202504) true)
+(typeattribute cloudsearch_service_202504)
+(typeattributeset light_service_202504 (light_service))
+(expandtypeattribute (light_service_202504) true)
+(typeattribute light_service_202504)
+(typeattributeset surfaceflinger_color_prop_202504 (surfaceflinger_color_prop))
+(expandtypeattribute (surfaceflinger_color_prop_202504) true)
+(typeattribute surfaceflinger_color_prop_202504)
+(typeattributeset sysfs_zram_uevent_202504 (sysfs_zram_uevent))
+(expandtypeattribute (sysfs_zram_uevent_202504) true)
+(typeattribute sysfs_zram_uevent_202504)
+(typeattributeset hal_remoteaccess_service_202504 (hal_remoteaccess_service))
+(expandtypeattribute (hal_remoteaccess_service_202504) true)
+(typeattribute hal_remoteaccess_service_202504)
+(typeattributeset fingerprint_vendor_data_file_202504 (fingerprint_vendor_data_file))
+(expandtypeattribute (fingerprint_vendor_data_file_202504) true)
+(typeattribute fingerprint_vendor_data_file_202504)
+(typeattributeset trusty_security_vm_sys_vendor_prop_202504 (trusty_security_vm_sys_vendor_prop))
+(expandtypeattribute (trusty_security_vm_sys_vendor_prop_202504) true)
+(typeattribute trusty_security_vm_sys_vendor_prop_202504)
+(typeattributeset proc_modules_202504 (proc_modules))
+(expandtypeattribute (proc_modules_202504) true)
+(typeattribute proc_modules_202504)
+(typeattributeset proc_pressure_io_202504 (proc_pressure_io))
+(expandtypeattribute (proc_pressure_io_202504) true)
+(typeattribute proc_pressure_io_202504)
+(typeattributeset userdebug_or_eng_prop_202504 (userdebug_or_eng_prop))
+(expandtypeattribute (userdebug_or_eng_prop_202504) true)
+(typeattribute userdebug_or_eng_prop_202504)
+(typeattributeset virtual_touchpad_service_202504 (virtual_touchpad_service))
+(expandtypeattribute (virtual_touchpad_service_202504) true)
+(typeattribute virtual_touchpad_service_202504)
+(typeattributeset hal_keymint_service_202504 (hal_keymint_service))
+(expandtypeattribute (hal_keymint_service_202504) true)
+(typeattribute hal_keymint_service_202504)
+(typeattributeset gnss_device_202504 (gnss_device))
+(expandtypeattribute (gnss_device_202504) true)
+(typeattribute gnss_device_202504)
+(typeattributeset vendor_misc_writer_202504 (vendor_misc_writer))
+(expandtypeattribute (vendor_misc_writer_202504) true)
+(typeattribute vendor_misc_writer_202504)
+(typeattributeset proc_kpageflags_202504 (proc_kpageflags))
+(expandtypeattribute (proc_kpageflags_202504) true)
+(typeattribute proc_kpageflags_202504)
+(typeattributeset wificond_exec_202504 (wificond_exec))
+(expandtypeattribute (wificond_exec_202504) true)
+(typeattribute wificond_exec_202504)
+(typeattributeset hal_light_service_202504 (hal_light_service))
+(expandtypeattribute (hal_light_service_202504) true)
+(typeattribute hal_light_service_202504)
+(typeattributeset proc_interrupts_202504 (proc_interrupts))
+(expandtypeattribute (proc_interrupts_202504) true)
+(typeattribute proc_interrupts_202504)
+(typeattributeset sysfs_loop_202504 (sysfs_loop))
+(expandtypeattribute (sysfs_loop_202504) true)
+(typeattribute sysfs_loop_202504)
+(typeattributeset proc_percpu_pagelist_high_fraction_202504 (proc_percpu_pagelist_high_fraction))
+(expandtypeattribute (proc_percpu_pagelist_high_fraction_202504) true)
+(typeattribute proc_percpu_pagelist_high_fraction_202504)
+(typeattributeset exported_secure_prop_202504 (exported_secure_prop))
+(expandtypeattribute (exported_secure_prop_202504) true)
+(typeattribute exported_secure_prop_202504)
+(typeattributeset proc_hostname_202504 (proc_hostname))
+(expandtypeattribute (proc_hostname_202504) true)
+(typeattribute proc_hostname_202504)
+(typeattributeset hal_bluetooth_service_202504 (hal_bluetooth_service))
+(expandtypeattribute (hal_bluetooth_service_202504) true)
+(typeattribute hal_bluetooth_service_202504)
+(typeattributeset pdx_bufferhub_client_channel_socket_202504 (pdx_bufferhub_client_channel_socket))
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_202504) true)
+(typeattribute pdx_bufferhub_client_channel_socket_202504)
+(typeattributeset hal_gatekeeper_hwservice_202504 (hal_gatekeeper_hwservice))
+(expandtypeattribute (hal_gatekeeper_hwservice_202504) true)
+(typeattribute hal_gatekeeper_hwservice_202504)
+(typeattributeset slideshow_202504 (slideshow))
+(expandtypeattribute (slideshow_202504) true)
+(typeattribute slideshow_202504)
+(typeattributeset sdk_sandbox_service_202504 (sdk_sandbox_service))
+(expandtypeattribute (sdk_sandbox_service_202504) true)
+(typeattribute sdk_sandbox_service_202504)
+(typeattributeset texttospeech_service_202504 (texttospeech_service))
+(expandtypeattribute (texttospeech_service_202504) true)
+(typeattribute texttospeech_service_202504)
+(typeattributeset vendor_task_profiles_file_202504 (vendor_task_profiles_file))
+(expandtypeattribute (vendor_task_profiles_file_202504) true)
+(typeattribute vendor_task_profiles_file_202504)
+(typeattributeset system_net_netd_service_202504 (system_net_netd_service))
+(expandtypeattribute (system_net_netd_service_202504) true)
+(typeattribute system_net_netd_service_202504)
+(typeattributeset hal_wifi_supplicant_service_202504 (hal_wifi_supplicant_service))
+(expandtypeattribute (hal_wifi_supplicant_service_202504) true)
+(typeattribute hal_wifi_supplicant_service_202504)
+(typeattributeset proc_pipe_conf_202504 (proc_pipe_conf))
+(expandtypeattribute (proc_pipe_conf_202504) true)
+(typeattribute proc_pipe_conf_202504)
+(typeattributeset evsmanagerd_service_202504 (evsmanagerd_service))
+(expandtypeattribute (evsmanagerd_service_202504) true)
+(typeattribute evsmanagerd_service_202504)
+(typeattributeset mediaswcodec_exec_202504 (mediaswcodec_exec))
+(expandtypeattribute (mediaswcodec_exec_202504) true)
+(typeattribute mediaswcodec_exec_202504)
+(typeattributeset system_data_root_file_202504 (system_data_root_file))
+(expandtypeattribute (system_data_root_file_202504) true)
+(typeattribute system_data_root_file_202504)
+(typeattributeset sysfs_sync_on_suspend_202504 (sysfs_sync_on_suspend))
+(expandtypeattribute (sysfs_sync_on_suspend_202504) true)
+(typeattribute sysfs_sync_on_suspend_202504)
+(typeattributeset exported_system_prop_202504 (exported_system_prop))
+(expandtypeattribute (exported_system_prop_202504) true)
+(typeattribute exported_system_prop_202504)
+(typeattributeset graphicsstats_service_202504 (graphicsstats_service))
+(expandtypeattribute (graphicsstats_service_202504) true)
+(typeattribute graphicsstats_service_202504)
+(typeattributeset drmserver_service_202504 (drmserver_service))
+(expandtypeattribute (drmserver_service_202504) true)
+(typeattribute drmserver_service_202504)
+(typeattributeset fingerprintd_data_file_202504 (fingerprintd_data_file))
+(expandtypeattribute (fingerprintd_data_file_202504) true)
+(typeattribute fingerprintd_data_file_202504)
+(typeattributeset inotify_202504 (inotify))
+(expandtypeattribute (inotify_202504) true)
+(typeattribute inotify_202504)
+(typeattributeset device_config_vendor_system_native_boot_prop_202504 (device_config_vendor_system_native_boot_prop))
+(expandtypeattribute (device_config_vendor_system_native_boot_prop_202504) true)
+(typeattribute device_config_vendor_system_native_boot_prop_202504)
+(typeattributeset tombstoned_202504 (tombstoned))
+(expandtypeattribute (tombstoned_202504) true)
+(typeattribute tombstoned_202504)
+(typeattributeset pdx_display_vsync_channel_socket_202504 (pdx_display_vsync_channel_socket))
+(expandtypeattribute (pdx_display_vsync_channel_socket_202504) true)
+(typeattribute pdx_display_vsync_channel_socket_202504)
+(typeattributeset gpu_service_202504 (gpu_service))
+(expandtypeattribute (gpu_service_202504) true)
+(typeattribute gpu_service_202504)
+(typeattributeset vd_device_202504 (vd_device))
+(expandtypeattribute (vd_device_202504) true)
+(typeattribute vd_device_202504)
+(typeattributeset hal_gnss_hwservice_202504 (hal_gnss_hwservice))
+(expandtypeattribute (hal_gnss_hwservice_202504) true)
+(typeattribute hal_gnss_hwservice_202504)
+(typeattributeset bt_device_202504 (bt_device))
+(expandtypeattribute (bt_device_202504) true)
+(typeattribute bt_device_202504)
+(typeattributeset sysfs_bluetooth_writable_202504 (sysfs_bluetooth_writable))
+(expandtypeattribute (sysfs_bluetooth_writable_202504) true)
+(typeattribute sysfs_bluetooth_writable_202504)
+(typeattributeset lowpan_device_202504 (lowpan_device))
+(expandtypeattribute (lowpan_device_202504) true)
+(typeattribute lowpan_device_202504)
+(typeattributeset proc_bluetooth_writable_202504 (proc_bluetooth_writable))
+(expandtypeattribute (proc_bluetooth_writable_202504) true)
+(typeattribute proc_bluetooth_writable_202504)
+(typeattributeset dm_device_202504 (dm_device))
+(expandtypeattribute (dm_device_202504) true)
+(typeattribute dm_device_202504)
+(typeattributeset tee_data_file_202504 (tee_data_file))
+(expandtypeattribute (tee_data_file_202504) true)
+(typeattribute tee_data_file_202504)
+(typeattributeset testharness_service_202504 (testharness_service))
+(expandtypeattribute (testharness_service_202504) true)
+(typeattribute testharness_service_202504)
+(typeattributeset trace_data_file_202504 (trace_data_file))
+(expandtypeattribute (trace_data_file_202504) true)
+(typeattribute trace_data_file_202504)
+(typeattributeset default_android_hwservice_202504 (default_android_hwservice))
+(expandtypeattribute (default_android_hwservice_202504) true)
+(typeattribute default_android_hwservice_202504)
+(typeattributeset dumpstate_socket_202504 (dumpstate_socket))
+(expandtypeattribute (dumpstate_socket_202504) true)
+(typeattribute dumpstate_socket_202504)
+(typeattributeset pdx_display_vsync_endpoint_socket_202504 (pdx_display_vsync_endpoint_socket))
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_202504) true)
+(typeattribute pdx_display_vsync_endpoint_socket_202504)
+(typeattributeset hal_thermal_hwservice_202504 (hal_thermal_hwservice))
+(expandtypeattribute (hal_thermal_hwservice_202504) true)
+(typeattribute hal_thermal_hwservice_202504)
+(typeattributeset cache_recovery_file_202504 (cache_recovery_file))
+(expandtypeattribute (cache_recovery_file_202504) true)
+(typeattribute cache_recovery_file_202504)
+(typeattributeset batterystats_service_202504 (batterystats_service))
+(expandtypeattribute (batterystats_service_202504) true)
+(typeattribute batterystats_service_202504)
+(typeattributeset mediadrmserver_202504 (mediadrmserver))
+(expandtypeattribute (mediadrmserver_202504) true)
+(typeattribute mediadrmserver_202504)
+(typeattributeset device_config_service_202504 (device_config_service))
+(expandtypeattribute (device_config_service_202504) true)
+(typeattribute device_config_service_202504)
+(typeattributeset hal_weaver_hwservice_202504 (hal_weaver_hwservice))
+(expandtypeattribute (hal_weaver_hwservice_202504) true)
+(typeattribute hal_weaver_hwservice_202504)
+(typeattributeset vrflinger_vsync_service_202504 (vrflinger_vsync_service))
+(expandtypeattribute (vrflinger_vsync_service_202504) true)
+(typeattribute vrflinger_vsync_service_202504)
+(typeattributeset hal_codec2_hwservice_202504 (hal_codec2_hwservice))
+(expandtypeattribute (hal_codec2_hwservice_202504) true)
+(typeattribute hal_codec2_hwservice_202504)
+(typeattributeset device_202504 (device))
+(expandtypeattribute (device_202504) true)
+(typeattribute device_202504)
+(typeattributeset storage_stub_file_202504 (storage_stub_file))
+(expandtypeattribute (storage_stub_file_202504) true)
+(typeattribute storage_stub_file_202504)
+(typeattributeset ublk_control_device_202504 (ublk_control_device))
+(expandtypeattribute (ublk_control_device_202504) true)
+(typeattribute ublk_control_device_202504)
+(typeattributeset sysfs_nfc_power_writable_202504 (sysfs_nfc_power_writable))
+(expandtypeattribute (sysfs_nfc_power_writable_202504) true)
+(typeattribute sysfs_nfc_power_writable_202504)
+(typeattributeset vfio_device_202504 (vfio_device))
+(expandtypeattribute (vfio_device_202504) true)
+(typeattribute vfio_device_202504)
+(typeattributeset voiceinteraction_service_202504 (voiceinteraction_service))
+(expandtypeattribute (voiceinteraction_service_202504) true)
+(typeattribute voiceinteraction_service_202504)
+(typeattributeset hal_bootctl_hwservice_202504 (hal_bootctl_hwservice))
+(expandtypeattribute (hal_bootctl_hwservice_202504) true)
+(typeattribute hal_bootctl_hwservice_202504)
+(typeattributeset smartspace_service_202504 (smartspace_service))
+(expandtypeattribute (smartspace_service_202504) true)
+(typeattribute smartspace_service_202504)
+(typeattributeset gatekeeper_service_202504 (gatekeeper_service))
+(expandtypeattribute (gatekeeper_service_202504) true)
+(typeattribute gatekeeper_service_202504)
+(typeattributeset device_config_runtime_native_boot_prop_202504 (device_config_runtime_native_boot_prop))
+(expandtypeattribute (device_config_runtime_native_boot_prop_202504) true)
+(typeattribute device_config_runtime_native_boot_prop_202504)
+(typeattributeset snapuserd_log_data_file_202504 (snapuserd_log_data_file))
+(expandtypeattribute (snapuserd_log_data_file_202504) true)
+(typeattribute snapuserd_log_data_file_202504)
+(typeattributeset hidl_allocator_hwservice_202504 (hidl_allocator_hwservice))
+(expandtypeattribute (hidl_allocator_hwservice_202504) true)
+(typeattribute hidl_allocator_hwservice_202504)
+(typeattributeset proc_pagetypeinfo_202504 (proc_pagetypeinfo))
+(expandtypeattribute (proc_pagetypeinfo_202504) true)
+(typeattribute proc_pagetypeinfo_202504)
+(typeattributeset qtaguid_device_202504 (qtaguid_device))
+(expandtypeattribute (qtaguid_device_202504) true)
+(typeattribute qtaguid_device_202504)
+(typeattributeset crossprofileapps_service_202504 (crossprofileapps_service))
+(expandtypeattribute (crossprofileapps_service_202504) true)
+(typeattribute crossprofileapps_service_202504)
+(typeattributeset proc_pressure_mem_202504 (proc_pressure_mem))
+(expandtypeattribute (proc_pressure_mem_202504) true)
+(typeattribute proc_pressure_mem_202504)
+(typeattributeset property_socket_202504 (property_socket))
+(expandtypeattribute (property_socket_202504) true)
+(typeattribute property_socket_202504)
+(typeattributeset traced_oome_heap_session_count_prop_202504 (traced_oome_heap_session_count_prop))
+(expandtypeattribute (traced_oome_heap_session_count_prop_202504) true)
+(typeattribute traced_oome_heap_session_count_prop_202504)
+(typeattributeset wifinl80211_service_202504 (wifinl80211_service))
+(expandtypeattribute (wifinl80211_service_202504) true)
+(typeattribute wifinl80211_service_202504)
+(typeattributeset proc_panic_202504 (proc_panic))
+(expandtypeattribute (proc_panic_202504) true)
+(typeattribute proc_panic_202504)
+(typeattributeset hal_memtrack_service_202504 (hal_memtrack_service))
+(expandtypeattribute (hal_memtrack_service_202504) true)
+(typeattribute hal_memtrack_service_202504)
+(typeattributeset profcollectd_etr_prop_202504 (profcollectd_etr_prop))
+(expandtypeattribute (profcollectd_etr_prop_202504) true)
+(typeattribute profcollectd_etr_prop_202504)
+(typeattributeset mnt_vendor_file_202504 (mnt_vendor_file))
+(expandtypeattribute (mnt_vendor_file_202504) true)
+(typeattribute mnt_vendor_file_202504)
+(typeattributeset vendor_file_202504 (vendor_file))
+(expandtypeattribute (vendor_file_202504) true)
+(typeattribute vendor_file_202504)
+(typeattributeset efs_file_202504 (efs_file))
+(expandtypeattribute (efs_file_202504) true)
+(typeattribute efs_file_202504)
+(typeattributeset appdomain_tmpfs_202504 (appdomain_tmpfs))
+(expandtypeattribute (appdomain_tmpfs_202504) true)
+(typeattribute appdomain_tmpfs_202504)
+(typeattributeset hal_instrumentation_prop_202504 (hal_instrumentation_prop))
+(expandtypeattribute (hal_instrumentation_prop_202504) true)
+(typeattribute hal_instrumentation_prop_202504)
+(typeattributeset timezone_prop_202504 (timezone_prop))
+(expandtypeattribute (timezone_prop_202504) true)
+(typeattribute timezone_prop_202504)
+(typeattributeset device_logging_prop_202504 (device_logging_prop))
+(expandtypeattribute (device_logging_prop_202504) true)
+(typeattribute device_logging_prop_202504)
+(typeattributeset mdnsd_socket_202504 (mdnsd_socket))
+(expandtypeattribute (mdnsd_socket_202504) true)
+(typeattribute mdnsd_socket_202504)
+(typeattributeset traced_enabled_prop_202504 (traced_enabled_prop))
+(expandtypeattribute (traced_enabled_prop_202504) true)
+(typeattribute traced_enabled_prop_202504)
+(typeattributeset nfc_logs_data_file_202504 (nfc_logs_data_file))
+(expandtypeattribute (nfc_logs_data_file_202504) true)
+(typeattribute nfc_logs_data_file_202504)
+(typeattributeset hal_audiocontrol_hwservice_202504 (hal_audiocontrol_hwservice))
+(expandtypeattribute (hal_audiocontrol_hwservice_202504) true)
+(typeattribute hal_audiocontrol_hwservice_202504)
+(typeattributeset vendor_overlay_file_202504 (vendor_overlay_file))
+(expandtypeattribute (vendor_overlay_file_202504) true)
+(typeattribute vendor_overlay_file_202504)
+(typeattributeset color_display_service_202504 (color_display_service))
+(expandtypeattribute (color_display_service_202504) true)
+(typeattribute color_display_service_202504)
+(typeattributeset early_virtmgr_202504 (early_virtmgr))
+(expandtypeattribute (early_virtmgr_202504) true)
+(typeattribute early_virtmgr_202504)
+(typeattributeset incremental_prop_202504 (incremental_prop))
+(expandtypeattribute (incremental_prop_202504) true)
+(typeattribute incremental_prop_202504)
+(typeattributeset icon_file_202504 (icon_file))
+(expandtypeattribute (icon_file_202504) true)
+(typeattribute icon_file_202504)
+(typeattributeset vold_device_202504 (vold_device))
+(expandtypeattribute (vold_device_202504) true)
+(typeattribute vold_device_202504)
+(typeattributeset sysfs_wake_lock_202504 (sysfs_wake_lock))
+(expandtypeattribute (sysfs_wake_lock_202504) true)
+(typeattribute sysfs_wake_lock_202504)
+(typeattributeset arm64_memtag_prop_202504 (arm64_memtag_prop))
+(expandtypeattribute (arm64_memtag_prop_202504) true)
+(typeattribute arm64_memtag_prop_202504)
+(typeattributeset hal_power_stats_service_202504 (hal_power_stats_service))
+(expandtypeattribute (hal_power_stats_service_202504) true)
+(typeattribute hal_power_stats_service_202504)
+(typeattributeset hal_hwcrypto_service_202504 (hal_hwcrypto_service))
+(expandtypeattribute (hal_hwcrypto_service_202504) true)
+(typeattribute hal_hwcrypto_service_202504)
+(typeattributeset sysfs_ion_202504 (sysfs_ion))
+(expandtypeattribute (sysfs_ion_202504) true)
+(typeattribute sysfs_ion_202504)
+(typeattributeset hal_tv_input_service_202504 (hal_tv_input_service))
+(expandtypeattribute (hal_tv_input_service_202504) true)
+(typeattribute hal_tv_input_service_202504)
+(typeattributeset network_watchlist_service_202504 (network_watchlist_service))
+(expandtypeattribute (network_watchlist_service_202504) true)
+(typeattribute network_watchlist_service_202504)
+(typeattributeset proc_pid_max_202504 (proc_pid_max))
+(expandtypeattribute (proc_pid_max_202504) true)
+(typeattribute proc_pid_max_202504)
diff --git a/prebuilts/api/202504/202504_plat_sepolicy.cil b/prebuilts/api/202504/202504_plat_sepolicy.cil
new file mode 100644
index 0000000..79f9a23
--- /dev/null
+++ b/prebuilts/api/202504/202504_plat_sepolicy.cil
@@ -0,0 +1,35433 @@
+(role object_r)
+(role auditadm_r)
+(role secadm_r)
+(typeattribute cil_gen_require)
+(roleattribute cil_gen_require)
+(handleunknown deny)
+(mls true)
+(policycap network_peer_controls)
+(policycap open_perms)
+(policycap extended_socket_class)
+(policycap nnp_nosuid_transition)
+(sid devnull)
+(sidcontext devnull (u object_r null_device ((s0) (s0))))
+(sid UNKNOWN26)
+(sidcontext UNKNOWN26 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN25)
+(sidcontext UNKNOWN25 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN24)
+(sidcontext UNKNOWN24 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN23)
+(sidcontext UNKNOWN23 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN22)
+(sidcontext UNKNOWN22 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN21)
+(sidcontext UNKNOWN21 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN20)
+(sidcontext UNKNOWN20 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN19)
+(sidcontext UNKNOWN19 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN18)
+(sidcontext UNKNOWN18 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN17)
+(sidcontext UNKNOWN17 (u object_r proc ((s0) (s0))))
+(sid UNKNOWN16)
+(sidcontext UNKNOWN16 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN15)
+(sidcontext UNKNOWN15 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN14)
+(sidcontext UNKNOWN14 (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN13)
+(sidcontext UNKNOWN13 (u object_r unlabeled ((s0) (s0))))
+(sid node)
+(sidcontext node (u object_r node ((s0) (s0))))
+(sid netmsg)
+(sidcontext netmsg (u object_r unlabeled ((s0) (s0))))
+(sid netif)
+(sidcontext netif (u object_r netif ((s0) (s0))))
+(sid port)
+(sidcontext port (u object_r port ((s0) (s0))))
+(sid any_socket)
+(sidcontext any_socket (u object_r unlabeled ((s0) (s0))))
+(sid init)
+(sidcontext init (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN6)
+(sidcontext UNKNOWN6 (u object_r unlabeled ((s0) (s0))))
+(sid file)
+(sidcontext file (u object_r unlabeled ((s0) (s0))))
+(sid UNKNOWN4)
+(sidcontext UNKNOWN4 (u object_r labeledfs ((s0) (s0))))
+(sid unlabeled)
+(sidcontext unlabeled (u object_r unlabeled ((s0) (s0))))
+(sid security)
+(sidcontext security (u object_r kernel ((s0) (s0))))
+(sid kernel)
+(sidcontext kernel (u r kernel ((s0) (s0))))
+(sidorder (kernel security unlabeled UNKNOWN4 file UNKNOWN6 init any_socket port netif netmsg node UNKNOWN13 UNKNOWN14 UNKNOWN15 UNKNOWN16 UNKNOWN17 UNKNOWN18 UNKNOWN19 UNKNOWN20 UNKNOWN21 UNKNOWN22 UNKNOWN23 UNKNOWN24 UNKNOWN25 UNKNOWN26 devnull ))
+(fsuse trans mqueue (u object_r mqueue ((s0) (s0))))
+(fsuse trans shm (u object_r shm ((s0) (s0))))
+(fsuse trans devtmpfs (u object_r device ((s0) (s0))))
+(fsuse trans tmpfs (u object_r tmpfs ((s0) (s0))))
+(fsuse trans devpts (u object_r devpts ((s0) (s0))))
+(fsuse task sockfs (u object_r sockfs ((s0) (s0))))
+(fsuse task pipefs (u object_r pipefs ((s0) (s0))))
+(fsuse xattr virtiofs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr incremental-fs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr erofs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr overlay (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr squashfs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr f2fs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr btrfs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr xfs (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr ext4 (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr ext3 (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr ext2 (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr jffs2 (u object_r labeledfs ((s0) (s0))))
+(fsuse xattr yaffs2 (u object_r labeledfs ((s0) (s0))))
+(genfscon binder "/binder_logs/failed_transaction_log" (u object_r binderfs_logs_transaction_history ((s0) (s0))))
+(genfscon binder "/binder_logs/transaction_log" (u object_r binderfs_logs_transaction_history ((s0) (s0))))
+(genfscon binder "/binder_logs/transactions" (u object_r binderfs_logs_transactions ((s0) (s0))))
+(genfscon binder "/binder_logs/stats" (u object_r binderfs_logs_stats ((s0) (s0))))
+(genfscon binder "/binder_logs/proc" (u object_r binderfs_logs_proc ((s0) (s0))))
+(genfscon binder "/binder_logs" (u object_r binderfs_logs ((s0) (s0))))
+(genfscon binder "/vndbinder" (u object_r vndbinder_device ((s0) (s0))))
+(genfscon binder "/hwbinder" (u object_r hwbinder_device ((s0) (s0))))
+(genfscon binder "/features" (u object_r binderfs_features ((s0) (s0))))
+(genfscon binder "/binder" (u object_r binder_device ((s0) (s0))))
+(genfscon binder "/" (u object_r binderfs ((s0) (s0))))
+(genfscon binfmt_misc "/" (u object_r binfmt_miscfs ((s0) (s0))))
+(genfscon bpf "/netd_readonly" (u object_r fs_bpf_netd_readonly ((s0) (s0))))
+(genfscon bpf "/net_private" (u object_r fs_bpf_net_private ((s0) (s0))))
+(genfscon bpf "/netd_shared" (u object_r fs_bpf_netd_shared ((s0) (s0))))
+(genfscon bpf "/uprobestats" (u object_r fs_bpf_uprobestats ((s0) (s0))))
+(genfscon bpf "/net_shared" (u object_r fs_bpf_net_shared ((s0) (s0))))
+(genfscon bpf "/memevents" (u object_r fs_bpf_memevents ((s0) (s0))))
+(genfscon bpf "/tethering" (u object_r fs_bpf_tethering ((s0) (s0))))
+(genfscon bpf "/loader" (u object_r fs_bpf_loader ((s0) (s0))))
+(genfscon bpf "/vendor" (u object_r fs_bpf_vendor ((s0) (s0))))
+(genfscon bpf "/" (u object_r fs_bpf ((s0) (s0))))
+(genfscon cgroup "/" (u object_r cgroup ((s0) (s0))))
+(genfscon cgroup2 "/" (u object_r cgroup_v2 ((s0) (s0))))
+(genfscon configfs "/" (u object_r configfs ((s0) (s0))))
+(genfscon debugfs "/tracing/instances/bootreceiver" (u object_r debugfs_bootreceiver_tracing ((s0) (s0))))
+(genfscon debugfs "/tracing/instances/mm_events" (u object_r debugfs_mm_events_tracing ((s0) (s0))))
+(genfscon debugfs "/tracing/instances/wifi" (u object_r debugfs_wifi_tracing ((s0) (s0))))
+(genfscon debugfs "/tracing/printk_formats" (u object_r debugfs_tracing_printk_formats ((s0) (s0))))
+(genfscon debugfs "/tracing/trace_marker" (u object_r debugfs_trace_marker ((s0) (s0))))
+(genfscon debugfs "/tracing/instances" (u object_r debugfs_tracing_instances ((s0) (s0))))
+(genfscon debugfs "/wakeup_sources" (u object_r debugfs_wakeup_sources ((s0) (s0))))
+(genfscon debugfs "/kprobes" (u object_r debugfs_kprobes ((s0) (s0))))
+(genfscon debugfs "/tracing" (u object_r debugfs_tracing_debug ((s0) (s0))))
+(genfscon debugfs "/mmc0" (u object_r debugfs_mmc ((s0) (s0))))
+(genfscon debugfs "/kcov" (u object_r debugfs_kcov ((s0) (s0))))
+(genfscon debugfs "/" (u object_r debugfs ((s0) (s0))))
+(genfscon esdfs "/" (u object_r sdcardfs ((s0) (s0))))
+(genfscon exfat "/" (u object_r exfat ((s0) (s0))))
+(genfscon functionfs "/" (u object_r functionfs ((s0) (s0))))
+(genfscon fuse "/" (u object_r fuse ((s0) (s0))))
+(genfscon fuseblk "/" (u object_r fuseblk ((s0) (s0))))
+(genfscon fusectl "/" (u object_r fusectlfs ((s0) (s0))))
+(genfscon inotifyfs "/" (u object_r inotify ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_util_clamp_min_rt_default" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_wakeup_granularity_ns" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/perf_event_max_sample_rate" (u object_r proc_perf ((s0) (s0))))
+(genfscon proc "/sys/kernel/perf_cpu_time_max_percent" (u object_r proc_perf ((s0) (s0))))
+(genfscon proc "/sys/vm/percpu_pagelist_high_fraction" (u object_r proc_percpu_pagelist_high_fraction ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_child_runs_first" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_tunable_scaling" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_util_clamp_max" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_util_clamp_min" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/perf_event_paranoid" (u object_r proc_perf ((s0) (s0))))
+(genfscon proc "/sys/kernel/perf_event_mlock_kb" (u object_r proc_perf ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_rt_runtime_us" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/randomize_va_space" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_rt_period_us" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/vm/dirty_background_ratio" (u object_r proc_dirty ((s0) (s0))))
+(genfscon proc "/sys/vm/dirty_expire_centisecs" (u object_r proc_dirty ((s0) (s0))))
+(genfscon proc "/sys/vm/watermark_boost_factor" (u object_r proc_watermark_boost_factor ((s0) (s0))))
+(genfscon proc "/sys/vm/watermark_scale_factor" (u object_r proc_watermark_scale_factor ((s0) (s0))))
+(genfscon proc "/sys/kernel/unprivileged_bpf_" (u object_r proc_bpf ((s0) (s0))))
+(genfscon proc "/uid_cputime/remove_uid_range" (u object_r proc_uid_cputime_removeuid ((s0) (s0))))
+(genfscon proc "/sys/kernel/modules_disabled" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_latency_ns" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/kernel/sched_schedstats" (u object_r proc_sched ((s0) (s0))))
+(genfscon proc "/sys/vm/mmap_rnd_compat_bits" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/vm/min_free_order_shift" (u object_r proc_min_free_order_shift ((s0) (s0))))
+(genfscon proc "/sys/fs/protected_hardlinks" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/kernel/core_pipe_limit" (u object_r usermodehelper ((s0) (s0))))
+(genfscon proc "/uid_concurrent_active_time" (u object_r proc_uid_concurrent_active_time ((s0) (s0))))
+(genfscon proc "/uid_concurrent_policy_time" (u object_r proc_uid_concurrent_policy_time ((s0) (s0))))
+(genfscon proc "/sys/fs/protected_symlinks" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/kernel/dmesg_restrict" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/kernel/usermodehelper" (u object_r usermodehelper ((s0) (s0))))
+(genfscon proc "/uid_cputime/show_uid_stat" (u object_r proc_uid_cputime_showstat ((s0) (s0))))
+(genfscon proc "/sys/kernel/kptr_restrict" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/kernel/panic_on_oops" (u object_r proc_panic ((s0) (s0))))
+(genfscon proc "/sys/vm/extra_free_kbytes" (u object_r proc_extra_free_kbytes ((s0) (s0))))
+(genfscon proc "/sys/vm/overcommit_memory" (u object_r proc_overcommit_memory ((s0) (s0))))
+(genfscon proc "/sys/kernel/core_pattern" (u object_r usermodehelper ((s0) (s0))))
+(genfscon proc "/sys/kernel/poweroff_cmd" (u object_r usermodehelper ((s0) (s0))))
+(genfscon proc "/sys/kernel/domainname" (u object_r proc_hostname ((s0) (s0))))
+(genfscon proc "/sys/kernel/hung_task_" (u object_r proc_hung_task ((s0) (s0))))
+(genfscon proc "/sys/fs/pipe-max-size" (u object_r proc_pipe_conf ((s0) (s0))))
+(genfscon proc "/sys/fs/suid_dumpable" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/vm/max_map_count" (u object_r proc_max_map_count ((s0) (s0))))
+(genfscon proc "/sys/vm/mmap_min_addr" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/sys/vm/mmap_rnd_bits" (u object_r proc_security ((s0) (s0))))
+(genfscon proc "/net/xt_qtaguid/ctrl" (u object_r proc_qtaguid_ctrl ((s0) (s0))))
+(genfscon proc "/sys/kernel/hostname" (u object_r proc_hostname ((s0) (s0))))
+(genfscon proc "/sys/kernel/modprobe" (u object_r usermodehelper ((s0) (s0))))
+(genfscon proc "/sys/vm/page-cluster" (u object_r proc_page_cluster ((s0) (s0))))
+(genfscon proc "/sys/kernel/hotplug" (u object_r usermodehelper ((s0) (s0))))
+(genfscon proc "/sys/kernel/pid_max" (u object_r proc_pid_max ((s0) (s0))))
+(genfscon proc "/sys/vm/drop_caches" (u object_r proc_drop_caches ((s0) (s0))))
+(genfscon proc "/sys/kernel/random" (u object_r proc_random ((s0) (s0))))
+(genfscon proc "/sys/net/core/bpf_" (u object_r proc_bpf ((s0) (s0))))
+(genfscon proc "/uid_time_in_state" (u object_r proc_uid_time_in_state ((s0) (s0))))
+(genfscon proc "/sys/kernel/sysrq" (u object_r proc_sysrq ((s0) (s0))))
+(genfscon proc "/uid_procstat/set" (u object_r proc_uid_procstat_set ((s0) (s0))))
+(genfscon proc "/device-tree/avf" (u object_r proc_dt_avf ((s0) (s0))))
+(genfscon proc "/lowmemorykiller" (u object_r proc_lowmemorykiller ((s0) (s0))))
+(genfscon proc "/net/xt_qtaguid/" (u object_r proc_qtaguid_stat ((s0) (s0))))
+(genfscon proc "/pressure/memory" (u object_r proc_pressure_mem ((s0) (s0))))
+(genfscon proc "/sys/kernel/bpf_" (u object_r proc_bpf ((s0) (s0))))
+(genfscon proc "/cpu/alignment" (u object_r proc_cpu_alignment ((s0) (s0))))
+(genfscon proc "/sysrq-trigger" (u object_r proc_sysrq ((s0) (s0))))
+(genfscon proc "/uid_cpupower/" (u object_r proc_uid_cpupower ((s0) (s0))))
+(genfscon proc "/pagetypeinfo" (u object_r proc_pagetypeinfo ((s0) (s0))))
+(genfscon proc "/pressure/cpu" (u object_r proc_pressure_cpu ((s0) (s0))))
+(genfscon proc "/uid_io/stats" (u object_r proc_uid_io_stats ((s0) (s0))))
+(genfscon proc "/vendor_sched" (u object_r proc_vendor_sched ((s0) (s0))))
+(genfscon proc "/filesystems" (u object_r proc_filesystems ((s0) (s0))))
+(genfscon proc "/pressure/io" (u object_r proc_pressure_io ((s0) (s0))))
+(genfscon proc "/sys/abi/swp" (u object_r proc_abi ((s0) (s0))))
+(genfscon proc "/timer_stats" (u object_r proc_timer ((s0) (s0))))
+(genfscon proc "/tty/drivers" (u object_r proc_tty_drivers ((s0) (s0))))
+(genfscon proc "/vmallocinfo" (u object_r proc_vmallocinfo ((s0) (s0))))
+(genfscon proc "/bootconfig" (u object_r proc_bootconfig ((s0) (s0))))
+(genfscon proc "/interrupts" (u object_r proc_interrupts ((s0) (s0))))
+(genfscon proc "/kpageflags" (u object_r proc_kpageflags ((s0) (s0))))
+(genfscon proc "/timer_list" (u object_r proc_timer ((s0) (s0))))
+(genfscon proc "/allocinfo" (u object_r proc_allocinfo ((s0) (s0))))
+(genfscon proc "/buddyinfo" (u object_r proc_buddyinfo ((s0) (s0))))
+(genfscon proc "/config.gz" (u object_r config_gz ((s0) (s0))))
+(genfscon proc "/diskstats" (u object_r proc_diskstats ((s0) (s0))))
+(genfscon proc "/kallsyms" (u object_r proc_kallsyms ((s0) (s0))))
+(genfscon proc "/slabinfo" (u object_r proc_slabinfo ((s0) (s0))))
+(genfscon proc "/softirqs" (u object_r proc_timer ((s0) (s0))))
+(genfscon proc "/zoneinfo" (u object_r proc_zoneinfo ((s0) (s0))))
+(genfscon proc "/cgroups" (u object_r proc_cgroups ((s0) (s0))))
+(genfscon proc "/cmdline" (u object_r proc_cmdline ((s0) (s0))))
+(genfscon proc "/loadavg" (u object_r proc_loadavg ((s0) (s0))))
+(genfscon proc "/meminfo" (u object_r proc_meminfo ((s0) (s0))))
+(genfscon proc "/modules" (u object_r proc_modules ((s0) (s0))))
+(genfscon proc "/net/tcp" (u object_r proc_net_tcp_udp ((s0) (s0))))
+(genfscon proc "/net/udp" (u object_r proc_net_tcp_udp ((s0) (s0))))
+(genfscon proc "/cpuinfo" (u object_r proc_cpuinfo ((s0) (s0))))
+(genfscon proc "/sys/net" (u object_r proc_net ((s0) (s0))))
+(genfscon proc "/version" (u object_r proc_version ((s0) (s0))))
+(genfscon proc "/asound" (u object_r proc_asound ((s0) (s0))))
+(genfscon proc "/mounts" (u object_r proc_mounts ((s0) (s0))))
+(genfscon proc "/uptime" (u object_r proc_uptime ((s0) (s0))))
+(genfscon proc "/vmstat" (u object_r proc_vmstat ((s0) (s0))))
+(genfscon proc "/iomem" (u object_r proc_iomem ((s0) (s0))))
+(genfscon proc "/locks" (u object_r proc_locks ((s0) (s0))))
+(genfscon proc "/swaps" (u object_r proc_swaps ((s0) (s0))))
+(genfscon proc "/keys" (u object_r proc_keys ((s0) (s0))))
+(genfscon proc "/kmsg" (u object_r proc_kmsg ((s0) (s0))))
+(genfscon proc "/misc" (u object_r proc_misc ((s0) (s0))))
+(genfscon proc "/stat" (u object_r proc_stat ((s0) (s0))))
+(genfscon proc "/uid/" (u object_r proc_uid_time_in_state ((s0) (s0))))
+(genfscon proc "/net" (u object_r proc_net ((s0) (s0))))
+(genfscon proc "/" (u object_r proc ((s0) (s0))))
+(genfscon pstore "/" (u object_r pstorefs ((s0) (s0))))
+(genfscon rootfs "/" (u object_r rootfs ((s0) (s0))))
+(genfscon sdcardfs "/" (u object_r sdcardfs ((s0) (s0))))
+(genfscon securityfs "/" (u object_r securityfs ((s0) (s0))))
+(genfscon selinuxfs "/" (u object_r selinuxfs ((s0) (s0))))
+(genfscon sysfs "/module/dm_verity/parameters/prefetch_cluster" (u object_r sysfs_dm_verity ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/timed_output/vibrator/enable" (u object_r sysfs_vibrator ((s0) (s0))))
+(genfscon sysfs "/module/dm_bufio/parameters/max_age_seconds" (u object_r sysfs_dm_verity ((s0) (s0))))
+(genfscon sysfs "/firmware/devicetree/base/firmware/android" (u object_r sysfs_dt_firmware_android ((s0) (s0))))
+(genfscon sysfs "/devices/platform/nfc-power/nfc_power" (u object_r sysfs_nfc_power_writable ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/zram0/uevent" (u object_r sysfs_zram_uevent ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/zram1/uevent" (u object_r sysfs_zram_uevent ((s0) (s0))))
+(genfscon sysfs "/kernel/mm/pgsize_migration/enabled" (u object_r sysfs_pgsize_migration ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/misc/hw_random" (u object_r sysfs_hwrandom ((s0) (s0))))
+(genfscon sysfs "/kernel/mm/transparent_hugepage" (u object_r sysfs_transparent_hugepage ((s0) (s0))))
+(genfscon sysfs "/module/wlan/parameters/fwpath" (u object_r sysfs_wlan_fwpath ((s0) (s0))))
+(genfscon sysfs "/firmware/devicetree/base/avf" (u object_r sysfs_dt_avf ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/android_usb" (u object_r sysfs_android_usb ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/zram0" (u object_r sysfs_zram ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/zram1" (u object_r sysfs_zram ((s0) (s0))))
+(genfscon sysfs "/fs/incremental-fs/instances" (u object_r sysfs_fs_incfs_metrics ((s0) (s0))))
+(genfscon sysfs "/module/tcp_cubic/parameters" (u object_r sysfs_net ((s0) (s0))))
+(genfscon sysfs "/class/rfkill/rfkill0/state" (u object_r sysfs_bluetooth_writable ((s0) (s0))))
+(genfscon sysfs "/class/rfkill/rfkill1/state" (u object_r sysfs_bluetooth_writable ((s0) (s0))))
+(genfscon sysfs "/class/rfkill/rfkill2/state" (u object_r sysfs_bluetooth_writable ((s0) (s0))))
+(genfscon sysfs "/class/rfkill/rfkill3/state" (u object_r sysfs_bluetooth_writable ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/loop" (u object_r sysfs_loop ((s0) (s0))))
+(genfscon sysfs "/fs/fuse/bpf_prog_type_fuse" (u object_r sysfs_fs_fuse_bpf ((s0) (s0))))
+(genfscon sysfs "/fs/incremental-fs/features" (u object_r sysfs_fs_incfs_features ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/dm-" (u object_r sysfs_dm ((s0) (s0))))
+(genfscon sysfs "/kernel/mm/lru_gen/enabled" (u object_r sysfs_lru_gen_enabled ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/misc/uhid" (u object_r sysfs_uhid ((s0) (s0))))
+(genfscon sysfs "/kernel/memory_state_time" (u object_r sysfs_power ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/block/" (u object_r sysfs_devices_block ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/switch" (u object_r sysfs_switch ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/wakeup" (u object_r sysfs_wakeup ((s0) (s0))))
+(genfscon sysfs "/module/lowmemorykiller" (u object_r sysfs_lowmemorykiller ((s0) (s0))))
+(genfscon sysfs "/power/sync_on_suspend" (u object_r sysfs_sync_on_suspend ((s0) (s0))))
+(genfscon sysfs "/kernel/wakeup_reasons" (u object_r sysfs_wakeup_reasons ((s0) (s0))))
+(genfscon sysfs "/kernel/dmabuf/buffers" (u object_r sysfs_dmabuf_stats ((s0) (s0))))
+(genfscon sysfs "/firmware/acpi/tables" (u object_r sysfs_firmware_acpi_tables ((s0) (s0))))
+(genfscon sysfs "/kernel/uevent_helper" (u object_r sysfs_usermodehelper ((s0) (s0))))
+(genfscon sysfs "/devices/virtual/net" (u object_r sysfs_net ((s0) (s0))))
+(genfscon sysfs "/power/suspend_stats" (u object_r sysfs_suspend_stats ((s0) (s0))))
+(genfscon sysfs "/kernel/vendor_sched" (u object_r sysfs_vendor_sched ((s0) (s0))))
+(genfscon sysfs "/devices/system/cpu" (u object_r sysfs_devices_system_cpu ((s0) (s0))))
+(genfscon sysfs "/power/wakeup_count" (u object_r sysfs_power ((s0) (s0))))
+(genfscon sysfs "/class/android_usb" (u object_r sysfs_android_usb ((s0) (s0))))
+(genfscon sysfs "/power/wake_unlock" (u object_r sysfs_wake_lock ((s0) (s0))))
+(genfscon sysfs "/fs/ext4/features" (u object_r sysfs_fs_ext4_features ((s0) (s0))))
+(genfscon sysfs "/fs/fuse/features" (u object_r sysfs_fs_fuse_features ((s0) (s0))))
+(genfscon sysfs "/power/autosleep" (u object_r sysfs_power ((s0) (s0))))
+(genfscon sysfs "/power/wake_lock" (u object_r sysfs_wake_lock ((s0) (s0))))
+(genfscon sysfs "/kernel/dma_heap" (u object_r sysfs_dma_heap ((s0) (s0))))
+(genfscon sysfs "/devices/cs_etm" (u object_r sysfs_devices_cs_etm ((s0) (s0))))
+(genfscon sysfs "/devices/uprobe" (u object_r sysfs_uprobe ((s0) (s0))))
+(genfscon sysfs "/kernel/mm/cma" (u object_r sysfs_cma ((s0) (s0))))
+(genfscon sysfs "/class/extcon" (u object_r sysfs_extcon ((s0) (s0))))
+(genfscon sysfs "/class/switch" (u object_r sysfs_switch ((s0) (s0))))
+(genfscon sysfs "/class/wakeup" (u object_r sysfs_wakeup ((s0) (s0))))
+(genfscon sysfs "/kernel/notes" (u object_r sysfs_kernel_notes ((s0) (s0))))
+(genfscon sysfs "/power/state" (u object_r sysfs_power ((s0) (s0))))
+(genfscon sysfs "/kernel/ipv4" (u object_r sysfs_ipv4 ((s0) (s0))))
+(genfscon sysfs "/class/leds" (u object_r sysfs_leds ((s0) (s0))))
+(genfscon sysfs "/kernel/ion" (u object_r sysfs_ion ((s0) (s0))))
+(genfscon sysfs "/class/gpu" (u object_r sysfs_gpu ((s0) (s0))))
+(genfscon sysfs "/class/net" (u object_r sysfs_net ((s0) (s0))))
+(genfscon sysfs "/class/rtc" (u object_r sysfs_rtc ((s0) (s0))))
+(genfscon sysfs "/fs/f2fs" (u object_r sysfs_fs_f2fs ((s0) (s0))))
+(genfscon sysfs "/" (u object_r sysfs ((s0) (s0))))
+(genfscon tracefs "/events/filemap/mm_filemap_delete_from_page_cache/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/vmscan/mm_vmscan_direct_reclaim_begin/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/filemap/mm_filemap_add_to_page_cache/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/vmscan/mm_vmscan_direct_reclaim_end/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_transaction_alloc_buf/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_transaction_received/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_es_lookup_extent_enter/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_es_lookup_extent_exit/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/synthetic/suspend_resume_minimal" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/vmscan/mm_vmscan_kswapd_sleep/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/vmscan/mm_vmscan_kswapd_wake/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/synthetic/rss_stat_throttled" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/thermal/thermal_temperature/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_blocked_reason/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/cpu_frequency_limits/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_set_priority/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/f2fs/f2fs_sync_file_enter/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_sync_file_enter/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_transaction/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/f2fs/f2fs_get_data_block/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/f2fs/f2fs_sync_file_exit/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_da_write_begin/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_sync_file_exit/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_process_exit/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_process_free/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/mm_event/mm_event_record/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/oom/oom_score_adj_update/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/block/block_rq_complete/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_cpu_hotplug/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_da_write_end/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_wakeup_new/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_pi_setprio/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/f2fs/f2fs_write_begin/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/gpu_work_period/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_command/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ext4/ext4_load_inode/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/block/block_rq_issue/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/clock_set_rate/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/suspend_resume/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_locked/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_unlock/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_return/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/kmem/ion_heap_shrink/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/gpu_mem/gpu_mem_total" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/f2fs/f2fs_write_end/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/cpu_frequency/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/clock_disable/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/gpu_frequency/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/cpufreq_interactive/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/thermal/cdev_update/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_switch/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_wakeup/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/sched/sched_waking/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/clock_enable/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/android_vendor_lmk/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/binder/binder_lock/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/kmem/ion_heap_grow/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/task/task_newtask/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/cpuhp/cpuhp_enter/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/cpuhp/cpuhp_pause/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/task/task_rename/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/cpuhp/cpuhp_exit/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/clk/clk_set_rate/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/lowmemorykiller/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/oom/mark_victim/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/clk/clk_disable/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/instances/bootreceiver" (u object_r debugfs_bootreceiver_tracing ((s0) (s0))))
+(genfscon tracefs "/events/f2fs/f2fs_iget/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/power/cpu_idle/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/clk/clk_enable/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/kmem/rss_stat/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ion/ion_stat/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ftrace/print/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/instances/mm_events" (u object_r debugfs_mm_events_tracing ((s0) (s0))))
+(genfscon tracefs "/options/record-tgid" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/saved_cmdlines_size" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/header_page" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/options/print-tgid" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/options/overwrite" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/dma_fence/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/synthetic_events" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/instances/wifi" (u object_r debugfs_wifi_tracing ((s0) (s0))))
+(genfscon tracefs "/printk_formats" (u object_r debugfs_tracing_printk_formats ((s0) (s0))))
+(genfscon tracefs "/buffer_percent" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/buffer_size_kb" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/cgroup/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/fence/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/trace_marker" (u object_r debugfs_trace_marker ((s0) (s0))))
+(genfscon tracefs "/events/sync/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/per_cpu/cpu" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/trace_clock" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/ipi/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/events/irq/" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/tracing_on" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/instances" (u object_r debugfs_tracing_instances ((s0) (s0))))
+(genfscon tracefs "/trace" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/hyp" (u object_r debugfs_tracing ((s0) (s0))))
+(genfscon tracefs "/" (u object_r debugfs_tracing_debug ((s0) (s0))))
+(genfscon usbfs "/" (u object_r usbfs ((s0) (s0))))
+(genfscon vfat "/" (u object_r vfat ((s0) (s0))))
+(common socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind ))
+(common file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads ))
+(common cap2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf ))
+(common cap (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap ))
+(common ipc (create destroy getattr setattr read write associate unix_read unix_write ))
+(typealias rs_data_file)
+(typealiasactual rs_data_file app_exec_data_file)
+(class security (compute_av compute_create compute_member check_context load_policy compute_relabel compute_user setenforce setbool setsecparam setcheckreqprot read_policy validate_trans ))
+(class process (fork transition sigchld sigkill sigstop signull signal ptrace getsched setsched getsession getpgid setpgid getcap setcap share getattr setexec setfscreate noatsecure siginh setrlimit rlimitinh dyntransition setcurrent execmem execstack execheap setkeycreate setsockcreate getrlimit ))
+(mlsconstrain (process (sigkill sigstop signal ptrace setsched setpgid setcap share setrlimit)) (or (eq l1 l2) (eq t1 mlstrustedsubject)))
+(mlsconstrain (process (ptrace getsched getsession getpgid getcap share getattr)) (or (dom l1 l2) (eq t1 mlstrustedsubject)))
+(mlsconstrain (process (transition dyntransition)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class system (ipc_info syslog_read syslog_mod syslog_console module_request module_load ))
+(class capability ())
+(classcommon capability cap)
+(class filesystem (mount remount unmount getattr relabelfrom relabelto associate quotamod quotaget watch ))
+(class file (execute_no_trans entrypoint ))
+(classcommon file file)
+(mlsconstrain (file (write setattr append unlink link rename)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (eq l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (file (read getattr execute)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (file (setattr unlink link rename open)) (or (or (and (neq t2 app_data_file_type) (neq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)))
+(mlsconstrain (file (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class anon_inode ())
+(classcommon anon_inode file)
+(mlsconstrain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute open execmod)) (eq l1 l2))
+(class dir (add_name remove_name reparent search rmdir ))
+(classcommon dir file)
+(mlsconstrain (dir (write setattr rename add_name remove_name reparent rmdir)) (or (or (or (eq t2 app_data_file_type) (eq l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (dir (read getattr search)) (or (or (or (or (eq t2 app_data_file_type) (dom l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)) (and (eq t1 mlsvendorcompat) (or (eq t2 system_data_file) (eq t2 user_profile_root_file)))))
+(mlsconstrain (dir (getattr setattr rename open add_name remove_name reparent search rmdir)) (or (or (neq t2 app_data_file_type) (dom l1 l2)) (eq t1 mlstrustedsubject)))
+(mlsconstrain (dir (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class fd (use ))
+(class lnk_file ())
+(classcommon lnk_file file)
+(mlsconstrain (lnk_file (write setattr append unlink link rename)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (eq l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (lnk_file (read getattr execute)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (lnk_file (read setattr unlink link rename open)) (or (or (and (neq t2 privapp_data_file) (neq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)))
+(mlsconstrain (lnk_file (read setattr unlink link rename open)) (or (or (or (neq t2 app_data_file_type) (eq t2 privapp_data_file)) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(mlsconstrain (lnk_file (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class chr_file (execute_no_trans entrypoint ))
+(classcommon chr_file file)
+(mlsconstrain (chr_file (write setattr append unlink link rename)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (eq l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (chr_file (read getattr execute)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (chr_file (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class blk_file ())
+(classcommon blk_file file)
+(mlsconstrain (blk_file (write setattr append unlink link rename)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (eq l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (blk_file (read getattr execute)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (blk_file (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class sock_file ())
+(classcommon sock_file file)
+(mlsconstrain (sock_file (write setattr append unlink link rename)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (eq l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (sock_file (read getattr execute)) (or (or (or (or (eq t2 app_data_file_type) (eq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)))
+(mlsconstrain (sock_file (setattr unlink link rename open)) (or (or (and (neq t2 app_data_file_type) (neq t2 appdomain_tmpfs)) (dom l1 l2)) (eq t1 mlstrustedsubject)))
+(mlsconstrain (sock_file (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class fifo_file ())
+(classcommon fifo_file file)
+(mlsconstrain (fifo_file (write setattr append unlink link rename)) (or (or (or (eq l1 l2) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)) (eq t2 domain)))
+(mlsconstrain (fifo_file (read getattr)) (or (or (or (dom l1 l2) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedobject)) (eq t2 domain)))
+(mlsconstrain (fifo_file (create relabelfrom relabelto)) (and (eq l2 h2) (or (eq l1 l2) (eq t1 mlstrustedsubject))))
+(class socket ())
+(classcommon socket socket)
+(mlsconstrain (socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class tcp_socket (node_bind name_connect ))
+(classcommon tcp_socket socket)
+(mlsconstrain (tcp_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class udp_socket (node_bind ))
+(classcommon udp_socket socket)
+(mlsconstrain (udp_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class rawip_socket (node_bind ))
+(classcommon rawip_socket socket)
+(mlsconstrain (rawip_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class node (recvfrom sendto ))
+(class netif (ingress egress ))
+(class netlink_socket ())
+(classcommon netlink_socket socket)
+(mlsconstrain (netlink_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class packet_socket ())
+(classcommon packet_socket socket)
+(mlsconstrain (packet_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class key_socket ())
+(classcommon key_socket socket)
+(mlsconstrain (key_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class unix_stream_socket (connectto ))
+(classcommon unix_stream_socket socket)
+(mlsconstrain (unix_stream_socket (connectto)) (or (or (eq l1 l2) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedsubject)))
+(mlsconstrain (unix_stream_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class unix_dgram_socket ())
+(classcommon unix_dgram_socket socket)
+(mlsconstrain (unix_dgram_socket (sendto)) (or (or (eq l1 l2) (eq t1 mlstrustedsubject)) (eq t2 mlstrustedsubject)))
+(mlsconstrain (unix_dgram_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class sem ())
+(classcommon sem ipc)
+(class msg (send receive ))
+(class msgq (enqueue ))
+(classcommon msgq ipc)
+(class shm (lock ))
+(classcommon shm ipc)
+(class ipc ())
+(classcommon ipc ipc)
+(class netlink_route_socket (nlmsg_read nlmsg_write nlmsg_readpriv nlmsg_getneigh ))
+(classcommon netlink_route_socket socket)
+(mlsconstrain (netlink_route_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_tcpdiag_socket (nlmsg_read nlmsg_write ))
+(classcommon netlink_tcpdiag_socket socket)
+(mlsconstrain (netlink_tcpdiag_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_nflog_socket ())
+(classcommon netlink_nflog_socket socket)
+(mlsconstrain (netlink_nflog_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_xfrm_socket (nlmsg_read nlmsg_write ))
+(classcommon netlink_xfrm_socket socket)
+(mlsconstrain (netlink_xfrm_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_selinux_socket ())
+(classcommon netlink_selinux_socket socket)
+(mlsconstrain (netlink_selinux_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_audit_socket (nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit ))
+(classcommon netlink_audit_socket socket)
+(mlsconstrain (netlink_audit_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_dnrt_socket ())
+(classcommon netlink_dnrt_socket socket)
+(mlsconstrain (netlink_dnrt_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class association (sendto recvfrom setcontext polmatch ))
+(class netlink_kobject_uevent_socket ())
+(classcommon netlink_kobject_uevent_socket socket)
+(mlsconstrain (netlink_kobject_uevent_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class appletalk_socket ())
+(classcommon appletalk_socket socket)
+(mlsconstrain (appletalk_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class packet (send recv relabelto forward_in forward_out ))
+(class key (view read write search link setattr create ))
+(class dccp_socket (node_bind name_connect ))
+(classcommon dccp_socket socket)
+(class memprotect (mmap_zero ))
+(class peer (recv ))
+(class capability2 ())
+(classcommon capability2 cap2)
+(class kernel_service (use_as_override create_files_as ))
+(class tun_socket (attach_queue ))
+(classcommon tun_socket socket)
+(mlsconstrain (tun_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class binder (impersonate call set_context_mgr transfer ))
+(class netlink_iscsi_socket ())
+(classcommon netlink_iscsi_socket socket)
+(mlsconstrain (netlink_iscsi_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_fib_lookup_socket ())
+(classcommon netlink_fib_lookup_socket socket)
+(mlsconstrain (netlink_fib_lookup_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_connector_socket ())
+(classcommon netlink_connector_socket socket)
+(mlsconstrain (netlink_connector_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_netfilter_socket ())
+(classcommon netlink_netfilter_socket socket)
+(mlsconstrain (netlink_netfilter_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_generic_socket ())
+(classcommon netlink_generic_socket socket)
+(mlsconstrain (netlink_generic_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_scsitransport_socket ())
+(classcommon netlink_scsitransport_socket socket)
+(mlsconstrain (netlink_scsitransport_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_rdma_socket ())
+(classcommon netlink_rdma_socket socket)
+(mlsconstrain (netlink_rdma_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netlink_crypto_socket ())
+(classcommon netlink_crypto_socket socket)
+(mlsconstrain (netlink_crypto_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class infiniband_pkey (access ))
+(class infiniband_endport (manage_subnet ))
+(class cap_userns ())
+(classcommon cap_userns cap)
+(class cap2_userns ())
+(classcommon cap2_userns cap2)
+(class sctp_socket (node_bind name_connect association ))
+(classcommon sctp_socket socket)
+(mlsconstrain (sctp_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class icmp_socket (node_bind ))
+(classcommon icmp_socket socket)
+(mlsconstrain (icmp_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class ax25_socket ())
+(classcommon ax25_socket socket)
+(mlsconstrain (ax25_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class ipx_socket ())
+(classcommon ipx_socket socket)
+(mlsconstrain (ipx_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class netrom_socket ())
+(classcommon netrom_socket socket)
+(mlsconstrain (netrom_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class atmpvc_socket ())
+(classcommon atmpvc_socket socket)
+(mlsconstrain (atmpvc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class x25_socket ())
+(classcommon x25_socket socket)
+(mlsconstrain (x25_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class rose_socket ())
+(classcommon rose_socket socket)
+(mlsconstrain (rose_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class decnet_socket ())
+(classcommon decnet_socket socket)
+(mlsconstrain (decnet_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class atmsvc_socket ())
+(classcommon atmsvc_socket socket)
+(mlsconstrain (atmsvc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class rds_socket ())
+(classcommon rds_socket socket)
+(mlsconstrain (rds_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class irda_socket ())
+(classcommon irda_socket socket)
+(mlsconstrain (irda_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class pppox_socket ())
+(classcommon pppox_socket socket)
+(mlsconstrain (pppox_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class llc_socket ())
+(classcommon llc_socket socket)
+(mlsconstrain (llc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class can_socket ())
+(classcommon can_socket socket)
+(mlsconstrain (can_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class tipc_socket ())
+(classcommon tipc_socket socket)
+(mlsconstrain (tipc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class bluetooth_socket ())
+(classcommon bluetooth_socket socket)
+(mlsconstrain (bluetooth_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class iucv_socket ())
+(classcommon iucv_socket socket)
+(mlsconstrain (iucv_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class rxrpc_socket ())
+(classcommon rxrpc_socket socket)
+(mlsconstrain (rxrpc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class isdn_socket ())
+(classcommon isdn_socket socket)
+(mlsconstrain (isdn_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class phonet_socket ())
+(classcommon phonet_socket socket)
+(mlsconstrain (phonet_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class ieee802154_socket ())
+(classcommon ieee802154_socket socket)
+(mlsconstrain (ieee802154_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class caif_socket ())
+(classcommon caif_socket socket)
+(mlsconstrain (caif_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class alg_socket ())
+(classcommon alg_socket socket)
+(mlsconstrain (alg_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class nfc_socket ())
+(classcommon nfc_socket socket)
+(mlsconstrain (nfc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class vsock_socket ())
+(classcommon vsock_socket socket)
+(mlsconstrain (vsock_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class kcm_socket ())
+(classcommon kcm_socket socket)
+(mlsconstrain (kcm_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class qipcrtr_socket ())
+(classcommon qipcrtr_socket socket)
+(mlsconstrain (qipcrtr_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class smc_socket ())
+(classcommon smc_socket socket)
+(mlsconstrain (smc_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class xdp_socket ())
+(classcommon xdp_socket socket)
+(mlsconstrain (xdp_socket (create relabelfrom relabelto)) (or (and (eq h1 h2) (eq l1 l2)) (eq t1 mlstrustedsubject)))
+(class mctp_socket ())
+(classcommon mctp_socket socket)
+(class process2 (nnp_transition nosuid_transition ))
+(class bpf (map_create map_read map_write prog_load prog_run ))
+(class perf_event (open cpu kernel tracepoint read write ))
+(class io_uring (override_creds sqpoll cmd ))
+(class lockdown (integrity confidentiality ))
+(class user_namespace (create ))
+(class property_service (set ))
+(class service_manager (add find list ))
+(class hwservice_manager (add find list ))
+(class keystore_key (get_state get insert delete exist list reset password lock unlock is_empty sign verify grant duplicate clear_uid add_auth user_changed gen_unique_id ))
+(class keystore2 (add_auth change_password change_user clear_ns clear_uid delete_all_keys early_boot_ended get_attestation_key get_auth_token get_last_auth_time get_state list lock pull_metrics report_off_body reset unlock ))
+(class keystore2_key (convert_storage_key_to_ephemeral delete gen_unique_id get_info grant manage_blob rebind req_forced_op update use use_dev_id ))
+(class diced (demote demote_self derive get_attestation_chain use_seal use_sign ))
+(class drmservice (consumeRights setPlaybackStatus openDecryptSession closeDecryptSession initializeDecryptUnit decrypt finalizeDecryptUnit pread ))
+(class tee_service (use ))
+(classorder (security process system capability filesystem file anon_inode dir fd lnk_file chr_file blk_file sock_file fifo_file socket tcp_socket udp_socket rawip_socket node netif netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket sem msg msgq shm ipc netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket association netlink_kobject_uevent_socket appletalk_socket packet key dccp_socket memprotect peer capability2 kernel_service tun_socket binder netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket infiniband_pkey infiniband_endport cap_userns cap2_userns sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket mctp_socket process2 bpf perf_event io_uring lockdown user_namespace property_service service_manager hwservice_manager keystore_key keystore2 keystore2_key diced drmservice tee_service ))
+(role r)
+(roletype r domain)
+(typeattribute dev_type)
+(typeattributeset dev_type (device ashmem_device ashmem_libcutils_device audio_device binder_device hwbinder_device vndbinder_device block_device bt_device camera_device dm_device ublk_block_device dm_user_device ublk_control_device keychord_device loop_control_device loop_device pmsg_device radio_device ram_device rtc_device vd_device vold_device console_device fscklogs gpu_device graphics_device hw_random_device input_device port_device lowpan_device mtp_device nfc_device ptmx_device kmsg_device kmsg_debug_device null_device random_device secure_element_device sensors_device serial_device socket_device owntty_device tty_device video_device zero_device fuse_device iio_device ion_device dmabuf_heap_device dmabuf_system_heap_device dmabuf_system_secure_heap_device qtaguid_device watchdog_device uhid_device uio_device tun_device usbaccessory_device usb_device usb_serial_device gnss_device properties_device properties_serial property_info hidraw_device hci_attach_dev rpmsg_device root_block_device frp_block_device system_block_device recovery_block_device boot_block_device dtbo_block_device userdata_block_device zoned_block_device cache_block_device swap_block_device metadata_block_device misc_block_device super_block_device sdcard_block_device userdata_sysdev rootdisk_sysdev vfio_device tee_device kvm_device ))
+(typeattribute bpffs_type)
+(typeattributeset bpffs_type (fs_bpf fs_bpf_tethering fs_bpf_vendor fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_loader fs_bpf_uprobestats fs_bpf_memevents ))
+(typeattribute domain)
+(typeattributeset domain (adbd aidl_lazy_test_server apexd app_zygote artd atrace audioserver blkid blkid_untrusted bluetooth bootanim bootstat bpfloader bufferhubd cameraserver charger charger_vendor crash_dump credstore crosvm dhcp dnsmasq drmserver dumpstate e2fs early_virtmgr ephemeral_app evsmanagerd extra_free_kbytes fastbootd fingerprintd flags_health_check fsck fsck_untrusted gatekeeperd gmscore_app gpuservice healthd heapprofd hwservicemanager idmap incident incident_helper incidentd init inputflinger installd isolated_app isolated_compute_app kernel keystore llkd lmkd logd logpersist mdnsd mediadrmserver mediaextractor mediametrics mediaprovider mediaserver mediaswcodec mediatranscoding modprobe mtp netd netutils_wrapper network_stack nfc perfetto performanced platform_app postinstall ppp priv_app prng_seeder profman radio recovery recovery_persist recovery_refresh rkpdapp rs rss_hwm_reset runas runas_app sdcardd secure_element servicemanager sgdisk shared_relro shell simpleperf simpleperf_app_runner slideshow statsd su surfaceflinger system_app system_server tee tombstoned toolbox traced traced_perf traced_probes traceur_app ueventd uncrypt untrusted_app untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 update_engine update_verifier usbd vdc vendor_init vendor_misc_writer vendor_modprobe vendor_shell virtual_camera virtual_touchpad virtualizationmanager vndservicemanager vold vold_prepare_subdirs watchdogd webview_zygote wificond zygote aconfigd aconfigd_mainline adbd_tradeinmode apex_test_prepostinstall apexd_derive_classpath art_boot art_exec auditctl automotive_display_service bert_collector blank_screen boringssl_self_test vendor_boringssl_self_test canhalconfigurator clatd compos_fd_server compos_verify composd cppreopts derive_classpath derive_sdk device_as_webcam dex2oat dexopt_chroot_setup dmesgd fuseblkd fuseblkd_untrusted fwk_bufferhub gki_apex_prepostinstall gsid hal_allocator_default hal_keymint_system hidl_lazy_test_server iw kcmdlinectrl linkerconfig linux_vm_setup lpdumpd mediaprovider_app mediatuner memcgv2_activation_depth microfuchsiad migrate_legacy_obb_data misctrl mm_events mmd mtectrl odrefresh odsign ot_ctl ot_daemon otapreopt_chroot otapreopt_slot overlay_remounter permissioncontroller_app postinstall_dexopt prefetch preloads_copy preopt2cachename profcollectd remount rkp_cert_processor rkpd sdk_sandbox_34 sdk_sandbox_audit sdk_sandbox_next simpleperf_boot snapshotctl snapuserd stats storaged system_server_startup system_suspend trace_redactor tradeinmode uprobestats vehicle_binding_util vfio_handler virtual_face virtual_fingerprint virtualizationservice vmlauncher_app vmnic vzwomatrigger_app wait_for_keymaster wifi_mainline_supplicant ))
+(typeattribute fs_type)
+(typeattributeset fs_type (device labeledfs pipefs sockfs rootfs proc binderfs binderfs_logs binderfs_logs_proc binderfs_logs_stats binderfs_logs_transactions binderfs_logs_transaction_history binderfs_features proc_security proc_drop_caches proc_overcommit_memory proc_min_free_order_shift proc_kpageflags proc_watermark_boost_factor proc_percpu_pagelist_high_fraction usermodehelper sysfs_usermodehelper proc_qtaguid_ctrl proc_qtaguid_stat proc_bluetooth_writable proc_abi proc_asound proc_bootconfig proc_bpf proc_buddyinfo proc_cgroups proc_cmdline proc_cpu_alignment proc_cpuinfo proc_dirty proc_diskstats proc_extra_free_kbytes proc_filesystems proc_fs_verity proc_hostname proc_hung_task proc_interrupts proc_iomem proc_kallsyms proc_keys proc_kmsg proc_loadavg proc_locks proc_lowmemorykiller proc_max_map_count proc_meminfo proc_misc proc_modules proc_mounts proc_net proc_net_tcp_udp proc_page_cluster proc_pagetypeinfo proc_panic proc_perf proc_pid_max proc_pipe_conf proc_pressure_cpu proc_pressure_io proc_pressure_mem proc_random proc_sched proc_slabinfo proc_stat proc_swaps proc_sysrq proc_timer proc_tty_drivers proc_uid_cputime_showstat proc_uid_cputime_removeuid proc_uid_io_stats proc_uid_procstat_set proc_uid_time_in_state proc_uid_concurrent_active_time proc_uid_concurrent_policy_time proc_uid_cpupower proc_uptime proc_version proc_vmallocinfo proc_vmstat proc_watermark_scale_factor proc_zoneinfo proc_vendor_sched selinuxfs fusectlfs cgroup cgroup_v2 sysfs sysfs_android_usb sysfs_uio sysfs_batteryinfo sysfs_bluetooth_writable sysfs_cma sysfs_devfreq_cur sysfs_devfreq_dir sysfs_devices_block sysfs_dm sysfs_dm_verity sysfs_dma_heap sysfs_dmabuf_stats sysfs_dt_firmware_android sysfs_extcon sysfs_ion sysfs_ipv4 sysfs_kernel_notes sysfs_leds sysfs_loop sysfs_gpu sysfs_hwrandom sysfs_nfc_power_writable sysfs_wake_lock sysfs_net sysfs_power sysfs_rtc sysfs_mem_sleep sysfs_suspend_stats sysfs_switch sysfs_sync_on_suspend sysfs_transparent_hugepage sysfs_lru_gen_enabled sysfs_usb sysfs_wakeup sysfs_wakeup_reasons sysfs_fs_ext4_features sysfs_fs_f2fs sysfs_fs_fuse_bpf sysfs_fs_fuse_features sysfs_fs_incfs_features sysfs_fs_incfs_metrics sysfs_vendor_sched fs_bpf fs_bpf_tethering fs_bpf_vendor configfs sysfs_devices_cs_etm sysfs_devices_system_cpu sysfs_lowmemorykiller sysfs_wlan_fwpath sysfs_vibrator sysfs_uhid sysfs_thermal sysfs_zram sysfs_zram_uevent inotify devpts tmpfs shm mqueue fuse fuseblk sdcardfs vfat exfat debugfs debugfs_kprobes debugfs_mmc debugfs_mm_events_tracing debugfs_trace_marker debugfs_tracing debugfs_tracing_debug debugfs_tracing_instances debugfs_tracing_printk_formats debugfs_wakeup_sources debugfs_wifi_tracing securityfs pstorefs functionfs oemfs usbfs binfmt_miscfs app_fusefs debugfs_bootreceiver_tracing sysfs_udc apexd_devpts proc_allocinfo config_gz fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_loader fs_bpf_uprobestats fs_bpf_memevents debugfs_kcov sysfs_dt_avf proc_dt_avf sysfs_uprobe sysfs_pgsize_migration sysfs_firmware_acpi_tables odsign_devpts priv_app_devpts untrusted_app_all_devpts ))
+(typeattribute contextmount_type)
+(typeattributeset contextmount_type (oemfs app_fusefs ))
+(typeattribute fusefs_type)
+(typeattributeset fusefs_type (fuse fuseblk app_fusefs ))
+(typeattribute file_type)
+(typeattributeset file_type (adbd_exec aidl_lazy_test_server_exec apexd_exec appdomain_tmpfs app_zygote_tmpfs audioserver_tmpfs bootanim_exec bootstat_exec bufferhubd_exec cameraserver_exec cameraserver_tmpfs charger_exec crash_dump_exec credstore_exec dhcp_exec dnsmasq_exec drmserver_exec drmserver_socket dumpstate_exec e2fs_exec early_virtmgr_exec extra_free_kbytes_exec unlabeled system_file system_asan_options_file system_event_log_tags_file system_lib_file system_bootstrap_lib_file system_group_file system_linker_exec system_linker_config_file system_passwd_file system_seccomp_policy_file system_security_cacerts_file tcpdump_exec system_zoneinfo_file cgroup_desc_file vendor_cgroup_desc_file task_profiles_file vendor_task_profiles_file art_apex_dir linkerconfig_file incremental_control_file bootanim_oem_file vendor_hal_file vendor_file vendor_app_file vendor_configs_file same_process_hal_file vndk_sp_file vendor_framework_file vendor_overlay_file vendor_public_lib_file vendor_public_framework_file vendor_microdroid_file vendor_boot_ota_file vendor_keylayout_file vendor_keychars_file vendor_idc_file vendor_uuid_mapping_config_file vendor_vm_file vendor_vm_data_file metadata_file vold_metadata_file gsi_metadata_file gsi_public_metadata_file password_slot_metadata_file apex_metadata_file ota_metadata_file metadata_bootstat_file userspace_reboot_metadata_file staged_install_file watchdog_metadata_file repair_mode_metadata_file aconfig_storage_metadata_file aconfig_storage_flags_metadata_file dev_cpu_variant runtime_event_log_tags_file logcat_exec cgroup_rc_file coredump_file system_data_root_file system_data_file system_userdir_file packages_list_file game_mode_intervention_list_file vendor_data_file vendor_userdir_file unencrypted_data_file install_data_file drm_data_file adb_data_file anr_data_file tombstone_data_file tombstone_wifi_data_file apex_data_file apk_data_file apk_tmp_file apk_private_data_file apk_private_tmp_file dalvikcache_data_file ota_data_file ota_package_file user_profile_root_file user_profile_data_file profman_dump_data_file prereboot_data_file resourcecache_data_file shell_data_file property_data_file bootchart_data_file dropbox_data_file heapdump_data_file nativetest_data_file shell_test_data_file ringtone_file preloads_data_file preloads_media_file dhcp_data_file server_configurable_flags_data_file staging_data_file vendor_apex_file vendor_apex_metadata_file shutdown_checkpoints_system_data_file mnt_media_rw_file mnt_user_file mnt_pass_through_file mnt_expand_file mnt_sdcard_file storage_file mnt_media_rw_stub_file storage_stub_file mnt_vendor_file mnt_product_file apex_mnt_dir apex_info_file postinstall_mnt_dir postinstall_file postinstall_apex_mnt_dir mirror_data_file adb_keys_file apex_system_server_data_file apex_module_data_file apex_ota_reserved_file apex_rollback_data_file appcompat_data_file audio_data_file audioserver_data_file bluetooth_data_file bluetooth_logs_data_file bootstat_data_file boottrace_data_file camera_data_file credstore_data_file gatekeeper_data_file incident_data_file keychain_data_file keystore_data_file media_data_file media_rw_data_file media_userdir_file misc_user_data_file net_data_file network_watchlist_data_file nfc_data_file nfc_logs_data_file radio_data_file recovery_data_file shared_relro_file snapshotctl_log_data_file stats_config_data_file stats_data_file systemkeys_data_file textclassifier_data_file trace_data_file vpn_data_file wifi_data_file vold_data_file tee_data_file update_engine_data_file update_engine_log_data_file snapuserd_log_data_file method_trace_data_file gsi_data_file radio_core_data_file app_data_file privapp_data_file system_app_data_file cache_file overlayfs_file cache_backup_file cache_private_backup_file cache_recovery_file efs_file wallpaper_file shortcut_manager_icons icon_file asec_apk_file asec_public_file asec_image_file backup_data_file bluetooth_efs_file fingerprintd_data_file fingerprint_vendor_data_file app_fuse_file face_vendor_data_file iris_vendor_data_file adbd_socket bluetooth_socket dnsproxyd_socket dumpstate_socket fwmarkd_socket lmkd_socket logd_socket logdr_socket logdw_socket mdns_socket mdnsd_socket misc_logd_file mtpd_socket ot_daemon_socket property_socket racoon_socket recovery_socket rild_socket rild_debug_socket snapuserd_socket snapuserd_proxy_socket statsdw_socket system_wpa_socket system_ndebug_socket system_unsolzygote_socket tombstoned_crash_socket tombstoned_java_trace_socket tombstoned_intercept_socket traced_consumer_socket traced_perf_socket traced_producer_socket uncrypt_socket wpa_socket zygote_socket heapprofd_socket gps_control pdx_display_dir pdx_performance_dir pdx_bufferhub_dir pdx_display_client_endpoint_socket pdx_display_manager_endpoint_socket pdx_display_screenshot_endpoint_socket pdx_display_vsync_endpoint_socket pdx_performance_client_endpoint_socket pdx_bufferhub_client_endpoint_socket file_contexts_file mac_perms_file property_contexts_file seapp_contexts_file sepolicy_file service_contexts_file keystore2_key_contexts_file vendor_service_contexts_file hwservice_contexts_file vndservice_contexts_file vendor_kernel_modules system_dlkm_file audiohal_data_file tee_service_contexts_file fingerprintd_exec flags_health_check_exec fsck_exec gatekeeperd_exec hal_graphics_composer_server_tmpfs hwservicemanager_exec idmap_exec init_exec init_tmpfs inputflinger_exec installd_exec keystore_exec llkd_exec lmkd_exec logd_exec mediadrmserver_exec mediaextractor_exec mediaextractor_tmpfs mediametrics_exec mediaserver_exec mediaserver_tmpfs mediaswcodec_exec netd_exec netutils_wrapper_exec performanced_exec profman_exec recovery_persist_exec recovery_refresh_exec rs_exec runas_exec sdcardd_exec servicemanager_exec sgdisk_exec shell_exec simpleperf_app_runner_exec statsd_exec su_exec surfaceflinger_tmpfs system_server_tmpfs tombstoned_exec toolbox_exec traced_tmpfs ueventd_tmpfs uncrypt_exec update_engine_exec update_verifier_exec usbd_exec vdc_exec vendor_misc_writer_exec vendor_shell_exec vendor_toolbox_exec virtual_camera_exec virtual_touchpad_exec virtualizationmanager_exec vold_exec vold_prepare_subdirs_exec watchdogd_exec webview_zygote_exec webview_zygote_tmpfs wificond_exec zygote_tmpfs zygote_exec aconfigd_exec aconfigd_mainline_exec apex_test_prepostinstall_exec art_boot_exec art_exec_exec artd_exec artd_tmpfs atrace_exec audioserver_exec auditctl_exec automotive_display_service_exec bert_collector_exec blank_screen_exec blkid_exec boringssl_self_test_exec vendor_boringssl_self_test_exec boringssl_self_test_marker bpfloader_exec canhalconfigurator_exec clatd_exec compos_verify_exec composd_exec cppreopts_exec crosvm_exec crosvm_tmpfs derive_classpath_exec derive_sdk_exec dex2oat_exec dexopt_chroot_setup_exec dexopt_chroot_setup_tmpfs dexoptanalyzer_exec dmesgd_exec dumpstate_tmpfs evsmanagerd_exec storaged_data_file wm_trace_data_file accessibility_trace_data_file perfetto_traces_data_file perfetto_traces_bugreport_data_file perfetto_traces_profiling_data_file perfetto_configs_data_file system_perfetto_config_file uprobestats_configs_data_file oatdump_exec sdk_sandbox_system_data_file sdk_sandbox_data_file app_exec_data_file rollback_data_file checkin_data_file ota_image_data_file gsi_persistent_data_file emergency_data_file profcollectd_data_file apex_art_data_file apex_art_staging_data_file apex_compos_data_file apex_virt_data_file apex_tethering_data_file apex_uwb_data_file apex_appsearch_data_file apex_permission_data_file apex_scheduling_data_file apex_wifi_data_file font_data_file dmesgd_data_file odrefresh_data_file odsign_data_file odsign_metrics_file virtualizationservice_data_file vm_data_file environ_system_data_file bootanim_data_file fd_server_exec compos_exec compos_key_helper_exec prng_seeder_socket system_font_fallback_file aconfigd_socket aconfigd_mainline_socket system_aconfig_storage_file vendor_aconfig_storage_file connectivityblob_data_file mainline_supplicant_data_file pre_reboot_dexopt_file pre_reboot_dexopt_artd_file apk_metadata_file pbtombstone_exec storage_area_app_dir storage_area_dir storage_area_content_file storage_area_key_file tradeinmode_metadata_file prefetch_metadata_file libprocessgroup_metadata_file fuseblkd_exec fuseblkd_untrusted_exec fwk_bufferhub_exec gki_apex_prepostinstall_exec gpuservice_exec gsid_exec hal_allocator_default_exec hal_keymint_system_exec heapprofd_exec heapprofd_tmpfs hidl_lazy_test_server_exec incident_exec incident_helper_exec incidentd_exec iw_exec kcmdlinectrl_exec linkerconfig_exec linux_vm_setup_exec lpdumpd_exec mdnsd_exec mediatranscoding_exec mediatranscoding_tmpfs mediatuner_exec memcgv2_activation_depth_exec microfuchsiad_exec migrate_legacy_obb_data_exec misctrl_exec mm_events_exec mmd_exec mtectrl_exec odrefresh_exec odsign_exec ot_ctl_exec ot_daemon_exec otapreopt_chroot_exec otapreopt_slot_exec overlay_remounter_exec perfetto_exec perfetto_tmpfs postinstall_exec postinstall_dexopt_exec postinstall_dexopt_tmpfs prefetch_exec preloads_copy_exec preopt2cachename_exec prng_seeder_exec profcollectd_exec remount_exec rkp_cert_processor_exec rkpd_exec rss_hwm_reset_exec simpleperf_exec simpleperf_boot_data_file snapshotctl_exec snapuserd_exec stats_exec storaged_exec surfaceflinger_exec system_server_startup_tmpfs system_suspend_exec trace_redactor_exec traced_exec traced_perf_exec traced_probes_exec traced_probes_tmpfs tradeinmode_exec uprobestats_exec vehicle_binding_util_exec vfio_handler_exec virtual_face_exec virtual_fingerprint_exec virtualizationservice_exec vmnic_exec wait_for_keymaster_exec wifi_mainline_supplicant_exec ))
+(typeattribute exec_type)
+(typeattributeset exec_type (adbd_exec aidl_lazy_test_server_exec apexd_exec bootanim_exec bootstat_exec bufferhubd_exec cameraserver_exec charger_exec crash_dump_exec credstore_exec dhcp_exec dnsmasq_exec drmserver_exec dumpstate_exec e2fs_exec early_virtmgr_exec extra_free_kbytes_exec tcpdump_exec logcat_exec fingerprintd_exec flags_health_check_exec fsck_exec gatekeeperd_exec hwservicemanager_exec idmap_exec init_exec inputflinger_exec installd_exec keystore_exec llkd_exec lmkd_exec logd_exec mediadrmserver_exec mediaextractor_exec mediametrics_exec mediaserver_exec mediaswcodec_exec netd_exec netutils_wrapper_exec performanced_exec profman_exec recovery_persist_exec recovery_refresh_exec rs_exec runas_exec sdcardd_exec servicemanager_exec sgdisk_exec shell_exec simpleperf_app_runner_exec statsd_exec su_exec tombstoned_exec toolbox_exec uncrypt_exec update_engine_exec update_verifier_exec usbd_exec vdc_exec vendor_misc_writer_exec vendor_shell_exec vendor_toolbox_exec virtual_camera_exec virtual_touchpad_exec virtualizationmanager_exec vold_exec vold_prepare_subdirs_exec watchdogd_exec webview_zygote_exec wificond_exec zygote_exec aconfigd_exec aconfigd_mainline_exec apex_test_prepostinstall_exec art_boot_exec art_exec_exec artd_exec atrace_exec audioserver_exec auditctl_exec automotive_display_service_exec bert_collector_exec blank_screen_exec blkid_exec boringssl_self_test_exec vendor_boringssl_self_test_exec bpfloader_exec canhalconfigurator_exec clatd_exec compos_verify_exec composd_exec cppreopts_exec crosvm_exec derive_classpath_exec derive_sdk_exec dex2oat_exec dexopt_chroot_setup_exec dexoptanalyzer_exec dmesgd_exec evsmanagerd_exec oatdump_exec fd_server_exec compos_exec compos_key_helper_exec pbtombstone_exec fuseblkd_exec fuseblkd_untrusted_exec fwk_bufferhub_exec gki_apex_prepostinstall_exec gpuservice_exec gsid_exec hal_allocator_default_exec hal_keymint_system_exec heapprofd_exec hidl_lazy_test_server_exec incident_exec incident_helper_exec incidentd_exec iw_exec kcmdlinectrl_exec linkerconfig_exec linux_vm_setup_exec lpdumpd_exec mdnsd_exec mediatranscoding_exec mediatuner_exec memcgv2_activation_depth_exec microfuchsiad_exec migrate_legacy_obb_data_exec misctrl_exec mm_events_exec mmd_exec mtectrl_exec odrefresh_exec odsign_exec ot_ctl_exec ot_daemon_exec otapreopt_chroot_exec otapreopt_slot_exec overlay_remounter_exec perfetto_exec postinstall_exec postinstall_dexopt_exec prefetch_exec preloads_copy_exec preopt2cachename_exec prng_seeder_exec profcollectd_exec remount_exec rkp_cert_processor_exec rkpd_exec rss_hwm_reset_exec simpleperf_exec snapshotctl_exec snapuserd_exec stats_exec storaged_exec surfaceflinger_exec system_suspend_exec trace_redactor_exec traced_exec traced_perf_exec traced_probes_exec tradeinmode_exec uprobestats_exec vehicle_binding_util_exec vfio_handler_exec virtual_face_exec virtual_fingerprint_exec virtualizationservice_exec vmnic_exec wait_for_keymaster_exec wifi_mainline_supplicant_exec ))
+(typeattribute data_file_type)
+(expandtypeattribute (data_file_type) false)
+(typeattributeset data_file_type (incremental_control_file system_data_root_file system_data_file system_userdir_file packages_list_file game_mode_intervention_list_file vendor_data_file vendor_userdir_file unencrypted_data_file install_data_file drm_data_file adb_data_file anr_data_file tombstone_data_file tombstone_wifi_data_file apex_data_file apk_data_file apk_tmp_file apk_private_data_file apk_private_tmp_file dalvikcache_data_file ota_data_file ota_package_file user_profile_root_file user_profile_data_file profman_dump_data_file prereboot_data_file resourcecache_data_file shell_data_file property_data_file bootchart_data_file dropbox_data_file heapdump_data_file nativetest_data_file shell_test_data_file ringtone_file preloads_data_file preloads_media_file dhcp_data_file server_configurable_flags_data_file staging_data_file shutdown_checkpoints_system_data_file adb_keys_file apex_system_server_data_file apex_module_data_file apex_ota_reserved_file apex_rollback_data_file appcompat_data_file audio_data_file audioserver_data_file bluetooth_data_file bluetooth_logs_data_file bootstat_data_file boottrace_data_file camera_data_file credstore_data_file gatekeeper_data_file incident_data_file keychain_data_file keystore_data_file media_data_file media_rw_data_file media_userdir_file misc_user_data_file net_data_file network_watchlist_data_file nfc_data_file nfc_logs_data_file radio_data_file recovery_data_file shared_relro_file snapshotctl_log_data_file stats_config_data_file stats_data_file systemkeys_data_file textclassifier_data_file trace_data_file vpn_data_file wifi_data_file vold_data_file tee_data_file update_engine_data_file update_engine_log_data_file snapuserd_log_data_file method_trace_data_file gsi_data_file radio_core_data_file app_data_file privapp_data_file system_app_data_file cache_file overlayfs_file cache_backup_file cache_private_backup_file cache_recovery_file wallpaper_file shortcut_manager_icons icon_file asec_apk_file asec_public_file asec_image_file backup_data_file fingerprintd_data_file fingerprint_vendor_data_file app_fuse_file face_vendor_data_file iris_vendor_data_file bluetooth_socket misc_logd_file system_wpa_socket system_ndebug_socket system_unsolzygote_socket wpa_socket audiohal_data_file storaged_data_file wm_trace_data_file accessibility_trace_data_file perfetto_traces_data_file perfetto_traces_bugreport_data_file perfetto_traces_profiling_data_file perfetto_configs_data_file uprobestats_configs_data_file sdk_sandbox_system_data_file sdk_sandbox_data_file app_exec_data_file rollback_data_file checkin_data_file ota_image_data_file gsi_persistent_data_file emergency_data_file profcollectd_data_file apex_art_data_file apex_art_staging_data_file apex_compos_data_file apex_virt_data_file apex_tethering_data_file apex_uwb_data_file apex_appsearch_data_file apex_permission_data_file apex_scheduling_data_file apex_wifi_data_file font_data_file dmesgd_data_file odrefresh_data_file odsign_data_file odsign_metrics_file virtualizationservice_data_file environ_system_data_file bootanim_data_file connectivityblob_data_file mainline_supplicant_data_file apk_metadata_file storage_area_app_dir storage_area_dir storage_area_content_file storage_area_key_file ))
+(typeattribute core_data_file_type)
+(expandtypeattribute (core_data_file_type) false)
+(typeattributeset core_data_file_type (incremental_control_file system_data_root_file system_data_file system_userdir_file packages_list_file game_mode_intervention_list_file vendor_userdir_file unencrypted_data_file install_data_file drm_data_file adb_data_file anr_data_file tombstone_data_file apex_data_file apk_data_file apk_tmp_file apk_private_data_file apk_private_tmp_file dalvikcache_data_file ota_data_file ota_package_file user_profile_root_file user_profile_data_file profman_dump_data_file prereboot_data_file resourcecache_data_file shell_data_file property_data_file bootchart_data_file dropbox_data_file heapdump_data_file nativetest_data_file shell_test_data_file ringtone_file preloads_data_file preloads_media_file dhcp_data_file server_configurable_flags_data_file staging_data_file shutdown_checkpoints_system_data_file mirror_data_file adb_keys_file apex_system_server_data_file apex_module_data_file apex_ota_reserved_file apex_rollback_data_file appcompat_data_file audio_data_file audioserver_data_file bluetooth_data_file bluetooth_logs_data_file bootstat_data_file boottrace_data_file camera_data_file credstore_data_file gatekeeper_data_file incident_data_file keychain_data_file keystore_data_file media_data_file media_rw_data_file media_userdir_file misc_user_data_file net_data_file network_watchlist_data_file nfc_data_file nfc_logs_data_file radio_data_file recovery_data_file shared_relro_file snapshotctl_log_data_file stats_config_data_file stats_data_file systemkeys_data_file textclassifier_data_file trace_data_file vpn_data_file wifi_data_file vold_data_file update_engine_data_file update_engine_log_data_file snapuserd_log_data_file method_trace_data_file gsi_data_file radio_core_data_file app_data_file privapp_data_file system_app_data_file cache_file overlayfs_file cache_backup_file cache_private_backup_file cache_recovery_file wallpaper_file shortcut_manager_icons icon_file asec_apk_file asec_public_file asec_image_file backup_data_file fingerprintd_data_file app_fuse_file bluetooth_socket misc_logd_file system_wpa_socket system_ndebug_socket system_unsolzygote_socket wpa_socket audiohal_data_file storaged_data_file wm_trace_data_file accessibility_trace_data_file perfetto_traces_data_file perfetto_traces_bugreport_data_file perfetto_traces_profiling_data_file perfetto_configs_data_file uprobestats_configs_data_file sdk_sandbox_system_data_file sdk_sandbox_data_file app_exec_data_file rollback_data_file checkin_data_file ota_image_data_file gsi_persistent_data_file emergency_data_file profcollectd_data_file apex_art_data_file apex_art_staging_data_file apex_compos_data_file apex_virt_data_file apex_tethering_data_file apex_uwb_data_file apex_appsearch_data_file apex_permission_data_file apex_scheduling_data_file apex_wifi_data_file font_data_file dmesgd_data_file odrefresh_data_file odsign_data_file odsign_metrics_file virtualizationservice_data_file vm_data_file environ_system_data_file bootanim_data_file connectivityblob_data_file mainline_supplicant_data_file apk_metadata_file storage_area_app_dir storage_area_dir storage_area_content_file storage_area_key_file ))
+(typeattribute app_data_file_type)
+(expandtypeattribute (app_data_file_type) false)
+(typeattributeset app_data_file_type (shell_data_file bluetooth_data_file nfc_data_file radio_data_file app_data_file privapp_data_file system_app_data_file sdk_sandbox_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))
+(typeattribute system_file_type)
+(typeattributeset system_file_type (adbd_exec aidl_lazy_test_server_exec apexd_exec bootanim_exec bootstat_exec bufferhubd_exec cameraserver_exec charger_exec crash_dump_exec credstore_exec dhcp_exec dnsmasq_exec drmserver_exec dumpstate_exec e2fs_exec early_virtmgr_exec extra_free_kbytes_exec system_file system_asan_options_file system_event_log_tags_file system_lib_file system_bootstrap_lib_file system_group_file system_linker_exec system_linker_config_file system_passwd_file system_seccomp_policy_file system_security_cacerts_file tcpdump_exec system_zoneinfo_file cgroup_desc_file task_profiles_file art_apex_dir bootanim_oem_file logcat_exec file_contexts_file mac_perms_file property_contexts_file seapp_contexts_file sepolicy_file service_contexts_file keystore2_key_contexts_file hwservice_contexts_file tee_service_contexts_file fingerprintd_exec flags_health_check_exec fsck_exec gatekeeperd_exec hwservicemanager_exec idmap_exec init_exec inputflinger_exec installd_exec keystore_exec llkd_exec lmkd_exec logd_exec mediadrmserver_exec mediaextractor_exec mediametrics_exec mediaserver_exec mediaswcodec_exec netd_exec netutils_wrapper_exec performanced_exec profman_exec recovery_persist_exec recovery_refresh_exec rs_exec runas_exec sdcardd_exec servicemanager_exec sgdisk_exec shell_exec simpleperf_app_runner_exec statsd_exec su_exec tombstoned_exec toolbox_exec uncrypt_exec update_engine_exec update_verifier_exec usbd_exec vdc_exec virtual_camera_exec virtual_touchpad_exec virtualizationmanager_exec vold_exec vold_prepare_subdirs_exec watchdogd_exec wificond_exec zygote_exec aconfigd_exec aconfigd_mainline_exec apex_test_prepostinstall_exec art_boot_exec art_exec_exec artd_exec atrace_exec audioserver_exec auditctl_exec automotive_display_service_exec bert_collector_exec blank_screen_exec blkid_exec boringssl_self_test_exec bpfloader_exec canhalconfigurator_exec clatd_exec compos_verify_exec composd_exec cppreopts_exec crosvm_exec derive_classpath_exec derive_sdk_exec dex2oat_exec dexopt_chroot_setup_exec dexoptanalyzer_exec dmesgd_exec evsmanagerd_exec system_perfetto_config_file oatdump_exec fd_server_exec compos_exec compos_key_helper_exec system_font_fallback_file system_aconfig_storage_file pbtombstone_exec fuseblkd_exec fuseblkd_untrusted_exec fwk_bufferhub_exec gki_apex_prepostinstall_exec gpuservice_exec gsid_exec hal_allocator_default_exec hal_keymint_system_exec heapprofd_exec hidl_lazy_test_server_exec incident_exec incident_helper_exec incidentd_exec iw_exec kcmdlinectrl_exec linkerconfig_exec linux_vm_setup_exec lpdumpd_exec mdnsd_exec mediatranscoding_exec mediatuner_exec memcgv2_activation_depth_exec microfuchsiad_exec migrate_legacy_obb_data_exec misctrl_exec mm_events_exec mmd_exec mtectrl_exec odrefresh_exec odsign_exec ot_ctl_exec ot_daemon_exec otapreopt_chroot_exec otapreopt_slot_exec overlay_remounter_exec perfetto_exec postinstall_exec postinstall_dexopt_exec prefetch_exec preloads_copy_exec preopt2cachename_exec prng_seeder_exec profcollectd_exec remount_exec rkp_cert_processor_exec rkpd_exec rss_hwm_reset_exec simpleperf_exec snapshotctl_exec snapuserd_exec stats_exec storaged_exec surfaceflinger_exec system_suspend_exec trace_redactor_exec traced_exec traced_perf_exec traced_probes_exec tradeinmode_exec uprobestats_exec vehicle_binding_util_exec vfio_handler_exec virtual_face_exec virtual_fingerprint_exec virtualizationservice_exec vmnic_exec wait_for_keymaster_exec wifi_mainline_supplicant_exec ))
+(typeattribute system_dlkm_file_type)
+(typeattributeset system_dlkm_file_type (system_dlkm_file ))
+(typeattribute vendor_file_type)
+(typeattributeset vendor_file_type (vendor_cgroup_desc_file vendor_task_profiles_file vendor_hal_file vendor_file vendor_app_file vendor_configs_file same_process_hal_file vndk_sp_file vendor_framework_file vendor_overlay_file vendor_public_lib_file vendor_public_framework_file vendor_microdroid_file vendor_boot_ota_file vendor_keylayout_file vendor_keychars_file vendor_idc_file vendor_uuid_mapping_config_file vendor_vm_file vendor_vm_data_file vendor_apex_file vendor_apex_metadata_file vendor_service_contexts_file vendor_kernel_modules vendor_misc_writer_exec vendor_shell_exec vendor_toolbox_exec vendor_boringssl_self_test_exec vendor_aconfig_storage_file ))
+(typeattribute proc_type)
+(expandtypeattribute (proc_type) false)
+(typeattributeset proc_type (proc proc_security proc_drop_caches proc_overcommit_memory proc_min_free_order_shift proc_kpageflags proc_watermark_boost_factor proc_percpu_pagelist_high_fraction usermodehelper proc_qtaguid_ctrl proc_qtaguid_stat proc_bluetooth_writable proc_abi proc_asound proc_bootconfig proc_bpf proc_buddyinfo proc_cgroups proc_cmdline proc_cpu_alignment proc_cpuinfo proc_dirty proc_diskstats proc_extra_free_kbytes proc_filesystems proc_fs_verity proc_hostname proc_hung_task proc_interrupts proc_iomem proc_kallsyms proc_keys proc_kmsg proc_loadavg proc_locks proc_lowmemorykiller proc_max_map_count proc_meminfo proc_misc proc_modules proc_mounts proc_net proc_net_tcp_udp proc_page_cluster proc_pagetypeinfo proc_panic proc_perf proc_pid_max proc_pipe_conf proc_pressure_cpu proc_pressure_io proc_pressure_mem proc_random proc_sched proc_slabinfo proc_stat proc_swaps proc_sysrq proc_timer proc_tty_drivers proc_uid_cputime_showstat proc_uid_cputime_removeuid proc_uid_io_stats proc_uid_procstat_set proc_uid_time_in_state proc_uid_concurrent_active_time proc_uid_concurrent_policy_time proc_uid_cpupower proc_uptime proc_version proc_vmallocinfo proc_vmstat proc_watermark_scale_factor proc_zoneinfo proc_vendor_sched proc_allocinfo config_gz proc_dt_avf ))
+(typeattribute proc_net_type)
+(expandtypeattribute (proc_net_type) true)
+(typeattributeset proc_net_type (proc_net ))
+(typeattribute sysfs_type)
+(typeattributeset sysfs_type (sysfs_usermodehelper sysfs sysfs_android_usb sysfs_uio sysfs_batteryinfo sysfs_bluetooth_writable sysfs_cma sysfs_devfreq_cur sysfs_devfreq_dir sysfs_devices_block sysfs_dm sysfs_dm_verity sysfs_dma_heap sysfs_dmabuf_stats sysfs_dt_firmware_android sysfs_extcon sysfs_ion sysfs_ipv4 sysfs_kernel_notes sysfs_leds sysfs_loop sysfs_gpu sysfs_hwrandom sysfs_nfc_power_writable sysfs_wake_lock sysfs_net sysfs_power sysfs_rtc sysfs_mem_sleep sysfs_suspend_stats sysfs_switch sysfs_sync_on_suspend sysfs_transparent_hugepage sysfs_lru_gen_enabled sysfs_usb sysfs_wakeup sysfs_wakeup_reasons sysfs_fs_ext4_features sysfs_fs_f2fs sysfs_fs_fuse_bpf sysfs_fs_fuse_features sysfs_fs_incfs_features sysfs_fs_incfs_metrics sysfs_vendor_sched sysfs_devices_cs_etm sysfs_devices_system_cpu sysfs_lowmemorykiller sysfs_wlan_fwpath sysfs_vibrator sysfs_uhid sysfs_thermal sysfs_zram sysfs_zram_uevent sysfs_udc sysfs_dt_avf sysfs_uprobe sysfs_pgsize_migration sysfs_firmware_acpi_tables ))
+(typeattribute debugfs_type)
+(typeattributeset debugfs_type (debugfs debugfs_kprobes debugfs_mmc debugfs_mm_events_tracing debugfs_trace_marker debugfs_tracing debugfs_tracing_debug debugfs_tracing_instances debugfs_tracing_printk_formats debugfs_wakeup_sources debugfs_wifi_tracing debugfs_bootreceiver_tracing debugfs_kcov ))
+(typeattribute tracefs_type)
+(typeattributeset tracefs_type (debugfs_mm_events_tracing debugfs_trace_marker debugfs_tracing debugfs_tracing_debug debugfs_tracing_instances debugfs_tracing_printk_formats debugfs_wifi_tracing debugfs_bootreceiver_tracing ))
+(typeattribute sdcard_type)
+(typeattributeset sdcard_type (fuseblk sdcardfs vfat exfat ))
+(typeattribute node_type)
+(typeattributeset node_type (node ))
+(typeattribute netif_type)
+(typeattributeset netif_type (netif ))
+(typeattribute port_type)
+(typeattributeset port_type (port ))
+(typeattribute property_type)
+(typeattributeset property_type (apexd_prop bootloader_boot_reason_prop device_config_activity_manager_native_boot_prop device_config_boot_count_prop device_config_input_native_boot_prop device_config_netd_native_prop device_config_reset_performed_prop firstboot_prop boottime_prop charger_prop cold_boot_done_prop ctl_adbd_prop ctl_apexd_prop ctl_bootanim_prop ctl_bugreport_prop ctl_console_prop ctl_dumpstate_prop ctl_fuse_prop ctl_gsid_prop ctl_interface_restart_prop ctl_interface_stop_prop ctl_mdnsd_prop ctl_restart_prop ctl_rildaemon_prop ctl_sigstop_prop dynamic_system_prop heapprofd_enabled_prop llkd_prop lpdumpd_prop mmc_prop mock_ota_prop net_dns_prop overlay_prop persistent_properties_ready_prop safemode_prop system_lmk_prop system_trace_prop test_boot_reason_prop time_prop traced_enabled_prop traced_lazy_prop aac_drc_prop adaptive_haptics_prop apex_ready_prop arm64_memtag_prop binder_cache_bluetooth_server_prop binder_cache_system_server_prop binder_cache_telephony_server_prop boot_status_prop bootanim_system_prop bootloader_prop boottime_public_prop bq_config_prop build_bootimage_prop build_prop composd_vm_art_prop device_config_aconfig_flags_prop device_config_camera_native_prop device_config_edgetpu_native_prop device_config_media_native_prop device_config_nnapi_native_prop device_config_runtime_native_boot_prop device_config_runtime_native_prop device_config_surface_flinger_native_boot_prop device_config_vendor_system_native_prop device_config_vendor_system_native_boot_prop drm_forcel3_prop fingerprint_prop gwp_asan_prop hal_instrumentation_prop userdebug_or_eng_prop init_service_status_prop libc_debug_prop module_sdkextensions_prop nnapi_ext_deny_product_prop persist_wm_debug_prop power_debug_prop property_service_version_prop provisioned_prop restorecon_prop retaildemo_prop servicemanager_prop smart_idle_maint_enabled_prop socket_hook_prop sqlite_log_prop surfaceflinger_display_prop system_boot_reason_prop system_jvmti_agent_prop traced_oome_heap_session_count_prop ab_update_gki_prop usb_prop userspace_reboot_exported_prop vold_status_prop vts_status_prop enable_16k_pages_prop profcollectd_etr_prop config_prop cppreopt_prop dalvik_prop debuggerd_prop device_logging_prop dhcp_prop dumpstate_prop exported3_system_prop exported_dumpstate_prop exported_secure_prop heapprofd_prop net_radio_prop pan_result_prop persist_debug_prop shell_prop test_harness_prop theme_prop use_memfd_prop vold_prop apexd_config_prop apexd_select_prop aaudio_config_prop apk_verity_prop audio_config_prop bootanim_config_prop bluetooth_config_prop build_attestation_prop build_config_prop build_odm_prop build_vendor_prop camera_calibration_prop camera_config_prop camera2_extensions_prop camerax_extensions_prop charger_config_prop codec2_config_prop composd_vm_vendor_prop cpu_variant_prop debugfs_restriction_prop drm_config_prop drm_service_config_prop exported_camera_prop exported_config_prop exported_default_prop ffs_config_prop framework_watchdog_config_prop graphics_config_prop hdmi_config_prop hw_timeout_multiplier_prop hypervisor_prop hypervisor_restricted_prop incremental_prop input_device_config_prop keyguard_config_prop keystore_config_prop lmkd_config_prop media_config_prop media_variant_prop mediadrm_config_prop mm_events_config_prop oem_unlock_prop ota_build_prop packagemanager_config_prop quick_start_prop recovery_config_prop recovery_usb_config_prop sendbug_config_prop soc_prop storage_config_prop storagemanager_config_prop surfaceflinger_prop suspend_prop systemsound_config_prop telephony_config_prop threadnetwork_config_prop tombstone_config_prop usb_config_prop userspace_reboot_config_prop vehicle_hal_prop vendor_security_patch_level_prop vendor_socket_hook_prop virtual_ab_prop vndk_prop vts_config_prop vold_config_prop wifi_config_prop zram_config_prop zygote_config_prop dck_prop tuner_config_prop usb_uvc_enabled_prop setupwizard_mode_prop pm_archiving_enabled_prop trusty_security_vm_sys_vendor_prop adbd_config_prop audio_prop bluetooth_a2dp_offload_prop bluetooth_audio_hal_prop bluetooth_finder_prop bluetooth_prop bpf_progs_loaded_prop charger_status_prop ctl_default_prop ctl_interface_start_prop ctl_start_prop ctl_stop_prop dalvik_config_prop dalvik_dynamic_config_prop dalvik_runtime_prop debug_prop device_config_memory_safety_native_boot_prop device_config_memory_safety_native_prop dumpstate_options_prop exported_system_prop exported_bluetooth_prop exported_overlay_prop exported_pm_prop future_pm_prop ffs_control_prop framework_status_prop gesture_prop graphics_config_writable_prop hal_dumpstate_config_prop sota_prop hwservicemanager_prop lmkd_prop locale_prop logd_prop logpersistd_logging_prop log_prop log_tag_prop lowpan_prop nfc_prop ota_prop permissive_mte_prop powerctl_prop qemu_hw_prop qemu_sf_lcd_density_prop radio_control_prop radio_prop serialno_prop surfaceflinger_color_prop system_prop system_user_mode_emulation_prop telephony_status_prop timezone_prop usb_control_prop vold_post_fs_data_prop wifi_hal_prop wifi_log_prop wifi_prop zram_control_prop default_prop rebootescrow_hal_prop virtual_face_hal_prop virtual_face_prop virtual_fingerprint_hal_prop virtual_fingerprint_prop persist_vendor_debug_wifi_prop vendor_default_prop adbd_prop adbd_tradeinmode_prop apexd_payload_metadata_prop ctl_snapuserd_prop ctl_prefetch_prop ctl_uprobestats_prop crashrecovery_prop debug_tracing_desktop_mode_visible_tasks_prop device_config_core_experiments_team_internal_prop device_config_lmkd_native_prop device_config_mglru_native_prop device_config_mmd_native_prop device_config_profcollect_native_boot_prop device_config_remote_key_provisioning_native_prop device_config_statsd_native_prop device_config_statsd_native_boot_prop device_config_storage_native_boot_prop device_config_sys_traced_prop device_config_window_manager_native_boot_prop device_config_configuration_prop device_config_connectivity_prop device_config_swcodec_native_prop device_config_tethering_u_or_later_native_prop dmesgd_start_prop fastbootd_protocol_prop gsid_prop init_perf_lsm_hooks_prop init_service_status_private_prop init_storage_prop init_svc_debug_prop kcmdline_prop keystore_diagnostics_prop keystore_listen_prop last_boot_reason_prop localization_prop logd_auditrate_prop lower_kptr_restrict_prop mmd_status_prop net_464xlat_fromvendor_prop net_connectivity_prop netd_stable_secret_prop next_boot_prop odsign_prop misctrl_prop perf_drop_caches_prop pm_prop prefetch_service_prop profcollectd_node_id_prop radio_cdma_ecm_prop remote_prov_prop remote_prov_cert_prop rollback_test_prop setupwizard_prop snapshotctl_prop snapuserd_prop system_adbd_prop system_audio_config_prop timezone_metadata_prop traced_config_prop traced_perf_enabled_prop traced_relay_relay_port_prop uprobestats_start_with_config_prop tuner_server_ctl_prop userspace_reboot_log_prop userspace_reboot_test_prop verity_status_prop zygote_wrap_prop ctl_mediatranscoding_prop ctl_odsign_prop virtualizationservice_prop ctl_apex_load_prop sensors_config_prop hypervisor_pvmfw_prop hypervisor_virtualizationmanager_prop game_manager_config_prop hidl_memory_prop suspend_debug_prop system_service_enable_prop ctl_artd_pre_reboot_prop trusty_security_vm_sys_prop hint_manager_config_prop bionic_linker_16kb_app_compat_prop device_config_virtualization_framework_native_prop fstype_prop log_file_logger_prop mmd_shared_status_prop persist_sysui_builder_extras_prop persist_sysui_ranking_update_prop page_size_prop pm_16kb_app_compat_prop avf_virtualizationservice_prop high_barometer_quality_prop mmd_prop mmd_shared_prop prefetch_boot_prop ))
+(typeattribute core_property_type)
+(typeattributeset core_property_type (restorecon_prop usb_prop config_prop cppreopt_prop dalvik_prop debuggerd_prop dhcp_prop dumpstate_prop net_radio_prop pan_result_prop persist_debug_prop shell_prop vold_prop audio_prop debug_prop logd_prop nfc_prop ota_prop powerctl_prop radio_prop system_prop ))
+(typeattribute log_property_type)
+(typeattributeset log_property_type (log_prop log_tag_prop wifi_log_prop ))
+(typeattribute extended_core_property_type)
+(typeattribute system_property_type)
+(expandtypeattribute (system_property_type) false)
+(typeattributeset system_property_type (apexd_prop bootloader_boot_reason_prop device_config_activity_manager_native_boot_prop device_config_boot_count_prop device_config_input_native_boot_prop device_config_netd_native_prop device_config_reset_performed_prop firstboot_prop boottime_prop charger_prop cold_boot_done_prop ctl_adbd_prop ctl_apexd_prop ctl_bootanim_prop ctl_bugreport_prop ctl_console_prop ctl_dumpstate_prop ctl_fuse_prop ctl_gsid_prop ctl_interface_restart_prop ctl_interface_stop_prop ctl_mdnsd_prop ctl_restart_prop ctl_rildaemon_prop ctl_sigstop_prop dynamic_system_prop heapprofd_enabled_prop llkd_prop lpdumpd_prop mmc_prop mock_ota_prop net_dns_prop overlay_prop persistent_properties_ready_prop safemode_prop system_lmk_prop system_trace_prop test_boot_reason_prop time_prop traced_enabled_prop traced_lazy_prop aac_drc_prop adaptive_haptics_prop apex_ready_prop arm64_memtag_prop binder_cache_bluetooth_server_prop binder_cache_system_server_prop binder_cache_telephony_server_prop boot_status_prop bootanim_system_prop bootloader_prop boottime_public_prop bq_config_prop build_bootimage_prop build_prop composd_vm_art_prop device_config_aconfig_flags_prop device_config_camera_native_prop device_config_edgetpu_native_prop device_config_media_native_prop device_config_nnapi_native_prop device_config_runtime_native_boot_prop device_config_runtime_native_prop device_config_surface_flinger_native_boot_prop device_config_vendor_system_native_prop device_config_vendor_system_native_boot_prop drm_forcel3_prop fingerprint_prop gwp_asan_prop hal_instrumentation_prop userdebug_or_eng_prop init_service_status_prop libc_debug_prop module_sdkextensions_prop nnapi_ext_deny_product_prop persist_wm_debug_prop power_debug_prop property_service_version_prop provisioned_prop restorecon_prop retaildemo_prop servicemanager_prop smart_idle_maint_enabled_prop socket_hook_prop sqlite_log_prop surfaceflinger_display_prop system_boot_reason_prop system_jvmti_agent_prop traced_oome_heap_session_count_prop ab_update_gki_prop usb_prop userspace_reboot_exported_prop vold_status_prop vts_status_prop enable_16k_pages_prop profcollectd_etr_prop config_prop cppreopt_prop dalvik_prop debuggerd_prop device_logging_prop dhcp_prop dumpstate_prop exported3_system_prop exported_dumpstate_prop exported_secure_prop heapprofd_prop net_radio_prop pan_result_prop persist_debug_prop shell_prop test_harness_prop theme_prop use_memfd_prop vold_prop apexd_config_prop apexd_select_prop aaudio_config_prop apk_verity_prop audio_config_prop bootanim_config_prop bluetooth_config_prop build_attestation_prop build_config_prop build_odm_prop build_vendor_prop camera_calibration_prop camera_config_prop camera2_extensions_prop camerax_extensions_prop charger_config_prop codec2_config_prop composd_vm_vendor_prop cpu_variant_prop debugfs_restriction_prop drm_config_prop drm_service_config_prop exported_camera_prop exported_config_prop exported_default_prop ffs_config_prop framework_watchdog_config_prop graphics_config_prop hdmi_config_prop hw_timeout_multiplier_prop hypervisor_prop hypervisor_restricted_prop incremental_prop input_device_config_prop keyguard_config_prop keystore_config_prop lmkd_config_prop media_config_prop media_variant_prop mediadrm_config_prop mm_events_config_prop oem_unlock_prop ota_build_prop packagemanager_config_prop quick_start_prop recovery_config_prop recovery_usb_config_prop sendbug_config_prop soc_prop storage_config_prop storagemanager_config_prop surfaceflinger_prop suspend_prop systemsound_config_prop telephony_config_prop threadnetwork_config_prop tombstone_config_prop usb_config_prop userspace_reboot_config_prop vehicle_hal_prop vendor_security_patch_level_prop vendor_socket_hook_prop virtual_ab_prop vndk_prop vts_config_prop vold_config_prop wifi_config_prop zram_config_prop zygote_config_prop dck_prop tuner_config_prop usb_uvc_enabled_prop setupwizard_mode_prop pm_archiving_enabled_prop trusty_security_vm_sys_vendor_prop adbd_config_prop audio_prop bluetooth_a2dp_offload_prop bluetooth_audio_hal_prop bluetooth_finder_prop bluetooth_prop bpf_progs_loaded_prop charger_status_prop ctl_default_prop ctl_interface_start_prop ctl_start_prop ctl_stop_prop dalvik_config_prop dalvik_dynamic_config_prop dalvik_runtime_prop debug_prop device_config_memory_safety_native_boot_prop device_config_memory_safety_native_prop dumpstate_options_prop exported_system_prop exported_bluetooth_prop exported_overlay_prop exported_pm_prop future_pm_prop ffs_control_prop framework_status_prop gesture_prop graphics_config_writable_prop hal_dumpstate_config_prop sota_prop hwservicemanager_prop lmkd_prop locale_prop logd_prop logpersistd_logging_prop log_prop log_tag_prop lowpan_prop nfc_prop ota_prop permissive_mte_prop powerctl_prop qemu_hw_prop qemu_sf_lcd_density_prop radio_control_prop radio_prop serialno_prop surfaceflinger_color_prop system_prop system_user_mode_emulation_prop telephony_status_prop timezone_prop usb_control_prop vold_post_fs_data_prop wifi_hal_prop wifi_log_prop wifi_prop zram_control_prop default_prop virtual_face_prop virtual_fingerprint_prop adbd_prop adbd_tradeinmode_prop apexd_payload_metadata_prop ctl_snapuserd_prop ctl_prefetch_prop ctl_uprobestats_prop crashrecovery_prop debug_tracing_desktop_mode_visible_tasks_prop device_config_core_experiments_team_internal_prop device_config_lmkd_native_prop device_config_mglru_native_prop device_config_mmd_native_prop device_config_profcollect_native_boot_prop device_config_remote_key_provisioning_native_prop device_config_statsd_native_prop device_config_statsd_native_boot_prop device_config_storage_native_boot_prop device_config_sys_traced_prop device_config_window_manager_native_boot_prop device_config_configuration_prop device_config_connectivity_prop device_config_swcodec_native_prop device_config_tethering_u_or_later_native_prop dmesgd_start_prop fastbootd_protocol_prop gsid_prop init_perf_lsm_hooks_prop init_service_status_private_prop init_storage_prop init_svc_debug_prop kcmdline_prop keystore_diagnostics_prop keystore_listen_prop last_boot_reason_prop localization_prop logd_auditrate_prop lower_kptr_restrict_prop mmd_status_prop net_464xlat_fromvendor_prop net_connectivity_prop netd_stable_secret_prop next_boot_prop odsign_prop misctrl_prop perf_drop_caches_prop pm_prop prefetch_service_prop profcollectd_node_id_prop radio_cdma_ecm_prop remote_prov_prop remote_prov_cert_prop rollback_test_prop setupwizard_prop snapshotctl_prop snapuserd_prop system_adbd_prop system_audio_config_prop timezone_metadata_prop traced_config_prop traced_perf_enabled_prop traced_relay_relay_port_prop uprobestats_start_with_config_prop tuner_server_ctl_prop userspace_reboot_log_prop userspace_reboot_test_prop verity_status_prop zygote_wrap_prop ctl_mediatranscoding_prop ctl_odsign_prop virtualizationservice_prop ctl_apex_load_prop sensors_config_prop hypervisor_pvmfw_prop hypervisor_virtualizationmanager_prop game_manager_config_prop hidl_memory_prop suspend_debug_prop system_service_enable_prop ctl_artd_pre_reboot_prop trusty_security_vm_sys_prop hint_manager_config_prop bionic_linker_16kb_app_compat_prop device_config_virtualization_framework_native_prop fstype_prop log_file_logger_prop mmd_shared_status_prop persist_sysui_builder_extras_prop persist_sysui_ranking_update_prop page_size_prop pm_16kb_app_compat_prop avf_virtualizationservice_prop high_barometer_quality_prop mmd_prop mmd_shared_prop prefetch_boot_prop ))
+(typeattribute system_internal_property_type)
+(expandtypeattribute (system_internal_property_type) false)
+(typeattributeset system_internal_property_type (apexd_prop bootloader_boot_reason_prop device_config_activity_manager_native_boot_prop device_config_boot_count_prop device_config_input_native_boot_prop device_config_netd_native_prop device_config_reset_performed_prop firstboot_prop boottime_prop charger_prop cold_boot_done_prop ctl_adbd_prop ctl_apexd_prop ctl_bootanim_prop ctl_bugreport_prop ctl_console_prop ctl_dumpstate_prop ctl_fuse_prop ctl_gsid_prop ctl_interface_restart_prop ctl_interface_stop_prop ctl_mdnsd_prop ctl_restart_prop ctl_rildaemon_prop ctl_sigstop_prop dynamic_system_prop heapprofd_enabled_prop llkd_prop lpdumpd_prop mmc_prop mock_ota_prop net_dns_prop overlay_prop persistent_properties_ready_prop safemode_prop system_lmk_prop system_trace_prop test_boot_reason_prop time_prop traced_enabled_prop traced_lazy_prop default_prop adbd_prop adbd_tradeinmode_prop apexd_payload_metadata_prop ctl_snapuserd_prop ctl_prefetch_prop ctl_uprobestats_prop crashrecovery_prop debug_tracing_desktop_mode_visible_tasks_prop device_config_core_experiments_team_internal_prop device_config_lmkd_native_prop device_config_mglru_native_prop device_config_mmd_native_prop device_config_profcollect_native_boot_prop device_config_remote_key_provisioning_native_prop device_config_statsd_native_prop device_config_statsd_native_boot_prop device_config_storage_native_boot_prop device_config_sys_traced_prop device_config_window_manager_native_boot_prop device_config_configuration_prop device_config_connectivity_prop device_config_swcodec_native_prop device_config_tethering_u_or_later_native_prop dmesgd_start_prop fastbootd_protocol_prop gsid_prop init_perf_lsm_hooks_prop init_service_status_private_prop init_storage_prop init_svc_debug_prop kcmdline_prop keystore_diagnostics_prop keystore_listen_prop last_boot_reason_prop localization_prop logd_auditrate_prop lower_kptr_restrict_prop mmd_status_prop net_464xlat_fromvendor_prop net_connectivity_prop netd_stable_secret_prop next_boot_prop odsign_prop misctrl_prop perf_drop_caches_prop pm_prop prefetch_service_prop profcollectd_node_id_prop radio_cdma_ecm_prop remote_prov_prop remote_prov_cert_prop rollback_test_prop setupwizard_prop snapshotctl_prop snapuserd_prop system_adbd_prop system_audio_config_prop timezone_metadata_prop traced_config_prop traced_perf_enabled_prop traced_relay_relay_port_prop uprobestats_start_with_config_prop tuner_server_ctl_prop userspace_reboot_log_prop userspace_reboot_test_prop verity_status_prop zygote_wrap_prop ctl_mediatranscoding_prop ctl_odsign_prop virtualizationservice_prop ctl_apex_load_prop sensors_config_prop hypervisor_pvmfw_prop hypervisor_virtualizationmanager_prop game_manager_config_prop hidl_memory_prop suspend_debug_prop system_service_enable_prop ctl_artd_pre_reboot_prop trusty_security_vm_sys_prop hint_manager_config_prop ))
+(typeattribute system_restricted_property_type)
+(expandtypeattribute (system_restricted_property_type) false)
+(typeattributeset system_restricted_property_type (aac_drc_prop adaptive_haptics_prop apex_ready_prop arm64_memtag_prop binder_cache_bluetooth_server_prop binder_cache_system_server_prop binder_cache_telephony_server_prop boot_status_prop bootanim_system_prop bootloader_prop boottime_public_prop bq_config_prop build_bootimage_prop build_prop composd_vm_art_prop device_config_aconfig_flags_prop device_config_camera_native_prop device_config_edgetpu_native_prop device_config_media_native_prop device_config_nnapi_native_prop device_config_runtime_native_boot_prop device_config_runtime_native_prop device_config_surface_flinger_native_boot_prop device_config_vendor_system_native_prop device_config_vendor_system_native_boot_prop drm_forcel3_prop fingerprint_prop gwp_asan_prop hal_instrumentation_prop userdebug_or_eng_prop init_service_status_prop libc_debug_prop module_sdkextensions_prop nnapi_ext_deny_product_prop persist_wm_debug_prop power_debug_prop property_service_version_prop provisioned_prop restorecon_prop retaildemo_prop servicemanager_prop smart_idle_maint_enabled_prop socket_hook_prop sqlite_log_prop surfaceflinger_display_prop system_boot_reason_prop system_jvmti_agent_prop traced_oome_heap_session_count_prop ab_update_gki_prop usb_prop userspace_reboot_exported_prop vold_status_prop vts_status_prop enable_16k_pages_prop profcollectd_etr_prop config_prop cppreopt_prop dalvik_prop debuggerd_prop device_logging_prop dhcp_prop dumpstate_prop exported3_system_prop exported_dumpstate_prop exported_secure_prop heapprofd_prop net_radio_prop pan_result_prop persist_debug_prop shell_prop test_harness_prop theme_prop use_memfd_prop vold_prop bionic_linker_16kb_app_compat_prop device_config_virtualization_framework_native_prop fstype_prop log_file_logger_prop mmd_shared_status_prop persist_sysui_builder_extras_prop persist_sysui_ranking_update_prop page_size_prop pm_16kb_app_compat_prop ))
+(typeattribute system_public_property_type)
+(expandtypeattribute (system_public_property_type) false)
+(typeattributeset system_public_property_type (apexd_config_prop apexd_select_prop aaudio_config_prop apk_verity_prop audio_config_prop bootanim_config_prop bluetooth_config_prop build_attestation_prop build_config_prop build_odm_prop build_vendor_prop camera_calibration_prop camera_config_prop camera2_extensions_prop camerax_extensions_prop charger_config_prop codec2_config_prop composd_vm_vendor_prop cpu_variant_prop debugfs_restriction_prop drm_config_prop drm_service_config_prop exported_camera_prop exported_config_prop exported_default_prop ffs_config_prop framework_watchdog_config_prop graphics_config_prop hdmi_config_prop hw_timeout_multiplier_prop hypervisor_prop hypervisor_restricted_prop incremental_prop input_device_config_prop keyguard_config_prop keystore_config_prop lmkd_config_prop media_config_prop media_variant_prop mediadrm_config_prop mm_events_config_prop oem_unlock_prop ota_build_prop packagemanager_config_prop quick_start_prop recovery_config_prop recovery_usb_config_prop sendbug_config_prop soc_prop storage_config_prop storagemanager_config_prop surfaceflinger_prop suspend_prop systemsound_config_prop telephony_config_prop threadnetwork_config_prop tombstone_config_prop usb_config_prop userspace_reboot_config_prop vehicle_hal_prop vendor_security_patch_level_prop vendor_socket_hook_prop virtual_ab_prop vndk_prop vts_config_prop vold_config_prop wifi_config_prop zram_config_prop zygote_config_prop dck_prop tuner_config_prop usb_uvc_enabled_prop setupwizard_mode_prop pm_archiving_enabled_prop trusty_security_vm_sys_vendor_prop adbd_config_prop audio_prop bluetooth_a2dp_offload_prop bluetooth_audio_hal_prop bluetooth_finder_prop bluetooth_prop bpf_progs_loaded_prop charger_status_prop ctl_default_prop ctl_interface_start_prop ctl_start_prop ctl_stop_prop dalvik_config_prop dalvik_dynamic_config_prop dalvik_runtime_prop debug_prop device_config_memory_safety_native_boot_prop device_config_memory_safety_native_prop dumpstate_options_prop exported_system_prop exported_bluetooth_prop exported_overlay_prop exported_pm_prop future_pm_prop ffs_control_prop framework_status_prop gesture_prop graphics_config_writable_prop hal_dumpstate_config_prop sota_prop hwservicemanager_prop lmkd_prop locale_prop logd_prop logpersistd_logging_prop log_prop log_tag_prop lowpan_prop nfc_prop ota_prop permissive_mte_prop powerctl_prop qemu_hw_prop qemu_sf_lcd_density_prop radio_control_prop radio_prop serialno_prop surfaceflinger_color_prop system_prop system_user_mode_emulation_prop telephony_status_prop timezone_prop usb_control_prop vold_post_fs_data_prop wifi_hal_prop wifi_log_prop wifi_prop zram_control_prop virtual_face_prop virtual_fingerprint_prop avf_virtualizationservice_prop high_barometer_quality_prop mmd_prop mmd_shared_prop prefetch_boot_prop ))
+(typeattribute keystore2_key_type)
+(typeattributeset keystore2_key_type (keystore wifi_key shell_key su_key vold_key odsign_key locksettings_key resume_on_reboot_key ))
+(typeattribute vendor_property_type)
+(expandtypeattribute (vendor_property_type) false)
+(typeattributeset vendor_property_type (rebootescrow_hal_prop virtual_face_hal_prop virtual_fingerprint_hal_prop persist_vendor_debug_wifi_prop vendor_default_prop ))
+(typeattribute vendor_internal_property_type)
+(expandtypeattribute (vendor_internal_property_type) false)
+(typeattributeset vendor_internal_property_type (rebootescrow_hal_prop virtual_face_hal_prop virtual_fingerprint_hal_prop vendor_default_prop ))
+(typeattribute vendor_restricted_property_type)
+(expandtypeattribute (vendor_restricted_property_type) false)
+(typeattribute vendor_public_property_type)
+(expandtypeattribute (vendor_public_property_type) false)
+(typeattributeset vendor_public_property_type (persist_vendor_debug_wifi_prop ))
+(typeattribute system_server_service)
+(typeattributeset system_server_service (device_config_updatable_service ondevicepersonalization_system_service profiling_service accessibility_service account_service activity_service activity_task_service adb_service adservices_manager_service alarm_service app_binding_service app_function_service app_hibernation_service app_integrity_service app_prediction_service app_search_service appops_service appwidget_service archive_service assetatlas_service attestation_verification_service audio_service auth_service autofill_service backup_service batterystats_service battery_service binder_calls_stats_service blob_store_service bluetooth_manager_service broadcastradio_service cacheinfo_service cameraproxy_service clipboard_service cloudsearch_service contexthub_service contextual_search_service crossprofileapps_service IProxyService_service companion_device_service connectivity_native_service connectivity_service connmetrics_service consumer_ir_service content_capture_service content_suggestions_service content_service country_detector_service coverage_service cpuinfo_service cpu_monitor_service credential_service dataloader_manager_service dbinfo_service device_config_service device_policy_service device_state_service deviceidle_service device_identifiers_service devicestoragemonitor_service diskstats_service display_service domain_verification_service color_display_service ecm_enhanced_confirmation_service external_vibrator_service file_integrity_service font_service netd_listener_service network_watchlist_service devicelock_service DockObserver_service dreams_service dropbox_service ethernet_service biometric_service bugreport_service platform_compat_service face_service fingerprint_service fwk_altitude_service fwk_stats_service fwk_sensor_service fwk_vibrator_control_service game_service gfxinfo_service gnss_time_update_service grammatical_inflection_service graphicsstats_service hardware_service hardware_properties_service hdmi_control_service healthconnect_service hint_service imms_service incremental_service input_method_service input_service intrusion_detection_service ipsec_service iris_service jobscheduler_service launcherapps_service legacy_permission_service light_service locale_service location_service location_time_zone_manager_service lock_settings_service looper_stats_service media_communication_service media_metrics_service media_projection_service media_quality_service media_router_service media_session_service meminfo_service memtrackproxy_service midi_service mount_service music_recognition_service nearby_service netpolicy_service netstats_service network_management_service network_score_service network_stack_service network_time_update_service notification_service oem_lock_service otadexopt_service overlay_service pac_proxy_service package_service package_native_service people_service permission_service permissionmgr_service permission_checker_service persistent_data_block_service pinner_service powerstats_service power_service print_service processinfo_service procstats_service reboot_readiness_service recovery_service registry_service remote_auth_service remote_provisioning_service resources_manager_service restrictions_service role_service rollback_service runtime_service rttmanager_service samplingprofiler_service scheduling_policy_service search_service search_ui_service sec_key_att_app_id_provider_service security_state_service selection_toolbar_service sensitive_content_protection_service sensorservice_service sensor_privacy_service serial_service servicediscovery_service settings_service shortcut_service slice_service smartspace_service statusbar_service storagestats_service sdk_sandbox_service system_config_service system_server_dumper_service system_update_service soundtrigger_middleware_service speech_recognition_service tare_service task_service testharness_service textclassification_service textservices_service texttospeech_service telecom_service thermal_service threadnetwork_service timedetector_service timezonedetector_service translation_service trust_service tv_ad_service tv_iapp_service tv_input_service tv_tuner_resource_mgr_service uimode_service updatelock_service uri_grants_service usagestats_service usb_service user_service uwb_service vcn_management_service vibrator_service vibrator_manager_service virtual_device_service virtual_device_native_service voiceinteraction_service vpn_management_service vr_manager_service wallpaper_service wallpaper_effects_generation_service webviewupdate_service wifip2p_service wifiscanner_service wifi_service wifiaware_service wifi_usd_service window_service inputflinger_service tethering_service emergency_affordance_service ambient_context_service authentication_policy_service attention_service bg_install_control_service communal_service dynamic_system_service feature_flags_service fwk_devicestate_service incidentcompanion_service logcat_service on_device_intelligence_service protolog_configuration_service resolver_service safety_center_service statsbootstrap_service statscompanion_service statsmanager_service tracingproxy_service tradeinmode_service transparency_service vm_tethering_service wearable_sensing_service dynamic_instrumentation_service advanced_protection_service ranging_service ))
+(typeattribute app_api_service)
+(typeattributeset app_api_service (batteryproperties_service gatekeeper_service gpu_service credstore_service mediatranscoding_service profiling_service surfaceflinger_service accessibility_service account_service activity_service activity_task_service alarm_service app_function_service app_hibernation_service app_prediction_service app_search_service appops_service appwidget_service archive_service assetatlas_service attestation_verification_service audio_service auth_service autofill_service backup_service batterystats_service blob_store_service bluetooth_manager_service broadcastradio_service clipboard_service cloudsearch_service contexthub_service contextual_search_service crossprofileapps_service IProxyService_service companion_device_service connectivity_native_service connectivity_service connmetrics_service consumer_ir_service content_capture_service content_suggestions_service content_service country_detector_service credential_service device_policy_service device_state_service deviceidle_service device_identifiers_service display_service domain_verification_service color_display_service ecm_enhanced_confirmation_service file_integrity_service font_service devicelock_service dreams_service dropbox_service ethernet_service biometric_service bugreport_service platform_compat_service face_service fingerprint_service fwk_stats_service game_service grammatical_inflection_service graphicsstats_service hardware_properties_service hdmi_control_service healthconnect_service hint_service imms_service input_method_service input_service intrusion_detection_service ipsec_service iris_service jobscheduler_service launcherapps_service legacy_permission_service light_service locale_service location_service lock_settings_service media_communication_service media_metrics_service media_projection_service media_quality_service media_router_service media_session_service memtrackproxy_service midi_service mount_service music_recognition_service nearby_service netpolicy_service netstats_service network_management_service notification_service pac_proxy_service package_service package_native_service people_service permission_service permissionmgr_service permission_checker_service persistent_data_block_service powerstats_service power_service print_service procstats_service reboot_readiness_service registry_service remote_auth_service restrictions_service role_service rollback_service rttmanager_service search_service search_ui_service sec_key_att_app_id_provider_service security_state_service selection_toolbar_service sensitive_content_protection_service sensorservice_service sensor_privacy_service servicediscovery_service settings_service shortcut_service slice_service smartspace_service statusbar_service storagestats_service sdk_sandbox_service speech_recognition_service tare_service textclassification_service textservices_service texttospeech_service telecom_service thermal_service threadnetwork_service timedetector_service timezonedetector_service translation_service trust_service tv_ad_service tv_iapp_service tv_input_service tv_tuner_resource_mgr_service uimode_service uri_grants_service usagestats_service usb_service user_service uwb_service vcn_management_service vibrator_service vibrator_manager_service virtual_device_service virtual_device_native_service voiceinteraction_service vpn_management_service wallpaper_service wallpaper_effects_generation_service webviewupdate_service wifip2p_service wifiscanner_service wifi_service wifiaware_service wifi_usd_service tethering_service ambient_context_service communal_service feature_flags_service incidentcompanion_service mediatuner_service on_device_intelligence_service protolog_configuration_service safety_center_service wearable_sensing_service dynamic_instrumentation_service advanced_protection_service ranging_service ))
+(typeattribute ephemeral_app_api_service)
+(typeattributeset ephemeral_app_api_service (batteryproperties_service gpu_service surfaceflinger_service accessibility_service account_service activity_service activity_task_service alarm_service app_search_service appops_service appwidget_service assetatlas_service audio_service autofill_service backup_service batterystats_service bluetooth_manager_service clipboard_service IProxyService_service companion_device_service connectivity_native_service connectivity_service connmetrics_service consumer_ir_service content_capture_service content_suggestions_service content_service country_detector_service credential_service deviceidle_service device_identifiers_service display_service font_service devicelock_service dreams_service dropbox_service platform_compat_service game_service grammatical_inflection_service graphicsstats_service hardware_properties_service hint_service imms_service input_method_service input_service ipsec_service jobscheduler_service launcherapps_service legacy_permission_service light_service locale_service location_service media_communication_service media_metrics_service media_projection_service media_quality_service media_router_service media_session_service memtrackproxy_service midi_service mount_service music_recognition_service netpolicy_service netstats_service network_management_service notification_service package_service package_native_service permission_service permissionmgr_service permission_checker_service power_service print_service procstats_service registry_service restrictions_service rttmanager_service search_service security_state_service selection_toolbar_service sensorservice_service sensor_privacy_service servicediscovery_service settings_service statusbar_service storagestats_service speech_recognition_service textclassification_service textservices_service texttospeech_service telecom_service thermal_service timedetector_service translation_service tv_ad_service tv_iapp_service tv_input_service uimode_service uri_grants_service usagestats_service user_service vcn_management_service vibrator_service vibrator_manager_service virtual_device_native_service voiceinteraction_service webviewupdate_service tethering_service protolog_configuration_service ))
+(typeattribute system_api_service)
+(typeattributeset system_api_service (device_config_updatable_service ondevicepersonalization_system_service adb_service adservices_manager_service app_hibernation_service app_integrity_service cacheinfo_service cpuinfo_service credential_service dbinfo_service device_state_service diskstats_service color_display_service gfxinfo_service intrusion_detection_service lock_settings_service meminfo_service network_score_service oem_lock_service overlay_service persistent_data_block_service resources_manager_service serial_service system_config_service system_server_dumper_service updatelock_service window_service inputflinger_service authentication_policy_service bg_install_control_service dynamic_system_service incidentcompanion_service protolog_configuration_service safety_center_service statsmanager_service ))
+(typeattribute protected_service)
+(typeattributeset protected_service (hal_audio_service hal_authgraph_service hal_authsecret_service hal_bluetooth_service hal_bootctl_service hal_broadcastradio_service hal_camera_service hal_can_controller_service hal_confirmationui_service hal_contexthub_service hal_dumpstate_service hal_evs_service hal_face_service hal_fastboot_service hal_fingerprint_service hal_gnss_service hal_graphics_composer_service hal_health_service hal_health_storage_service hal_hwcrypto_service hal_identity_service hal_input_processor_service hal_ir_service hal_ivn_service hal_keymint_service hal_light_service hal_macsec_service hal_mediaquality_service hal_memtrack_service hal_nfc_service hal_oemlock_service hal_power_service hal_power_stats_service hal_radio_service hal_rebootescrow_service hal_remoteaccess_service hal_remotelyprovisionedcomponent_avf_service hal_remotelyprovisionedcomponent_service hal_sensors_service hal_secretkeeper_service hal_secureclock_service hal_secure_element_service hal_sharedsecret_service hal_system_suspend_service hal_tetheroffload_service hal_thermal_service hal_tv_hdmi_cec_service hal_tv_hdmi_connection_service hal_tv_hdmi_earc_service hal_tv_input_service hal_threadnetwork_service hal_tv_tuner_service hal_usb_service hal_usb_gadget_service hal_uwb_service hal_vehicle_service hal_vibrator_service hal_weaver_service hal_nlinterceptor_service hal_wifi_service hal_wifi_hostapd_service hal_wifi_supplicant_service hal_gatekeeper_service hal_vm_capabilities_service ))
+(typeattribute service_manager_type)
+(typeattributeset service_manager_type (aidl_lazy_test_service apc_service apex_service artd_service artd_pre_reboot_service audioserver_service authorization_service batteryproperties_service bluetooth_service cameraserver_service fwk_camera_service default_android_service device_config_updatable_service dexopt_chroot_setup_service dnsresolver_service drmserver_service dumpstate_service evsmanagerd_service fingerprintd_service fwk_automotive_display_service fwk_vold_service gatekeeper_service gpu_service idmap_service incident_service installd_service credstore_service keystore_compat_hal_service keystore_maintenance_service keystore_metrics_service keystore_service legacykeystore_service lpdump_service mdns_service mediaserver_service mediametrics_service mediaextractor_service mediadrmserver_service mediatranscoding_service netd_service nfc_service ondevicepersonalization_system_service ot_daemon_service profiling_service radio_service secure_element_service service_manager_service storaged_service surfaceflinger_service system_app_service system_net_netd_service system_suspend_control_internal_service system_suspend_control_service update_engine_service update_engine_stable_service virtualization_service virtual_camera_service virtual_touchpad_service vold_service vr_hwc_service vrflinger_vsync_service accessibility_service account_service activity_service activity_task_service adb_service adservices_manager_service alarm_service app_binding_service app_function_service app_hibernation_service app_integrity_service app_prediction_service app_search_service appops_service appwidget_service archive_service assetatlas_service attestation_verification_service audio_service auth_service autofill_service backup_service batterystats_service battery_service binder_calls_stats_service blob_store_service bluetooth_manager_service broadcastradio_service cacheinfo_service cameraproxy_service clipboard_service cloudsearch_service contexthub_service contextual_search_service crossprofileapps_service IProxyService_service companion_device_service connectivity_native_service connectivity_service connmetrics_service consumer_ir_service content_capture_service content_suggestions_service content_service country_detector_service coverage_service cpuinfo_service cpu_monitor_service credential_service dataloader_manager_service dbinfo_service device_config_service device_policy_service device_state_service deviceidle_service device_identifiers_service devicestoragemonitor_service diskstats_service display_service domain_verification_service color_display_service ecm_enhanced_confirmation_service external_vibrator_service file_integrity_service font_service netd_listener_service network_watchlist_service devicelock_service DockObserver_service dreams_service dropbox_service ethernet_service biometric_service bugreport_service platform_compat_service face_service fingerprint_service fwk_altitude_service fwk_stats_service fwk_sensor_service fwk_vibrator_control_service game_service gfxinfo_service gnss_time_update_service grammatical_inflection_service graphicsstats_service hardware_service hardware_properties_service hdmi_control_service healthconnect_service hint_service imms_service incremental_service input_method_service input_service intrusion_detection_service ipsec_service iris_service jobscheduler_service launcherapps_service legacy_permission_service light_service locale_service location_service location_time_zone_manager_service lock_settings_service looper_stats_service media_communication_service media_metrics_service media_projection_service media_quality_service media_router_service media_session_service meminfo_service memtrackproxy_service midi_service mount_service music_recognition_service nearby_service netpolicy_service netstats_service network_management_service network_score_service network_stack_service network_time_update_service notification_service oem_lock_service otadexopt_service overlay_service pac_proxy_service package_service package_native_service people_service permission_service permissionmgr_service permission_checker_service persistent_data_block_service pinner_service powerstats_service power_service print_service processinfo_service procstats_service reboot_readiness_service recovery_service registry_service remote_auth_service remote_provisioning_service resources_manager_service restrictions_service role_service rollback_service runtime_service rttmanager_service samplingprofiler_service scheduling_policy_service search_service search_ui_service sec_key_att_app_id_provider_service security_state_service selection_toolbar_service sensitive_content_protection_service sensorservice_service sensor_privacy_service serial_service servicediscovery_service settings_service shortcut_service slice_service smartspace_service statusbar_service storagestats_service sdk_sandbox_service system_config_service system_server_dumper_service system_update_service soundtrigger_middleware_service speech_recognition_service tare_service task_service testharness_service textclassification_service textservices_service texttospeech_service telecom_service thermal_service threadnetwork_service timedetector_service timezonedetector_service translation_service trust_service tv_ad_service tv_iapp_service tv_input_service tv_tuner_resource_mgr_service uimode_service updatelock_service uri_grants_service usagestats_service usb_service user_service uwb_service vcn_management_service vibrator_service vibrator_manager_service virtual_device_service virtual_device_native_service voiceinteraction_service vpn_management_service vr_manager_service wallpaper_service wallpaper_effects_generation_service webviewupdate_service wifip2p_service wifiscanner_service wifi_service wifinl80211_service wifiaware_service wifi_usd_service window_service inputflinger_service tethering_service emergency_affordance_service hal_audio_service hal_audiocontrol_service hal_authgraph_service hal_authsecret_service hal_bluetooth_service hal_bootctl_service hal_broadcastradio_service hal_camera_service hal_can_controller_service hal_cas_service hal_codec2_service hal_confirmationui_service hal_contexthub_service hal_drm_service hal_dumpstate_service hal_evs_service hal_face_service hal_fastboot_service hal_fingerprint_service hal_gnss_service hal_graphics_allocator_service hal_graphics_composer_service hal_graphics_mapper_service hal_health_service hal_health_storage_service hal_hwcrypto_service hal_identity_service hal_input_processor_service hal_ir_service hal_ivn_service hal_keymint_service hal_light_service hal_macsec_service hal_mediaquality_service hal_memtrack_service hal_neuralnetworks_service hal_nfc_service hal_oemlock_service hal_power_service hal_power_stats_service hal_radio_service hal_rebootescrow_service hal_remoteaccess_service hal_remotelyprovisionedcomponent_avf_service hal_remotelyprovisionedcomponent_service hal_sensors_service hal_secretkeeper_service hal_secureclock_service hal_secure_element_service hal_sharedsecret_service hal_system_suspend_service hal_tetheroffload_service hal_thermal_service hal_tv_hdmi_cec_service hal_tv_hdmi_connection_service hal_tv_hdmi_earc_service hal_tv_input_service hal_threadnetwork_service hal_tv_tuner_service hal_usb_service hal_usb_gadget_service hal_uwb_service hal_vehicle_service hal_vibrator_service hal_weaver_service hal_nlinterceptor_service hal_wifi_service hal_wifi_hostapd_service hal_wifi_supplicant_service hal_gatekeeper_service hal_vm_capabilities_service ambient_context_service authentication_policy_service attention_service bg_install_control_service compos_service communal_service dynamic_system_service feature_flags_service fwk_devicestate_service gsi_service incidentcompanion_service logcat_service logd_service mediatuner_service mmd_service on_device_intelligence_service profcollectd_service protolog_configuration_service resolver_service rkpd_registrar_service rkpd_refresh_service rkp_cert_processor_service safety_center_service stats_service statsbootstrap_service statscompanion_service statsmanager_service tracingproxy_service tradeinmode_service transparency_service vfio_handler_service virtualization_maintenance_service vm_tethering_service vmnic_service microfuchsia_service uce_service wearable_sensing_service wifi_mainline_supplicant_service dynamic_instrumentation_service advanced_protection_service ranging_service ))
+(typeattribute hwservice_manager_type)
+(typeattributeset hwservice_manager_type (default_android_hwservice fwk_camera_hwservice fwk_display_hwservice fwk_scheduler_hwservice fwk_sensor_hwservice fwk_stats_hwservice fwk_automotive_display_hwservice hal_atrace_hwservice hal_audio_hwservice hal_audiocontrol_hwservice hal_authsecret_hwservice hal_bluetooth_hwservice hal_bootctl_hwservice hal_broadcastradio_hwservice hal_camera_hwservice hal_can_bus_hwservice hal_can_controller_hwservice hal_confirmationui_hwservice hal_contexthub_hwservice hal_dumpstate_hwservice hal_evs_hwservice hal_face_hwservice hal_fingerprint_hwservice hal_gatekeeper_hwservice hal_gnss_hwservice hal_graphics_composer_hwservice hal_health_hwservice hal_health_storage_hwservice hal_input_classifier_hwservice hal_ir_hwservice hal_keymaster_hwservice hal_light_hwservice hal_lowpan_hwservice hal_memtrack_hwservice hal_nfc_hwservice hal_oemlock_hwservice hal_power_hwservice hal_power_stats_hwservice hal_secure_element_hwservice hal_sensors_hwservice hal_telephony_hwservice hal_tetheroffload_hwservice hal_thermal_hwservice hal_tv_cec_hwservice hal_tv_input_hwservice hal_tv_tuner_hwservice hal_usb_gadget_hwservice hal_usb_hwservice hal_vehicle_hwservice hal_vibrator_hwservice hal_vr_hwservice hal_weaver_hwservice hal_wifi_hostapd_hwservice hal_wifi_hwservice hal_wifi_supplicant_hwservice system_net_netd_hwservice system_suspend_hwservice system_wifi_keystore_hwservice fwk_bufferhub_hwservice hal_cas_hwservice hal_codec2_hwservice hal_configstore_ISurfaceFlingerConfigs hal_drm_hwservice hal_graphics_allocator_hwservice hal_graphics_mapper_hwservice hal_neuralnetworks_hwservice hal_omx_hwservice hal_renderscript_hwservice hidl_allocator_hwservice hidl_base_hwservice hidl_manager_hwservice hidl_memory_hwservice hidl_token_hwservice hal_lazy_test_hwservice ))
+(typeattribute same_process_hwservice)
+(typeattributeset same_process_hwservice (hal_graphics_mapper_hwservice hal_renderscript_hwservice ))
+(typeattribute coredomain_hwservice)
+(typeattributeset coredomain_hwservice (fwk_camera_hwservice fwk_display_hwservice fwk_scheduler_hwservice fwk_sensor_hwservice fwk_stats_hwservice fwk_automotive_display_hwservice system_net_netd_hwservice system_suspend_hwservice system_wifi_keystore_hwservice fwk_bufferhub_hwservice hidl_allocator_hwservice hidl_manager_hwservice hidl_memory_hwservice hidl_token_hwservice ))
+(typeattribute protected_hwservice)
+(typeattributeset protected_hwservice (default_android_hwservice fwk_camera_hwservice fwk_display_hwservice fwk_scheduler_hwservice fwk_sensor_hwservice fwk_stats_hwservice fwk_automotive_display_hwservice hal_atrace_hwservice hal_audio_hwservice hal_audiocontrol_hwservice hal_authsecret_hwservice hal_bluetooth_hwservice hal_bootctl_hwservice hal_broadcastradio_hwservice hal_camera_hwservice hal_can_bus_hwservice hal_can_controller_hwservice hal_confirmationui_hwservice hal_contexthub_hwservice hal_dumpstate_hwservice hal_evs_hwservice hal_face_hwservice hal_fingerprint_hwservice hal_gatekeeper_hwservice hal_gnss_hwservice hal_graphics_composer_hwservice hal_health_hwservice hal_health_storage_hwservice hal_input_classifier_hwservice hal_ir_hwservice hal_keymaster_hwservice hal_light_hwservice hal_lowpan_hwservice hal_memtrack_hwservice hal_nfc_hwservice hal_oemlock_hwservice hal_power_hwservice hal_power_stats_hwservice hal_secure_element_hwservice hal_sensors_hwservice hal_telephony_hwservice hal_tetheroffload_hwservice hal_thermal_hwservice hal_tv_cec_hwservice hal_tv_input_hwservice hal_tv_tuner_hwservice hal_usb_gadget_hwservice hal_usb_hwservice hal_vehicle_hwservice hal_vibrator_hwservice hal_vr_hwservice hal_weaver_hwservice hal_wifi_hostapd_hwservice hal_wifi_hwservice hal_wifi_supplicant_hwservice system_net_netd_hwservice system_suspend_hwservice system_wifi_keystore_hwservice hal_lazy_test_hwservice ))
+(typeattribute vndservice_manager_type)
+(typeattributeset vndservice_manager_type (service_manager_vndservice default_android_vndservice ))
+(typeattribute hal_service_type)
+(typeattributeset hal_service_type (hal_audio_service hal_audiocontrol_service hal_authgraph_service hal_authsecret_service hal_bluetooth_service hal_bootctl_service hal_broadcastradio_service hal_camera_service hal_can_controller_service hal_cas_service hal_codec2_service hal_confirmationui_service hal_contexthub_service hal_drm_service hal_dumpstate_service hal_evs_service hal_face_service hal_fastboot_service hal_fingerprint_service hal_gnss_service hal_graphics_allocator_service hal_graphics_composer_service hal_graphics_mapper_service hal_health_service hal_health_storage_service hal_hwcrypto_service hal_identity_service hal_input_processor_service hal_ir_service hal_ivn_service hal_keymint_service hal_light_service hal_macsec_service hal_mediaquality_service hal_memtrack_service hal_neuralnetworks_service hal_nfc_service hal_oemlock_service hal_power_service hal_power_stats_service hal_radio_service hal_rebootescrow_service hal_remoteaccess_service hal_remotelyprovisionedcomponent_avf_service hal_remotelyprovisionedcomponent_service hal_sensors_service hal_secretkeeper_service hal_secureclock_service hal_secure_element_service hal_sharedsecret_service hal_system_suspend_service hal_tetheroffload_service hal_thermal_service hal_tv_hdmi_cec_service hal_tv_hdmi_connection_service hal_tv_hdmi_earc_service hal_tv_input_service hal_threadnetwork_service hal_tv_tuner_service hal_usb_service hal_usb_gadget_service hal_uwb_service hal_vehicle_service hal_vibrator_service hal_weaver_service hal_nlinterceptor_service hal_wifi_service hal_wifi_hostapd_service hal_wifi_supplicant_service hal_gatekeeper_service hal_vm_capabilities_service ))
+(typeattribute mlstrustedsubject)
+(typeattributeset mlstrustedsubject (adbd artd bluetooth bufferhubd drmserver dumpstate pdx_display_client_endpoint_socket pdx_display_manager_endpoint_socket pdx_display_screenshot_endpoint_socket pdx_display_vsync_endpoint_socket pdx_performance_client_endpoint_socket pdx_bufferhub_client_endpoint_socket heapprofd hwservicemanager incidentd init installd kernel keystore llkd lmkd logd mdnsd mediadrmserver mediaextractor mediaserver netd network_stack nfc performanced prng_seeder radio rss_hwm_reset runas servicemanager shell simpleperf_app_runner statsd surfaceflinger system_app system_server tombstoned traced traced_perf traced_probes uncrypt vendor_init vold vold_prepare_subdirs webview_zygote zygote aconfigd aconfigd_mainline cppreopts device_as_webcam otapreopt_slot postinstall_dexopt profcollectd simpleperf_boot storaged virtualizationservice ))
+(typeattribute mlstrustedobject)
+(typeattributeset mlstrustedobject (ashmem_device ashmem_libcutils_device binder_device hwbinder_device pmsg_device gpu_device mtp_device ptmx_device kmsg_device null_device random_device owntty_device zero_device fuse_device ion_device dmabuf_heap_device dmabuf_system_heap_device dmabuf_system_secure_heap_device uhid_device tun_device usbaccessory_device usb_device proc_qtaguid_ctrl proc_qtaguid_stat selinuxfs cgroup sysfs sysfs_bluetooth_writable sysfs_kernel_notes sysfs_nfc_power_writable inotify devpts fuse fuseblk sdcardfs vfat exfat debugfs_trace_marker debugfs_tracing debugfs_tracing_debug functionfs anr_data_file tombstone_data_file apk_tmp_file apk_private_tmp_file ota_package_file user_profile_data_file shell_data_file heapdump_data_file ringtone_file media_rw_data_file radio_data_file shared_relro_file trace_data_file method_trace_data_file system_app_data_file cache_file cache_backup_file cache_recovery_file wallpaper_file shortcut_manager_icons asec_apk_file backup_data_file app_fuse_file dnsproxyd_socket fwmarkd_socket logd_socket logdr_socket logdw_socket mdnsd_socket property_socket statsdw_socket system_ndebug_socket system_unsolzygote_socket tombstoned_crash_socket tombstoned_java_trace_socket traced_consumer_socket traced_perf_socket traced_producer_socket heapprofd_socket pdx_display_client_endpoint_socket pdx_display_manager_endpoint_socket pdx_display_screenshot_endpoint_socket pdx_display_vsync_endpoint_socket pdx_performance_client_endpoint_socket pdx_bufferhub_client_endpoint_socket system_server_tmpfs traced_tmpfs wm_trace_data_file virtualizationservice_data_file kvm_device prng_seeder_socket aconfigd_socket aconfigd_mainline_socket heapprofd_tmpfs ))
+(typeattribute appdomain)
+(typeattributeset appdomain (bluetooth ephemeral_app gmscore_app isolated_app isolated_compute_app mediaprovider network_stack nfc platform_app priv_app radio rkpdapp runas_app secure_element shared_relro shell simpleperf system_app traceur_app untrusted_app untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 device_as_webcam mediaprovider_app permissioncontroller_app sdk_sandbox_34 sdk_sandbox_audit sdk_sandbox_next vmlauncher_app vzwomatrigger_app ))
+(typeattribute untrusted_app_all)
+(typeattributeset untrusted_app_all (runas_app untrusted_app untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 ))
+(typeattribute isolated_app_all)
+(typeattributeset isolated_app_all (isolated_app isolated_compute_app ))
+(typeattribute isolated_compute_allowed_service)
+(typeattributeset isolated_compute_allowed_service (audioserver_service cameraserver_service mediaserver_service content_capture_service device_state_service speech_recognition_service hal_codec2_service on_device_intelligence_service ))
+(typeattribute isolated_compute_allowed_device)
+(typeattributeset isolated_compute_allowed_device (hwbinder_device gpu_device ion_device dmabuf_system_heap_device ))
+(typeattribute netdomain)
+(typeattributeset netdomain (adbd bluetooth dhcp dnsmasq drmserver dumpstate ephemeral_app gmscore_app mdnsd mediadrmserver mediaprovider mediaserver netd network_stack nfc platform_app priv_app radio rkpdapp runas_app shell system_app system_server untrusted_app untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 update_engine adbd_tradeinmode clatd ot_daemon rkp_cert_processor sdk_sandbox_34 sdk_sandbox_audit sdk_sandbox_next vmlauncher_app ))
+(typeattribute bluetoothdomain)
+(typeattributeset bluetoothdomain (platform_app priv_app radio runas_app system_server untrusted_app untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 ))
+(typeattribute binderservicedomain)
+(typeattributeset binderservicedomain (audioserver cameraserver credstore drmserver evsmanagerd gatekeeperd idmap inputflinger keystore logd mediadrmserver mediaextractor mediametrics mediaserver mediatranscoding nfc radio secure_element surfaceflinger system_app system_server virtual_touchpad gsid mediatuner rkpd ))
+(typeattribute bpfdomain)
+(expandtypeattribute (bpfdomain) false)
+(typeattributeset bpfdomain (bpfloader charger_vendor gpuservice lmkd netd netutils_wrapper network_stack system_server mediaprovider_app uprobestats ))
+(typeattribute update_engine_common)
+(typeattributeset update_engine_common (update_engine ))
+(typeattribute coredomain)
+(typeattributeset coredomain (adbd apexd app_zygote artd atrace audioserver blkid blkid_untrusted bluetooth bootanim bootstat bpfloader bufferhubd cameraserver charger crash_dump credstore crosvm dhcp dnsmasq drmserver dumpstate e2fs early_virtmgr ephemeral_app evsmanagerd extra_free_kbytes fastbootd fingerprintd flags_health_check fsck fsck_untrusted gatekeeperd gmscore_app gpuservice healthd heapprofd hwservicemanager idmap incident incident_helper incidentd init inputflinger installd isolated_app isolated_compute_app kernel keystore llkd lmkd logd logpersist mdnsd mediadrmserver mediaextractor mediametrics mediaprovider mediaserver mediaswcodec mediatranscoding modprobe netd netutils_wrapper network_stack nfc perfetto performanced platform_app postinstall priv_app prng_seeder profman radio recovery recovery_persist recovery_refresh rkpdapp rs rss_hwm_reset runas runas_app sdcardd secure_element servicemanager sgdisk shared_relro shell simpleperf simpleperf_app_runner slideshow statsd surfaceflinger system_app system_server tombstoned toolbox traced traced_perf traced_probes traceur_app ueventd uncrypt untrusted_app untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 update_engine update_verifier usbd vdc virtual_camera virtual_touchpad virtualizationmanager vold vold_prepare_subdirs watchdogd webview_zygote wificond zygote aconfigd aconfigd_mainline adbd_tradeinmode apex_test_prepostinstall apexd_derive_classpath art_boot art_exec auditctl automotive_display_service bert_collector blank_screen boringssl_self_test canhalconfigurator clatd compos_fd_server compos_verify composd cppreopts derive_classpath derive_sdk device_as_webcam dex2oat dexopt_chroot_setup dmesgd fuseblkd fuseblkd_untrusted fwk_bufferhub gki_apex_prepostinstall gsid hal_allocator_default hal_keymint_system iw kcmdlinectrl linkerconfig linux_vm_setup lpdumpd mediaprovider_app mediatuner memcgv2_activation_depth microfuchsiad migrate_legacy_obb_data misctrl mm_events mmd mtectrl odrefresh odsign ot_ctl ot_daemon otapreopt_chroot otapreopt_slot overlay_remounter permissioncontroller_app postinstall_dexopt prefetch preloads_copy preopt2cachename profcollectd remount rkp_cert_processor rkpd sdk_sandbox_34 sdk_sandbox_audit sdk_sandbox_next simpleperf_boot snapshotctl snapuserd stats storaged system_server_startup system_suspend trace_redactor tradeinmode uprobestats vehicle_binding_util vfio_handler virtual_face virtual_fingerprint virtualizationservice vmlauncher_app vmnic wait_for_keymaster wifi_mainline_supplicant ))
+(typeattribute vendor_hwservice_type)
+(typeattribute coredomain_socket)
+(expandtypeattribute (coredomain_socket) false)
+(typeattributeset coredomain_socket (drmserver_socket adbd_socket bluetooth_socket dnsproxyd_socket dumpstate_socket fwmarkd_socket lmkd_socket logd_socket logdr_socket logdw_socket mdns_socket mdnsd_socket misc_logd_file mtpd_socket ot_daemon_socket property_socket racoon_socket recovery_socket snapuserd_socket snapuserd_proxy_socket statsdw_socket system_wpa_socket system_ndebug_socket system_unsolzygote_socket tombstoned_crash_socket tombstoned_intercept_socket traced_consumer_socket traced_perf_socket traced_producer_socket uncrypt_socket zygote_socket heapprofd_socket pdx_display_client_endpoint_socket pdx_display_client_channel_socket pdx_display_manager_endpoint_socket pdx_display_manager_channel_socket pdx_display_screenshot_endpoint_socket pdx_display_screenshot_channel_socket pdx_display_vsync_endpoint_socket pdx_display_vsync_channel_socket pdx_performance_client_endpoint_socket pdx_performance_client_channel_socket pdx_bufferhub_client_endpoint_socket pdx_bufferhub_client_channel_socket prng_seeder_socket aconfigd_socket aconfigd_mainline_socket ))
+(typeattribute socket_between_core_and_vendor_violators)
+(expandtypeattribute (socket_between_core_and_vendor_violators) false)
+(typeattribute unconstrained_vsock_violators)
+(expandtypeattribute (unconstrained_vsock_violators) false)
+(typeattribute vendor_executes_system_violators)
+(expandtypeattribute (vendor_executes_system_violators) false)
+(typeattribute data_between_core_and_vendor_violators)
+(expandtypeattribute (data_between_core_and_vendor_violators) false)
+(typeattribute system_executes_vendor_violators)
+(expandtypeattribute (system_executes_vendor_violators) false)
+(typeattribute system_writes_vendor_properties_violators)
+(expandtypeattribute (system_writes_vendor_properties_violators) false)
+(typeattribute system_writes_mnt_vendor_violators)
+(expandtypeattribute (system_writes_mnt_vendor_violators) false)
+(typeattribute untrusted_app_visible_hwservice_violators)
+(expandtypeattribute (untrusted_app_visible_hwservice_violators) false)
+(typeattribute untrusted_app_visible_halserver_violators)
+(expandtypeattribute (untrusted_app_visible_halserver_violators) false)
+(typeattribute pdx_endpoint_dir_type)
+(typeattributeset pdx_endpoint_dir_type (pdx_display_dir pdx_performance_dir pdx_bufferhub_dir ))
+(typeattribute pdx_endpoint_socket_type)
+(expandtypeattribute (pdx_endpoint_socket_type) false)
+(typeattributeset pdx_endpoint_socket_type (pdx_display_client_endpoint_socket pdx_display_manager_endpoint_socket pdx_display_screenshot_endpoint_socket pdx_display_vsync_endpoint_socket pdx_performance_client_endpoint_socket pdx_bufferhub_client_endpoint_socket ))
+(typeattribute pdx_channel_socket_type)
+(expandtypeattribute (pdx_channel_socket_type) false)
+(typeattributeset pdx_channel_socket_type (pdx_display_client_channel_socket pdx_display_manager_channel_socket pdx_display_screenshot_channel_socket pdx_display_vsync_channel_socket pdx_performance_client_channel_socket pdx_bufferhub_client_channel_socket ))
+(typeattribute pdx_display_client_endpoint_dir_type)
+(typeattributeset pdx_display_client_endpoint_dir_type (pdx_display_dir ))
+(typeattribute pdx_display_client_endpoint_socket_type)
+(typeattributeset pdx_display_client_endpoint_socket_type (pdx_display_client_endpoint_socket ))
+(typeattribute pdx_display_client_channel_socket_type)
+(typeattributeset pdx_display_client_channel_socket_type (pdx_display_client_channel_socket ))
+(typeattribute pdx_display_client_server_type)
+(typeattributeset pdx_display_client_server_type (surfaceflinger ))
+(typeattribute pdx_display_manager_endpoint_dir_type)
+(typeattributeset pdx_display_manager_endpoint_dir_type (pdx_display_dir ))
+(typeattribute pdx_display_manager_endpoint_socket_type)
+(typeattributeset pdx_display_manager_endpoint_socket_type (pdx_display_manager_endpoint_socket ))
+(typeattribute pdx_display_manager_channel_socket_type)
+(typeattributeset pdx_display_manager_channel_socket_type (pdx_display_manager_channel_socket ))
+(typeattribute pdx_display_manager_server_type)
+(typeattributeset pdx_display_manager_server_type (surfaceflinger ))
+(typeattribute pdx_display_screenshot_endpoint_dir_type)
+(typeattributeset pdx_display_screenshot_endpoint_dir_type (pdx_display_dir ))
+(typeattribute pdx_display_screenshot_endpoint_socket_type)
+(typeattributeset pdx_display_screenshot_endpoint_socket_type (pdx_display_screenshot_endpoint_socket ))
+(typeattribute pdx_display_screenshot_channel_socket_type)
+(typeattributeset pdx_display_screenshot_channel_socket_type (pdx_display_screenshot_channel_socket ))
+(typeattribute pdx_display_screenshot_server_type)
+(typeattributeset pdx_display_screenshot_server_type (surfaceflinger ))
+(typeattribute pdx_display_vsync_endpoint_dir_type)
+(typeattributeset pdx_display_vsync_endpoint_dir_type (pdx_display_dir ))
+(typeattribute pdx_display_vsync_endpoint_socket_type)
+(typeattributeset pdx_display_vsync_endpoint_socket_type (pdx_display_vsync_endpoint_socket ))
+(typeattribute pdx_display_vsync_channel_socket_type)
+(typeattributeset pdx_display_vsync_channel_socket_type (pdx_display_vsync_channel_socket ))
+(typeattribute pdx_display_vsync_server_type)
+(typeattributeset pdx_display_vsync_server_type (surfaceflinger ))
+(typeattribute pdx_performance_client_endpoint_dir_type)
+(typeattributeset pdx_performance_client_endpoint_dir_type (pdx_performance_dir ))
+(typeattribute pdx_performance_client_endpoint_socket_type)
+(typeattributeset pdx_performance_client_endpoint_socket_type (pdx_performance_client_endpoint_socket ))
+(typeattribute pdx_performance_client_channel_socket_type)
+(typeattributeset pdx_performance_client_channel_socket_type (pdx_performance_client_channel_socket ))
+(typeattribute pdx_performance_client_server_type)
+(typeattributeset pdx_performance_client_server_type (performanced ))
+(typeattribute pdx_bufferhub_client_endpoint_dir_type)
+(typeattributeset pdx_bufferhub_client_endpoint_dir_type (pdx_bufferhub_dir ))
+(typeattribute pdx_bufferhub_client_endpoint_socket_type)
+(typeattributeset pdx_bufferhub_client_endpoint_socket_type (pdx_bufferhub_client_endpoint_socket ))
+(typeattribute pdx_bufferhub_client_channel_socket_type)
+(typeattributeset pdx_bufferhub_client_channel_socket_type (pdx_bufferhub_client_channel_socket ))
+(typeattribute pdx_bufferhub_client_server_type)
+(typeattributeset pdx_bufferhub_client_server_type (bufferhubd ))
+(typeattribute halserverdomain)
+(typeattributeset halserverdomain (charger_vendor mediaswcodec hal_allocator_default hal_keymint_system virtual_face virtual_fingerprint virtualizationservice ))
+(typeattribute halclientdomain)
+(expandtypeattribute (halclientdomain) true)
+(typeattributeset halclientdomain (adbd atrace audioserver bluetooth bootanim bufferhubd cameraserver charger credstore crosvm dumpstate early_virtmgr evsmanagerd gatekeeperd isolated_compute_app keystore mediadrmserver mediaextractor mediaserver mediaswcodec mediatranscoding network_stack nfc radio rkpdapp secure_element shell statsd surfaceflinger system_app system_server traced_probes traceur_app update_engine update_verifier usbd virtual_camera virtualizationmanager vold wificond automotive_display_service blank_screen canhalconfigurator fwk_bufferhub mediatuner odsign ot_daemon snapshotctl storaged vehicle_binding_util virtualizationservice ))
+(typeattribute hal_automotive_socket_exemption)
+(typeattribute hal_allocator)
+(expandtypeattribute (hal_allocator) true)
+(typeattributeset hal_allocator (hal_allocator_default ))
+(typeattribute hal_allocator_client)
+(expandtypeattribute (hal_allocator_client) true)
+(typeattributeset hal_allocator_client (audioserver cameraserver isolated_compute_app mediaextractor mediaserver mediaswcodec mediatranscoding system_server ))
+(typeattribute hal_allocator_server)
+(expandtypeattribute (hal_allocator_server) false)
+(typeattributeset hal_allocator_server (hal_allocator_default ))
+(typeattribute hal_atrace)
+(expandtypeattribute (hal_atrace) true)
+(typeattribute hal_atrace_client)
+(expandtypeattribute (hal_atrace_client) true)
+(typeattributeset hal_atrace_client (atrace shell traced_probes traceur_app ))
+(typeattribute hal_atrace_server)
+(expandtypeattribute (hal_atrace_server) false)
+(typeattribute hal_audio)
+(expandtypeattribute (hal_audio) true)
+(typeattribute hal_audio_client)
+(expandtypeattribute (hal_audio_client) true)
+(typeattributeset hal_audio_client (audioserver bluetooth dumpstate system_server ))
+(typeattribute hal_audio_server)
+(expandtypeattribute (hal_audio_server) false)
+(typeattribute hal_audiocontrol)
+(expandtypeattribute (hal_audiocontrol) true)
+(typeattribute hal_audiocontrol_client)
+(expandtypeattribute (hal_audiocontrol_client) true)
+(typeattributeset hal_audiocontrol_client (dumpstate ))
+(typeattribute hal_audiocontrol_server)
+(expandtypeattribute (hal_audiocontrol_server) false)
+(typeattribute hal_authgraph)
+(expandtypeattribute (hal_authgraph) true)
+(typeattribute hal_authgraph_client)
+(expandtypeattribute (hal_authgraph_client) true)
+(typeattributeset hal_authgraph_client (dumpstate system_server ))
+(typeattribute hal_authgraph_server)
+(expandtypeattribute (hal_authgraph_server) false)
+(typeattribute hal_authsecret)
+(expandtypeattribute (hal_authsecret) true)
+(typeattribute hal_authsecret_client)
+(expandtypeattribute (hal_authsecret_client) true)
+(typeattributeset hal_authsecret_client (dumpstate system_server ))
+(typeattribute hal_authsecret_server)
+(expandtypeattribute (hal_authsecret_server) false)
+(typeattribute hal_bluetooth)
+(expandtypeattribute (hal_bluetooth) true)
+(typeattribute hal_bluetooth_client)
+(expandtypeattribute (hal_bluetooth_client) true)
+(typeattributeset hal_bluetooth_client (bluetooth dumpstate system_server ))
+(typeattribute hal_bluetooth_server)
+(expandtypeattribute (hal_bluetooth_server) false)
+(typeattribute hal_bootctl)
+(expandtypeattribute (hal_bootctl) true)
+(typeattribute hal_bootctl_client)
+(expandtypeattribute (hal_bootctl_client) true)
+(typeattributeset hal_bootctl_client (system_server update_engine update_verifier vold snapshotctl ))
+(typeattribute hal_bootctl_server)
+(expandtypeattribute (hal_bootctl_server) false)
+(typeattribute hal_broadcastradio)
+(expandtypeattribute (hal_broadcastradio) true)
+(typeattribute hal_broadcastradio_client)
+(expandtypeattribute (hal_broadcastradio_client) true)
+(typeattributeset hal_broadcastradio_client (dumpstate system_server ))
+(typeattribute hal_broadcastradio_server)
+(expandtypeattribute (hal_broadcastradio_server) false)
+(typeattribute hal_camera)
+(expandtypeattribute (hal_camera) true)
+(typeattribute hal_camera_client)
+(expandtypeattribute (hal_camera_client) true)
+(typeattributeset hal_camera_client (cameraserver dumpstate ))
+(typeattribute hal_camera_server)
+(expandtypeattribute (hal_camera_server) false)
+(typeattribute hal_can_bus)
+(expandtypeattribute (hal_can_bus) true)
+(typeattribute hal_can_bus_client)
+(expandtypeattribute (hal_can_bus_client) true)
+(typeattribute hal_can_bus_server)
+(expandtypeattribute (hal_can_bus_server) false)
+(typeattribute hal_can_controller)
+(expandtypeattribute (hal_can_controller) true)
+(typeattribute hal_can_controller_client)
+(expandtypeattribute (hal_can_controller_client) true)
+(typeattributeset hal_can_controller_client (canhalconfigurator ))
+(typeattribute hal_can_controller_server)
+(expandtypeattribute (hal_can_controller_server) false)
+(typeattribute hal_cas)
+(expandtypeattribute (hal_cas) true)
+(typeattribute hal_cas_client)
+(expandtypeattribute (hal_cas_client) true)
+(typeattributeset hal_cas_client (mediaextractor ))
+(typeattribute hal_cas_server)
+(expandtypeattribute (hal_cas_server) false)
+(typeattribute hal_codec2)
+(expandtypeattribute (hal_codec2) true)
+(typeattributeset hal_codec2 (mediaswcodec ))
+(typeattribute hal_codec2_client)
+(expandtypeattribute (hal_codec2_client) true)
+(typeattributeset hal_codec2_client (cameraserver dumpstate isolated_compute_app mediaserver mediaswcodec mediatranscoding surfaceflinger system_server virtual_camera ))
+(typeattribute hal_codec2_server)
+(expandtypeattribute (hal_codec2_server) false)
+(typeattributeset hal_codec2_server (mediaswcodec ))
+(typeattribute hal_configstore)
+(expandtypeattribute (hal_configstore) true)
+(typeattribute hal_configstore_client)
+(expandtypeattribute (hal_configstore_client) true)
+(typeattributeset hal_configstore_client (bootanim mediaserver mediatranscoding surfaceflinger system_server ))
+(typeattribute hal_configstore_server)
+(expandtypeattribute (hal_configstore_server) false)
+(typeattribute hal_confirmationui)
+(expandtypeattribute (hal_confirmationui) true)
+(typeattribute hal_confirmationui_client)
+(expandtypeattribute (hal_confirmationui_client) true)
+(typeattributeset hal_confirmationui_client (keystore ))
+(typeattribute hal_confirmationui_server)
+(expandtypeattribute (hal_confirmationui_server) false)
+(typeattribute hal_contexthub)
+(expandtypeattribute (hal_contexthub) true)
+(typeattribute hal_contexthub_client)
+(expandtypeattribute (hal_contexthub_client) true)
+(typeattributeset hal_contexthub_client (dumpstate system_server ))
+(typeattribute hal_contexthub_server)
+(expandtypeattribute (hal_contexthub_server) false)
+(typeattribute hal_drm)
+(expandtypeattribute (hal_drm) true)
+(typeattribute hal_drm_client)
+(expandtypeattribute (hal_drm_client) true)
+(typeattributeset hal_drm_client (dumpstate mediadrmserver mediaserver ))
+(typeattribute hal_drm_server)
+(expandtypeattribute (hal_drm_server) false)
+(typeattribute hal_dumpstate)
+(expandtypeattribute (hal_dumpstate) true)
+(typeattribute hal_dumpstate_client)
+(expandtypeattribute (hal_dumpstate_client) true)
+(typeattributeset hal_dumpstate_client (dumpstate system_app ))
+(typeattribute hal_dumpstate_server)
+(expandtypeattribute (hal_dumpstate_server) false)
+(typeattribute hal_evs)
+(expandtypeattribute (hal_evs) true)
+(typeattribute hal_evs_client)
+(expandtypeattribute (hal_evs_client) true)
+(typeattributeset hal_evs_client (dumpstate evsmanagerd ))
+(typeattribute hal_evs_server)
+(expandtypeattribute (hal_evs_server) false)
+(typeattribute hal_face)
+(expandtypeattribute (hal_face) true)
+(typeattributeset hal_face (virtual_face ))
+(typeattribute hal_face_client)
+(expandtypeattribute (hal_face_client) true)
+(typeattributeset hal_face_client (dumpstate system_server ))
+(typeattribute hal_face_server)
+(expandtypeattribute (hal_face_server) false)
+(typeattributeset hal_face_server (virtual_face ))
+(typeattribute hal_fastboot)
+(expandtypeattribute (hal_fastboot) true)
+(typeattribute hal_fastboot_client)
+(expandtypeattribute (hal_fastboot_client) true)
+(typeattribute hal_fastboot_server)
+(expandtypeattribute (hal_fastboot_server) false)
+(typeattribute hal_fingerprint)
+(expandtypeattribute (hal_fingerprint) true)
+(typeattributeset hal_fingerprint (virtual_fingerprint ))
+(typeattribute hal_fingerprint_client)
+(expandtypeattribute (hal_fingerprint_client) true)
+(typeattributeset hal_fingerprint_client (dumpstate system_server ))
+(typeattribute hal_fingerprint_server)
+(expandtypeattribute (hal_fingerprint_server) false)
+(typeattributeset hal_fingerprint_server (virtual_fingerprint ))
+(typeattribute hal_gatekeeper)
+(expandtypeattribute (hal_gatekeeper) true)
+(typeattribute hal_gatekeeper_client)
+(expandtypeattribute (hal_gatekeeper_client) true)
+(typeattributeset hal_gatekeeper_client (gatekeeperd ))
+(typeattribute hal_gatekeeper_server)
+(expandtypeattribute (hal_gatekeeper_server) false)
+(typeattribute hal_gnss)
+(expandtypeattribute (hal_gnss) true)
+(typeattribute hal_gnss_client)
+(expandtypeattribute (hal_gnss_client) true)
+(typeattributeset hal_gnss_client (dumpstate system_server ))
+(typeattribute hal_gnss_server)
+(expandtypeattribute (hal_gnss_server) false)
+(typeattribute hal_graphics_allocator)
+(expandtypeattribute (hal_graphics_allocator) true)
+(typeattribute hal_graphics_allocator_client)
+(expandtypeattribute (hal_graphics_allocator_client) true)
+(typeattributeset hal_graphics_allocator_client (adbd bootanim bufferhubd cameraserver crosvm dumpstate mediadrmserver mediaserver mediaswcodec mediatranscoding surfaceflinger system_server virtual_camera automotive_display_service fwk_bufferhub ))
+(typeattribute hal_graphics_allocator_server)
+(expandtypeattribute (hal_graphics_allocator_server) false)
+(typeattribute hal_graphics_composer)
+(expandtypeattribute (hal_graphics_composer) true)
+(typeattribute hal_graphics_composer_client)
+(expandtypeattribute (hal_graphics_composer_client) true)
+(typeattributeset hal_graphics_composer_client (bootanim dumpstate surfaceflinger automotive_display_service ))
+(typeattribute hal_graphics_composer_server)
+(expandtypeattribute (hal_graphics_composer_server) false)
+(typeattribute hal_health)
+(expandtypeattribute (hal_health) true)
+(typeattributeset hal_health (charger_vendor ))
+(typeattribute hal_health_client)
+(expandtypeattribute (hal_health_client) true)
+(typeattributeset hal_health_client (charger dumpstate statsd system_server traced_probes storaged ))
+(typeattribute hal_health_server)
+(expandtypeattribute (hal_health_server) false)
+(typeattributeset hal_health_server (charger_vendor ))
+(typeattribute hal_health_storage)
+(expandtypeattribute (hal_health_storage) true)
+(typeattribute hal_health_storage_client)
+(expandtypeattribute (hal_health_storage_client) true)
+(typeattributeset hal_health_storage_client (vold ))
+(typeattribute hal_health_storage_server)
+(expandtypeattribute (hal_health_storage_server) false)
+(typeattribute hal_hwcrypto)
+(expandtypeattribute (hal_hwcrypto) true)
+(typeattribute hal_hwcrypto_client)
+(expandtypeattribute (hal_hwcrypto_client) true)
+(typeattribute hal_hwcrypto_server)
+(expandtypeattribute (hal_hwcrypto_server) false)
+(typeattribute hal_identity)
+(expandtypeattribute (hal_identity) true)
+(typeattribute hal_identity_client)
+(expandtypeattribute (hal_identity_client) true)
+(typeattributeset hal_identity_client (credstore dumpstate ))
+(typeattribute hal_identity_server)
+(expandtypeattribute (hal_identity_server) false)
+(typeattribute hal_input_classifier)
+(expandtypeattribute (hal_input_classifier) true)
+(typeattribute hal_input_classifier_client)
+(expandtypeattribute (hal_input_classifier_client) true)
+(typeattributeset hal_input_classifier_client (system_server ))
+(typeattribute hal_input_classifier_server)
+(expandtypeattribute (hal_input_classifier_server) false)
+(typeattribute hal_input_processor)
+(expandtypeattribute (hal_input_processor) true)
+(typeattribute hal_input_processor_client)
+(expandtypeattribute (hal_input_processor_client) true)
+(typeattributeset hal_input_processor_client (dumpstate system_server ))
+(typeattribute hal_input_processor_server)
+(expandtypeattribute (hal_input_processor_server) false)
+(typeattribute hal_ir)
+(expandtypeattribute (hal_ir) true)
+(typeattribute hal_ir_client)
+(expandtypeattribute (hal_ir_client) true)
+(typeattributeset hal_ir_client (system_server ))
+(typeattribute hal_ir_server)
+(expandtypeattribute (hal_ir_server) false)
+(typeattribute hal_ivn)
+(expandtypeattribute (hal_ivn) true)
+(typeattribute hal_ivn_client)
+(expandtypeattribute (hal_ivn_client) true)
+(typeattribute hal_ivn_server)
+(expandtypeattribute (hal_ivn_server) false)
+(typeattribute hal_keymaster)
+(expandtypeattribute (hal_keymaster) true)
+(typeattribute hal_keymaster_client)
+(expandtypeattribute (hal_keymaster_client) true)
+(typeattributeset hal_keymaster_client (keystore odsign ))
+(typeattribute hal_keymaster_server)
+(expandtypeattribute (hal_keymaster_server) false)
+(typeattribute hal_keymint)
+(expandtypeattribute (hal_keymint) true)
+(typeattributeset hal_keymint (hal_keymint_system ))
+(typeattribute hal_keymint_client)
+(expandtypeattribute (hal_keymint_client) true)
+(typeattributeset hal_keymint_client (credstore dumpstate keystore rkpdapp system_server ))
+(typeattribute hal_keymint_server)
+(expandtypeattribute (hal_keymint_server) false)
+(typeattributeset hal_keymint_server (hal_keymint_system ))
+(typeattribute hal_light)
+(expandtypeattribute (hal_light) true)
+(typeattribute hal_light_client)
+(expandtypeattribute (hal_light_client) true)
+(typeattributeset hal_light_client (dumpstate system_server blank_screen ))
+(typeattribute hal_light_server)
+(expandtypeattribute (hal_light_server) false)
+(typeattribute hal_lowpan)
+(expandtypeattribute (hal_lowpan) true)
+(typeattribute hal_lowpan_client)
+(expandtypeattribute (hal_lowpan_client) true)
+(typeattribute hal_lowpan_server)
+(expandtypeattribute (hal_lowpan_server) false)
+(typeattribute hal_macsec)
+(expandtypeattribute (hal_macsec) true)
+(typeattribute hal_macsec_client)
+(expandtypeattribute (hal_macsec_client) true)
+(typeattribute hal_macsec_server)
+(expandtypeattribute (hal_macsec_server) false)
+(typeattribute hal_mediaquality)
+(expandtypeattribute (hal_mediaquality) true)
+(typeattribute hal_mediaquality_client)
+(expandtypeattribute (hal_mediaquality_client) true)
+(typeattributeset hal_mediaquality_client (system_server ))
+(typeattribute hal_mediaquality_server)
+(expandtypeattribute (hal_mediaquality_server) false)
+(typeattribute hal_memtrack)
+(expandtypeattribute (hal_memtrack) true)
+(typeattribute hal_memtrack_client)
+(expandtypeattribute (hal_memtrack_client) true)
+(typeattributeset hal_memtrack_client (dumpstate system_server ))
+(typeattribute hal_memtrack_server)
+(expandtypeattribute (hal_memtrack_server) false)
+(typeattribute hal_neuralnetworks)
+(expandtypeattribute (hal_neuralnetworks) true)
+(typeattribute hal_neuralnetworks_client)
+(expandtypeattribute (hal_neuralnetworks_client) true)
+(typeattributeset hal_neuralnetworks_client (dumpstate system_server ))
+(typeattribute hal_neuralnetworks_server)
+(expandtypeattribute (hal_neuralnetworks_server) false)
+(typeattribute hal_nfc)
+(expandtypeattribute (hal_nfc) true)
+(typeattribute hal_nfc_client)
+(expandtypeattribute (hal_nfc_client) true)
+(typeattributeset hal_nfc_client (dumpstate nfc ))
+(typeattribute hal_nfc_server)
+(expandtypeattribute (hal_nfc_server) false)
+(typeattribute hal_nlinterceptor)
+(expandtypeattribute (hal_nlinterceptor) true)
+(typeattribute hal_nlinterceptor_client)
+(expandtypeattribute (hal_nlinterceptor_client) true)
+(typeattributeset hal_nlinterceptor_client (wificond ))
+(typeattribute hal_nlinterceptor_server)
+(expandtypeattribute (hal_nlinterceptor_server) false)
+(typeattribute hal_oemlock)
+(expandtypeattribute (hal_oemlock) true)
+(typeattribute hal_oemlock_client)
+(expandtypeattribute (hal_oemlock_client) true)
+(typeattributeset hal_oemlock_client (dumpstate system_server ))
+(typeattribute hal_oemlock_server)
+(expandtypeattribute (hal_oemlock_server) false)
+(typeattribute hal_omx)
+(expandtypeattribute (hal_omx) true)
+(typeattribute hal_omx_client)
+(expandtypeattribute (hal_omx_client) true)
+(typeattributeset hal_omx_client (cameraserver mediaserver mediaswcodec mediatranscoding surfaceflinger system_server virtual_camera ))
+(typeattribute hal_omx_server)
+(expandtypeattribute (hal_omx_server) false)
+(typeattribute hal_power)
+(expandtypeattribute (hal_power) true)
+(typeattribute hal_power_client)
+(expandtypeattribute (hal_power_client) true)
+(typeattributeset hal_power_client (dumpstate statsd surfaceflinger system_server ))
+(typeattribute hal_power_server)
+(expandtypeattribute (hal_power_server) false)
+(typeattribute hal_power_stats)
+(expandtypeattribute (hal_power_stats) true)
+(typeattribute hal_power_stats_client)
+(expandtypeattribute (hal_power_stats_client) true)
+(typeattributeset hal_power_stats_client (dumpstate statsd system_server traced_probes ))
+(typeattribute hal_power_stats_server)
+(expandtypeattribute (hal_power_stats_server) false)
+(typeattribute hal_rebootescrow)
+(expandtypeattribute (hal_rebootescrow) true)
+(typeattribute hal_rebootescrow_client)
+(expandtypeattribute (hal_rebootescrow_client) true)
+(typeattributeset hal_rebootescrow_client (dumpstate system_server ))
+(typeattribute hal_rebootescrow_server)
+(expandtypeattribute (hal_rebootescrow_server) false)
+(typeattribute hal_remoteaccess)
+(expandtypeattribute (hal_remoteaccess) true)
+(typeattribute hal_remoteaccess_client)
+(expandtypeattribute (hal_remoteaccess_client) true)
+(typeattribute hal_remoteaccess_server)
+(expandtypeattribute (hal_remoteaccess_server) false)
+(typeattribute hal_secretkeeper)
+(expandtypeattribute (hal_secretkeeper) true)
+(typeattribute hal_secretkeeper_client)
+(expandtypeattribute (hal_secretkeeper_client) true)
+(typeattributeset hal_secretkeeper_client (dumpstate early_virtmgr system_server virtualizationmanager virtualizationservice ))
+(typeattribute hal_secretkeeper_server)
+(expandtypeattribute (hal_secretkeeper_server) false)
+(typeattribute hal_remotelyprovisionedcomponent_avf)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_avf) true)
+(typeattributeset hal_remotelyprovisionedcomponent_avf (virtualizationservice ))
+(typeattribute hal_remotelyprovisionedcomponent_avf_client)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_avf_client) true)
+(typeattributeset hal_remotelyprovisionedcomponent_avf_client (rkpdapp system_server ))
+(typeattribute hal_remotelyprovisionedcomponent_avf_server)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_avf_server) false)
+(typeattributeset hal_remotelyprovisionedcomponent_avf_server (virtualizationservice ))
+(typeattribute hal_secure_element)
+(expandtypeattribute (hal_secure_element) true)
+(typeattribute hal_secure_element_client)
+(expandtypeattribute (hal_secure_element_client) true)
+(typeattributeset hal_secure_element_client (secure_element ))
+(typeattribute hal_secure_element_server)
+(expandtypeattribute (hal_secure_element_server) false)
+(typeattribute hal_sensors)
+(expandtypeattribute (hal_sensors) true)
+(typeattribute hal_sensors_client)
+(expandtypeattribute (hal_sensors_client) true)
+(typeattributeset hal_sensors_client (dumpstate system_server ))
+(typeattribute hal_sensors_server)
+(expandtypeattribute (hal_sensors_server) false)
+(typeattribute hal_telephony)
+(expandtypeattribute (hal_telephony) true)
+(typeattribute hal_telephony_client)
+(expandtypeattribute (hal_telephony_client) true)
+(typeattributeset hal_telephony_client (bluetooth radio ))
+(typeattribute hal_telephony_server)
+(expandtypeattribute (hal_telephony_server) false)
+(typeattribute hal_tetheroffload)
+(expandtypeattribute (hal_tetheroffload) true)
+(typeattribute hal_tetheroffload_client)
+(expandtypeattribute (hal_tetheroffload_client) true)
+(typeattributeset hal_tetheroffload_client (network_stack system_server ))
+(typeattribute hal_tetheroffload_server)
+(expandtypeattribute (hal_tetheroffload_server) false)
+(typeattribute hal_thermal)
+(expandtypeattribute (hal_thermal) true)
+(typeattribute hal_thermal_client)
+(expandtypeattribute (hal_thermal_client) true)
+(typeattributeset hal_thermal_client (dumpstate statsd system_server ))
+(typeattribute hal_thermal_server)
+(expandtypeattribute (hal_thermal_server) false)
+(typeattribute hal_threadnetwork)
+(expandtypeattribute (hal_threadnetwork) true)
+(typeattribute hal_threadnetwork_client)
+(expandtypeattribute (hal_threadnetwork_client) true)
+(typeattributeset hal_threadnetwork_client (system_server ot_daemon ))
+(typeattribute hal_threadnetwork_server)
+(expandtypeattribute (hal_threadnetwork_server) false)
+(typeattribute hal_tv_cec)
+(expandtypeattribute (hal_tv_cec) true)
+(typeattribute hal_tv_cec_client)
+(expandtypeattribute (hal_tv_cec_client) true)
+(typeattributeset hal_tv_cec_client (system_server ))
+(typeattribute hal_tv_cec_server)
+(expandtypeattribute (hal_tv_cec_server) false)
+(typeattribute hal_tv_hdmi_cec)
+(expandtypeattribute (hal_tv_hdmi_cec) true)
+(typeattribute hal_tv_hdmi_cec_client)
+(expandtypeattribute (hal_tv_hdmi_cec_client) true)
+(typeattributeset hal_tv_hdmi_cec_client (system_server ))
+(typeattribute hal_tv_hdmi_cec_server)
+(expandtypeattribute (hal_tv_hdmi_cec_server) false)
+(typeattribute hal_tv_hdmi_connection)
+(expandtypeattribute (hal_tv_hdmi_connection) true)
+(typeattribute hal_tv_hdmi_connection_client)
+(expandtypeattribute (hal_tv_hdmi_connection_client) true)
+(typeattributeset hal_tv_hdmi_connection_client (system_server ))
+(typeattribute hal_tv_hdmi_connection_server)
+(expandtypeattribute (hal_tv_hdmi_connection_server) false)
+(typeattribute hal_tv_hdmi_earc)
+(expandtypeattribute (hal_tv_hdmi_earc) true)
+(typeattribute hal_tv_hdmi_earc_client)
+(expandtypeattribute (hal_tv_hdmi_earc_client) true)
+(typeattributeset hal_tv_hdmi_earc_client (system_server ))
+(typeattribute hal_tv_hdmi_earc_server)
+(expandtypeattribute (hal_tv_hdmi_earc_server) false)
+(typeattribute hal_tv_input)
+(expandtypeattribute (hal_tv_input) true)
+(typeattribute hal_tv_input_client)
+(expandtypeattribute (hal_tv_input_client) true)
+(typeattributeset hal_tv_input_client (system_server ))
+(typeattribute hal_tv_input_server)
+(expandtypeattribute (hal_tv_input_server) false)
+(typeattribute hal_tv_tuner)
+(expandtypeattribute (hal_tv_tuner) true)
+(typeattribute hal_tv_tuner_client)
+(expandtypeattribute (hal_tv_tuner_client) true)
+(typeattributeset hal_tv_tuner_client (mediatuner ))
+(typeattribute hal_tv_tuner_server)
+(expandtypeattribute (hal_tv_tuner_server) false)
+(typeattribute hal_usb)
+(expandtypeattribute (hal_usb) true)
+(typeattribute hal_usb_client)
+(expandtypeattribute (hal_usb_client) true)
+(typeattributeset hal_usb_client (system_server ))
+(typeattribute hal_usb_server)
+(expandtypeattribute (hal_usb_server) false)
+(typeattribute hal_usb_gadget)
+(expandtypeattribute (hal_usb_gadget) true)
+(typeattribute hal_usb_gadget_client)
+(expandtypeattribute (hal_usb_gadget_client) true)
+(typeattributeset hal_usb_gadget_client (system_server usbd ))
+(typeattribute hal_usb_gadget_server)
+(expandtypeattribute (hal_usb_gadget_server) false)
+(typeattribute hal_uwb)
+(expandtypeattribute (hal_uwb) true)
+(typeattribute hal_uwb_client)
+(expandtypeattribute (hal_uwb_client) true)
+(typeattributeset hal_uwb_client (system_server ))
+(typeattribute hal_uwb_server)
+(expandtypeattribute (hal_uwb_server) false)
+(typeattribute hal_uwb_vendor)
+(expandtypeattribute (hal_uwb_vendor) true)
+(typeattribute hal_uwb_vendor_client)
+(expandtypeattribute (hal_uwb_vendor_client) true)
+(typeattribute hal_uwb_vendor_server)
+(expandtypeattribute (hal_uwb_vendor_server) false)
+(typeattribute hal_vehicle)
+(expandtypeattribute (hal_vehicle) true)
+(typeattribute hal_vehicle_client)
+(expandtypeattribute (hal_vehicle_client) true)
+(typeattributeset hal_vehicle_client (dumpstate vehicle_binding_util ))
+(typeattribute hal_vehicle_server)
+(expandtypeattribute (hal_vehicle_server) false)
+(typeattribute hal_vibrator)
+(expandtypeattribute (hal_vibrator) true)
+(typeattribute hal_vibrator_client)
+(expandtypeattribute (hal_vibrator_client) true)
+(typeattributeset hal_vibrator_client (dumpstate system_server ))
+(typeattribute hal_vibrator_server)
+(expandtypeattribute (hal_vibrator_server) false)
+(typeattribute hal_vr)
+(expandtypeattribute (hal_vr) true)
+(typeattribute hal_vr_client)
+(expandtypeattribute (hal_vr_client) true)
+(typeattributeset hal_vr_client (system_server ))
+(typeattribute hal_vr_server)
+(expandtypeattribute (hal_vr_server) false)
+(typeattribute hal_weaver)
+(expandtypeattribute (hal_weaver) true)
+(typeattribute hal_weaver_client)
+(expandtypeattribute (hal_weaver_client) true)
+(typeattributeset hal_weaver_client (dumpstate system_server ))
+(typeattribute hal_weaver_server)
+(expandtypeattribute (hal_weaver_server) false)
+(typeattribute hal_wifi)
+(expandtypeattribute (hal_wifi) true)
+(typeattribute hal_wifi_client)
+(expandtypeattribute (hal_wifi_client) true)
+(typeattributeset hal_wifi_client (dumpstate system_server ))
+(typeattribute hal_wifi_server)
+(expandtypeattribute (hal_wifi_server) false)
+(typeattribute hal_wifi_hostapd)
+(expandtypeattribute (hal_wifi_hostapd) true)
+(typeattribute hal_wifi_hostapd_client)
+(expandtypeattribute (hal_wifi_hostapd_client) true)
+(typeattributeset hal_wifi_hostapd_client (system_server ))
+(typeattribute hal_wifi_hostapd_server)
+(expandtypeattribute (hal_wifi_hostapd_server) false)
+(typeattribute hal_wifi_supplicant)
+(expandtypeattribute (hal_wifi_supplicant) true)
+(typeattribute hal_wifi_supplicant_client)
+(expandtypeattribute (hal_wifi_supplicant_client) true)
+(typeattributeset hal_wifi_supplicant_client (system_server ))
+(typeattribute hal_wifi_supplicant_server)
+(expandtypeattribute (hal_wifi_supplicant_server) false)
+(typeattribute automotive_display_service_server)
+(typeattributeset automotive_display_service_server (automotive_display_service ))
+(typeattribute camera_service_server)
+(typeattributeset camera_service_server (cameraserver ))
+(typeattribute display_service_server)
+(typeattributeset display_service_server (surfaceflinger ))
+(typeattribute evsmanager_service_server)
+(typeattributeset evsmanager_service_server (evsmanagerd ))
+(typeattribute remote_provisioning_service_server)
+(typeattributeset remote_provisioning_service_server (system_server ))
+(typeattribute scheduler_service_server)
+(typeattributeset scheduler_service_server (system_server ))
+(typeattribute sensor_service_server)
+(typeattributeset sensor_service_server (system_server ))
+(typeattribute stats_service_server)
+(typeattributeset stats_service_server (system_server ))
+(typeattribute system_suspend_internal_server)
+(typeattributeset system_suspend_internal_server (system_suspend ))
+(typeattribute system_suspend_server)
+(typeattributeset system_suspend_server (system_suspend ))
+(typeattribute wifi_keystore_service_server)
+(typeattributeset wifi_keystore_service_server (wificond ))
+(typeattribute super_block_device_type)
+(typeattributeset super_block_device_type (super_block_device ))
+(typeattribute dmabuf_heap_device_type)
+(expandtypeattribute (dmabuf_heap_device_type) false)
+(typeattributeset dmabuf_heap_device_type (dmabuf_heap_device dmabuf_system_heap_device dmabuf_system_secure_heap_device ))
+(typeattribute vm_manager_device_type)
+(typeattributeset vm_manager_device_type (kvm_device ))
+(typeattribute gsi_metadata_file_type)
+(typeattributeset gsi_metadata_file_type (gsi_metadata_file gsi_public_metadata_file ))
+(typeattribute apex_data_file_type)
+(typeattributeset apex_data_file_type (apex_system_server_data_file apex_art_data_file apex_compos_data_file apex_virt_data_file apex_tethering_data_file apex_uwb_data_file apex_appsearch_data_file apex_permission_data_file apex_scheduling_data_file apex_wifi_data_file ))
+(typeattribute charger_type)
+(typeattributeset charger_type (charger charger_vendor ))
+(typeattribute dalvik_config_prop_type)
+(typeattributeset dalvik_config_prop_type (dalvik_config_prop dalvik_dynamic_config_prop ))
+(typeattribute tee_service_type)
+(typeattributeset tee_service_type (test_pkvm_tee_service ))
+(typeattribute hal_vm_capabilities)
+(expandtypeattribute (hal_vm_capabilities) true)
+(typeattribute hal_vm_capabilities_client)
+(expandtypeattribute (hal_vm_capabilities_client) true)
+(typeattributeset hal_vm_capabilities_client (dumpstate ))
+(typeattribute hal_vm_capabilities_server)
+(expandtypeattribute (hal_vm_capabilities_server) false)
+(type adbd)
+(roletype object_r adbd)
+(type adbd_exec)
+(roletype object_r adbd_exec)
+(type aidl_lazy_test_server)
+(roletype object_r aidl_lazy_test_server)
+(type aidl_lazy_test_server_exec)
+(roletype object_r aidl_lazy_test_server_exec)
+(type apexd)
+(roletype object_r apexd)
+(type apexd_exec)
+(roletype object_r apexd_exec)
+(type appdomain_tmpfs)
+(roletype object_r appdomain_tmpfs)
+(type app_zygote)
+(roletype object_r app_zygote)
+(type app_zygote_tmpfs)
+(roletype object_r app_zygote_tmpfs)
+(type artd)
+(roletype object_r artd)
+(type atrace)
+(roletype object_r atrace)
+(type audioserver)
+(roletype object_r audioserver)
+(type audioserver_tmpfs)
+(roletype object_r audioserver_tmpfs)
+(type blkid)
+(roletype object_r blkid)
+(type blkid_untrusted)
+(roletype object_r blkid_untrusted)
+(type bluetooth)
+(roletype object_r bluetooth)
+(type bootanim)
+(roletype object_r bootanim)
+(type bootanim_exec)
+(roletype object_r bootanim_exec)
+(type bootstat)
+(roletype object_r bootstat)
+(type bootstat_exec)
+(roletype object_r bootstat_exec)
+(type bpfloader)
+(roletype object_r bpfloader)
+(type bufferhubd)
+(roletype object_r bufferhubd)
+(type bufferhubd_exec)
+(roletype object_r bufferhubd_exec)
+(type cameraserver)
+(roletype object_r cameraserver)
+(type cameraserver_exec)
+(roletype object_r cameraserver_exec)
+(type cameraserver_tmpfs)
+(roletype object_r cameraserver_tmpfs)
+(type charger)
+(roletype object_r charger)
+(type charger_exec)
+(roletype object_r charger_exec)
+(type charger_vendor)
+(roletype object_r charger_vendor)
+(type crash_dump)
+(roletype object_r crash_dump)
+(type crash_dump_exec)
+(roletype object_r crash_dump_exec)
+(type credstore)
+(roletype object_r credstore)
+(type credstore_exec)
+(roletype object_r credstore_exec)
+(type crosvm)
+(roletype object_r crosvm)
+(type device)
+(roletype object_r device)
+(type ashmem_device)
+(roletype object_r ashmem_device)
+(type ashmem_libcutils_device)
+(roletype object_r ashmem_libcutils_device)
+(type audio_device)
+(roletype object_r audio_device)
+(type binder_device)
+(roletype object_r binder_device)
+(type hwbinder_device)
+(roletype object_r hwbinder_device)
+(type vndbinder_device)
+(roletype object_r vndbinder_device)
+(type block_device)
+(roletype object_r block_device)
+(type bt_device)
+(roletype object_r bt_device)
+(type camera_device)
+(roletype object_r camera_device)
+(type dm_device)
+(roletype object_r dm_device)
+(type ublk_block_device)
+(roletype object_r ublk_block_device)
+(type dm_user_device)
+(roletype object_r dm_user_device)
+(type ublk_control_device)
+(roletype object_r ublk_control_device)
+(type keychord_device)
+(roletype object_r keychord_device)
+(type loop_control_device)
+(roletype object_r loop_control_device)
+(type loop_device)
+(roletype object_r loop_device)
+(type pmsg_device)
+(roletype object_r pmsg_device)
+(type radio_device)
+(roletype object_r radio_device)
+(type ram_device)
+(roletype object_r ram_device)
+(type rtc_device)
+(roletype object_r rtc_device)
+(type vd_device)
+(roletype object_r vd_device)
+(type vold_device)
+(roletype object_r vold_device)
+(type console_device)
+(roletype object_r console_device)
+(type fscklogs)
+(roletype object_r fscklogs)
+(type gpu_device)
+(roletype object_r gpu_device)
+(type graphics_device)
+(roletype object_r graphics_device)
+(type hw_random_device)
+(roletype object_r hw_random_device)
+(type input_device)
+(roletype object_r input_device)
+(type port_device)
+(roletype object_r port_device)
+(type lowpan_device)
+(roletype object_r lowpan_device)
+(type mtp_device)
+(roletype object_r mtp_device)
+(type nfc_device)
+(roletype object_r nfc_device)
+(type ptmx_device)
+(roletype object_r ptmx_device)
+(type kmsg_device)
+(roletype object_r kmsg_device)
+(type kmsg_debug_device)
+(roletype object_r kmsg_debug_device)
+(type null_device)
+(roletype object_r null_device)
+(type random_device)
+(roletype object_r random_device)
+(type secure_element_device)
+(roletype object_r secure_element_device)
+(type sensors_device)
+(roletype object_r sensors_device)
+(type serial_device)
+(roletype object_r serial_device)
+(type socket_device)
+(roletype object_r socket_device)
+(type owntty_device)
+(roletype object_r owntty_device)
+(type tty_device)
+(roletype object_r tty_device)
+(type video_device)
+(roletype object_r video_device)
+(type zero_device)
+(roletype object_r zero_device)
+(type fuse_device)
+(roletype object_r fuse_device)
+(type iio_device)
+(roletype object_r iio_device)
+(type ion_device)
+(roletype object_r ion_device)
+(type dmabuf_heap_device)
+(roletype object_r dmabuf_heap_device)
+(type dmabuf_system_heap_device)
+(roletype object_r dmabuf_system_heap_device)
+(type dmabuf_system_secure_heap_device)
+(roletype object_r dmabuf_system_secure_heap_device)
+(type qtaguid_device)
+(roletype object_r qtaguid_device)
+(type watchdog_device)
+(roletype object_r watchdog_device)
+(type uhid_device)
+(roletype object_r uhid_device)
+(type uio_device)
+(roletype object_r uio_device)
+(type tun_device)
+(roletype object_r tun_device)
+(type usbaccessory_device)
+(roletype object_r usbaccessory_device)
+(type usb_device)
+(roletype object_r usb_device)
+(type usb_serial_device)
+(roletype object_r usb_serial_device)
+(type gnss_device)
+(roletype object_r gnss_device)
+(type properties_device)
+(roletype object_r properties_device)
+(type properties_serial)
+(roletype object_r properties_serial)
+(type property_info)
+(roletype object_r property_info)
+(type hidraw_device)
+(roletype object_r hidraw_device)
+(type hci_attach_dev)
+(roletype object_r hci_attach_dev)
+(type rpmsg_device)
+(roletype object_r rpmsg_device)
+(type root_block_device)
+(roletype object_r root_block_device)
+(type frp_block_device)
+(roletype object_r frp_block_device)
+(type system_block_device)
+(roletype object_r system_block_device)
+(type recovery_block_device)
+(roletype object_r recovery_block_device)
+(type boot_block_device)
+(roletype object_r boot_block_device)
+(type dtbo_block_device)
+(roletype object_r dtbo_block_device)
+(type userdata_block_device)
+(roletype object_r userdata_block_device)
+(type zoned_block_device)
+(roletype object_r zoned_block_device)
+(type cache_block_device)
+(roletype object_r cache_block_device)
+(type swap_block_device)
+(roletype object_r swap_block_device)
+(type metadata_block_device)
+(roletype object_r metadata_block_device)
+(type misc_block_device)
+(roletype object_r misc_block_device)
+(type super_block_device)
+(roletype object_r super_block_device)
+(type sdcard_block_device)
+(roletype object_r sdcard_block_device)
+(type userdata_sysdev)
+(roletype object_r userdata_sysdev)
+(type rootdisk_sysdev)
+(roletype object_r rootdisk_sysdev)
+(type vfio_device)
+(roletype object_r vfio_device)
+(type dhcp)
+(roletype object_r dhcp)
+(type dhcp_exec)
+(roletype object_r dhcp_exec)
+(type dnsmasq)
+(roletype object_r dnsmasq)
+(type dnsmasq_exec)
+(roletype object_r dnsmasq_exec)
+(type drmserver)
+(roletype object_r drmserver)
+(type drmserver_exec)
+(roletype object_r drmserver_exec)
+(type drmserver_socket)
+(roletype object_r drmserver_socket)
+(type dumpstate)
+(roletype object_r dumpstate)
+(type dumpstate_exec)
+(roletype object_r dumpstate_exec)
+(type e2fs)
+(roletype object_r e2fs)
+(type e2fs_exec)
+(roletype object_r e2fs_exec)
+(type early_virtmgr)
+(roletype object_r early_virtmgr)
+(type early_virtmgr_exec)
+(roletype object_r early_virtmgr_exec)
+(type ephemeral_app)
+(roletype object_r ephemeral_app)
+(type evsmanagerd)
+(roletype object_r evsmanagerd)
+(type extra_free_kbytes)
+(roletype object_r extra_free_kbytes)
+(type extra_free_kbytes_exec)
+(roletype object_r extra_free_kbytes_exec)
+(type fastbootd)
+(roletype object_r fastbootd)
+(type labeledfs)
+(roletype object_r labeledfs)
+(type pipefs)
+(roletype object_r pipefs)
+(type sockfs)
+(roletype object_r sockfs)
+(type rootfs)
+(roletype object_r rootfs)
+(type proc)
+(roletype object_r proc)
+(type binderfs)
+(roletype object_r binderfs)
+(type binderfs_logs)
+(roletype object_r binderfs_logs)
+(type binderfs_logs_proc)
+(roletype object_r binderfs_logs_proc)
+(type binderfs_logs_stats)
+(roletype object_r binderfs_logs_stats)
+(type binderfs_logs_transactions)
+(roletype object_r binderfs_logs_transactions)
+(type binderfs_logs_transaction_history)
+(roletype object_r binderfs_logs_transaction_history)
+(type binderfs_features)
+(roletype object_r binderfs_features)
+(type proc_security)
+(roletype object_r proc_security)
+(type proc_drop_caches)
+(roletype object_r proc_drop_caches)
+(type proc_overcommit_memory)
+(roletype object_r proc_overcommit_memory)
+(type proc_min_free_order_shift)
+(roletype object_r proc_min_free_order_shift)
+(type proc_kpageflags)
+(roletype object_r proc_kpageflags)
+(type proc_watermark_boost_factor)
+(roletype object_r proc_watermark_boost_factor)
+(type proc_percpu_pagelist_high_fraction)
+(roletype object_r proc_percpu_pagelist_high_fraction)
+(type usermodehelper)
+(roletype object_r usermodehelper)
+(type sysfs_usermodehelper)
+(roletype object_r sysfs_usermodehelper)
+(type proc_qtaguid_ctrl)
+(roletype object_r proc_qtaguid_ctrl)
+(type proc_qtaguid_stat)
+(roletype object_r proc_qtaguid_stat)
+(type proc_bluetooth_writable)
+(roletype object_r proc_bluetooth_writable)
+(type proc_abi)
+(roletype object_r proc_abi)
+(type proc_asound)
+(roletype object_r proc_asound)
+(type proc_bootconfig)
+(roletype object_r proc_bootconfig)
+(type proc_bpf)
+(roletype object_r proc_bpf)
+(type proc_buddyinfo)
+(roletype object_r proc_buddyinfo)
+(type proc_cgroups)
+(roletype object_r proc_cgroups)
+(type proc_cmdline)
+(roletype object_r proc_cmdline)
+(type proc_cpu_alignment)
+(roletype object_r proc_cpu_alignment)
+(type proc_cpuinfo)
+(roletype object_r proc_cpuinfo)
+(type proc_dirty)
+(roletype object_r proc_dirty)
+(type proc_diskstats)
+(roletype object_r proc_diskstats)
+(type proc_extra_free_kbytes)
+(roletype object_r proc_extra_free_kbytes)
+(type proc_filesystems)
+(roletype object_r proc_filesystems)
+(type proc_fs_verity)
+(roletype object_r proc_fs_verity)
+(type proc_hostname)
+(roletype object_r proc_hostname)
+(type proc_hung_task)
+(roletype object_r proc_hung_task)
+(type proc_interrupts)
+(roletype object_r proc_interrupts)
+(type proc_iomem)
+(roletype object_r proc_iomem)
+(type proc_kallsyms)
+(roletype object_r proc_kallsyms)
+(type proc_keys)
+(roletype object_r proc_keys)
+(type proc_kmsg)
+(roletype object_r proc_kmsg)
+(type proc_loadavg)
+(roletype object_r proc_loadavg)
+(type proc_locks)
+(roletype object_r proc_locks)
+(type proc_lowmemorykiller)
+(roletype object_r proc_lowmemorykiller)
+(type proc_max_map_count)
+(roletype object_r proc_max_map_count)
+(type proc_meminfo)
+(roletype object_r proc_meminfo)
+(type proc_misc)
+(roletype object_r proc_misc)
+(type proc_modules)
+(roletype object_r proc_modules)
+(type proc_mounts)
+(roletype object_r proc_mounts)
+(type proc_net)
+(roletype object_r proc_net)
+(type proc_net_tcp_udp)
+(roletype object_r proc_net_tcp_udp)
+(type proc_page_cluster)
+(roletype object_r proc_page_cluster)
+(type proc_pagetypeinfo)
+(roletype object_r proc_pagetypeinfo)
+(type proc_panic)
+(roletype object_r proc_panic)
+(type proc_perf)
+(roletype object_r proc_perf)
+(type proc_pid_max)
+(roletype object_r proc_pid_max)
+(type proc_pipe_conf)
+(roletype object_r proc_pipe_conf)
+(type proc_pressure_cpu)
+(roletype object_r proc_pressure_cpu)
+(type proc_pressure_io)
+(roletype object_r proc_pressure_io)
+(type proc_pressure_mem)
+(roletype object_r proc_pressure_mem)
+(type proc_random)
+(roletype object_r proc_random)
+(type proc_sched)
+(roletype object_r proc_sched)
+(type proc_slabinfo)
+(roletype object_r proc_slabinfo)
+(type proc_stat)
+(roletype object_r proc_stat)
+(type proc_swaps)
+(roletype object_r proc_swaps)
+(type proc_sysrq)
+(roletype object_r proc_sysrq)
+(type proc_timer)
+(roletype object_r proc_timer)
+(type proc_tty_drivers)
+(roletype object_r proc_tty_drivers)
+(type proc_uid_cputime_showstat)
+(roletype object_r proc_uid_cputime_showstat)
+(type proc_uid_cputime_removeuid)
+(roletype object_r proc_uid_cputime_removeuid)
+(type proc_uid_io_stats)
+(roletype object_r proc_uid_io_stats)
+(type proc_uid_procstat_set)
+(roletype object_r proc_uid_procstat_set)
+(type proc_uid_time_in_state)
+(roletype object_r proc_uid_time_in_state)
+(type proc_uid_concurrent_active_time)
+(roletype object_r proc_uid_concurrent_active_time)
+(type proc_uid_concurrent_policy_time)
+(roletype object_r proc_uid_concurrent_policy_time)
+(type proc_uid_cpupower)
+(roletype object_r proc_uid_cpupower)
+(type proc_uptime)
+(roletype object_r proc_uptime)
+(type proc_version)
+(roletype object_r proc_version)
+(type proc_vmallocinfo)
+(roletype object_r proc_vmallocinfo)
+(type proc_vmstat)
+(roletype object_r proc_vmstat)
+(type proc_watermark_scale_factor)
+(roletype object_r proc_watermark_scale_factor)
+(type proc_zoneinfo)
+(roletype object_r proc_zoneinfo)
+(type proc_vendor_sched)
+(roletype object_r proc_vendor_sched)
+(type selinuxfs)
+(roletype object_r selinuxfs)
+(type fusectlfs)
+(roletype object_r fusectlfs)
+(type cgroup)
+(roletype object_r cgroup)
+(type cgroup_v2)
+(roletype object_r cgroup_v2)
+(type sysfs)
+(roletype object_r sysfs)
+(type sysfs_android_usb)
+(roletype object_r sysfs_android_usb)
+(type sysfs_uio)
+(roletype object_r sysfs_uio)
+(type sysfs_batteryinfo)
+(roletype object_r sysfs_batteryinfo)
+(type sysfs_bluetooth_writable)
+(roletype object_r sysfs_bluetooth_writable)
+(type sysfs_cma)
+(roletype object_r sysfs_cma)
+(type sysfs_devfreq_cur)
+(roletype object_r sysfs_devfreq_cur)
+(type sysfs_devfreq_dir)
+(roletype object_r sysfs_devfreq_dir)
+(type sysfs_devices_block)
+(roletype object_r sysfs_devices_block)
+(type sysfs_dm)
+(roletype object_r sysfs_dm)
+(type sysfs_dm_verity)
+(roletype object_r sysfs_dm_verity)
+(type sysfs_dma_heap)
+(roletype object_r sysfs_dma_heap)
+(type sysfs_dmabuf_stats)
+(roletype object_r sysfs_dmabuf_stats)
+(type sysfs_dt_firmware_android)
+(roletype object_r sysfs_dt_firmware_android)
+(type sysfs_extcon)
+(roletype object_r sysfs_extcon)
+(type sysfs_ion)
+(roletype object_r sysfs_ion)
+(type sysfs_ipv4)
+(roletype object_r sysfs_ipv4)
+(type sysfs_kernel_notes)
+(roletype object_r sysfs_kernel_notes)
+(type sysfs_leds)
+(roletype object_r sysfs_leds)
+(type sysfs_loop)
+(roletype object_r sysfs_loop)
+(type sysfs_gpu)
+(roletype object_r sysfs_gpu)
+(type sysfs_hwrandom)
+(roletype object_r sysfs_hwrandom)
+(type sysfs_nfc_power_writable)
+(roletype object_r sysfs_nfc_power_writable)
+(type sysfs_wake_lock)
+(roletype object_r sysfs_wake_lock)
+(type sysfs_net)
+(roletype object_r sysfs_net)
+(type sysfs_power)
+(roletype object_r sysfs_power)
+(type sysfs_rtc)
+(roletype object_r sysfs_rtc)
+(type sysfs_mem_sleep)
+(roletype object_r sysfs_mem_sleep)
+(type sysfs_suspend_stats)
+(roletype object_r sysfs_suspend_stats)
+(type sysfs_switch)
+(roletype object_r sysfs_switch)
+(type sysfs_sync_on_suspend)
+(roletype object_r sysfs_sync_on_suspend)
+(type sysfs_transparent_hugepage)
+(roletype object_r sysfs_transparent_hugepage)
+(type sysfs_lru_gen_enabled)
+(roletype object_r sysfs_lru_gen_enabled)
+(type sysfs_usb)
+(roletype object_r sysfs_usb)
+(type sysfs_wakeup)
+(roletype object_r sysfs_wakeup)
+(type sysfs_wakeup_reasons)
+(roletype object_r sysfs_wakeup_reasons)
+(type sysfs_fs_ext4_features)
+(roletype object_r sysfs_fs_ext4_features)
+(type sysfs_fs_f2fs)
+(roletype object_r sysfs_fs_f2fs)
+(type sysfs_fs_fuse_bpf)
+(roletype object_r sysfs_fs_fuse_bpf)
+(type sysfs_fs_fuse_features)
+(roletype object_r sysfs_fs_fuse_features)
+(type sysfs_fs_incfs_features)
+(roletype object_r sysfs_fs_incfs_features)
+(type sysfs_fs_incfs_metrics)
+(roletype object_r sysfs_fs_incfs_metrics)
+(type sysfs_vendor_sched)
+(roletype object_r sysfs_vendor_sched)
+(type fs_bpf)
+(roletype object_r fs_bpf)
+(type fs_bpf_tethering)
+(roletype object_r fs_bpf_tethering)
+(type fs_bpf_vendor)
+(roletype object_r fs_bpf_vendor)
+(type configfs)
+(roletype object_r configfs)
+(type sysfs_devices_cs_etm)
+(roletype object_r sysfs_devices_cs_etm)
+(type sysfs_devices_system_cpu)
+(roletype object_r sysfs_devices_system_cpu)
+(type sysfs_lowmemorykiller)
+(roletype object_r sysfs_lowmemorykiller)
+(type sysfs_wlan_fwpath)
+(roletype object_r sysfs_wlan_fwpath)
+(type sysfs_vibrator)
+(roletype object_r sysfs_vibrator)
+(type sysfs_uhid)
+(roletype object_r sysfs_uhid)
+(type sysfs_thermal)
+(roletype object_r sysfs_thermal)
+(type sysfs_zram)
+(roletype object_r sysfs_zram)
+(type sysfs_zram_uevent)
+(roletype object_r sysfs_zram_uevent)
+(type inotify)
+(roletype object_r inotify)
+(type devpts)
+(roletype object_r devpts)
+(type tmpfs)
+(roletype object_r tmpfs)
+(type shm)
+(roletype object_r shm)
+(type mqueue)
+(roletype object_r mqueue)
+(type fuse)
+(roletype object_r fuse)
+(type fuseblk)
+(roletype object_r fuseblk)
+(type sdcardfs)
+(roletype object_r sdcardfs)
+(type vfat)
+(roletype object_r vfat)
+(type exfat)
+(roletype object_r exfat)
+(type debugfs)
+(roletype object_r debugfs)
+(type debugfs_kprobes)
+(roletype object_r debugfs_kprobes)
+(type debugfs_mmc)
+(roletype object_r debugfs_mmc)
+(type debugfs_mm_events_tracing)
+(roletype object_r debugfs_mm_events_tracing)
+(type debugfs_trace_marker)
+(roletype object_r debugfs_trace_marker)
+(type debugfs_tracing)
+(roletype object_r debugfs_tracing)
+(type debugfs_tracing_debug)
+(roletype object_r debugfs_tracing_debug)
+(type debugfs_tracing_instances)
+(roletype object_r debugfs_tracing_instances)
+(type debugfs_tracing_printk_formats)
+(roletype object_r debugfs_tracing_printk_formats)
+(type debugfs_wakeup_sources)
+(roletype object_r debugfs_wakeup_sources)
+(type debugfs_wifi_tracing)
+(roletype object_r debugfs_wifi_tracing)
+(type securityfs)
+(roletype object_r securityfs)
+(type pstorefs)
+(roletype object_r pstorefs)
+(type functionfs)
+(roletype object_r functionfs)
+(type oemfs)
+(roletype object_r oemfs)
+(type usbfs)
+(roletype object_r usbfs)
+(type binfmt_miscfs)
+(roletype object_r binfmt_miscfs)
+(type app_fusefs)
+(roletype object_r app_fusefs)
+(type unlabeled)
+(roletype object_r unlabeled)
+(type system_file)
+(roletype object_r system_file)
+(type system_asan_options_file)
+(roletype object_r system_asan_options_file)
+(type system_event_log_tags_file)
+(roletype object_r system_event_log_tags_file)
+(type system_lib_file)
+(roletype object_r system_lib_file)
+(type system_bootstrap_lib_file)
+(roletype object_r system_bootstrap_lib_file)
+(type system_group_file)
+(roletype object_r system_group_file)
+(type system_linker_exec)
+(roletype object_r system_linker_exec)
+(type system_linker_config_file)
+(roletype object_r system_linker_config_file)
+(type system_passwd_file)
+(roletype object_r system_passwd_file)
+(type system_seccomp_policy_file)
+(roletype object_r system_seccomp_policy_file)
+(type system_security_cacerts_file)
+(roletype object_r system_security_cacerts_file)
+(type tcpdump_exec)
+(roletype object_r tcpdump_exec)
+(type system_zoneinfo_file)
+(roletype object_r system_zoneinfo_file)
+(type cgroup_desc_file)
+(roletype object_r cgroup_desc_file)
+(type vendor_cgroup_desc_file)
+(roletype object_r vendor_cgroup_desc_file)
+(type task_profiles_file)
+(roletype object_r task_profiles_file)
+(type vendor_task_profiles_file)
+(roletype object_r vendor_task_profiles_file)
+(type art_apex_dir)
+(roletype object_r art_apex_dir)
+(type linkerconfig_file)
+(roletype object_r linkerconfig_file)
+(type incremental_control_file)
+(roletype object_r incremental_control_file)
+(type bootanim_oem_file)
+(roletype object_r bootanim_oem_file)
+(type vendor_hal_file)
+(roletype object_r vendor_hal_file)
+(type vendor_file)
+(roletype object_r vendor_file)
+(type vendor_app_file)
+(roletype object_r vendor_app_file)
+(type vendor_configs_file)
+(roletype object_r vendor_configs_file)
+(type same_process_hal_file)
+(roletype object_r same_process_hal_file)
+(type vndk_sp_file)
+(roletype object_r vndk_sp_file)
+(type vendor_framework_file)
+(roletype object_r vendor_framework_file)
+(type vendor_overlay_file)
+(roletype object_r vendor_overlay_file)
+(type vendor_public_lib_file)
+(roletype object_r vendor_public_lib_file)
+(type vendor_public_framework_file)
+(roletype object_r vendor_public_framework_file)
+(type vendor_microdroid_file)
+(roletype object_r vendor_microdroid_file)
+(type vendor_boot_ota_file)
+(roletype object_r vendor_boot_ota_file)
+(type vendor_keylayout_file)
+(roletype object_r vendor_keylayout_file)
+(type vendor_keychars_file)
+(roletype object_r vendor_keychars_file)
+(type vendor_idc_file)
+(roletype object_r vendor_idc_file)
+(type vendor_uuid_mapping_config_file)
+(roletype object_r vendor_uuid_mapping_config_file)
+(type vendor_vm_file)
+(roletype object_r vendor_vm_file)
+(type vendor_vm_data_file)
+(roletype object_r vendor_vm_data_file)
+(type metadata_file)
+(roletype object_r metadata_file)
+(type vold_metadata_file)
+(roletype object_r vold_metadata_file)
+(type gsi_metadata_file)
+(roletype object_r gsi_metadata_file)
+(type gsi_public_metadata_file)
+(roletype object_r gsi_public_metadata_file)
+(type password_slot_metadata_file)
+(roletype object_r password_slot_metadata_file)
+(type apex_metadata_file)
+(roletype object_r apex_metadata_file)
+(type ota_metadata_file)
+(roletype object_r ota_metadata_file)
+(type metadata_bootstat_file)
+(roletype object_r metadata_bootstat_file)
+(type userspace_reboot_metadata_file)
+(roletype object_r userspace_reboot_metadata_file)
+(type staged_install_file)
+(roletype object_r staged_install_file)
+(type watchdog_metadata_file)
+(roletype object_r watchdog_metadata_file)
+(type repair_mode_metadata_file)
+(roletype object_r repair_mode_metadata_file)
+(type aconfig_storage_metadata_file)
+(roletype object_r aconfig_storage_metadata_file)
+(type aconfig_storage_flags_metadata_file)
+(roletype object_r aconfig_storage_flags_metadata_file)
+(type dev_cpu_variant)
+(roletype object_r dev_cpu_variant)
+(type runtime_event_log_tags_file)
+(roletype object_r runtime_event_log_tags_file)
+(type logcat_exec)
+(roletype object_r logcat_exec)
+(type cgroup_rc_file)
+(roletype object_r cgroup_rc_file)
+(type coredump_file)
+(roletype object_r coredump_file)
+(type system_data_root_file)
+(roletype object_r system_data_root_file)
+(type system_data_file)
+(roletype object_r system_data_file)
+(type system_userdir_file)
+(roletype object_r system_userdir_file)
+(type packages_list_file)
+(roletype object_r packages_list_file)
+(type game_mode_intervention_list_file)
+(roletype object_r game_mode_intervention_list_file)
+(type vendor_data_file)
+(roletype object_r vendor_data_file)
+(type vendor_userdir_file)
+(roletype object_r vendor_userdir_file)
+(type unencrypted_data_file)
+(roletype object_r unencrypted_data_file)
+(type install_data_file)
+(roletype object_r install_data_file)
+(type drm_data_file)
+(roletype object_r drm_data_file)
+(type adb_data_file)
+(roletype object_r adb_data_file)
+(type anr_data_file)
+(roletype object_r anr_data_file)
+(type tombstone_data_file)
+(roletype object_r tombstone_data_file)
+(type tombstone_wifi_data_file)
+(roletype object_r tombstone_wifi_data_file)
+(type apex_data_file)
+(roletype object_r apex_data_file)
+(type apk_data_file)
+(roletype object_r apk_data_file)
+(type apk_tmp_file)
+(roletype object_r apk_tmp_file)
+(type apk_private_data_file)
+(roletype object_r apk_private_data_file)
+(type apk_private_tmp_file)
+(roletype object_r apk_private_tmp_file)
+(type dalvikcache_data_file)
+(roletype object_r dalvikcache_data_file)
+(type ota_data_file)
+(roletype object_r ota_data_file)
+(type ota_package_file)
+(roletype object_r ota_package_file)
+(type user_profile_root_file)
+(roletype object_r user_profile_root_file)
+(type user_profile_data_file)
+(roletype object_r user_profile_data_file)
+(type profman_dump_data_file)
+(roletype object_r profman_dump_data_file)
+(type prereboot_data_file)
+(roletype object_r prereboot_data_file)
+(type resourcecache_data_file)
+(roletype object_r resourcecache_data_file)
+(type shell_data_file)
+(roletype object_r shell_data_file)
+(type property_data_file)
+(roletype object_r property_data_file)
+(type bootchart_data_file)
+(roletype object_r bootchart_data_file)
+(type dropbox_data_file)
+(roletype object_r dropbox_data_file)
+(type heapdump_data_file)
+(roletype object_r heapdump_data_file)
+(type nativetest_data_file)
+(roletype object_r nativetest_data_file)
+(type shell_test_data_file)
+(roletype object_r shell_test_data_file)
+(type ringtone_file)
+(roletype object_r ringtone_file)
+(type preloads_data_file)
+(roletype object_r preloads_data_file)
+(type preloads_media_file)
+(roletype object_r preloads_media_file)
+(type dhcp_data_file)
+(roletype object_r dhcp_data_file)
+(type server_configurable_flags_data_file)
+(roletype object_r server_configurable_flags_data_file)
+(type staging_data_file)
+(roletype object_r staging_data_file)
+(type vendor_apex_file)
+(roletype object_r vendor_apex_file)
+(type vendor_apex_metadata_file)
+(roletype object_r vendor_apex_metadata_file)
+(type shutdown_checkpoints_system_data_file)
+(roletype object_r shutdown_checkpoints_system_data_file)
+(type mnt_media_rw_file)
+(roletype object_r mnt_media_rw_file)
+(type mnt_user_file)
+(roletype object_r mnt_user_file)
+(type mnt_pass_through_file)
+(roletype object_r mnt_pass_through_file)
+(type mnt_expand_file)
+(roletype object_r mnt_expand_file)
+(type mnt_sdcard_file)
+(roletype object_r mnt_sdcard_file)
+(type storage_file)
+(roletype object_r storage_file)
+(type mnt_media_rw_stub_file)
+(roletype object_r mnt_media_rw_stub_file)
+(type storage_stub_file)
+(roletype object_r storage_stub_file)
+(type mnt_vendor_file)
+(roletype object_r mnt_vendor_file)
+(type mnt_product_file)
+(roletype object_r mnt_product_file)
+(type apex_mnt_dir)
+(roletype object_r apex_mnt_dir)
+(type apex_info_file)
+(roletype object_r apex_info_file)
+(type postinstall_mnt_dir)
+(roletype object_r postinstall_mnt_dir)
+(type postinstall_file)
+(roletype object_r postinstall_file)
+(type postinstall_apex_mnt_dir)
+(roletype object_r postinstall_apex_mnt_dir)
+(type mirror_data_file)
+(roletype object_r mirror_data_file)
+(type adb_keys_file)
+(roletype object_r adb_keys_file)
+(type apex_system_server_data_file)
+(roletype object_r apex_system_server_data_file)
+(type apex_module_data_file)
+(roletype object_r apex_module_data_file)
+(type apex_ota_reserved_file)
+(roletype object_r apex_ota_reserved_file)
+(type apex_rollback_data_file)
+(roletype object_r apex_rollback_data_file)
+(type appcompat_data_file)
+(roletype object_r appcompat_data_file)
+(type audio_data_file)
+(roletype object_r audio_data_file)
+(type audioserver_data_file)
+(roletype object_r audioserver_data_file)
+(type bluetooth_data_file)
+(roletype object_r bluetooth_data_file)
+(type bluetooth_logs_data_file)
+(roletype object_r bluetooth_logs_data_file)
+(type bootstat_data_file)
+(roletype object_r bootstat_data_file)
+(type boottrace_data_file)
+(roletype object_r boottrace_data_file)
+(type camera_data_file)
+(roletype object_r camera_data_file)
+(type credstore_data_file)
+(roletype object_r credstore_data_file)
+(type gatekeeper_data_file)
+(roletype object_r gatekeeper_data_file)
+(type incident_data_file)
+(roletype object_r incident_data_file)
+(type keychain_data_file)
+(roletype object_r keychain_data_file)
+(type keystore_data_file)
+(roletype object_r keystore_data_file)
+(type media_data_file)
+(roletype object_r media_data_file)
+(type media_rw_data_file)
+(roletype object_r media_rw_data_file)
+(type media_userdir_file)
+(roletype object_r media_userdir_file)
+(type misc_user_data_file)
+(roletype object_r misc_user_data_file)
+(type net_data_file)
+(roletype object_r net_data_file)
+(type network_watchlist_data_file)
+(roletype object_r network_watchlist_data_file)
+(type nfc_data_file)
+(roletype object_r nfc_data_file)
+(type nfc_logs_data_file)
+(roletype object_r nfc_logs_data_file)
+(type radio_data_file)
+(roletype object_r radio_data_file)
+(type recovery_data_file)
+(roletype object_r recovery_data_file)
+(type shared_relro_file)
+(roletype object_r shared_relro_file)
+(type snapshotctl_log_data_file)
+(roletype object_r snapshotctl_log_data_file)
+(type stats_config_data_file)
+(roletype object_r stats_config_data_file)
+(type stats_data_file)
+(roletype object_r stats_data_file)
+(type systemkeys_data_file)
+(roletype object_r systemkeys_data_file)
+(type textclassifier_data_file)
+(roletype object_r textclassifier_data_file)
+(type trace_data_file)
+(roletype object_r trace_data_file)
+(type vpn_data_file)
+(roletype object_r vpn_data_file)
+(type wifi_data_file)
+(roletype object_r wifi_data_file)
+(type vold_data_file)
+(roletype object_r vold_data_file)
+(type tee_data_file)
+(roletype object_r tee_data_file)
+(type update_engine_data_file)
+(roletype object_r update_engine_data_file)
+(type update_engine_log_data_file)
+(roletype object_r update_engine_log_data_file)
+(type snapuserd_log_data_file)
+(roletype object_r snapuserd_log_data_file)
+(type method_trace_data_file)
+(roletype object_r method_trace_data_file)
+(type gsi_data_file)
+(roletype object_r gsi_data_file)
+(type radio_core_data_file)
+(roletype object_r radio_core_data_file)
+(type app_data_file)
+(roletype object_r app_data_file)
+(type privapp_data_file)
+(roletype object_r privapp_data_file)
+(type system_app_data_file)
+(roletype object_r system_app_data_file)
+(type cache_file)
+(roletype object_r cache_file)
+(type overlayfs_file)
+(roletype object_r overlayfs_file)
+(type cache_backup_file)
+(roletype object_r cache_backup_file)
+(type cache_private_backup_file)
+(roletype object_r cache_private_backup_file)
+(type cache_recovery_file)
+(roletype object_r cache_recovery_file)
+(type efs_file)
+(roletype object_r efs_file)
+(type wallpaper_file)
+(roletype object_r wallpaper_file)
+(type shortcut_manager_icons)
+(roletype object_r shortcut_manager_icons)
+(type icon_file)
+(roletype object_r icon_file)
+(type asec_apk_file)
+(roletype object_r asec_apk_file)
+(type asec_public_file)
+(roletype object_r asec_public_file)
+(type asec_image_file)
+(roletype object_r asec_image_file)
+(type backup_data_file)
+(roletype object_r backup_data_file)
+(type bluetooth_efs_file)
+(roletype object_r bluetooth_efs_file)
+(type fingerprintd_data_file)
+(roletype object_r fingerprintd_data_file)
+(type fingerprint_vendor_data_file)
+(roletype object_r fingerprint_vendor_data_file)
+(type app_fuse_file)
+(roletype object_r app_fuse_file)
+(type face_vendor_data_file)
+(roletype object_r face_vendor_data_file)
+(type iris_vendor_data_file)
+(roletype object_r iris_vendor_data_file)
+(type adbd_socket)
+(roletype object_r adbd_socket)
+(type bluetooth_socket)
+(roletype object_r bluetooth_socket)
+(type dnsproxyd_socket)
+(roletype object_r dnsproxyd_socket)
+(type dumpstate_socket)
+(roletype object_r dumpstate_socket)
+(type fwmarkd_socket)
+(roletype object_r fwmarkd_socket)
+(type lmkd_socket)
+(roletype object_r lmkd_socket)
+(type logd_socket)
+(roletype object_r logd_socket)
+(type logdr_socket)
+(roletype object_r logdr_socket)
+(type logdw_socket)
+(roletype object_r logdw_socket)
+(type mdns_socket)
+(roletype object_r mdns_socket)
+(type mdnsd_socket)
+(roletype object_r mdnsd_socket)
+(type misc_logd_file)
+(roletype object_r misc_logd_file)
+(type mtpd_socket)
+(roletype object_r mtpd_socket)
+(type ot_daemon_socket)
+(roletype object_r ot_daemon_socket)
+(type property_socket)
+(roletype object_r property_socket)
+(type racoon_socket)
+(roletype object_r racoon_socket)
+(type recovery_socket)
+(roletype object_r recovery_socket)
+(type rild_socket)
+(roletype object_r rild_socket)
+(type rild_debug_socket)
+(roletype object_r rild_debug_socket)
+(type snapuserd_socket)
+(roletype object_r snapuserd_socket)
+(type snapuserd_proxy_socket)
+(roletype object_r snapuserd_proxy_socket)
+(type statsdw_socket)
+(roletype object_r statsdw_socket)
+(type system_wpa_socket)
+(roletype object_r system_wpa_socket)
+(type system_ndebug_socket)
+(roletype object_r system_ndebug_socket)
+(type system_unsolzygote_socket)
+(roletype object_r system_unsolzygote_socket)
+(type tombstoned_crash_socket)
+(roletype object_r tombstoned_crash_socket)
+(type tombstoned_java_trace_socket)
+(roletype object_r tombstoned_java_trace_socket)
+(type tombstoned_intercept_socket)
+(roletype object_r tombstoned_intercept_socket)
+(type traced_consumer_socket)
+(roletype object_r traced_consumer_socket)
+(type traced_perf_socket)
+(roletype object_r traced_perf_socket)
+(type traced_producer_socket)
+(roletype object_r traced_producer_socket)
+(type uncrypt_socket)
+(roletype object_r uncrypt_socket)
+(type wpa_socket)
+(roletype object_r wpa_socket)
+(type zygote_socket)
+(roletype object_r zygote_socket)
+(type heapprofd_socket)
+(roletype object_r heapprofd_socket)
+(type gps_control)
+(roletype object_r gps_control)
+(type pdx_display_dir)
+(roletype object_r pdx_display_dir)
+(type pdx_performance_dir)
+(roletype object_r pdx_performance_dir)
+(type pdx_bufferhub_dir)
+(roletype object_r pdx_bufferhub_dir)
+(type pdx_display_client_endpoint_socket)
+(roletype object_r pdx_display_client_endpoint_socket)
+(type pdx_display_client_channel_socket)
+(roletype object_r pdx_display_client_channel_socket)
+(type pdx_display_manager_endpoint_socket)
+(roletype object_r pdx_display_manager_endpoint_socket)
+(type pdx_display_manager_channel_socket)
+(roletype object_r pdx_display_manager_channel_socket)
+(type pdx_display_screenshot_endpoint_socket)
+(roletype object_r pdx_display_screenshot_endpoint_socket)
+(type pdx_display_screenshot_channel_socket)
+(roletype object_r pdx_display_screenshot_channel_socket)
+(type pdx_display_vsync_endpoint_socket)
+(roletype object_r pdx_display_vsync_endpoint_socket)
+(type pdx_display_vsync_channel_socket)
+(roletype object_r pdx_display_vsync_channel_socket)
+(type pdx_performance_client_endpoint_socket)
+(roletype object_r pdx_performance_client_endpoint_socket)
+(type pdx_performance_client_channel_socket)
+(roletype object_r pdx_performance_client_channel_socket)
+(type pdx_bufferhub_client_endpoint_socket)
+(roletype object_r pdx_bufferhub_client_endpoint_socket)
+(type pdx_bufferhub_client_channel_socket)
+(roletype object_r pdx_bufferhub_client_channel_socket)
+(type file_contexts_file)
+(roletype object_r file_contexts_file)
+(type mac_perms_file)
+(roletype object_r mac_perms_file)
+(type property_contexts_file)
+(roletype object_r property_contexts_file)
+(type seapp_contexts_file)
+(roletype object_r seapp_contexts_file)
+(type sepolicy_file)
+(roletype object_r sepolicy_file)
+(type service_contexts_file)
+(roletype object_r service_contexts_file)
+(type keystore2_key_contexts_file)
+(roletype object_r keystore2_key_contexts_file)
+(type vendor_service_contexts_file)
+(roletype object_r vendor_service_contexts_file)
+(type hwservice_contexts_file)
+(roletype object_r hwservice_contexts_file)
+(type vndservice_contexts_file)
+(roletype object_r vndservice_contexts_file)
+(type debugfs_bootreceiver_tracing)
+(roletype object_r debugfs_bootreceiver_tracing)
+(type vendor_kernel_modules)
+(roletype object_r vendor_kernel_modules)
+(type system_dlkm_file)
+(roletype object_r system_dlkm_file)
+(type audiohal_data_file)
+(roletype object_r audiohal_data_file)
+(type sysfs_udc)
+(roletype object_r sysfs_udc)
+(type tee_service_contexts_file)
+(roletype object_r tee_service_contexts_file)
+(type fingerprintd)
+(roletype object_r fingerprintd)
+(type fingerprintd_exec)
+(roletype object_r fingerprintd_exec)
+(type flags_health_check)
+(roletype object_r flags_health_check)
+(type flags_health_check_exec)
+(roletype object_r flags_health_check_exec)
+(type fsck)
+(roletype object_r fsck)
+(type fsck_exec)
+(roletype object_r fsck_exec)
+(type fsck_untrusted)
+(roletype object_r fsck_untrusted)
+(type gatekeeperd)
+(roletype object_r gatekeeperd)
+(type gatekeeperd_exec)
+(roletype object_r gatekeeperd_exec)
+(type gmscore_app)
+(roletype object_r gmscore_app)
+(type gpuservice)
+(roletype object_r gpuservice)
+(type hal_graphics_composer_server_tmpfs)
+(roletype object_r hal_graphics_composer_server_tmpfs)
+(typeattribute hal_graphics_composer_client_tmpfs)
+(expandtypeattribute (hal_graphics_composer_client_tmpfs) true)
+(typeattributeset hal_graphics_composer_client_tmpfs (surfaceflinger_tmpfs ))
+(type healthd)
+(roletype object_r healthd)
+(type heapprofd)
+(roletype object_r heapprofd)
+(type default_android_hwservice)
+(roletype object_r default_android_hwservice)
+(type fwk_camera_hwservice)
+(roletype object_r fwk_camera_hwservice)
+(type fwk_display_hwservice)
+(roletype object_r fwk_display_hwservice)
+(type fwk_scheduler_hwservice)
+(roletype object_r fwk_scheduler_hwservice)
+(type fwk_sensor_hwservice)
+(roletype object_r fwk_sensor_hwservice)
+(type fwk_stats_hwservice)
+(roletype object_r fwk_stats_hwservice)
+(type fwk_automotive_display_hwservice)
+(roletype object_r fwk_automotive_display_hwservice)
+(type hal_atrace_hwservice)
+(roletype object_r hal_atrace_hwservice)
+(type hal_audio_hwservice)
+(roletype object_r hal_audio_hwservice)
+(type hal_audiocontrol_hwservice)
+(roletype object_r hal_audiocontrol_hwservice)
+(type hal_authsecret_hwservice)
+(roletype object_r hal_authsecret_hwservice)
+(type hal_bluetooth_hwservice)
+(roletype object_r hal_bluetooth_hwservice)
+(type hal_bootctl_hwservice)
+(roletype object_r hal_bootctl_hwservice)
+(type hal_broadcastradio_hwservice)
+(roletype object_r hal_broadcastradio_hwservice)
+(type hal_camera_hwservice)
+(roletype object_r hal_camera_hwservice)
+(type hal_can_bus_hwservice)
+(roletype object_r hal_can_bus_hwservice)
+(type hal_can_controller_hwservice)
+(roletype object_r hal_can_controller_hwservice)
+(type hal_confirmationui_hwservice)
+(roletype object_r hal_confirmationui_hwservice)
+(type hal_contexthub_hwservice)
+(roletype object_r hal_contexthub_hwservice)
+(type hal_dumpstate_hwservice)
+(roletype object_r hal_dumpstate_hwservice)
+(type hal_evs_hwservice)
+(roletype object_r hal_evs_hwservice)
+(type hal_face_hwservice)
+(roletype object_r hal_face_hwservice)
+(type hal_fingerprint_hwservice)
+(roletype object_r hal_fingerprint_hwservice)
+(type hal_gatekeeper_hwservice)
+(roletype object_r hal_gatekeeper_hwservice)
+(type hal_gnss_hwservice)
+(roletype object_r hal_gnss_hwservice)
+(type hal_graphics_composer_hwservice)
+(roletype object_r hal_graphics_composer_hwservice)
+(type hal_health_hwservice)
+(roletype object_r hal_health_hwservice)
+(type hal_health_storage_hwservice)
+(roletype object_r hal_health_storage_hwservice)
+(type hal_input_classifier_hwservice)
+(roletype object_r hal_input_classifier_hwservice)
+(type hal_ir_hwservice)
+(roletype object_r hal_ir_hwservice)
+(type hal_keymaster_hwservice)
+(roletype object_r hal_keymaster_hwservice)
+(type hal_light_hwservice)
+(roletype object_r hal_light_hwservice)
+(type hal_lowpan_hwservice)
+(roletype object_r hal_lowpan_hwservice)
+(type hal_memtrack_hwservice)
+(roletype object_r hal_memtrack_hwservice)
+(type hal_nfc_hwservice)
+(roletype object_r hal_nfc_hwservice)
+(type hal_oemlock_hwservice)
+(roletype object_r hal_oemlock_hwservice)
+(type hal_power_hwservice)
+(roletype object_r hal_power_hwservice)
+(type hal_power_stats_hwservice)
+(roletype object_r hal_power_stats_hwservice)
+(type hal_secure_element_hwservice)
+(roletype object_r hal_secure_element_hwservice)
+(type hal_sensors_hwservice)
+(roletype object_r hal_sensors_hwservice)
+(type hal_telephony_hwservice)
+(roletype object_r hal_telephony_hwservice)
+(type hal_tetheroffload_hwservice)
+(roletype object_r hal_tetheroffload_hwservice)
+(type hal_thermal_hwservice)
+(roletype object_r hal_thermal_hwservice)
+(type hal_tv_cec_hwservice)
+(roletype object_r hal_tv_cec_hwservice)
+(type hal_tv_input_hwservice)
+(roletype object_r hal_tv_input_hwservice)
+(type hal_tv_tuner_hwservice)
+(roletype object_r hal_tv_tuner_hwservice)
+(type hal_usb_gadget_hwservice)
+(roletype object_r hal_usb_gadget_hwservice)
+(type hal_usb_hwservice)
+(roletype object_r hal_usb_hwservice)
+(type hal_vehicle_hwservice)
+(roletype object_r hal_vehicle_hwservice)
+(type hal_vibrator_hwservice)
+(roletype object_r hal_vibrator_hwservice)
+(type hal_vr_hwservice)
+(roletype object_r hal_vr_hwservice)
+(type hal_weaver_hwservice)
+(roletype object_r hal_weaver_hwservice)
+(type hal_wifi_hostapd_hwservice)
+(roletype object_r hal_wifi_hostapd_hwservice)
+(type hal_wifi_hwservice)
+(roletype object_r hal_wifi_hwservice)
+(type hal_wifi_supplicant_hwservice)
+(roletype object_r hal_wifi_supplicant_hwservice)
+(type system_net_netd_hwservice)
+(roletype object_r system_net_netd_hwservice)
+(type system_suspend_hwservice)
+(roletype object_r system_suspend_hwservice)
+(type system_wifi_keystore_hwservice)
+(roletype object_r system_wifi_keystore_hwservice)
+(type fwk_bufferhub_hwservice)
+(roletype object_r fwk_bufferhub_hwservice)
+(type hal_cas_hwservice)
+(roletype object_r hal_cas_hwservice)
+(type hal_codec2_hwservice)
+(roletype object_r hal_codec2_hwservice)
+(type hal_configstore_ISurfaceFlingerConfigs)
+(roletype object_r hal_configstore_ISurfaceFlingerConfigs)
+(type hal_drm_hwservice)
+(roletype object_r hal_drm_hwservice)
+(type hal_graphics_allocator_hwservice)
+(roletype object_r hal_graphics_allocator_hwservice)
+(type hal_graphics_mapper_hwservice)
+(roletype object_r hal_graphics_mapper_hwservice)
+(type hal_neuralnetworks_hwservice)
+(roletype object_r hal_neuralnetworks_hwservice)
+(type hal_omx_hwservice)
+(roletype object_r hal_omx_hwservice)
+(type hal_renderscript_hwservice)
+(roletype object_r hal_renderscript_hwservice)
+(type hidl_allocator_hwservice)
+(roletype object_r hidl_allocator_hwservice)
+(type hidl_base_hwservice)
+(roletype object_r hidl_base_hwservice)
+(type hidl_manager_hwservice)
+(roletype object_r hidl_manager_hwservice)
+(type hidl_memory_hwservice)
+(roletype object_r hidl_memory_hwservice)
+(type hidl_token_hwservice)
+(roletype object_r hidl_token_hwservice)
+(type hwservicemanager)
+(roletype object_r hwservicemanager)
+(type hwservicemanager_exec)
+(roletype object_r hwservicemanager_exec)
+(type idmap)
+(roletype object_r idmap)
+(type idmap_exec)
+(roletype object_r idmap_exec)
+(type incident)
+(roletype object_r incident)
+(type incident_helper)
+(roletype object_r incident_helper)
+(type incidentd)
+(roletype object_r incidentd)
+(type init)
+(roletype object_r init)
+(type init_exec)
+(roletype object_r init_exec)
+(type init_tmpfs)
+(roletype object_r init_tmpfs)
+(type inputflinger)
+(roletype object_r inputflinger)
+(type inputflinger_exec)
+(roletype object_r inputflinger_exec)
+(type installd)
+(roletype object_r installd)
+(type installd_exec)
+(roletype object_r installd_exec)
+(type isolated_app)
+(roletype object_r isolated_app)
+(type isolated_compute_app)
+(roletype object_r isolated_compute_app)
+(type kernel)
+(roletype object_r kernel)
+(type keystore)
+(roletype object_r keystore)
+(type keystore_exec)
+(roletype object_r keystore_exec)
+(type wifi_key)
+(roletype object_r wifi_key)
+(type llkd)
+(roletype object_r llkd)
+(type llkd_exec)
+(roletype object_r llkd_exec)
+(type lmkd)
+(roletype object_r lmkd)
+(type lmkd_exec)
+(roletype object_r lmkd_exec)
+(type logd)
+(roletype object_r logd)
+(type logd_exec)
+(roletype object_r logd_exec)
+(type logpersist)
+(roletype object_r logpersist)
+(type mdnsd)
+(roletype object_r mdnsd)
+(type mediadrmserver)
+(roletype object_r mediadrmserver)
+(type mediadrmserver_exec)
+(roletype object_r mediadrmserver_exec)
+(type mediaextractor)
+(roletype object_r mediaextractor)
+(type mediaextractor_exec)
+(roletype object_r mediaextractor_exec)
+(type mediaextractor_tmpfs)
+(roletype object_r mediaextractor_tmpfs)
+(type mediametrics)
+(roletype object_r mediametrics)
+(type mediametrics_exec)
+(roletype object_r mediametrics_exec)
+(type mediaprovider)
+(roletype object_r mediaprovider)
+(type mediaserver)
+(roletype object_r mediaserver)
+(type mediaserver_exec)
+(roletype object_r mediaserver_exec)
+(type mediaserver_tmpfs)
+(roletype object_r mediaserver_tmpfs)
+(type mediaswcodec)
+(roletype object_r mediaswcodec)
+(type mediaswcodec_exec)
+(roletype object_r mediaswcodec_exec)
+(type mediatranscoding)
+(roletype object_r mediatranscoding)
+(type modprobe)
+(roletype object_r modprobe)
+(type mtp)
+(roletype object_r mtp)
+(type node)
+(roletype object_r node)
+(type netif)
+(roletype object_r netif)
+(type port)
+(roletype object_r port)
+(type netd)
+(roletype object_r netd)
+(type netd_exec)
+(roletype object_r netd_exec)
+(type netutils_wrapper)
+(roletype object_r netutils_wrapper)
+(type netutils_wrapper_exec)
+(roletype object_r netutils_wrapper_exec)
+(type network_stack)
+(roletype object_r network_stack)
+(type nfc)
+(roletype object_r nfc)
+(type perfetto)
+(roletype object_r perfetto)
+(type performanced)
+(roletype object_r performanced)
+(type performanced_exec)
+(roletype object_r performanced_exec)
+(type platform_app)
+(roletype object_r platform_app)
+(type postinstall)
+(roletype object_r postinstall)
+(type ppp)
+(roletype object_r ppp)
+(type priv_app)
+(roletype object_r priv_app)
+(type prng_seeder)
+(roletype object_r prng_seeder)
+(type profman)
+(roletype object_r profman)
+(type profman_exec)
+(roletype object_r profman_exec)
+(type apexd_prop)
+(roletype object_r apexd_prop)
+(type bootloader_boot_reason_prop)
+(roletype object_r bootloader_boot_reason_prop)
+(type device_config_activity_manager_native_boot_prop)
+(roletype object_r device_config_activity_manager_native_boot_prop)
+(type device_config_boot_count_prop)
+(roletype object_r device_config_boot_count_prop)
+(type device_config_input_native_boot_prop)
+(roletype object_r device_config_input_native_boot_prop)
+(type device_config_netd_native_prop)
+(roletype object_r device_config_netd_native_prop)
+(type device_config_reset_performed_prop)
+(roletype object_r device_config_reset_performed_prop)
+(type firstboot_prop)
+(roletype object_r firstboot_prop)
+(type boottime_prop)
+(roletype object_r boottime_prop)
+(type charger_prop)
+(roletype object_r charger_prop)
+(type cold_boot_done_prop)
+(roletype object_r cold_boot_done_prop)
+(type ctl_adbd_prop)
+(roletype object_r ctl_adbd_prop)
+(type ctl_apexd_prop)
+(roletype object_r ctl_apexd_prop)
+(type ctl_bootanim_prop)
+(roletype object_r ctl_bootanim_prop)
+(type ctl_bugreport_prop)
+(roletype object_r ctl_bugreport_prop)
+(type ctl_console_prop)
+(roletype object_r ctl_console_prop)
+(type ctl_dumpstate_prop)
+(roletype object_r ctl_dumpstate_prop)
+(type ctl_fuse_prop)
+(roletype object_r ctl_fuse_prop)
+(type ctl_gsid_prop)
+(roletype object_r ctl_gsid_prop)
+(type ctl_interface_restart_prop)
+(roletype object_r ctl_interface_restart_prop)
+(type ctl_interface_stop_prop)
+(roletype object_r ctl_interface_stop_prop)
+(type ctl_mdnsd_prop)
+(roletype object_r ctl_mdnsd_prop)
+(type ctl_restart_prop)
+(roletype object_r ctl_restart_prop)
+(type ctl_rildaemon_prop)
+(roletype object_r ctl_rildaemon_prop)
+(type ctl_sigstop_prop)
+(roletype object_r ctl_sigstop_prop)
+(type dynamic_system_prop)
+(roletype object_r dynamic_system_prop)
+(type heapprofd_enabled_prop)
+(roletype object_r heapprofd_enabled_prop)
+(type llkd_prop)
+(roletype object_r llkd_prop)
+(type lpdumpd_prop)
+(roletype object_r lpdumpd_prop)
+(type mmc_prop)
+(roletype object_r mmc_prop)
+(type mock_ota_prop)
+(roletype object_r mock_ota_prop)
+(type net_dns_prop)
+(roletype object_r net_dns_prop)
+(type overlay_prop)
+(roletype object_r overlay_prop)
+(type persistent_properties_ready_prop)
+(roletype object_r persistent_properties_ready_prop)
+(type safemode_prop)
+(roletype object_r safemode_prop)
+(type system_lmk_prop)
+(roletype object_r system_lmk_prop)
+(type system_trace_prop)
+(roletype object_r system_trace_prop)
+(type test_boot_reason_prop)
+(roletype object_r test_boot_reason_prop)
+(type time_prop)
+(roletype object_r time_prop)
+(type traced_enabled_prop)
+(roletype object_r traced_enabled_prop)
+(type traced_lazy_prop)
+(roletype object_r traced_lazy_prop)
+(type aac_drc_prop)
+(roletype object_r aac_drc_prop)
+(type adaptive_haptics_prop)
+(roletype object_r adaptive_haptics_prop)
+(type apex_ready_prop)
+(roletype object_r apex_ready_prop)
+(type arm64_memtag_prop)
+(roletype object_r arm64_memtag_prop)
+(type binder_cache_bluetooth_server_prop)
+(roletype object_r binder_cache_bluetooth_server_prop)
+(type binder_cache_system_server_prop)
+(roletype object_r binder_cache_system_server_prop)
+(type binder_cache_telephony_server_prop)
+(roletype object_r binder_cache_telephony_server_prop)
+(type boot_status_prop)
+(roletype object_r boot_status_prop)
+(type bootanim_system_prop)
+(roletype object_r bootanim_system_prop)
+(type bootloader_prop)
+(roletype object_r bootloader_prop)
+(type boottime_public_prop)
+(roletype object_r boottime_public_prop)
+(type bq_config_prop)
+(roletype object_r bq_config_prop)
+(type build_bootimage_prop)
+(roletype object_r build_bootimage_prop)
+(type build_prop)
+(roletype object_r build_prop)
+(type composd_vm_art_prop)
+(roletype object_r composd_vm_art_prop)
+(type device_config_aconfig_flags_prop)
+(roletype object_r device_config_aconfig_flags_prop)
+(type device_config_camera_native_prop)
+(roletype object_r device_config_camera_native_prop)
+(type device_config_edgetpu_native_prop)
+(roletype object_r device_config_edgetpu_native_prop)
+(type device_config_media_native_prop)
+(roletype object_r device_config_media_native_prop)
+(type device_config_nnapi_native_prop)
+(roletype object_r device_config_nnapi_native_prop)
+(type device_config_runtime_native_boot_prop)
+(roletype object_r device_config_runtime_native_boot_prop)
+(type device_config_runtime_native_prop)
+(roletype object_r device_config_runtime_native_prop)
+(type device_config_surface_flinger_native_boot_prop)
+(roletype object_r device_config_surface_flinger_native_boot_prop)
+(type device_config_vendor_system_native_prop)
+(roletype object_r device_config_vendor_system_native_prop)
+(type device_config_vendor_system_native_boot_prop)
+(roletype object_r device_config_vendor_system_native_boot_prop)
+(type drm_forcel3_prop)
+(roletype object_r drm_forcel3_prop)
+(type fingerprint_prop)
+(roletype object_r fingerprint_prop)
+(type gwp_asan_prop)
+(roletype object_r gwp_asan_prop)
+(type hal_instrumentation_prop)
+(roletype object_r hal_instrumentation_prop)
+(type userdebug_or_eng_prop)
+(roletype object_r userdebug_or_eng_prop)
+(type init_service_status_prop)
+(roletype object_r init_service_status_prop)
+(type libc_debug_prop)
+(roletype object_r libc_debug_prop)
+(type module_sdkextensions_prop)
+(roletype object_r module_sdkextensions_prop)
+(type nnapi_ext_deny_product_prop)
+(roletype object_r nnapi_ext_deny_product_prop)
+(type persist_wm_debug_prop)
+(roletype object_r persist_wm_debug_prop)
+(type power_debug_prop)
+(roletype object_r power_debug_prop)
+(type property_service_version_prop)
+(roletype object_r property_service_version_prop)
+(type provisioned_prop)
+(roletype object_r provisioned_prop)
+(type restorecon_prop)
+(roletype object_r restorecon_prop)
+(type retaildemo_prop)
+(roletype object_r retaildemo_prop)
+(type servicemanager_prop)
+(roletype object_r servicemanager_prop)
+(type smart_idle_maint_enabled_prop)
+(roletype object_r smart_idle_maint_enabled_prop)
+(type socket_hook_prop)
+(roletype object_r socket_hook_prop)
+(type sqlite_log_prop)
+(roletype object_r sqlite_log_prop)
+(type surfaceflinger_display_prop)
+(roletype object_r surfaceflinger_display_prop)
+(type system_boot_reason_prop)
+(roletype object_r system_boot_reason_prop)
+(type system_jvmti_agent_prop)
+(roletype object_r system_jvmti_agent_prop)
+(type traced_oome_heap_session_count_prop)
+(roletype object_r traced_oome_heap_session_count_prop)
+(type ab_update_gki_prop)
+(roletype object_r ab_update_gki_prop)
+(type usb_prop)
+(roletype object_r usb_prop)
+(type userspace_reboot_exported_prop)
+(roletype object_r userspace_reboot_exported_prop)
+(type vold_status_prop)
+(roletype object_r vold_status_prop)
+(type vts_status_prop)
+(roletype object_r vts_status_prop)
+(type enable_16k_pages_prop)
+(roletype object_r enable_16k_pages_prop)
+(type profcollectd_etr_prop)
+(roletype object_r profcollectd_etr_prop)
+(type config_prop)
+(roletype object_r config_prop)
+(type cppreopt_prop)
+(roletype object_r cppreopt_prop)
+(type dalvik_prop)
+(roletype object_r dalvik_prop)
+(type debuggerd_prop)
+(roletype object_r debuggerd_prop)
+(type device_logging_prop)
+(roletype object_r device_logging_prop)
+(type dhcp_prop)
+(roletype object_r dhcp_prop)
+(type dumpstate_prop)
+(roletype object_r dumpstate_prop)
+(type exported3_system_prop)
+(roletype object_r exported3_system_prop)
+(type exported_dumpstate_prop)
+(roletype object_r exported_dumpstate_prop)
+(type exported_secure_prop)
+(roletype object_r exported_secure_prop)
+(type heapprofd_prop)
+(roletype object_r heapprofd_prop)
+(type net_radio_prop)
+(roletype object_r net_radio_prop)
+(type pan_result_prop)
+(roletype object_r pan_result_prop)
+(type persist_debug_prop)
+(roletype object_r persist_debug_prop)
+(type shell_prop)
+(roletype object_r shell_prop)
+(type test_harness_prop)
+(roletype object_r test_harness_prop)
+(type theme_prop)
+(roletype object_r theme_prop)
+(type use_memfd_prop)
+(roletype object_r use_memfd_prop)
+(type vold_prop)
+(roletype object_r vold_prop)
+(type apexd_config_prop)
+(roletype object_r apexd_config_prop)
+(type apexd_select_prop)
+(roletype object_r apexd_select_prop)
+(type aaudio_config_prop)
+(roletype object_r aaudio_config_prop)
+(type apk_verity_prop)
+(roletype object_r apk_verity_prop)
+(type audio_config_prop)
+(roletype object_r audio_config_prop)
+(type bootanim_config_prop)
+(roletype object_r bootanim_config_prop)
+(type bluetooth_config_prop)
+(roletype object_r bluetooth_config_prop)
+(type build_attestation_prop)
+(roletype object_r build_attestation_prop)
+(type build_config_prop)
+(roletype object_r build_config_prop)
+(type build_odm_prop)
+(roletype object_r build_odm_prop)
+(type build_vendor_prop)
+(roletype object_r build_vendor_prop)
+(type camera_calibration_prop)
+(roletype object_r camera_calibration_prop)
+(type camera_config_prop)
+(roletype object_r camera_config_prop)
+(type camera2_extensions_prop)
+(roletype object_r camera2_extensions_prop)
+(type camerax_extensions_prop)
+(roletype object_r camerax_extensions_prop)
+(type charger_config_prop)
+(roletype object_r charger_config_prop)
+(type codec2_config_prop)
+(roletype object_r codec2_config_prop)
+(type composd_vm_vendor_prop)
+(roletype object_r composd_vm_vendor_prop)
+(type cpu_variant_prop)
+(roletype object_r cpu_variant_prop)
+(type debugfs_restriction_prop)
+(roletype object_r debugfs_restriction_prop)
+(type drm_config_prop)
+(roletype object_r drm_config_prop)
+(type drm_service_config_prop)
+(roletype object_r drm_service_config_prop)
+(type exported_camera_prop)
+(roletype object_r exported_camera_prop)
+(type exported_config_prop)
+(roletype object_r exported_config_prop)
+(type exported_default_prop)
+(roletype object_r exported_default_prop)
+(type ffs_config_prop)
+(roletype object_r ffs_config_prop)
+(type framework_watchdog_config_prop)
+(roletype object_r framework_watchdog_config_prop)
+(type graphics_config_prop)
+(roletype object_r graphics_config_prop)
+(type hdmi_config_prop)
+(roletype object_r hdmi_config_prop)
+(type hw_timeout_multiplier_prop)
+(roletype object_r hw_timeout_multiplier_prop)
+(type hypervisor_prop)
+(roletype object_r hypervisor_prop)
+(type hypervisor_restricted_prop)
+(roletype object_r hypervisor_restricted_prop)
+(type incremental_prop)
+(roletype object_r incremental_prop)
+(type input_device_config_prop)
+(roletype object_r input_device_config_prop)
+(type keyguard_config_prop)
+(roletype object_r keyguard_config_prop)
+(type keystore_config_prop)
+(roletype object_r keystore_config_prop)
+(type lmkd_config_prop)
+(roletype object_r lmkd_config_prop)
+(type media_config_prop)
+(roletype object_r media_config_prop)
+(type media_variant_prop)
+(roletype object_r media_variant_prop)
+(type mediadrm_config_prop)
+(roletype object_r mediadrm_config_prop)
+(type mm_events_config_prop)
+(roletype object_r mm_events_config_prop)
+(type oem_unlock_prop)
+(roletype object_r oem_unlock_prop)
+(type ota_build_prop)
+(roletype object_r ota_build_prop)
+(type packagemanager_config_prop)
+(roletype object_r packagemanager_config_prop)
+(type quick_start_prop)
+(roletype object_r quick_start_prop)
+(type recovery_config_prop)
+(roletype object_r recovery_config_prop)
+(type recovery_usb_config_prop)
+(roletype object_r recovery_usb_config_prop)
+(type sendbug_config_prop)
+(roletype object_r sendbug_config_prop)
+(type soc_prop)
+(roletype object_r soc_prop)
+(type storage_config_prop)
+(roletype object_r storage_config_prop)
+(type storagemanager_config_prop)
+(roletype object_r storagemanager_config_prop)
+(type surfaceflinger_prop)
+(roletype object_r surfaceflinger_prop)
+(type suspend_prop)
+(roletype object_r suspend_prop)
+(type systemsound_config_prop)
+(roletype object_r systemsound_config_prop)
+(type telephony_config_prop)
+(roletype object_r telephony_config_prop)
+(type threadnetwork_config_prop)
+(roletype object_r threadnetwork_config_prop)
+(type tombstone_config_prop)
+(roletype object_r tombstone_config_prop)
+(type usb_config_prop)
+(roletype object_r usb_config_prop)
+(type userspace_reboot_config_prop)
+(roletype object_r userspace_reboot_config_prop)
+(type vehicle_hal_prop)
+(roletype object_r vehicle_hal_prop)
+(type vendor_security_patch_level_prop)
+(roletype object_r vendor_security_patch_level_prop)
+(type vendor_socket_hook_prop)
+(roletype object_r vendor_socket_hook_prop)
+(type virtual_ab_prop)
+(roletype object_r virtual_ab_prop)
+(type vndk_prop)
+(roletype object_r vndk_prop)
+(type vts_config_prop)
+(roletype object_r vts_config_prop)
+(type vold_config_prop)
+(roletype object_r vold_config_prop)
+(type wifi_config_prop)
+(roletype object_r wifi_config_prop)
+(type zram_config_prop)
+(roletype object_r zram_config_prop)
+(type zygote_config_prop)
+(roletype object_r zygote_config_prop)
+(type dck_prop)
+(roletype object_r dck_prop)
+(type tuner_config_prop)
+(roletype object_r tuner_config_prop)
+(type usb_uvc_enabled_prop)
+(roletype object_r usb_uvc_enabled_prop)
+(type setupwizard_mode_prop)
+(roletype object_r setupwizard_mode_prop)
+(type pm_archiving_enabled_prop)
+(roletype object_r pm_archiving_enabled_prop)
+(type trusty_security_vm_sys_vendor_prop)
+(roletype object_r trusty_security_vm_sys_vendor_prop)
+(type adbd_config_prop)
+(roletype object_r adbd_config_prop)
+(type audio_prop)
+(roletype object_r audio_prop)
+(type bluetooth_a2dp_offload_prop)
+(roletype object_r bluetooth_a2dp_offload_prop)
+(type bluetooth_audio_hal_prop)
+(roletype object_r bluetooth_audio_hal_prop)
+(type bluetooth_finder_prop)
+(roletype object_r bluetooth_finder_prop)
+(type bluetooth_prop)
+(roletype object_r bluetooth_prop)
+(type bpf_progs_loaded_prop)
+(roletype object_r bpf_progs_loaded_prop)
+(type charger_status_prop)
+(roletype object_r charger_status_prop)
+(type ctl_default_prop)
+(roletype object_r ctl_default_prop)
+(type ctl_interface_start_prop)
+(roletype object_r ctl_interface_start_prop)
+(type ctl_start_prop)
+(roletype object_r ctl_start_prop)
+(type ctl_stop_prop)
+(roletype object_r ctl_stop_prop)
+(type dalvik_config_prop)
+(roletype object_r dalvik_config_prop)
+(type dalvik_dynamic_config_prop)
+(roletype object_r dalvik_dynamic_config_prop)
+(type dalvik_runtime_prop)
+(roletype object_r dalvik_runtime_prop)
+(type debug_prop)
+(roletype object_r debug_prop)
+(type device_config_memory_safety_native_boot_prop)
+(roletype object_r device_config_memory_safety_native_boot_prop)
+(type device_config_memory_safety_native_prop)
+(roletype object_r device_config_memory_safety_native_prop)
+(type dumpstate_options_prop)
+(roletype object_r dumpstate_options_prop)
+(type exported_system_prop)
+(roletype object_r exported_system_prop)
+(type exported_bluetooth_prop)
+(roletype object_r exported_bluetooth_prop)
+(type exported_overlay_prop)
+(roletype object_r exported_overlay_prop)
+(type exported_pm_prop)
+(roletype object_r exported_pm_prop)
+(type future_pm_prop)
+(roletype object_r future_pm_prop)
+(type ffs_control_prop)
+(roletype object_r ffs_control_prop)
+(type framework_status_prop)
+(roletype object_r framework_status_prop)
+(type gesture_prop)
+(roletype object_r gesture_prop)
+(type graphics_config_writable_prop)
+(roletype object_r graphics_config_writable_prop)
+(type hal_dumpstate_config_prop)
+(roletype object_r hal_dumpstate_config_prop)
+(type sota_prop)
+(roletype object_r sota_prop)
+(type hwservicemanager_prop)
+(roletype object_r hwservicemanager_prop)
+(type lmkd_prop)
+(roletype object_r lmkd_prop)
+(type locale_prop)
+(roletype object_r locale_prop)
+(type logd_prop)
+(roletype object_r logd_prop)
+(type logpersistd_logging_prop)
+(roletype object_r logpersistd_logging_prop)
+(type log_prop)
+(roletype object_r log_prop)
+(type log_tag_prop)
+(roletype object_r log_tag_prop)
+(type lowpan_prop)
+(roletype object_r lowpan_prop)
+(type nfc_prop)
+(roletype object_r nfc_prop)
+(type ota_prop)
+(roletype object_r ota_prop)
+(type permissive_mte_prop)
+(roletype object_r permissive_mte_prop)
+(type powerctl_prop)
+(roletype object_r powerctl_prop)
+(type qemu_hw_prop)
+(roletype object_r qemu_hw_prop)
+(type qemu_sf_lcd_density_prop)
+(roletype object_r qemu_sf_lcd_density_prop)
+(type radio_control_prop)
+(roletype object_r radio_control_prop)
+(type radio_prop)
+(roletype object_r radio_prop)
+(type serialno_prop)
+(roletype object_r serialno_prop)
+(type surfaceflinger_color_prop)
+(roletype object_r surfaceflinger_color_prop)
+(type system_prop)
+(roletype object_r system_prop)
+(type system_user_mode_emulation_prop)
+(roletype object_r system_user_mode_emulation_prop)
+(type telephony_status_prop)
+(roletype object_r telephony_status_prop)
+(type timezone_prop)
+(roletype object_r timezone_prop)
+(type usb_control_prop)
+(roletype object_r usb_control_prop)
+(type vold_post_fs_data_prop)
+(roletype object_r vold_post_fs_data_prop)
+(type wifi_hal_prop)
+(roletype object_r wifi_hal_prop)
+(type wifi_log_prop)
+(roletype object_r wifi_log_prop)
+(type wifi_prop)
+(roletype object_r wifi_prop)
+(type zram_control_prop)
+(roletype object_r zram_control_prop)
+(type default_prop)
+(roletype object_r default_prop)
+(type rebootescrow_hal_prop)
+(roletype object_r rebootescrow_hal_prop)
+(type virtual_face_hal_prop)
+(roletype object_r virtual_face_hal_prop)
+(type virtual_face_prop)
+(roletype object_r virtual_face_prop)
+(type virtual_fingerprint_hal_prop)
+(roletype object_r virtual_fingerprint_hal_prop)
+(type virtual_fingerprint_prop)
+(roletype object_r virtual_fingerprint_prop)
+(type persist_vendor_debug_wifi_prop)
+(roletype object_r persist_vendor_debug_wifi_prop)
+(type vendor_default_prop)
+(roletype object_r vendor_default_prop)
+(type radio)
+(roletype object_r radio)
+(type recovery)
+(roletype object_r recovery)
+(type recovery_persist)
+(roletype object_r recovery_persist)
+(type recovery_persist_exec)
+(roletype object_r recovery_persist_exec)
+(type recovery_refresh)
+(roletype object_r recovery_refresh)
+(type recovery_refresh_exec)
+(roletype object_r recovery_refresh_exec)
+(type rkpdapp)
+(roletype object_r rkpdapp)
+(type rs)
+(roletype object_r rs)
+(type rs_exec)
+(roletype object_r rs_exec)
+(type rss_hwm_reset)
+(roletype object_r rss_hwm_reset)
+(type runas)
+(roletype object_r runas)
+(type runas_exec)
+(roletype object_r runas_exec)
+(type runas_app)
+(roletype object_r runas_app)
+(type sdcardd)
+(roletype object_r sdcardd)
+(type sdcardd_exec)
+(roletype object_r sdcardd_exec)
+(type secure_element)
+(roletype object_r secure_element)
+(type aidl_lazy_test_service)
+(roletype object_r aidl_lazy_test_service)
+(type apc_service)
+(roletype object_r apc_service)
+(type apex_service)
+(roletype object_r apex_service)
+(type artd_service)
+(roletype object_r artd_service)
+(type artd_pre_reboot_service)
+(roletype object_r artd_pre_reboot_service)
+(type audioserver_service)
+(roletype object_r audioserver_service)
+(type authorization_service)
+(roletype object_r authorization_service)
+(type batteryproperties_service)
+(roletype object_r batteryproperties_service)
+(type bluetooth_service)
+(roletype object_r bluetooth_service)
+(type cameraserver_service)
+(roletype object_r cameraserver_service)
+(type fwk_camera_service)
+(roletype object_r fwk_camera_service)
+(type default_android_service)
+(roletype object_r default_android_service)
+(type device_config_updatable_service)
+(roletype object_r device_config_updatable_service)
+(type dexopt_chroot_setup_service)
+(roletype object_r dexopt_chroot_setup_service)
+(type dnsresolver_service)
+(roletype object_r dnsresolver_service)
+(type drmserver_service)
+(roletype object_r drmserver_service)
+(type dumpstate_service)
+(roletype object_r dumpstate_service)
+(type evsmanagerd_service)
+(roletype object_r evsmanagerd_service)
+(type fingerprintd_service)
+(roletype object_r fingerprintd_service)
+(type fwk_automotive_display_service)
+(roletype object_r fwk_automotive_display_service)
+(type fwk_vold_service)
+(roletype object_r fwk_vold_service)
+(type gatekeeper_service)
+(roletype object_r gatekeeper_service)
+(type gpu_service)
+(roletype object_r gpu_service)
+(type idmap_service)
+(roletype object_r idmap_service)
+(type incident_service)
+(roletype object_r incident_service)
+(type installd_service)
+(roletype object_r installd_service)
+(type credstore_service)
+(roletype object_r credstore_service)
+(type keystore_compat_hal_service)
+(roletype object_r keystore_compat_hal_service)
+(type keystore_maintenance_service)
+(roletype object_r keystore_maintenance_service)
+(type keystore_metrics_service)
+(roletype object_r keystore_metrics_service)
+(type keystore_service)
+(roletype object_r keystore_service)
+(type legacykeystore_service)
+(roletype object_r legacykeystore_service)
+(type lpdump_service)
+(roletype object_r lpdump_service)
+(type mdns_service)
+(roletype object_r mdns_service)
+(type mediaserver_service)
+(roletype object_r mediaserver_service)
+(type mediametrics_service)
+(roletype object_r mediametrics_service)
+(type mediaextractor_service)
+(roletype object_r mediaextractor_service)
+(type mediadrmserver_service)
+(roletype object_r mediadrmserver_service)
+(type mediatranscoding_service)
+(roletype object_r mediatranscoding_service)
+(type netd_service)
+(roletype object_r netd_service)
+(type nfc_service)
+(roletype object_r nfc_service)
+(type ondevicepersonalization_system_service)
+(roletype object_r ondevicepersonalization_system_service)
+(type ot_daemon_service)
+(roletype object_r ot_daemon_service)
+(type profiling_service)
+(roletype object_r profiling_service)
+(type radio_service)
+(roletype object_r radio_service)
+(type secure_element_service)
+(roletype object_r secure_element_service)
+(type service_manager_service)
+(roletype object_r service_manager_service)
+(type storaged_service)
+(roletype object_r storaged_service)
+(type surfaceflinger_service)
+(roletype object_r surfaceflinger_service)
+(type system_app_service)
+(roletype object_r system_app_service)
+(type system_net_netd_service)
+(roletype object_r system_net_netd_service)
+(type system_suspend_control_internal_service)
+(roletype object_r system_suspend_control_internal_service)
+(type system_suspend_control_service)
+(roletype object_r system_suspend_control_service)
+(type update_engine_service)
+(roletype object_r update_engine_service)
+(type update_engine_stable_service)
+(roletype object_r update_engine_stable_service)
+(type virtualization_service)
+(roletype object_r virtualization_service)
+(type virtual_camera_service)
+(roletype object_r virtual_camera_service)
+(type virtual_touchpad_service)
+(roletype object_r virtual_touchpad_service)
+(type vold_service)
+(roletype object_r vold_service)
+(type vr_hwc_service)
+(roletype object_r vr_hwc_service)
+(type vrflinger_vsync_service)
+(roletype object_r vrflinger_vsync_service)
+(type accessibility_service)
+(roletype object_r accessibility_service)
+(type account_service)
+(roletype object_r account_service)
+(type activity_service)
+(roletype object_r activity_service)
+(type activity_task_service)
+(roletype object_r activity_task_service)
+(type adb_service)
+(roletype object_r adb_service)
+(type adservices_manager_service)
+(roletype object_r adservices_manager_service)
+(type alarm_service)
+(roletype object_r alarm_service)
+(type app_binding_service)
+(roletype object_r app_binding_service)
+(type app_function_service)
+(roletype object_r app_function_service)
+(type app_hibernation_service)
+(roletype object_r app_hibernation_service)
+(type app_integrity_service)
+(roletype object_r app_integrity_service)
+(type app_prediction_service)
+(roletype object_r app_prediction_service)
+(type app_search_service)
+(roletype object_r app_search_service)
+(type appops_service)
+(roletype object_r appops_service)
+(type appwidget_service)
+(roletype object_r appwidget_service)
+(type archive_service)
+(roletype object_r archive_service)
+(type assetatlas_service)
+(roletype object_r assetatlas_service)
+(type attestation_verification_service)
+(roletype object_r attestation_verification_service)
+(type audio_service)
+(roletype object_r audio_service)
+(type auth_service)
+(roletype object_r auth_service)
+(type autofill_service)
+(roletype object_r autofill_service)
+(type backup_service)
+(roletype object_r backup_service)
+(type batterystats_service)
+(roletype object_r batterystats_service)
+(type battery_service)
+(roletype object_r battery_service)
+(type binder_calls_stats_service)
+(roletype object_r binder_calls_stats_service)
+(type blob_store_service)
+(roletype object_r blob_store_service)
+(type bluetooth_manager_service)
+(roletype object_r bluetooth_manager_service)
+(type broadcastradio_service)
+(roletype object_r broadcastradio_service)
+(type cacheinfo_service)
+(roletype object_r cacheinfo_service)
+(type cameraproxy_service)
+(roletype object_r cameraproxy_service)
+(type clipboard_service)
+(roletype object_r clipboard_service)
+(type cloudsearch_service)
+(roletype object_r cloudsearch_service)
+(type contexthub_service)
+(roletype object_r contexthub_service)
+(type contextual_search_service)
+(roletype object_r contextual_search_service)
+(type crossprofileapps_service)
+(roletype object_r crossprofileapps_service)
+(type IProxyService_service)
+(roletype object_r IProxyService_service)
+(type companion_device_service)
+(roletype object_r companion_device_service)
+(type connectivity_native_service)
+(roletype object_r connectivity_native_service)
+(type connectivity_service)
+(roletype object_r connectivity_service)
+(type connmetrics_service)
+(roletype object_r connmetrics_service)
+(type consumer_ir_service)
+(roletype object_r consumer_ir_service)
+(type content_capture_service)
+(roletype object_r content_capture_service)
+(type content_suggestions_service)
+(roletype object_r content_suggestions_service)
+(type content_service)
+(roletype object_r content_service)
+(type country_detector_service)
+(roletype object_r country_detector_service)
+(type coverage_service)
+(roletype object_r coverage_service)
+(type cpuinfo_service)
+(roletype object_r cpuinfo_service)
+(type cpu_monitor_service)
+(roletype object_r cpu_monitor_service)
+(type credential_service)
+(roletype object_r credential_service)
+(type dataloader_manager_service)
+(roletype object_r dataloader_manager_service)
+(type dbinfo_service)
+(roletype object_r dbinfo_service)
+(type device_config_service)
+(roletype object_r device_config_service)
+(type device_policy_service)
+(roletype object_r device_policy_service)
+(type device_state_service)
+(roletype object_r device_state_service)
+(type deviceidle_service)
+(roletype object_r deviceidle_service)
+(type device_identifiers_service)
+(roletype object_r device_identifiers_service)
+(type devicestoragemonitor_service)
+(roletype object_r devicestoragemonitor_service)
+(type diskstats_service)
+(roletype object_r diskstats_service)
+(type display_service)
+(roletype object_r display_service)
+(type domain_verification_service)
+(roletype object_r domain_verification_service)
+(type color_display_service)
+(roletype object_r color_display_service)
+(type ecm_enhanced_confirmation_service)
+(roletype object_r ecm_enhanced_confirmation_service)
+(type external_vibrator_service)
+(roletype object_r external_vibrator_service)
+(type file_integrity_service)
+(roletype object_r file_integrity_service)
+(type font_service)
+(roletype object_r font_service)
+(type netd_listener_service)
+(roletype object_r netd_listener_service)
+(type network_watchlist_service)
+(roletype object_r network_watchlist_service)
+(type devicelock_service)
+(roletype object_r devicelock_service)
+(type DockObserver_service)
+(roletype object_r DockObserver_service)
+(type dreams_service)
+(roletype object_r dreams_service)
+(type dropbox_service)
+(roletype object_r dropbox_service)
+(type ethernet_service)
+(roletype object_r ethernet_service)
+(type biometric_service)
+(roletype object_r biometric_service)
+(type bugreport_service)
+(roletype object_r bugreport_service)
+(type platform_compat_service)
+(roletype object_r platform_compat_service)
+(type face_service)
+(roletype object_r face_service)
+(type fingerprint_service)
+(roletype object_r fingerprint_service)
+(type fwk_altitude_service)
+(roletype object_r fwk_altitude_service)
+(type fwk_stats_service)
+(roletype object_r fwk_stats_service)
+(type fwk_sensor_service)
+(roletype object_r fwk_sensor_service)
+(type fwk_vibrator_control_service)
+(roletype object_r fwk_vibrator_control_service)
+(type game_service)
+(roletype object_r game_service)
+(type gfxinfo_service)
+(roletype object_r gfxinfo_service)
+(type gnss_time_update_service)
+(roletype object_r gnss_time_update_service)
+(type grammatical_inflection_service)
+(roletype object_r grammatical_inflection_service)
+(type graphicsstats_service)
+(roletype object_r graphicsstats_service)
+(type hardware_service)
+(roletype object_r hardware_service)
+(type hardware_properties_service)
+(roletype object_r hardware_properties_service)
+(type hdmi_control_service)
+(roletype object_r hdmi_control_service)
+(type healthconnect_service)
+(roletype object_r healthconnect_service)
+(type hint_service)
+(roletype object_r hint_service)
+(type imms_service)
+(roletype object_r imms_service)
+(type incremental_service)
+(roletype object_r incremental_service)
+(type input_method_service)
+(roletype object_r input_method_service)
+(type input_service)
+(roletype object_r input_service)
+(type intrusion_detection_service)
+(roletype object_r intrusion_detection_service)
+(type ipsec_service)
+(roletype object_r ipsec_service)
+(type iris_service)
+(roletype object_r iris_service)
+(type jobscheduler_service)
+(roletype object_r jobscheduler_service)
+(type launcherapps_service)
+(roletype object_r launcherapps_service)
+(type legacy_permission_service)
+(roletype object_r legacy_permission_service)
+(type light_service)
+(roletype object_r light_service)
+(type locale_service)
+(roletype object_r locale_service)
+(type location_service)
+(roletype object_r location_service)
+(type location_time_zone_manager_service)
+(roletype object_r location_time_zone_manager_service)
+(type lock_settings_service)
+(roletype object_r lock_settings_service)
+(type looper_stats_service)
+(roletype object_r looper_stats_service)
+(type media_communication_service)
+(roletype object_r media_communication_service)
+(type media_metrics_service)
+(roletype object_r media_metrics_service)
+(type media_projection_service)
+(roletype object_r media_projection_service)
+(type media_quality_service)
+(roletype object_r media_quality_service)
+(type media_router_service)
+(roletype object_r media_router_service)
+(type media_session_service)
+(roletype object_r media_session_service)
+(type meminfo_service)
+(roletype object_r meminfo_service)
+(type memtrackproxy_service)
+(roletype object_r memtrackproxy_service)
+(type midi_service)
+(roletype object_r midi_service)
+(type mount_service)
+(roletype object_r mount_service)
+(type music_recognition_service)
+(roletype object_r music_recognition_service)
+(type nearby_service)
+(roletype object_r nearby_service)
+(type netpolicy_service)
+(roletype object_r netpolicy_service)
+(type netstats_service)
+(roletype object_r netstats_service)
+(type network_management_service)
+(roletype object_r network_management_service)
+(type network_score_service)
+(roletype object_r network_score_service)
+(type network_stack_service)
+(roletype object_r network_stack_service)
+(type network_time_update_service)
+(roletype object_r network_time_update_service)
+(type notification_service)
+(roletype object_r notification_service)
+(type oem_lock_service)
+(roletype object_r oem_lock_service)
+(type otadexopt_service)
+(roletype object_r otadexopt_service)
+(type overlay_service)
+(roletype object_r overlay_service)
+(type pac_proxy_service)
+(roletype object_r pac_proxy_service)
+(type package_service)
+(roletype object_r package_service)
+(type package_native_service)
+(roletype object_r package_native_service)
+(type people_service)
+(roletype object_r people_service)
+(type permission_service)
+(roletype object_r permission_service)
+(type permissionmgr_service)
+(roletype object_r permissionmgr_service)
+(type permission_checker_service)
+(roletype object_r permission_checker_service)
+(type persistent_data_block_service)
+(roletype object_r persistent_data_block_service)
+(type pinner_service)
+(roletype object_r pinner_service)
+(type powerstats_service)
+(roletype object_r powerstats_service)
+(type power_service)
+(roletype object_r power_service)
+(type print_service)
+(roletype object_r print_service)
+(type processinfo_service)
+(roletype object_r processinfo_service)
+(type procstats_service)
+(roletype object_r procstats_service)
+(type reboot_readiness_service)
+(roletype object_r reboot_readiness_service)
+(type recovery_service)
+(roletype object_r recovery_service)
+(type registry_service)
+(roletype object_r registry_service)
+(type remote_auth_service)
+(roletype object_r remote_auth_service)
+(type remote_provisioning_service)
+(roletype object_r remote_provisioning_service)
+(type resources_manager_service)
+(roletype object_r resources_manager_service)
+(type restrictions_service)
+(roletype object_r restrictions_service)
+(type role_service)
+(roletype object_r role_service)
+(type rollback_service)
+(roletype object_r rollback_service)
+(type runtime_service)
+(roletype object_r runtime_service)
+(type rttmanager_service)
+(roletype object_r rttmanager_service)
+(type samplingprofiler_service)
+(roletype object_r samplingprofiler_service)
+(type scheduling_policy_service)
+(roletype object_r scheduling_policy_service)
+(type search_service)
+(roletype object_r search_service)
+(type search_ui_service)
+(roletype object_r search_ui_service)
+(type sec_key_att_app_id_provider_service)
+(roletype object_r sec_key_att_app_id_provider_service)
+(type security_state_service)
+(roletype object_r security_state_service)
+(type selection_toolbar_service)
+(roletype object_r selection_toolbar_service)
+(type sensitive_content_protection_service)
+(roletype object_r sensitive_content_protection_service)
+(type sensorservice_service)
+(roletype object_r sensorservice_service)
+(type sensor_privacy_service)
+(roletype object_r sensor_privacy_service)
+(type serial_service)
+(roletype object_r serial_service)
+(type servicediscovery_service)
+(roletype object_r servicediscovery_service)
+(type settings_service)
+(roletype object_r settings_service)
+(type shortcut_service)
+(roletype object_r shortcut_service)
+(type slice_service)
+(roletype object_r slice_service)
+(type smartspace_service)
+(roletype object_r smartspace_service)
+(type statusbar_service)
+(roletype object_r statusbar_service)
+(type storagestats_service)
+(roletype object_r storagestats_service)
+(type sdk_sandbox_service)
+(roletype object_r sdk_sandbox_service)
+(type system_config_service)
+(roletype object_r system_config_service)
+(type system_server_dumper_service)
+(roletype object_r system_server_dumper_service)
+(type system_update_service)
+(roletype object_r system_update_service)
+(type soundtrigger_middleware_service)
+(roletype object_r soundtrigger_middleware_service)
+(type speech_recognition_service)
+(roletype object_r speech_recognition_service)
+(type tare_service)
+(roletype object_r tare_service)
+(type task_service)
+(roletype object_r task_service)
+(type testharness_service)
+(roletype object_r testharness_service)
+(type textclassification_service)
+(roletype object_r textclassification_service)
+(type textservices_service)
+(roletype object_r textservices_service)
+(type texttospeech_service)
+(roletype object_r texttospeech_service)
+(type telecom_service)
+(roletype object_r telecom_service)
+(type thermal_service)
+(roletype object_r thermal_service)
+(type threadnetwork_service)
+(roletype object_r threadnetwork_service)
+(type timedetector_service)
+(roletype object_r timedetector_service)
+(type timezonedetector_service)
+(roletype object_r timezonedetector_service)
+(type translation_service)
+(roletype object_r translation_service)
+(type trust_service)
+(roletype object_r trust_service)
+(type tv_ad_service)
+(roletype object_r tv_ad_service)
+(type tv_iapp_service)
+(roletype object_r tv_iapp_service)
+(type tv_input_service)
+(roletype object_r tv_input_service)
+(type tv_tuner_resource_mgr_service)
+(roletype object_r tv_tuner_resource_mgr_service)
+(type uimode_service)
+(roletype object_r uimode_service)
+(type updatelock_service)
+(roletype object_r updatelock_service)
+(type uri_grants_service)
+(roletype object_r uri_grants_service)
+(type usagestats_service)
+(roletype object_r usagestats_service)
+(type usb_service)
+(roletype object_r usb_service)
+(type user_service)
+(roletype object_r user_service)
+(type uwb_service)
+(roletype object_r uwb_service)
+(type vcn_management_service)
+(roletype object_r vcn_management_service)
+(type vibrator_service)
+(roletype object_r vibrator_service)
+(type vibrator_manager_service)
+(roletype object_r vibrator_manager_service)
+(type virtual_device_service)
+(roletype object_r virtual_device_service)
+(type virtual_device_native_service)
+(roletype object_r virtual_device_native_service)
+(type voiceinteraction_service)
+(roletype object_r voiceinteraction_service)
+(type vpn_management_service)
+(roletype object_r vpn_management_service)
+(type vr_manager_service)
+(roletype object_r vr_manager_service)
+(type wallpaper_service)
+(roletype object_r wallpaper_service)
+(type wallpaper_effects_generation_service)
+(roletype object_r wallpaper_effects_generation_service)
+(type webviewupdate_service)
+(roletype object_r webviewupdate_service)
+(type wifip2p_service)
+(roletype object_r wifip2p_service)
+(type wifiscanner_service)
+(roletype object_r wifiscanner_service)
+(type wifi_service)
+(roletype object_r wifi_service)
+(type wifinl80211_service)
+(roletype object_r wifinl80211_service)
+(type wifiaware_service)
+(roletype object_r wifiaware_service)
+(type wifi_usd_service)
+(roletype object_r wifi_usd_service)
+(type window_service)
+(roletype object_r window_service)
+(type inputflinger_service)
+(roletype object_r inputflinger_service)
+(type tethering_service)
+(roletype object_r tethering_service)
+(type emergency_affordance_service)
+(roletype object_r emergency_affordance_service)
+(type hal_audio_service)
+(roletype object_r hal_audio_service)
+(type hal_audiocontrol_service)
+(roletype object_r hal_audiocontrol_service)
+(type hal_authgraph_service)
+(roletype object_r hal_authgraph_service)
+(type hal_authsecret_service)
+(roletype object_r hal_authsecret_service)
+(type hal_bluetooth_service)
+(roletype object_r hal_bluetooth_service)
+(type hal_bootctl_service)
+(roletype object_r hal_bootctl_service)
+(type hal_broadcastradio_service)
+(roletype object_r hal_broadcastradio_service)
+(type hal_camera_service)
+(roletype object_r hal_camera_service)
+(type hal_can_controller_service)
+(roletype object_r hal_can_controller_service)
+(type hal_cas_service)
+(roletype object_r hal_cas_service)
+(type hal_codec2_service)
+(roletype object_r hal_codec2_service)
+(type hal_confirmationui_service)
+(roletype object_r hal_confirmationui_service)
+(type hal_contexthub_service)
+(roletype object_r hal_contexthub_service)
+(type hal_drm_service)
+(roletype object_r hal_drm_service)
+(type hal_dumpstate_service)
+(roletype object_r hal_dumpstate_service)
+(type hal_evs_service)
+(roletype object_r hal_evs_service)
+(type hal_face_service)
+(roletype object_r hal_face_service)
+(type hal_fastboot_service)
+(roletype object_r hal_fastboot_service)
+(type hal_fingerprint_service)
+(roletype object_r hal_fingerprint_service)
+(type hal_gnss_service)
+(roletype object_r hal_gnss_service)
+(type hal_graphics_allocator_service)
+(roletype object_r hal_graphics_allocator_service)
+(type hal_graphics_composer_service)
+(roletype object_r hal_graphics_composer_service)
+(type hal_graphics_mapper_service)
+(roletype object_r hal_graphics_mapper_service)
+(type hal_health_service)
+(roletype object_r hal_health_service)
+(type hal_health_storage_service)
+(roletype object_r hal_health_storage_service)
+(type hal_hwcrypto_service)
+(roletype object_r hal_hwcrypto_service)
+(type hal_identity_service)
+(roletype object_r hal_identity_service)
+(type hal_input_processor_service)
+(roletype object_r hal_input_processor_service)
+(type hal_ir_service)
+(roletype object_r hal_ir_service)
+(type hal_ivn_service)
+(roletype object_r hal_ivn_service)
+(type hal_keymint_service)
+(roletype object_r hal_keymint_service)
+(type hal_light_service)
+(roletype object_r hal_light_service)
+(type hal_macsec_service)
+(roletype object_r hal_macsec_service)
+(type hal_mediaquality_service)
+(roletype object_r hal_mediaquality_service)
+(type hal_memtrack_service)
+(roletype object_r hal_memtrack_service)
+(type hal_neuralnetworks_service)
+(roletype object_r hal_neuralnetworks_service)
+(type hal_nfc_service)
+(roletype object_r hal_nfc_service)
+(type hal_oemlock_service)
+(roletype object_r hal_oemlock_service)
+(type hal_power_service)
+(roletype object_r hal_power_service)
+(type hal_power_stats_service)
+(roletype object_r hal_power_stats_service)
+(type hal_radio_service)
+(roletype object_r hal_radio_service)
+(type hal_rebootescrow_service)
+(roletype object_r hal_rebootescrow_service)
+(type hal_remoteaccess_service)
+(roletype object_r hal_remoteaccess_service)
+(type hal_remotelyprovisionedcomponent_avf_service)
+(roletype object_r hal_remotelyprovisionedcomponent_avf_service)
+(type hal_remotelyprovisionedcomponent_service)
+(roletype object_r hal_remotelyprovisionedcomponent_service)
+(type hal_sensors_service)
+(roletype object_r hal_sensors_service)
+(type hal_secretkeeper_service)
+(roletype object_r hal_secretkeeper_service)
+(type hal_secureclock_service)
+(roletype object_r hal_secureclock_service)
+(type hal_secure_element_service)
+(roletype object_r hal_secure_element_service)
+(type hal_sharedsecret_service)
+(roletype object_r hal_sharedsecret_service)
+(type hal_system_suspend_service)
+(roletype object_r hal_system_suspend_service)
+(type hal_tetheroffload_service)
+(roletype object_r hal_tetheroffload_service)
+(type hal_thermal_service)
+(roletype object_r hal_thermal_service)
+(type hal_tv_hdmi_cec_service)
+(roletype object_r hal_tv_hdmi_cec_service)
+(type hal_tv_hdmi_connection_service)
+(roletype object_r hal_tv_hdmi_connection_service)
+(type hal_tv_hdmi_earc_service)
+(roletype object_r hal_tv_hdmi_earc_service)
+(type hal_tv_input_service)
+(roletype object_r hal_tv_input_service)
+(type hal_threadnetwork_service)
+(roletype object_r hal_threadnetwork_service)
+(type hal_tv_tuner_service)
+(roletype object_r hal_tv_tuner_service)
+(type hal_usb_service)
+(roletype object_r hal_usb_service)
+(type hal_usb_gadget_service)
+(roletype object_r hal_usb_gadget_service)
+(type hal_uwb_service)
+(roletype object_r hal_uwb_service)
+(type hal_vehicle_service)
+(roletype object_r hal_vehicle_service)
+(type hal_vibrator_service)
+(roletype object_r hal_vibrator_service)
+(type hal_weaver_service)
+(roletype object_r hal_weaver_service)
+(type hal_nlinterceptor_service)
+(roletype object_r hal_nlinterceptor_service)
+(type hal_wifi_service)
+(roletype object_r hal_wifi_service)
+(type hal_wifi_hostapd_service)
+(roletype object_r hal_wifi_hostapd_service)
+(type hal_wifi_supplicant_service)
+(roletype object_r hal_wifi_supplicant_service)
+(type hal_gatekeeper_service)
+(roletype object_r hal_gatekeeper_service)
+(type hal_vm_capabilities_service)
+(roletype object_r hal_vm_capabilities_service)
+(type servicemanager)
+(roletype object_r servicemanager)
+(type servicemanager_exec)
+(roletype object_r servicemanager_exec)
+(type sgdisk)
+(roletype object_r sgdisk)
+(type sgdisk_exec)
+(roletype object_r sgdisk_exec)
+(type shared_relro)
+(roletype object_r shared_relro)
+(type shell)
+(roletype object_r shell)
+(type shell_exec)
+(roletype object_r shell_exec)
+(type simpleperf)
+(roletype object_r simpleperf)
+(type simpleperf_app_runner)
+(roletype object_r simpleperf_app_runner)
+(type simpleperf_app_runner_exec)
+(roletype object_r simpleperf_app_runner_exec)
+(type slideshow)
+(roletype object_r slideshow)
+(type statsd)
+(roletype object_r statsd)
+(type statsd_exec)
+(roletype object_r statsd_exec)
+(type su)
+(roletype object_r su)
+(type su_exec)
+(roletype object_r su_exec)
+(type surfaceflinger)
+(roletype object_r surfaceflinger)
+(type surfaceflinger_tmpfs)
+(roletype object_r surfaceflinger_tmpfs)
+(type system_app)
+(roletype object_r system_app)
+(type system_server)
+(roletype object_r system_server)
+(type system_server_tmpfs)
+(roletype object_r system_server_tmpfs)
+(type tee)
+(roletype object_r tee)
+(type tee_device)
+(roletype object_r tee_device)
+(type tombstoned)
+(roletype object_r tombstoned)
+(type tombstoned_exec)
+(roletype object_r tombstoned_exec)
+(type toolbox)
+(roletype object_r toolbox)
+(type toolbox_exec)
+(roletype object_r toolbox_exec)
+(type traced)
+(roletype object_r traced)
+(type traced_tmpfs)
+(roletype object_r traced_tmpfs)
+(type traced_perf)
+(roletype object_r traced_perf)
+(type traced_probes)
+(roletype object_r traced_probes)
+(type traceur_app)
+(roletype object_r traceur_app)
+(type ueventd)
+(roletype object_r ueventd)
+(type ueventd_tmpfs)
+(roletype object_r ueventd_tmpfs)
+(type uncrypt)
+(roletype object_r uncrypt)
+(type uncrypt_exec)
+(roletype object_r uncrypt_exec)
+(type untrusted_app)
+(roletype object_r untrusted_app)
+(type untrusted_app_32)
+(roletype object_r untrusted_app_32)
+(type untrusted_app_30)
+(roletype object_r untrusted_app_30)
+(type untrusted_app_29)
+(roletype object_r untrusted_app_29)
+(type untrusted_app_27)
+(roletype object_r untrusted_app_27)
+(type untrusted_app_25)
+(roletype object_r untrusted_app_25)
+(type update_engine)
+(roletype object_r update_engine)
+(type update_engine_exec)
+(roletype object_r update_engine_exec)
+(type update_verifier)
+(roletype object_r update_verifier)
+(type update_verifier_exec)
+(roletype object_r update_verifier_exec)
+(type usbd)
+(roletype object_r usbd)
+(type usbd_exec)
+(roletype object_r usbd_exec)
+(type vdc)
+(roletype object_r vdc)
+(type vdc_exec)
+(roletype object_r vdc_exec)
+(type vendor_init)
+(roletype object_r vendor_init)
+(type vendor_misc_writer)
+(roletype object_r vendor_misc_writer)
+(type vendor_misc_writer_exec)
+(roletype object_r vendor_misc_writer_exec)
+(type vendor_modprobe)
+(roletype object_r vendor_modprobe)
+(type vendor_shell)
+(roletype object_r vendor_shell)
+(type vendor_shell_exec)
+(roletype object_r vendor_shell_exec)
+(type vendor_toolbox_exec)
+(roletype object_r vendor_toolbox_exec)
+(type virtual_camera)
+(roletype object_r virtual_camera)
+(type virtual_camera_exec)
+(roletype object_r virtual_camera_exec)
+(type virtual_touchpad)
+(roletype object_r virtual_touchpad)
+(type virtual_touchpad_exec)
+(roletype object_r virtual_touchpad_exec)
+(type virtualizationmanager)
+(roletype object_r virtualizationmanager)
+(type virtualizationmanager_exec)
+(roletype object_r virtualizationmanager_exec)
+(type service_manager_vndservice)
+(roletype object_r service_manager_vndservice)
+(type default_android_vndservice)
+(roletype object_r default_android_vndservice)
+(type vndservicemanager)
+(roletype object_r vndservicemanager)
+(type vold)
+(roletype object_r vold)
+(type vold_exec)
+(roletype object_r vold_exec)
+(type vold_prepare_subdirs)
+(roletype object_r vold_prepare_subdirs)
+(type vold_prepare_subdirs_exec)
+(roletype object_r vold_prepare_subdirs_exec)
+(type watchdogd)
+(roletype object_r watchdogd)
+(type watchdogd_exec)
+(roletype object_r watchdogd_exec)
+(type webview_zygote)
+(roletype object_r webview_zygote)
+(type webview_zygote_exec)
+(roletype object_r webview_zygote_exec)
+(type webview_zygote_tmpfs)
+(roletype object_r webview_zygote_tmpfs)
+(type wificond)
+(roletype object_r wificond)
+(type wificond_exec)
+(roletype object_r wificond_exec)
+(type zygote)
+(roletype object_r zygote)
+(type zygote_tmpfs)
+(roletype object_r zygote_tmpfs)
+(type zygote_exec)
+(roletype object_r zygote_exec)
+(typeattribute hal_lazy_test)
+(expandtypeattribute (hal_lazy_test) true)
+(typeattribute hal_lazy_test_client)
+(expandtypeattribute (hal_lazy_test_client) true)
+(typeattribute hal_lazy_test_server)
+(expandtypeattribute (hal_lazy_test_server) false)
+(typeattribute mlsvendorcompat)
+(typeattribute system_and_vendor_property_type)
+(expandtypeattribute (system_and_vendor_property_type) false)
+(typeattribute sdk_sandbox_all)
+(typeattributeset sdk_sandbox_all (sdk_sandbox_34 sdk_sandbox_audit sdk_sandbox_next ))
+(typeattribute sdk_sandbox_current)
+(typeattributeset sdk_sandbox_current (sdk_sandbox_34 sdk_sandbox_audit ))
+(typeattribute adbd_common)
+(typeattributeset adbd_common (adbd adbd_tradeinmode ))
+(typeattribute update_provider)
+(expandtypeattribute (update_provider) false)
+(type aconfigd)
+(roletype object_r aconfigd)
+(type aconfigd_exec)
+(roletype object_r aconfigd_exec)
+(type aconfigd_mainline)
+(roletype object_r aconfigd_mainline)
+(type aconfigd_mainline_exec)
+(roletype object_r aconfigd_mainline_exec)
+(type adbd_tradeinmode)
+(roletype object_r adbd_tradeinmode)
+(type apex_test_prepostinstall)
+(roletype object_r apex_test_prepostinstall)
+(type apex_test_prepostinstall_exec)
+(roletype object_r apex_test_prepostinstall_exec)
+(type apexd_devpts)
+(roletype object_r apexd_devpts)
+(type apexd_derive_classpath)
+(roletype object_r apexd_derive_classpath)
+(type app_zygote_userfaultfd)
+(roletype object_r app_zygote_userfaultfd)
+(type art_boot)
+(roletype object_r art_boot)
+(type art_boot_exec)
+(roletype object_r art_boot_exec)
+(type art_exec)
+(roletype object_r art_exec)
+(type art_exec_exec)
+(roletype object_r art_exec_exec)
+(type artd_exec)
+(roletype object_r artd_exec)
+(type artd_tmpfs)
+(roletype object_r artd_tmpfs)
+(typeattribute artd_subprocess_type)
+(typeattributeset artd_subprocess_type (profman derive_classpath dex2oat odrefresh ))
+(type artd_userfaultfd)
+(roletype object_r artd_userfaultfd)
+(type atrace_exec)
+(roletype object_r atrace_exec)
+(type audioserver_exec)
+(roletype object_r audioserver_exec)
+(type auditctl)
+(roletype object_r auditctl)
+(type auditctl_exec)
+(roletype object_r auditctl_exec)
+(type automotive_display_service)
+(roletype object_r automotive_display_service)
+(type automotive_display_service_exec)
+(roletype object_r automotive_display_service_exec)
+(type bert_collector)
+(roletype object_r bert_collector)
+(type bert_collector_exec)
+(roletype object_r bert_collector_exec)
+(type blank_screen)
+(roletype object_r blank_screen)
+(type blank_screen_exec)
+(roletype object_r blank_screen_exec)
+(type blkid_exec)
+(roletype object_r blkid_exec)
+(type bluetooth_userfaultfd)
+(roletype object_r bluetooth_userfaultfd)
+(type boringssl_self_test)
+(roletype object_r boringssl_self_test)
+(type boringssl_self_test_exec)
+(roletype object_r boringssl_self_test_exec)
+(type vendor_boringssl_self_test)
+(roletype object_r vendor_boringssl_self_test)
+(type vendor_boringssl_self_test_exec)
+(roletype object_r vendor_boringssl_self_test_exec)
+(type boringssl_self_test_marker)
+(roletype object_r boringssl_self_test_marker)
+(type bpfloader_exec)
+(roletype object_r bpfloader_exec)
+(type canhalconfigurator)
+(roletype object_r canhalconfigurator)
+(type canhalconfigurator_exec)
+(roletype object_r canhalconfigurator_exec)
+(type clatd)
+(roletype object_r clatd)
+(type clatd_exec)
+(roletype object_r clatd_exec)
+(type compos_fd_server)
+(roletype object_r compos_fd_server)
+(type compos_verify)
+(roletype object_r compos_verify)
+(type compos_verify_exec)
+(roletype object_r compos_verify_exec)
+(type composd)
+(roletype object_r composd)
+(type composd_exec)
+(roletype object_r composd_exec)
+(type cppreopts)
+(roletype object_r cppreopts)
+(type cppreopts_exec)
+(roletype object_r cppreopts_exec)
+(type crosvm_exec)
+(roletype object_r crosvm_exec)
+(type crosvm_tmpfs)
+(roletype object_r crosvm_tmpfs)
+(type derive_classpath)
+(roletype object_r derive_classpath)
+(type derive_classpath_exec)
+(roletype object_r derive_classpath_exec)
+(type derive_sdk)
+(roletype object_r derive_sdk)
+(type derive_sdk_exec)
+(roletype object_r derive_sdk_exec)
+(type device_as_webcam)
+(roletype object_r device_as_webcam)
+(type device_as_webcam_userfaultfd)
+(roletype object_r device_as_webcam_userfaultfd)
+(type dex2oat)
+(roletype object_r dex2oat)
+(type dex2oat_exec)
+(roletype object_r dex2oat_exec)
+(type dex2oat_userfaultfd)
+(roletype object_r dex2oat_userfaultfd)
+(type dexopt_chroot_setup)
+(roletype object_r dexopt_chroot_setup)
+(type dexopt_chroot_setup_exec)
+(roletype object_r dexopt_chroot_setup_exec)
+(type dexopt_chroot_setup_tmpfs)
+(roletype object_r dexopt_chroot_setup_tmpfs)
+(type dexopt_chroot_setup_userfaultfd)
+(roletype object_r dexopt_chroot_setup_userfaultfd)
+(type dexoptanalyzer_exec)
+(roletype object_r dexoptanalyzer_exec)
+(type dmesgd)
+(roletype object_r dmesgd)
+(type dmesgd_exec)
+(roletype object_r dmesgd_exec)
+(type dumpstate_tmpfs)
+(roletype object_r dumpstate_tmpfs)
+(type ephemeral_app_userfaultfd)
+(roletype object_r ephemeral_app_userfaultfd)
+(type evsmanagerd_exec)
+(roletype object_r evsmanagerd_exec)
+(type fastbootd_iouring)
+(roletype object_r fastbootd_iouring)
+(type proc_allocinfo)
+(roletype object_r proc_allocinfo)
+(type config_gz)
+(roletype object_r config_gz)
+(type fs_bpf_net_private)
+(roletype object_r fs_bpf_net_private)
+(type fs_bpf_net_shared)
+(roletype object_r fs_bpf_net_shared)
+(type fs_bpf_netd_readonly)
+(roletype object_r fs_bpf_netd_readonly)
+(type fs_bpf_netd_shared)
+(roletype object_r fs_bpf_netd_shared)
+(type fs_bpf_loader)
+(roletype object_r fs_bpf_loader)
+(type fs_bpf_uprobestats)
+(roletype object_r fs_bpf_uprobestats)
+(type fs_bpf_memevents)
+(roletype object_r fs_bpf_memevents)
+(type storaged_data_file)
+(roletype object_r storaged_data_file)
+(type wm_trace_data_file)
+(roletype object_r wm_trace_data_file)
+(type accessibility_trace_data_file)
+(roletype object_r accessibility_trace_data_file)
+(type perfetto_traces_data_file)
+(roletype object_r perfetto_traces_data_file)
+(type perfetto_traces_bugreport_data_file)
+(roletype object_r perfetto_traces_bugreport_data_file)
+(type perfetto_traces_profiling_data_file)
+(roletype object_r perfetto_traces_profiling_data_file)
+(type perfetto_configs_data_file)
+(roletype object_r perfetto_configs_data_file)
+(type system_perfetto_config_file)
+(roletype object_r system_perfetto_config_file)
+(type uprobestats_configs_data_file)
+(roletype object_r uprobestats_configs_data_file)
+(type oatdump_exec)
+(roletype object_r oatdump_exec)
+(type sdk_sandbox_system_data_file)
+(roletype object_r sdk_sandbox_system_data_file)
+(type sdk_sandbox_data_file)
+(roletype object_r sdk_sandbox_data_file)
+(type debugfs_kcov)
+(roletype object_r debugfs_kcov)
+(type app_exec_data_file)
+(roletype object_r app_exec_data_file)
+(type rollback_data_file)
+(roletype object_r rollback_data_file)
+(type checkin_data_file)
+(roletype object_r checkin_data_file)
+(type ota_image_data_file)
+(roletype object_r ota_image_data_file)
+(type gsi_persistent_data_file)
+(roletype object_r gsi_persistent_data_file)
+(type emergency_data_file)
+(roletype object_r emergency_data_file)
+(type profcollectd_data_file)
+(roletype object_r profcollectd_data_file)
+(type apex_art_data_file)
+(roletype object_r apex_art_data_file)
+(type apex_art_staging_data_file)
+(roletype object_r apex_art_staging_data_file)
+(type apex_compos_data_file)
+(roletype object_r apex_compos_data_file)
+(type apex_virt_data_file)
+(roletype object_r apex_virt_data_file)
+(type apex_tethering_data_file)
+(roletype object_r apex_tethering_data_file)
+(type apex_uwb_data_file)
+(roletype object_r apex_uwb_data_file)
+(type apex_appsearch_data_file)
+(roletype object_r apex_appsearch_data_file)
+(type apex_permission_data_file)
+(roletype object_r apex_permission_data_file)
+(type apex_scheduling_data_file)
+(roletype object_r apex_scheduling_data_file)
+(type apex_wifi_data_file)
+(roletype object_r apex_wifi_data_file)
+(type font_data_file)
+(roletype object_r font_data_file)
+(type dmesgd_data_file)
+(roletype object_r dmesgd_data_file)
+(type odrefresh_data_file)
+(roletype object_r odrefresh_data_file)
+(type odsign_data_file)
+(roletype object_r odsign_data_file)
+(type odsign_metrics_file)
+(roletype object_r odsign_metrics_file)
+(type virtualizationservice_data_file)
+(roletype object_r virtualizationservice_data_file)
+(type vm_data_file)
+(roletype object_r vm_data_file)
+(type environ_system_data_file)
+(roletype object_r environ_system_data_file)
+(type bootanim_data_file)
+(roletype object_r bootanim_data_file)
+(type kvm_device)
+(roletype object_r kvm_device)
+(type fd_server_exec)
+(roletype object_r fd_server_exec)
+(type compos_exec)
+(roletype object_r compos_exec)
+(type compos_key_helper_exec)
+(roletype object_r compos_key_helper_exec)
+(type prng_seeder_socket)
+(roletype object_r prng_seeder_socket)
+(type sysfs_dt_avf)
+(roletype object_r sysfs_dt_avf)
+(type proc_dt_avf)
+(roletype object_r proc_dt_avf)
+(type system_font_fallback_file)
+(roletype object_r system_font_fallback_file)
+(type sysfs_uprobe)
+(roletype object_r sysfs_uprobe)
+(type aconfigd_socket)
+(roletype object_r aconfigd_socket)
+(type aconfigd_mainline_socket)
+(roletype object_r aconfigd_mainline_socket)
+(type system_aconfig_storage_file)
+(roletype object_r system_aconfig_storage_file)
+(type vendor_aconfig_storage_file)
+(roletype object_r vendor_aconfig_storage_file)
+(type connectivityblob_data_file)
+(roletype object_r connectivityblob_data_file)
+(type mainline_supplicant_data_file)
+(roletype object_r mainline_supplicant_data_file)
+(type pre_reboot_dexopt_file)
+(roletype object_r pre_reboot_dexopt_file)
+(type pre_reboot_dexopt_artd_file)
+(roletype object_r pre_reboot_dexopt_artd_file)
+(type apk_metadata_file)
+(roletype object_r apk_metadata_file)
+(type sysfs_pgsize_migration)
+(roletype object_r sysfs_pgsize_migration)
+(type sysfs_firmware_acpi_tables)
+(roletype object_r sysfs_firmware_acpi_tables)
+(type pbtombstone_exec)
+(roletype object_r pbtombstone_exec)
+(type storage_area_app_dir)
+(roletype object_r storage_area_app_dir)
+(type storage_area_dir)
+(roletype object_r storage_area_dir)
+(type storage_area_content_file)
+(roletype object_r storage_area_content_file)
+(type storage_area_key_file)
+(roletype object_r storage_area_key_file)
+(type tradeinmode_metadata_file)
+(roletype object_r tradeinmode_metadata_file)
+(type prefetch_metadata_file)
+(roletype object_r prefetch_metadata_file)
+(type libprocessgroup_metadata_file)
+(roletype object_r libprocessgroup_metadata_file)
+(type fuseblkd_exec)
+(roletype object_r fuseblkd_exec)
+(type fuseblkd)
+(roletype object_r fuseblkd)
+(type fuseblkd_untrusted_exec)
+(roletype object_r fuseblkd_untrusted_exec)
+(type fuseblkd_untrusted)
+(roletype object_r fuseblkd_untrusted)
+(type fwk_bufferhub)
+(roletype object_r fwk_bufferhub)
+(type fwk_bufferhub_exec)
+(roletype object_r fwk_bufferhub_exec)
+(type gki_apex_prepostinstall)
+(roletype object_r gki_apex_prepostinstall)
+(type gki_apex_prepostinstall_exec)
+(roletype object_r gki_apex_prepostinstall_exec)
+(type gmscore_app_userfaultfd)
+(roletype object_r gmscore_app_userfaultfd)
+(type gpuservice_exec)
+(roletype object_r gpuservice_exec)
+(type gsid)
+(roletype object_r gsid)
+(type gsid_exec)
+(roletype object_r gsid_exec)
+(type hal_allocator_default)
+(roletype object_r hal_allocator_default)
+(type hal_allocator_default_exec)
+(roletype object_r hal_allocator_default_exec)
+(type hal_keymint_system)
+(roletype object_r hal_keymint_system)
+(type hal_keymint_system_exec)
+(roletype object_r hal_keymint_system_exec)
+(type heapprofd_exec)
+(roletype object_r heapprofd_exec)
+(type heapprofd_tmpfs)
+(roletype object_r heapprofd_tmpfs)
+(type hidl_lazy_test_server)
+(roletype object_r hidl_lazy_test_server)
+(type hidl_lazy_test_server_exec)
+(roletype object_r hidl_lazy_test_server_exec)
+(type hal_lazy_test_hwservice)
+(roletype object_r hal_lazy_test_hwservice)
+(type incident_exec)
+(roletype object_r incident_exec)
+(type incident_helper_exec)
+(roletype object_r incident_helper_exec)
+(type incidentd_exec)
+(roletype object_r incidentd_exec)
+(type incidentd_userfaultfd)
+(roletype object_r incidentd_userfaultfd)
+(type isolated_app_userfaultfd)
+(roletype object_r isolated_app_userfaultfd)
+(type isolated_compute_app_userfaultfd)
+(roletype object_r isolated_compute_app_userfaultfd)
+(type iw)
+(roletype object_r iw)
+(type iw_exec)
+(roletype object_r iw_exec)
+(type kcmdlinectrl)
+(roletype object_r kcmdlinectrl)
+(type kcmdlinectrl_exec)
+(roletype object_r kcmdlinectrl_exec)
+(type shell_key)
+(roletype object_r shell_key)
+(type su_key)
+(roletype object_r su_key)
+(type vold_key)
+(roletype object_r vold_key)
+(type odsign_key)
+(roletype object_r odsign_key)
+(type locksettings_key)
+(roletype object_r locksettings_key)
+(type resume_on_reboot_key)
+(roletype object_r resume_on_reboot_key)
+(type linkerconfig)
+(roletype object_r linkerconfig)
+(type linkerconfig_exec)
+(roletype object_r linkerconfig_exec)
+(type linux_vm_setup)
+(roletype object_r linux_vm_setup)
+(type linux_vm_setup_exec)
+(roletype object_r linux_vm_setup_exec)
+(type lpdumpd)
+(roletype object_r lpdumpd)
+(type lpdumpd_exec)
+(roletype object_r lpdumpd_exec)
+(type mdnsd_exec)
+(roletype object_r mdnsd_exec)
+(type mediaprovider_userfaultfd)
+(roletype object_r mediaprovider_userfaultfd)
+(type mediaprovider_app)
+(roletype object_r mediaprovider_app)
+(type mediaprovider_app_userfaultfd)
+(roletype object_r mediaprovider_app_userfaultfd)
+(type mediatranscoding_exec)
+(roletype object_r mediatranscoding_exec)
+(type mediatranscoding_tmpfs)
+(roletype object_r mediatranscoding_tmpfs)
+(type mediatuner)
+(roletype object_r mediatuner)
+(type mediatuner_exec)
+(roletype object_r mediatuner_exec)
+(type memcgv2_activation_depth)
+(roletype object_r memcgv2_activation_depth)
+(type memcgv2_activation_depth_exec)
+(roletype object_r memcgv2_activation_depth_exec)
+(type microfuchsiad)
+(roletype object_r microfuchsiad)
+(type microfuchsiad_exec)
+(roletype object_r microfuchsiad_exec)
+(type migrate_legacy_obb_data)
+(roletype object_r migrate_legacy_obb_data)
+(type migrate_legacy_obb_data_exec)
+(roletype object_r migrate_legacy_obb_data_exec)
+(type misctrl)
+(roletype object_r misctrl)
+(type misctrl_exec)
+(roletype object_r misctrl_exec)
+(type mm_events)
+(roletype object_r mm_events)
+(type mm_events_exec)
+(roletype object_r mm_events_exec)
+(type mmd)
+(roletype object_r mmd)
+(type mmd_exec)
+(roletype object_r mmd_exec)
+(type mtectrl)
+(roletype object_r mtectrl)
+(type mtectrl_exec)
+(roletype object_r mtectrl_exec)
+(type network_stack_userfaultfd)
+(roletype object_r network_stack_userfaultfd)
+(type nfc_userfaultfd)
+(roletype object_r nfc_userfaultfd)
+(type odrefresh)
+(roletype object_r odrefresh)
+(type odrefresh_exec)
+(roletype object_r odrefresh_exec)
+(type odrefresh_userfaultfd)
+(roletype object_r odrefresh_userfaultfd)
+(type odsign)
+(roletype object_r odsign)
+(type odsign_exec)
+(roletype object_r odsign_exec)
+(type odsign_devpts)
+(roletype object_r odsign_devpts)
+(type ot_ctl)
+(roletype object_r ot_ctl)
+(type ot_ctl_exec)
+(roletype object_r ot_ctl_exec)
+(type ot_daemon)
+(roletype object_r ot_daemon)
+(type ot_daemon_exec)
+(roletype object_r ot_daemon_exec)
+(type otapreopt_chroot)
+(roletype object_r otapreopt_chroot)
+(type otapreopt_chroot_exec)
+(roletype object_r otapreopt_chroot_exec)
+(type otapreopt_slot)
+(roletype object_r otapreopt_slot)
+(type otapreopt_slot_exec)
+(roletype object_r otapreopt_slot_exec)
+(type overlay_remounter)
+(roletype object_r overlay_remounter)
+(type overlay_remounter_exec)
+(roletype object_r overlay_remounter_exec)
+(type perfetto_exec)
+(roletype object_r perfetto_exec)
+(type perfetto_tmpfs)
+(roletype object_r perfetto_tmpfs)
+(type permissioncontroller_app)
+(roletype object_r permissioncontroller_app)
+(type permissioncontroller_app_userfaultfd)
+(roletype object_r permissioncontroller_app_userfaultfd)
+(type platform_app_userfaultfd)
+(roletype object_r platform_app_userfaultfd)
+(type postinstall_exec)
+(roletype object_r postinstall_exec)
+(type postinstall_dexopt)
+(roletype object_r postinstall_dexopt)
+(type postinstall_dexopt_exec)
+(roletype object_r postinstall_dexopt_exec)
+(type postinstall_dexopt_tmpfs)
+(roletype object_r postinstall_dexopt_tmpfs)
+(type prefetch)
+(roletype object_r prefetch)
+(type prefetch_exec)
+(roletype object_r prefetch_exec)
+(type preloads_copy)
+(roletype object_r preloads_copy)
+(type preloads_copy_exec)
+(roletype object_r preloads_copy_exec)
+(type preopt2cachename)
+(roletype object_r preopt2cachename)
+(type preopt2cachename_exec)
+(roletype object_r preopt2cachename_exec)
+(type priv_app_userfaultfd)
+(roletype object_r priv_app_userfaultfd)
+(type priv_app_devpts)
+(roletype object_r priv_app_devpts)
+(type prng_seeder_exec)
+(roletype object_r prng_seeder_exec)
+(type profcollectd)
+(roletype object_r profcollectd)
+(type profcollectd_exec)
+(roletype object_r profcollectd_exec)
+(type adbd_prop)
+(roletype object_r adbd_prop)
+(type adbd_tradeinmode_prop)
+(roletype object_r adbd_tradeinmode_prop)
+(type apexd_payload_metadata_prop)
+(roletype object_r apexd_payload_metadata_prop)
+(type ctl_snapuserd_prop)
+(roletype object_r ctl_snapuserd_prop)
+(type ctl_prefetch_prop)
+(roletype object_r ctl_prefetch_prop)
+(type ctl_uprobestats_prop)
+(roletype object_r ctl_uprobestats_prop)
+(type crashrecovery_prop)
+(roletype object_r crashrecovery_prop)
+(type debug_tracing_desktop_mode_visible_tasks_prop)
+(roletype object_r debug_tracing_desktop_mode_visible_tasks_prop)
+(type device_config_core_experiments_team_internal_prop)
+(roletype object_r device_config_core_experiments_team_internal_prop)
+(type device_config_lmkd_native_prop)
+(roletype object_r device_config_lmkd_native_prop)
+(type device_config_mglru_native_prop)
+(roletype object_r device_config_mglru_native_prop)
+(type device_config_mmd_native_prop)
+(roletype object_r device_config_mmd_native_prop)
+(type device_config_profcollect_native_boot_prop)
+(roletype object_r device_config_profcollect_native_boot_prop)
+(type device_config_remote_key_provisioning_native_prop)
+(roletype object_r device_config_remote_key_provisioning_native_prop)
+(type device_config_statsd_native_prop)
+(roletype object_r device_config_statsd_native_prop)
+(type device_config_statsd_native_boot_prop)
+(roletype object_r device_config_statsd_native_boot_prop)
+(type device_config_storage_native_boot_prop)
+(roletype object_r device_config_storage_native_boot_prop)
+(type device_config_sys_traced_prop)
+(roletype object_r device_config_sys_traced_prop)
+(type device_config_window_manager_native_boot_prop)
+(roletype object_r device_config_window_manager_native_boot_prop)
+(type device_config_configuration_prop)
+(roletype object_r device_config_configuration_prop)
+(type device_config_connectivity_prop)
+(roletype object_r device_config_connectivity_prop)
+(type device_config_swcodec_native_prop)
+(roletype object_r device_config_swcodec_native_prop)
+(type device_config_tethering_u_or_later_native_prop)
+(roletype object_r device_config_tethering_u_or_later_native_prop)
+(type dmesgd_start_prop)
+(roletype object_r dmesgd_start_prop)
+(type fastbootd_protocol_prop)
+(roletype object_r fastbootd_protocol_prop)
+(type gsid_prop)
+(roletype object_r gsid_prop)
+(type init_perf_lsm_hooks_prop)
+(roletype object_r init_perf_lsm_hooks_prop)
+(type init_service_status_private_prop)
+(roletype object_r init_service_status_private_prop)
+(type init_storage_prop)
+(roletype object_r init_storage_prop)
+(type init_svc_debug_prop)
+(roletype object_r init_svc_debug_prop)
+(type kcmdline_prop)
+(roletype object_r kcmdline_prop)
+(type keystore_diagnostics_prop)
+(roletype object_r keystore_diagnostics_prop)
+(type keystore_listen_prop)
+(roletype object_r keystore_listen_prop)
+(type last_boot_reason_prop)
+(roletype object_r last_boot_reason_prop)
+(type localization_prop)
+(roletype object_r localization_prop)
+(type logd_auditrate_prop)
+(roletype object_r logd_auditrate_prop)
+(type lower_kptr_restrict_prop)
+(roletype object_r lower_kptr_restrict_prop)
+(type mmd_status_prop)
+(roletype object_r mmd_status_prop)
+(type net_464xlat_fromvendor_prop)
+(roletype object_r net_464xlat_fromvendor_prop)
+(type net_connectivity_prop)
+(roletype object_r net_connectivity_prop)
+(type netd_stable_secret_prop)
+(roletype object_r netd_stable_secret_prop)
+(type next_boot_prop)
+(roletype object_r next_boot_prop)
+(type odsign_prop)
+(roletype object_r odsign_prop)
+(type misctrl_prop)
+(roletype object_r misctrl_prop)
+(type perf_drop_caches_prop)
+(roletype object_r perf_drop_caches_prop)
+(type pm_prop)
+(roletype object_r pm_prop)
+(type prefetch_service_prop)
+(roletype object_r prefetch_service_prop)
+(type profcollectd_node_id_prop)
+(roletype object_r profcollectd_node_id_prop)
+(type radio_cdma_ecm_prop)
+(roletype object_r radio_cdma_ecm_prop)
+(type remote_prov_prop)
+(roletype object_r remote_prov_prop)
+(type remote_prov_cert_prop)
+(roletype object_r remote_prov_cert_prop)
+(type rollback_test_prop)
+(roletype object_r rollback_test_prop)
+(type setupwizard_prop)
+(roletype object_r setupwizard_prop)
+(type snapshotctl_prop)
+(roletype object_r snapshotctl_prop)
+(type snapuserd_prop)
+(roletype object_r snapuserd_prop)
+(type system_adbd_prop)
+(roletype object_r system_adbd_prop)
+(type system_audio_config_prop)
+(roletype object_r system_audio_config_prop)
+(type timezone_metadata_prop)
+(roletype object_r timezone_metadata_prop)
+(type traced_config_prop)
+(roletype object_r traced_config_prop)
+(type traced_perf_enabled_prop)
+(roletype object_r traced_perf_enabled_prop)
+(type traced_relay_relay_port_prop)
+(roletype object_r traced_relay_relay_port_prop)
+(type uprobestats_start_with_config_prop)
+(roletype object_r uprobestats_start_with_config_prop)
+(type tuner_server_ctl_prop)
+(roletype object_r tuner_server_ctl_prop)
+(type userspace_reboot_log_prop)
+(roletype object_r userspace_reboot_log_prop)
+(type userspace_reboot_test_prop)
+(roletype object_r userspace_reboot_test_prop)
+(type verity_status_prop)
+(roletype object_r verity_status_prop)
+(type zygote_wrap_prop)
+(roletype object_r zygote_wrap_prop)
+(type ctl_mediatranscoding_prop)
+(roletype object_r ctl_mediatranscoding_prop)
+(type ctl_odsign_prop)
+(roletype object_r ctl_odsign_prop)
+(type virtualizationservice_prop)
+(roletype object_r virtualizationservice_prop)
+(type ctl_apex_load_prop)
+(roletype object_r ctl_apex_load_prop)
+(type sensors_config_prop)
+(roletype object_r sensors_config_prop)
+(type hypervisor_pvmfw_prop)
+(roletype object_r hypervisor_pvmfw_prop)
+(type hypervisor_virtualizationmanager_prop)
+(roletype object_r hypervisor_virtualizationmanager_prop)
+(type game_manager_config_prop)
+(roletype object_r game_manager_config_prop)
+(type hidl_memory_prop)
+(roletype object_r hidl_memory_prop)
+(type suspend_debug_prop)
+(roletype object_r suspend_debug_prop)
+(type system_service_enable_prop)
+(roletype object_r system_service_enable_prop)
+(type ctl_artd_pre_reboot_prop)
+(roletype object_r ctl_artd_pre_reboot_prop)
+(type trusty_security_vm_sys_prop)
+(roletype object_r trusty_security_vm_sys_prop)
+(type hint_manager_config_prop)
+(roletype object_r hint_manager_config_prop)
+(type bionic_linker_16kb_app_compat_prop)
+(roletype object_r bionic_linker_16kb_app_compat_prop)
+(type device_config_virtualization_framework_native_prop)
+(roletype object_r device_config_virtualization_framework_native_prop)
+(type fstype_prop)
+(roletype object_r fstype_prop)
+(type log_file_logger_prop)
+(roletype object_r log_file_logger_prop)
+(type mmd_shared_status_prop)
+(roletype object_r mmd_shared_status_prop)
+(type persist_sysui_builder_extras_prop)
+(roletype object_r persist_sysui_builder_extras_prop)
+(type persist_sysui_ranking_update_prop)
+(roletype object_r persist_sysui_ranking_update_prop)
+(type page_size_prop)
+(roletype object_r page_size_prop)
+(type pm_16kb_app_compat_prop)
+(roletype object_r pm_16kb_app_compat_prop)
+(type avf_virtualizationservice_prop)
+(roletype object_r avf_virtualizationservice_prop)
+(type high_barometer_quality_prop)
+(roletype object_r high_barometer_quality_prop)
+(type mmd_prop)
+(roletype object_r mmd_prop)
+(type mmd_shared_prop)
+(roletype object_r mmd_shared_prop)
+(type prefetch_boot_prop)
+(roletype object_r prefetch_boot_prop)
+(type radio_userfaultfd)
+(roletype object_r radio_userfaultfd)
+(type remount)
+(roletype object_r remount)
+(type remount_exec)
+(roletype object_r remount_exec)
+(type rkp_cert_processor)
+(roletype object_r rkp_cert_processor)
+(type rkp_cert_processor_exec)
+(roletype object_r rkp_cert_processor_exec)
+(type rkpd)
+(roletype object_r rkpd)
+(type rkpd_exec)
+(roletype object_r rkpd_exec)
+(type rkpdapp_userfaultfd)
+(roletype object_r rkpdapp_userfaultfd)
+(type rss_hwm_reset_exec)
+(roletype object_r rss_hwm_reset_exec)
+(type runas_app_userfaultfd)
+(roletype object_r runas_app_userfaultfd)
+(type sdk_sandbox_34)
+(roletype object_r sdk_sandbox_34)
+(type sdk_sandbox_34_userfaultfd)
+(roletype object_r sdk_sandbox_34_userfaultfd)
+(type sdk_sandbox_audit)
+(roletype object_r sdk_sandbox_audit)
+(type sdk_sandbox_audit_userfaultfd)
+(roletype object_r sdk_sandbox_audit_userfaultfd)
+(type sdk_sandbox_next)
+(roletype object_r sdk_sandbox_next)
+(type sdk_sandbox_next_userfaultfd)
+(roletype object_r sdk_sandbox_next_userfaultfd)
+(type secure_element_userfaultfd)
+(roletype object_r secure_element_userfaultfd)
+(type ambient_context_service)
+(roletype object_r ambient_context_service)
+(type authentication_policy_service)
+(roletype object_r authentication_policy_service)
+(type attention_service)
+(roletype object_r attention_service)
+(type bg_install_control_service)
+(roletype object_r bg_install_control_service)
+(type compos_service)
+(roletype object_r compos_service)
+(type communal_service)
+(roletype object_r communal_service)
+(type dynamic_system_service)
+(roletype object_r dynamic_system_service)
+(type feature_flags_service)
+(roletype object_r feature_flags_service)
+(type fwk_devicestate_service)
+(roletype object_r fwk_devicestate_service)
+(type gsi_service)
+(roletype object_r gsi_service)
+(type incidentcompanion_service)
+(roletype object_r incidentcompanion_service)
+(type logcat_service)
+(roletype object_r logcat_service)
+(type logd_service)
+(roletype object_r logd_service)
+(type mediatuner_service)
+(roletype object_r mediatuner_service)
+(type mmd_service)
+(roletype object_r mmd_service)
+(type on_device_intelligence_service)
+(roletype object_r on_device_intelligence_service)
+(type profcollectd_service)
+(roletype object_r profcollectd_service)
+(type protolog_configuration_service)
+(roletype object_r protolog_configuration_service)
+(type resolver_service)
+(roletype object_r resolver_service)
+(type rkpd_registrar_service)
+(roletype object_r rkpd_registrar_service)
+(type rkpd_refresh_service)
+(roletype object_r rkpd_refresh_service)
+(type rkp_cert_processor_service)
+(roletype object_r rkp_cert_processor_service)
+(type safety_center_service)
+(roletype object_r safety_center_service)
+(type stats_service)
+(roletype object_r stats_service)
+(type statsbootstrap_service)
+(roletype object_r statsbootstrap_service)
+(type statscompanion_service)
+(roletype object_r statscompanion_service)
+(type statsmanager_service)
+(roletype object_r statsmanager_service)
+(type tracingproxy_service)
+(roletype object_r tracingproxy_service)
+(type tradeinmode_service)
+(roletype object_r tradeinmode_service)
+(type transparency_service)
+(roletype object_r transparency_service)
+(type vfio_handler_service)
+(roletype object_r vfio_handler_service)
+(type virtualization_maintenance_service)
+(roletype object_r virtualization_maintenance_service)
+(type vm_tethering_service)
+(roletype object_r vm_tethering_service)
+(type vmnic_service)
+(roletype object_r vmnic_service)
+(type microfuchsia_service)
+(roletype object_r microfuchsia_service)
+(type uce_service)
+(roletype object_r uce_service)
+(type wearable_sensing_service)
+(roletype object_r wearable_sensing_service)
+(type wifi_mainline_supplicant_service)
+(roletype object_r wifi_mainline_supplicant_service)
+(type dynamic_instrumentation_service)
+(roletype object_r dynamic_instrumentation_service)
+(type advanced_protection_service)
+(roletype object_r advanced_protection_service)
+(type ranging_service)
+(roletype object_r ranging_service)
+(type shared_relro_userfaultfd)
+(roletype object_r shared_relro_userfaultfd)
+(type shell_userfaultfd)
+(roletype object_r shell_userfaultfd)
+(type simpleperf_exec)
+(roletype object_r simpleperf_exec)
+(type simpleperf_userfaultfd)
+(roletype object_r simpleperf_userfaultfd)
+(type simpleperf_boot)
+(roletype object_r simpleperf_boot)
+(type simpleperf_boot_data_file)
+(roletype object_r simpleperf_boot_data_file)
+(type snapshotctl)
+(roletype object_r snapshotctl)
+(type snapshotctl_exec)
+(roletype object_r snapshotctl_exec)
+(type snapuserd)
+(roletype object_r snapuserd)
+(type snapuserd_exec)
+(roletype object_r snapuserd_exec)
+(type snapuserd_iouring)
+(roletype object_r snapuserd_iouring)
+(type stats)
+(roletype object_r stats)
+(type stats_exec)
+(roletype object_r stats_exec)
+(type statsd_iouring)
+(roletype object_r statsd_iouring)
+(type storaged)
+(roletype object_r storaged)
+(type storaged_exec)
+(roletype object_r storaged_exec)
+(type surfaceflinger_exec)
+(roletype object_r surfaceflinger_exec)
+(type system_app_userfaultfd)
+(roletype object_r system_app_userfaultfd)
+(type system_server_userfaultfd)
+(roletype object_r system_server_userfaultfd)
+(type system_server_startup)
+(roletype object_r system_server_startup)
+(type system_server_startup_tmpfs)
+(roletype object_r system_server_startup_tmpfs)
+(type system_suspend)
+(roletype object_r system_suspend)
+(type system_suspend_exec)
+(roletype object_r system_suspend_exec)
+(type test_pkvm_tee_service)
+(roletype object_r test_pkvm_tee_service)
+(type trace_redactor_exec)
+(roletype object_r trace_redactor_exec)
+(type trace_redactor)
+(roletype object_r trace_redactor)
+(type traced_exec)
+(roletype object_r traced_exec)
+(type traced_perf_exec)
+(roletype object_r traced_perf_exec)
+(type traced_probes_exec)
+(roletype object_r traced_probes_exec)
+(type traced_probes_tmpfs)
+(roletype object_r traced_probes_tmpfs)
+(type traceur_app_userfaultfd)
+(roletype object_r traceur_app_userfaultfd)
+(type tradeinmode)
+(roletype object_r tradeinmode)
+(type tradeinmode_exec)
+(roletype object_r tradeinmode_exec)
+(type untrusted_app_userfaultfd)
+(roletype object_r untrusted_app_userfaultfd)
+(type untrusted_app_25_userfaultfd)
+(roletype object_r untrusted_app_25_userfaultfd)
+(type untrusted_app_27_userfaultfd)
+(roletype object_r untrusted_app_27_userfaultfd)
+(type untrusted_app_29_userfaultfd)
+(roletype object_r untrusted_app_29_userfaultfd)
+(type untrusted_app_30_userfaultfd)
+(roletype object_r untrusted_app_30_userfaultfd)
+(type untrusted_app_32_userfaultfd)
+(roletype object_r untrusted_app_32_userfaultfd)
+(type untrusted_app_all_devpts)
+(roletype object_r untrusted_app_all_devpts)
+(type uprobestats)
+(roletype object_r uprobestats)
+(type uprobestats_exec)
+(roletype object_r uprobestats_exec)
+(type vehicle_binding_util)
+(roletype object_r vehicle_binding_util)
+(type vehicle_binding_util_exec)
+(roletype object_r vehicle_binding_util_exec)
+(type vfio_handler)
+(roletype object_r vfio_handler)
+(type vfio_handler_exec)
+(roletype object_r vfio_handler_exec)
+(type virtual_face)
+(roletype object_r virtual_face)
+(type virtual_face_exec)
+(roletype object_r virtual_face_exec)
+(type virtual_fingerprint)
+(roletype object_r virtual_fingerprint)
+(type virtual_fingerprint_exec)
+(roletype object_r virtual_fingerprint_exec)
+(type virtualizationservice)
+(roletype object_r virtualizationservice)
+(type virtualizationservice_exec)
+(roletype object_r virtualizationservice_exec)
+(type vmlauncher_app)
+(roletype object_r vmlauncher_app)
+(type vmlauncher_app_userfaultfd)
+(roletype object_r vmlauncher_app_userfaultfd)
+(type vmnic)
+(roletype object_r vmnic)
+(type vmnic_exec)
+(roletype object_r vmnic_exec)
+(type vzwomatrigger_app)
+(roletype object_r vzwomatrigger_app)
+(type vzwomatrigger_app_userfaultfd)
+(roletype object_r vzwomatrigger_app_userfaultfd)
+(type wait_for_keymaster)
+(roletype object_r wait_for_keymaster)
+(type wait_for_keymaster_exec)
+(roletype object_r wait_for_keymaster_exec)
+(type webview_zygote_userfaultfd)
+(roletype object_r webview_zygote_userfaultfd)
+(type wifi_mainline_supplicant)
+(roletype object_r wifi_mainline_supplicant)
+(type wifi_mainline_supplicant_exec)
+(roletype object_r wifi_mainline_supplicant_exec)
+(type zygote_userfaultfd)
+(roletype object_r zygote_userfaultfd)
+(user u)
+(userrole u object_r)
+(userrole u r)
+(userlevel u (s0 ))
+(userrange u ((s0 ) (s0 (range c0 c1023))))
+(sensitivity s0)
+(sensitivitycategory s0 (c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32 c33 c34 c35 c36 c37 c38 c39 c40 c41 c42 c43 c44 c45 c46 c47 c48 c49 c50 c51 c52 c53 c54 c55 c56 c57 c58 c59 c60 c61 c62 c63 c64 c65 c66 c67 c68 c69 c70 c71 c72 c73 c74 c75 c76 c77 c78 c79 c80 c81 c82 c83 c84 c85 c86 c87 c88 c89 c90 c91 c92 c93 c94 c95 c96 c97 c98 c99 c100 c101 c102 c103 c104 c105 c106 c107 c108 c109 c110 c111 c112 c113 c114 c115 c116 c117 c118 c119 c120 c121 c122 c123 c124 c125 c126 c127 c128 c129 c130 c131 c132 c133 c134 c135 c136 c137 c138 c139 c140 c141 c142 c143 c144 c145 c146 c147 c148 c149 c150 c151 c152 c153 c154 c155 c156 c157 c158 c159 c160 c161 c162 c163 c164 c165 c166 c167 c168 c169 c170 c171 c172 c173 c174 c175 c176 c177 c178 c179 c180 c181 c182 c183 c184 c185 c186 c187 c188 c189 c190 c191 c192 c193 c194 c195 c196 c197 c198 c199 c200 c201 c202 c203 c204 c205 c206 c207 c208 c209 c210 c211 c212 c213 c214 c215 c216 c217 c218 c219 c220 c221 c222 c223 c224 c225 c226 c227 c228 c229 c230 c231 c232 c233 c234 c235 c236 c237 c238 c239 c240 c241 c242 c243 c244 c245 c246 c247 c248 c249 c250 c251 c252 c253 c254 c255 c256 c257 c258 c259 c260 c261 c262 c263 c264 c265 c266 c267 c268 c269 c270 c271 c272 c273 c274 c275 c276 c277 c278 c279 c280 c281 c282 c283 c284 c285 c286 c287 c288 c289 c290 c291 c292 c293 c294 c295 c296 c297 c298 c299 c300 c301 c302 c303 c304 c305 c306 c307 c308 c309 c310 c311 c312 c313 c314 c315 c316 c317 c318 c319 c320 c321 c322 c323 c324 c325 c326 c327 c328 c329 c330 c331 c332 c333 c334 c335 c336 c337 c338 c339 c340 c341 c342 c343 c344 c345 c346 c347 c348 c349 c350 c351 c352 c353 c354 c355 c356 c357 c358 c359 c360 c361 c362 c363 c364 c365 c366 c367 c368 c369 c370 c371 c372 c373 c374 c375 c376 c377 c378 c379 c380 c381 c382 c383 c384 c385 c386 c387 c388 c389 c390 c391 c392 c393 c394 c395 c396 c397 c398 c399 c400 c401 c402 c403 c404 c405 c406 c407 c408 c409 c410 c411 c412 c413 c414 c415 c416 c417 c418 c419 c420 c421 c422 c423 c424 c425 c426 c427 c428 c429 c430 c431 c432 c433 c434 c435 c436 c437 c438 c439 c440 c441 c442 c443 c444 c445 c446 c447 c448 c449 c450 c451 c452 c453 c454 c455 c456 c457 c458 c459 c460 c461 c462 c463 c464 c465 c466 c467 c468 c469 c470 c471 c472 c473 c474 c475 c476 c477 c478 c479 c480 c481 c482 c483 c484 c485 c486 c487 c488 c489 c490 c491 c492 c493 c494 c495 c496 c497 c498 c499 c500 c501 c502 c503 c504 c505 c506 c507 c508 c509 c510 c511 c512 c513 c514 c515 c516 c517 c518 c519 c520 c521 c522 c523 c524 c525 c526 c527 c528 c529 c530 c531 c532 c533 c534 c535 c536 c537 c538 c539 c540 c541 c542 c543 c544 c545 c546 c547 c548 c549 c550 c551 c552 c553 c554 c555 c556 c557 c558 c559 c560 c561 c562 c563 c564 c565 c566 c567 c568 c569 c570 c571 c572 c573 c574 c575 c576 c577 c578 c579 c580 c581 c582 c583 c584 c585 c586 c587 c588 c589 c590 c591 c592 c593 c594 c595 c596 c597 c598 c599 c600 c601 c602 c603 c604 c605 c606 c607 c608 c609 c610 c611 c612 c613 c614 c615 c616 c617 c618 c619 c620 c621 c622 c623 c624 c625 c626 c627 c628 c629 c630 c631 c632 c633 c634 c635 c636 c637 c638 c639 c640 c641 c642 c643 c644 c645 c646 c647 c648 c649 c650 c651 c652 c653 c654 c655 c656 c657 c658 c659 c660 c661 c662 c663 c664 c665 c666 c667 c668 c669 c670 c671 c672 c673 c674 c675 c676 c677 c678 c679 c680 c681 c682 c683 c684 c685 c686 c687 c688 c689 c690 c691 c692 c693 c694 c695 c696 c697 c698 c699 c700 c701 c702 c703 c704 c705 c706 c707 c708 c709 c710 c711 c712 c713 c714 c715 c716 c717 c718 c719 c720 c721 c722 c723 c724 c725 c726 c727 c728 c729 c730 c731 c732 c733 c734 c735 c736 c737 c738 c739 c740 c741 c742 c743 c744 c745 c746 c747 c748 c749 c750 c751 c752 c753 c754 c755 c756 c757 c758 c759 c760 c761 c762 c763 c764 c765 c766 c767 c768 c769 c770 c771 c772 c773 c774 c775 c776 c777 c778 c779 c780 c781 c782 c783 c784 c785 c786 c787 c788 c789 c790 c791 c792 c793 c794 c795 c796 c797 c798 c799 c800 c801 c802 c803 c804 c805 c806 c807 c808 c809 c810 c811 c812 c813 c814 c815 c816 c817 c818 c819 c820 c821 c822 c823 c824 c825 c826 c827 c828 c829 c830 c831 c832 c833 c834 c835 c836 c837 c838 c839 c840 c841 c842 c843 c844 c845 c846 c847 c848 c849 c850 c851 c852 c853 c854 c855 c856 c857 c858 c859 c860 c861 c862 c863 c864 c865 c866 c867 c868 c869 c870 c871 c872 c873 c874 c875 c876 c877 c878 c879 c880 c881 c882 c883 c884 c885 c886 c887 c888 c889 c890 c891 c892 c893 c894 c895 c896 c897 c898 c899 c900 c901 c902 c903 c904 c905 c906 c907 c908 c909 c910 c911 c912 c913 c914 c915 c916 c917 c918 c919 c920 c921 c922 c923 c924 c925 c926 c927 c928 c929 c930 c931 c932 c933 c934 c935 c936 c937 c938 c939 c940 c941 c942 c943 c944 c945 c946 c947 c948 c949 c950 c951 c952 c953 c954 c955 c956 c957 c958 c959 c960 c961 c962 c963 c964 c965 c966 c967 c968 c969 c970 c971 c972 c973 c974 c975 c976 c977 c978 c979 c980 c981 c982 c983 c984 c985 c986 c987 c988 c989 c990 c991 c992 c993 c994 c995 c996 c997 c998 c999 c1000 c1001 c1002 c1003 c1004 c1005 c1006 c1007 c1008 c1009 c1010 c1011 c1012 c1013 c1014 c1015 c1016 c1017 c1018 c1019 c1020 c1021 c1022 c1023 ))
+(sensitivityorder (s0 ))
+(category c0)
+(category c1)
+(category c2)
+(category c3)
+(category c4)
+(category c5)
+(category c6)
+(category c7)
+(category c8)
+(category c9)
+(category c10)
+(category c11)
+(category c12)
+(category c13)
+(category c14)
+(category c15)
+(category c16)
+(category c17)
+(category c18)
+(category c19)
+(category c20)
+(category c21)
+(category c22)
+(category c23)
+(category c24)
+(category c25)
+(category c26)
+(category c27)
+(category c28)
+(category c29)
+(category c30)
+(category c31)
+(category c32)
+(category c33)
+(category c34)
+(category c35)
+(category c36)
+(category c37)
+(category c38)
+(category c39)
+(category c40)
+(category c41)
+(category c42)
+(category c43)
+(category c44)
+(category c45)
+(category c46)
+(category c47)
+(category c48)
+(category c49)
+(category c50)
+(category c51)
+(category c52)
+(category c53)
+(category c54)
+(category c55)
+(category c56)
+(category c57)
+(category c58)
+(category c59)
+(category c60)
+(category c61)
+(category c62)
+(category c63)
+(category c64)
+(category c65)
+(category c66)
+(category c67)
+(category c68)
+(category c69)
+(category c70)
+(category c71)
+(category c72)
+(category c73)
+(category c74)
+(category c75)
+(category c76)
+(category c77)
+(category c78)
+(category c79)
+(category c80)
+(category c81)
+(category c82)
+(category c83)
+(category c84)
+(category c85)
+(category c86)
+(category c87)
+(category c88)
+(category c89)
+(category c90)
+(category c91)
+(category c92)
+(category c93)
+(category c94)
+(category c95)
+(category c96)
+(category c97)
+(category c98)
+(category c99)
+(category c100)
+(category c101)
+(category c102)
+(category c103)
+(category c104)
+(category c105)
+(category c106)
+(category c107)
+(category c108)
+(category c109)
+(category c110)
+(category c111)
+(category c112)
+(category c113)
+(category c114)
+(category c115)
+(category c116)
+(category c117)
+(category c118)
+(category c119)
+(category c120)
+(category c121)
+(category c122)
+(category c123)
+(category c124)
+(category c125)
+(category c126)
+(category c127)
+(category c128)
+(category c129)
+(category c130)
+(category c131)
+(category c132)
+(category c133)
+(category c134)
+(category c135)
+(category c136)
+(category c137)
+(category c138)
+(category c139)
+(category c140)
+(category c141)
+(category c142)
+(category c143)
+(category c144)
+(category c145)
+(category c146)
+(category c147)
+(category c148)
+(category c149)
+(category c150)
+(category c151)
+(category c152)
+(category c153)
+(category c154)
+(category c155)
+(category c156)
+(category c157)
+(category c158)
+(category c159)
+(category c160)
+(category c161)
+(category c162)
+(category c163)
+(category c164)
+(category c165)
+(category c166)
+(category c167)
+(category c168)
+(category c169)
+(category c170)
+(category c171)
+(category c172)
+(category c173)
+(category c174)
+(category c175)
+(category c176)
+(category c177)
+(category c178)
+(category c179)
+(category c180)
+(category c181)
+(category c182)
+(category c183)
+(category c184)
+(category c185)
+(category c186)
+(category c187)
+(category c188)
+(category c189)
+(category c190)
+(category c191)
+(category c192)
+(category c193)
+(category c194)
+(category c195)
+(category c196)
+(category c197)
+(category c198)
+(category c199)
+(category c200)
+(category c201)
+(category c202)
+(category c203)
+(category c204)
+(category c205)
+(category c206)
+(category c207)
+(category c208)
+(category c209)
+(category c210)
+(category c211)
+(category c212)
+(category c213)
+(category c214)
+(category c215)
+(category c216)
+(category c217)
+(category c218)
+(category c219)
+(category c220)
+(category c221)
+(category c222)
+(category c223)
+(category c224)
+(category c225)
+(category c226)
+(category c227)
+(category c228)
+(category c229)
+(category c230)
+(category c231)
+(category c232)
+(category c233)
+(category c234)
+(category c235)
+(category c236)
+(category c237)
+(category c238)
+(category c239)
+(category c240)
+(category c241)
+(category c242)
+(category c243)
+(category c244)
+(category c245)
+(category c246)
+(category c247)
+(category c248)
+(category c249)
+(category c250)
+(category c251)
+(category c252)
+(category c253)
+(category c254)
+(category c255)
+(category c256)
+(category c257)
+(category c258)
+(category c259)
+(category c260)
+(category c261)
+(category c262)
+(category c263)
+(category c264)
+(category c265)
+(category c266)
+(category c267)
+(category c268)
+(category c269)
+(category c270)
+(category c271)
+(category c272)
+(category c273)
+(category c274)
+(category c275)
+(category c276)
+(category c277)
+(category c278)
+(category c279)
+(category c280)
+(category c281)
+(category c282)
+(category c283)
+(category c284)
+(category c285)
+(category c286)
+(category c287)
+(category c288)
+(category c289)
+(category c290)
+(category c291)
+(category c292)
+(category c293)
+(category c294)
+(category c295)
+(category c296)
+(category c297)
+(category c298)
+(category c299)
+(category c300)
+(category c301)
+(category c302)
+(category c303)
+(category c304)
+(category c305)
+(category c306)
+(category c307)
+(category c308)
+(category c309)
+(category c310)
+(category c311)
+(category c312)
+(category c313)
+(category c314)
+(category c315)
+(category c316)
+(category c317)
+(category c318)
+(category c319)
+(category c320)
+(category c321)
+(category c322)
+(category c323)
+(category c324)
+(category c325)
+(category c326)
+(category c327)
+(category c328)
+(category c329)
+(category c330)
+(category c331)
+(category c332)
+(category c333)
+(category c334)
+(category c335)
+(category c336)
+(category c337)
+(category c338)
+(category c339)
+(category c340)
+(category c341)
+(category c342)
+(category c343)
+(category c344)
+(category c345)
+(category c346)
+(category c347)
+(category c348)
+(category c349)
+(category c350)
+(category c351)
+(category c352)
+(category c353)
+(category c354)
+(category c355)
+(category c356)
+(category c357)
+(category c358)
+(category c359)
+(category c360)
+(category c361)
+(category c362)
+(category c363)
+(category c364)
+(category c365)
+(category c366)
+(category c367)
+(category c368)
+(category c369)
+(category c370)
+(category c371)
+(category c372)
+(category c373)
+(category c374)
+(category c375)
+(category c376)
+(category c377)
+(category c378)
+(category c379)
+(category c380)
+(category c381)
+(category c382)
+(category c383)
+(category c384)
+(category c385)
+(category c386)
+(category c387)
+(category c388)
+(category c389)
+(category c390)
+(category c391)
+(category c392)
+(category c393)
+(category c394)
+(category c395)
+(category c396)
+(category c397)
+(category c398)
+(category c399)
+(category c400)
+(category c401)
+(category c402)
+(category c403)
+(category c404)
+(category c405)
+(category c406)
+(category c407)
+(category c408)
+(category c409)
+(category c410)
+(category c411)
+(category c412)
+(category c413)
+(category c414)
+(category c415)
+(category c416)
+(category c417)
+(category c418)
+(category c419)
+(category c420)
+(category c421)
+(category c422)
+(category c423)
+(category c424)
+(category c425)
+(category c426)
+(category c427)
+(category c428)
+(category c429)
+(category c430)
+(category c431)
+(category c432)
+(category c433)
+(category c434)
+(category c435)
+(category c436)
+(category c437)
+(category c438)
+(category c439)
+(category c440)
+(category c441)
+(category c442)
+(category c443)
+(category c444)
+(category c445)
+(category c446)
+(category c447)
+(category c448)
+(category c449)
+(category c450)
+(category c451)
+(category c452)
+(category c453)
+(category c454)
+(category c455)
+(category c456)
+(category c457)
+(category c458)
+(category c459)
+(category c460)
+(category c461)
+(category c462)
+(category c463)
+(category c464)
+(category c465)
+(category c466)
+(category c467)
+(category c468)
+(category c469)
+(category c470)
+(category c471)
+(category c472)
+(category c473)
+(category c474)
+(category c475)
+(category c476)
+(category c477)
+(category c478)
+(category c479)
+(category c480)
+(category c481)
+(category c482)
+(category c483)
+(category c484)
+(category c485)
+(category c486)
+(category c487)
+(category c488)
+(category c489)
+(category c490)
+(category c491)
+(category c492)
+(category c493)
+(category c494)
+(category c495)
+(category c496)
+(category c497)
+(category c498)
+(category c499)
+(category c500)
+(category c501)
+(category c502)
+(category c503)
+(category c504)
+(category c505)
+(category c506)
+(category c507)
+(category c508)
+(category c509)
+(category c510)
+(category c511)
+(category c512)
+(category c513)
+(category c514)
+(category c515)
+(category c516)
+(category c517)
+(category c518)
+(category c519)
+(category c520)
+(category c521)
+(category c522)
+(category c523)
+(category c524)
+(category c525)
+(category c526)
+(category c527)
+(category c528)
+(category c529)
+(category c530)
+(category c531)
+(category c532)
+(category c533)
+(category c534)
+(category c535)
+(category c536)
+(category c537)
+(category c538)
+(category c539)
+(category c540)
+(category c541)
+(category c542)
+(category c543)
+(category c544)
+(category c545)
+(category c546)
+(category c547)
+(category c548)
+(category c549)
+(category c550)
+(category c551)
+(category c552)
+(category c553)
+(category c554)
+(category c555)
+(category c556)
+(category c557)
+(category c558)
+(category c559)
+(category c560)
+(category c561)
+(category c562)
+(category c563)
+(category c564)
+(category c565)
+(category c566)
+(category c567)
+(category c568)
+(category c569)
+(category c570)
+(category c571)
+(category c572)
+(category c573)
+(category c574)
+(category c575)
+(category c576)
+(category c577)
+(category c578)
+(category c579)
+(category c580)
+(category c581)
+(category c582)
+(category c583)
+(category c584)
+(category c585)
+(category c586)
+(category c587)
+(category c588)
+(category c589)
+(category c590)
+(category c591)
+(category c592)
+(category c593)
+(category c594)
+(category c595)
+(category c596)
+(category c597)
+(category c598)
+(category c599)
+(category c600)
+(category c601)
+(category c602)
+(category c603)
+(category c604)
+(category c605)
+(category c606)
+(category c607)
+(category c608)
+(category c609)
+(category c610)
+(category c611)
+(category c612)
+(category c613)
+(category c614)
+(category c615)
+(category c616)
+(category c617)
+(category c618)
+(category c619)
+(category c620)
+(category c621)
+(category c622)
+(category c623)
+(category c624)
+(category c625)
+(category c626)
+(category c627)
+(category c628)
+(category c629)
+(category c630)
+(category c631)
+(category c632)
+(category c633)
+(category c634)
+(category c635)
+(category c636)
+(category c637)
+(category c638)
+(category c639)
+(category c640)
+(category c641)
+(category c642)
+(category c643)
+(category c644)
+(category c645)
+(category c646)
+(category c647)
+(category c648)
+(category c649)
+(category c650)
+(category c651)
+(category c652)
+(category c653)
+(category c654)
+(category c655)
+(category c656)
+(category c657)
+(category c658)
+(category c659)
+(category c660)
+(category c661)
+(category c662)
+(category c663)
+(category c664)
+(category c665)
+(category c666)
+(category c667)
+(category c668)
+(category c669)
+(category c670)
+(category c671)
+(category c672)
+(category c673)
+(category c674)
+(category c675)
+(category c676)
+(category c677)
+(category c678)
+(category c679)
+(category c680)
+(category c681)
+(category c682)
+(category c683)
+(category c684)
+(category c685)
+(category c686)
+(category c687)
+(category c688)
+(category c689)
+(category c690)
+(category c691)
+(category c692)
+(category c693)
+(category c694)
+(category c695)
+(category c696)
+(category c697)
+(category c698)
+(category c699)
+(category c700)
+(category c701)
+(category c702)
+(category c703)
+(category c704)
+(category c705)
+(category c706)
+(category c707)
+(category c708)
+(category c709)
+(category c710)
+(category c711)
+(category c712)
+(category c713)
+(category c714)
+(category c715)
+(category c716)
+(category c717)
+(category c718)
+(category c719)
+(category c720)
+(category c721)
+(category c722)
+(category c723)
+(category c724)
+(category c725)
+(category c726)
+(category c727)
+(category c728)
+(category c729)
+(category c730)
+(category c731)
+(category c732)
+(category c733)
+(category c734)
+(category c735)
+(category c736)
+(category c737)
+(category c738)
+(category c739)
+(category c740)
+(category c741)
+(category c742)
+(category c743)
+(category c744)
+(category c745)
+(category c746)
+(category c747)
+(category c748)
+(category c749)
+(category c750)
+(category c751)
+(category c752)
+(category c753)
+(category c754)
+(category c755)
+(category c756)
+(category c757)
+(category c758)
+(category c759)
+(category c760)
+(category c761)
+(category c762)
+(category c763)
+(category c764)
+(category c765)
+(category c766)
+(category c767)
+(category c768)
+(category c769)
+(category c770)
+(category c771)
+(category c772)
+(category c773)
+(category c774)
+(category c775)
+(category c776)
+(category c777)
+(category c778)
+(category c779)
+(category c780)
+(category c781)
+(category c782)
+(category c783)
+(category c784)
+(category c785)
+(category c786)
+(category c787)
+(category c788)
+(category c789)
+(category c790)
+(category c791)
+(category c792)
+(category c793)
+(category c794)
+(category c795)
+(category c796)
+(category c797)
+(category c798)
+(category c799)
+(category c800)
+(category c801)
+(category c802)
+(category c803)
+(category c804)
+(category c805)
+(category c806)
+(category c807)
+(category c808)
+(category c809)
+(category c810)
+(category c811)
+(category c812)
+(category c813)
+(category c814)
+(category c815)
+(category c816)
+(category c817)
+(category c818)
+(category c819)
+(category c820)
+(category c821)
+(category c822)
+(category c823)
+(category c824)
+(category c825)
+(category c826)
+(category c827)
+(category c828)
+(category c829)
+(category c830)
+(category c831)
+(category c832)
+(category c833)
+(category c834)
+(category c835)
+(category c836)
+(category c837)
+(category c838)
+(category c839)
+(category c840)
+(category c841)
+(category c842)
+(category c843)
+(category c844)
+(category c845)
+(category c846)
+(category c847)
+(category c848)
+(category c849)
+(category c850)
+(category c851)
+(category c852)
+(category c853)
+(category c854)
+(category c855)
+(category c856)
+(category c857)
+(category c858)
+(category c859)
+(category c860)
+(category c861)
+(category c862)
+(category c863)
+(category c864)
+(category c865)
+(category c866)
+(category c867)
+(category c868)
+(category c869)
+(category c870)
+(category c871)
+(category c872)
+(category c873)
+(category c874)
+(category c875)
+(category c876)
+(category c877)
+(category c878)
+(category c879)
+(category c880)
+(category c881)
+(category c882)
+(category c883)
+(category c884)
+(category c885)
+(category c886)
+(category c887)
+(category c888)
+(category c889)
+(category c890)
+(category c891)
+(category c892)
+(category c893)
+(category c894)
+(category c895)
+(category c896)
+(category c897)
+(category c898)
+(category c899)
+(category c900)
+(category c901)
+(category c902)
+(category c903)
+(category c904)
+(category c905)
+(category c906)
+(category c907)
+(category c908)
+(category c909)
+(category c910)
+(category c911)
+(category c912)
+(category c913)
+(category c914)
+(category c915)
+(category c916)
+(category c917)
+(category c918)
+(category c919)
+(category c920)
+(category c921)
+(category c922)
+(category c923)
+(category c924)
+(category c925)
+(category c926)
+(category c927)
+(category c928)
+(category c929)
+(category c930)
+(category c931)
+(category c932)
+(category c933)
+(category c934)
+(category c935)
+(category c936)
+(category c937)
+(category c938)
+(category c939)
+(category c940)
+(category c941)
+(category c942)
+(category c943)
+(category c944)
+(category c945)
+(category c946)
+(category c947)
+(category c948)
+(category c949)
+(category c950)
+(category c951)
+(category c952)
+(category c953)
+(category c954)
+(category c955)
+(category c956)
+(category c957)
+(category c958)
+(category c959)
+(category c960)
+(category c961)
+(category c962)
+(category c963)
+(category c964)
+(category c965)
+(category c966)
+(category c967)
+(category c968)
+(category c969)
+(category c970)
+(category c971)
+(category c972)
+(category c973)
+(category c974)
+(category c975)
+(category c976)
+(category c977)
+(category c978)
+(category c979)
+(category c980)
+(category c981)
+(category c982)
+(category c983)
+(category c984)
+(category c985)
+(category c986)
+(category c987)
+(category c988)
+(category c989)
+(category c990)
+(category c991)
+(category c992)
+(category c993)
+(category c994)
+(category c995)
+(category c996)
+(category c997)
+(category c998)
+(category c999)
+(category c1000)
+(category c1001)
+(category c1002)
+(category c1003)
+(category c1004)
+(category c1005)
+(category c1006)
+(category c1007)
+(category c1008)
+(category c1009)
+(category c1010)
+(category c1011)
+(category c1012)
+(category c1013)
+(category c1014)
+(category c1015)
+(category c1016)
+(category c1017)
+(category c1018)
+(category c1019)
+(category c1020)
+(category c1021)
+(category c1022)
+(category c1023)
+(categoryorder (c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32 c33 c34 c35 c36 c37 c38 c39 c40 c41 c42 c43 c44 c45 c46 c47 c48 c49 c50 c51 c52 c53 c54 c55 c56 c57 c58 c59 c60 c61 c62 c63 c64 c65 c66 c67 c68 c69 c70 c71 c72 c73 c74 c75 c76 c77 c78 c79 c80 c81 c82 c83 c84 c85 c86 c87 c88 c89 c90 c91 c92 c93 c94 c95 c96 c97 c98 c99 c100 c101 c102 c103 c104 c105 c106 c107 c108 c109 c110 c111 c112 c113 c114 c115 c116 c117 c118 c119 c120 c121 c122 c123 c124 c125 c126 c127 c128 c129 c130 c131 c132 c133 c134 c135 c136 c137 c138 c139 c140 c141 c142 c143 c144 c145 c146 c147 c148 c149 c150 c151 c152 c153 c154 c155 c156 c157 c158 c159 c160 c161 c162 c163 c164 c165 c166 c167 c168 c169 c170 c171 c172 c173 c174 c175 c176 c177 c178 c179 c180 c181 c182 c183 c184 c185 c186 c187 c188 c189 c190 c191 c192 c193 c194 c195 c196 c197 c198 c199 c200 c201 c202 c203 c204 c205 c206 c207 c208 c209 c210 c211 c212 c213 c214 c215 c216 c217 c218 c219 c220 c221 c222 c223 c224 c225 c226 c227 c228 c229 c230 c231 c232 c233 c234 c235 c236 c237 c238 c239 c240 c241 c242 c243 c244 c245 c246 c247 c248 c249 c250 c251 c252 c253 c254 c255 c256 c257 c258 c259 c260 c261 c262 c263 c264 c265 c266 c267 c268 c269 c270 c271 c272 c273 c274 c275 c276 c277 c278 c279 c280 c281 c282 c283 c284 c285 c286 c287 c288 c289 c290 c291 c292 c293 c294 c295 c296 c297 c298 c299 c300 c301 c302 c303 c304 c305 c306 c307 c308 c309 c310 c311 c312 c313 c314 c315 c316 c317 c318 c319 c320 c321 c322 c323 c324 c325 c326 c327 c328 c329 c330 c331 c332 c333 c334 c335 c336 c337 c338 c339 c340 c341 c342 c343 c344 c345 c346 c347 c348 c349 c350 c351 c352 c353 c354 c355 c356 c357 c358 c359 c360 c361 c362 c363 c364 c365 c366 c367 c368 c369 c370 c371 c372 c373 c374 c375 c376 c377 c378 c379 c380 c381 c382 c383 c384 c385 c386 c387 c388 c389 c390 c391 c392 c393 c394 c395 c396 c397 c398 c399 c400 c401 c402 c403 c404 c405 c406 c407 c408 c409 c410 c411 c412 c413 c414 c415 c416 c417 c418 c419 c420 c421 c422 c423 c424 c425 c426 c427 c428 c429 c430 c431 c432 c433 c434 c435 c436 c437 c438 c439 c440 c441 c442 c443 c444 c445 c446 c447 c448 c449 c450 c451 c452 c453 c454 c455 c456 c457 c458 c459 c460 c461 c462 c463 c464 c465 c466 c467 c468 c469 c470 c471 c472 c473 c474 c475 c476 c477 c478 c479 c480 c481 c482 c483 c484 c485 c486 c487 c488 c489 c490 c491 c492 c493 c494 c495 c496 c497 c498 c499 c500 c501 c502 c503 c504 c505 c506 c507 c508 c509 c510 c511 c512 c513 c514 c515 c516 c517 c518 c519 c520 c521 c522 c523 c524 c525 c526 c527 c528 c529 c530 c531 c532 c533 c534 c535 c536 c537 c538 c539 c540 c541 c542 c543 c544 c545 c546 c547 c548 c549 c550 c551 c552 c553 c554 c555 c556 c557 c558 c559 c560 c561 c562 c563 c564 c565 c566 c567 c568 c569 c570 c571 c572 c573 c574 c575 c576 c577 c578 c579 c580 c581 c582 c583 c584 c585 c586 c587 c588 c589 c590 c591 c592 c593 c594 c595 c596 c597 c598 c599 c600 c601 c602 c603 c604 c605 c606 c607 c608 c609 c610 c611 c612 c613 c614 c615 c616 c617 c618 c619 c620 c621 c622 c623 c624 c625 c626 c627 c628 c629 c630 c631 c632 c633 c634 c635 c636 c637 c638 c639 c640 c641 c642 c643 c644 c645 c646 c647 c648 c649 c650 c651 c652 c653 c654 c655 c656 c657 c658 c659 c660 c661 c662 c663 c664 c665 c666 c667 c668 c669 c670 c671 c672 c673 c674 c675 c676 c677 c678 c679 c680 c681 c682 c683 c684 c685 c686 c687 c688 c689 c690 c691 c692 c693 c694 c695 c696 c697 c698 c699 c700 c701 c702 c703 c704 c705 c706 c707 c708 c709 c710 c711 c712 c713 c714 c715 c716 c717 c718 c719 c720 c721 c722 c723 c724 c725 c726 c727 c728 c729 c730 c731 c732 c733 c734 c735 c736 c737 c738 c739 c740 c741 c742 c743 c744 c745 c746 c747 c748 c749 c750 c751 c752 c753 c754 c755 c756 c757 c758 c759 c760 c761 c762 c763 c764 c765 c766 c767 c768 c769 c770 c771 c772 c773 c774 c775 c776 c777 c778 c779 c780 c781 c782 c783 c784 c785 c786 c787 c788 c789 c790 c791 c792 c793 c794 c795 c796 c797 c798 c799 c800 c801 c802 c803 c804 c805 c806 c807 c808 c809 c810 c811 c812 c813 c814 c815 c816 c817 c818 c819 c820 c821 c822 c823 c824 c825 c826 c827 c828 c829 c830 c831 c832 c833 c834 c835 c836 c837 c838 c839 c840 c841 c842 c843 c844 c845 c846 c847 c848 c849 c850 c851 c852 c853 c854 c855 c856 c857 c858 c859 c860 c861 c862 c863 c864 c865 c866 c867 c868 c869 c870 c871 c872 c873 c874 c875 c876 c877 c878 c879 c880 c881 c882 c883 c884 c885 c886 c887 c888 c889 c890 c891 c892 c893 c894 c895 c896 c897 c898 c899 c900 c901 c902 c903 c904 c905 c906 c907 c908 c909 c910 c911 c912 c913 c914 c915 c916 c917 c918 c919 c920 c921 c922 c923 c924 c925 c926 c927 c928 c929 c930 c931 c932 c933 c934 c935 c936 c937 c938 c939 c940 c941 c942 c943 c944 c945 c946 c947 c948 c949 c950 c951 c952 c953 c954 c955 c956 c957 c958 c959 c960 c961 c962 c963 c964 c965 c966 c967 c968 c969 c970 c971 c972 c973 c974 c975 c976 c977 c978 c979 c980 c981 c982 c983 c984 c985 c986 c987 c988 c989 c990 c991 c992 c993 c994 c995 c996 c997 c998 c999 c1000 c1001 c1002 c1003 c1004 c1005 c1006 c1007 c1008 c1009 c1010 c1011 c1012 c1013 c1014 c1015 c1016 c1017 c1018 c1019 c1020 c1021 c1022 c1023 ))
+;;* lmx 340 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_1 domain (process (fork)))
+;;* lme
+
+;;* lmx 340 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_2 domain (process (fork)))
+;;* lme
+
+;;* lmx 340 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_3 domain (process (fork)))
+;;* lme
+
+;;* lmx 341 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_4 domain (process (fork)))
+;;* lme
+
+;;* lmx 341 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_5 domain (process (fork)))
+;;* lme
+
+;;* lmx 341 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_6 domain (process (fork)))
+;;* lme
+
+;;* lmx 342 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_7 domain (process (fork)))
+;;* lme
+
+;;* lmx 342 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_8 domain (process (fork)))
+;;* lme
+
+;;* lmx 342 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_9 domain (process (fork)))
+;;* lme
+
+;;* lmx 343 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_10 domain (process (fork)))
+;;* lme
+
+;;* lmx 343 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_11 domain (process (fork)))
+;;* lme
+
+;;* lmx 343 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_12 domain (process (fork)))
+;;* lme
+
+;;* lmx 344 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_13 domain (process (fork)))
+;;* lme
+
+;;* lmx 344 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_14 domain (process (fork)))
+;;* lme
+
+;;* lmx 344 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_15 domain (process (fork)))
+;;* lme
+
+;;* lmx 345 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_16 domain (process (fork)))
+;;* lme
+
+;;* lmx 345 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_17 domain (process (fork)))
+;;* lme
+
+;;* lmx 345 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_18 domain (process (fork)))
+;;* lme
+
+;;* lmx 346 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_19 domain (process (fork)))
+;;* lme
+
+;;* lmx 346 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_20 domain (process (fork)))
+;;* lme
+
+;;* lmx 346 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_21 domain (process (fork)))
+;;* lme
+
+;;* lmx 347 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_22 domain (process (fork)))
+;;* lme
+
+;;* lmx 347 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_23 domain (process (fork)))
+;;* lme
+
+;;* lmx 347 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_24 domain (process (fork)))
+;;* lme
+
+;;* lmx 348 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_25 domain (process (fork)))
+;;* lme
+
+;;* lmx 348 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_26 domain (process (fork)))
+;;* lme
+
+;;* lmx 348 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_27 domain (process (fork)))
+;;* lme
+
+;;* lmx 349 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_28 domain (process (fork)))
+;;* lme
+
+;;* lmx 349 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_29 domain (process (fork)))
+;;* lme
+
+;;* lmx 349 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_30 domain (process (fork)))
+;;* lme
+
+;;* lmx 350 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_31 domain (process (fork)))
+;;* lme
+
+;;* lmx 350 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_32 domain (process (fork)))
+;;* lme
+
+;;* lmx 350 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_33 domain (process (fork)))
+;;* lme
+
+;;* lmx 351 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_34 domain (process (fork)))
+;;* lme
+
+;;* lmx 351 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_35 domain (process (fork)))
+;;* lme
+
+;;* lmx 351 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_36 domain (process (fork)))
+;;* lme
+
+;;* lmx 352 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_37 domain (process (fork)))
+;;* lme
+
+;;* lmx 352 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_38 domain (process (fork)))
+;;* lme
+
+;;* lmx 352 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_39 domain (process (fork)))
+;;* lme
+
+;;* lmx 353 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_40 domain (process (fork)))
+;;* lme
+
+;;* lmx 353 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_41 domain (process (fork)))
+;;* lme
+
+;;* lmx 353 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_42 domain (process (fork)))
+;;* lme
+
+;;* lmx 354 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_43 domain (process (fork)))
+;;* lme
+
+;;* lmx 354 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_44 domain (process (fork)))
+;;* lme
+
+;;* lmx 354 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_45 domain (process (fork)))
+;;* lme
+
+;;* lmx 355 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_46 domain (process (fork)))
+;;* lme
+
+;;* lmx 355 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_47 domain (process (fork)))
+;;* lme
+
+;;* lmx 355 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_48 domain (process (fork)))
+;;* lme
+
+;;* lmx 356 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_49 domain (process (fork)))
+;;* lme
+
+;;* lmx 356 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_50 domain (process (fork)))
+;;* lme
+
+;;* lmx 356 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_51 domain (process (fork)))
+;;* lme
+
+;;* lmx 357 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_52 domain (process (fork)))
+;;* lme
+
+;;* lmx 357 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_53 domain (process (fork)))
+;;* lme
+
+;;* lmx 357 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_54 domain (process (fork)))
+;;* lme
+
+;;* lmx 358 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_55 domain (process (fork)))
+;;* lme
+
+;;* lmx 358 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_56 domain (process (fork)))
+;;* lme
+
+;;* lmx 358 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_57 domain (process (fork)))
+;;* lme
+
+;;* lmx 359 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_58 domain (process (fork)))
+;;* lme
+
+;;* lmx 359 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_59 domain (process (fork)))
+;;* lme
+
+;;* lmx 359 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_60 domain (process (fork)))
+;;* lme
+
+;;* lmx 360 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_61 domain (process (fork)))
+;;* lme
+
+;;* lmx 360 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_62 domain (process (fork)))
+;;* lme
+
+;;* lmx 360 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_63 domain (process (fork)))
+;;* lme
+
+;;* lmx 361 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_64 domain (process (fork)))
+;;* lme
+
+;;* lmx 361 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_65 domain (process (fork)))
+;;* lme
+
+;;* lmx 361 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_66 domain (process (fork)))
+;;* lme
+
+;;* lmx 362 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_67 domain (process (fork)))
+;;* lme
+
+;;* lmx 362 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_68 domain (process (fork)))
+;;* lme
+
+;;* lmx 362 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_69 domain (process (fork)))
+;;* lme
+
+;;* lmx 363 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_70 domain (process (fork)))
+;;* lme
+
+;;* lmx 363 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_71 domain (process (fork)))
+;;* lme
+
+;;* lmx 363 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_72 domain (process (fork)))
+;;* lme
+
+;;* lmx 364 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_73 domain (process (fork)))
+;;* lme
+
+;;* lmx 364 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_74 domain (process (fork)))
+;;* lme
+
+;;* lmx 364 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_75 domain (process (fork)))
+;;* lme
+
+;;* lmx 365 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_76 domain (process (fork)))
+;;* lme
+
+;;* lmx 365 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_77 domain (process (fork)))
+;;* lme
+
+;;* lmx 365 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_78 domain (process (fork)))
+;;* lme
+
+;;* lmx 366 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_79 domain (process (fork)))
+;;* lme
+
+;;* lmx 366 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_80 domain (process (fork)))
+;;* lme
+
+;;* lmx 366 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_81 domain (process (fork)))
+;;* lme
+
+;;* lmx 367 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_82 domain (process (fork)))
+;;* lme
+
+;;* lmx 367 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_83 domain (process (fork)))
+;;* lme
+
+;;* lmx 367 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_84 domain (process (fork)))
+;;* lme
+
+;;* lmx 368 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_85 domain (process (fork)))
+;;* lme
+
+;;* lmx 368 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_86 domain (process (fork)))
+;;* lme
+
+;;* lmx 368 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_87 domain (process (fork)))
+;;* lme
+
+;;* lmx 369 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_88 domain (process (fork)))
+;;* lme
+
+;;* lmx 369 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_89 domain (process (fork)))
+;;* lme
+
+;;* lmx 369 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_90 domain (process (fork)))
+;;* lme
+
+;;* lmx 372 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_91 domain (process (fork)))
+;;* lme
+
+;;* lmx 372 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_92 domain (process (fork)))
+;;* lme
+
+;;* lmx 372 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_93 domain (process (fork)))
+;;* lme
+
+;;* lmx 373 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_94 domain (process (fork)))
+;;* lme
+
+;;* lmx 373 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_95 domain (process (fork)))
+;;* lme
+
+;;* lmx 373 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_96 domain (process (fork)))
+;;* lme
+
+;;* lmx 374 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_97 domain (process (fork)))
+;;* lme
+
+;;* lmx 374 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_98 domain (process (fork)))
+;;* lme
+
+;;* lmx 374 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_99 domain (process (fork)))
+;;* lme
+
+;;* lmx 375 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_100 domain (process (fork)))
+;;* lme
+
+;;* lmx 375 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_101 domain (process (fork)))
+;;* lme
+
+;;* lmx 375 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_102 domain (process (fork)))
+;;* lme
+
+;;* lmx 376 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_103 domain (process (fork)))
+;;* lme
+
+;;* lmx 376 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_104 domain (process (fork)))
+;;* lme
+
+;;* lmx 376 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_105 domain (process (fork)))
+;;* lme
+
+;;* lmx 377 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_106 domain (process (fork)))
+;;* lme
+
+;;* lmx 377 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_107 domain (process (fork)))
+;;* lme
+
+;;* lmx 377 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_108 domain (process (fork)))
+;;* lme
+
+;;* lmx 378 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_109 domain (process (fork)))
+;;* lme
+
+;;* lmx 378 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_110 domain (process (fork)))
+;;* lme
+
+;;* lmx 378 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_111 domain (process (fork)))
+;;* lme
+
+;;* lmx 379 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_112 domain (process (fork)))
+;;* lme
+
+;;* lmx 379 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_113 domain (process (fork)))
+;;* lme
+
+;;* lmx 379 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_114 domain (process (fork)))
+;;* lme
+
+;;* lmx 380 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_115 domain (process (fork)))
+;;* lme
+
+;;* lmx 380 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_116 domain (process (fork)))
+;;* lme
+
+;;* lmx 380 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_117 domain (process (fork)))
+;;* lme
+
+;;* lmx 381 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_118 domain (process (fork)))
+;;* lme
+
+;;* lmx 381 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_119 domain (process (fork)))
+;;* lme
+
+;;* lmx 381 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_120 domain (process (fork)))
+;;* lme
+
+;;* lmx 382 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_121 domain (process (fork)))
+;;* lme
+
+;;* lmx 382 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_122 domain (process (fork)))
+;;* lme
+
+;;* lmx 382 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_123 domain (process (fork)))
+;;* lme
+
+;;* lmx 385 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_124 domain (process (fork)))
+;;* lme
+
+;;* lmx 385 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_125 domain (process (fork)))
+;;* lme
+
+;;* lmx 385 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_126 domain (process (fork)))
+;;* lme
+
+;;* lmx 386 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_127 domain (process (fork)))
+;;* lme
+
+;;* lmx 386 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_128 domain (process (fork)))
+;;* lme
+
+;;* lmx 386 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_129 domain (process (fork)))
+;;* lme
+
+;;* lmx 387 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_130 domain (process (fork)))
+;;* lme
+
+;;* lmx 387 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_131 domain (process (fork)))
+;;* lme
+
+;;* lmx 387 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_132 domain (process (fork)))
+;;* lme
+
+;;* lmx 388 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_133 domain (process (fork)))
+;;* lme
+
+;;* lmx 388 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_134 domain (process (fork)))
+;;* lme
+
+;;* lmx 388 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_135 domain (process (fork)))
+;;* lme
+
+;;* lmx 389 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_136 domain (process (fork)))
+;;* lme
+
+;;* lmx 389 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_137 domain (process (fork)))
+;;* lme
+
+;;* lmx 389 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_138 domain (process (fork)))
+;;* lme
+
+;;* lmx 390 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_139 domain (process (fork)))
+;;* lme
+
+;;* lmx 390 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_140 domain (process (fork)))
+;;* lme
+
+;;* lmx 390 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_141 domain (process (fork)))
+;;* lme
+
+;;* lmx 391 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_142 domain (process (fork)))
+;;* lme
+
+;;* lmx 391 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_143 domain (process (fork)))
+;;* lme
+
+;;* lmx 391 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_144 domain (process (fork)))
+;;* lme
+
+;;* lmx 392 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_145 domain (process (fork)))
+;;* lme
+
+;;* lmx 392 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_146 domain (process (fork)))
+;;* lme
+
+;;* lmx 392 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_147 domain (process (fork)))
+;;* lme
+
+;;* lmx 393 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_148 domain (process (fork)))
+;;* lme
+
+;;* lmx 393 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_149 domain (process (fork)))
+;;* lme
+
+;;* lmx 393 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_150 domain (process (fork)))
+;;* lme
+
+;;* lmx 394 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_151 domain (process (fork)))
+;;* lme
+
+;;* lmx 394 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_152 domain (process (fork)))
+;;* lme
+
+;;* lmx 394 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_153 domain (process (fork)))
+;;* lme
+
+;;* lmx 395 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_154 domain (process (fork)))
+;;* lme
+
+;;* lmx 395 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_155 domain (process (fork)))
+;;* lme
+
+;;* lmx 395 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_156 domain (process (fork)))
+;;* lme
+
+;;* lmx 396 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_157 domain (process (fork)))
+;;* lme
+
+;;* lmx 396 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_158 domain (process (fork)))
+;;* lme
+
+;;* lmx 396 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_159 domain (process (fork)))
+;;* lme
+
+;;* lmx 397 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_160 domain (process (fork)))
+;;* lme
+
+;;* lmx 397 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_161 domain (process (fork)))
+;;* lme
+
+;;* lmx 397 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_162 domain (process (fork)))
+;;* lme
+
+;;* lmx 398 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_163 domain (process (fork)))
+;;* lme
+
+;;* lmx 398 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_164 domain (process (fork)))
+;;* lme
+
+;;* lmx 398 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_165 domain (process (fork)))
+;;* lme
+
+;;* lmx 399 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_166 domain (process (fork)))
+;;* lme
+
+;;* lmx 399 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_167 domain (process (fork)))
+;;* lme
+
+;;* lmx 399 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_168 domain (process (fork)))
+;;* lme
+
+;;* lmx 400 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_169 domain (process (fork)))
+;;* lme
+
+;;* lmx 400 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_170 domain (process (fork)))
+;;* lme
+
+;;* lmx 400 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_171 domain (process (fork)))
+;;* lme
+
+;;* lmx 401 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_172 domain (process (fork)))
+;;* lme
+
+;;* lmx 401 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_173 domain (process (fork)))
+;;* lme
+
+;;* lmx 401 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_174 domain (process (fork)))
+;;* lme
+
+;;* lmx 402 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_175 domain (process (fork)))
+;;* lme
+
+;;* lmx 402 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_176 domain (process (fork)))
+;;* lme
+
+;;* lmx 402 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_177 domain (process (fork)))
+;;* lme
+
+;;* lmx 403 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_178 domain (process (fork)))
+;;* lme
+
+;;* lmx 403 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_179 domain (process (fork)))
+;;* lme
+
+;;* lmx 403 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_180 domain (process (fork)))
+;;* lme
+
+;;* lmx 404 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_181 domain (process (fork)))
+;;* lme
+
+;;* lmx 404 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_182 domain (process (fork)))
+;;* lme
+
+;;* lmx 404 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_183 domain (process (fork)))
+;;* lme
+
+;;* lmx 405 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_184 domain (process (fork)))
+;;* lme
+
+;;* lmx 405 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_185 domain (process (fork)))
+;;* lme
+
+;;* lmx 405 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_186 domain (process (fork)))
+;;* lme
+
+;;* lmx 406 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_187 domain (process (fork)))
+;;* lme
+
+;;* lmx 406 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_188 domain (process (fork)))
+;;* lme
+
+;;* lmx 406 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_189 domain (process (fork)))
+;;* lme
+
+;;* lmx 407 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_190 domain (process (fork)))
+;;* lme
+
+;;* lmx 407 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_191 domain (process (fork)))
+;;* lme
+
+;;* lmx 407 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_192 domain (process (fork)))
+;;* lme
+
+;;* lmx 408 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_193 domain (process (fork)))
+;;* lme
+
+;;* lmx 408 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_194 domain (process (fork)))
+;;* lme
+
+;;* lmx 408 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_195 domain (process (fork)))
+;;* lme
+
+;;* lmx 409 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_196 domain (process (fork)))
+;;* lme
+
+;;* lmx 409 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_197 domain (process (fork)))
+;;* lme
+
+;;* lmx 409 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_198 domain (process (fork)))
+;;* lme
+
+;;* lmx 410 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_199 domain (process (fork)))
+;;* lme
+
+;;* lmx 410 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_200 domain (process (fork)))
+;;* lme
+
+;;* lmx 410 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_201 domain (process (fork)))
+;;* lme
+
+;;* lmx 411 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_202 domain (process (fork)))
+;;* lme
+
+;;* lmx 411 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_203 domain (process (fork)))
+;;* lme
+
+;;* lmx 411 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_204 domain (process (fork)))
+;;* lme
+
+;;* lmx 414 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_205 domain (process (fork)))
+;;* lme
+
+;;* lmx 414 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_206 domain (process (fork)))
+;;* lme
+
+;;* lmx 414 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_207 domain (process (fork)))
+;;* lme
+
+;;* lmx 415 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_208 domain (process (fork)))
+;;* lme
+
+;;* lmx 415 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_209 domain (process (fork)))
+;;* lme
+
+;;* lmx 415 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_210 domain (process (fork)))
+;;* lme
+
+;;* lmx 416 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_211 domain (process (fork)))
+;;* lme
+
+;;* lmx 416 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_212 domain (process (fork)))
+;;* lme
+
+;;* lmx 416 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_213 domain (process (fork)))
+;;* lme
+
+;;* lmx 417 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_214 domain (process (fork)))
+;;* lme
+
+;;* lmx 417 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_215 domain (process (fork)))
+;;* lme
+
+;;* lmx 417 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_216 domain (process (fork)))
+;;* lme
+
+;;* lmx 418 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_217 domain (process (fork)))
+;;* lme
+
+;;* lmx 418 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_218 domain (process (fork)))
+;;* lme
+
+;;* lmx 418 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_219 domain (process (fork)))
+;;* lme
+
+;;* lmx 419 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_220 domain (process (fork)))
+;;* lme
+
+;;* lmx 419 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_221 domain (process (fork)))
+;;* lme
+
+;;* lmx 419 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_222 domain (process (fork)))
+;;* lme
+
+;;* lmx 420 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_223 domain (process (fork)))
+;;* lme
+
+;;* lmx 420 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_224 domain (process (fork)))
+;;* lme
+
+;;* lmx 420 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_225 domain (process (fork)))
+;;* lme
+
+;;* lmx 421 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_226 domain (process (fork)))
+;;* lme
+
+;;* lmx 421 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_227 domain (process (fork)))
+;;* lme
+
+;;* lmx 421 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_228 domain (process (fork)))
+;;* lme
+
+;;* lmx 475 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_229 domain (process (fork)))
+;;* lme
+
+;;* lmx 475 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_230 domain (process (fork)))
+;;* lme
+
+;;* lmx 475 system/sepolicy/public/attributes
+
+(neverallow base_typeattr_231 domain (process (fork)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 apexd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 bootloader_boot_reason_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_activity_manager_native_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_boot_count_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_input_native_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 11 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_netd_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 12 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_reset_performed_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 firstboot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 boottime_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 charger_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 cold_boot_done_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_adbd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_apexd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_bootanim_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_bugreport_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_console_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_dumpstate_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_fuse_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_gsid_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_interface_restart_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_interface_stop_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_mdnsd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_restart_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_rildaemon_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ctl_sigstop_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 dynamic_system_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 heapprofd_enabled_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 llkd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 lpdumpd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 mmc_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 mock_ota_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 net_dns_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 overlay_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 persistent_properties_ready_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 safemode_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 system_lmk_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 system_trace_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 test_boot_reason_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 time_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 traced_enabled_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 traced_lazy_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 53 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 aac_drc_prop (property_service (set)))
+;;* lme
+
+;;* lmx 54 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 adaptive_haptics_prop (property_service (set)))
+;;* lme
+
+;;* lmx 55 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 apex_ready_prop (property_service (set)))
+;;* lme
+
+;;* lmx 56 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 arm64_memtag_prop (property_service (set)))
+;;* lme
+
+;;* lmx 57 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 binder_cache_bluetooth_server_prop (property_service (set)))
+;;* lme
+
+;;* lmx 58 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 binder_cache_system_server_prop (property_service (set)))
+;;* lme
+
+;;* lmx 59 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 binder_cache_telephony_server_prop (property_service (set)))
+;;* lme
+
+;;* lmx 60 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 boot_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 bootanim_system_prop (property_service (set)))
+;;* lme
+
+;;* lmx 62 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 bootloader_prop (property_service (set)))
+;;* lme
+
+;;* lmx 63 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 boottime_public_prop (property_service (set)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 bq_config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 65 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 build_bootimage_prop (property_service (set)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 build_prop (property_service (set)))
+;;* lme
+
+;;* lmx 67 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 composd_vm_art_prop (property_service (set)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_aconfig_flags_prop (property_service (set)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_camera_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 70 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_edgetpu_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 71 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_media_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_nnapi_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 73 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_runtime_native_boot_prop (property_service (set)))
+;;* lme
+
+;;* lmx 74 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_runtime_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 75 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_surface_flinger_native_boot_prop (property_service (set)))
+;;* lme
+
+;;* lmx 76 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_vendor_system_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 77 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_config_vendor_system_native_boot_prop (property_service (set)))
+;;* lme
+
+;;* lmx 78 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 drm_forcel3_prop (property_service (set)))
+;;* lme
+
+;;* lmx 79 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 fingerprint_prop (property_service (set)))
+;;* lme
+
+;;* lmx 80 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 gwp_asan_prop (property_service (set)))
+;;* lme
+
+;;* lmx 81 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 hal_instrumentation_prop (property_service (set)))
+;;* lme
+
+;;* lmx 82 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 userdebug_or_eng_prop (property_service (set)))
+;;* lme
+
+;;* lmx 83 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 init_service_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 84 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 libc_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 85 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 module_sdkextensions_prop (property_service (set)))
+;;* lme
+
+;;* lmx 86 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 nnapi_ext_deny_product_prop (property_service (set)))
+;;* lme
+
+;;* lmx 87 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 persist_wm_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 88 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 power_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 89 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 property_service_version_prop (property_service (set)))
+;;* lme
+
+;;* lmx 90 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 provisioned_prop (property_service (set)))
+;;* lme
+
+;;* lmx 91 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 restorecon_prop (property_service (set)))
+;;* lme
+
+;;* lmx 92 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 retaildemo_prop (property_service (set)))
+;;* lme
+
+;;* lmx 93 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 servicemanager_prop (property_service (set)))
+;;* lme
+
+;;* lmx 94 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 smart_idle_maint_enabled_prop (property_service (set)))
+;;* lme
+
+;;* lmx 95 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 socket_hook_prop (property_service (set)))
+;;* lme
+
+;;* lmx 96 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 sqlite_log_prop (property_service (set)))
+;;* lme
+
+;;* lmx 97 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 surfaceflinger_display_prop (property_service (set)))
+;;* lme
+
+;;* lmx 98 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 system_boot_reason_prop (property_service (set)))
+;;* lme
+
+;;* lmx 99 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 system_jvmti_agent_prop (property_service (set)))
+;;* lme
+
+;;* lmx 100 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 traced_oome_heap_session_count_prop (property_service (set)))
+;;* lme
+
+;;* lmx 101 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 ab_update_gki_prop (property_service (set)))
+;;* lme
+
+;;* lmx 102 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 usb_prop (property_service (set)))
+;;* lme
+
+;;* lmx 103 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 userspace_reboot_exported_prop (property_service (set)))
+;;* lme
+
+;;* lmx 104 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 vold_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 105 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 vts_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 107 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 enable_16k_pages_prop (property_service (set)))
+;;* lme
+
+;;* lmx 107 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 profcollectd_etr_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 cppreopt_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 dalvik_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 debuggerd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 device_logging_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 dhcp_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 dumpstate_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 exported3_system_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 exported_dumpstate_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 exported_secure_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 heapprofd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 net_radio_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 pan_result_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 persist_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 shell_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 test_harness_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 theme_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 use_memfd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 vold_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init apexd_config_prop (property_service (set)))
+(allow vendor_init apexd_config_prop (file (read getattr map open)))
+;;* lmx 136 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 apexd_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init apexd_select_prop (property_service (set)))
+(allow vendor_init apexd_select_prop (file (read getattr map open)))
+;;* lmx 137 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 apexd_select_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init aaudio_config_prop (property_service (set)))
+(allow vendor_init aaudio_config_prop (file (read getattr map open)))
+;;* lmx 138 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 aaudio_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init apk_verity_prop (property_service (set)))
+(allow vendor_init apk_verity_prop (file (read getattr map open)))
+;;* lmx 139 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 apk_verity_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init audio_config_prop (property_service (set)))
+(allow vendor_init audio_config_prop (file (read getattr map open)))
+;;* lmx 140 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 audio_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init bootanim_config_prop (property_service (set)))
+(allow vendor_init bootanim_config_prop (file (read getattr map open)))
+;;* lmx 141 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 bootanim_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init bluetooth_config_prop (property_service (set)))
+(allow vendor_init bluetooth_config_prop (file (read getattr map open)))
+;;* lmx 142 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 bluetooth_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init build_attestation_prop (property_service (set)))
+(allow vendor_init build_attestation_prop (file (read getattr map open)))
+;;* lmx 143 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 build_attestation_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init build_config_prop (property_service (set)))
+(allow vendor_init build_config_prop (file (read getattr map open)))
+;;* lmx 144 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 build_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init build_odm_prop (property_service (set)))
+(allow vendor_init build_odm_prop (file (read getattr map open)))
+;;* lmx 145 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 build_odm_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init build_vendor_prop (property_service (set)))
+(allow vendor_init build_vendor_prop (file (read getattr map open)))
+;;* lmx 146 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 build_vendor_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init camera_calibration_prop (property_service (set)))
+(allow vendor_init camera_calibration_prop (file (read getattr map open)))
+;;* lmx 147 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 camera_calibration_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init camera_config_prop (property_service (set)))
+(allow vendor_init camera_config_prop (file (read getattr map open)))
+;;* lmx 148 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 camera_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init camera2_extensions_prop (property_service (set)))
+(allow vendor_init camera2_extensions_prop (file (read getattr map open)))
+;;* lmx 149 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 camera2_extensions_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init camerax_extensions_prop (property_service (set)))
+(allow vendor_init camerax_extensions_prop (file (read getattr map open)))
+;;* lmx 150 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 camerax_extensions_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init charger_config_prop (property_service (set)))
+(allow vendor_init charger_config_prop (file (read getattr map open)))
+;;* lmx 151 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 charger_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init codec2_config_prop (property_service (set)))
+(allow vendor_init codec2_config_prop (file (read getattr map open)))
+;;* lmx 152 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 codec2_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init composd_vm_vendor_prop (property_service (set)))
+(allow vendor_init composd_vm_vendor_prop (file (read getattr map open)))
+;;* lmx 153 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 composd_vm_vendor_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init cpu_variant_prop (property_service (set)))
+(allow vendor_init cpu_variant_prop (file (read getattr map open)))
+;;* lmx 154 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 cpu_variant_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init debugfs_restriction_prop (property_service (set)))
+(allow vendor_init debugfs_restriction_prop (file (read getattr map open)))
+;;* lmx 155 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 debugfs_restriction_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init drm_config_prop (property_service (set)))
+(allow vendor_init drm_config_prop (file (read getattr map open)))
+;;* lmx 156 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 drm_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init drm_service_config_prop (property_service (set)))
+(allow vendor_init drm_service_config_prop (file (read getattr map open)))
+;;* lmx 159 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 drm_service_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_camera_prop (property_service (set)))
+(allow vendor_init exported_camera_prop (file (read getattr map open)))
+;;* lmx 160 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 exported_camera_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_config_prop (property_service (set)))
+(allow vendor_init exported_config_prop (file (read getattr map open)))
+;;* lmx 161 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 exported_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_default_prop (property_service (set)))
+(allow vendor_init exported_default_prop (file (read getattr map open)))
+;;* lmx 162 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 exported_default_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init ffs_config_prop (property_service (set)))
+(allow vendor_init ffs_config_prop (file (read getattr map open)))
+;;* lmx 163 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 ffs_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init framework_watchdog_config_prop (property_service (set)))
+(allow vendor_init framework_watchdog_config_prop (file (read getattr map open)))
+;;* lmx 164 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 framework_watchdog_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init graphics_config_prop (property_service (set)))
+(allow vendor_init graphics_config_prop (file (read getattr map open)))
+;;* lmx 165 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 graphics_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init hdmi_config_prop (property_service (set)))
+(allow vendor_init hdmi_config_prop (file (read getattr map open)))
+;;* lmx 166 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 hdmi_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init hw_timeout_multiplier_prop (property_service (set)))
+(allow vendor_init hw_timeout_multiplier_prop (file (read getattr map open)))
+;;* lmx 167 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 hw_timeout_multiplier_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init hypervisor_prop (property_service (set)))
+(allow vendor_init hypervisor_prop (file (read getattr map open)))
+;;* lmx 168 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 hypervisor_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init hypervisor_restricted_prop (property_service (set)))
+(allow vendor_init hypervisor_restricted_prop (file (read getattr map open)))
+;;* lmx 169 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 hypervisor_restricted_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init incremental_prop (property_service (set)))
+(allow vendor_init incremental_prop (file (read getattr map open)))
+;;* lmx 170 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 incremental_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init input_device_config_prop (property_service (set)))
+(allow vendor_init input_device_config_prop (file (read getattr map open)))
+;;* lmx 171 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 input_device_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init keyguard_config_prop (property_service (set)))
+(allow vendor_init keyguard_config_prop (file (read getattr map open)))
+;;* lmx 172 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 keyguard_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init keystore_config_prop (property_service (set)))
+(allow vendor_init keystore_config_prop (file (read getattr map open)))
+;;* lmx 173 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 keystore_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init lmkd_config_prop (property_service (set)))
+(allow vendor_init lmkd_config_prop (file (read getattr map open)))
+;;* lmx 174 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 lmkd_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init media_config_prop (property_service (set)))
+(allow vendor_init media_config_prop (file (read getattr map open)))
+;;* lmx 175 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 media_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init media_variant_prop (property_service (set)))
+(allow vendor_init media_variant_prop (file (read getattr map open)))
+;;* lmx 176 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 media_variant_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init mediadrm_config_prop (property_service (set)))
+(allow vendor_init mediadrm_config_prop (file (read getattr map open)))
+;;* lmx 177 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 mediadrm_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init mm_events_config_prop (property_service (set)))
+(allow vendor_init mm_events_config_prop (file (read getattr map open)))
+;;* lmx 178 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 mm_events_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init oem_unlock_prop (property_service (set)))
+(allow vendor_init oem_unlock_prop (file (read getattr map open)))
+;;* lmx 179 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 oem_unlock_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init ota_build_prop (property_service (set)))
+(allow vendor_init ota_build_prop (file (read getattr map open)))
+;;* lmx 180 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 ota_build_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init packagemanager_config_prop (property_service (set)))
+(allow vendor_init packagemanager_config_prop (file (read getattr map open)))
+;;* lmx 181 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 packagemanager_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init quick_start_prop (property_service (set)))
+(allow vendor_init quick_start_prop (file (read getattr map open)))
+;;* lmx 182 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 quick_start_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init recovery_config_prop (property_service (set)))
+(allow vendor_init recovery_config_prop (file (read getattr map open)))
+;;* lmx 183 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 recovery_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init recovery_usb_config_prop (property_service (set)))
+(allow vendor_init recovery_usb_config_prop (file (read getattr map open)))
+;;* lmx 184 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 recovery_usb_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init sendbug_config_prop (property_service (set)))
+(allow vendor_init sendbug_config_prop (file (read getattr map open)))
+;;* lmx 185 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 sendbug_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init soc_prop (property_service (set)))
+(allow vendor_init soc_prop (file (read getattr map open)))
+;;* lmx 186 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 soc_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init storage_config_prop (property_service (set)))
+(allow vendor_init storage_config_prop (file (read getattr map open)))
+;;* lmx 187 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 storage_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init storagemanager_config_prop (property_service (set)))
+(allow vendor_init storagemanager_config_prop (file (read getattr map open)))
+;;* lmx 188 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 storagemanager_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init surfaceflinger_prop (property_service (set)))
+(allow vendor_init surfaceflinger_prop (file (read getattr map open)))
+;;* lmx 189 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 surfaceflinger_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init suspend_prop (property_service (set)))
+(allow vendor_init suspend_prop (file (read getattr map open)))
+;;* lmx 190 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 suspend_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init systemsound_config_prop (property_service (set)))
+(allow vendor_init systemsound_config_prop (file (read getattr map open)))
+;;* lmx 191 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 systemsound_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init telephony_config_prop (property_service (set)))
+(allow vendor_init telephony_config_prop (file (read getattr map open)))
+;;* lmx 192 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 telephony_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init threadnetwork_config_prop (property_service (set)))
+(allow vendor_init threadnetwork_config_prop (file (read getattr map open)))
+;;* lmx 193 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 threadnetwork_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init tombstone_config_prop (property_service (set)))
+(allow vendor_init tombstone_config_prop (file (read getattr map open)))
+;;* lmx 194 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 tombstone_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init usb_config_prop (property_service (set)))
+(allow vendor_init usb_config_prop (file (read getattr map open)))
+;;* lmx 195 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 usb_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init userspace_reboot_config_prop (property_service (set)))
+(allow vendor_init userspace_reboot_config_prop (file (read getattr map open)))
+;;* lmx 196 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 userspace_reboot_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vehicle_hal_prop (property_service (set)))
+(allow vendor_init vehicle_hal_prop (file (read getattr map open)))
+;;* lmx 197 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 vehicle_hal_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vendor_security_patch_level_prop (property_service (set)))
+(allow vendor_init vendor_security_patch_level_prop (file (read getattr map open)))
+;;* lmx 198 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 vendor_security_patch_level_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vendor_socket_hook_prop (property_service (set)))
+(allow vendor_init vendor_socket_hook_prop (file (read getattr map open)))
+;;* lmx 199 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 vendor_socket_hook_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init virtual_ab_prop (property_service (set)))
+(allow vendor_init virtual_ab_prop (file (read getattr map open)))
+;;* lmx 200 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 virtual_ab_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vndk_prop (property_service (set)))
+(allow vendor_init vndk_prop (file (read getattr map open)))
+;;* lmx 201 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 vndk_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vts_config_prop (property_service (set)))
+(allow vendor_init vts_config_prop (file (read getattr map open)))
+;;* lmx 202 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 vts_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vold_config_prop (property_service (set)))
+(allow vendor_init vold_config_prop (file (read getattr map open)))
+;;* lmx 203 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 vold_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init wifi_config_prop (property_service (set)))
+(allow vendor_init wifi_config_prop (file (read getattr map open)))
+;;* lmx 204 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 wifi_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init zram_config_prop (property_service (set)))
+(allow vendor_init zram_config_prop (file (read getattr map open)))
+;;* lmx 205 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 zram_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init zygote_config_prop (property_service (set)))
+(allow vendor_init zygote_config_prop (file (read getattr map open)))
+;;* lmx 206 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 zygote_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init dck_prop (property_service (set)))
+(allow vendor_init dck_prop (file (read getattr map open)))
+;;* lmx 207 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 dck_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init tuner_config_prop (property_service (set)))
+(allow vendor_init tuner_config_prop (file (read getattr map open)))
+;;* lmx 208 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 tuner_config_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init usb_uvc_enabled_prop (property_service (set)))
+(allow vendor_init usb_uvc_enabled_prop (file (read getattr map open)))
+;;* lmx 209 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 usb_uvc_enabled_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init setupwizard_mode_prop (property_service (set)))
+(allow vendor_init setupwizard_mode_prop (file (read getattr map open)))
+;;* lmx 210 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 setupwizard_mode_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init pm_archiving_enabled_prop (property_service (set)))
+(allow vendor_init pm_archiving_enabled_prop (file (read getattr map open)))
+;;* lmx 211 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 pm_archiving_enabled_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init trusty_security_vm_sys_vendor_prop (property_service (set)))
+(allow vendor_init trusty_security_vm_sys_vendor_prop (file (read getattr map open)))
+;;* lmx 212 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_233 trusty_security_vm_sys_vendor_prop (property_service (set)))
+;;* lme
+
+;;* lmx 279 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_232 default_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 282 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_234 rebootescrow_hal_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 285 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_234 virtual_face_hal_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 291 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_234 virtual_fingerprint_hal_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 361 system/sepolicy/public/property.te
+
+(neverallow base_typeattr_234 vendor_default_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1 system/sepolicy/private/attributes
+
+(neverallow base_typeattr_235 domain (process (fork)))
+;;* lme
+
+;;* lmx 1 system/sepolicy/private/attributes
+
+(neverallow base_typeattr_236 domain (process (fork)))
+;;* lme
+
+;;* lmx 1 system/sepolicy/private/attributes
+
+(neverallow base_typeattr_237 domain (process (fork)))
+;;* lme
+
+(allow init aconfigd_exec (file (read getattr map execute open)))
+(allow init aconfigd (process (transition)))
+(allow aconfigd aconfigd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init aconfigd (process (noatsecure)))
+(allow init aconfigd (process (siginh rlimitinh)))
+(typetransition init aconfigd_exec process aconfigd)
+(allow aconfigd metadata_file (dir (search)))
+(allow aconfigd aconfig_storage_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow aconfigd aconfig_storage_flags_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow aconfigd aconfig_storage_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow aconfigd aconfig_storage_flags_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow aconfigd kmsg_device (chr_file (write)))
+(allow aconfigd vendor_aconfig_storage_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow aconfigd vendor_aconfig_storage_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow aconfigd apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow aconfigd apex_mnt_dir (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit aconfigd apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 37 system/sepolicy/private/aconfigd.te
+
+(neverallow base_typeattr_238 aconfigd (process (transition)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/aconfigd.te
+
+(neverallow base_typeattr_239 aconfigd (process (dyntransition)))
+;;* lme
+
+;;* lmx 48 system/sepolicy/private/aconfigd.te
+
+(neverallow base_typeattr_240 aconfig_storage_metadata_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 54 system/sepolicy/private/aconfigd.te
+
+(neverallow base_typeattr_240 aconfig_storage_metadata_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/aconfigd.te
+
+(neverallow base_typeattr_240 aconfig_storage_flags_metadata_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 70 system/sepolicy/private/aconfigd.te
+
+(neverallow base_typeattr_240 aconfig_storage_flags_metadata_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow init aconfigd_mainline_exec (file (read getattr map execute open)))
+(allow init aconfigd_mainline (process (transition)))
+(allow aconfigd_mainline aconfigd_mainline_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init aconfigd_mainline (process (noatsecure)))
+(allow init aconfigd_mainline (process (siginh rlimitinh)))
+(typetransition init aconfigd_mainline_exec process aconfigd_mainline)
+(allow aconfigd_mainline metadata_file (dir (search)))
+(allow aconfigd_mainline aconfig_storage_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow aconfigd_mainline aconfig_storage_flags_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow aconfigd_mainline aconfig_storage_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow aconfigd_mainline aconfig_storage_flags_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow aconfigd_mainline kmsg_device (chr_file (write)))
+(allow aconfigd_mainline apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow aconfigd_mainline apex_mnt_dir (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit aconfigd_mainline apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 37 system/sepolicy/private/aconfigd_mainline.te
+
+(neverallow base_typeattr_238 aconfigd_mainline (process (transition)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/aconfigd_mainline.te
+
+(neverallow base_typeattr_239 aconfigd_mainline (process (dyntransition)))
+;;* lme
+
+(allow init adbd_exec (file (read getattr map execute open)))
+(allow init adbd (process (transition)))
+(allow adbd adbd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init adbd (process (noatsecure)))
+(allow init adbd (process (siginh rlimitinh)))
+(typetransition init adbd_exec process adbd)
+(allow adbd shell_exec (file (read getattr map execute open)))
+(allow adbd shell (process (transition)))
+(allow shell shell_exec (file (read getattr map execute open entrypoint)))
+(allow shell adbd (process (sigchld)))
+(dontaudit adbd shell (process (noatsecure)))
+(allow adbd shell (process (siginh rlimitinh)))
+(typetransition adbd shell_exec process shell)
+(allow adbd self (process (setcurrent)))
+(allow adbd adbd_tradeinmode (process (dyntransition)))
+(allow adbd traced_consumer_socket (sock_file (write)))
+(allow adbd traced (unix_stream_socket (connectto)))
+(allow adbd shell (process (signal noatsecure)))
+(allow adbd self (capability (setgid setuid)))
+(allow adbd self (cap_userns (setgid setuid)))
+(allow adbd self (capability (setpcap)))
+(allow adbd self (cap_userns (setpcap)))
+(dontaudit adbd self (capability (sys_resource)))
+(dontaudit adbd self (cap_userns (sys_resource)))
+(allow adbd functionfs (dir (search)))
+(allow adbd functionfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx adbd functionfs (ioctl file (0x6703 0x6782)))
+(allow adbd trace_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd trace_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd profman_dump_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd profman_dump_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd tmpfs (dir (search)))
+(allow adbd rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd tmpfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd sdcard_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow adbd fuse (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow adbd sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow adbd fuse (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow adbd anr_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd anr_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd vendor_framework_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd vendor_framework_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd property_socket (sock_file (write)))
+(allow adbd init (unix_stream_socket (connectto)))
+(allow adbd shell_prop (property_service (set)))
+(allow adbd shell_prop (file (read getattr map open)))
+(allow adbd property_socket (sock_file (write)))
+(allow adbd init (unix_stream_socket (connectto)))
+(allow adbd powerctl_prop (property_service (set)))
+(allow adbd powerctl_prop (file (read getattr map open)))
+(allow adbd ffs_config_prop (file (read getattr map open)))
+(allow adbd property_socket (sock_file (write)))
+(allow adbd init (unix_stream_socket (connectto)))
+(allow adbd ffs_control_prop (property_service (set)))
+(allow adbd ffs_control_prop (file (read getattr map open)))
+(allow adbd property_socket (sock_file (write)))
+(allow adbd init (unix_stream_socket (connectto)))
+(allow adbd adbd_tradeinmode_prop (property_service (set)))
+(allow adbd adbd_tradeinmode_prop (file (read getattr map open)))
+(allow adbd property_socket (sock_file (write)))
+(allow adbd init (unix_stream_socket (connectto)))
+(allow adbd ctl_mdnsd_prop (property_service (set)))
+(allow adbd ctl_mdnsd_prop (file (read getattr map open)))
+(allow adbd system_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow adbd servicemanager (binder (call transfer)))
+(allow servicemanager adbd (binder (call transfer)))
+(allow servicemanager adbd (dir (search)))
+(allow servicemanager adbd (file (read open)))
+(allow servicemanager adbd (process (getattr)))
+(allow adbd surfaceflinger (binder (call transfer)))
+(allow surfaceflinger adbd (binder (transfer)))
+(allow adbd surfaceflinger (fd (use)))
+(allow adbd gpuservice (binder (call transfer)))
+(allow gpuservice adbd (binder (transfer)))
+(allow adbd gpuservice (fd (use)))
+(allow adbd gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow adbd gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow adbd system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd adb_keys_file (dir (search)))
+(allow adbd adb_keys_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd app_data_file (dir (search)))
+(allow adbd app_data_file (sock_file (write)))
+(allow adbd appdomain (unix_stream_socket (connectto)))
+(allow adbd zygote_exec (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd kernel (security (read_policy)))
+(allow adbd service_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd property_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd sepolicy_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd config_gz (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd proc_net_tcp_udp (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd gpu_service (service_manager (find)))
+(allow adbd surfaceflinger_service (service_manager (find)))
+(allow adbd bootchart_data_file (dir (search)))
+(allow adbd bootchart_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd storage_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd storage_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd mnt_user_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd mnt_user_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow adbd media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow adbd apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd perfetto (process (signal)))
+(allow adbd perfetto_traces_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd perfetto_traces_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd perfetto_traces_profiling_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd perfetto_traces_profiling_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd perfetto_configs_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow adbd perfetto_configs_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow adbd shell (unix_stream_socket (read write shutdown)))
+(allow adbd shell (fd (use)))
+(allow adbd shell_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow adbd shell_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow adbd vendor_apex_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd vendor_apex_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd vendor_apex_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd apex_data_file (dir (search)))
+(allow adbd staging_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd tombstone_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd tombstone_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd shell_test_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow adbd shell_test_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow adbd shell_test_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lmx 224 system/sepolicy/private/adbd.te
+
+(neverallow adbd base_typeattr_241 (process (transition)))
+;;* lme
+
+;;* lmx 230 system/sepolicy/private/adbd.te
+
+(neverallow adbd base_typeattr_242 (process (dyntransition)))
+;;* lme
+
+;;* lmx 233 system/sepolicy/private/adbd.te
+
+(neverallow base_typeattr_238 adbd (process (transition)))
+;;* lme
+
+;;* lmx 234 system/sepolicy/private/adbd.te
+
+(neverallow base_typeattr_239 adbd (process (dyntransition)))
+;;* lme
+
+(allow adbd cgroup_v2 (file (read)))
+(allow adbd_common mdnsd_socket (sock_file (write)))
+(allow adbd_common mdnsd (unix_stream_socket (connectto)))
+(dontaudit adbd_common self (socket (create)))
+(dontaudit adbd_common self (vsock_socket (create)))
+(allow adbd_common self (vsock_socket (read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+(allow adbd_common device_logging_prop (file (read getattr map open)))
+(allow adbd_common devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow adbd_common system_adbd_prop (file (read getattr map open)))
+(allow adbd_common test_harness_prop (file (read getattr map open)))
+(allow adbd_common property_socket (sock_file (write)))
+(allow adbd_common init (unix_stream_socket (connectto)))
+(allow adbd_common adbd_prop (property_service (set)))
+(allow adbd_common adbd_prop (file (read getattr map open)))
+(allow adbd_common property_socket (sock_file (write)))
+(allow adbd_common init (unix_stream_socket (connectto)))
+(allow adbd_common adbd_config_prop (property_service (set)))
+(allow adbd_common adbd_config_prop (file (read getattr map open)))
+(allow adbd_common serialno_prop (file (read getattr map open)))
+(allow adbd_tradeinmode tradeinmode_exec (file (read getattr map execute open)))
+(allow adbd_tradeinmode tradeinmode (process (transition)))
+(allow tradeinmode tradeinmode_exec (file (read getattr map execute open entrypoint)))
+(allow tradeinmode adbd_tradeinmode (process (sigchld)))
+(dontaudit adbd_tradeinmode tradeinmode (process (noatsecure)))
+(allow adbd_tradeinmode tradeinmode (process (siginh rlimitinh)))
+(typetransition adbd_tradeinmode tradeinmode_exec process tradeinmode)
+(allow adbd_tradeinmode adbd (unix_stream_socket (read write getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+(allow adbd_tradeinmode adbd (fd (use)))
+(allow adbd_tradeinmode adbd (unix_dgram_socket (write connect)))
+(allow adbd_tradeinmode functionfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd_tradeinmode functionfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow adbd_tradeinmode proc_uptime (file (ioctl read getattr lock map open watch watch_reads)))
+(allow adbd_tradeinmode rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow adbd_tradeinmode property_socket (sock_file (write)))
+(allow adbd_tradeinmode init (unix_stream_socket (connectto)))
+(allow adbd_tradeinmode ffs_control_prop (property_service (set)))
+(allow adbd_tradeinmode ffs_control_prop (file (read getattr map open)))
+(allow init apexd_exec (file (read getattr map execute open)))
+(allow init apexd (process (transition)))
+(allow apexd apexd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init apexd (process (noatsecure)))
+(allow init apexd (process (siginh rlimitinh)))
+(typetransition init apexd_exec process apexd)
+(allow apexd servicemanager (binder (call transfer)))
+(allow servicemanager apexd (binder (call transfer)))
+(allow servicemanager apexd (dir (search)))
+(allow servicemanager apexd (file (read open)))
+(allow servicemanager apexd (process (getattr)))
+(allow apexd apex_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_243 apex_service (service_manager (add)))
+;;* lme
+
+(allow apexd apex_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow apexd apex_data_file (file (relabelfrom)))
+(allow apexd metadata_file (dir (search)))
+(allow apexd apex_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow apexd apex_ota_reserved_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_ota_reserved_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow apexd apex_data_file_type (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_data_file_type (file (ioctl read write create getattr setattr lock relabelto append map unlink rename open watch watch_reads)))
+(allow apexd apex_module_data_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_module_data_file (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow apexd apex_rollback_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_rollback_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow apexd system_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd system_userdir_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd loop_control_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow apexd loop_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx apexd loop_device (ioctl blk_file (0x1261)))
+(allowx apexd loop_device (ioctl blk_file ((range 0x4c00 0x4c01) (range 0x4c04 0x4c05) (range 0x4c08 0x4c0a))))
+(allow apexd dev_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd dev_type (blk_file (getattr)))
+(allow apexd vd_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow apexd dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow apexd self (capability (chown dac_override dac_read_search fowner sys_admin)))
+(allow apexd self (cap_userns (chown dac_override dac_read_search fowner sys_admin)))
+(dontaudit apexd self (capability (fsetid)))
+(dontaudit apexd self (cap_userns (fsetid)))
+(allow apexd apex_mnt_dir (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd apex_mnt_dir (filesystem (mount unmount)))
+(allow apexd apex_mnt_dir (dir (mounton)))
+(allow apexd apex_mnt_dir (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow apexd apex_mnt_dir (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename mounton open watch watch_reads)))
+(allow apexd apex_info_file (file (relabelto)))
+(allow apexd apex_info_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow apexd staging_data_file (file (unlink)))
+(allow apexd staging_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd staging_data_file (file (ioctl read getattr lock map link open watch watch_reads)))
+(allow apexd staging_data_file (file (relabelto)))
+(allow apexd staging_data_file (file (rename)))
+(allow apexd vendor_apex_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd vendor_apex_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd vendor_apex_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd labeledfs (filesystem (mount unmount)))
+(allow apexd sysfs_type (dir (search)))
+(allow apexd sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd sysfs_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd sysfs_dm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd sysfs_dm (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow apexd sysfs_loop (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd sysfs_loop (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow apexd kmsg_device (chr_file (write lock append map open)))
+(allow apexd property_socket (sock_file (write)))
+(allow apexd init (unix_stream_socket (connectto)))
+(allow apexd powerctl_prop (property_service (set)))
+(allow apexd powerctl_prop (file (read getattr map open)))
+(allow apexd property_socket (sock_file (write)))
+(allow apexd init (unix_stream_socket (connectto)))
+(allow apexd ctl_apexd_prop (property_service (set)))
+(allow apexd ctl_apexd_prop (file (read getattr map open)))
+(allow apexd property_socket (sock_file (write)))
+(allow apexd init (unix_stream_socket (connectto)))
+(allow apexd ctl_apex_load_prop (property_service (set)))
+(allow apexd ctl_apex_load_prop (file (read getattr map open)))
+(allow apexd vold_service (service_manager (find)))
+(allow apexd vold (binder (call transfer)))
+(allow vold apexd (binder (transfer)))
+(allow apexd vold (fd (use)))
+(allow apexd system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow apexd system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow apexd devpts (chr_file (read write)))
+(typetransition apexd devpts chr_file apexd_devpts)
+(allow apexd apexd_devpts (chr_file (ioctl read write getattr open)))
+(allowx apexd apexd_devpts (ioctl chr_file ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+;;* lmx 146 system/sepolicy/private/apexd.te
+
+(neverallowx base_typeattr_239 apexd_devpts (ioctl chr_file (0x5412)))
+;;* lme
+
+(allow apexd file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allowx apexd staging_data_file (ioctl file (0x6601)))
+(allowx apexd staging_data_file (ioctl file (0xf512)))
+(allow apexd cold_boot_done_prop (file (read getattr map open)))
+(allow apexd apexd_config_prop (file (read getattr map open)))
+(allow apexd apexd_select_prop (file (read getattr map open)))
+(allow apexd apexd_payload_metadata_prop (file (read getattr map open)))
+(allow apexd property_socket (sock_file (write)))
+(allow apexd init (unix_stream_socket (connectto)))
+(allow apexd apexd_prop (property_service (set)))
+(allow apexd apexd_prop (file (read getattr map open)))
+(allow apexd otapreopt_chroot (fd (use)))
+(allow apexd postinstall_apex_mnt_dir (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow apexd postinstall_apex_mnt_dir (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow apexd postinstall_apex_mnt_dir (lnk_file (create)))
+(allow apexd proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow apexd dexopt_chroot_setup (fd (use)))
+(allow apexd derive_classpath_exec (file (read getattr map execute open)))
+(allow apexd apexd_derive_classpath (process (transition)))
+(allow apexd_derive_classpath derive_classpath_exec (file (read getattr map execute open entrypoint)))
+(allow apexd_derive_classpath apexd (process (sigchld)))
+(dontaudit apexd apexd_derive_classpath (process (noatsecure)))
+(allow apexd apexd_derive_classpath (process (siginh rlimitinh)))
+(typetransition apexd derive_classpath_exec process apexd_derive_classpath)
+(allow apexd property_socket (sock_file (write)))
+(allow apexd init (unix_stream_socket (connectto)))
+(allow apexd apex_ready_prop (property_service (set)))
+(allow apexd apex_ready_prop (file (read getattr map open)))
+(allow apexd statsdw_socket (sock_file (write)))
+(allow apexd statsd (unix_dgram_socket (sendto)))
+(allow apexd statsbootstrap_service (service_manager (find)))
+(allow apexd system_server (binder (call transfer)))
+(allow system_server apexd (binder (transfer)))
+(allow apexd system_server (fd (use)))
+;;* lmx 202 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_244 apex_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 203 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_244 apex_metadata_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 204 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_245 apex_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 205 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_245 apex_metadata_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 206 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_243 apex_mnt_dir (lnk_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 208 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_246 apex_module_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 209 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_246 apex_module_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 211 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_246 apex_rollback_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 212 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_246 apex_rollback_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 215 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_244 apexd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 218 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_243 apex_info_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 226 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_247 apex_mnt_dir (filesystem (mount unmount)))
+;;* lme
+
+;;* lmx 227 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_248 apex_mnt_dir (dir (mounton)))
+;;* lme
+
+;;* lmx 232 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_249 apex_service (service_manager (find)))
+;;* lme
+
+;;* lmx 234 system/sepolicy/private/apexd.te
+
+(neverallow base_typeattr_250 apexd (binder (call)))
+;;* lme
+
+;;* lmx 236 system/sepolicy/private/apexd.te
+
+(neverallow domain apexd (process (ptrace)))
+;;* lme
+
+(allow apexd_derive_classpath apexd (fd (use)))
+(allow apexd_derive_classpath apex_mnt_dir (file (write open)))
+(allow apexd_derive_classpath apexd_devpts (chr_file (read write)))
+(allow base_typeattr_251 proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_251 proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_251 proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain test_harness_prop (file (read getattr map open)))
+(allow appdomain boot_status_prop (file (read getattr map open)))
+(allow appdomain dalvik_config_prop_type (file (read getattr map open)))
+(allow appdomain media_config_prop (file (read getattr map open)))
+(allow appdomain packagemanager_config_prop (file (read getattr map open)))
+(allow appdomain radio_control_prop (file (read getattr map open)))
+(allow appdomain surfaceflinger_color_prop (file (read getattr map open)))
+(allow appdomain systemsound_config_prop (file (read getattr map open)))
+(allow appdomain telephony_config_prop (file (read getattr map open)))
+(allow appdomain userspace_reboot_config_prop (file (read getattr map open)))
+(allow appdomain vold_config_prop (file (read getattr map open)))
+(allow appdomain adbd_config_prop (file (read getattr map open)))
+(allow appdomain dck_prop (file (read getattr map open)))
+(allow appdomain persist_wm_debug_prop (file (read getattr map open)))
+(allow appdomain persist_sysui_builder_extras_prop (file (read getattr map open)))
+(allow appdomain persist_sysui_ranking_update_prop (file (read getattr map open)))
+(allow appdomain traced_oome_heap_session_count_prop (file (read getattr map open)))
+(allow appdomain camera2_extensions_prop (file (read getattr map open)))
+(allow appdomain camerax_extensions_prop (file (read getattr map open)))
+(dontaudit appdomain storage_stub_file (dir (getattr)))
+(dontaudit appdomain system_data_file (dir (write)))
+(dontaudit appdomain vendor_default_prop (file (read)))
+(allow base_typeattr_252 mnt_media_rw_file (dir (search)))
+(allow appdomain system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allow appdomain sendbug_config_prop (file (read getattr map open)))
+(allow appdomain graphics_config_prop (file (read getattr map open)))
+(allow appdomain camera_calibration_prop (file (read getattr map open)))
+(allow appdomain sqlite_log_prop (file (read getattr map open)))
+(allow appdomain font_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain font_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain apex_module_data_file (dir (search)))
+(allow appdomain apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain apex_art_data_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow appdomain tombstone_data_file (file (read getattr)))
+(allow base_typeattr_253 shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow base_typeattr_253 toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow base_typeattr_253 vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_253 vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_253 vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_253 vendor_app_file (file (execute)))
+(allow base_typeattr_254 vendor_microdroid_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 vendor_microdroid_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_254 vendor_microdroid_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain sdk_sandbox_all (binder (call transfer)))
+(allow sdk_sandbox_all appdomain (binder (transfer)))
+(allow appdomain sdk_sandbox_all (fd (use)))
+(allow appdomain virtual_camera (binder (call transfer)))
+(allow virtual_camera appdomain (binder (transfer)))
+(allow appdomain virtual_camera (fd (use)))
+(allow base_typeattr_254 storage_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 storage_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_254 mnt_user_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 mnt_user_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_254 sdcard_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow base_typeattr_254 fuse (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow base_typeattr_254 sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_254 fuse (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_254 media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow base_typeattr_254 media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_254 usb_device (chr_file (ioctl read write getattr)))
+(allow base_typeattr_254 usbaccessory_device (chr_file (read write getattr)))
+(allow base_typeattr_253 logd_socket (sock_file (write)))
+(allow base_typeattr_253 logd (unix_stream_socket (connectto)))
+(allow base_typeattr_254 keystore (keystore2_key (delete get_info grant rebind update use)))
+(allow base_typeattr_254 keystore_maintenance_service (service_manager (find)))
+(allow keystore base_typeattr_254 (dir (search)))
+(allow keystore base_typeattr_254 (file (read open)))
+(allow keystore base_typeattr_254 (process (getattr)))
+(allow base_typeattr_254 apc_service (service_manager (find)))
+(allow base_typeattr_254 keystore_service (service_manager (find)))
+(allow base_typeattr_254 legacykeystore_service (service_manager (find)))
+(allow base_typeattr_254 keystore (binder (call transfer)))
+(allow keystore base_typeattr_254 (binder (transfer)))
+(allow base_typeattr_254 keystore (fd (use)))
+(allow keystore base_typeattr_254 (binder (call transfer)))
+(allow base_typeattr_254 keystore (binder (transfer)))
+(allow keystore base_typeattr_254 (fd (use)))
+(allow credstore base_typeattr_254 (dir (search)))
+(allow credstore base_typeattr_254 (file (read open)))
+(allow credstore base_typeattr_254 (process (getattr)))
+(allow base_typeattr_254 credstore_service (service_manager (find)))
+(allow base_typeattr_254 credstore (binder (call transfer)))
+(allow credstore base_typeattr_254 (binder (transfer)))
+(allow base_typeattr_254 credstore (fd (use)))
+(allow credstore base_typeattr_254 (binder (call transfer)))
+(allow base_typeattr_254 credstore (binder (transfer)))
+(allow credstore base_typeattr_254 (fd (use)))
+(allow base_typeattr_254 persistent_data_block_service (service_manager (find)))
+(allow base_typeattr_254 pdx_display_client_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 pdx_display_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_254 pdx_display_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow base_typeattr_254 pdx_display_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow base_typeattr_254 pdx_display_client_server_type (fd (use)))
+(allow pdx_display_client_server_type base_typeattr_254 (fd (use)))
+(allow base_typeattr_254 pdx_display_manager_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 pdx_display_manager_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_254 pdx_display_manager_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow base_typeattr_254 pdx_display_manager_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow base_typeattr_254 pdx_display_manager_server_type (fd (use)))
+(allow pdx_display_manager_server_type base_typeattr_254 (fd (use)))
+(allow base_typeattr_254 pdx_display_vsync_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 pdx_display_vsync_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_254 pdx_display_vsync_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow base_typeattr_254 pdx_display_vsync_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow base_typeattr_254 pdx_display_vsync_server_type (fd (use)))
+(allow pdx_display_vsync_server_type base_typeattr_254 (fd (use)))
+(allow base_typeattr_254 pdx_performance_client_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_254 pdx_performance_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_254 pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow base_typeattr_254 pdx_performance_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow base_typeattr_254 pdx_performance_client_server_type (fd (use)))
+(allow pdx_performance_client_server_type base_typeattr_254 (fd (use)))
+(allow base_typeattr_254 pdx_bufferhub_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow base_typeattr_254 pdx_bufferhub_client_server_type (fd (use)))
+(allow pdx_bufferhub_client_server_type base_typeattr_254 (fd (use)))
+(allow base_typeattr_254 tun_device (chr_file (ioctl read write getattr append)))
+(allowx base_typeattr_254 tun_device (ioctl chr_file (0x54d2)))
+(allow appdomain self (process (execmem)))
+(allow appdomain ashmem_device (chr_file (execute)))
+(allow appdomain ashmem_libcutils_device (chr_file (execute)))
+(allow appdomain zygote (fd (use)))
+(allow appdomain app_zygote (fd (use)))
+(allow appdomain zygote_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow appdomain zygote (process (sigchld)))
+(allow appdomain dalvikcache_data_file (dir (getattr search)))
+(allow appdomain dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_255 rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_255 tmpfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_252 tmpfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain zygote (fifo_file (write)))
+(allow appdomain shell (process (sigchld)))
+(allow appdomain adbd (process (sigchld)))
+(allow appdomain devpts (chr_file (ioctl read write getattr)))
+(allow appdomain system_server (fd (use)))
+(allow appdomain system_server (fifo_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow appdomain system_server (unix_stream_socket (read write getattr getopt setopt shutdown)))
+(allow appdomain system_server (tcp_socket (read write getattr getopt shutdown)))
+(allow appdomain vold (fd (use)))
+(allow appdomain appdomain (fifo_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow appdomain surfaceflinger (unix_stream_socket (read write getattr getopt setopt shutdown)))
+(allow base_typeattr_256 app_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow base_typeattr_256 privapp_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow base_typeattr_256 storage_area_content_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow base_typeattr_256 app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_256 privapp_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_256 storage_area_content_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_256 storage_area_app_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_256 storage_area_dir (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allowx base_typeattr_256 app_data_file (ioctl file (0x6686)))
+(allowx base_typeattr_256 privapp_data_file (ioctl file (0x6686)))
+(allowx base_typeattr_256 storage_area_content_file (ioctl file (0x6686)))
+(allow base_typeattr_255 app_data_file (file (read write getattr map)))
+(allow base_typeattr_255 privapp_data_file (file (read write getattr map)))
+(allow base_typeattr_255 system_app_data_file (file (read write getattr map)))
+(allow base_typeattr_255 storage_area_content_file (file (read write getattr map)))
+(allow appdomain sdk_sandbox_data_file (file (read getattr)))
+(allow appdomain mnt_expand_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain keychain_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain keychain_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain keychain_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain misc_user_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain misc_user_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_257 textclassifier_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_257 textclassifier_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_257 textclassifier_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain oemfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain oemfs (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow appdomain system_file (file (getattr map execute execute_no_trans)))
+(allow appdomain system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain system_file (lnk_file (read getattr open)))
+(allow base_typeattr_257 vendor_file (dir (read open)))
+(allow appdomain vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain vendor_framework_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain vendor_framework_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain vendor_framework_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain vendor_public_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain vendor_public_framework_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain vendor_public_lib_file (file (read getattr map execute open)))
+(allow appdomain vendor_public_framework_file (file (read getattr map execute open)))
+(allow appdomain wallpaper_file (file (read write getattr map)))
+(allow appdomain ringtone_file (file (read write getattr map)))
+(allow appdomain shortcut_manager_icons (file (read getattr map)))
+(allow appdomain icon_file (file (read getattr map)))
+(allow appdomain anr_data_file (dir (search)))
+(allow appdomain anr_data_file (file (append open)))
+(allow appdomain tombstoned_java_trace_socket (sock_file (write)))
+(allow appdomain tombstoned (unix_stream_socket (connectto)))
+(allow appdomain tombstoned (fd (use)))
+(allow appdomain dumpstate (fifo_file (append)))
+(allow appdomain incidentd (fifo_file (append)))
+(allow appdomain dumpstate (fd (use)))
+(allow appdomain dumpstate (unix_stream_socket (read write getattr getopt shutdown)))
+(allow appdomain dumpstate (fifo_file (write getattr)))
+(allow appdomain shell_data_file (file (write getattr)))
+(allow appdomain incidentd (fd (use)))
+(allow appdomain incidentd (fifo_file (write getattr)))
+(allow appdomain statsdw_socket (sock_file (write)))
+(allow appdomain statsd (unix_dgram_socket (sendto)))
+(allow appdomain user_profile_root_file (dir (search)))
+(allow appdomain user_profile_data_file (dir (write lock open add_name remove_name search)))
+(allow appdomain user_profile_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow appdomain traced (fd (use)))
+(allow appdomain traced_tmpfs (file (read write getattr map)))
+(allow appdomain traced_producer_socket (sock_file (write)))
+(allow appdomain traced (unix_stream_socket (connectto)))
+(allow traced appdomain (fd (use)))
+(allow base_typeattr_257 gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_257 gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_257 sysfs_gpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain servicemanager (binder (call transfer)))
+(allow servicemanager appdomain (binder (call transfer)))
+(allow servicemanager appdomain (dir (search)))
+(allow servicemanager appdomain (file (read open)))
+(allow servicemanager appdomain (process (getattr)))
+(allow appdomain binderservicedomain (binder (call transfer)))
+(allow binderservicedomain appdomain (binder (transfer)))
+(allow appdomain binderservicedomain (fd (use)))
+(allow appdomain appdomain (binder (call transfer)))
+(allow appdomain appdomain (binder (transfer)))
+(allow appdomain appdomain (fd (use)))
+(allow appdomain ephemeral_app (binder (call transfer)))
+(allow ephemeral_app appdomain (binder (transfer)))
+(allow appdomain ephemeral_app (fd (use)))
+(allow base_typeattr_257 gpuservice (binder (call transfer)))
+(allow gpuservice base_typeattr_257 (binder (transfer)))
+(allow base_typeattr_257 gpuservice (fd (use)))
+(allow appdomain hal_graphics_composer (fd (use)))
+(allow appdomain appdomain (unix_stream_socket (read write getattr getopt shutdown)))
+(allow appdomain backup_data_file (file (read write getattr map)))
+(allow appdomain cache_backup_file (file (read write getattr map)))
+(allow appdomain cache_backup_file (dir (getattr)))
+(allow appdomain system_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain system_data_file (file (read getattr map)))
+(allow base_typeattr_255 media_rw_data_file (file (read getattr)))
+(allow base_typeattr_257 radio_data_file (file (read write getattr)))
+(allow appdomain dalvikcache_data_file (file (execute)))
+(allow appdomain dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain shared_relro_file (dir (search)))
+(allow appdomain shared_relro_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain apk_data_file (dir (ioctl read getattr lock open search)))
+(allow appdomain apk_data_file (file (ioctl read getattr lock map execute open execute_no_trans)))
+(allow appdomain resourcecache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain resourcecache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow appdomain logdr_socket (sock_file (write)))
+(allow appdomain logd (unix_stream_socket (connectto)))
+(allow appdomain zygote (unix_dgram_socket (write)))
+(allow appdomain console_device (chr_file (read write)))
+(allowx base_typeattr_258 self (ioctl tcp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx base_typeattr_258 self (ioctl udp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx base_typeattr_258 self (ioctl rawip_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx base_typeattr_258 self (ioctl tcp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx base_typeattr_258 self (ioctl udp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx base_typeattr_258 self (ioctl rawip_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx base_typeattr_258 self (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx base_typeattr_258 self (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx base_typeattr_258 self (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allow base_typeattr_257 ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_257 dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_257 dmabuf_system_secure_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_257 hal_audio (fd (use)))
+(allow base_typeattr_257 hal_camera (fd (use)))
+(allow base_typeattr_257 hal_tv_tuner_server (fd (use)))
+(allow base_typeattr_257 hal_power_server (fd (use)))
+(allow base_typeattr_257 hal_renderscript_hwservice (hwservice_manager (find)))
+(allow appdomain same_process_hal_file (file (read getattr map execute open)))
+(allow appdomain proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain app_fuse_file (file (read write getattr append map)))
+(allow appdomain runas_exec (file (getattr)))
+(allow appdomain high_barometer_quality_prop (file (read getattr map open)))
+(allow appdomain adbd (unix_stream_socket (connectto)))
+(allow appdomain adbd (fd (use)))
+(allow appdomain adbd (unix_stream_socket (ioctl read write getattr getopt shutdown)))
+(allow appdomain cache_file (dir (getattr)))
+(allow appdomain dropbox_data_file (file (read getattr)))
+(allow appdomain audioserver_tmpfs (file (read write getattr map)))
+(allow appdomain system_server_tmpfs (file (read write getattr map)))
+(allow appdomain zygote_tmpfs (file (read map)))
+;;* lmx 524 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_259 self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow base_typeattr_259 self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+(neverallow base_typeattr_259 self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow base_typeattr_259 self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+;;* lmx 527 system/sepolicy/private/app.te
+
+(neverallow appdomain dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 530 system/sepolicy/private/app.te
+
+(neverallow isolated_app graphics_device (chr_file (read write)))
+(neverallow shell graphics_device (chr_file (read write)))
+(neverallow untrusted_app graphics_device (chr_file (read write)))
+;;* lme
+
+;;* lmx 533 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_260 nfc_device (chr_file (read write)))
+;;* lme
+
+;;* lmx 535 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_258 hci_attach_dev (chr_file (read write)))
+;;* lme
+
+;;* lmx 536 system/sepolicy/private/app.te
+
+(neverallow appdomain tee_device (chr_file (read write)))
+;;* lme
+
+;;* lmx 546 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_261 domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow base_typeattr_261 domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow base_typeattr_261 domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow base_typeattr_261 domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow base_typeattr_261 domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 552 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_261 domain (netlink_kobject_uevent_socket (write append)))
+;;* lme
+
+;;* lmx 555 system/sepolicy/private/app.te
+
+(neverallow appdomain socket_device (sock_file (write)))
+;;* lme
+
+;;* lmx 558 system/sepolicy/private/app.te
+
+(neverallow appdomain adbd_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 559 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_262 rild_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 562 system/sepolicy/private/app.te
+
+(neverallow appdomain base_typeattr_263 (process (ptrace)))
+;;* lme
+
+;;* lmx 576 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_264 appdomain (process (ptrace)))
+;;* lme
+
+;;* lmx 580 system/sepolicy/private/app.te
+
+(neverallow appdomain base_typeattr_263 (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 581 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 base_typeattr_263 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 590 system/sepolicy/private/app.te
+
+(neverallow appdomain base_typeattr_266 (process (sigkill sigstop signal)))
+;;* lme
+
+;;* lmx 594 system/sepolicy/private/app.te
+
+(neverallow appdomain rootfs (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain rootfs (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain rootfs (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain rootfs (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain rootfs (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain rootfs (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain rootfs (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 598 system/sepolicy/private/app.te
+
+(neverallow appdomain system_file_type (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_file_type (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_file_type (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_file_type (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_file_type (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_file_type (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_file_type (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 602 system/sepolicy/private/app.te
+
+(neverallow appdomain exec_type (file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 609 system/sepolicy/private/app.te
+
+(neverallow appdomain system_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain system_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 613 system/sepolicy/private/app.te
+
+(neverallow appdomain drm_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain drm_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain drm_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain drm_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain drm_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain drm_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain drm_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 616 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_267 apk_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 619 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_267 apk_private_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 622 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_267 apk_private_tmp_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_tmp_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_tmp_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_tmp_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_tmp_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_tmp_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_private_tmp_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 625 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 shell_data_file (file (create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_265 shell_data_file (dir (create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_265 shell_data_file (lnk_file (create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_265 shell_data_file (chr_file (create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_265 shell_data_file (blk_file (create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_265 shell_data_file (sock_file (create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_265 shell_data_file (fifo_file (create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 628 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_258 bluetooth_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_258 bluetooth_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_258 bluetooth_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_258 bluetooth_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_258 bluetooth_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_258 bluetooth_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_258 bluetooth_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 629 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_268 credstore_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_268 credstore_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_268 credstore_data_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_268 credstore_data_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_268 credstore_data_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_268 credstore_data_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_268 credstore_data_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 632 system/sepolicy/private/app.te
+
+(neverallow appdomain keystore_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain keystore_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain keystore_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain keystore_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain keystore_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain keystore_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain keystore_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 635 system/sepolicy/private/app.te
+
+(neverallow appdomain systemkeys_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain systemkeys_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain systemkeys_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain systemkeys_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain systemkeys_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain systemkeys_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain systemkeys_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 638 system/sepolicy/private/app.te
+
+(neverallow appdomain wifi_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain wifi_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain wifi_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain wifi_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain wifi_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain wifi_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain wifi_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 641 system/sepolicy/private/app.te
+
+(neverallow appdomain dhcp_data_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain dhcp_data_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain dhcp_data_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain dhcp_data_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain dhcp_data_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain dhcp_data_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain dhcp_data_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 646 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_267 apk_tmp_file (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_tmp_file (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_tmp_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_tmp_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_tmp_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_tmp_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow base_typeattr_267 apk_tmp_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 649 system/sepolicy/private/app.te
+
+(neverallow appdomain efs_file (file (write)))
+(neverallow appdomain efs_file (dir (write)))
+(neverallow appdomain efs_file (lnk_file (write)))
+(neverallow appdomain efs_file (chr_file (write)))
+(neverallow appdomain efs_file (blk_file (write)))
+(neverallow appdomain efs_file (sock_file (write)))
+(neverallow appdomain efs_file (fifo_file (write)))
+;;* lme
+
+;;* lmx 650 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 efs_file (file (read)))
+(neverallow base_typeattr_265 efs_file (dir (read)))
+(neverallow base_typeattr_265 efs_file (lnk_file (read)))
+(neverallow base_typeattr_265 efs_file (chr_file (read)))
+(neverallow base_typeattr_265 efs_file (blk_file (read)))
+(neverallow base_typeattr_265 efs_file (sock_file (read)))
+(neverallow base_typeattr_265 efs_file (fifo_file (read)))
+;;* lme
+
+;;* lmx 654 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_269 sysfs (file (write)))
+(neverallow base_typeattr_269 sysfs (dir (write)))
+(neverallow base_typeattr_269 sysfs (lnk_file (write)))
+(neverallow base_typeattr_269 sysfs (chr_file (write)))
+(neverallow base_typeattr_269 sysfs (blk_file (write)))
+(neverallow base_typeattr_269 sysfs (sock_file (write)))
+(neverallow base_typeattr_269 sysfs (fifo_file (write)))
+;;* lme
+
+;;* lmx 656 system/sepolicy/private/app.te
+
+(neverallow appdomain proc (file (write)))
+(neverallow appdomain proc (dir (write)))
+(neverallow appdomain proc (lnk_file (write)))
+(neverallow appdomain proc (chr_file (write)))
+(neverallow appdomain proc (blk_file (write)))
+(neverallow appdomain proc (sock_file (write)))
+(neverallow appdomain proc (fifo_file (write)))
+;;* lme
+
+;;* lmx 659 system/sepolicy/private/app.te
+
+(neverallow appdomain kernel (system (syslog_read syslog_mod syslog_console)))
+;;* lme
+
+;;* lmx 662 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 base_typeattr_239 (security (compute_av check_context)))
+;;* lme
+
+;;* lmx 663 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 base_typeattr_239 (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 667 system/sepolicy/private/app.te
+
+(neverallow appdomain fs_type (filesystem (mount remount unmount relabelfrom relabelto associate quotamod quotaget watch)))
+;;* lme
+
+;;* lmx 678 system/sepolicy/private/app.te
+
+(neverallow appdomain dev_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow appdomain rootfs (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow appdomain tmpfs (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow appdomain system_file (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow appdomain apk_data_file (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow appdomain cache_file (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow appdomain cache_recovery_file (lnk_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 684 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 input_device (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 692 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_270 bluetooth_a2dp_offload_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow base_typeattr_270 bluetooth_audio_hal_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow base_typeattr_270 bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow base_typeattr_270 exported_bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lme
+
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app nfc_prop (property_service (set)))
+(allow system_app nfc_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app radio_control_prop (property_service (set)))
+(allow system_app radio_control_prop (file (read getattr map open)))
+;;* lmx 701 system/sepolicy/private/app.te
+
+(neverallow appdomain proc_uid_time_in_state (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 704 system/sepolicy/private/app.te
+
+(neverallow appdomain proc_uid_concurrent_active_time (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 707 system/sepolicy/private/app.te
+
+(neverallow appdomain proc_uid_concurrent_policy_time (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 710 system/sepolicy/private/app.te
+
+(neverallow appdomain proc_uid_cpupower (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 715 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 proc_net_tcp_udp (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 723 system/sepolicy/private/app.te
+
+(neverallow appdomain system_bootstrap_lib_file (file (read write append map execute open execute_no_trans)))
+;;* lme
+
+;;* lmx 725 system/sepolicy/private/app.te
+
+(neverallow appdomain system_bootstrap_lib_file (dir (read getattr open search)))
+;;* lme
+
+;;* lmx 744 system/sepolicy/private/app.te
+
+(neverallow isolated_app_all base_typeattr_271 (file (execute execute_no_trans)))
+(neverallow bluetooth base_typeattr_271 (file (execute execute_no_trans)))
+(neverallow nfc base_typeattr_271 (file (execute execute_no_trans)))
+(neverallow radio base_typeattr_271 (file (execute execute_no_trans)))
+(neverallow shared_relro base_typeattr_271 (file (execute execute_no_trans)))
+(neverallow system_app base_typeattr_271 (file (execute execute_no_trans)))
+(neverallow sdk_sandbox_all base_typeattr_271 (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 753 system/sepolicy/private/app.te
+
+(neverallow appdomain audio_device (chr_file (read write)))
+(neverallow appdomain camera_device (chr_file (read write)))
+(neverallow appdomain dm_device (chr_file (read write)))
+(neverallow appdomain radio_device (chr_file (read write)))
+(neverallow appdomain rpmsg_device (chr_file (read write)))
+;;* lme
+
+;;* lmx 760 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_272 video_device (chr_file (read write)))
+;;* lme
+
+;;* lmx 772 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_273 apk_data_file (dir (watch watch_reads)))
+;;* lme
+
+;;* lmx 780 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_273 apk_data_file (file (watch watch_reads)))
+;;* lme
+
+;;* lmx 784 system/sepolicy/private/app.te
+
+(neverallow appdomain system_server (udp_socket (ioctl create setattr lock relabelfrom relabelto append bind listen accept shutdown name_bind)))
+;;* lme
+
+;;* lmx 793 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 base_typeattr_274 (process (transition)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 base_typeattr_263 (process (dyntransition)))
+;;* lme
+
+;;* lmx 798 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_275 storage_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit appdomain system_font_fallback_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 802 system/sepolicy/private/app.te
+
+(neverallow appdomain system_font_fallback_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 804 system/sepolicy/private/app.te
+
+(neverallow base_typeattr_265 tombstone_data_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(typetransition base_typeattr_254 storage_area_dir fifo_file storage_area_content_file)
+(typetransition base_typeattr_254 storage_area_dir sock_file storage_area_content_file)
+(typetransition base_typeattr_254 storage_area_dir lnk_file storage_area_content_file)
+(typetransition base_typeattr_254 storage_area_dir dir storage_area_content_file)
+(typetransition base_typeattr_254 storage_area_dir file storage_area_content_file)
+;;* lmx 20 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 23 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 26 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 30 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all base_typeattr_276 (file (read)))
+(neverallow isolated_app_all base_typeattr_276 (file (read)))
+(neverallow ephemeral_app base_typeattr_276 (file (read)))
+(neverallow isolated_app base_typeattr_276 (file (read)))
+(neverallow isolated_compute_app base_typeattr_276 (file (read)))
+(neverallow mediaprovider base_typeattr_276 (file (read)))
+(neverallow untrusted_app base_typeattr_276 (file (read)))
+(neverallow untrusted_app_30 base_typeattr_276 (file (read)))
+(neverallow untrusted_app_29 base_typeattr_276 (file (read)))
+(neverallow untrusted_app_27 base_typeattr_276 (file (read)))
+(neverallow untrusted_app_25 base_typeattr_276 (file (read)))
+(neverallow mediaprovider_app base_typeattr_276 (file (read)))
+;;* lme
+
+;;* lmx 31 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all debugfs_type (file (read)))
+(neverallow untrusted_app_all debugfs_type (lnk_file (read)))
+(neverallow isolated_app_all debugfs_type (file (read)))
+(neverallow isolated_app_all debugfs_type (lnk_file (read)))
+(neverallow ephemeral_app debugfs_type (file (read)))
+(neverallow ephemeral_app debugfs_type (lnk_file (read)))
+(neverallow isolated_app debugfs_type (file (read)))
+(neverallow isolated_app debugfs_type (lnk_file (read)))
+(neverallow isolated_compute_app debugfs_type (file (read)))
+(neverallow isolated_compute_app debugfs_type (lnk_file (read)))
+(neverallow mediaprovider debugfs_type (file (read)))
+(neverallow mediaprovider debugfs_type (lnk_file (read)))
+(neverallow untrusted_app debugfs_type (file (read)))
+(neverallow untrusted_app debugfs_type (lnk_file (read)))
+(neverallow untrusted_app_30 debugfs_type (file (read)))
+(neverallow untrusted_app_30 debugfs_type (lnk_file (read)))
+(neverallow untrusted_app_29 debugfs_type (file (read)))
+(neverallow untrusted_app_29 debugfs_type (lnk_file (read)))
+(neverallow untrusted_app_27 debugfs_type (file (read)))
+(neverallow untrusted_app_27 debugfs_type (lnk_file (read)))
+(neverallow untrusted_app_25 debugfs_type (file (read)))
+(neverallow untrusted_app_25 debugfs_type (lnk_file (read)))
+(neverallow mediaprovider_app debugfs_type (file (read)))
+(neverallow mediaprovider_app debugfs_type (lnk_file (read)))
+;;* lme
+
+;;* lmx 36 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all service_manager_type (service_manager (add)))
+(neverallow isolated_app_all service_manager_type (service_manager (add)))
+(neverallow ephemeral_app service_manager_type (service_manager (add)))
+(neverallow isolated_app service_manager_type (service_manager (add)))
+(neverallow isolated_compute_app service_manager_type (service_manager (add)))
+(neverallow mediaprovider service_manager_type (service_manager (add)))
+(neverallow untrusted_app service_manager_type (service_manager (add)))
+(neverallow untrusted_app_30 service_manager_type (service_manager (add)))
+(neverallow untrusted_app_29 service_manager_type (service_manager (add)))
+(neverallow untrusted_app_27 service_manager_type (service_manager (add)))
+(neverallow untrusted_app_25 service_manager_type (service_manager (add)))
+(neverallow mediaprovider_app service_manager_type (service_manager (add)))
+;;* lme
+
+;;* lmx 39 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 40 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all vndservice_manager_type (service_manager (add find list)))
+(neverallow isolated_app_all vndservice_manager_type (service_manager (add find list)))
+(neverallow ephemeral_app vndservice_manager_type (service_manager (add find list)))
+(neverallow isolated_app vndservice_manager_type (service_manager (add find list)))
+(neverallow isolated_compute_app vndservice_manager_type (service_manager (add find list)))
+(neverallow mediaprovider vndservice_manager_type (service_manager (add find list)))
+(neverallow untrusted_app vndservice_manager_type (service_manager (add find list)))
+(neverallow untrusted_app_30 vndservice_manager_type (service_manager (add find list)))
+(neverallow untrusted_app_29 vndservice_manager_type (service_manager (add find list)))
+(neverallow untrusted_app_27 vndservice_manager_type (service_manager (add find list)))
+(neverallow untrusted_app_25 vndservice_manager_type (service_manager (add find list)))
+(neverallow mediaprovider_app vndservice_manager_type (service_manager (add find list)))
+;;* lme
+
+;;* lmx 44 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_277 property_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_277 init (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 46 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_277 property_type (property_service (set)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_all apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_all apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_all apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_all apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_all apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app_all apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app_all apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow ephemeral_app apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow ephemeral_app apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_compute_app apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_compute_app apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow mediaprovider apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow mediaprovider apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_30 apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_30 apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_29 apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_29 apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_27 apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_27 apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_25 apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow untrusted_app_25 apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow mediaprovider_app apk_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app apk_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_private_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow mediaprovider_app apk_private_tmp_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_private_tmp_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app apk_private_tmp_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_private_tmp_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app apk_private_tmp_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_all apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app apk_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app apk_private_tmp_file (file (ioctl write create setattr lock relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 53 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all net_dns_prop (file (read)))
+(neverallow isolated_app_all net_dns_prop (file (read)))
+(neverallow ephemeral_app net_dns_prop (file (read)))
+(neverallow isolated_app net_dns_prop (file (read)))
+(neverallow isolated_compute_app net_dns_prop (file (read)))
+(neverallow mediaprovider net_dns_prop (file (read)))
+(neverallow untrusted_app net_dns_prop (file (read)))
+(neverallow untrusted_app_30 net_dns_prop (file (read)))
+(neverallow untrusted_app_29 net_dns_prop (file (read)))
+(neverallow untrusted_app_27 net_dns_prop (file (read)))
+(neverallow untrusted_app_25 net_dns_prop (file (read)))
+(neverallow mediaprovider_app net_dns_prop (file (read)))
+;;* lme
+
+;;* lmx 56 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all radio_cdma_ecm_prop (file (read)))
+(neverallow isolated_app_all radio_cdma_ecm_prop (file (read)))
+(neverallow ephemeral_app radio_cdma_ecm_prop (file (read)))
+(neverallow isolated_app radio_cdma_ecm_prop (file (read)))
+(neverallow isolated_compute_app radio_cdma_ecm_prop (file (read)))
+(neverallow mediaprovider radio_cdma_ecm_prop (file (read)))
+(neverallow untrusted_app radio_cdma_ecm_prop (file (read)))
+(neverallow untrusted_app_30 radio_cdma_ecm_prop (file (read)))
+(neverallow untrusted_app_29 radio_cdma_ecm_prop (file (read)))
+(neverallow untrusted_app_27 radio_cdma_ecm_prop (file (read)))
+(neverallow untrusted_app_25 radio_cdma_ecm_prop (file (read)))
+(neverallow mediaprovider_app radio_cdma_ecm_prop (file (read)))
+;;* lme
+
+;;* lmx 62 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow isolated_app_all app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow ephemeral_app app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow isolated_app app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow isolated_compute_app app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow mediaprovider app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow untrusted_app app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow untrusted_app_30 app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow untrusted_app_29 app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow untrusted_app_27 app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow untrusted_app_25 app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+(neverallow mediaprovider_app app_exec_data_file (file (write create setattr relabelfrom relabelto append link rename)))
+;;* lme
+
+;;* lmx 73 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_278 app_data_file (file (execute_no_trans)))
+(neverallow base_typeattr_278 privapp_data_file (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 75 system/sepolicy/private/app_neverallows.te
+
+(neverallow appdomain storage_area_content_file (file (execute)))
+;;* lme
+
+;;* lmx 83 system/sepolicy/private/app_neverallows.te
+
+(neverallow appdomain storage_area_app_dir (file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain storage_area_app_dir (dir (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain storage_area_app_dir (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain storage_area_app_dir (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain storage_area_app_dir (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain storage_area_app_dir (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
+(neverallow appdomain storage_area_app_dir (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 97 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_279 dex2oat_exec (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 107 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all mlstrustedsubject (process (fork)))
+(neverallow isolated_app_all mlstrustedsubject (process (fork)))
+(neverallow ephemeral_app mlstrustedsubject (process (fork)))
+(neverallow isolated_app mlstrustedsubject (process (fork)))
+(neverallow isolated_compute_app mlstrustedsubject (process (fork)))
+(neverallow mediaprovider mlstrustedsubject (process (fork)))
+(neverallow untrusted_app mlstrustedsubject (process (fork)))
+(neverallow untrusted_app_30 mlstrustedsubject (process (fork)))
+(neverallow untrusted_app_29 mlstrustedsubject (process (fork)))
+(neverallow untrusted_app_27 mlstrustedsubject (process (fork)))
+(neverallow untrusted_app_25 mlstrustedsubject (process (fork)))
+(neverallow mediaprovider_app mlstrustedsubject (process (fork)))
+;;* lme
+
+;;* lmx 115 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all file_type (file (link)))
+(neverallow isolated_app_all file_type (file (link)))
+(neverallow ephemeral_app file_type (file (link)))
+(neverallow isolated_app file_type (file (link)))
+(neverallow isolated_compute_app file_type (file (link)))
+(neverallow mediaprovider file_type (file (link)))
+(neverallow untrusted_app file_type (file (link)))
+(neverallow untrusted_app_30 file_type (file (link)))
+(neverallow untrusted_app_29 file_type (file (link)))
+(neverallow untrusted_app_27 file_type (file (link)))
+(neverallow untrusted_app_25 file_type (file (link)))
+(neverallow mediaprovider_app file_type (file (link)))
+;;* lme
+
+;;* lmx 118 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app sysfs_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 121 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow isolated_app_all sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow ephemeral_app sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow isolated_app sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow isolated_compute_app sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow mediaprovider sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow untrusted_app sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow untrusted_app_30 sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow untrusted_app_29 sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow untrusted_app_27 sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow untrusted_app_25 sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow mediaprovider_app sysfs_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 124 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 128 system/sepolicy/private/app_neverallows.te
+
+(neverallowx untrusted_app_all domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_all domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_all domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_all domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx isolated_app_all domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx isolated_app_all domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx isolated_app_all domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx isolated_app_all domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx ephemeral_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx ephemeral_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx ephemeral_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx ephemeral_app domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx isolated_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx isolated_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx isolated_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx isolated_app domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx isolated_compute_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx isolated_compute_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx isolated_compute_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx isolated_compute_app domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx mediaprovider domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx mediaprovider domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx mediaprovider domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx mediaprovider domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx untrusted_app domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_30 domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_30 domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_30 domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_30 domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_29 domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_29 domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_29 domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_29 domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_27 domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_27 domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_27 domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_27 domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_25 domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_25 domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_25 domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx untrusted_app_25 domain (ioctl icmp_socket (0x6900 0x6902)))
+(neverallowx mediaprovider_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx mediaprovider_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx mediaprovider_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx mediaprovider_app domain (ioctl icmp_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 128 system/sepolicy/private/app_neverallows.te
+
+(neverallowx untrusted_app_all domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_all domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_all domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_all domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app_all domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app_all domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app_all domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app_all domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx ephemeral_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx ephemeral_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx ephemeral_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx ephemeral_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_compute_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_compute_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_compute_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx isolated_compute_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_30 domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_30 domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_30 domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_30 domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_29 domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_29 domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_29 domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_29 domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_27 domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_27 domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_27 domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_27 domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_25 domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_25 domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_25 domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx untrusted_app_25 domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaprovider_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 128 system/sepolicy/private/app_neverallows.te
+
+(neverallowx untrusted_app_all domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_all domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_all domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_all domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app_all domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app_all domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app_all domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app_all domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx ephemeral_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx ephemeral_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx ephemeral_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx ephemeral_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_compute_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_compute_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_compute_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx isolated_compute_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_30 domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_30 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_30 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_30 domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_29 domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_29 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_29 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_29 domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_27 domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_27 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_27 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_27 domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_25 domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_25 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_25 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx untrusted_app_25 domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaprovider_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+;;* lmx 129 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow isolated_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow isolated_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow mediaprovider base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow mediaprovider base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow untrusted_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow untrusted_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_selinux_socket (ioctl)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+;;* lme
+
+;;* lmx 142 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow untrusted_app_all base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_all base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow isolated_app_all base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow ephemeral_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow isolated_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow isolated_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow isolated_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow isolated_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow isolated_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow isolated_compute_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow mediaprovider base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow mediaprovider base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow mediaprovider base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow mediaprovider base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow mediaprovider base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow untrusted_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow untrusted_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow untrusted_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow untrusted_app_30 base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow untrusted_app_29 base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow untrusted_app_27 base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow untrusted_app_25 base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow mediaprovider_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 147 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app_all base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow ephemeral_app base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_app base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow isolated_compute_app base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_30 base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_29 base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_27 base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow untrusted_app_25 base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+(neverallow mediaprovider_app base_typeattr_239 (vsock_socket (ioctl create setattr lock relabelfrom relabelto append map bind connect listen accept setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 150 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow isolated_app_all domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow ephemeral_app domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow isolated_app domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow isolated_compute_app domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow mediaprovider domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow untrusted_app domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow untrusted_app_30 domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow untrusted_app_29 domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow untrusted_app_27 domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow untrusted_app_25 domain (netlink_route_socket (bind nlmsg_readpriv)))
+(neverallow mediaprovider_app domain (netlink_route_socket (bind nlmsg_readpriv)))
+;;* lme
+
+;;* lmx 151 system/sepolicy/private/app_neverallows.te
+
+(neverallow priv_app domain (netlink_route_socket (bind nlmsg_readpriv)))
+;;* lme
+
+;;* lmx 160 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_280 domain (netlink_route_socket (nlmsg_getneigh)))
+;;* lme
+
+;;* lmx 163 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_277 cache_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_277 cache_recovery_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 164 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_277 cache_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_277 cache_recovery_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 187 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_277 base_typeattr_281 (file (create unlink)))
+(neverallow base_typeattr_277 base_typeattr_281 (dir (create unlink)))
+(neverallow base_typeattr_277 base_typeattr_281 (lnk_file (create unlink)))
+(neverallow base_typeattr_277 base_typeattr_281 (chr_file (create unlink)))
+(neverallow base_typeattr_277 base_typeattr_281 (blk_file (create unlink)))
+(neverallow base_typeattr_277 base_typeattr_281 (sock_file (create unlink)))
+(neverallow base_typeattr_277 base_typeattr_281 (fifo_file (create unlink)))
+;;* lme
+
+;;* lmx 190 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_282 fuse_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 193 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all tun_device (chr_file (open)))
+(neverallow isolated_app_all tun_device (chr_file (open)))
+(neverallow ephemeral_app tun_device (chr_file (open)))
+(neverallow isolated_app tun_device (chr_file (open)))
+(neverallow isolated_compute_app tun_device (chr_file (open)))
+(neverallow mediaprovider tun_device (chr_file (open)))
+(neverallow untrusted_app tun_device (chr_file (open)))
+(neverallow untrusted_app_30 tun_device (chr_file (open)))
+(neverallow untrusted_app_29 tun_device (chr_file (open)))
+(neverallow untrusted_app_27 tun_device (chr_file (open)))
+(neverallow untrusted_app_25 tun_device (chr_file (open)))
+(neverallow mediaprovider_app tun_device (chr_file (open)))
+;;* lme
+
+;;* lmx 197 system/sepolicy/private/app_neverallows.te
+
+(neverallowx untrusted_app_all tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx isolated_app_all tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx ephemeral_app tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx isolated_app tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx isolated_compute_app tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx mediaprovider tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx untrusted_app tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx untrusted_app_30 tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx untrusted_app_29 tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx untrusted_app_27 tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx untrusted_app_25 tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+(neverallowx mediaprovider_app tun_device (ioctl chr_file ((range 0x0 0x53ff) (range 0x5500 0xffff))))
+;;* lme
+
+;;* lmx 197 system/sepolicy/private/app_neverallows.te
+
+(neverallowx untrusted_app_all tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx isolated_app_all tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx ephemeral_app tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx isolated_app tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx isolated_compute_app tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx mediaprovider tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx untrusted_app tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx untrusted_app_30 tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx untrusted_app_29 tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx untrusted_app_27 tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx untrusted_app_25 tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+(neverallowx mediaprovider_app tun_device (ioctl chr_file ((range 0x5400 0x544f) (range 0x5452 0x54d1) (range 0x54d3 0x54ff))))
+;;* lme
+
+;;* lmx 200 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 201 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow isolated_app_all anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow ephemeral_app anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow isolated_app anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow isolated_compute_app anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow mediaprovider anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow untrusted_app anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow untrusted_app_30 anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow untrusted_app_29 anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow untrusted_app_27 anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow untrusted_app_25 anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow mediaprovider_app anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 220 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_all proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_asound (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_kmsg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_loadavg (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_mounts (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_pagetypeinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_slabinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_stat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_swaps (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_uptime (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_version (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_vmallocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_vmstat (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app proc_allocinfo (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 224 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_282 proc_filesystems (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 227 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app_all config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow ephemeral_app config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_app config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow isolated_compute_app config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_30 config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_29 config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_27 config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow untrusted_app_25 config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+(neverallow mediaprovider_app config_gz (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 230 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app preloads_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 234 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all system_file (file (lock)))
+(neverallow isolated_app_all system_file (file (lock)))
+(neverallow ephemeral_app system_file (file (lock)))
+(neverallow isolated_app system_file (file (lock)))
+(neverallow isolated_compute_app system_file (file (lock)))
+(neverallow mediaprovider system_file (file (lock)))
+(neverallow untrusted_app system_file (file (lock)))
+(neverallow untrusted_app_30 system_file (file (lock)))
+(neverallow untrusted_app_29 system_file (file (lock)))
+(neverallow untrusted_app_27 system_file (file (lock)))
+(neverallow untrusted_app_25 system_file (file (lock)))
+(neverallow mediaprovider_app system_file (file (lock)))
+;;* lme
+
+;;* lmx 238 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all base_typeattr_239 (hwservice_manager (add list)))
+(neverallow isolated_app_all base_typeattr_239 (hwservice_manager (add list)))
+(neverallow ephemeral_app base_typeattr_239 (hwservice_manager (add list)))
+(neverallow isolated_app base_typeattr_239 (hwservice_manager (add list)))
+(neverallow isolated_compute_app base_typeattr_239 (hwservice_manager (add list)))
+(neverallow mediaprovider base_typeattr_239 (hwservice_manager (add list)))
+(neverallow untrusted_app base_typeattr_239 (hwservice_manager (add list)))
+(neverallow untrusted_app_30 base_typeattr_239 (hwservice_manager (add list)))
+(neverallow untrusted_app_29 base_typeattr_239 (hwservice_manager (add list)))
+(neverallow untrusted_app_27 base_typeattr_239 (hwservice_manager (add list)))
+(neverallow untrusted_app_25 base_typeattr_239 (hwservice_manager (add list)))
+(neverallow mediaprovider_app base_typeattr_239 (hwservice_manager (add list)))
+;;* lme
+
+;;* lmx 253 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all protected_hwservice (hwservice_manager (find)))
+(neverallow isolated_app_all protected_hwservice (hwservice_manager (find)))
+(neverallow ephemeral_app protected_hwservice (hwservice_manager (find)))
+(neverallow isolated_app protected_hwservice (hwservice_manager (find)))
+(neverallow isolated_compute_app protected_hwservice (hwservice_manager (find)))
+(neverallow mediaprovider protected_hwservice (hwservice_manager (find)))
+(neverallow untrusted_app protected_hwservice (hwservice_manager (find)))
+(neverallow untrusted_app_30 protected_hwservice (hwservice_manager (find)))
+(neverallow untrusted_app_29 protected_hwservice (hwservice_manager (find)))
+(neverallow untrusted_app_27 protected_hwservice (hwservice_manager (find)))
+(neverallow untrusted_app_25 protected_hwservice (hwservice_manager (find)))
+(neverallow mediaprovider_app protected_hwservice (hwservice_manager (find)))
+;;* lme
+
+;;* lmx 254 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all protected_service (service_manager (find)))
+(neverallow isolated_app_all protected_service (service_manager (find)))
+(neverallow ephemeral_app protected_service (service_manager (find)))
+(neverallow isolated_app protected_service (service_manager (find)))
+(neverallow isolated_compute_app protected_service (service_manager (find)))
+(neverallow mediaprovider protected_service (service_manager (find)))
+(neverallow untrusted_app protected_service (service_manager (find)))
+(neverallow untrusted_app_30 protected_service (service_manager (find)))
+(neverallow untrusted_app_29 protected_service (service_manager (find)))
+(neverallow untrusted_app_27 protected_service (service_manager (find)))
+(neverallow untrusted_app_25 protected_service (service_manager (find)))
+(neverallow mediaprovider_app protected_service (service_manager (find)))
+;;* lme
+
+;;* lmx 257 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app selinuxfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 264 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_283 proc_tty_drivers (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 265 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow isolated_app_all proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow ephemeral_app proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow isolated_app proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow isolated_compute_app proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow mediaprovider proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow untrusted_app proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow mediaprovider_app proc_tty_drivers (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 268 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 269 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 277 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_279 mnt_sdcard_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 280 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all incident_service (service_manager (find)))
+(neverallow isolated_app_all incident_service (service_manager (find)))
+(neverallow ephemeral_app incident_service (service_manager (find)))
+(neverallow isolated_app incident_service (service_manager (find)))
+(neverallow isolated_compute_app incident_service (service_manager (find)))
+(neverallow mediaprovider incident_service (service_manager (find)))
+(neverallow untrusted_app incident_service (service_manager (find)))
+(neverallow untrusted_app_30 incident_service (service_manager (find)))
+(neverallow untrusted_app_29 incident_service (service_manager (find)))
+(neverallow untrusted_app_27 incident_service (service_manager (find)))
+(neverallow untrusted_app_25 incident_service (service_manager (find)))
+(neverallow mediaprovider_app incident_service (service_manager (find)))
+;;* lme
+
+;;* lmx 283 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all stats_service (service_manager (find)))
+(neverallow isolated_app_all stats_service (service_manager (find)))
+(neverallow ephemeral_app stats_service (service_manager (find)))
+(neverallow isolated_app stats_service (service_manager (find)))
+(neverallow isolated_compute_app stats_service (service_manager (find)))
+(neverallow mediaprovider stats_service (service_manager (find)))
+(neverallow untrusted_app stats_service (service_manager (find)))
+(neverallow untrusted_app_30 stats_service (service_manager (find)))
+(neverallow untrusted_app_29 stats_service (service_manager (find)))
+(neverallow untrusted_app_27 stats_service (service_manager (find)))
+(neverallow untrusted_app_25 stats_service (service_manager (find)))
+(neverallow mediaprovider_app stats_service (service_manager (find)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_284 userdebug_or_eng_prop (file (read)))
+;;* lme
+
+;;* lmx 307 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_285 mdnsd_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 315 system/sepolicy/private/app_neverallows.te
+
+(neverallow base_typeattr_285 mdnsd (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 321 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow ephemeral_app domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_compute_app domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_30 domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_29 domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_27 domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow untrusted_app_25 domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow mediaprovider_app domain (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 324 system/sepolicy/private/app_neverallows.te
+
+(neverallow untrusted_app_all hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow ephemeral_app hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_compute_app hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_30 hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_29 hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_27 hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow untrusted_app_25 hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow mediaprovider_app hidraw_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(typetransition app_zygote tmpfs file app_zygote_tmpfs)
+(allow app_zygote app_zygote_tmpfs (file (read write getattr map)))
+(allow app_zygote self (capability (setgid setuid)))
+(allow app_zygote self (cap_userns (setgid setuid)))
+(allow app_zygote self (capability (setpcap)))
+(allow app_zygote self (cap_userns (setpcap)))
+(allow app_zygote self (process (setcurrent)))
+(allow app_zygote isolated_app (process (dyntransition)))
+(allow app_zygote self (process (execmem)))
+(allow app_zygote app_zygote_tmpfs (file (execute)))
+(allow app_zygote debugfs_trace_marker (file (getattr)))
+(allow app_zygote system_server (process (getpgid)))
+(allow app_zygote isolated_app (process (setpgid)))
+(dontaudit app_zygote mnt_expand_file (dir (getattr)))
+(allow app_zygote seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow app_zygote selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote selinuxfs (file (write lock append map open)))
+(allow app_zygote kernel (security (check_context)))
+(allow app_zygote selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow app_zygote selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote selinuxfs (file (write lock append map open)))
+(allow app_zygote kernel (security (compute_av)))
+(allow app_zygote self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow app_zygote zygote_tmpfs (file (read getattr)))
+(allow app_zygote zygote (fd (use)))
+(allow app_zygote zygote (process (sigchld)))
+(allow app_zygote dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow app_zygote dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote dalvikcache_data_file (file (execute)))
+(allow app_zygote app_zygote_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su app_zygote_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 63 system/sepolicy/private/app_zygote.te
+
+(neverallow base_typeattr_286 app_zygote_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow app_zygote apex_module_data_file (dir (search)))
+(allow app_zygote apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow app_zygote apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote apex_art_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow app_zygote apk_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow app_zygote oemfs (dir (search)))
+(allow app_zygote vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow app_zygote vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote vendor_apex_metadata_file (dir (getattr search)))
+(allow app_zygote system_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote system_data_file (file (read getattr map)))
+(allow app_zygote system_unsolzygote_socket (sock_file (write)))
+(allow app_zygote system_server (unix_dgram_socket (sendto)))
+(allow app_zygote device_config_runtime_native_prop (file (read getattr map open)))
+(allow app_zygote device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow app_zygote odsign_prop (file (read getattr map open)))
+(allow app_zygote resourcecache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow app_zygote resourcecache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+;;* lmx 105 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_287 (process (dyntransition)))
+;;* lme
+
+;;* lmx 108 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_288 (process (transition)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_239 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 116 system/sepolicy/private/app_zygote.te
+
+(neverallow base_typeattr_289 app_zygote (process (dyntransition)))
+;;* lme
+
+;;* lmx 119 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote property_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 120 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote property_type (property_service (set)))
+;;* lme
+
+;;* lmx 123 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote app_data_file_type (file (ioctl read write getattr lock append map execute open watch watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 129 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_290 (service_manager (find)))
+;;* lme
+
+;;* lmx 132 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote gpu_device (chr_file (ioctl read write getattr lock append map execute open watch watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 135 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote cache_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 136 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote cache_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 152 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote domain (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+(neverallow app_zygote domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow app_zygote domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow app_zygote domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_readpriv nlmsg_getneigh)))
+(neverallow app_zygote domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow app_zygote domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow app_zygote domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow app_zygote domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow app_zygote domain (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow app_zygote domain (icmp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow app_zygote domain (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (vsock_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow app_zygote domain (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 163 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_291 (unix_dgram_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 170 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_292 (unix_stream_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind connectto)))
+;;* lme
+
+;;* lmx 173 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote base_typeattr_239 (process (ptrace)))
+;;* lme
+
+;;* lmx 182 system/sepolicy/private/app_zygote.te
+
+(neverallow app_zygote bluetooth_a2dp_offload_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow app_zygote bluetooth_audio_hal_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow app_zygote bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow app_zygote exported_bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lme
+
+(allow init art_boot_exec (file (read getattr map execute open)))
+(allow init art_boot (process (transition)))
+(allow art_boot art_boot_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init art_boot (process (noatsecure)))
+(allow init art_boot (process (siginh rlimitinh)))
+(typetransition init art_boot_exec process art_boot)
+(allow art_boot device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow art_boot device_config_runtime_native_prop (file (read getattr map open)))
+(allow art_boot property_socket (sock_file (write)))
+(allow art_boot init (unix_stream_socket (connectto)))
+(allow art_boot dalvik_config_prop_type (property_service (set)))
+(allow art_boot dalvik_config_prop_type (file (read getattr map open)))
+(allow init art_exec_exec (file (read getattr map execute open)))
+(allow init art_exec (process (transition)))
+(allow art_exec art_exec_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init art_exec (process (noatsecure)))
+(allow init art_exec (process (siginh rlimitinh)))
+(typetransition init art_exec_exec process art_exec)
+(allow art_exec artd_exec (file (read getattr map execute open)))
+(allow art_exec artd (process (transition)))
+(allow artd artd_exec (file (read getattr map execute open entrypoint)))
+(allow artd art_exec (process (sigchld)))
+(dontaudit art_exec artd (process (noatsecure)))
+(allow art_exec artd (process (siginh rlimitinh)))
+(typetransition art_exec artd_exec process artd)
+(allow art_exec self (capability (sys_chroot)))
+(allow art_exec self (cap_userns (sys_chroot)))
+(allow art_exec pre_reboot_dexopt_file (dir (search)))
+(allow artd servicemanager (binder (call transfer)))
+(allow servicemanager artd (binder (call transfer)))
+(allow servicemanager artd (dir (search)))
+(allow servicemanager artd (file (read open)))
+(allow servicemanager artd (process (getattr)))
+(allow artd artd_service (service_manager (add find)))
+;;* lmx 12 system/sepolicy/private/artd.te
+
+(neverallow base_typeattr_293 artd_service (service_manager (add)))
+;;* lme
+
+(allow artd artd_pre_reboot_service (service_manager (add find)))
+;;* lmx 13 system/sepolicy/private/artd.te
+
+(neverallow base_typeattr_293 artd_pre_reboot_service (service_manager (add)))
+;;* lme
+
+(allow artd dumpstate (fifo_file (write getattr)))
+(allow artd dumpstate (fd (use)))
+(allow init artd_exec (file (read getattr map execute open)))
+(allow init artd (process (transition)))
+(allow artd artd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init artd (process (noatsecure)))
+(allow init artd (process (siginh rlimitinh)))
+(typetransition init artd_exec process artd)
+(allow artd device_config_runtime_native_prop (file (read getattr map open)))
+(allow artd device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow artd odsign_prop (file (read getattr map open)))
+(typetransition artd tmpfs file artd_tmpfs)
+(allow artd artd_tmpfs (file (read write getattr map)))
+(allow artd artd_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su artd_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 35 system/sepolicy/private/artd.te
+
+(neverallow base_typeattr_293 artd_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow artd mnt_expand_file (dir (getattr search)))
+(allow artd apk_data_file (dir (ioctl read write create getattr setattr lock relabelfrom open watch watch_reads add_name remove_name search)))
+(allow artd apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom open watch watch_reads add_name remove_name search)))
+(allow artd apk_tmp_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd oemfs (dir (getattr search)))
+(allow artd vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd vendor_apex_metadata_file (dir (getattr search)))
+(allow artd vendor_framework_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd vendor_framework_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd vendor_framework_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd dalvikcache_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow artd dalvikcache_data_file (file (ioctl read write create getattr setattr lock relabelto append map unlink rename open watch watch_reads)))
+(allow artd apex_module_data_file (dir (getattr search)))
+(allow artd apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd apex_art_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd self (capability (chown dac_override dac_read_search fowner)))
+(allow artd self (cap_userns (chown dac_override dac_read_search fowner)))
+(allow artd user_profile_root_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd user_profile_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow artd user_profile_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow artd app_data_file_type (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow artd app_data_file_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open watch watch_reads)))
+(allow artd privapp_data_file (lnk_file (read getattr)))
+(allow artd file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd selinuxfs (file (write lock append map open)))
+(allow artd kernel (security (check_context)))
+(allow artd rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd system_data_root_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd tmpfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd mnt_expand_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd system_userdir_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd system_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd art_exec_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow artd profman_exec (file (read getattr map execute open)))
+(allow artd profman (process (transition)))
+(allow profman profman_exec (file (read getattr map execute open entrypoint)))
+(allow profman artd (process (sigchld)))
+(dontaudit artd profman (process (noatsecure)))
+(allow artd profman (process (siginh rlimitinh)))
+(typetransition artd profman_exec process profman)
+(allow artd dex2oat_exec (file (read getattr map execute open)))
+(allow artd dex2oat (process (transition)))
+(allow dex2oat dex2oat_exec (file (read getattr map execute open entrypoint)))
+(allow dex2oat artd (process (sigchld)))
+(dontaudit artd dex2oat (process (noatsecure)))
+(allow artd dex2oat (process (siginh rlimitinh)))
+(typetransition artd dex2oat_exec process dex2oat)
+(allow artd artd_subprocess_type (process (sigkill)))
+(allow artd profman (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd profman (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd profman (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd dex2oat (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow artd dex2oat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd dex2oat (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow artd artd_tmpfs (file (open)))
+(allow artd art_exec (fd (use)))
+(allow artd self (capability (sys_admin)))
+(allow artd self (cap_userns (sys_admin)))
+(allow artd derive_classpath_exec (file (read getattr map execute open)))
+(allow artd derive_classpath (process (transition)))
+(allow derive_classpath derive_classpath_exec (file (read getattr map execute open entrypoint)))
+(allow derive_classpath artd (process (sigchld)))
+(dontaudit artd derive_classpath (process (noatsecure)))
+(allow artd derive_classpath (process (siginh rlimitinh)))
+(typetransition artd derive_classpath_exec process derive_classpath)
+(allow artd odrefresh_exec (file (read getattr map execute open)))
+(allow artd odrefresh (process (transition)))
+(allow odrefresh odrefresh_exec (file (read getattr map execute open entrypoint)))
+(allow odrefresh artd (process (sigchld)))
+(dontaudit artd odrefresh (process (noatsecure)))
+(allow artd odrefresh (process (siginh rlimitinh)))
+(typetransition artd odrefresh_exec process odrefresh)
+(allow artd pre_reboot_dexopt_file (dir (getattr search)))
+(allow artd rootfs (file (read getattr open)))
+(allow artd pre_reboot_dexopt_artd_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow artd pre_reboot_dexopt_artd_file (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow artd apex_art_data_file (dir (relabelto)))
+(allow artd odrefresh_data_file (dir (relabelto)))
+(allow artd apex_art_data_file (dir (mounton)))
+(allow artd odrefresh_data_file (dir (mounton)))
+(allow artd pre_reboot_dexopt_artd_file (dir (mounton)))
+;;* lmx 189 system/sepolicy/private/artd.te
+
+(neverallow artd base_typeattr_294 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 193 system/sepolicy/private/artd.te
+
+(neverallow artd base_typeattr_295 (process (transition)))
+;;* lme
+
+;;* lmx 200 system/sepolicy/private/artd.te
+
+(neverallow artd_subprocess_type self (process (setpgid)))
+;;* lme
+
+;;* lmx 201 system/sepolicy/private/artd.te
+
+(neverallow artd_subprocess_type base_typeattr_295 (process (transition)))
+;;* lme
+
+(allow atrace boottrace_data_file (dir (search)))
+(allow atrace boottrace_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow atrace debugfs_tracing (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow atrace debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow atrace debugfs_trace_marker (file (getattr)))
+(allow atrace traced_probes (fd (use)))
+(allow atrace traced_probes (fifo_file (write getattr)))
+(allow atrace property_socket (sock_file (write)))
+(allow atrace init (unix_stream_socket (connectto)))
+(allow atrace debug_prop (property_service (set)))
+(allow atrace debug_prop (file (read getattr map open)))
+(allow atrace base_typeattr_296 (service_manager (find)))
+(allow atrace servicemanager (service_manager (list)))
+(allow atrace servicemanager (binder (call transfer)))
+(allow servicemanager atrace (binder (call transfer)))
+(allow servicemanager atrace (dir (search)))
+(allow servicemanager atrace (file (read open)))
+(allow servicemanager atrace (process (getattr)))
+(allow atrace surfaceflinger (binder (call)))
+(allow atrace system_server (binder (call)))
+(allow atrace cameraserver (binder (call)))
+(dontaudit atrace hwservice_manager_type (hwservice_manager (find)))
+(dontaudit atrace service_manager_type (service_manager (find)))
+(dontaudit atrace domain (binder (call)))
+(allow atrace hwservicemanager_prop (file (read getattr map open)))
+(dontaudit atrace debugfs_tracing_debug (file (audit_access)))
+(allow init audioserver_exec (file (read getattr map execute open)))
+(allow init audioserver (process (transition)))
+(allow audioserver audioserver_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init audioserver (process (noatsecure)))
+(allow init audioserver (process (siginh rlimitinh)))
+(typetransition init audioserver_exec process audioserver)
+(typetransition audioserver tmpfs file audioserver_tmpfs)
+(allow audioserver audioserver_tmpfs (file (read write getattr map)))
+(allow audioserver sdcard_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow audioserver sdcard_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow audioserver sdcard_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow audioserver fuse (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow audioserver fuse (file (ioctl read getattr lock map open watch watch_reads)))
+(allow audioserver fuse (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow audioserver servicemanager (binder (call transfer)))
+(allow servicemanager audioserver (binder (call transfer)))
+(allow servicemanager audioserver (dir (search)))
+(allow servicemanager audioserver (file (read open)))
+(allow servicemanager audioserver (process (getattr)))
+(allow audioserver binderservicedomain (binder (call transfer)))
+(allow binderservicedomain audioserver (binder (transfer)))
+(allow audioserver binderservicedomain (fd (use)))
+(allow audioserver appdomain (binder (call transfer)))
+(allow appdomain audioserver (binder (transfer)))
+(allow audioserver appdomain (fd (use)))
+(allow audioserver system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow audioserver system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow audioserver system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow audioserver audioserver_service (service_manager (add find)))
+;;* lmx 32 system/sepolicy/private/audioserver.te
+
+(neverallow base_typeattr_297 audioserver_service (service_manager (add)))
+;;* lme
+
+(allow audioserver activity_service (service_manager (find)))
+(allow audioserver appops_service (service_manager (find)))
+(allow audioserver batterystats_service (service_manager (find)))
+(allow audioserver external_vibrator_service (service_manager (find)))
+(allow audioserver package_native_service (service_manager (find)))
+(allow audioserver permission_service (service_manager (find)))
+(allow audioserver permission_checker_service (service_manager (find)))
+(allow audioserver power_service (service_manager (find)))
+(allow audioserver scheduling_policy_service (service_manager (find)))
+(allow audioserver mediametrics_service (service_manager (find)))
+(allow audioserver sensor_privacy_service (service_manager (find)))
+(allow audioserver soundtrigger_middleware_service (service_manager (find)))
+(allow audioserver audio_service (service_manager (find)))
+(allow audioserver virtual_device_native_service (service_manager (find)))
+(allow audioserver property_socket (sock_file (write)))
+(allow audioserver init (unix_stream_socket (connectto)))
+(allow audioserver bluetooth_a2dp_offload_prop (property_service (set)))
+(allow audioserver bluetooth_a2dp_offload_prop (file (read getattr map open)))
+(allow audioserver property_socket (sock_file (write)))
+(allow audioserver init (unix_stream_socket (connectto)))
+(allow audioserver bluetooth_audio_hal_prop (property_service (set)))
+(allow audioserver bluetooth_audio_hal_prop (file (read getattr map open)))
+(allow audioserver property_socket (sock_file (write)))
+(allow audioserver init (unix_stream_socket (connectto)))
+(allow audioserver bluetooth_prop (property_service (set)))
+(allow audioserver bluetooth_prop (file (read getattr map open)))
+(allow audioserver property_socket (sock_file (write)))
+(allow audioserver init (unix_stream_socket (connectto)))
+(allow audioserver exported_bluetooth_prop (property_service (set)))
+(allow audioserver exported_bluetooth_prop (file (read getattr map open)))
+(allow audioserver audio_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow audioserver audio_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow audioserver audio_device (chr_file (read write)))
+(allow audioserver bluetooth_socket (sock_file (write)))
+(allow audioserver bluetooth (unix_stream_socket (connectto)))
+(allow audioserver adbd (fd (use)))
+(allow audioserver adbd (unix_stream_socket (read write)))
+(allow audioserver shell (fifo_file (read write)))
+(allow audioserver property_socket (sock_file (write)))
+(allow audioserver init (unix_stream_socket (connectto)))
+(allow audioserver log_tag_prop (property_service (set)))
+(allow audioserver log_tag_prop (file (read getattr map open)))
+(allow audioserver hal_audio_server (process (signal)))
+(allow audioserver sensorservice_service (service_manager (find)))
+(allow audioserver system_server (unix_stream_socket (read write)))
+(allow audioserver sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow audioserver self (capability2 (block_suspend)))
+(allow audioserver self (cap2_userns (block_suspend)))
+(allow audioserver system_suspend_server (binder (call transfer)))
+(allow system_suspend_server audioserver (binder (transfer)))
+(allow audioserver system_suspend_server (fd (use)))
+(allow audioserver system_suspend_hwservice (hwservice_manager (find)))
+(allow audioserver hwservicemanager (binder (call transfer)))
+(allow hwservicemanager audioserver (binder (call transfer)))
+(allow hwservicemanager audioserver (dir (search)))
+(allow hwservicemanager audioserver (file (read map open)))
+(allow hwservicemanager audioserver (process (getattr)))
+(allow audioserver hwservicemanager_prop (file (read getattr map open)))
+(allow audioserver hidl_manager_hwservice (hwservice_manager (find)))
+(allow audioserver hal_system_suspend_service (service_manager (find)))
+(allow audioserver servicemanager (binder (call transfer)))
+(allow servicemanager audioserver (binder (call transfer)))
+(allow servicemanager audioserver (dir (search)))
+(allow servicemanager audioserver (file (read open)))
+(allow servicemanager audioserver (process (getattr)))
+(allow audioserver audio_config_prop (file (read getattr map open)))
+(allow audioserver system_audio_config_prop (file (read getattr map open)))
+;;* lmx 102 system/sepolicy/private/audioserver.te
+
+(neverallow audioserver fs_type (file (execute_no_trans)))
+(neverallow audioserver file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 114 system/sepolicy/private/audioserver.te
+
+(neverallow audioserver domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow audioserver domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 115 system/sepolicy/private/audioserver.te
+
+(neverallow audioserver domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+(allow init auditctl_exec (file (read getattr map execute open)))
+(allow init auditctl (process (transition)))
+(allow auditctl auditctl_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init auditctl (process (noatsecure)))
+(allow init auditctl (process (siginh rlimitinh)))
+(typetransition init auditctl_exec process auditctl)
+(allow auditctl self (capability (audit_control)))
+(allow auditctl self (cap_userns (audit_control)))
+(allow auditctl self (netlink_audit_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_write)))
+(allow automotive_display_service fwk_automotive_display_hwservice (hwservice_manager (add find)))
+(allow automotive_display_service hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 8 system/sepolicy/private/automotive_display_service.te
+
+(neverallow base_typeattr_298 fwk_automotive_display_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow init automotive_display_service_exec (file (read getattr map execute open)))
+(allow init automotive_display_service (process (transition)))
+(allow automotive_display_service automotive_display_service_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init automotive_display_service (process (noatsecure)))
+(allow init automotive_display_service (process (siginh rlimitinh)))
+(typetransition init automotive_display_service_exec process automotive_display_service)
+(allow automotive_display_service servicemanager (binder (call transfer)))
+(allow servicemanager automotive_display_service (binder (call transfer)))
+(allow servicemanager automotive_display_service (dir (search)))
+(allow servicemanager automotive_display_service (file (read open)))
+(allow servicemanager automotive_display_service (process (getattr)))
+(allow automotive_display_service hwservicemanager (binder (call transfer)))
+(allow hwservicemanager automotive_display_service (binder (call transfer)))
+(allow hwservicemanager automotive_display_service (dir (search)))
+(allow hwservicemanager automotive_display_service (file (read map open)))
+(allow hwservicemanager automotive_display_service (process (getattr)))
+(allow automotive_display_service hwservicemanager_prop (file (read getattr map open)))
+(allow automotive_display_service surfaceflinger_service (service_manager (find)))
+(allow automotive_display_service surfaceflinger (binder (call transfer)))
+(allow surfaceflinger automotive_display_service (binder (transfer)))
+(allow automotive_display_service surfaceflinger (fd (use)))
+(allow automotive_display_service hal_graphics_mapper_hwservice (hwservice_manager (find)))
+(allow automotive_display_service hidl_token_hwservice (hwservice_manager (find)))
+(allow automotive_display_service gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow automotive_display_service gpu_device (dir (search)))
+(allow automotive_display_service fwk_automotive_display_service (service_manager (add find)))
+;;* lmx 41 system/sepolicy/private/automotive_display_service.te
+
+(neverallow base_typeattr_298 fwk_automotive_display_service (service_manager (add)))
+;;* lme
+
+(allow automotive_display_service hal_evs (binder (call transfer)))
+(allow hal_evs automotive_display_service (binder (transfer)))
+(allow automotive_display_service hal_evs (fd (use)))
+(allow init bert_collector_exec (file (read getattr map execute open)))
+(allow init bert_collector (process (transition)))
+(allow bert_collector bert_collector_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init bert_collector (process (noatsecure)))
+(allow init bert_collector (process (siginh rlimitinh)))
+(typetransition init bert_collector_exec process bert_collector)
+(allow bert_collector sysfs_firmware_acpi_tables (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bert_collector sysfs_firmware_acpi_tables (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bert_collector sysfs_firmware_acpi_tables (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow bert_collector servicemanager (binder (call transfer)))
+(allow servicemanager bert_collector (binder (call transfer)))
+(allow servicemanager bert_collector (dir (search)))
+(allow servicemanager bert_collector (file (read open)))
+(allow servicemanager bert_collector (process (getattr)))
+(allow bert_collector system_server (binder (call transfer)))
+(allow system_server bert_collector (binder (transfer)))
+(allow bert_collector system_server (fd (use)))
+(allow bert_collector dropbox_service (service_manager (find)))
+(allow bert_collector proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow binderservicedomain dumpstate (fd (use)))
+(allow binderservicedomain incidentd (fd (use)))
+(allow binderservicedomain dumpstate (unix_stream_socket (read write getattr getopt)))
+(allow binderservicedomain incidentd (unix_stream_socket (read write getattr getopt)))
+(allow binderservicedomain dumpstate (fifo_file (write getattr)))
+(allow binderservicedomain incidentd (fifo_file (write getattr)))
+(allow binderservicedomain shell_data_file (file (write getattr)))
+(allow binderservicedomain devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow binderservicedomain console_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow binderservicedomain appdomain (fd (use)))
+(allow binderservicedomain appdomain (fifo_file (write)))
+(allow binderservicedomain permission_service (service_manager (find)))
+(allow binderservicedomain keystore (keystore2_key (delete get_info rebind use)))
+(allow keystore binderservicedomain (dir (search)))
+(allow keystore binderservicedomain (file (read open)))
+(allow keystore binderservicedomain (process (getattr)))
+(allow binderservicedomain apc_service (service_manager (find)))
+(allow binderservicedomain keystore_service (service_manager (find)))
+(allow binderservicedomain legacykeystore_service (service_manager (find)))
+(allow binderservicedomain keystore (binder (call transfer)))
+(allow keystore binderservicedomain (binder (transfer)))
+(allow binderservicedomain keystore (fd (use)))
+(allow keystore binderservicedomain (binder (call transfer)))
+(allow binderservicedomain keystore (binder (transfer)))
+(allow keystore binderservicedomain (fd (use)))
+(allow binderservicedomain apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow binderservicedomain apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow binderservicedomain vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow binderservicedomain vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow binderservicedomain vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init blank_screen_exec (file (read getattr map execute open)))
+(allow init blank_screen (process (transition)))
+(allow blank_screen blank_screen_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init blank_screen (process (noatsecure)))
+(allow init blank_screen (process (siginh rlimitinh)))
+(typetransition init blank_screen_exec process blank_screen)
+(allow blkid block_device (dir (search)))
+(allow blkid userdata_block_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow blkid dm_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow blkid vold (fd (use)))
+(allow blkid vold (fifo_file (read write getattr)))
+(allow blkid blkid_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+;;* lmx 21 system/sepolicy/private/blkid.te
+
+(neverallow base_typeattr_299 blkid (process (transition)))
+;;* lme
+
+;;* lmx 22 system/sepolicy/private/blkid.te
+
+(neverallow base_typeattr_239 blkid (process (dyntransition)))
+;;* lme
+
+;;* lmx 23 system/sepolicy/private/blkid.te
+
+(neverallow blkid base_typeattr_300 (file (entrypoint)))
+;;* lme
+
+(allow blkid_untrusted block_device (dir (search)))
+(allow blkid_untrusted vold_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow blkid_untrusted vold (fd (use)))
+(allow blkid_untrusted vold (fifo_file (read write getattr)))
+(allow blkid_untrusted blkid_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+;;* lmx 33 system/sepolicy/private/blkid_untrusted.te
+
+(neverallow blkid_untrusted dm_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted root_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted frp_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted system_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted recovery_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted boot_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted userdata_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted cache_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted swap_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow blkid_untrusted metadata_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 36 system/sepolicy/private/blkid_untrusted.te
+
+(neverallow base_typeattr_299 blkid_untrusted (process (transition)))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/blkid_untrusted.te
+
+(neverallow base_typeattr_239 blkid_untrusted (process (dyntransition)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/blkid_untrusted.te
+
+(neverallow blkid_untrusted base_typeattr_300 (file (entrypoint)))
+;;* lme
+
+(typetransition bluetooth tmpfs file appdomain_tmpfs)
+(allow bluetooth bluetooth_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su bluetooth_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 5 system/sepolicy/private/bluetooth.te
+
+(neverallow base_typeattr_301 bluetooth_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow bluetooth appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 5 system/sepolicy/private/bluetooth.te
+
+(neverallow base_typeattr_302 base_typeattr_301 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/bluetooth.te
+
+(neverallow base_typeattr_303 bluetooth (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/bluetooth.te
+
+(neverallow base_typeattr_304 bluetooth (process (ptrace)))
+;;* lme
+
+(typetransition bluetooth bluetooth_data_file sock_file bluetooth_socket)
+(allowx bluetooth self (ioctl udp_socket (0x6900 0x6902)))
+(allowx bluetooth self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx bluetooth self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow bluetooth sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bluetooth self (capability2 (block_suspend)))
+(allow bluetooth self (cap2_userns (block_suspend)))
+(allow bluetooth system_suspend_server (binder (call transfer)))
+(allow system_suspend_server bluetooth (binder (transfer)))
+(allow bluetooth system_suspend_server (fd (use)))
+(allow bluetooth system_suspend_hwservice (hwservice_manager (find)))
+(allow bluetooth hwservicemanager (binder (call transfer)))
+(allow hwservicemanager bluetooth (binder (call transfer)))
+(allow hwservicemanager bluetooth (dir (search)))
+(allow hwservicemanager bluetooth (file (read map open)))
+(allow hwservicemanager bluetooth (process (getattr)))
+(allow bluetooth hwservicemanager_prop (file (read getattr map open)))
+(allow bluetooth hidl_manager_hwservice (hwservice_manager (find)))
+(allow bluetooth hal_system_suspend_service (service_manager (find)))
+(allow bluetooth servicemanager (binder (call transfer)))
+(allow servicemanager bluetooth (binder (call transfer)))
+(allow servicemanager bluetooth (dir (search)))
+(allow servicemanager bluetooth (file (read open)))
+(allow servicemanager bluetooth (process (getattr)))
+(allow bluetooth bluetooth_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow bluetooth bluetooth_data_file (file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow bluetooth bluetooth_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow bluetooth bluetooth_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow bluetooth bluetooth_data_file (fifo_file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow bluetooth bluetooth_logs_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow bluetooth bluetooth_logs_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow bluetooth bluetooth_socket (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow bluetooth self (capability (net_admin)))
+(allow bluetooth self (cap_userns (net_admin)))
+(allow bluetooth self (capability2 (wake_alarm)))
+(allow bluetooth self (cap2_userns (wake_alarm)))
+(allow bluetooth self (packet_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow bluetooth self (capability (net_bind_service net_admin net_raw)))
+(allow bluetooth self (cap_userns (net_bind_service net_admin net_raw)))
+(allow bluetooth self (tun_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow bluetooth tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx bluetooth tun_device (ioctl chr_file (0x54ca 0x54d2)))
+(allow bluetooth efs_file (dir (search)))
+(allow bluetooth uhid_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bluetooth gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bluetooth gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bluetooth proc_bluetooth_writable (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bluetooth proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bluetooth incremental_prop (file (read getattr map open)))
+(allow bluetooth device_logging_prop (file (read getattr map open)))
+(allow bluetooth property_socket (sock_file (write)))
+(allow bluetooth init (unix_stream_socket (connectto)))
+(allow bluetooth binder_cache_bluetooth_server_prop (property_service (set)))
+(allow bluetooth binder_cache_bluetooth_server_prop (file (read getattr map open)))
+;;* lmx 55 system/sepolicy/private/bluetooth.te
+
+(neverallow base_typeattr_305 binder_cache_bluetooth_server_prop (property_service (set)))
+;;* lme
+
+(allow bluetooth property_socket (sock_file (write)))
+(allow bluetooth init (unix_stream_socket (connectto)))
+(allow bluetooth bluetooth_a2dp_offload_prop (property_service (set)))
+(allow bluetooth bluetooth_a2dp_offload_prop (file (read getattr map open)))
+(allow bluetooth property_socket (sock_file (write)))
+(allow bluetooth init (unix_stream_socket (connectto)))
+(allow bluetooth bluetooth_audio_hal_prop (property_service (set)))
+(allow bluetooth bluetooth_audio_hal_prop (file (read getattr map open)))
+(allow bluetooth property_socket (sock_file (write)))
+(allow bluetooth init (unix_stream_socket (connectto)))
+(allow bluetooth bluetooth_prop (property_service (set)))
+(allow bluetooth bluetooth_prop (file (read getattr map open)))
+(allow bluetooth property_socket (sock_file (write)))
+(allow bluetooth init (unix_stream_socket (connectto)))
+(allow bluetooth exported_bluetooth_prop (property_service (set)))
+(allow bluetooth exported_bluetooth_prop (file (read getattr map open)))
+(allow bluetooth property_socket (sock_file (write)))
+(allow bluetooth init (unix_stream_socket (connectto)))
+(allow bluetooth pan_result_prop (property_service (set)))
+(allow bluetooth pan_result_prop (file (read getattr map open)))
+(allow bluetooth audioserver_service (service_manager (find)))
+(allow bluetooth bluetooth_service (service_manager (find)))
+(allow bluetooth drmserver_service (service_manager (find)))
+(allow bluetooth mediaserver_service (service_manager (find)))
+(allow bluetooth radio_service (service_manager (find)))
+(allow bluetooth app_api_service (service_manager (find)))
+(allow bluetooth system_api_service (service_manager (find)))
+(allow bluetooth network_stack_service (service_manager (find)))
+(allow bluetooth system_suspend_control_service (service_manager (find)))
+(allow bluetooth hal_audio_service (service_manager (find)))
+(allow bluetooth shell_data_file (file (read)))
+(allow bluetooth self (capability (sys_nice)))
+(allow bluetooth self (cap_userns (sys_nice)))
+(allow bluetooth runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 97 system/sepolicy/private/bluetooth.te
+
+(neverallow bluetooth self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_broadcast ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow bluetooth self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_broadcast ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+;;* lme
+
+;;* lmx 98 system/sepolicy/private/bluetooth.te
+
+(neverallow bluetooth self (capability2 (mac_override mac_admin syslog audit_read perfmon checkpoint_restore bpf)))
+(neverallow bluetooth self (cap2_userns (mac_override mac_admin syslog audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+(allow bluetoothdomain bluetooth (unix_stream_socket (ioctl read write getattr getopt setopt shutdown)))
+(allow init bootanim_exec (file (read getattr map execute open)))
+(allow init bootanim (process (transition)))
+(allow bootanim bootanim_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init bootanim (process (noatsecure)))
+(allow init bootanim (process (siginh rlimitinh)))
+(typetransition init bootanim_exec process bootanim)
+(dontaudit bootanim unlabeled (dir (search)))
+(dontaudit bootanim vendor_default_prop (file (read)))
+(allow bootanim bootloader_boot_reason_prop (file (read getattr map open)))
+(allow bootanim bootanim_config_prop (file (read getattr map open)))
+(allow bootanim property_socket (sock_file (write)))
+(allow bootanim init (unix_stream_socket (connectto)))
+(allow bootanim bootanim_system_prop (property_service (set)))
+(allow bootanim bootanim_system_prop (file (read getattr map open)))
+(allow bootanim bootanim_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bootanim bootanim_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootanim bootanim_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootanim vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bootanim servicemanager (binder (call transfer)))
+(allow servicemanager bootanim (binder (call transfer)))
+(allow servicemanager bootanim (dir (search)))
+(allow servicemanager bootanim (file (read open)))
+(allow servicemanager bootanim (process (getattr)))
+(allow bootanim surfaceflinger (binder (call transfer)))
+(allow surfaceflinger bootanim (binder (transfer)))
+(allow bootanim surfaceflinger (fd (use)))
+(allow bootanim audioserver (binder (call transfer)))
+(allow audioserver bootanim (binder (transfer)))
+(allow bootanim audioserver (fd (use)))
+(allow bootanim hwservicemanager (binder (call transfer)))
+(allow hwservicemanager bootanim (binder (call transfer)))
+(allow hwservicemanager bootanim (dir (search)))
+(allow hwservicemanager bootanim (file (read map open)))
+(allow hwservicemanager bootanim (process (getattr)))
+(allow bootanim gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bootanim gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bootanim sysfs_gpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootanim oemfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bootanim bootanim_oem_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootanim audio_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bootanim audio_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bootanim audioserver_service (service_manager (find)))
+(allow bootanim surfaceflinger_service (service_manager (find)))
+(allow bootanim surfaceflinger (unix_stream_socket (read write)))
+(allow bootanim ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bootanim dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootanim hal_graphics_allocator (fd (use)))
+(allow bootanim hal_graphics_composer (fd (use)))
+(allow bootanim proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootanim system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bootanim statsdw_socket (sock_file (write)))
+(allow bootanim statsd (unix_dgram_socket (sendto)))
+(allow init bootstat_exec (file (read getattr map execute open)))
+(allow init bootstat (process (transition)))
+(allow bootstat bootstat_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init bootstat (process (noatsecure)))
+(allow init bootstat (process (siginh rlimitinh)))
+(typetransition init bootstat_exec process bootstat)
+(allow bootstat boottime_prop (file (read getattr map open)))
+(allow bootstat property_socket (sock_file (write)))
+(allow bootstat init (unix_stream_socket (connectto)))
+(allow bootstat bootloader_boot_reason_prop (property_service (set)))
+(allow bootstat bootloader_boot_reason_prop (file (read getattr map open)))
+(allow bootstat property_socket (sock_file (write)))
+(allow bootstat init (unix_stream_socket (connectto)))
+(allow bootstat system_boot_reason_prop (property_service (set)))
+(allow bootstat system_boot_reason_prop (file (read getattr map open)))
+(allow bootstat property_socket (sock_file (write)))
+(allow bootstat init (unix_stream_socket (connectto)))
+(allow bootstat last_boot_reason_prop (property_service (set)))
+(allow bootstat last_boot_reason_prop (file (read getattr map open)))
+(allow bootstat runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootstat bootstat_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow bootstat bootstat_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow bootstat metadata_file (dir (search)))
+(allow bootstat metadata_bootstat_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow bootstat metadata_bootstat_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow bootstat pstorefs (dir (search)))
+(allow bootstat pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bootstat kernel (system (syslog_read)))
+(allow bootstat logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow bootstat logdr_socket (sock_file (write)))
+(allow bootstat logd (unix_stream_socket (connectto)))
+(allow bootstat statsdw_socket (sock_file (write)))
+(allow bootstat statsd (unix_dgram_socket (sendto)))
+;;* lmx 44 system/sepolicy/private/bootstat.te
+
+(neverallow base_typeattr_306 system_boot_reason_prop (property_service (set)))
+;;* lme
+
+;;* lmx 57 system/sepolicy/private/bootstat.te
+
+(neverallow base_typeattr_307 bootloader_boot_reason_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow base_typeattr_307 last_boot_reason_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 59 system/sepolicy/private/bootstat.te
+
+(neverallow bootanim last_boot_reason_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow recovery last_boot_reason_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/bootstat.te
+
+(neverallow base_typeattr_308 bootloader_boot_reason_prop (property_service (set)))
+(neverallow base_typeattr_308 last_boot_reason_prop (property_service (set)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/private/bootstat.te
+
+(neverallow system_server bootloader_boot_reason_prop (property_service (set)))
+;;* lme
+
+(allow init boringssl_self_test_exec (file (read getattr map execute open)))
+(allow init boringssl_self_test (process (transition)))
+(allow boringssl_self_test boringssl_self_test_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init boringssl_self_test (process (noatsecure)))
+(allow init boringssl_self_test (process (siginh rlimitinh)))
+(typetransition init boringssl_self_test_exec process boringssl_self_test)
+(allow init vendor_boringssl_self_test_exec (file (read getattr map execute open)))
+(allow init vendor_boringssl_self_test (process (transition)))
+(allow vendor_boringssl_self_test vendor_boringssl_self_test_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vendor_boringssl_self_test (process (noatsecure)))
+(allow init vendor_boringssl_self_test (process (siginh rlimitinh)))
+(typetransition init vendor_boringssl_self_test_exec process vendor_boringssl_self_test)
+(allow boringssl_self_test boringssl_self_test_marker (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vendor_boringssl_self_test boringssl_self_test_marker (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow boringssl_self_test boringssl_self_test_marker (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow vendor_boringssl_self_test boringssl_self_test_marker (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow boringssl_self_test kmsg_debug_device (chr_file (ioctl write getattr lock append map open)))
+(allow vendor_boringssl_self_test kmsg_debug_device (chr_file (ioctl write getattr lock append map open)))
+;;* lmx 66 system/sepolicy/private/boringssl_self_test.te
+
+(neverallow base_typeattr_309 boringssl_self_test_marker (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 74 system/sepolicy/private/boringssl_self_test.te
+
+(neverallow base_typeattr_309 boringssl_self_test_marker (dir (write)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/bpfdomain.te
+
+(neverallow base_typeattr_310 self (capability (net_admin net_raw)))
+(neverallow base_typeattr_310 self (cap_userns (net_admin net_raw)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/bpfdomain.te
+
+(neverallow base_typeattr_311 base_typeattr_239 (bpf (map_create map_read map_write prog_load prog_run)))
+;;* lme
+
+(allow bpfdomain fs_bpf (dir (search)))
+(allow bpfdomain bpffs_type (lnk_file (read)))
+(allow bpfdomain bpf_progs_loaded_prop (file (read getattr map open)))
+(allow bpfloader kmsg_device (chr_file (write lock append map open)))
+(allow bpfloader bpffs_type (dir (read write create setattr open add_name remove_name search)))
+(allow bpfloader bpffs_type (file (read create getattr setattr rename)))
+(allow bpfloader bpffs_type (lnk_file (read create getattr)))
+(allow base_typeattr_312 fs_bpf (filesystem (associate)))
+(allow bpfloader self (bpf (map_create map_read map_write prog_load prog_run)))
+(allow bpfloader self (capability (chown net_admin sys_admin)))
+(allow bpfloader sysfs_fs_fuse_bpf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow bpfloader proc_bpf (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bpfloader property_socket (sock_file (write)))
+(allow bpfloader init (unix_stream_socket (connectto)))
+(allow bpfloader bpf_progs_loaded_prop (property_service (set)))
+(allow bpfloader bpf_progs_loaded_prop (file (read getattr map open)))
+(allow bpfloader bpfloader_exec (file (execute_no_trans)))
+;;* lmx 32 system/sepolicy/private/bpfloader.te
+
+(neverallow domain bpffs_type (dir (ioctl lock relabelfrom relabelto append map unlink link rename execute quotaon audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads reparent rmdir)))
+;;* lme
+
+;;* lmx 33 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 bpffs_type (dir (read write create setattr open add_name remove_name)))
+;;* lme
+
+;;* lmx 35 system/sepolicy/private/bpfloader.te
+
+(neverallow domain bpffs_type (file (ioctl lock relabelfrom relabelto append unlink link execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 36 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 bpffs_type (file (create setattr map rename open)))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_314 fs_bpf (file (read getattr)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 fs_bpf_loader (file (read getattr)))
+;;* lme
+
+;;* lmx 39 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_315 fs_bpf_net_private (file (read getattr)))
+;;* lme
+
+;;* lmx 40 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_316 fs_bpf_net_shared (file (read getattr)))
+;;* lme
+
+;;* lmx 41 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_317 fs_bpf_netd_readonly (file (read getattr)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_318 fs_bpf_netd_shared (file (read getattr)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_315 fs_bpf_tethering (file (read getattr)))
+;;* lme
+
+;;* lmx 44 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_319 fs_bpf_uprobestats (file (read getattr)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_320 base_typeattr_321 (file (write)))
+;;* lme
+
+;;* lmx 47 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 bpffs_type (lnk_file (ioctl write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 48 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_311 bpffs_type (lnk_file (read)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 base_typeattr_239 (bpf (prog_load)))
+;;* lme
+
+;;* lmx 51 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_311 base_typeattr_239 (bpf (map_create map_read map_write prog_run)))
+;;* lme
+
+;;* lmx 54 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 fs_bpf_loader (bpf (map_create map_read map_write prog_load prog_run)))
+;;* lme
+
+;;* lmx 55 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 fs_bpf_loader (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 57 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_322 bpfloader_exec (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 59 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_323 fs_bpf_vendor (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/bpfloader.te
+
+(neverallow bpfloader base_typeattr_239 (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+(neverallow bpfloader base_typeattr_239 (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow bpfloader base_typeattr_239 (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/bpfloader.te
+
+(neverallow domain bpfloader (process (ptrace)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/bpfloader.te
+
+(neverallow base_typeattr_313 proc_bpf (file (write)))
+;;* lme
+
+(allow init bufferhubd_exec (file (read getattr map execute open)))
+(allow init bufferhubd (process (transition)))
+(allow bufferhubd bufferhubd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init bufferhubd (process (noatsecure)))
+(allow init bufferhubd (process (siginh rlimitinh)))
+(typetransition init bufferhubd_exec process bufferhubd)
+(allow init pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (create bind)))
+(allow bufferhubd pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
+(allow bufferhubd self (process (setsockcreate)))
+(allow bufferhubd pdx_bufferhub_client_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 8 system/sepolicy/private/bufferhubd.te
+
+(neverallow base_typeattr_324 pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (listen accept)))
+;;* lme
+
+(allow bufferhubd pdx_performance_client_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow bufferhubd pdx_performance_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bufferhubd pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow bufferhubd pdx_performance_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow bufferhubd pdx_performance_client_server_type (fd (use)))
+(allow pdx_performance_client_server_type bufferhubd (fd (use)))
+(allow bufferhubd gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow bufferhubd ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow bufferhubd hal_omx_server (fd (use)))
+(allow bufferhubd hal_codec2_server (fd (use)))
+(allow camera_service_server fwk_camera_hwservice (hwservice_manager (add find)))
+(allow camera_service_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 1 system/sepolicy/private/camera_service_server.te
+
+(neverallow base_typeattr_325 fwk_camera_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow init cameraserver_exec (file (read getattr map execute open)))
+(allow init cameraserver (process (transition)))
+(allow cameraserver cameraserver_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init cameraserver (process (noatsecure)))
+(allow init cameraserver (process (siginh rlimitinh)))
+(typetransition init cameraserver_exec process cameraserver)
+(typetransition cameraserver tmpfs file cameraserver_tmpfs)
+(allow cameraserver cameraserver_tmpfs (file (read write getattr map)))
+(allow cameraserver gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow cameraserver gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow cameraserver virtual_camera (binder (call)))
+(allow cameraserver servicemanager (binder (call transfer)))
+(allow servicemanager cameraserver (binder (call transfer)))
+(allow servicemanager cameraserver (dir (search)))
+(allow servicemanager cameraserver (file (read open)))
+(allow servicemanager cameraserver (process (getattr)))
+(allow cameraserver binderservicedomain (binder (call transfer)))
+(allow binderservicedomain cameraserver (binder (transfer)))
+(allow cameraserver binderservicedomain (fd (use)))
+(allow cameraserver appdomain (binder (call transfer)))
+(allow appdomain cameraserver (binder (transfer)))
+(allow cameraserver appdomain (fd (use)))
+(allow cameraserver hal_camera_server (process (signal)))
+(allow cameraserver ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow cameraserver dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow cameraserver hal_graphics_composer (fd (use)))
+(allow cameraserver cameraserver_service (service_manager (add find)))
+;;* lmx 26 system/sepolicy/private/cameraserver.te
+
+(neverallow base_typeattr_326 cameraserver_service (service_manager (add)))
+;;* lme
+
+(allow cameraserver fwk_camera_service (service_manager (add find)))
+;;* lmx 27 system/sepolicy/private/cameraserver.te
+
+(neverallow base_typeattr_326 fwk_camera_service (service_manager (add)))
+;;* lme
+
+(allow cameraserver fwk_camera_hwservice (hwservice_manager (add find)))
+(allow cameraserver hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 28 system/sepolicy/private/cameraserver.te
+
+(neverallow base_typeattr_326 fwk_camera_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow cameraserver activity_service (service_manager (find)))
+(allow cameraserver appops_service (service_manager (find)))
+(allow cameraserver audioserver_service (service_manager (find)))
+(allow cameraserver batterystats_service (service_manager (find)))
+(allow cameraserver cameraproxy_service (service_manager (find)))
+(allow cameraserver mediaserver_service (service_manager (find)))
+(allow cameraserver package_native_service (service_manager (find)))
+(allow cameraserver permission_checker_service (service_manager (find)))
+(allow cameraserver processinfo_service (service_manager (find)))
+(allow cameraserver scheduling_policy_service (service_manager (find)))
+(allow cameraserver sensor_privacy_service (service_manager (find)))
+(allow cameraserver surfaceflinger_service (service_manager (find)))
+(allow cameraserver hidl_token_hwservice (hwservice_manager (find)))
+(allow cameraserver hal_camera_service (service_manager (find)))
+(allow cameraserver virtual_camera_service (service_manager (find)))
+(allow cameraserver surfaceflinger (unix_stream_socket (read write)))
+(allow cameraserver adbd (fd (use)))
+(allow cameraserver adbd (unix_stream_socket (read write)))
+(allow cameraserver shell (fd (use)))
+(allow cameraserver shell (unix_stream_socket (read write)))
+(allow cameraserver shell (fifo_file (read write)))
+(allow cameraserver self (capability (sys_nice)))
+(allow cameraserver self (cap_userns (sys_nice)))
+(allow cameraserver mediametrics_service (service_manager (find)))
+;;* lmx 79 system/sepolicy/private/cameraserver.te
+
+(neverallow cameraserver fs_type (file (execute_no_trans)))
+(neverallow cameraserver file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 91 system/sepolicy/private/cameraserver.te
+
+(neverallow cameraserver domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow cameraserver domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 92 system/sepolicy/private/cameraserver.te
+
+(neverallow cameraserver domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+(allow init canhalconfigurator_exec (file (read getattr map execute open)))
+(allow init canhalconfigurator (process (transition)))
+(allow canhalconfigurator canhalconfigurator_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init canhalconfigurator (process (noatsecure)))
+(allow init canhalconfigurator (process (siginh rlimitinh)))
+(typetransition init canhalconfigurator_exec process canhalconfigurator)
+(allow canhalconfigurator servicemanager (binder (call transfer)))
+(allow servicemanager canhalconfigurator (binder (call transfer)))
+(allow servicemanager canhalconfigurator (dir (search)))
+(allow servicemanager canhalconfigurator (file (read open)))
+(allow servicemanager canhalconfigurator (process (getattr)))
+(allow hal_can_controller canhalconfigurator (binder (call transfer)))
+(allow canhalconfigurator hal_can_controller (binder (transfer)))
+(allow hal_can_controller canhalconfigurator (fd (use)))
+(allow charger property_socket (sock_file (write)))
+(allow charger init (unix_stream_socket (connectto)))
+(allow charger system_prop (property_service (set)))
+(allow charger system_prop (file (read getattr map open)))
+(allow charger property_socket (sock_file (write)))
+(allow charger init (unix_stream_socket (connectto)))
+(allow charger exported_system_prop (property_service (set)))
+(allow charger exported_system_prop (file (read getattr map open)))
+(allow charger property_socket (sock_file (write)))
+(allow charger init (unix_stream_socket (connectto)))
+(allow charger exported3_system_prop (property_service (set)))
+(allow charger exported3_system_prop (file (read getattr map open)))
+(allow charger charger_prop (file (read getattr map open)))
+;;* lmx 16 system/sepolicy/private/charger.te
+
+(neverallow base_typeattr_327 charger_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow charger_type property_socket (sock_file (write)))
+(allow charger_type init (unix_stream_socket (connectto)))
+(allow charger_type charger_status_prop (property_service (set)))
+(allow charger_type charger_status_prop (file (read getattr map open)))
+(allow charger_type charger_config_prop (file (read getattr map open)))
+(allow charger_type recovery_config_prop (file (read getattr map open)))
+(allow charger_type kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow charger_type rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type self (capability (sys_boot sys_tty_config)))
+(allow charger_type self (cap_userns (sys_boot sys_tty_config)))
+(allow charger_type sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow charger_type self (capability2 (block_suspend)))
+(allow charger_type self (cap2_userns (block_suspend)))
+(allow charger_type system_suspend_server (binder (call transfer)))
+(allow system_suspend_server charger_type (binder (transfer)))
+(allow charger_type system_suspend_server (fd (use)))
+(allow charger_type system_suspend_hwservice (hwservice_manager (find)))
+(allow charger_type hwservicemanager (binder (call transfer)))
+(allow hwservicemanager charger_type (binder (call transfer)))
+(allow hwservicemanager charger_type (dir (search)))
+(allow hwservicemanager charger_type (file (read map open)))
+(allow hwservicemanager charger_type (process (getattr)))
+(allow charger_type hwservicemanager_prop (file (read getattr map open)))
+(allow charger_type hidl_manager_hwservice (hwservice_manager (find)))
+(allow charger_type hal_system_suspend_service (service_manager (find)))
+(allow charger_type servicemanager (binder (call transfer)))
+(allow servicemanager charger_type (binder (call transfer)))
+(allow servicemanager charger_type (dir (search)))
+(allow servicemanager charger_type (file (read open)))
+(allow servicemanager charger_type (process (getattr)))
+(allow charger_type self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow charger_type sysfs_power (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow charger_type sysfs_batteryinfo (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type sysfs_batteryinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type sysfs_batteryinfo (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type pstorefs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type graphics_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type graphics_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow charger_type input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow charger_type input_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow charger_type tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow charger_type proc_sysrq (file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lmx 54 system/sepolicy/private/charger_type.te
+
+(neverallow base_typeattr_233 charger_config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/charger_type.te
+
+(neverallow base_typeattr_328 charger_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 76 system/sepolicy/private/charger_type.te
+
+(neverallow base_typeattr_329 charger_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_329 charger_status_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow clatd system_server (fd (use)))
+(allow clatd system_server (packet_socket (read write)))
+(allow clatd system_server (rawip_socket (read write)))
+(allow clatd tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow compos_fd_server composd (fd (use)))
+(allow compos_fd_server apex_art_staging_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow compos_fd_server apex_art_staging_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow compos_fd_server apex_art_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow compos_fd_server apex_art_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow compos_fd_server composd (fifo_file (write)))
+(allow compos_fd_server composd (fifo_file (read)))
+(allow compos_fd_server self (vsock_socket (read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 26 system/sepolicy/private/compos_fd_server.te
+
+(neverallow base_typeattr_330 compos_fd_server (process (transition)))
+;;* lme
+
+;;* lmx 27 system/sepolicy/private/compos_fd_server.te
+
+(neverallow base_typeattr_239 compos_fd_server (process (dyntransition)))
+;;* lme
+
+(allow compos_verify servicemanager (binder (call transfer)))
+(allow servicemanager compos_verify (binder (call transfer)))
+(allow servicemanager compos_verify (dir (search)))
+(allow servicemanager compos_verify (file (read open)))
+(allow servicemanager compos_verify (process (getattr)))
+(allow compos_verify virtualizationmanager_exec (file (read getattr map execute open)))
+(allow compos_verify virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager compos_verify (process (sigchld)))
+(dontaudit compos_verify virtualizationmanager (process (noatsecure)))
+(allow compos_verify virtualizationmanager (process (siginh rlimitinh)))
+(typetransition compos_verify virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm compos_verify (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager compos_verify (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm compos_verify (fd (use)))
+(allow virtualizationmanager compos_verify (fd (use)))
+(allow compos_verify virtualizationmanager (fd (use)))
+(allow crosvm compos_verify (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager compos_verify (fifo_file (ioctl read write getattr)))
+(allow compos_verify virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow compos_verify hypervisor_prop (file (read getattr map open)))
+(allow compos_verify virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager compos_verify (dir (search)))
+(allow virtualizationmanager compos_verify (file (read)))
+(allow virtualizationmanager compos_verify (lnk_file (read)))
+(allow compos_verify apex_module_data_file (dir (search)))
+(allow compos_verify apex_compos_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow compos_verify apex_compos_data_file (file (ioctl read write create getattr lock append map open watch watch_reads)))
+(allow compos_verify apex_art_data_file (dir (search)))
+(allow compos_verify apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow compos_verify odsign (fd (use)))
+(allow compos_verify odsign_devpts (chr_file (read write)))
+;;* lmx 23 system/sepolicy/private/compos_verify.te
+
+(neverallow base_typeattr_331 compos_verify (process (transition)))
+;;* lme
+
+;;* lmx 24 system/sepolicy/private/compos_verify.te
+
+(neverallow base_typeattr_239 compos_verify (process (dyntransition)))
+;;* lme
+
+(allow init composd_exec (file (read getattr map execute open)))
+(allow init composd (process (transition)))
+(allow composd composd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init composd (process (noatsecure)))
+(allow init composd (process (siginh rlimitinh)))
+(typetransition init composd_exec process composd)
+(allow composd servicemanager (binder (call transfer)))
+(allow servicemanager composd (binder (call transfer)))
+(allow servicemanager composd (dir (search)))
+(allow servicemanager composd (file (read open)))
+(allow servicemanager composd (process (getattr)))
+(allow composd compos_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/composd.te
+
+(neverallow base_typeattr_330 compos_service (service_manager (add)))
+;;* lme
+
+(allow composd system_server (binder (call transfer)))
+(allow system_server composd (binder (transfer)))
+(allow composd system_server (fd (use)))
+(allow composd virtualizationmanager_exec (file (read getattr map execute open)))
+(allow composd virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager composd (process (sigchld)))
+(dontaudit composd virtualizationmanager (process (noatsecure)))
+(allow composd virtualizationmanager (process (siginh rlimitinh)))
+(typetransition composd virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm composd (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager composd (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm composd (fd (use)))
+(allow virtualizationmanager composd (fd (use)))
+(allow composd virtualizationmanager (fd (use)))
+(allow crosvm composd (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager composd (fifo_file (ioctl read write getattr)))
+(allow composd virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow composd hypervisor_prop (file (read getattr map open)))
+(allow composd virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager composd (dir (search)))
+(allow virtualizationmanager composd (file (read)))
+(allow virtualizationmanager composd (lnk_file (read)))
+(allow composd apex_art_data_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow composd apex_art_staging_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow composd apex_art_staging_data_file (file (getattr unlink)))
+(allow composd apex_art_data_file (file (ioctl read write unlink open)))
+(allowx composd apex_art_data_file (ioctl file (0x6685)))
+(allow composd apex_module_data_file (dir (search)))
+(allow composd apex_compos_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow composd apex_compos_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow composd fd_server_exec (file (read getattr map execute open)))
+(allow composd compos_fd_server (process (transition)))
+(allow compos_fd_server fd_server_exec (file (read getattr map execute open entrypoint)))
+(allow compos_fd_server composd (process (sigchld)))
+(dontaudit composd compos_fd_server (process (noatsecure)))
+(allow composd compos_fd_server (process (siginh rlimitinh)))
+(typetransition composd fd_server_exec process compos_fd_server)
+(allow composd compos_fd_server (process (signal)))
+(allow composd composd_vm_art_prop (file (read getattr map open)))
+(allow composd composd_vm_vendor_prop (file (read getattr map open)))
+(allow composd dalvik_config_prop_type (file (read getattr map open)))
+(allow composd device_config_runtime_native_boot_prop (file (read getattr map open)))
+;;* lmx 42 system/sepolicy/private/composd.te
+
+(neverallow composd apex_art_data_file (file (create)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/composd.te
+
+(neverallow base_typeattr_238 composd_vm_art_prop (property_service (set)))
+;;* lme
+
+(allow coredomain apex_ready_prop (file (read getattr map open)))
+(allow coredomain boot_status_prop (file (read getattr map open)))
+(allow coredomain camera_config_prop (file (read getattr map open)))
+(allow coredomain dalvik_config_prop_type (file (read getattr map open)))
+(allow coredomain dalvik_runtime_prop (file (read getattr map open)))
+(allow coredomain exported_pm_prop (file (read getattr map open)))
+(allow coredomain ffs_config_prop (file (read getattr map open)))
+(allow coredomain graphics_config_prop (file (read getattr map open)))
+(allow coredomain graphics_config_writable_prop (file (read getattr map open)))
+(allow coredomain hdmi_config_prop (file (read getattr map open)))
+(allow coredomain init_service_status_private_prop (file (read getattr map open)))
+(allow coredomain lmkd_config_prop (file (read getattr map open)))
+(allow coredomain localization_prop (file (read getattr map open)))
+(allow coredomain pm_prop (file (read getattr map open)))
+(allow coredomain radio_control_prop (file (read getattr map open)))
+(allow coredomain rollback_test_prop (file (read getattr map open)))
+(allow coredomain setupwizard_prop (file (read getattr map open)))
+(allow coredomain setupwizard_mode_prop (file (read getattr map open)))
+(allow coredomain sqlite_log_prop (file (read getattr map open)))
+(allow coredomain storagemanager_config_prop (file (read getattr map open)))
+(allow coredomain surfaceflinger_color_prop (file (read getattr map open)))
+(allow coredomain systemsound_config_prop (file (read getattr map open)))
+(allow coredomain telephony_config_prop (file (read getattr map open)))
+(allow coredomain usb_config_prop (file (read getattr map open)))
+(allow coredomain usb_control_prop (file (read getattr map open)))
+(allow coredomain userspace_reboot_config_prop (file (read getattr map open)))
+(allow coredomain vold_config_prop (file (read getattr map open)))
+(allow coredomain vts_status_prop (file (read getattr map open)))
+(allow coredomain zygote_config_prop (file (read getattr map open)))
+(allow coredomain zygote_wrap_prop (file (read getattr map open)))
+(allow coredomain default_prop (file (read getattr map open)))
+;;* lmx 35 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_332 sysfs_leds (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 51 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_333 vendor_app_file (dir (read getattr open search)))
+;;* lme
+
+;;* lmx 70 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_334 vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 92 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_335 vendor_overlay_file (dir (read getattr open search)))
+;;* lme
+
+;;* lmx 114 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_335 vendor_overlay_file (file (open)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_336 proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_337 sysfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_338 device (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_338 device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow coredomain debugfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_339 debugfs_tracing (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_340 inotify (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_341 pstorefs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_342 configfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_343 functionfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_340 usbfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_340 binfmt_miscfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 140 system/sepolicy/private/coredomain.te
+
+(neverallow base_typeattr_344 base_typeattr_345 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 257 system/sepolicy/private/coredomain.te
+
+(neverallow coredomain radio_device (chr_file (ioctl read write append open)))
+(neverallow coredomain iio_device (chr_file (ioctl read write append open)))
+;;* lme
+
+;;* lmx 261 system/sepolicy/private/coredomain.te
+
+(neverallow coredomain tee_device (chr_file (ioctl read write append open)))
+;;* lme
+
+(allow init cppreopts_exec (file (read getattr map execute open)))
+(allow init cppreopts (process (transition)))
+(allow cppreopts cppreopts_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init cppreopts (process (noatsecure)))
+(allow init cppreopts (process (siginh rlimitinh)))
+(typetransition init cppreopts_exec process cppreopts)
+(allow cppreopts preopt2cachename_exec (file (read getattr map execute open)))
+(allow cppreopts preopt2cachename (process (transition)))
+(allow preopt2cachename preopt2cachename_exec (file (read getattr map execute open entrypoint)))
+(allow preopt2cachename cppreopts (process (sigchld)))
+(dontaudit cppreopts preopt2cachename (process (noatsecure)))
+(allow cppreopts preopt2cachename (process (siginh rlimitinh)))
+(typetransition cppreopts preopt2cachename_exec process preopt2cachename)
+(allow cppreopts dalvikcache_data_file (dir (write add_name remove_name search)))
+(allow cppreopts dalvikcache_data_file (file (read write create getattr unlink rename open)))
+(allow cppreopts shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow cppreopts system_file (dir (read open)))
+(allow cppreopts toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(dontaudit cppreopts postinstall_mnt_dir (dir (search)))
+(dontaudit crash_dump dev_type (chr_file (read write)))
+(dontaudit crash_dump devpts (chr_file (read write)))
+(allow crash_dump base_typeattr_346 (process (sigchld sigkill sigstop signal ptrace)))
+(allow crash_dump apex_art_data_file (dir (getattr search)))
+(allow crash_dump apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump system_bootstrap_lib_file (dir (getattr search)))
+(allow crash_dump system_bootstrap_lib_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump vendor_apex_metadata_file (dir (getattr search)))
+(dontaudit crash_dump self (capability (sys_ptrace)))
+(dontaudit crash_dump self (cap_userns (sys_ptrace)))
+(allow crash_dump domain (fd (use)))
+(allow crash_dump domain (fifo_file (read write)))
+(allow crash_dump domain (fifo_file (append)))
+(allow crash_dump domain (process (getattr)))
+(allow crash_dump domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow crash_dump domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump exec_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump dalvikcache_data_file (dir (getattr search)))
+(allow crash_dump dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump apex_module_data_file (dir (getattr search)))
+(allow crash_dump proc_uptime (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow crash_dump apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump vendor_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow crash_dump same_process_hal_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow crash_dump vendor_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump vendor_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump same_process_hal_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump same_process_hal_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump shell_test_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow crash_dump shell_test_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump shell_test_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow crash_dump tombstoned_crash_socket (sock_file (write)))
+(allow crash_dump tombstoned (unix_stream_socket (connectto)))
+(allow crash_dump system_ndebug_socket (sock_file (write)))
+(allow crash_dump system_server (unix_stream_socket (connectto)))
+(allow crash_dump anr_data_file (file (getattr append)))
+(allow crash_dump tombstone_data_file (file (getattr append)))
+(allow crash_dump logdr_socket (sock_file (write)))
+(allow crash_dump logd (unix_stream_socket (connectto)))
+(dontaudit crash_dump core_data_file_type (dir (search)))
+(dontaudit crash_dump vendor_file_type (dir (search)))
+(dontaudit crash_dump app_data_file_type (file (read open)))
+(dontaudit crash_dump app_data_file_type (lnk_file (read open)))
+(dontaudit crash_dump property_type (file (read open)))
+(dontaudit crash_dump property_type (lnk_file (read open)))
+(dontaudit crash_dump system_data_file (file (read open)))
+(dontaudit crash_dump system_data_file (lnk_file (read open)))
+(allow crash_dump misctrl_prop (file (read getattr map open)))
+;;* lmx 124 system/sepolicy/private/crash_dump.te
+
+(neverallow domain crash_dump_exec (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 143 system/sepolicy/private/crash_dump.te
+
+(neverallow crash_dump apexd (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump bpfloader (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump init (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump kernel (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump keystore (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump llkd (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump logd (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump ueventd (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump vendor_init (process (sigkill sigstop signal ptrace)))
+(neverallow crash_dump vold (process (sigkill sigstop signal ptrace)))
+;;* lme
+
+;;* lmx 145 system/sepolicy/private/crash_dump.te
+
+(neverallow crash_dump self (process (ptrace)))
+;;* lme
+
+;;* lmx 146 system/sepolicy/private/crash_dump.te
+
+(neverallow crash_dump gpu_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow init credstore_exec (file (read getattr map execute open)))
+(allow init credstore (process (transition)))
+(allow credstore credstore_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init credstore (process (noatsecure)))
+(allow init credstore (process (siginh rlimitinh)))
+(typetransition init credstore_exec process credstore)
+(allow credstore remote_prov_prop (file (read getattr map open)))
+(allow credstore remote_provisioning_service (service_manager (find)))
+(allow credstore servicemanager (binder (call transfer)))
+(allow servicemanager credstore (binder (call transfer)))
+(allow servicemanager credstore (dir (search)))
+(allow servicemanager credstore (file (read open)))
+(allow servicemanager credstore (process (getattr)))
+(allow credstore system_server (binder (call transfer)))
+(allow system_server credstore (binder (transfer)))
+(allow credstore system_server (fd (use)))
+(allow credstore credstore_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow credstore credstore_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow credstore credstore_service (service_manager (add find)))
+;;* lmx 22 system/sepolicy/private/credstore.te
+
+(neverallow base_typeattr_347 credstore_service (service_manager (add)))
+;;* lme
+
+(allow credstore sec_key_att_app_id_provider_service (service_manager (find)))
+(allow credstore dropbox_service (service_manager (find)))
+(allow credstore authorization_service (service_manager (find)))
+(allow credstore keystore (keystore2 (get_auth_token)))
+(allow credstore cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow credstore cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow credstore cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow credstore cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow credstore cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow credstore cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow crosvm vm_manager_device_type (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lmx 40 system/sepolicy/private/credstore.te
+
+(neverallow base_typeattr_348 kvm_device (chr_file (getattr)))
+;;* lme
+
+;;* lmx 41 system/sepolicy/private/credstore.te
+
+(neverallow base_typeattr_349 kvm_device (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/credstore.te
+
+(neverallowx base_typeattr_350 kvm_device (ioctl chr_file ((range 0x0 0xadff) (range 0xaf00 0xffff))))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/credstore.te
+
+(neverallowx base_typeattr_350 kvm_device (ioctl chr_file ((range 0xae00 0xae02) (range 0xae04 0xaeff))))
+;;* lme
+
+;;* lmx 47 system/sepolicy/private/credstore.te
+
+(neverallow base_typeattr_351 vm_manager_device_type (chr_file (getattr)))
+;;* lme
+
+;;* lmx 48 system/sepolicy/private/credstore.te
+
+(neverallow base_typeattr_352 vm_manager_device_type (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(typetransition crosvm tmpfs file crosvm_tmpfs)
+(allow crosvm crosvm_tmpfs (file (read write getattr map)))
+(allow crosvm early_virtmgr (fd (use)))
+(allow crosvm virtualizationmanager (fd (use)))
+(allow crosvm early_virtmgr (fifo_file (write)))
+(allow crosvm virtualizationmanager (fifo_file (write)))
+(allow crosvm vendor_microdroid_file (file (ioctl read getattr lock)))
+(allow crosvm apk_data_file (file (ioctl read getattr lock)))
+(allow crosvm shell_data_file (file (ioctl read getattr lock)))
+(allow crosvm staging_data_file (file (ioctl read getattr lock)))
+(allow crosvm app_data_file (file (ioctl read getattr lock)))
+(allow crosvm privapp_data_file (file (ioctl read getattr lock)))
+(allow crosvm apex_compos_data_file (file (ioctl read getattr lock)))
+(allow crosvm apex_virt_data_file (file (ioctl read getattr lock)))
+(allow crosvm virtualizationservice_data_file (file (ioctl read getattr lock)))
+(allow crosvm vm_data_file (file (ioctl read getattr lock)))
+(allow crosvm virtualizationservice_data_file (dir (search)))
+(allow crosvm vm_data_file (dir (search)))
+(allow crosvm self (capability (sys_nice)))
+(allow crosvm self (cap_userns (sys_nice)))
+(allow crosvm early_virtmgr (unix_stream_socket (read write getattr accept getopt)))
+(allow crosvm virtualizationmanager (unix_stream_socket (read write getattr accept getopt)))
+(allow crosvm app_data_file (file (write)))
+(allow crosvm privapp_data_file (file (write)))
+(allow crosvm apex_compos_data_file (file (write)))
+(allow crosvm apex_virt_data_file (file (write)))
+(allow crosvm virtualizationservice_data_file (file (write)))
+(allow crosvm vm_data_file (file (write)))
+(allow crosvm adbd (fd (use)))
+(allow crosvm adbd (unix_stream_socket (read write)))
+(allow crosvm devpts (chr_file (ioctl read write getattr)))
+(allow crosvm device (dir (read open)))
+(allow crosvm same_process_hal_file (file (read getattr map execute open)))
+(allow crosvm gpu_device (chr_file (ioctl read write getattr map open)))
+(allow crosvm hal_graphics_allocator (fd (use)))
+(allow crosvm hal_graphics_allocator_server (binder (call)))
+(allow crosvm surfaceflinger (fd (use)))
+(allow crosvm vmlauncher_app (binder (call transfer)))
+(allow crosvm servicemanager (binder (call transfer)))
+(allow crosvm virtualization_service (service_manager (find)))
+(allow crosvm virtualizationservice (binder (call transfer)))
+(allow crosvm audioserver (binder (call transfer)))
+(allow audioserver crosvm (binder (transfer)))
+(allow crosvm audioserver (fd (use)))
+(allow crosvm audioserver_service (service_manager (find)))
+(allow crosvm fuse (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow crosvm fuse (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow crosvm mnt_user_file (dir (search)))
+(allow crosvm virtualizationservice_data_file (dir (write add_name remove_name)))
+(allow crosvm virtualizationservice_data_file (sock_file (write create unlink)))
+(dontaudit crosvm self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow crosvm shell_data_file (file (write)))
+(dontaudit crosvm early_virtmgr (fifo_file (read getattr)))
+(dontaudit crosvm virtualizationmanager (fifo_file (read getattr)))
+(allow crosvm self (tcp_socket (read write create bind listen accept setopt)))
+(allow crosvm port (tcp_socket (name_bind)))
+(allow crosvm adbd (unix_stream_socket (ioctl)))
+(allow crosvm node (tcp_socket (node_bind)))
+(allow crosvm vfio_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow crosvm vfio_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow crosvm virtualizationservice_data_file (file (read)))
+(allow crosvm tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx crosvm tun_device (ioctl chr_file (0x54d0 0x54d2 0x54d8)))
+(allow crosvm self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx crosvm self (ioctl udp_socket (0x8921)))
+(allow crosvm vmnic (fd (use)))
+(allow crosvm kmsg_debug_device (chr_file (write lock append map open)))
+;;* lmx 189 system/sepolicy/private/credstore.te
+
+(neverallow crosvm apk_data_file (file (open)))
+(neverallow crosvm staging_data_file (file (open)))
+(neverallow crosvm app_data_file (file (open)))
+(neverallow crosvm privapp_data_file (file (open)))
+(neverallow crosvm virtualizationservice_data_file (file (open)))
+(neverallow crosvm vm_data_file (file (open)))
+(neverallow crosvm storage_area_content_file (file (open)))
+;;* lme
+
+;;* lmx 192 system/sepolicy/private/credstore.te
+
+(neverallow crosvm base_typeattr_353 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 217 system/sepolicy/private/credstore.te
+
+(neverallow crosvm base_typeattr_354 (file (read)))
+;;* lme
+
+;;* lmx 229 system/sepolicy/private/credstore.te
+
+(neverallow base_typeattr_355 crosvm_exec (file (execute execute_no_trans)))
+;;* lme
+
+(allow init derive_classpath_exec (file (read getattr map execute open)))
+(allow init derive_classpath (process (transition)))
+(allow derive_classpath derive_classpath_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init derive_classpath (process (noatsecure)))
+(allow init derive_classpath (process (siginh rlimitinh)))
+(typetransition init derive_classpath_exec process derive_classpath)
+(allow derive_classpath apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow derive_classpath vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow derive_classpath environ_system_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow derive_classpath environ_system_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow derive_classpath unlabeled (dir (search)))
+(allow derive_classpath postinstall_apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow derive_classpath postinstall_dexopt (dir (search)))
+(allow derive_classpath postinstall_dexopt (fd (use)))
+(allow derive_classpath postinstall_dexopt (file (read)))
+(allow derive_classpath postinstall_dexopt (lnk_file (read)))
+(allow derive_classpath postinstall_dexopt_tmpfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow derive_classpath artd (fd (use)))
+(allow derive_classpath pre_reboot_dexopt_artd_file (file (read write open)))
+(allow init derive_sdk_exec (file (read getattr map execute open)))
+(allow init derive_sdk (process (transition)))
+(allow derive_sdk derive_sdk_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init derive_sdk (process (noatsecure)))
+(allow init derive_sdk (process (siginh rlimitinh)))
+(typetransition init derive_sdk_exec process derive_sdk)
+(allow derive_sdk apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow derive_sdk vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow derive_sdk property_socket (sock_file (write)))
+(allow derive_sdk init (unix_stream_socket (connectto)))
+(allow derive_sdk module_sdkextensions_prop (property_service (set)))
+(allow derive_sdk module_sdkextensions_prop (file (read getattr map open)))
+;;* lmx 13 system/sepolicy/private/derive_sdk.te
+
+(neverallow base_typeattr_356 module_sdkextensions_prop (property_service (set)))
+;;* lme
+
+(allow derive_sdk dumpstate (fd (use)))
+(allow derive_sdk dumpstate (unix_stream_socket (read write)))
+(allow derive_sdk shell_data_file (file (read write getattr append)))
+(typetransition device_as_webcam tmpfs file appdomain_tmpfs)
+(allow device_as_webcam device_as_webcam_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su device_as_webcam_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 4 system/sepolicy/private/device_as_webcam.te
+
+(neverallow base_typeattr_357 device_as_webcam_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow device_as_webcam appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 4 system/sepolicy/private/device_as_webcam.te
+
+(neverallow base_typeattr_358 base_typeattr_357 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/device_as_webcam.te
+
+(neverallow base_typeattr_359 device_as_webcam (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/device_as_webcam.te
+
+(neverallow base_typeattr_360 device_as_webcam (process (ptrace)))
+;;* lme
+
+(allow device_as_webcam system_app_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow device_as_webcam system_app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow device_as_webcam app_api_service (service_manager (find)))
+(allow device_as_webcam cameraserver_service (service_manager (find)))
+(allow device_as_webcam usb_uvc_enabled_prop (file (read getattr map open)))
+(allow device_as_webcam device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow device_as_webcam video_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow device_as_webcam video_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow dex2oat dex2oat_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su dex2oat_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 5 system/sepolicy/private/dex2oat.te
+
+(neverallow base_typeattr_361 dex2oat_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow dex2oat apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat vendor_framework_file (dir (getattr search)))
+(allow dex2oat vendor_framework_file (file (read getattr map open)))
+(allow dex2oat vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat vendor_apex_metadata_file (dir (getattr search)))
+(allow dex2oat tmpfs (file (read getattr map)))
+(allow dex2oat dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat dalvikcache_data_file (file (write)))
+(allow dex2oat system_file (file (lock)))
+(allow dex2oat postinstall_file (file (lock)))
+(allow dex2oat asec_apk_file (file (read map)))
+(allow dex2oat unlabeled (file (read map)))
+(allow dex2oat oemfs (file (read map)))
+(allow dex2oat apk_tmp_file (dir (search)))
+(allow dex2oat apk_tmp_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat user_profile_data_file (file (read getattr lock map)))
+(allow dex2oat app_data_file (file (read write getattr lock map)))
+(allow dex2oat privapp_data_file (file (read write getattr lock map)))
+(allow dex2oat apex_module_data_file (dir (search)))
+(allow dex2oat odsign_devpts (chr_file (read write)))
+(allow dex2oat apex_art_staging_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat apex_art_staging_data_file (file (read write getattr map unlink)))
+(allow dex2oat apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat device_config_runtime_native_prop (file (read getattr map open)))
+(allow dex2oat device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow dex2oat apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat artd (fd (use)))
+(allow dex2oat installd (fd (use)))
+(allow dex2oat odrefresh (fd (use)))
+(allow dex2oat odsign (fd (use)))
+(allow dex2oat proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat postinstall_dexopt (fd (use)))
+(allow dex2oat postinstall_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dex2oat postinstall_file (filesystem (getattr)))
+(allow dex2oat postinstall_file (lnk_file (read getattr)))
+(allow dex2oat postinstall_file (file (read)))
+(allow dex2oat postinstall_file (file (getattr execute open)))
+(allow dex2oat postinstall_apex_mnt_dir (dir (getattr search)))
+(allow dex2oat postinstall_apex_mnt_dir (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat postinstall_apex_mnt_dir (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat ota_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow dex2oat ota_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dex2oat ota_data_file (lnk_file (read create)))
+(allow dex2oat ota_data_file (file (write create setattr lock append map open)))
+(allow dex2oat apexd (fd (use)))
+;;* lmx 115 system/sepolicy/private/dex2oat.te
+
+(neverallow dex2oat app_data_file_type (file (open)))
+(neverallow dex2oat app_data_file_type (lnk_file (open)))
+(neverallow dex2oat app_data_file_type (sock_file (open)))
+(neverallow dex2oat app_data_file_type (fifo_file (open)))
+;;* lme
+
+(allow dexopt_chroot_setup servicemanager (binder (call transfer)))
+(allow servicemanager dexopt_chroot_setup (binder (call transfer)))
+(allow servicemanager dexopt_chroot_setup (dir (search)))
+(allow servicemanager dexopt_chroot_setup (file (read open)))
+(allow servicemanager dexopt_chroot_setup (process (getattr)))
+(allow dexopt_chroot_setup dexopt_chroot_setup_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/dexopt_chroot_setup.te
+
+(neverallow base_typeattr_362 dexopt_chroot_setup_service (service_manager (add)))
+;;* lme
+
+(allow dexopt_chroot_setup dumpstate (fifo_file (write getattr)))
+(allow dexopt_chroot_setup dumpstate (fd (use)))
+(allow init dexopt_chroot_setup_exec (file (read getattr map execute open)))
+(allow init dexopt_chroot_setup (process (transition)))
+(allow dexopt_chroot_setup dexopt_chroot_setup_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init dexopt_chroot_setup (process (noatsecure)))
+(allow init dexopt_chroot_setup (process (siginh rlimitinh)))
+(typetransition init dexopt_chroot_setup_exec process dexopt_chroot_setup)
+(typetransition dexopt_chroot_setup tmpfs file dexopt_chroot_setup_tmpfs)
+(allow dexopt_chroot_setup dexopt_chroot_setup_tmpfs (file (read write getattr map)))
+(allow dexopt_chroot_setup apex_module_data_file (dir (getattr search)))
+(allow dexopt_chroot_setup apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dexopt_chroot_setup apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dexopt_chroot_setup apex_art_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dexopt_chroot_setup dexopt_chroot_setup_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su dexopt_chroot_setup_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 24 system/sepolicy/private/dexopt_chroot_setup.te
+
+(neverallow base_typeattr_362 dexopt_chroot_setup_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow dexopt_chroot_setup self (capability (sys_chroot sys_admin)))
+(allow dexopt_chroot_setup self (cap_userns (sys_chroot sys_admin)))
+(allow dexopt_chroot_setup pre_reboot_dexopt_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow dexopt_chroot_setup pre_reboot_dexopt_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow dexopt_chroot_setup proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dexopt_chroot_setup block_device (dir (getattr search)))
+(allow dexopt_chroot_setup device (dir (mounton)))
+(allow dexopt_chroot_setup rootfs (dir (mounton)))
+(allow dexopt_chroot_setup proc (dir (mounton)))
+(allow dexopt_chroot_setup binderfs (dir (mounton)))
+(allow dexopt_chroot_setup selinuxfs (dir (mounton)))
+(allow dexopt_chroot_setup fusectlfs (dir (mounton)))
+(allow dexopt_chroot_setup cgroup (dir (mounton)))
+(allow dexopt_chroot_setup cgroup_v2 (dir (mounton)))
+(allow dexopt_chroot_setup sysfs (dir (mounton)))
+(allow dexopt_chroot_setup fs_bpf (dir (mounton)))
+(allow dexopt_chroot_setup devpts (dir (mounton)))
+(allow dexopt_chroot_setup tmpfs (dir (mounton)))
+(allow dexopt_chroot_setup debugfs_tracing_debug (dir (mounton)))
+(allow dexopt_chroot_setup pstorefs (dir (mounton)))
+(allow dexopt_chroot_setup functionfs (dir (mounton)))
+(allow dexopt_chroot_setup binfmt_miscfs (dir (mounton)))
+(allow dexopt_chroot_setup system_file (dir (mounton)))
+(allow dexopt_chroot_setup system_lib_file (dir (mounton)))
+(allow dexopt_chroot_setup linkerconfig_file (dir (mounton)))
+(allow dexopt_chroot_setup vendor_file (dir (mounton)))
+(allow dexopt_chroot_setup vendor_configs_file (dir (mounton)))
+(allow dexopt_chroot_setup metadata_file (dir (mounton)))
+(allow dexopt_chroot_setup system_data_root_file (dir (mounton)))
+(allow dexopt_chroot_setup system_data_file (dir (mounton)))
+(allow dexopt_chroot_setup apk_data_file (dir (mounton)))
+(allow dexopt_chroot_setup mnt_expand_file (dir (mounton)))
+(allow dexopt_chroot_setup apex_mnt_dir (dir (mounton)))
+(allow dexopt_chroot_setup pre_reboot_dexopt_file (dir (mounton)))
+(allow dexopt_chroot_setup labeledfs (filesystem (mount)))
+(allow dexopt_chroot_setup tmpfs (filesystem (mount)))
+(allow dexopt_chroot_setup labeledfs (filesystem (unmount)))
+(allow dexopt_chroot_setup proc (filesystem (unmount)))
+(allow dexopt_chroot_setup binderfs (filesystem (unmount)))
+(allow dexopt_chroot_setup selinuxfs (filesystem (unmount)))
+(allow dexopt_chroot_setup fusectlfs (filesystem (unmount)))
+(allow dexopt_chroot_setup cgroup (filesystem (unmount)))
+(allow dexopt_chroot_setup cgroup_v2 (filesystem (unmount)))
+(allow dexopt_chroot_setup sysfs (filesystem (unmount)))
+(allow dexopt_chroot_setup fs_bpf (filesystem (unmount)))
+(allow dexopt_chroot_setup devpts (filesystem (unmount)))
+(allow dexopt_chroot_setup tmpfs (filesystem (unmount)))
+(allow dexopt_chroot_setup debugfs_tracing_debug (filesystem (unmount)))
+(allow dexopt_chroot_setup pstorefs (filesystem (unmount)))
+(allow dexopt_chroot_setup functionfs (filesystem (unmount)))
+(allow dexopt_chroot_setup binfmt_miscfs (filesystem (unmount)))
+(allow dexopt_chroot_setup apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dexopt_chroot_setup apex_mnt_dir (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dexopt_chroot_setup apex_mnt_dir (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dexopt_chroot_setup apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dexopt_chroot_setup linkerconfig_file (dir (write add_name)))
+(allow dexopt_chroot_setup linkerconfig_file (file (write create)))
+(allow dexopt_chroot_setup tmpfs (filesystem (relabelfrom)))
+(allow dexopt_chroot_setup art_exec_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dexopt_chroot_setup apexd_exec (file (read getattr map execute open)))
+(allow dexopt_chroot_setup apexd (process (transition)))
+(allow apexd apexd_exec (file (read getattr map execute open entrypoint)))
+(allow apexd dexopt_chroot_setup (process (sigchld)))
+(dontaudit dexopt_chroot_setup apexd (process (noatsecure)))
+(allow dexopt_chroot_setup apexd (process (siginh rlimitinh)))
+(typetransition dexopt_chroot_setup apexd_exec process apexd)
+(allow dexopt_chroot_setup linkerconfig_exec (file (read getattr map execute open)))
+(allow dexopt_chroot_setup linkerconfig (process (transition)))
+(allow linkerconfig linkerconfig_exec (file (read getattr map execute open entrypoint)))
+(allow linkerconfig dexopt_chroot_setup (process (sigchld)))
+(dontaudit dexopt_chroot_setup linkerconfig (process (noatsecure)))
+(allow dexopt_chroot_setup linkerconfig (process (siginh rlimitinh)))
+(typetransition dexopt_chroot_setup linkerconfig_exec process linkerconfig)
+(allow dexopt_chroot_setup property_socket (sock_file (write)))
+(allow dexopt_chroot_setup init (unix_stream_socket (connectto)))
+(allow dexopt_chroot_setup snapshotctl_prop (property_service (set)))
+(allow dexopt_chroot_setup snapshotctl_prop (file (read getattr map open)))
+(allow dexopt_chroot_setup apk_data_file (dir (getattr search)))
+;;* lmx 143 system/sepolicy/private/dexopt_chroot_setup.te
+
+(neverallow dexopt_chroot_setup base_typeattr_294 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 146 system/sepolicy/private/dexopt_chroot_setup.te
+
+(neverallow base_typeattr_238 dexopt_chroot_setup (process (transition)))
+;;* lme
+
+;;* lmx 147 system/sepolicy/private/dexopt_chroot_setup.te
+
+(neverallow base_typeattr_239 dexopt_chroot_setup (process (dyntransition)))
+;;* lme
+
+;;* lmx 158 system/sepolicy/private/dexopt_chroot_setup.te
+
+(neverallow base_typeattr_363 pre_reboot_dexopt_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+(allow init dhcp_exec (file (read getattr map execute open)))
+(allow init dhcp (process (transition)))
+(allow dhcp dhcp_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init dhcp (process (noatsecure)))
+(allow init dhcp (process (siginh rlimitinh)))
+(typetransition init dhcp_exec process dhcp)
+(typetransition dhcp system_data_file dir dhcp_data_file)
+(typetransition dhcp system_data_file file dhcp_data_file)
+(allow dhcp property_socket (sock_file (write)))
+(allow dhcp init (unix_stream_socket (connectto)))
+(allow dhcp dhcp_prop (property_service (set)))
+(allow dhcp dhcp_prop (file (read getattr map open)))
+(allow dhcp property_socket (sock_file (write)))
+(allow dhcp init (unix_stream_socket (connectto)))
+(allow dhcp pan_result_prop (property_service (set)))
+(allow dhcp pan_result_prop (file (read getattr map open)))
+(allow dhcp cgroup (dir (write create add_name)))
+(allow dhcp cgroup_v2 (dir (write create add_name)))
+(allow dhcp self (capability (setgid setuid net_bind_service net_admin net_raw)))
+(allow dhcp self (cap_userns (setgid setuid net_bind_service net_admin net_raw)))
+(allow dhcp self (packet_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow dhcp self (netlink_route_socket (nlmsg_write)))
+(allow dhcp shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dhcp system_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dhcp toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dhcp proc_net_type (file (write)))
+(allow dhcp dhcp_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow dhcp dhcp_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow dhcp netd (fd (use)))
+(allow dhcp netd (fifo_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow dhcp netd (udp_socket (read write)))
+(allow dhcp netd (unix_stream_socket (read write)))
+(allow dhcp netd (unix_dgram_socket (read write)))
+(allow dhcp netd (netlink_route_socket (read write)))
+(allow dhcp netd (netlink_nflog_socket (read write)))
+(allow dhcp netd (netlink_kobject_uevent_socket (read write)))
+(allow display_service_server fwk_display_hwservice (hwservice_manager (add find)))
+(allow display_service_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 1 system/sepolicy/private/display_service_server.te
+
+(neverallow base_typeattr_364 fwk_display_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow init dmesgd_exec (file (read getattr map execute open)))
+(allow init dmesgd (process (transition)))
+(allow dmesgd dmesgd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init dmesgd (process (noatsecure)))
+(allow init dmesgd (process (siginh rlimitinh)))
+(typetransition init dmesgd_exec process dmesgd)
+(allow dmesgd dmesgd_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow dmesgd dmesgd_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow dmesgd kernel (system (syslog_read)))
+(allow dmesgd shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dmesgd toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dmesgd servicemanager (binder (call transfer)))
+(allow servicemanager dmesgd (binder (call transfer)))
+(allow servicemanager dmesgd (dir (search)))
+(allow servicemanager dmesgd (file (read open)))
+(allow servicemanager dmesgd (process (getattr)))
+(allow dmesgd system_server (binder (call transfer)))
+(allow system_server dmesgd (binder (transfer)))
+(allow dmesgd system_server (fd (use)))
+(allow dmesgd dropbox_service (service_manager (find)))
+(allow dmesgd proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx dnsmasq self (ioctl udp_socket (0x6900 0x6902)))
+(allowx dnsmasq self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx dnsmasq self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow dnsmasq self (capability (dac_override dac_read_search)))
+(allow dnsmasq self (cap_userns (dac_override dac_read_search)))
+(allow dnsmasq self (capability (setgid setuid net_bind_service net_admin net_raw)))
+(allow dnsmasq self (cap_userns (setgid setuid net_bind_service net_admin net_raw)))
+(allow dnsmasq dhcp_data_file (dir (write lock open add_name remove_name search)))
+(allow dnsmasq dhcp_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow dnsmasq netd (fd (use)))
+(allow dnsmasq netd (fifo_file (read write getattr)))
+(allow dnsmasq netd (netlink_kobject_uevent_socket (read write)))
+(allow dnsmasq netd (netlink_nflog_socket (read write)))
+(allow dnsmasq netd (netlink_route_socket (read write)))
+(allow dnsmasq netd (unix_stream_socket (read write getattr)))
+(allow dnsmasq netd (unix_dgram_socket (read write)))
+(allow dnsmasq netd (udp_socket (read write)))
+(allow domain init (process (sigchld)))
+(allow domain self (process (fork sigchld sigkill sigstop signull signal getsched setsched getsession getpgid getcap setcap getattr setrlimit)))
+(allow base_typeattr_365 self (process (setpgid)))
+(allow domain self (fd (use)))
+(allow domain proc (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain proc_net_type (dir (search)))
+(allow domain self (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain self (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain self (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain self (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain self (fifo_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain self (unix_dgram_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown sendto)))
+(allow domain self (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown connectto)))
+(allow domain init (fd (use)))
+(allow domain device_config_aconfig_flags_prop (file (read getattr map open)))
+(allow domain tmpfs (dir (getattr search)))
+(allow domain rootfs (dir (search)))
+(allow domain rootfs (lnk_file (read getattr)))
+(allow domain device (dir (search)))
+(allow domain dev_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain devpts (dir (search)))
+(allow domain dmabuf_heap_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain socket_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain owntty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain null_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain zero_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain ashmem_device (chr_file (ioctl read write getattr lock append map)))
+(allow domain ashmem_libcutils_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_366 binder_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_366 servicemanager_prop (file (read getattr map open)))
+(dontaudit domain hwservicemanager_exec (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx domain binder_device (ioctl chr_file (0x6201 0x6203 (range 0x6205 0x6209) (range 0x620b 0x620d) (range 0x6210 0x6211))))
+(allow domain binderfs (dir (getattr search)))
+(allow domain binderfs_logs_proc (dir (search)))
+(allow domain binderfs_features (dir (search)))
+(allow domain binderfs_features (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_367 hwbinder_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain ptmx_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain random_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow domain proc_random (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain proc_random (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain properties_device (dir (getattr search)))
+(allow domain properties_serial (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain property_info (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain log_property_type (file (read getattr map open)))
+(dontaudit domain property_type (file (audit_access)))
+(allow domain property_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain init (key (search)))
+(allow domain vold (key (search)))
+(allow domain logdw_socket (sock_file (write)))
+(allow domain logd (unix_dgram_socket (sendto)))
+(allow domain pmsg_device (chr_file (write lock append map open)))
+(allow domain system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain system_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain system_seccomp_policy_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain system_security_cacerts_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain system_file (lnk_file (read getattr)))
+(allow domain system_seccomp_policy_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain system_security_cacerts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain system_group_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain system_passwd_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain system_linker_exec (file (read getattr map execute open)))
+(allow domain system_linker_config_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain system_lib_file (file (read getattr map execute open)))
+(allow domain system_linker_exec (lnk_file (read getattr open)))
+(allow domain system_lib_file (lnk_file (read getattr open)))
+(allow domain system_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain system_file (file (read getattr map execute open)))
+(allow coredomain system_file (file (read getattr map execute open)))
+(allow domain vendor_hal_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain same_process_hal_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_232 same_process_hal_file (file (read getattr map execute open)))
+(allow domain vndk_sp_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain vndk_sp_file (file (read getattr map execute open)))
+(allow domain vendor_configs_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain vendor_configs_file (file (read getattr map open)))
+(allow domain vendor_file_type (lnk_file (read getattr open)))
+(allow domain vendor_file (dir (getattr search)))
+(allow base_typeattr_232 vendor_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_232 vendor_file_type (file (read getattr map execute open)))
+(allow base_typeattr_232 vendor_file_type (lnk_file (read getattr)))
+(allow domain sysfs (lnk_file (read getattr)))
+(allow domain system_zoneinfo_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain system_zoneinfo_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain sysfs_devices_system_cpu (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain sysfs_devices_system_cpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_devices_system_cpu (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_usb (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain sysfs_usb (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_usb (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_transparent_hugepage (dir (search)))
+(allow domain sysfs_transparent_hugepage (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain system_data_file (dir (getattr)))
+(allow coredomain system_data_file (dir (getattr)))
+(allow domain system_data_root_file (dir (getattr search)))
+(allow domain system_data_file (dir (search)))
+(allow appdomain system_userdir_file (dir (getattr search)))
+(allow coredomain system_userdir_file (dir (getattr search)))
+(allow appdomain media_userdir_file (dir (search)))
+(allow coredomain media_userdir_file (dir (search)))
+(allow domain vendor_userdir_file (dir (getattr search)))
+(allow domain vendor_data_file (dir (getattr search)))
+(allow domain proc (lnk_file (read getattr)))
+(allow domain proc_cpuinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain dev_cpu_variant (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain proc_perf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain selinuxfs (dir (search)))
+(allow domain selinuxfs (file (getattr)))
+(allow domain sysfs (dir (search)))
+(allow domain selinuxfs (filesystem (getattr)))
+(allow domain debugfs (dir (search)))
+(allow domain debugfs_tracing (dir (search)))
+(allow domain debugfs_tracing_debug (dir (search)))
+(allow domain debugfs_trace_marker (file (write lock append map open)))
+(allow domain self (lockdown (integrity confidentiality)))
+(allow domain fs_type (filesystem (getattr)))
+(allow domain fs_type (dir (getattr)))
+(allowx domain domain (ioctl tcp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx domain domain (ioctl udp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx domain domain (ioctl rawip_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx domain domain (ioctl icmp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx domain domain (ioctl tcp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx domain domain (ioctl udp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx domain domain (ioctl rawip_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx domain domain (ioctl icmp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx domain domain (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx domain domain (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx domain domain (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx domain domain (ioctl icmp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx domain domain (ioctl unix_stream_socket (0x5401 0x5411 (range 0x5413 0x5414) 0x541b (range 0x5450 0x5451))))
+(allowx domain domain (ioctl unix_dgram_socket (0x5401 0x5411 (range 0x5413 0x5414) 0x541b (range 0x5450 0x5451))))
+(allowx domain pdx_channel_socket_type (ioctl unix_stream_socket (0x5401 0x5411 (range 0x5413 0x5414) 0x541b (range 0x5450 0x5451))))
+(allowx domain pdx_channel_socket_type (ioctl unix_dgram_socket (0x5401 0x5411 (range 0x5413 0x5414) 0x541b (range 0x5450 0x5451))))
+(allowx domain devpts (ioctl chr_file ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx domain dev_type (ioctl file ((range 0x5450 0x5451))))
+(allowx domain dev_type (ioctl dir ((range 0x5450 0x5451))))
+(allowx domain dev_type (ioctl lnk_file ((range 0x5450 0x5451))))
+(allowx domain dev_type (ioctl blk_file ((range 0x5450 0x5451))))
+(allowx domain dev_type (ioctl sock_file ((range 0x5450 0x5451))))
+(allowx domain dev_type (ioctl fifo_file ((range 0x5450 0x5451))))
+(allowx domain domain (ioctl file ((range 0x5450 0x5451))))
+(allowx domain domain (ioctl dir ((range 0x5450 0x5451))))
+(allowx domain domain (ioctl lnk_file ((range 0x5450 0x5451))))
+(allowx domain domain (ioctl blk_file ((range 0x5450 0x5451))))
+(allowx domain domain (ioctl sock_file ((range 0x5450 0x5451))))
+(allowx domain domain (ioctl fifo_file ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl file ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl dir ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl lnk_file ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl blk_file ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl sock_file ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl fifo_file ((range 0x5450 0x5451))))
+(allowx domain file_type (ioctl file ((range 0x5450 0x5451))))
+(allowx domain file_type (ioctl dir ((range 0x5450 0x5451))))
+(allowx domain file_type (ioctl lnk_file ((range 0x5450 0x5451))))
+(allowx domain file_type (ioctl blk_file ((range 0x5450 0x5451))))
+(allowx domain file_type (ioctl sock_file ((range 0x5450 0x5451))))
+(allowx domain file_type (ioctl fifo_file ((range 0x5450 0x5451))))
+(allowx domain tun_device (ioctl chr_file ((range 0x5450 0x5451))))
+(allowx domain fs_type (ioctl file (0x5401)))
+(allowx domain file_type (ioctl file (0x5401)))
+(allowx domain domain (ioctl fifo_file (0x5401)))
+(allowx domain dev_type (ioctl blk_file (0x1268 0x1272)))
+(allowx domain file_type (ioctl file ((range 0xf501 0xf502) 0xf505 (range 0xf50c 0xf50e))))
+(allowx domain sdcard_type (ioctl file ((range 0xf501 0xf502) 0xf505 (range 0xf50c 0xf50e))))
+(allow base_typeattr_368 hwservice_manager_type (hwservice_manager (add find)))
+(allow base_typeattr_368 vndservice_manager_type (service_manager (add find)))
+(allow domain apex_mnt_dir (dir (getattr search)))
+(allow domain apex_mnt_dir (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_pgsize_migration (dir (search)))
+(allow domain sysfs_pgsize_migration (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain bionic_linker_16kb_app_compat_prop (file (read getattr map open)))
+(allow domain device_config_media_native_prop (file (read getattr map open)))
+(allow domain crash_dump_exec (file (read getattr map execute open)))
+(allow domain crash_dump (process (transition)))
+(allow crash_dump crash_dump_exec (file (read getattr map execute open entrypoint)))
+(allow crash_dump domain (process (sigchld)))
+(dontaudit domain crash_dump (process (noatsecure)))
+(allow domain crash_dump (process (siginh rlimitinh)))
+(typetransition domain crash_dump_exec process crash_dump)
+(allow domain crash_dump (process (sigchld)))
+(allow domain heapprofd_prop (file (read getattr map open)))
+(allow heapprofd base_typeattr_369 (process (signal)))
+(allow base_typeattr_369 heapprofd_socket (sock_file (write)))
+(allow base_typeattr_369 heapprofd (unix_stream_socket (connectto)))
+(allow heapprofd base_typeattr_369 (fd (use)))
+(allow base_typeattr_369 heapprofd_tmpfs (file (read write getattr map)))
+(allow base_typeattr_369 heapprofd (fd (use)))
+(allow heapprofd base_typeattr_369 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow heapprofd base_typeattr_369 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf base_typeattr_370 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf base_typeattr_370 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf base_typeattr_370 (process (signal)))
+(allow base_typeattr_370 traced_perf_socket (sock_file (write)))
+(allow base_typeattr_370 traced_perf (unix_stream_socket (connectto)))
+(allow traced_perf base_typeattr_370 (fd (use)))
+(allow domain sysfs_fs_incfs_features (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain sysfs_fs_incfs_features (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_fs_incfs_features (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_fs_fuse_features (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain sysfs_fs_fuse_features (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain sysfs_fs_fuse_features (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain cgroup (dir (search)))
+(allow base_typeattr_371 cgroup (dir (write lock open add_name remove_name search)))
+(allow base_typeattr_371 cgroup (file (write lock append map open)))
+(allow domain cgroup_v2 (dir (search)))
+(allow base_typeattr_371 cgroup_v2 (dir (write lock open add_name remove_name search)))
+(allow base_typeattr_371 cgroup_v2 (file (write lock append map open)))
+(allow domain cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain cgroup_rc_file (dir (search)))
+(allow domain cgroup_rc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain task_profiles_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain vendor_cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain vendor_task_profiles_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain libprocessgroup_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain libprocessgroup_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain use_memfd_prop (file (read getattr map open)))
+(allow domain module_sdkextensions_prop (file (read getattr map open)))
+(allow domain bq_config_prop (file (read getattr map open)))
+(allow domain permissive_mte_prop (file (read getattr map open)))
+(allow domain device_config_memory_safety_native_boot_prop (file (read getattr map open)))
+(allow domain device_config_memory_safety_native_prop (file (read getattr map open)))
+(allow domain device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow domain device_config_runtime_native_prop (file (read getattr map open)))
+(allow appdomain core_property_type (file (read getattr map open)))
+(allow coredomain core_property_type (file (read getattr map open)))
+(allow shell core_property_type (file (read getattr map open)))
+(allow appdomain exported3_system_prop (file (read getattr map open)))
+(allow coredomain exported3_system_prop (file (read getattr map open)))
+(allow shell exported3_system_prop (file (read getattr map open)))
+(allow appdomain exported_camera_prop (file (read getattr map open)))
+(allow coredomain exported_camera_prop (file (read getattr map open)))
+(allow shell exported_camera_prop (file (read getattr map open)))
+(allow coredomain userspace_reboot_exported_prop (file (read getattr map open)))
+(allow shell userspace_reboot_exported_prop (file (read getattr map open)))
+(allow coredomain userspace_reboot_log_prop (file (read getattr map open)))
+(allow shell userspace_reboot_log_prop (file (read getattr map open)))
+(allow coredomain userspace_reboot_test_prop (file (read getattr map open)))
+(allow shell userspace_reboot_test_prop (file (read getattr map open)))
+(allow base_typeattr_372 vendor_default_prop (file (read getattr map open)))
+(allow domain aaudio_config_prop (file (read getattr map open)))
+(allow domain apexd_select_prop (file (read getattr map open)))
+(allow domain arm64_memtag_prop (file (read getattr map open)))
+(allow domain bluetooth_config_prop (file (read getattr map open)))
+(allow domain bootloader_prop (file (read getattr map open)))
+(allow domain build_odm_prop (file (read getattr map open)))
+(allow domain build_prop (file (read getattr map open)))
+(allow domain build_vendor_prop (file (read getattr map open)))
+(allow domain debug_prop (file (read getattr map open)))
+(allow domain exported_config_prop (file (read getattr map open)))
+(allow domain exported_default_prop (file (read getattr map open)))
+(allow domain exported_dumpstate_prop (file (read getattr map open)))
+(allow domain exported_secure_prop (file (read getattr map open)))
+(allow domain exported_system_prop (file (read getattr map open)))
+(allow domain fingerprint_prop (file (read getattr map open)))
+(allow domain framework_status_prop (file (read getattr map open)))
+(allow domain gwp_asan_prop (file (read getattr map open)))
+(allow domain hal_instrumentation_prop (file (read getattr map open)))
+(allow domain hw_timeout_multiplier_prop (file (read getattr map open)))
+(allow domain init_service_status_prop (file (read getattr map open)))
+(allow domain libc_debug_prop (file (read getattr map open)))
+(allow domain locale_prop (file (read getattr map open)))
+(allow domain logd_prop (file (read getattr map open)))
+(allow domain mediadrm_config_prop (file (read getattr map open)))
+(allow domain property_service_version_prop (file (read getattr map open)))
+(allow domain soc_prop (file (read getattr map open)))
+(allow domain socket_hook_prop (file (read getattr map open)))
+(allow domain surfaceflinger_prop (file (read getattr map open)))
+(allow domain telephony_status_prop (file (read getattr map open)))
+(allow domain timezone_prop (file (read getattr map open)))
+(allow base_typeattr_373 userdebug_or_eng_prop (file (read getattr map open)))
+(allow domain vendor_socket_hook_prop (file (read getattr map open)))
+(allow domain vndk_prop (file (read getattr map open)))
+(allow domain vold_status_prop (file (read getattr map open)))
+(allow domain vts_config_prop (file (read getattr map open)))
+(allow domain binder_cache_bluetooth_server_prop (file (read getattr map open)))
+(allow domain binder_cache_system_server_prop (file (read getattr map open)))
+(allow domain binder_cache_telephony_server_prop (file (read getattr map open)))
+;;* lmx 525 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 binderfs_logs_transactions (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 529 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_374 binderfs_logs_transaction_history (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow domain kernel (key (search)))
+(allow domain linkerconfig_file (dir (search)))
+(allow domain linkerconfig_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain boringssl_self_test_marker (dir (search)))
+(allow domain log_file_logger_prop (file (read getattr map open)))
+(allow domain prng_seeder_socket (sock_file (write)))
+(allow domain prng_seeder (unix_stream_socket (connectto)))
+(allow base_typeattr_375 shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow base_typeattr_375 toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow domain aconfig_storage_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow domain aconfig_storage_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain aconfig_storage_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain system_aconfig_storage_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow coredomain system_aconfig_storage_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow appdomain system_aconfig_storage_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow appdomain system_aconfig_storage_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow coredomain system_aconfig_storage_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow coredomain system_aconfig_storage_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow domain metadata_file (dir (search)))
+;;* lmx 603 system/sepolicy/private/domain.te
+
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl file (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl dir (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl lnk_file (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl blk_file (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl sock_file (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl fifo_file (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl tcp_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl udp_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl rawip_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl packet_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl key_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl unix_stream_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl unix_dgram_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_route_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_tcpdiag_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_nflog_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_xfrm_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_selinux_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_audit_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_dnrt_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_kobject_uevent_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl appletalk_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl tun_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_iscsi_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_fib_lookup_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_connector_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_netfilter_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_generic_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_scsitransport_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_rdma_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netlink_crypto_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl sctp_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl icmp_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl ax25_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl ipx_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl netrom_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl atmpvc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl x25_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl rose_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl decnet_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl atmsvc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl rds_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl irda_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl pppox_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl llc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl can_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl tipc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl bluetooth_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl iucv_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl rxrpc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl isdn_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl phonet_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl ieee802154_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl caif_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl alg_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl nfc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl vsock_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl kcm_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl qipcrtr_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl smc_socket (0x0)))
+(neverallowx base_typeattr_239 base_typeattr_239 (ioctl xdp_socket (0x0)))
+;;* lme
+
+;;* lmx 607 system/sepolicy/private/domain.te
+
+(neverallowx domain domain (ioctl socket (0x8905)))
+(neverallowx domain domain (ioctl tcp_socket (0x8905)))
+(neverallowx domain domain (ioctl udp_socket (0x8905)))
+(neverallowx domain domain (ioctl rawip_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_socket (0x8905)))
+(neverallowx domain domain (ioctl packet_socket (0x8905)))
+(neverallowx domain domain (ioctl key_socket (0x8905)))
+(neverallowx domain domain (ioctl unix_stream_socket (0x8905)))
+(neverallowx domain domain (ioctl unix_dgram_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_route_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_tcpdiag_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_nflog_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_xfrm_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_selinux_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_audit_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_dnrt_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_kobject_uevent_socket (0x8905)))
+(neverallowx domain domain (ioctl appletalk_socket (0x8905)))
+(neverallowx domain domain (ioctl tun_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_iscsi_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_fib_lookup_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_connector_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_netfilter_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_generic_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_scsitransport_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_rdma_socket (0x8905)))
+(neverallowx domain domain (ioctl netlink_crypto_socket (0x8905)))
+(neverallowx domain domain (ioctl sctp_socket (0x8905)))
+(neverallowx domain domain (ioctl icmp_socket (0x8905)))
+(neverallowx domain domain (ioctl ax25_socket (0x8905)))
+(neverallowx domain domain (ioctl ipx_socket (0x8905)))
+(neverallowx domain domain (ioctl netrom_socket (0x8905)))
+(neverallowx domain domain (ioctl atmpvc_socket (0x8905)))
+(neverallowx domain domain (ioctl x25_socket (0x8905)))
+(neverallowx domain domain (ioctl rose_socket (0x8905)))
+(neverallowx domain domain (ioctl decnet_socket (0x8905)))
+(neverallowx domain domain (ioctl atmsvc_socket (0x8905)))
+(neverallowx domain domain (ioctl rds_socket (0x8905)))
+(neverallowx domain domain (ioctl irda_socket (0x8905)))
+(neverallowx domain domain (ioctl pppox_socket (0x8905)))
+(neverallowx domain domain (ioctl llc_socket (0x8905)))
+(neverallowx domain domain (ioctl can_socket (0x8905)))
+(neverallowx domain domain (ioctl tipc_socket (0x8905)))
+(neverallowx domain domain (ioctl bluetooth_socket (0x8905)))
+(neverallowx domain domain (ioctl iucv_socket (0x8905)))
+(neverallowx domain domain (ioctl rxrpc_socket (0x8905)))
+(neverallowx domain domain (ioctl isdn_socket (0x8905)))
+(neverallowx domain domain (ioctl phonet_socket (0x8905)))
+(neverallowx domain domain (ioctl ieee802154_socket (0x8905)))
+(neverallowx domain domain (ioctl caif_socket (0x8905)))
+(neverallowx domain domain (ioctl alg_socket (0x8905)))
+(neverallowx domain domain (ioctl nfc_socket (0x8905)))
+(neverallowx domain domain (ioctl vsock_socket (0x8905)))
+(neverallowx domain domain (ioctl kcm_socket (0x8905)))
+(neverallowx domain domain (ioctl qipcrtr_socket (0x8905)))
+(neverallowx domain domain (ioctl smc_socket (0x8905)))
+(neverallowx domain domain (ioctl xdp_socket (0x8905)))
+;;* lme
+
+;;* lmx 612 system/sepolicy/private/domain.te
+
+(neverallowx base_typeattr_239 devpts (ioctl chr_file (0x5412)))
+;;* lme
+
+;;* lmx 615 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_376 unlabeled (file (create)))
+(neverallow base_typeattr_376 unlabeled (dir (create)))
+(neverallow base_typeattr_376 unlabeled (lnk_file (create)))
+(neverallow base_typeattr_376 unlabeled (chr_file (create)))
+(neverallow base_typeattr_376 unlabeled (blk_file (create)))
+(neverallow base_typeattr_376 unlabeled (sock_file (create)))
+(neverallow base_typeattr_376 unlabeled (fifo_file (create)))
+;;* lme
+
+;;* lmx 624 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_377 self (capability (mknod)))
+(neverallow base_typeattr_377 self (cap_userns (mknod)))
+;;* lme
+
+;;* lmx 627 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 self (memprotect (mmap_zero)))
+;;* lme
+
+;;* lmx 630 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 self (capability2 (mac_override)))
+(neverallow base_typeattr_239 self (cap2_userns (mac_override)))
+;;* lme
+
+;;* lmx 635 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 self (capability2 (mac_admin)))
+(neverallow base_typeattr_239 self (cap2_userns (mac_admin)))
+;;* lme
+
+;;* lmx 639 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 kernel (security (load_policy)))
+;;* lme
+
+;;* lmx 645 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 kernel (security (setenforce)))
+;;* lme
+
+;;* lmx 646 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_378 kernel (security (setcheckreqprot)))
+;;* lme
+
+;;* lmx 649 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 kernel (security (setbool)))
+;;* lme
+
+;;* lmx 654 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 kernel (security (setsecparam)))
+;;* lme
+
+;;* lmx 662 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_379 hw_random_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 668 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_380 keychord_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 671 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 base_typeattr_381 (file (entrypoint)))
+;;* lme
+
+(dontaudit domain postinstall_mnt_dir (dir (audit_access)))
+;;* lmx 683 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_380 port_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 684 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 port_device (chr_file (ioctl read write lock relabelfrom append map link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 687 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 usermodehelper (file (write append)))
+;;* lme
+
+;;* lmx 688 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_382 sysfs_usermodehelper (file (write append)))
+;;* lme
+
+;;* lmx 689 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 proc_security (file (read write append open)))
+;;* lme
+
+;;* lmx 693 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 init (binder (impersonate call set_context_mgr transfer)))
+;;* lme
+
+;;* lmx 694 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 vendor_init (binder (impersonate call set_context_mgr transfer)))
+;;* lme
+
+;;* lmx 697 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_383 binderfs_logs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_383 binderfs_logs_proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 698 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_374 binderfs_logs_stats (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 702 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_384 block_device (blk_file (read write open)))
+;;* lme
+
+;;* lmx 707 system/sepolicy/private/domain.te
+
+(neverallow domain base_typeattr_239 (chr_file (rename)))
+(neverallow domain base_typeattr_239 (blk_file (rename)))
+;;* lme
+
+;;* lmx 711 system/sepolicy/private/domain.te
+
+(neverallow domain device (chr_file (read write open)))
+;;* lme
+
+;;* lmx 714 system/sepolicy/private/domain.te
+
+(neverallow domain cache_file (file (execute)))
+(neverallow domain cache_backup_file (file (execute)))
+(neverallow domain cache_private_backup_file (file (execute)))
+(neverallow domain cache_recovery_file (file (execute)))
+;;* lme
+
+;;* lmx 717 system/sepolicy/private/domain.te
+
+(neverallow domain nativetest_data_file (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain nativetest_data_file (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain nativetest_data_file (chr_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain nativetest_data_file (blk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain nativetest_data_file (sock_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain nativetest_data_file (fifo_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 718 system/sepolicy/private/domain.te
+
+(neverallow domain nativetest_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 719 system/sepolicy/private/domain.te
+
+(neverallow domain nativetest_data_file (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 721 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_385 shell_test_data_file (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_385 shell_test_data_file (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_385 shell_test_data_file (chr_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_385 shell_test_data_file (blk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_385 shell_test_data_file (sock_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_385 shell_test_data_file (fifo_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 722 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_385 shell_test_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 723 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_386 shell_test_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 724 system/sepolicy/private/domain.te
+
+(neverallow heapprofd shell_test_data_file (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 725 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_385 shell_test_data_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 728 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 property_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 729 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 property_data_file (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 730 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 property_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 731 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 properties_device (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 732 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 properties_serial (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 748 system/sepolicy/private/domain.te
+
+(neverallow domain exec_type (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain exec_type (dir (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain exec_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain exec_type (chr_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain exec_type (blk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain exec_type (sock_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain exec_type (fifo_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (dir (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (chr_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (blk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (sock_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain system_file_type (fifo_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (dir (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (chr_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (blk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (sock_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow domain vendor_file_type (fifo_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 750 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_378 exec_type (file (relabelto)))
+(neverallow base_typeattr_378 exec_type (dir (relabelto)))
+(neverallow base_typeattr_378 exec_type (lnk_file (relabelto)))
+(neverallow base_typeattr_378 exec_type (chr_file (relabelto)))
+(neverallow base_typeattr_378 exec_type (blk_file (relabelto)))
+(neverallow base_typeattr_378 exec_type (sock_file (relabelto)))
+(neverallow base_typeattr_378 exec_type (fifo_file (relabelto)))
+(neverallow base_typeattr_378 system_file_type (file (relabelto)))
+(neverallow base_typeattr_378 system_file_type (dir (relabelto)))
+(neverallow base_typeattr_378 system_file_type (lnk_file (relabelto)))
+(neverallow base_typeattr_378 system_file_type (chr_file (relabelto)))
+(neverallow base_typeattr_378 system_file_type (blk_file (relabelto)))
+(neverallow base_typeattr_378 system_file_type (sock_file (relabelto)))
+(neverallow base_typeattr_378 system_file_type (fifo_file (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (file (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (dir (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (lnk_file (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (chr_file (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (blk_file (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (sock_file (relabelto)))
+(neverallow base_typeattr_378 vendor_file_type (fifo_file (relabelto)))
+;;* lme
+
+;;* lmx 756 system/sepolicy/private/domain.te
+
+(neverallow domain exec_type (file (mounton)))
+(neverallow domain exec_type (dir (mounton)))
+(neverallow domain exec_type (lnk_file (mounton)))
+(neverallow domain exec_type (chr_file (mounton)))
+(neverallow domain exec_type (blk_file (mounton)))
+(neverallow domain exec_type (sock_file (mounton)))
+(neverallow domain exec_type (fifo_file (mounton)))
+;;* lme
+
+;;* lmx 759 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 rootfs (file (write create setattr relabelto append unlink link rename)))
+;;* lme
+
+;;* lmx 763 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 base_typeattr_387 (filesystem (relabelto)))
+;;* lme
+
+;;* lmx 769 system/sepolicy/private/domain.te
+
+(neverallow domain contextmount_type (file (create setattr relabelfrom relabelto append link rename)))
+(neverallow domain contextmount_type (dir (create setattr relabelfrom relabelto append link rename)))
+(neverallow domain contextmount_type (lnk_file (create setattr relabelfrom relabelto append link rename)))
+(neverallow domain contextmount_type (chr_file (create setattr relabelfrom relabelto append link rename)))
+(neverallow domain contextmount_type (blk_file (create setattr relabelfrom relabelto append link rename)))
+(neverallow domain contextmount_type (sock_file (create setattr relabelfrom relabelto append link rename)))
+(neverallow domain contextmount_type (fifo_file (create setattr relabelfrom relabelto append link rename)))
+;;* lme
+
+;;* lmx 770 system/sepolicy/private/domain.te
+
+(neverallow domain contextmount_type (file (write unlink)))
+(neverallow domain contextmount_type (dir (write unlink)))
+(neverallow domain contextmount_type (lnk_file (write unlink)))
+(neverallow domain contextmount_type (chr_file (write unlink)))
+(neverallow domain contextmount_type (blk_file (write unlink)))
+(neverallow domain contextmount_type (sock_file (write unlink)))
+(neverallow domain contextmount_type (fifo_file (write unlink)))
+;;* lme
+
+;;* lmx 777 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 default_android_service (service_manager (add find list)))
+;;* lme
+
+;;* lmx 778 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 default_android_vndservice (service_manager (add find list)))
+;;* lme
+
+;;* lmx 779 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 default_android_hwservice (hwservice_manager (add find list)))
+;;* lme
+
+;;* lmx 788 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 hidl_base_hwservice (hwservice_manager (find)))
+;;* lme
+
+;;* lmx 792 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 mmc_prop (property_service (set)))
+;;* lme
+
+;;* lmx 793 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 vndk_prop (property_service (set)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 mmc_prop (property_service (set)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 exported_default_prop (property_service (set)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 exported_secure_prop (property_service (set)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 vendor_default_prop (property_service (set)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 storage_config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 795 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 hw_timeout_multiplier_prop (property_service (set)))
+;;* lme
+
+;;* lmx 804 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_388 exported_pm_prop (property_service (set)))
+;;* lme
+
+;;* lmx 804 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_389 exported_pm_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 810 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_383 future_pm_prop (property_service (set)))
+;;* lme
+
+;;* lmx 811 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_383 future_pm_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit domain future_pm_prop (file (read)))
+;;* lmx 817 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 aac_drc_prop (property_service (set)))
+;;* lme
+
+;;* lmx 818 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 build_prop (property_service (set)))
+;;* lme
+
+;;* lmx 819 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 userdebug_or_eng_prop (property_service (set)))
+;;* lme
+
+;;* lmx 841 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_390 serialno_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 849 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_391 frp_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 863 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_392 metadata_block_device (blk_file (ioctl read write lock append link rename open)))
+;;* lme
+
+;;* lmx 874 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_393 system_block_device (blk_file (write append)))
+;;* lme
+
+;;* lmx 877 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_394 base_typeattr_239 (binder (set_context_mgr)))
+;;* lme
+
+;;* lmx 879 system/sepolicy/private/domain.te
+
+(neverallow servicemanager hwbinder_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 880 system/sepolicy/private/domain.te
+
+(neverallow servicemanager vndbinder_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 881 system/sepolicy/private/domain.te
+
+(neverallow hwservicemanager binder_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 882 system/sepolicy/private/domain.te
+
+(neverallow hwservicemanager vndbinder_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 883 system/sepolicy/private/domain.te
+
+(neverallow vndservicemanager binder_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 884 system/sepolicy/private/domain.te
+
+(neverallow vndservicemanager hwbinder_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 886 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_395 base_typeattr_396 (service_manager (find)))
+;;* lme
+
+;;* lmx 923 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_397 vndbinder_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lme
+
+;;* lmx 931 system/sepolicy/private/domain.te
+
+(neverallow ueventd vndbinder_device (chr_file (ioctl read write append)))
+;;* lme
+
+;;* lmx 934 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_398 vndservice_manager_type (service_manager (add find list)))
+;;* lme
+
+;;* lmx 941 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_398 vndservicemanager (binder (impersonate call set_context_mgr transfer)))
+;;* lme
+
+;;* lmx 958 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_399 base_typeattr_400 (socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (tcp_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (udp_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (rawip_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (packet_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (key_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (unix_stream_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (unix_dgram_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_route_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_tcpdiag_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_nflog_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_xfrm_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_selinux_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_audit_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_dnrt_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_kobject_uevent_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (appletalk_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (tun_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_iscsi_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_fib_lookup_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_connector_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_netfilter_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_generic_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_scsitransport_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_rdma_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netlink_crypto_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (sctp_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (icmp_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (ax25_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (ipx_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (netrom_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (atmpvc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (x25_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (rose_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (decnet_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (atmsvc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (rds_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (irda_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (pppox_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (llc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (can_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (tipc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (bluetooth_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (iucv_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (rxrpc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (isdn_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (phonet_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (ieee802154_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (caif_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (alg_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (nfc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (vsock_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (kcm_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (qipcrtr_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (smc_socket (connect sendto)))
+(neverallow base_typeattr_399 base_typeattr_400 (xdp_socket (connect sendto)))
+;;* lme
+
+;;* lmx 958 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_399 base_typeattr_400 (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 971 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_401 core_data_file_type (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_401 coredomain_socket (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_401 unlabeled (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 985 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_395 base_typeattr_402 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1001 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_403 base_typeattr_404 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1025 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_405 base_typeattr_406 (file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_405 base_typeattr_406 (lnk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_405 base_typeattr_406 (chr_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_405 base_typeattr_406 (blk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_405 base_typeattr_406 (sock_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_405 base_typeattr_406 (fifo_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1040 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_405 base_typeattr_407 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1057 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_408 core_data_file_type (file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_408 core_data_file_type (lnk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_408 core_data_file_type (chr_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_408 core_data_file_type (blk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_408 core_data_file_type (sock_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_408 core_data_file_type (fifo_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1057 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_409 base_typeattr_410 (file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_409 base_typeattr_410 (lnk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_409 base_typeattr_410 (chr_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_409 base_typeattr_410 (blk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_409 base_typeattr_410 (sock_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_409 base_typeattr_410 (fifo_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1057 system/sepolicy/private/domain.te
+
+(neverallow vendor_init unencrypted_data_file (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1081 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_408 base_typeattr_411 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1081 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_409 base_typeattr_412 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1081 system/sepolicy/private/domain.te
+
+(neverallow vendor_init unencrypted_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1113 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_413 system_data_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1125 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_414 vendor_data_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1138 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_415 vendor_data_file (file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_415 vendor_data_file (lnk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_415 vendor_data_file (chr_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_415 vendor_data_file (blk_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_415 vendor_data_file (sock_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_415 vendor_data_file (fifo_file (create setattr lock relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1149 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_416 vendor_shell_exec (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1161 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_417 base_typeattr_418 (file (execute execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1186 system/sepolicy/private/domain.te
+
+(neverallow coredomain base_typeattr_419 (file (entrypoint)))
+;;* lme
+
+;;* lmx 1186 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_232 base_typeattr_420 (file (entrypoint)))
+;;* lme
+
+;;* lmx 1203 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_421 base_typeattr_422 (file (execute)))
+;;* lme
+
+;;* lmx 1223 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_423 base_typeattr_424 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 1235 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_417 base_typeattr_425 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1275 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_426 zygote (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 1276 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_427 zygote_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 1278 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_428 webview_zygote (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 1279 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_427 webview_zygote (sock_file (write)))
+;;* lme
+
+;;* lmx 1280 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_427 app_zygote (sock_file (write)))
+;;* lme
+
+;;* lmx 1282 system/sepolicy/private/domain.te
+
+(neverallow domain tombstoned_crash_socket (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 1286 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_429 tombstoned_intercept_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 1287 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_429 tombstoned_intercept_socket (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 1290 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_430 heapdump_data_file (file (read)))
+;;* lme
+
+;;* lmx 1308 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 base_typeattr_239 (sem (create destroy getattr setattr read write associate unix_read unix_write)))
+(neverallow base_typeattr_239 base_typeattr_239 (msg (send receive)))
+(neverallow base_typeattr_239 base_typeattr_239 (msgq (create destroy getattr setattr read write associate unix_read unix_write enqueue)))
+(neverallow base_typeattr_239 base_typeattr_239 (shm (create destroy getattr setattr read write associate unix_read unix_write lock)))
+;;* lme
+
+;;* lmx 1315 system/sepolicy/private/domain.te
+
+(neverallow domain dev_type (lnk_file (mounton)))
+(neverallow domain dev_type (sock_file (mounton)))
+(neverallow domain dev_type (fifo_file (mounton)))
+(neverallow domain fs_type (lnk_file (mounton)))
+(neverallow domain fs_type (sock_file (mounton)))
+(neverallow domain fs_type (fifo_file (mounton)))
+(neverallow domain file_type (lnk_file (mounton)))
+(neverallow domain file_type (sock_file (mounton)))
+(neverallow domain file_type (fifo_file (mounton)))
+;;* lme
+
+;;* lmx 1320 system/sepolicy/private/domain.te
+
+(neverallow domain su_exec (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1335 system/sepolicy/private/domain.te
+
+(neverallow domain base_typeattr_431 (file (execmod)))
+;;* lme
+
+;;* lmx 1340 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 self (process (execstack execheap)))
+;;* lme
+
+;;* lmx 1349 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_432 file_type (file (execmod)))
+;;* lme
+
+;;* lmx 1357 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_433 domain (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 1376 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_434 system_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1379 system/sepolicy/private/domain.te
+
+(neverallow installd system_data_file (file (write create setattr relabelto append link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1392 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_435 shell (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 1406 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_436 base_typeattr_437 (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 1415 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_438 app_data_file (lnk_file (read)))
+(neverallow base_typeattr_438 privapp_data_file (lnk_file (read)))
+;;* lme
+
+;;* lmx 1422 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_439 shell_data_file (lnk_file (read)))
+;;* lme
+
+;;* lmx 1429 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 base_typeattr_440 (service_manager (list)))
+;;* lme
+
+;;* lmx 1434 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 base_typeattr_441 (hwservice_manager (list)))
+;;* lme
+
+;;* lmx 1453 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 domain (file (execute execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1459 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_383 debugfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_383 debugfs (lnk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1462 system/sepolicy/private/domain.te
+
+(neverallow domain debugfs_type (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1465 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_442 fusectlfs (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1475 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_443 profman_exec (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1481 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 base_typeattr_444 (system (module_load)))
+;;* lme
+
+;;* lmx 1485 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 self (capability (setfcap)))
+(neverallow base_typeattr_239 self (cap_userns (setfcap)))
+;;* lme
+
+;;* lmx 1488 system/sepolicy/private/domain.te
+
+(neverallow domain crash_dump (process (noatsecure)))
+;;* lme
+
+;;* lmx 1492 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_445 coredomain_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 1497 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_239 same_process_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 1508 system/sepolicy/private/domain.te
+
+(neverallow domain proc_type (dir (write create link rename add_name remove_name reparent rmdir)))
+(neverallow domain sysfs_type (dir (write create link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1511 system/sepolicy/private/domain.te
+
+(neverallow domain cgroup (file (create)))
+;;* lme
+
+;;* lmx 1512 system/sepolicy/private/domain.te
+
+(neverallow domain cgroup_v2 (file (create)))
+;;* lme
+
+(dontaudit domain proc_type (dir (write)))
+(dontaudit domain sysfs_type (dir (write)))
+(dontaudit domain cgroup (file (create)))
+(dontaudit domain cgroup_v2 (file (create)))
+;;* lmx 1535 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_446 mnt_vendor_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1538 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_447 vendor_public_lib_file (file (execute execute_no_trans)))
+(neverallow base_typeattr_447 vendor_public_framework_file (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1550 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_232 mnt_product_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1553 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_448 sysfs_batteryinfo (file (read open)))
+;;* lme
+
+;;* lmx 1576 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_449 hal_codec2_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 1585 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_450 ashmem_device (chr_file (open)))
+;;* lme
+
+;;* lmx 1587 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_451 debugfs_tracing_printk_formats (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1609 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_452 misc_block_device (blk_file (ioctl read write lock relabelfrom append link rename open)))
+;;* lme
+
+;;* lmx 1623 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_453 self (capability (sys_ptrace)))
+(neverallow base_typeattr_453 self (cap_userns (sys_ptrace)))
+;;* lme
+
+;;* lmx 1626 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_454 base_typeattr_239 (keystore2_key (gen_unique_id)))
+;;* lme
+
+;;* lmx 1627 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_427 base_typeattr_239 (keystore2_key (use_dev_id)))
+;;* lme
+
+;;* lmx 1628 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_427 keystore (keystore2 (clear_ns lock reset unlock)))
+;;* lme
+
+;;* lmx 1635 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 debugfs_tracing_debug (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1644 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_430 dropbox_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1650 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_430 dropbox_data_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1663 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_438 app_data_file (file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (dir (create unlink)))
+(neverallow base_typeattr_438 app_data_file (lnk_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (chr_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (blk_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (sock_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (fifo_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (dir (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (lnk_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (chr_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (blk_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (sock_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (fifo_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (dir (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (lnk_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (chr_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (blk_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (sock_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (fifo_file (create unlink)))
+;;* lme
+
+;;* lmx 1665 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_455 storage_area_app_dir (dir (create unlink)))
+(neverallow base_typeattr_455 storage_area_dir (dir (create unlink)))
+;;* lme
+
+;;* lmx 1692 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_456 app_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_456 privapp_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_456 storage_area_content_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1694 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_457 storage_area_app_dir (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_457 storage_area_dir (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1709 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_458 storage_area_key_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_458 storage_area_key_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_458 storage_area_key_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_458 storage_area_key_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_458 storage_area_key_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_458 storage_area_key_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_458 storage_area_key_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1733 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_459 app_data_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_459 privapp_data_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_459 storage_area_content_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1735 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_460 storage_area_app_dir (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_460 storage_area_dir (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1757 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_461 app_data_file (file (open)))
+(neverallow base_typeattr_461 app_data_file (lnk_file (open)))
+(neverallow base_typeattr_461 app_data_file (chr_file (open)))
+(neverallow base_typeattr_461 app_data_file (blk_file (open)))
+(neverallow base_typeattr_461 app_data_file (sock_file (open)))
+(neverallow base_typeattr_461 app_data_file (fifo_file (open)))
+(neverallow base_typeattr_461 privapp_data_file (file (open)))
+(neverallow base_typeattr_461 privapp_data_file (lnk_file (open)))
+(neverallow base_typeattr_461 privapp_data_file (chr_file (open)))
+(neverallow base_typeattr_461 privapp_data_file (blk_file (open)))
+(neverallow base_typeattr_461 privapp_data_file (sock_file (open)))
+(neverallow base_typeattr_461 privapp_data_file (fifo_file (open)))
+(neverallow base_typeattr_461 storage_area_content_file (file (open)))
+(neverallow base_typeattr_461 storage_area_content_file (lnk_file (open)))
+(neverallow base_typeattr_461 storage_area_content_file (chr_file (open)))
+(neverallow base_typeattr_461 storage_area_content_file (blk_file (open)))
+(neverallow base_typeattr_461 storage_area_content_file (sock_file (open)))
+(neverallow base_typeattr_461 storage_area_content_file (fifo_file (open)))
+;;* lme
+
+;;* lmx 1768 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_438 app_data_file (file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (dir (create unlink)))
+(neverallow base_typeattr_438 app_data_file (lnk_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (chr_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (blk_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (sock_file (create unlink)))
+(neverallow base_typeattr_438 app_data_file (fifo_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (dir (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (lnk_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (chr_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (blk_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (sock_file (create unlink)))
+(neverallow base_typeattr_438 privapp_data_file (fifo_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (dir (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (lnk_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (chr_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (blk_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (sock_file (create unlink)))
+(neverallow base_typeattr_438 storage_area_content_file (fifo_file (create unlink)))
+;;* lme
+
+;;* lmx 1778 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_462 app_data_file (file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 app_data_file (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_462 app_data_file (lnk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 app_data_file (chr_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 app_data_file (blk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 app_data_file (sock_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 app_data_file (fifo_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (lnk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (chr_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (blk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (sock_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 privapp_data_file (fifo_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (lnk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (chr_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (blk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (sock_file (relabelfrom relabelto)))
+(neverallow base_typeattr_462 storage_area_content_file (fifo_file (relabelfrom relabelto)))
+;;* lme
+
+;;* lmx 1780 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_455 storage_area_app_dir (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_455 storage_area_dir (dir (relabelfrom relabelto)))
+;;* lme
+
+;;* lmx 1803 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_463 staging_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1818 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_464 staging_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 1820 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_465 staging_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1825 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_466 staging_data_file (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1829 system/sepolicy/private/domain.te
+
+(neverallow apexd staging_data_file (file (write create setattr relabelfrom append execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1836 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_467 base_typeattr_468 (file (execute)))
+;;* lme
+
+;;* lmx 1867 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_469 base_typeattr_470 (file (execute)))
+;;* lme
+
+;;* lmx 1874 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 cgroup_rc_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1887 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_471 dalvikcache_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1899 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_471 dalvikcache_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1914 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_472 apex_art_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1927 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_472 apex_art_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1940 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_263 base_typeattr_271 (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1969 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_473 self (capability (dac_override)))
+(neverallow base_typeattr_473 self (cap_userns (dac_override)))
+;;* lme
+
+;;* lmx 1979 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_474 self (capability (dac_read_search)))
+(neverallow base_typeattr_474 self (cap_userns (dac_read_search)))
+;;* lme
+
+;;* lmx 2000 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_475 base_typeattr_476 (filesystem (mount remount relabelfrom relabelto)))
+;;* lme
+
+;;* lmx 2002 system/sepolicy/private/domain.te
+
+(neverallow domain base_typeattr_477 (filesystem (mount remount relabelfrom relabelto)))
+;;* lme
+
+;;* lmx 2021 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_478 self (capability (sys_rawio)))
+(neverallow base_typeattr_478 self (cap_userns (sys_rawio)))
+;;* lme
+
+;;* lmx 2030 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_479 mirror_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 2033 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_388 net_dns_prop (property_service (set)))
+;;* lme
+
+;;* lmx 2034 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_374 net_dns_prop (file (read)))
+;;* lme
+
+;;* lmx 2037 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_430 pm_prop (property_service (set)))
+;;* lme
+
+;;* lmx 2038 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_232 pm_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 2041 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_480 firstboot_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 2045 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_481 dalvik_config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 2048 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_233 debugfs_kprobes (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 2052 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_482 vendor_file (file (write create setattr relabelfrom append unlink link rename execute open execute_no_trans)))
+;;* lme
+
+;;* lmx 2070 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_483 base_typeattr_484 (socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (tcp_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (udp_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (rawip_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (packet_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (key_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (unix_stream_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (unix_dgram_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_route_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_tcpdiag_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_nflog_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_xfrm_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_selinux_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_audit_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_dnrt_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_kobject_uevent_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (appletalk_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (tun_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_iscsi_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_fib_lookup_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_connector_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_netfilter_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_generic_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_scsitransport_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_rdma_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netlink_crypto_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (sctp_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (icmp_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (ax25_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (ipx_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (netrom_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (atmpvc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (x25_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (rose_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (decnet_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (atmsvc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (rds_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (irda_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (pppox_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (llc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (can_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (tipc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (bluetooth_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (iucv_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (rxrpc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (isdn_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (phonet_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (ieee802154_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (caif_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (alg_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (nfc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (vsock_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (kcm_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (qipcrtr_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (smc_socket (connect sendto)))
+(neverallow base_typeattr_483 base_typeattr_484 (xdp_socket (connect sendto)))
+;;* lme
+
+;;* lmx 2070 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_483 base_typeattr_484 (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 2091 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_485 base_typeattr_486 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 2139 system/sepolicy/private/domain.te
+
+(neverallow domain mlsvendorcompat (process (fork)))
+;;* lme
+
+;;* lmx 2152 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_487 system_file_type (file (mounton)))
+(neverallow base_typeattr_487 system_file_type (dir (mounton)))
+(neverallow base_typeattr_487 system_file_type (lnk_file (mounton)))
+(neverallow base_typeattr_487 system_file_type (chr_file (mounton)))
+(neverallow base_typeattr_487 system_file_type (blk_file (mounton)))
+(neverallow base_typeattr_487 system_file_type (sock_file (mounton)))
+(neverallow base_typeattr_487 system_file_type (fifo_file (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (file (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (dir (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (lnk_file (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (chr_file (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (blk_file (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (sock_file (mounton)))
+(neverallow base_typeattr_487 vendor_file_type (fifo_file (mounton)))
+;;* lme
+
+;;* lmx 2161 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_383 mm_events_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 2180 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_488 proc_kallsyms (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 2186 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_489 base_typeattr_490 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 2202 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_491 sysfs_devices_cs_etm (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 2212 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_492 self (capability2 (perfmon)))
+;;* lme
+
+;;* lmx 2232 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_493 shell_data_file (file (open)))
+;;* lme
+
+;;* lmx 2250 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_494 shell_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 2263 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_495 shell_data_file (dir (open)))
+;;* lme
+
+;;* lmx 2278 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_495 shell_data_file (dir (search)))
+;;* lme
+
+;;* lmx 2290 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_496 system_app_data_file (file (create unlink open)))
+(neverallow base_typeattr_496 system_app_data_file (dir (create unlink open)))
+(neverallow base_typeattr_496 system_app_data_file (lnk_file (create unlink open)))
+(neverallow base_typeattr_496 system_app_data_file (chr_file (create unlink open)))
+(neverallow base_typeattr_496 system_app_data_file (blk_file (create unlink open)))
+(neverallow base_typeattr_496 system_app_data_file (sock_file (create unlink open)))
+(neverallow base_typeattr_496 system_app_data_file (fifo_file (create unlink open)))
+;;* lme
+
+;;* lmx 2297 system/sepolicy/private/domain.te
+
+(neverallow untrusted_app_all system_app_data_file (file (create unlink open)))
+(neverallow untrusted_app_all system_app_data_file (dir (create unlink open)))
+(neverallow untrusted_app_all system_app_data_file (lnk_file (create unlink open)))
+(neverallow untrusted_app_all system_app_data_file (chr_file (create unlink open)))
+(neverallow untrusted_app_all system_app_data_file (blk_file (create unlink open)))
+(neverallow untrusted_app_all system_app_data_file (sock_file (create unlink open)))
+(neverallow untrusted_app_all system_app_data_file (fifo_file (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (file (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (dir (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (lnk_file (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (chr_file (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (blk_file (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (sock_file (create unlink open)))
+(neverallow isolated_app_all system_app_data_file (fifo_file (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (file (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (dir (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (lnk_file (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (chr_file (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (blk_file (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (sock_file (create unlink open)))
+(neverallow ephemeral_app system_app_data_file (fifo_file (create unlink open)))
+(neverallow priv_app system_app_data_file (file (create unlink open)))
+(neverallow priv_app system_app_data_file (dir (create unlink open)))
+(neverallow priv_app system_app_data_file (lnk_file (create unlink open)))
+(neverallow priv_app system_app_data_file (chr_file (create unlink open)))
+(neverallow priv_app system_app_data_file (blk_file (create unlink open)))
+(neverallow priv_app system_app_data_file (sock_file (create unlink open)))
+(neverallow priv_app system_app_data_file (fifo_file (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (file (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (dir (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (lnk_file (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (chr_file (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (blk_file (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (sock_file (create unlink open)))
+(neverallow sdk_sandbox_all system_app_data_file (fifo_file (create unlink open)))
+;;* lme
+
+;;* lmx 2299 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 mtectrl (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 2300 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_238 kcmdlinectrl (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 2303 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_497 checkin_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_497 checkin_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 2305 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_498 proc (file (mounton)))
+(neverallow base_typeattr_498 proc (dir (mounton)))
+;;* lme
+
+;;* lmx 2306 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_499 proc_type (file (mounton)))
+(neverallow base_typeattr_499 proc_type (dir (mounton)))
+;;* lme
+
+;;* lmx 2310 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_500 sysfs_pgsize_migration (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 2315 system/sepolicy/private/domain.te
+
+(neverallow base_typeattr_501 base_typeattr_239 (vsock_socket (create bind connect accept)))
+;;* lme
+
+(allow init drmserver_exec (file (read getattr map execute open)))
+(allow init drmserver (process (transition)))
+(allow drmserver drmserver_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init drmserver (process (noatsecure)))
+(allow init drmserver (process (siginh rlimitinh)))
+(typetransition init drmserver_exec process drmserver)
+(typetransition drmserver apk_data_file sock_file drmserver_socket)
+(allow drmserver drm_service_config_prop (file (read getattr map open)))
+(allow drmserver servicemanager (binder (call transfer)))
+(allow servicemanager drmserver (binder (call transfer)))
+(allow servicemanager drmserver (dir (search)))
+(allow servicemanager drmserver (file (read open)))
+(allow servicemanager drmserver (process (getattr)))
+(allow drmserver system_server (binder (call transfer)))
+(allow system_server drmserver (binder (transfer)))
+(allow drmserver system_server (fd (use)))
+(allow drmserver appdomain (binder (call transfer)))
+(allow appdomain drmserver (binder (transfer)))
+(allow drmserver appdomain (fd (use)))
+(allow drmserver mediametrics (binder (call transfer)))
+(allow mediametrics drmserver (binder (transfer)))
+(allow drmserver mediametrics (fd (use)))
+(allow drmserver system_server (fd (use)))
+(allow drmserver mediaserver (binder (call transfer)))
+(allow mediaserver drmserver (binder (transfer)))
+(allow drmserver mediaserver (fd (use)))
+(allow drmserver sdcard_type (dir (search)))
+(allow drmserver fuse (dir (search)))
+(allow drmserver drm_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow drmserver drm_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow drmserver app_data_file (file (read write getattr map)))
+(allow drmserver privapp_data_file (file (read write getattr map)))
+(allow drmserver sdcard_type (file (read write getattr map)))
+(allow drmserver fuse (file (read write getattr map)))
+(allow drmserver efs_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow drmserver efs_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver efs_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver apk_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(auditallow drmserver apk_data_file (dir (write add_name)))
+(allow drmserver drmserver_socket (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(auditallow drmserver drmserver_socket (sock_file (create)))
+(allow drmserver apk_data_file (sock_file (unlink)))
+(allow drmserver media_rw_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow drmserver media_rw_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver media_rw_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver apk_data_file (file (read getattr map)))
+(allow drmserver asec_apk_file (file (read getattr map)))
+(allow drmserver ringtone_file (file (read getattr map)))
+(allow drmserver radio_data_file (file (read getattr map)))
+(allow drmserver oemfs (dir (search)))
+(allow drmserver oemfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver vendor_overlay_file (file (read map)))
+(allow drmserver drmserver_service (service_manager (add find)))
+;;* lmx 61 system/sepolicy/private/drmserver.te
+
+(neverallow base_typeattr_502 drmserver_service (service_manager (add)))
+;;* lme
+
+(allow drmserver permission_service (service_manager (find)))
+(allow drmserver mediametrics_service (service_manager (find)))
+(allow drmserver selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow drmserver selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver selinuxfs (file (write lock append map open)))
+(allow drmserver kernel (security (compute_av)))
+(allow drmserver self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow drmserver cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow drmserver cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow drmserver cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow drmserver system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow drmserver system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init dumpstate_exec (file (read getattr map execute open)))
+(allow init dumpstate (process (transition)))
+(allow dumpstate dumpstate_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init dumpstate (process (noatsecure)))
+(allow init dumpstate (process (siginh rlimitinh)))
+(typetransition init dumpstate_exec process dumpstate)
+(allow dumpstate vdc_exec (file (read getattr map execute open)))
+(allow dumpstate vdc (process (transition)))
+(allow vdc vdc_exec (file (read getattr map execute open entrypoint)))
+(allow vdc dumpstate (process (sigchld)))
+(dontaudit dumpstate vdc (process (noatsecure)))
+(allow dumpstate vdc (process (siginh rlimitinh)))
+(typetransition dumpstate vdc_exec process vdc)
+(typetransition dumpstate tmpfs file dumpstate_tmpfs)
+(allow dumpstate dumpstate_tmpfs (file (read write getattr map)))
+(allow dumpstate system_file (file (lock)))
+(allow dumpstate storaged_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dumpstate aconfig_storage_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate aconfig_storage_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate aconfig_storage_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate incidentd (binder (call transfer)))
+(allow incidentd dumpstate (binder (transfer)))
+(allow dumpstate incidentd (fd (use)))
+(allow dumpstate incident (process (sigkill signal)))
+(allow dumpstate storaged (binder (call transfer)))
+(allow storaged dumpstate (binder (transfer)))
+(allow dumpstate storaged (fd (use)))
+(allow dumpstate statsd (binder (call transfer)))
+(allow statsd dumpstate (binder (transfer)))
+(allow dumpstate statsd (fd (use)))
+(allow dumpstate gpuservice (binder (call transfer)))
+(allow gpuservice dumpstate (binder (transfer)))
+(allow dumpstate gpuservice (fd (use)))
+(allow dumpstate idmap (binder (call transfer)))
+(allow idmap dumpstate (binder (transfer)))
+(allow dumpstate idmap (fd (use)))
+(allow dumpstate automotive_display_service (binder (call transfer)))
+(allow automotive_display_service dumpstate (binder (transfer)))
+(allow dumpstate automotive_display_service (fd (use)))
+(allow dumpstate virtual_camera (binder (call transfer)))
+(allow virtual_camera dumpstate (binder (transfer)))
+(allow dumpstate virtual_camera (fd (use)))
+(allow dumpstate ot_daemon (binder (call transfer)))
+(allow ot_daemon dumpstate (binder (transfer)))
+(allow dumpstate ot_daemon (fd (use)))
+(allow dumpstate boottime_prop (file (read getattr map open)))
+(allow dumpstate misctrl_prop (file (read getattr map open)))
+(allow dumpstate mediatranscoding (process (signal)))
+(allow dumpstate netd (process (signal)))
+(allow dumpstate statsd (process (signal)))
+(allow dumpstate virtual_camera (process (signal)))
+(allow dumpstate ot_daemon (process (signal)))
+(dontaudit dumpstate keystore (process (signal)))
+(allow dumpstate dev_type (blk_file (getattr)))
+(allow dumpstate webview_zygote (process (signal)))
+(allow dumpstate sysfs_dmabuf_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit dumpstate update_engine (binder (call)))
+(allow dumpstate proc_net_tcp_udp (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pid_max (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate config_gz (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate incidentcompanion_service (binder (call transfer)))
+(allow incidentcompanion_service dumpstate (binder (transfer)))
+(allow dumpstate incidentcompanion_service (fd (use)))
+(allow dumpstate property_socket (sock_file (write)))
+(allow dumpstate init (unix_stream_socket (connectto)))
+(allow dumpstate dumpstate_prop (property_service (set)))
+(allow dumpstate dumpstate_prop (file (read getattr map open)))
+(allow dumpstate property_socket (sock_file (write)))
+(allow dumpstate init (unix_stream_socket (connectto)))
+(allow dumpstate exported_dumpstate_prop (property_service (set)))
+(allow dumpstate exported_dumpstate_prop (file (read getattr map open)))
+(allow dumpstate property_socket (sock_file (write)))
+(allow dumpstate init (unix_stream_socket (connectto)))
+(allow dumpstate dumpstate_options_prop (property_service (set)))
+(allow dumpstate dumpstate_options_prop (file (read getattr map open)))
+(allow dumpstate property_socket (sock_file (write)))
+(allow dumpstate init (unix_stream_socket (connectto)))
+(allow dumpstate ctl_dumpstate_prop (property_service (set)))
+(allow dumpstate ctl_dumpstate_prop (file (read getattr map open)))
+(allow dumpstate property_socket (sock_file (write)))
+(allow dumpstate init (unix_stream_socket (connectto)))
+(allow dumpstate lpdumpd_prop (property_service (set)))
+(allow dumpstate lpdumpd_prop (file (read getattr map open)))
+(allow dumpstate lpdumpd (binder (call transfer)))
+(allow lpdumpd dumpstate (binder (transfer)))
+(allow dumpstate lpdumpd (fd (use)))
+(allow dumpstate hypervisor_prop (file (read getattr map open)))
+(allow dumpstate gsid_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dumpstate property_socket (sock_file (write)))
+(allow dumpstate init (unix_stream_socket (connectto)))
+(allow dumpstate ctl_gsid_prop (property_service (set)))
+(allow dumpstate ctl_gsid_prop (file (read getattr map open)))
+(allow dumpstate gsid (binder (call transfer)))
+(allow gsid dumpstate (binder (transfer)))
+(allow dumpstate gsid (fd (use)))
+(dontaudit dumpstate binderfs_logs_transactions (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate binderfs_logs_transaction_history (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate ota_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate ota_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate ota_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate perfetto_exec (file (read getattr map execute open)))
+(allow dumpstate perfetto (process (transition)))
+(allow perfetto perfetto_exec (file (read getattr map execute open entrypoint)))
+(allow perfetto dumpstate (process (sigchld)))
+(dontaudit dumpstate perfetto (process (noatsecure)))
+(allow dumpstate perfetto (process (siginh rlimitinh)))
+(typetransition dumpstate perfetto_exec process perfetto)
+(allow dumpstate perfetto (process (signal)))
+(allow dumpstate perfetto_traces_data_file (dir (search)))
+(allow dumpstate perfetto_traces_bugreport_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow dumpstate perfetto_traces_bugreport_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow perfetto dumpstate_tmpfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow perfetto dumpstate (fd (use)))
+(allow dumpstate system_dlkm_file (dir (getattr)))
+(allow dumpstate derive_sdk_exec (file (read getattr map execute open)))
+(allow dumpstate derive_sdk (process (transition)))
+(allow derive_sdk derive_sdk_exec (file (read getattr map execute open entrypoint)))
+(allow derive_sdk dumpstate (process (sigchld)))
+(dontaudit dumpstate derive_sdk (process (noatsecure)))
+(allow dumpstate derive_sdk (process (siginh rlimitinh)))
+(typetransition dumpstate derive_sdk_exec process derive_sdk)
+(allow dumpstate servicemanager (binder (call transfer)))
+(allow servicemanager dumpstate (binder (call transfer)))
+(allow servicemanager dumpstate (dir (search)))
+(allow servicemanager dumpstate (file (read open)))
+(allow servicemanager dumpstate (process (getattr)))
+(allow dumpstate sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow dumpstate self (capability2 (block_suspend)))
+(allow dumpstate self (cap2_userns (block_suspend)))
+(allow dumpstate system_suspend_server (binder (call transfer)))
+(allow system_suspend_server dumpstate (binder (transfer)))
+(allow dumpstate system_suspend_server (fd (use)))
+(allow dumpstate system_suspend_hwservice (hwservice_manager (find)))
+(allow dumpstate hwservicemanager (binder (call transfer)))
+(allow hwservicemanager dumpstate (binder (call transfer)))
+(allow hwservicemanager dumpstate (dir (search)))
+(allow hwservicemanager dumpstate (file (read map open)))
+(allow hwservicemanager dumpstate (process (getattr)))
+(allow dumpstate hwservicemanager_prop (file (read getattr map open)))
+(allow dumpstate hidl_manager_hwservice (hwservice_manager (find)))
+(allow dumpstate hal_system_suspend_service (service_manager (find)))
+(allow dumpstate servicemanager (binder (call transfer)))
+(allow servicemanager dumpstate (binder (call transfer)))
+(allow servicemanager dumpstate (dir (search)))
+(allow servicemanager dumpstate (file (read open)))
+(allow servicemanager dumpstate (process (getattr)))
+(allow dumpstate self (capability (setgid setuid sys_resource)))
+(allow dumpstate self (cap_userns (setgid setuid sys_resource)))
+(allow dumpstate domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate self (capability (kill net_admin net_raw)))
+(allow dumpstate self (cap_userns (kill net_admin net_raw)))
+(allow dumpstate system_file (file (execute_no_trans)))
+(allow dumpstate toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dumpstate system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate self (capability (chown dac_override dac_read_search fowner fsetid)))
+(allow dumpstate self (cap_userns (chown dac_override dac_read_search fowner fsetid)))
+(allow dumpstate anr_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow dumpstate anr_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow dumpstate system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate app_data_file_type (file (append)))
+(allow dumpstate self (capability2 (syslog)))
+(allow dumpstate self (cap2_userns (syslog)))
+(allow dumpstate kernel (system (syslog_read)))
+(allow dumpstate pstorefs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate domain (process (getattr)))
+(allow dumpstate appdomain (process (signal)))
+(allow dumpstate app_zygote (process (signal)))
+(allow dumpstate system_server (process (signal)))
+(allow dumpstate zygote (process (signal)))
+(allow dumpstate hal_audio_server (process (signal)))
+(allow dumpstate hal_audiocontrol_server (process (signal)))
+(allow dumpstate hal_bluetooth_server (process (signal)))
+(allow dumpstate hal_broadcastradio_server (process (signal)))
+(allow dumpstate hal_camera_server (process (signal)))
+(allow dumpstate hal_codec2_server (process (signal)))
+(allow dumpstate hal_drm_server (process (signal)))
+(allow dumpstate hal_evs_server (process (signal)))
+(allow dumpstate hal_face_server (process (signal)))
+(allow dumpstate hal_fingerprint_server (process (signal)))
+(allow dumpstate hal_graphics_allocator_server (process (signal)))
+(allow dumpstate hal_graphics_composer_server (process (signal)))
+(allow dumpstate hal_health_server (process (signal)))
+(allow dumpstate hal_input_processor_server (process (signal)))
+(allow dumpstate hal_neuralnetworks_server (process (signal)))
+(allow dumpstate hal_omx_server (process (signal)))
+(allow dumpstate hal_power_server (process (signal)))
+(allow dumpstate hal_power_stats_server (process (signal)))
+(allow dumpstate hal_sensors_server (process (signal)))
+(allow dumpstate hal_thermal_server (process (signal)))
+(allow dumpstate hal_vehicle_server (process (signal)))
+(allow dumpstate hal_vr_server (process (signal)))
+(allow dumpstate system_suspend_server (process (signal)))
+(allow dumpstate audioserver (process (signal)))
+(allow dumpstate cameraserver (process (signal)))
+(allow dumpstate drmserver (process (signal)))
+(allow dumpstate evsmanagerd (process (signal)))
+(allow dumpstate inputflinger (process (signal)))
+(allow dumpstate mediadrmserver (process (signal)))
+(allow dumpstate mediaextractor (process (signal)))
+(allow dumpstate mediametrics (process (signal)))
+(allow dumpstate mediaserver (process (signal)))
+(allow dumpstate mediaswcodec (process (signal)))
+(allow dumpstate sdcardd (process (signal)))
+(allow dumpstate surfaceflinger (process (signal)))
+(allow dumpstate vold (process (signal)))
+(allow dumpstate tombstoned_intercept_socket (sock_file (write)))
+(allow dumpstate tombstoned (unix_stream_socket (connectto)))
+(allow dumpstate sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate sysfs_devices_block (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate sysfs_loop (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate sysfs_usb (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate sysfs_zram (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit dumpstate sysfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate block_device (dir (getattr search)))
+(allow dumpstate rootfs (dir (getattr search)))
+(allow dumpstate selinuxfs (dir (getattr search)))
+(allow dumpstate tmpfs (dir (getattr search)))
+(allow dumpstate metadata_file (dir (getattr search)))
+(allow dumpstate storage_file (dir (getattr search)))
+(allow dumpstate cache_file (dir (getattr search)))
+(allow dumpstate fuse_device (chr_file (getattr)))
+(allow dumpstate dm_device (blk_file (getattr)))
+(allow dumpstate cache_block_device (blk_file (getattr)))
+(allow dumpstate rootfs (lnk_file (read getattr)))
+(allow dumpstate cache_file (lnk_file (read getattr)))
+(allow dumpstate cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate binderservicedomain (binder (call transfer)))
+(allow binderservicedomain dumpstate (binder (transfer)))
+(allow dumpstate binderservicedomain (fd (use)))
+(allow dumpstate appdomain (binder (call transfer)))
+(allow dumpstate artd (binder (call transfer)))
+(allow dumpstate netd (binder (call transfer)))
+(allow dumpstate wificond (binder (call transfer)))
+(allow appdomain dumpstate (binder (transfer)))
+(allow artd dumpstate (binder (transfer)))
+(allow netd dumpstate (binder (transfer)))
+(allow wificond dumpstate (binder (transfer)))
+(allow dumpstate appdomain (fd (use)))
+(allow dumpstate artd (fd (use)))
+(allow dumpstate netd (fd (use)))
+(allow dumpstate wificond (fd (use)))
+(allow hal_audio_server dumpstate (fifo_file (write)))
+(allow hal_audio_server dumpstate (fd (use)))
+(allow hal_audiocontrol_server dumpstate (fifo_file (write)))
+(allow hal_audiocontrol_server dumpstate (fd (use)))
+(allow hal_authgraph_server dumpstate (fifo_file (write)))
+(allow hal_authgraph_server dumpstate (fd (use)))
+(allow hal_authsecret_server dumpstate (fifo_file (write)))
+(allow hal_authsecret_server dumpstate (fd (use)))
+(allow hal_bluetooth_server dumpstate (fifo_file (write)))
+(allow hal_bluetooth_server dumpstate (fd (use)))
+(allow hal_broadcastradio_server dumpstate (fifo_file (write)))
+(allow hal_broadcastradio_server dumpstate (fd (use)))
+(allow hal_camera_server dumpstate (fifo_file (write)))
+(allow hal_camera_server dumpstate (fd (use)))
+(allow hal_codec2_server dumpstate (fifo_file (write)))
+(allow hal_codec2_server dumpstate (fd (use)))
+(allow hal_contexthub_server dumpstate (fifo_file (write)))
+(allow hal_contexthub_server dumpstate (fd (use)))
+(allow hal_drm_server dumpstate (fifo_file (write)))
+(allow hal_drm_server dumpstate (fd (use)))
+(allow hal_dumpstate_server dumpstate (fifo_file (write)))
+(allow hal_dumpstate_server dumpstate (fd (use)))
+(allow hal_evs_server dumpstate (fifo_file (write)))
+(allow hal_evs_server dumpstate (fd (use)))
+(allow hal_face_server dumpstate (fifo_file (write)))
+(allow hal_face_server dumpstate (fd (use)))
+(allow hal_fingerprint_server dumpstate (fifo_file (write)))
+(allow hal_fingerprint_server dumpstate (fd (use)))
+(allow hal_gnss_server dumpstate (fifo_file (write)))
+(allow hal_gnss_server dumpstate (fd (use)))
+(allow hal_graphics_allocator_server dumpstate (fifo_file (write)))
+(allow hal_graphics_allocator_server dumpstate (fd (use)))
+(allow hal_graphics_composer_server dumpstate (fifo_file (write)))
+(allow hal_graphics_composer_server dumpstate (fd (use)))
+(allow hal_health_server dumpstate (fifo_file (write)))
+(allow hal_health_server dumpstate (fd (use)))
+(allow hal_identity_server dumpstate (fifo_file (write)))
+(allow hal_identity_server dumpstate (fd (use)))
+(allow hal_input_processor_server dumpstate (fifo_file (write)))
+(allow hal_input_processor_server dumpstate (fd (use)))
+(allow hal_keymint_server dumpstate (fifo_file (write)))
+(allow hal_keymint_server dumpstate (fd (use)))
+(allow hal_light_server dumpstate (fifo_file (write)))
+(allow hal_light_server dumpstate (fd (use)))
+(allow hal_memtrack_server dumpstate (fifo_file (write)))
+(allow hal_memtrack_server dumpstate (fd (use)))
+(allow hal_neuralnetworks_server dumpstate (fifo_file (write)))
+(allow hal_neuralnetworks_server dumpstate (fd (use)))
+(allow hal_nfc_server dumpstate (fifo_file (write)))
+(allow hal_nfc_server dumpstate (fd (use)))
+(allow hal_oemlock_server dumpstate (fifo_file (write)))
+(allow hal_oemlock_server dumpstate (fd (use)))
+(allow hal_power_server dumpstate (fifo_file (write)))
+(allow hal_power_server dumpstate (fd (use)))
+(allow hal_power_stats_server dumpstate (fifo_file (write)))
+(allow hal_power_stats_server dumpstate (fd (use)))
+(allow hal_rebootescrow_server dumpstate (fifo_file (write)))
+(allow hal_rebootescrow_server dumpstate (fd (use)))
+(allow hal_secretkeeper_server dumpstate (fifo_file (write)))
+(allow hal_secretkeeper_server dumpstate (fd (use)))
+(allow hal_sensors_server dumpstate (fifo_file (write)))
+(allow hal_sensors_server dumpstate (fd (use)))
+(allow hal_thermal_server dumpstate (fifo_file (write)))
+(allow hal_thermal_server dumpstate (fd (use)))
+(allow hal_vehicle_server dumpstate (fifo_file (write)))
+(allow hal_vehicle_server dumpstate (fd (use)))
+(allow hal_vm_capabilities_server dumpstate (fifo_file (write)))
+(allow hal_vm_capabilities_server dumpstate (fd (use)))
+(allow hal_weaver_server dumpstate (fifo_file (write)))
+(allow hal_weaver_server dumpstate (fd (use)))
+(allow hal_wifi_server dumpstate (fifo_file (write)))
+(allow hal_wifi_server dumpstate (fd (use)))
+(allow dumpstate self (capability (sys_ptrace)))
+(allow dumpstate self (cap_userns (sys_ptrace)))
+(allow dumpstate shell_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow dumpstate shell_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow dumpstate shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dumpstate zygote_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dumpstate bluetooth_data_file (dir (search)))
+(allow dumpstate bluetooth_logs_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate bluetooth_logs_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate nfc_logs_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate nfc_logs_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate apex_module_data_file (dir (search)))
+(allow dumpstate apex_system_server_data_file (dir (search)))
+(allow dumpstate apex_uwb_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate apex_uwb_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow dumpstate gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow dumpstate logdr_socket (sock_file (write)))
+(allow dumpstate logd (unix_stream_socket (connectto)))
+(allow dumpstate logd_socket (sock_file (write)))
+(allow dumpstate logd (unix_stream_socket (connectto)))
+(allow dumpstate runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_qtaguid_ctrl (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_qtaguid_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_buddyinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_modules (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pagetypeinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pipe_conf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_slabinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_vmallocinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_allocinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate net_data_file (dir (search)))
+(allow dumpstate net_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate self (netlink_tcpdiag_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read)))
+(allow dumpstate tombstone_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate tombstone_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate cache_recovery_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate cache_recovery_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate recovery_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate recovery_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate update_engine_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate update_engine_log_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate update_engine_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate update_engine_log_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate snapuserd_log_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate snapuserd_log_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate misc_logd_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate misc_logd_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate prereboot_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate prereboot_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate app_fuse_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate overlayfs_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate base_typeattr_503 (service_manager (find)))
+(dontaudit dumpstate hal_service_type (service_manager (find)))
+(dontaudit dumpstate apex_service (service_manager (find)))
+(dontaudit dumpstate dumpstate_service (service_manager (find)))
+(dontaudit dumpstate fwk_vold_service (service_manager (find)))
+(dontaudit dumpstate gatekeeper_service (service_manager (find)))
+(dontaudit dumpstate virtual_touchpad_service (service_manager (find)))
+(dontaudit dumpstate vold_service (service_manager (find)))
+(dontaudit dumpstate hwservice_manager_type (hwservice_manager (find)))
+(allow dumpstate servicemanager (service_manager (list)))
+(allow dumpstate hwservicemanager (hwservice_manager (list)))
+(allow dumpstate devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow dumpstate property_type (file (read getattr map open)))
+(allow dumpstate media_rw_data_file (dir (getattr)))
+(allow dumpstate proc_interrupts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_zoneinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate dumpstate_service (service_manager (add find)))
+;;* lmx 499 system/sepolicy/private/dumpstate.te
+
+(neverallow base_typeattr_504 dumpstate_service (service_manager (add)))
+;;* lme
+
+(allow dumpstate ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pressure_cpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pressure_mem (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pressure_io (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate proc_pid_max (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate installd (binder (call transfer)))
+(allow installd dumpstate (binder (transfer)))
+(allow dumpstate installd (fd (use)))
+(allow dumpstate self (netlink_xfrm_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read)))
+(allow dumpstate self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow dumpstate self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow dumpstate domain (socket (getattr)))
+(allow dumpstate domain (tcp_socket (getattr)))
+(allow dumpstate domain (udp_socket (getattr)))
+(allow dumpstate domain (rawip_socket (getattr)))
+(allow dumpstate domain (netlink_socket (getattr)))
+(allow dumpstate domain (packet_socket (getattr)))
+(allow dumpstate domain (key_socket (getattr)))
+(allow dumpstate domain (unix_stream_socket (getattr)))
+(allow dumpstate domain (unix_dgram_socket (getattr)))
+(allow dumpstate domain (netlink_route_socket (getattr)))
+(allow dumpstate domain (netlink_tcpdiag_socket (getattr)))
+(allow dumpstate domain (netlink_nflog_socket (getattr)))
+(allow dumpstate domain (netlink_xfrm_socket (getattr)))
+(allow dumpstate domain (netlink_selinux_socket (getattr)))
+(allow dumpstate domain (netlink_audit_socket (getattr)))
+(allow dumpstate domain (netlink_dnrt_socket (getattr)))
+(allow dumpstate domain (netlink_kobject_uevent_socket (getattr)))
+(allow dumpstate domain (appletalk_socket (getattr)))
+(allow dumpstate domain (tun_socket (getattr)))
+(allow dumpstate domain (netlink_iscsi_socket (getattr)))
+(allow dumpstate domain (netlink_fib_lookup_socket (getattr)))
+(allow dumpstate domain (netlink_connector_socket (getattr)))
+(allow dumpstate domain (netlink_netfilter_socket (getattr)))
+(allow dumpstate domain (netlink_generic_socket (getattr)))
+(allow dumpstate domain (netlink_scsitransport_socket (getattr)))
+(allow dumpstate domain (netlink_rdma_socket (getattr)))
+(allow dumpstate domain (netlink_crypto_socket (getattr)))
+(allow dumpstate domain (sctp_socket (getattr)))
+(allow dumpstate domain (icmp_socket (getattr)))
+(allow dumpstate domain (ax25_socket (getattr)))
+(allow dumpstate domain (ipx_socket (getattr)))
+(allow dumpstate domain (netrom_socket (getattr)))
+(allow dumpstate domain (atmpvc_socket (getattr)))
+(allow dumpstate domain (x25_socket (getattr)))
+(allow dumpstate domain (rose_socket (getattr)))
+(allow dumpstate domain (decnet_socket (getattr)))
+(allow dumpstate domain (atmsvc_socket (getattr)))
+(allow dumpstate domain (rds_socket (getattr)))
+(allow dumpstate domain (irda_socket (getattr)))
+(allow dumpstate domain (pppox_socket (getattr)))
+(allow dumpstate domain (llc_socket (getattr)))
+(allow dumpstate domain (can_socket (getattr)))
+(allow dumpstate domain (tipc_socket (getattr)))
+(allow dumpstate domain (bluetooth_socket (getattr)))
+(allow dumpstate domain (iucv_socket (getattr)))
+(allow dumpstate domain (rxrpc_socket (getattr)))
+(allow dumpstate domain (isdn_socket (getattr)))
+(allow dumpstate domain (phonet_socket (getattr)))
+(allow dumpstate domain (ieee802154_socket (getattr)))
+(allow dumpstate domain (caif_socket (getattr)))
+(allow dumpstate domain (alg_socket (getattr)))
+(allow dumpstate domain (nfc_socket (getattr)))
+(allow dumpstate domain (vsock_socket (getattr)))
+(allow dumpstate domain (kcm_socket (getattr)))
+(allow dumpstate domain (qipcrtr_socket (getattr)))
+(allow dumpstate domain (smc_socket (getattr)))
+(allow dumpstate domain (xdp_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (tcp_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (udp_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (rawip_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (packet_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (key_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (unix_stream_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (unix_dgram_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_route_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_tcpdiag_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_nflog_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_xfrm_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_selinux_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_audit_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_dnrt_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_kobject_uevent_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (appletalk_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (tun_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_iscsi_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_fib_lookup_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_connector_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_netfilter_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_generic_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_scsitransport_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_rdma_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netlink_crypto_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (sctp_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (icmp_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (ax25_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (ipx_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (netrom_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (atmpvc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (x25_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (rose_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (decnet_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (atmsvc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (rds_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (irda_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (pppox_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (llc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (can_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (tipc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (bluetooth_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (iucv_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (rxrpc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (isdn_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (phonet_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (ieee802154_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (caif_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (alg_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (nfc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (vsock_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (kcm_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (qipcrtr_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (smc_socket (getattr)))
+(allow dumpstate pdx_endpoint_socket_type (xdp_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (tcp_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (udp_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (rawip_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (packet_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (key_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (unix_stream_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (unix_dgram_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_route_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_tcpdiag_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_nflog_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_xfrm_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_selinux_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_audit_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_dnrt_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_kobject_uevent_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (appletalk_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (tun_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_iscsi_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_fib_lookup_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_connector_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_netfilter_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_generic_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_scsitransport_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_rdma_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netlink_crypto_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (sctp_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (icmp_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (ax25_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (ipx_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (netrom_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (atmpvc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (x25_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (rose_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (decnet_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (atmsvc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (rds_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (irda_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (pppox_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (llc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (can_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (tipc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (bluetooth_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (iucv_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (rxrpc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (isdn_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (phonet_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (ieee802154_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (caif_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (alg_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (nfc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (vsock_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (kcm_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (qipcrtr_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (smc_socket (getattr)))
+(allow dumpstate pdx_channel_socket_type (xdp_socket (getattr)))
+(allow dumpstate linkerconfig_file (dir (read open)))
+(dontaudit dumpstate mnt_user_file (dir (search)))
+(dontaudit dumpstate mnt_vendor_file (dir (search)))
+(dontaudit dumpstate mnt_product_file (dir (search)))
+(dontaudit dumpstate mirror_data_file (dir (search)))
+(dontaudit dumpstate linkerconfig_file (dir (getattr)))
+(dontaudit dumpstate mnt_user_file (dir (getattr)))
+(dontaudit dumpstate apex_mnt_dir (dir (getattr)))
+(dontaudit dumpstate mirror_data_file (dir (getattr)))
+(dontaudit dumpstate vm_data_file (dir (getattr)))
+(dontaudit dumpstate virtualizationservice (binder (call)))
+(allow dumpstate bufferhubd (binder (call transfer)))
+(allow bufferhubd dumpstate (binder (transfer)))
+(allow dumpstate bufferhubd (fd (use)))
+(allow dumpstate mediaswcodec (binder (call transfer)))
+(allow mediaswcodec dumpstate (binder (transfer)))
+(allow dumpstate mediaswcodec (fd (use)))
+(allow dumpstate snapshotctl_log_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate snapshotctl_log_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate binderfs_logs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate binderfs_logs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate binderfs_logs_proc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate binderfs_logs_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate shutdown_checkpoints_system_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow dumpstate shutdown_checkpoints_system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 577 system/sepolicy/private/dumpstate.te
+
+(neverallow dumpstate base_typeattr_239 (process (ptrace)))
+;;* lme
+
+;;* lmx 586 system/sepolicy/private/dumpstate.te
+
+(neverallow base_typeattr_505 dumpstate_service (service_manager (find)))
+;;* lme
+
+;;* lmx 596 system/sepolicy/private/dumpstate.te
+
+(neverallow base_typeattr_506 apex_uwb_data_file (dir (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 604 system/sepolicy/private/dumpstate.te
+
+(neverallow base_typeattr_506 apex_uwb_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow e2fs devpts (chr_file (ioctl read write getattr)))
+(allow e2fs dev_type (blk_file (getattr)))
+(allow e2fs block_device (dir (search)))
+(allow e2fs userdata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow e2fs metadata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow e2fs dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow e2fs zoned_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow e2fs vold (fd (use)))
+(allow e2fs sysfs_dm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow e2fs sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx e2fs dm_device (ioctl blk_file (0x125e 0x1277 (range 0x127b 0x127d) (range 0x1282 0x1283))))
+(allowx e2fs userdata_block_device (ioctl blk_file (0x125e 0x1277 (range 0x127b 0x127d) (range 0x1282 0x1283))))
+(allowx e2fs zoned_block_device (ioctl blk_file (0x125e 0x1277 (range 0x127b 0x127d) (range 0x1282 0x1283))))
+(allowx e2fs metadata_block_device (ioctl blk_file (0x125e 0x1277 (range 0x127b 0x127d) (range 0x1282 0x1283))))
+(allow e2fs proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow e2fs proc_mounts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow e2fs proc_swaps (file (ioctl read getattr lock map open watch watch_reads)))
+(allow e2fs sysfs_fs_ext4_features (dir (search)))
+(allow e2fs sysfs_fs_ext4_features (file (ioctl read getattr lock map open watch watch_reads)))
+(allow e2fs file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow early_virtmgr system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow early_virtmgr vm_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow early_virtmgr vm_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow early_virtmgr vm_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow early_virtmgr adbd (fd (use)))
+(allow early_virtmgr adbd (unix_stream_socket (read write getattr)))
+(allow early_virtmgr devpts (chr_file (ioctl read write getattr)))
+(allow early_virtmgr servicemanager (binder (call transfer)))
+(allow servicemanager early_virtmgr (binder (call transfer)))
+(allow servicemanager early_virtmgr (dir (search)))
+(allow servicemanager early_virtmgr (file (read open)))
+(allow servicemanager early_virtmgr (process (getattr)))
+(allow early_virtmgr crosvm_exec (file (read getattr map execute open)))
+(allow early_virtmgr crosvm (process (transition)))
+(allow crosvm crosvm_exec (file (read getattr map execute open entrypoint)))
+(allow crosvm early_virtmgr (process (sigchld)))
+(dontaudit early_virtmgr crosvm (process (noatsecure)))
+(allow early_virtmgr crosvm (process (siginh rlimitinh)))
+(typetransition early_virtmgr crosvm_exec process crosvm)
+(allow early_virtmgr crosvm (process (sigkill)))
+(allow early_virtmgr apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr apex_data_file (dir (search)))
+(dontaudit early_virtmgr self (dir (write)))
+(allow early_virtmgr self (vsock_socket (read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+(allow early_virtmgr hypervisor_prop (file (read getattr map open)))
+(allow early_virtmgr hypervisor_pvmfw_prop (file (read getattr map open)))
+(allow early_virtmgr hypervisor_restricted_prop (file (read getattr map open)))
+(allow early_virtmgr hypervisor_virtualizationmanager_prop (file (read getattr map open)))
+(allow early_virtmgr proc_dt_avf (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow early_virtmgr proc_dt_avf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr proc_dt_avf (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr sysfs_dt_avf (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow early_virtmgr sysfs_dt_avf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr sysfs_dt_avf (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr crosvm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow early_virtmgr crosvm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr crosvm (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow early_virtmgr self (capability (net_bind_service ipc_lock sys_resource)))
+(allow early_virtmgr self (cap_userns (net_bind_service ipc_lock sys_resource)))
+(allow early_virtmgr kmsg_debug_device (chr_file (write lock append map open)))
+;;* lmx 1 system/sepolicy/private/early_virtmgr.te
+
+(neverallow base_typeattr_507 vm_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1 system/sepolicy/private/early_virtmgr.te
+
+(neverallow base_typeattr_508 vm_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1 system/sepolicy/private/early_virtmgr.te
+
+(neverallow base_typeattr_509 early_virtmgr (vsock_socket (create bind connect listen accept)))
+;;* lme
+
+(typetransition ephemeral_app tmpfs file appdomain_tmpfs)
+(allow ephemeral_app ephemeral_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su ephemeral_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 17 system/sepolicy/private/ephemeral_app.te
+
+(neverallow base_typeattr_510 ephemeral_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow ephemeral_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 17 system/sepolicy/private/ephemeral_app.te
+
+(neverallow base_typeattr_511 base_typeattr_510 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 17 system/sepolicy/private/ephemeral_app.te
+
+(neverallow base_typeattr_512 ephemeral_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 17 system/sepolicy/private/ephemeral_app.te
+
+(neverallow base_typeattr_513 ephemeral_app (process (ptrace)))
+;;* lme
+
+(allow ephemeral_app sdcard_type (file (ioctl read write getattr lock append)))
+(allow ephemeral_app fuse (file (ioctl read write getattr lock append)))
+(allow ephemeral_app media_rw_data_file (file (ioctl read write getattr lock append)))
+(allow ephemeral_app privapp_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow ephemeral_app app_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow ephemeral_app privapp_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow ephemeral_app rs_exec (file (read getattr map execute open)))
+(allow ephemeral_app rs (process (transition)))
+(allow rs rs_exec (file (read getattr map execute open entrypoint)))
+(allow rs ephemeral_app (process (sigchld)))
+(dontaudit ephemeral_app rs (process (noatsecure)))
+(allow ephemeral_app rs (process (siginh rlimitinh)))
+(typetransition ephemeral_app rs_exec process rs)
+(allow ephemeral_app app_exec_data_file (file (ioctl read getattr lock map unlink execute open watch watch_reads)))
+(allow ephemeral_app audioserver_service (service_manager (find)))
+(allow ephemeral_app cameraserver_service (service_manager (find)))
+(allow ephemeral_app mediaserver_service (service_manager (find)))
+(allow ephemeral_app mediaextractor_service (service_manager (find)))
+(allow ephemeral_app mediametrics_service (service_manager (find)))
+(allow ephemeral_app mediadrmserver_service (service_manager (find)))
+(allow ephemeral_app drmserver_service (service_manager (find)))
+(allow ephemeral_app radio_service (service_manager (find)))
+(allow ephemeral_app ephemeral_app_api_service (service_manager (find)))
+(allow ephemeral_app system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allow ephemeral_app ashmem_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lmx 59 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app app_data_file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 62 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 65 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app debugfs_type (file (read)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app gpu_device (chr_file (execute)))
+;;* lme
+
+;;* lmx 75 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app sysfs (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 79 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 82 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app sdcard_type (file (create open)))
+(neverallow ephemeral_app fuse (file (create open)))
+(neverallow ephemeral_app media_rw_data_file (file (create open)))
+;;* lme
+
+;;* lmx 83 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app sdcard_type (dir (search)))
+(neverallow ephemeral_app fuse (dir (search)))
+(neverallow ephemeral_app media_rw_data_file (dir (search)))
+;;* lme
+
+;;* lmx 87 system/sepolicy/private/ephemeral_app.te
+
+(neverallow ephemeral_app proc_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow init evsmanagerd_exec (file (read getattr map execute open)))
+(allow init evsmanagerd (process (transition)))
+(allow evsmanagerd evsmanagerd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init evsmanagerd (process (noatsecure)))
+(allow init evsmanagerd (process (siginh rlimitinh)))
+(typetransition init evsmanagerd_exec process evsmanagerd)
+(allow evsmanagerd evsmanagerd_service (service_manager (add find)))
+;;* lmx 13 system/sepolicy/private/evsmanagerd.te
+
+(neverallow base_typeattr_514 evsmanagerd_service (service_manager (add)))
+;;* lme
+
+(allow evsmanagerd servicemanager (binder (call transfer)))
+(allow servicemanager evsmanagerd (binder (call transfer)))
+(allow servicemanager evsmanagerd (dir (search)))
+(allow servicemanager evsmanagerd (file (read open)))
+(allow servicemanager evsmanagerd (process (getattr)))
+(allow evsmanagerd system_server (binder (call transfer)))
+(allow system_server evsmanagerd (binder (transfer)))
+(allow evsmanagerd system_server (fd (use)))
+(allow evsmanagerd shell (fd (use)))
+(allow evsmanagerd shell (fifo_file (write)))
+(allow evsmanagerd hal_graphics_allocator (fd (use)))
+(allow evsmanagerd statsbootstrap_service (service_manager (find)))
+(allow evsmanagerd appdomain (binder (call transfer)))
+(allow appdomain evsmanagerd (binder (transfer)))
+(allow evsmanagerd appdomain (fd (use)))
+(allow evsmanagerd hal_evs_hwservice (hwservice_manager (add)))
+(allow evsmanagerd hidl_base_hwservice (hwservice_manager (add)))
+(allow init extra_free_kbytes_exec (file (read getattr map execute open)))
+(allow init extra_free_kbytes (process (transition)))
+(allow extra_free_kbytes extra_free_kbytes_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init extra_free_kbytes (process (noatsecure)))
+(allow init extra_free_kbytes (process (siginh rlimitinh)))
+(typetransition init extra_free_kbytes_exec process extra_free_kbytes)
+(allow extra_free_kbytes property_socket (sock_file (write)))
+(allow extra_free_kbytes init (unix_stream_socket (connectto)))
+(allow extra_free_kbytes init_storage_prop (property_service (set)))
+(allow extra_free_kbytes init_storage_prop (file (read getattr map open)))
+(allow extra_free_kbytes shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow extra_free_kbytes system_file (file (getattr map execute execute_no_trans)))
+(allow extra_free_kbytes toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow extra_free_kbytes proc_extra_free_kbytes (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow extra_free_kbytes proc_watermark_scale_factor (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow extra_free_kbytes proc_zoneinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow fastbootd self (capability (ipc_lock)))
+(allow fastbootd fastbootd_iouring (anon_inode (read write create map)))
+(allow fastbootd self (io_uring (sqpoll)))
+;;* lmx 170 system/sepolicy/private/fastbootd.te
+
+(neverallow base_typeattr_515 fastbootd_iouring (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit fastbootd self (capability (ipc_lock)))
+(dontaudit fastbootd self (cap_userns (ipc_lock)))
+;;* lmx 180 system/sepolicy/private/fastbootd.te
+
+(neverallow fastbootd data_file_type (file (execute execute_no_trans)))
+;;* lme
+
+(allow fs_type self (filesystem (associate)))
+(allow cgroup tmpfs (filesystem (associate)))
+(allow cgroup_v2 tmpfs (filesystem (associate)))
+(allow cgroup_rc_file tmpfs (filesystem (associate)))
+(allow sysfs_type sysfs (filesystem (associate)))
+(allow debugfs_type debugfs (filesystem (associate)))
+(allow debugfs_type debugfs_tracing (filesystem (associate)))
+(allow debugfs_type debugfs_tracing_debug (filesystem (associate)))
+(allow file_type labeledfs (filesystem (associate)))
+(allow file_type tmpfs (filesystem (associate)))
+(allow file_type rootfs (filesystem (associate)))
+(allow dev_type tmpfs (filesystem (associate)))
+(allow app_fuse_file app_fusefs (filesystem (associate)))
+(allow postinstall_file self (filesystem (associate)))
+(allow proc_net proc (filesystem (associate)))
+;;* lmx 221 system/sepolicy/private/file.te
+
+(neverallow fs_type file_type (filesystem (associate)))
+;;* lme
+
+(allow init fingerprintd_exec (file (read getattr map execute open)))
+(allow init fingerprintd (process (transition)))
+(allow fingerprintd fingerprintd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init fingerprintd (process (noatsecure)))
+(allow init fingerprintd (process (siginh rlimitinh)))
+(typetransition init fingerprintd_exec process fingerprintd)
+(allow fingerprintd servicemanager (binder (call transfer)))
+(allow servicemanager fingerprintd (binder (call transfer)))
+(allow servicemanager fingerprintd (dir (search)))
+(allow servicemanager fingerprintd (file (read open)))
+(allow servicemanager fingerprintd (process (getattr)))
+(allow fingerprintd system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow fingerprintd fingerprintd_service (service_manager (add find)))
+;;* lmx 11 system/sepolicy/private/fingerprintd.te
+
+(neverallow base_typeattr_516 fingerprintd_service (service_manager (add)))
+;;* lme
+
+(allow fingerprintd fingerprintd_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow fingerprintd fingerprintd_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow keystore fingerprintd (dir (search)))
+(allow keystore fingerprintd (file (read open)))
+(allow keystore fingerprintd (process (getattr)))
+(allow fingerprintd apc_service (service_manager (find)))
+(allow fingerprintd keystore_service (service_manager (find)))
+(allow fingerprintd legacykeystore_service (service_manager (find)))
+(allow fingerprintd keystore (binder (call transfer)))
+(allow keystore fingerprintd (binder (transfer)))
+(allow fingerprintd keystore (fd (use)))
+(allow keystore fingerprintd (binder (call transfer)))
+(allow fingerprintd keystore (binder (transfer)))
+(allow keystore fingerprintd (fd (use)))
+(allow fingerprintd keystore (keystore2 (add_auth)))
+(allow fingerprintd system_server (binder (call transfer)))
+(allow system_server fingerprintd (binder (transfer)))
+(allow fingerprintd system_server (fd (use)))
+(allow fingerprintd permission_service (service_manager (find)))
+(allow fingerprintd ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init flags_health_check_exec (file (read getattr map execute open)))
+(allow init flags_health_check (process (transition)))
+(allow flags_health_check flags_health_check_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init flags_health_check (process (noatsecure)))
+(allow init flags_health_check (process (siginh rlimitinh)))
+(typetransition init flags_health_check_exec process flags_health_check)
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_boot_count_prop (property_service (set)))
+(allow flags_health_check device_config_boot_count_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_core_experiments_team_internal_prop (property_service (set)))
+(allow flags_health_check device_config_core_experiments_team_internal_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_edgetpu_native_prop (property_service (set)))
+(allow flags_health_check device_config_edgetpu_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_reset_performed_prop (property_service (set)))
+(allow flags_health_check device_config_reset_performed_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_runtime_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_runtime_native_prop (property_service (set)))
+(allow flags_health_check device_config_runtime_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_input_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_input_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_lmkd_native_prop (property_service (set)))
+(allow flags_health_check device_config_lmkd_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_netd_native_prop (property_service (set)))
+(allow flags_health_check device_config_netd_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_nnapi_native_prop (property_service (set)))
+(allow flags_health_check device_config_nnapi_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_activity_manager_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_activity_manager_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_media_native_prop (property_service (set)))
+(allow flags_health_check device_config_media_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_mglru_native_prop (property_service (set)))
+(allow flags_health_check device_config_mglru_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_profcollect_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_profcollect_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_statsd_native_prop (property_service (set)))
+(allow flags_health_check device_config_statsd_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_statsd_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_statsd_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_storage_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_storage_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_swcodec_native_prop (property_service (set)))
+(allow flags_health_check device_config_swcodec_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_sys_traced_prop (property_service (set)))
+(allow flags_health_check device_config_sys_traced_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_window_manager_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_window_manager_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_configuration_prop (property_service (set)))
+(allow flags_health_check device_config_configuration_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_connectivity_prop (property_service (set)))
+(allow flags_health_check device_config_connectivity_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_surface_flinger_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_surface_flinger_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_aconfig_flags_prop (property_service (set)))
+(allow flags_health_check device_config_aconfig_flags_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_vendor_system_native_prop (property_service (set)))
+(allow flags_health_check device_config_vendor_system_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_vendor_system_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_vendor_system_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_virtualization_framework_native_prop (property_service (set)))
+(allow flags_health_check device_config_virtualization_framework_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_memory_safety_native_boot_prop (property_service (set)))
+(allow flags_health_check device_config_memory_safety_native_boot_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_memory_safety_native_prop (property_service (set)))
+(allow flags_health_check device_config_memory_safety_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_remote_key_provisioning_native_prop (property_service (set)))
+(allow flags_health_check device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_camera_native_prop (property_service (set)))
+(allow flags_health_check device_config_camera_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_tethering_u_or_later_native_prop (property_service (set)))
+(allow flags_health_check device_config_tethering_u_or_later_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check device_config_mmd_native_prop (property_service (set)))
+(allow flags_health_check device_config_mmd_native_prop (file (read getattr map open)))
+(allow flags_health_check property_socket (sock_file (write)))
+(allow flags_health_check init (unix_stream_socket (connectto)))
+(allow flags_health_check next_boot_prop (property_service (set)))
+(allow flags_health_check next_boot_prop (file (read getattr map open)))
+(allow flags_health_check server_configurable_flags_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow flags_health_check server_configurable_flags_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lmx 50 system/sepolicy/private/flags_health_check.te
+
+(neverallow base_typeattr_517 server_configurable_flags_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 56 system/sepolicy/private/flags_health_check.te
+
+(neverallow base_typeattr_517 device_config_boot_count_prop (property_service (set)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/flags_health_check.te
+
+(neverallow base_typeattr_517 device_config_reset_performed_prop (property_service (set)))
+;;* lme
+
+(allow init fsck_exec (file (read getattr map execute open)))
+(allow init fsck (process (transition)))
+(allow fsck fsck_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init fsck (process (noatsecure)))
+(allow init fsck (process (siginh rlimitinh)))
+(typetransition init fsck_exec process fsck)
+(allow fsck system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow fsck system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow fsck metadata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fsck tmpfs (chr_file (ioctl read write)))
+(allow fsck devpts (chr_file (ioctl read write getattr)))
+(allow fsck vold (fd (use)))
+(allow fsck vold (fifo_file (read write getattr)))
+(allow fsck userdata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fsck cache_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fsck dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fsck zoned_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fsck metadata_file (dir (getattr)))
+(allow fsck block_device (dir (search)))
+(allow fsck mirror_data_file (dir (search)))
+(allowx fsck dev_type (ioctl blk_file (0x125e 0x127c 0x1282)))
+(allow fsck dev_type (blk_file (getattr)))
+(allow fsck proc_mounts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow fsck proc_swaps (file (ioctl read getattr lock map open watch watch_reads)))
+(allow fsck sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow fsck rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow fsck sysfs_dm (dir (ioctl read getattr lock open watch watch_reads search)))
+;;* lmx 77 system/sepolicy/private/fsck.te
+
+(neverallow fsck vold_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck root_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck frp_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck system_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck recovery_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck boot_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck swap_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 80 system/sepolicy/private/fsck.te
+
+(neverallow base_typeattr_518 fsck (process (transition)))
+;;* lme
+
+;;* lmx 81 system/sepolicy/private/fsck.te
+
+(neverallow base_typeattr_239 fsck (process (dyntransition)))
+;;* lme
+
+;;* lmx 82 system/sepolicy/private/fsck.te
+
+(neverallow fsck base_typeattr_519 (file (entrypoint)))
+;;* lme
+
+(allow fsck system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow fsck system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow fsck_untrusted devpts (chr_file (ioctl read write getattr)))
+(allow fsck_untrusted vold (fd (use)))
+(allow fsck_untrusted vold (fifo_file (read write getattr)))
+(allow fsck_untrusted block_device (dir (search)))
+(allow fsck_untrusted vold_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fsck_untrusted proc_mounts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow fsck_untrusted dev_type (blk_file (getattr)))
+;;* lmx 45 system/sepolicy/private/fsck_untrusted.te
+
+(neverallow fsck_untrusted dm_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted root_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted frp_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted system_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted recovery_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted boot_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted userdata_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted cache_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted swap_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fsck_untrusted metadata_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 48 system/sepolicy/private/fsck_untrusted.te
+
+(neverallow base_typeattr_299 fsck_untrusted (process (transition)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/fsck_untrusted.te
+
+(neverallow base_typeattr_239 fsck_untrusted (process (dyntransition)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/fsck_untrusted.te
+
+(neverallow fsck_untrusted base_typeattr_519 (file (entrypoint)))
+;;* lme
+
+;;* lmx 55 system/sepolicy/private/fsck_untrusted.te
+
+(neverallow fsck_untrusted self (capability (setgid setuid sys_admin)))
+(neverallow fsck_untrusted self (cap_userns (setgid setuid sys_admin)))
+;;* lme
+
+(dontaudit fsck_untrusted sysfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(dontaudit fsck_untrusted sysfs_dm (file (ioctl read write getattr lock append map open watch watch_reads)))
+(dontaudit fsck_untrusted sysfs_dm (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(dontaudit fsck_untrusted tmpfs (lnk_file (read)))
+(allow fuseblkd self (capability (sys_admin)))
+(allow fuseblkd self (cap_userns (sys_admin)))
+(allow fuseblkd fuse_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow fuseblkd fuseblk (filesystem (mount unmount)))
+(allow fuseblkd fuseblkd_untrusted (fd (use)))
+(allow fuseblkd block_device (dir (search)))
+(allow fuseblkd mnt_media_rw_file (dir (search)))
+(allow fuseblkd mnt_media_rw_stub_file (dir (mounton)))
+;;* lmx 30 system/sepolicy/private/fuseblkd.te
+
+(neverallow base_typeattr_520 fuseblkd (process (transition)))
+;;* lme
+
+;;* lmx 31 system/sepolicy/private/fuseblkd.te
+
+(neverallow base_typeattr_239 fuseblkd (process (dyntransition)))
+;;* lme
+
+;;* lmx 32 system/sepolicy/private/fuseblkd.te
+
+(neverallow fuseblkd base_typeattr_521 (file (entrypoint)))
+;;* lme
+
+(allow fuseblkd_untrusted fuseblkd_exec (file (read getattr map execute open)))
+(allow fuseblkd_untrusted fuseblkd (process (transition)))
+(allow fuseblkd fuseblkd_exec (file (read getattr map execute open entrypoint)))
+(allow fuseblkd fuseblkd_untrusted (process (sigchld)))
+(dontaudit fuseblkd_untrusted fuseblkd (process (noatsecure)))
+(allow fuseblkd_untrusted fuseblkd (process (siginh rlimitinh)))
+(typetransition fuseblkd_untrusted fuseblkd_exec process fuseblkd)
+(allow fuseblkd_untrusted vold (fd (use)))
+(allow fuseblkd_untrusted block_device (dir (search)))
+(allow fuseblkd_untrusted super_block_device (blk_file (getattr)))
+(allow fuseblkd_untrusted fuse_device (chr_file (read write getattr open)))
+(allow fuseblkd_untrusted mnt_media_rw_file (dir (getattr search)))
+(allow fuseblkd_untrusted mnt_media_rw_stub_file (dir (getattr)))
+(allow fuseblkd_untrusted sysfs_dm (dir (search)))
+(allow fuseblkd_untrusted sysfs_dm (file (read getattr open)))
+(allow fuseblkd_untrusted dm_device (blk_file (getattr)))
+(allow fuseblkd_untrusted tmpfs (lnk_file (read)))
+(allow fuseblkd_untrusted loop_device (blk_file (getattr)))
+(allow fuseblkd_untrusted proc_filesystems (file (read getattr open)))
+(dontaudit fuseblkd_untrusted self (capability (sys_admin)))
+;;* lmx 65 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow fuseblkd_untrusted dm_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted root_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted frp_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted system_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted recovery_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted boot_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted userdata_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted cache_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted swap_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow fuseblkd_untrusted metadata_block_device (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow base_typeattr_299 fuseblkd_untrusted (process (transition)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow base_typeattr_239 fuseblkd_untrusted (process (dyntransition)))
+;;* lme
+
+;;* lmx 70 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow fuseblkd_untrusted base_typeattr_522 (file (entrypoint)))
+;;* lme
+
+;;* lmx 77 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow fuseblkd_untrusted self (capability (setgid setuid sys_admin)))
+;;* lme
+
+;;* lmx 78 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow fuseblkd_untrusted self (capability (setgid setuid sys_admin)))
+(neverallow fuseblkd_untrusted self (cap_userns (setgid setuid sys_admin)))
+;;* lme
+
+;;* lmx 82 system/sepolicy/private/fuseblkd_untrusted.te
+
+(neverallow fuseblkd_untrusted fuseblk (filesystem (mount unmount relabelfrom relabelto)))
+;;* lme
+
+(allow fwk_bufferhub ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init fwk_bufferhub_exec (file (read getattr map execute open)))
+(allow init fwk_bufferhub (process (transition)))
+(allow fwk_bufferhub fwk_bufferhub_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init fwk_bufferhub (process (noatsecure)))
+(allow init fwk_bufferhub (process (siginh rlimitinh)))
+(typetransition init fwk_bufferhub_exec process fwk_bufferhub)
+(allow init gatekeeperd_exec (file (read getattr map execute open)))
+(allow init gatekeeperd (process (transition)))
+(allow gatekeeperd gatekeeperd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init gatekeeperd (process (noatsecure)))
+(allow init gatekeeperd (process (siginh rlimitinh)))
+(typetransition init gatekeeperd_exec process gatekeeperd)
+(allow gatekeeperd gsid_prop (file (read getattr map open)))
+(allow gatekeeperd servicemanager (binder (call transfer)))
+(allow servicemanager gatekeeperd (binder (call transfer)))
+(allow servicemanager gatekeeperd (dir (search)))
+(allow servicemanager gatekeeperd (file (read open)))
+(allow servicemanager gatekeeperd (process (getattr)))
+(allow gatekeeperd ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gatekeeperd system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gatekeeperd gatekeeper_service (service_manager (add find)))
+;;* lmx 25 system/sepolicy/private/gatekeeperd.te
+
+(neverallow base_typeattr_523 gatekeeper_service (service_manager (add)))
+;;* lme
+
+(allow keystore gatekeeperd (dir (search)))
+(allow keystore gatekeeperd (file (read open)))
+(allow keystore gatekeeperd (process (getattr)))
+(allow gatekeeperd apc_service (service_manager (find)))
+(allow gatekeeperd keystore_service (service_manager (find)))
+(allow gatekeeperd legacykeystore_service (service_manager (find)))
+(allow gatekeeperd keystore (binder (call transfer)))
+(allow keystore gatekeeperd (binder (transfer)))
+(allow gatekeeperd keystore (fd (use)))
+(allow keystore gatekeeperd (binder (call transfer)))
+(allow gatekeeperd keystore (binder (transfer)))
+(allow keystore gatekeeperd (fd (use)))
+(allow gatekeeperd keystore (keystore2 (add_auth)))
+(allow gatekeeperd authorization_service (service_manager (find)))
+(allow gatekeeperd system_server (binder (call)))
+(allow gatekeeperd permission_service (service_manager (find)))
+(allow gatekeeperd gatekeeper_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow gatekeeperd gatekeeper_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gatekeeperd hardware_properties_service (service_manager (find)))
+(allow gatekeeperd cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gatekeeperd cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gatekeeperd cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gatekeeperd cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gatekeeperd cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gatekeeperd cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gki_apex_prepostinstall shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow gki_apex_prepostinstall toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow gki_apex_prepostinstall gki_apex_prepostinstall_exec (file (execute_no_trans)))
+(allow gki_apex_prepostinstall servicemanager (binder (call transfer)))
+(allow servicemanager gki_apex_prepostinstall (binder (call transfer)))
+(allow servicemanager gki_apex_prepostinstall (dir (search)))
+(allow servicemanager gki_apex_prepostinstall (file (read open)))
+(allow servicemanager gki_apex_prepostinstall (process (getattr)))
+(allow gki_apex_prepostinstall update_engine_stable_service (service_manager (find)))
+(allow gki_apex_prepostinstall update_engine (binder (call transfer)))
+(allow update_engine gki_apex_prepostinstall (binder (transfer)))
+(allow gki_apex_prepostinstall update_engine (fd (use)))
+(allow gki_apex_prepostinstall apexd (fd (use)))
+(typetransition gmscore_app tmpfs file appdomain_tmpfs)
+(allow gmscore_app gmscore_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su gmscore_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 6 system/sepolicy/private/gmscore_app.te
+
+(neverallow base_typeattr_524 gmscore_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow gmscore_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 6 system/sepolicy/private/gmscore_app.te
+
+(neverallow base_typeattr_525 base_typeattr_524 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/gmscore_app.te
+
+(neverallow base_typeattr_526 gmscore_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/gmscore_app.te
+
+(neverallow base_typeattr_527 gmscore_app (process (ptrace)))
+;;* lme
+
+(allow gmscore_app sysfs_type (dir (search)))
+(allow gmscore_app sysfs_zram (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gmscore_app sysfs_zram (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app sysfs_zram (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gmscore_app rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app config_gz (file (read getattr open)))
+(allow gmscore_app update_engine (binder (call transfer)))
+(allow update_engine gmscore_app (binder (transfer)))
+(allow gmscore_app update_engine (fd (use)))
+(allow gmscore_app update_engine_service (service_manager (find)))
+(allow gmscore_app storaged (binder (call transfer)))
+(allow storaged gmscore_app (binder (transfer)))
+(allow gmscore_app storaged (fd (use)))
+(allow gmscore_app storaged_service (service_manager (find)))
+(allow gmscore_app system_update_service (service_manager (find)))
+(allow gmscore_app statsd (binder (call transfer)))
+(allow statsd gmscore_app (binder (transfer)))
+(allow gmscore_app statsd (fd (use)))
+(allow gmscore_app perfetto (fd (use)))
+(allow gmscore_app perfetto_traces_data_file (file (read getattr)))
+(allow gmscore_app keystore (keystore2_key (gen_unique_id)))
+(allow gmscore_app selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app exec_type (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app device (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit gmscore_app fs_bpf (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit gmscore_app kernel (security (compute_av compute_create compute_member check_context load_policy compute_relabel compute_user setenforce setbool setsecparam setcheckreqprot read_policy validate_trans)))
+(dontaudit gmscore_app net_dns_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app proc (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app proc_interrupts (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app proc_modules (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app proc_net (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit gmscore_app sysfs (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app sysfs_android_usb (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app sysfs_loop (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app sysfs_net (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app sysfs_net (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit gmscore_app wifi_hal_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app wifi_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit gmscore_app mirror_data_file (dir (search)))
+(dontaudit gmscore_app mnt_vendor_file (dir (search)))
+(allow gmscore_app self (process (ptrace)))
+(allow gmscore_app privapp_data_file (file (execute)))
+(allow gmscore_app system_linker_exec (file (execute_no_trans)))
+(allow gmscore_app privapp_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gmscore_app proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app gpuservice (binder (call transfer)))
+(allow gpuservice gmscore_app (binder (transfer)))
+(allow gmscore_app gpuservice (fd (use)))
+(allow gmscore_app gpu_service (service_manager (find)))
+(allow gmscore_app app_api_service (service_manager (find)))
+(allow gmscore_app system_api_service (service_manager (find)))
+(allow gmscore_app audioserver_service (service_manager (find)))
+(allow gmscore_app cameraserver_service (service_manager (find)))
+(allow gmscore_app drmserver_service (service_manager (find)))
+(allow gmscore_app mediadrmserver_service (service_manager (find)))
+(allow gmscore_app mediaextractor_service (service_manager (find)))
+(allow gmscore_app mediametrics_service (service_manager (find)))
+(allow gmscore_app mediaserver_service (service_manager (find)))
+(allow gmscore_app network_watchlist_service (service_manager (find)))
+(allow gmscore_app nfc_service (service_manager (find)))
+(allow gmscore_app oem_lock_service (service_manager (find)))
+(allow gmscore_app persistent_data_block_service (service_manager (find)))
+(allow gmscore_app radio_service (service_manager (find)))
+(allow gmscore_app recovery_service (service_manager (find)))
+(allow gmscore_app stats_service (service_manager (find)))
+(allow gmscore_app cache_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gmscore_app cache_recovery_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gmscore_app cache_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gmscore_app cache_recovery_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gmscore_app cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app ota_package_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gmscore_app ota_package_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gmscore_app checkin_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow gmscore_app checkin_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gmscore_app shell_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app shell_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gmscore_app aconfigd_socket (sock_file (write)))
+(allow gmscore_app aconfigd (unix_stream_socket (connectto)))
+(allow gmscore_app aconfigd_mainline_socket (sock_file (write)))
+(allow gmscore_app aconfigd_mainline (unix_stream_socket (connectto)))
+(allow gmscore_app anr_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gmscore_app priv_app (tcp_socket (read write)))
+(allow gmscore_app virtual_ab_prop (file (read getattr map open)))
+(allow gmscore_app dck_prop (file (read getattr map open)))
+(allow gmscore_app remote_prov_prop (file (read getattr map open)))
+(allow gmscore_app quick_start_prop (file (read getattr map open)))
+;;* lmx 159 system/sepolicy/private/gmscore_app.te
+
+(neverallow base_typeattr_528 quick_start_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow gmscore_app bluetooth_finder_prop (file (read getattr map open)))
+;;* lmx 165 system/sepolicy/private/gmscore_app.te
+
+(neverallow gmscore_app sysfs_net (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 169 system/sepolicy/private/gmscore_app.te
+
+(neverallowx gmscore_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx gmscore_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx gmscore_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx gmscore_app domain (ioctl icmp_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 169 system/sepolicy/private/gmscore_app.te
+
+(neverallowx gmscore_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx gmscore_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx gmscore_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx gmscore_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 169 system/sepolicy/private/gmscore_app.te
+
+(neverallowx gmscore_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx gmscore_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx gmscore_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx gmscore_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+;;* lmx 170 system/sepolicy/private/gmscore_app.te
+
+(neverallow gmscore_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow gmscore_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+;;* lme
+
+;;* lmx 183 system/sepolicy/private/gmscore_app.te
+
+(neverallow gmscore_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow gmscore_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow gmscore_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow gmscore_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow gmscore_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow gmscore_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow gmscore_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+(allow init gpuservice_exec (file (read getattr map execute open)))
+(allow init gpuservice (process (transition)))
+(allow gpuservice gpuservice_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init gpuservice (process (noatsecure)))
+(allow init gpuservice (process (siginh rlimitinh)))
+(typetransition init gpuservice_exec process gpuservice)
+(allow gpuservice adbd (binder (call transfer)))
+(allow adbd gpuservice (binder (transfer)))
+(allow gpuservice adbd (fd (use)))
+(allow gpuservice shell (binder (call transfer)))
+(allow shell gpuservice (binder (transfer)))
+(allow gpuservice shell (fd (use)))
+(allow gpuservice system_server (binder (call transfer)))
+(allow system_server gpuservice (binder (transfer)))
+(allow gpuservice system_server (fd (use)))
+(allow gpuservice servicemanager (binder (call transfer)))
+(allow servicemanager gpuservice (binder (call transfer)))
+(allow servicemanager gpuservice (dir (search)))
+(allow servicemanager gpuservice (file (read open)))
+(allow servicemanager gpuservice (process (getattr)))
+(allow gpuservice gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow gpuservice same_process_hal_file (file (read getattr map execute open)))
+(allow gpuservice ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gpuservice hwservicemanager_prop (file (read getattr map open)))
+(allow gpuservice hwservicemanager (binder (call transfer)))
+(allow hwservicemanager gpuservice (binder (call transfer)))
+(allow hwservicemanager gpuservice (dir (search)))
+(allow hwservicemanager gpuservice (file (read map open)))
+(allow hwservicemanager gpuservice (process (getattr)))
+(allow gpuservice graphics_device (dir (search)))
+(allow gpuservice graphics_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow gpuservice adbd (fd (use)))
+(allow gpuservice adbd (unix_stream_socket (read write getattr)))
+(allow gpuservice shell (fifo_file (read write getattr)))
+(allow gpuservice traced (fd (use)))
+(allow gpuservice traced_tmpfs (file (read write getattr map)))
+(allow gpuservice traced_producer_socket (sock_file (write)))
+(allow gpuservice traced (unix_stream_socket (connectto)))
+(allow traced gpuservice (fd (use)))
+(allow gpuservice devpts (chr_file (read write getattr)))
+(allow gpuservice dumpstate (fd (use)))
+(allow gpuservice dumpstate (fifo_file (write)))
+(allow gpuservice stats_service (service_manager (find)))
+(allow gpuservice statsmanager_service (service_manager (find)))
+(allow gpuservice statsd (binder (call transfer)))
+(allow statsd gpuservice (binder (transfer)))
+(allow gpuservice statsd (fd (use)))
+(allow gpuservice debugfs_tracing (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gpuservice self (perf_event (open cpu kernel write)))
+;;* lmx 52 system/sepolicy/private/gpuservice.te
+
+(neverallow gpuservice self (perf_event (tracepoint read)))
+;;* lme
+
+(allow gpuservice fs_bpf (file (read write)))
+(allow gpuservice bpfloader (bpf (map_read map_write prog_run)))
+(allow gpuservice gpu_service (service_manager (add find)))
+;;* lmx 61 system/sepolicy/private/gpuservice.te
+
+(neverallow base_typeattr_529 gpu_service (service_manager (add)))
+;;* lme
+
+(allow gpuservice property_socket (sock_file (write)))
+(allow gpuservice init (unix_stream_socket (connectto)))
+(allow gpuservice graphics_config_writable_prop (property_service (set)))
+(allow gpuservice graphics_config_writable_prop (file (read getattr map open)))
+;;* lmx 66 system/sepolicy/private/gpuservice.te
+
+(neverallow base_typeattr_530 graphics_config_writable_prop (property_service (set)))
+;;* lme
+
+(allow gpuservice permission_service (service_manager (find)))
+(allow init gsid_exec (file (read getattr map execute open)))
+(allow init gsid (process (transition)))
+(allow gsid gsid_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init gsid (process (noatsecure)))
+(allow init gsid (process (siginh rlimitinh)))
+(typetransition init gsid_exec process gsid)
+(allow gsid servicemanager (binder (call transfer)))
+(allow servicemanager gsid (binder (call transfer)))
+(allow servicemanager gsid (dir (search)))
+(allow servicemanager gsid (file (read open)))
+(allow servicemanager gsid (process (getattr)))
+(allow gsid gsi_service (service_manager (add find)))
+;;* lmx 11 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_531 gsi_service (service_manager (add)))
+;;* lme
+
+(allow gsid vold_service (service_manager (find)))
+(allow gsid vold (binder (call transfer)))
+(allow vold gsid (binder (transfer)))
+(allow gsid vold (fd (use)))
+(allow gsid property_socket (sock_file (write)))
+(allow gsid init (unix_stream_socket (connectto)))
+(allow gsid gsid_prop (property_service (set)))
+(allow gsid gsid_prop (file (read getattr map open)))
+(allow gsid dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow gsid dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow gsid self (capability (sys_admin)))
+(allow gsid self (cap_userns (sys_admin)))
+(dontaudit gsid self (capability (dac_override)))
+(dontaudit gsid self (cap_userns (dac_override)))
+(allow gsid loop_control_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow gsid loop_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx gsid loop_device (ioctl blk_file (0x1261)))
+(allowx gsid loop_device (ioctl blk_file ((range 0x4c00 0x4c01) (range 0x4c04 0x4c05) (range 0x4c08 0x4c09))))
+(allow gsid sysfs_dm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gsid sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid sysfs_dm (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid sysfs_fs_f2fs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gsid sysfs_fs_f2fs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid sysfs_fs_f2fs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid gsi_metadata_file_type (dir (search)))
+(allow gsid metadata_file (dir (search)))
+(allow gsid gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid sysfs_dt_firmware_android (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gsid sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gsid super_block_device_type (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allowx gsid super_block_device_type (ioctl blk_file (0x1278 0x127a)))
+(allowx gsid userdata_block_device (ioctl blk_file (0x1278 0x127a)))
+(allowx gsid sdcard_block_device (ioctl blk_file (0x1278 0x127a)))
+(allow gsid mnt_media_rw_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gsid mnt_media_rw_stub_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow gsid vfat (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gsid vfat (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gsid sdcard_block_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid self (capability (sys_rawio)))
+(allow gsid self (cap_userns (sys_rawio)))
+;;* lmx 104 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_532 gsid_prop (property_service (set)))
+;;* lme
+
+(allow gsid userdata_block_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid metadata_file (dir (getattr search)))
+(allow gsid gsi_metadata_file_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gsid ota_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow gsid gsi_metadata_file_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gsid ota_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gsid file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow gsid gsi_metadata_file (file (relabelfrom)))
+(allow gsid gsi_public_metadata_file (file (relabelto)))
+(allow gsid gsi_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gsid ota_image_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow gsid gsi_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow gsid ota_image_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allowx gsid gsi_data_file (ioctl file (0x6601 0x660b)))
+(allowx gsid ota_image_data_file (ioctl file (0x6601 0x660b)))
+(allow gsid system_server (binder (call)))
+;;* lmx 176 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_533 gsi_metadata_file_type (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 183 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_533 base_typeattr_534 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_533 base_typeattr_534 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_533 base_typeattr_534 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_533 base_typeattr_534 (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_533 base_typeattr_534 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_533 base_typeattr_534 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 190 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_533 gsi_public_metadata_file (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow base_typeattr_533 gsi_public_metadata_file (lnk_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+(neverallow base_typeattr_533 gsi_public_metadata_file (chr_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow base_typeattr_533 gsi_public_metadata_file (blk_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+(neverallow base_typeattr_533 gsi_public_metadata_file (sock_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+(neverallow base_typeattr_533 gsi_public_metadata_file (fifo_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+;;* lme
+
+;;* lmx 196 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_265 gsi_metadata_file_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_265 gsi_metadata_file_type (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_265 gsi_metadata_file_type (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_265 gsi_metadata_file_type (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_265 gsi_metadata_file_type (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_265 gsi_metadata_file_type (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_265 gsi_metadata_file_type (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 202 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_535 gsi_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_535 gsi_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_535 gsi_data_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_535 gsi_data_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_535 gsi_data_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_535 gsi_data_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_535 gsi_data_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 207 system/sepolicy/private/gsid.te
+
+(neverallow base_typeattr_531 gsi_data_file (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_531 gsi_data_file (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_531 gsi_data_file (chr_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_531 gsi_data_file (blk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_531 gsi_data_file (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_531 gsi_data_file (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow hal_allocator_client hal_allocator_server (binder (call transfer)))
+(allow hal_allocator_server hal_allocator_client (binder (transfer)))
+(allow hal_allocator_client hal_allocator_server (fd (use)))
+(allow hal_allocator_client hidl_allocator_hwservice (hwservice_manager (find)))
+(allow hal_allocator_server hidl_allocator_hwservice (hwservice_manager (add find)))
+(allow hal_allocator_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_allocator.te
+
+(neverallow base_typeattr_536 hidl_allocator_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_allocator.te
+
+(neverallow base_typeattr_537 hidl_allocator_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_allocator_client hidl_memory_hwservice (hwservice_manager (find)))
+(allow hal_allocator_client same_process_hal_file (file (read getattr map execute open)))
+(allow init hal_allocator_default_exec (file (read getattr map execute open)))
+(allow init hal_allocator_default (process (transition)))
+(allow hal_allocator_default hal_allocator_default_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init hal_allocator_default (process (noatsecure)))
+(allow init hal_allocator_default (process (siginh rlimitinh)))
+(typetransition init hal_allocator_default_exec process hal_allocator_default)
+(allow hal_allocator_default property_socket (sock_file (write)))
+(allow hal_allocator_default init (unix_stream_socket (connectto)))
+(allow hal_allocator_default hidl_memory_prop (property_service (set)))
+(allow hal_allocator_default hidl_memory_prop (file (read getattr map open)))
+(allow hal_atrace_client hal_atrace_server (binder (call transfer)))
+(allow hal_atrace_server hal_atrace_client (binder (transfer)))
+(allow hal_atrace_client hal_atrace_server (fd (use)))
+(allow hal_atrace_client hal_atrace_hwservice (hwservice_manager (find)))
+(allow hal_atrace_server hal_atrace_hwservice (hwservice_manager (add find)))
+(allow hal_atrace_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_atrace.te
+
+(neverallow base_typeattr_538 hal_atrace_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_atrace.te
+
+(neverallow base_typeattr_539 hal_atrace_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_audio_client hal_audio_server (binder (call transfer)))
+(allow hal_audio_server hal_audio_client (binder (transfer)))
+(allow hal_audio_client hal_audio_server (fd (use)))
+(allow hal_audio_server hal_audio_client (binder (call transfer)))
+(allow hal_audio_client hal_audio_server (binder (transfer)))
+(allow hal_audio_server hal_audio_client (fd (use)))
+(allow hal_audio_client hal_audio_hwservice (hwservice_manager (find)))
+(allow hal_audio_server hal_audio_hwservice (hwservice_manager (add find)))
+(allow hal_audio_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_audio.te
+
+(neverallow base_typeattr_540 hal_audio_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_audio.te
+
+(neverallow base_typeattr_541 hal_audio_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_audio_client hal_audio_service (service_manager (find)))
+(allow hal_audio_server hal_audio_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_audio.te
+
+(neverallow base_typeattr_540 hal_audio_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_audio.te
+
+(neverallow base_typeattr_542 hal_audio_service (service_manager (find)))
+;;* lme
+
+(allow hal_audio ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_audio_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_audio_server (binder (transfer)))
+(allow hal_audio_server servicemanager (fd (use)))
+(allow hal_audio proc (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_audio proc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_audio proc (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_audio proc_asound (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_audio proc_asound (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_audio proc_asound (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_audio_server audio_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_audio_server audio_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_audio shell (fd (use)))
+(allow hal_audio shell (fifo_file (write)))
+(allow hal_audio dumpstate (fd (use)))
+(allow hal_audio dumpstate (fifo_file (write)))
+(allow hal_audio_server appdomain (fd (use)))
+(allow hal_audio_server system_server_tmpfs (file (read getattr map)))
+(allow hal_audio_server self (capability (sys_nice)))
+(allow hal_audio_server self (cap_userns (sys_nice)))
+(allow hal_audio vndbinder_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_audio vndservicemanager (binder (call transfer)))
+(allow vndservicemanager hal_audio (dir (search)))
+(allow vndservicemanager hal_audio (file (read map open)))
+(allow vndservicemanager hal_audio (process (getattr)))
+;;* lmx 39 system/sepolicy/private/hal_audio.te
+
+(neverallow hal_audio_server fs_type (file (execute_no_trans)))
+(neverallow hal_audio_server file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/hal_audio.te
+
+(neverallow base_typeattr_543 audio_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow hal_audio audio_config_prop (file (read getattr map open)))
+(allow hal_audio bluetooth_a2dp_offload_prop (file (read getattr map open)))
+(allow hal_audio bluetooth_audio_hal_prop (file (read getattr map open)))
+(allow hal_audiocontrol_client hal_audiocontrol_server (binder (call transfer)))
+(allow hal_audiocontrol_server hal_audiocontrol_client (binder (transfer)))
+(allow hal_audiocontrol_client hal_audiocontrol_server (fd (use)))
+(allow hal_audiocontrol_server hal_audiocontrol_client (binder (call transfer)))
+(allow hal_audiocontrol_client hal_audiocontrol_server (binder (transfer)))
+(allow hal_audiocontrol_server hal_audiocontrol_client (fd (use)))
+(allow hal_audiocontrol_client hal_audiocontrol_hwservice (hwservice_manager (find)))
+(allow hal_audiocontrol_server hal_audiocontrol_hwservice (hwservice_manager (add find)))
+(allow hal_audiocontrol_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_audiocontrol.te
+
+(neverallow base_typeattr_544 hal_audiocontrol_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_audiocontrol.te
+
+(neverallow base_typeattr_545 hal_audiocontrol_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_audiocontrol_client hal_audiocontrol_service (service_manager (find)))
+(allow hal_audiocontrol_server hal_audiocontrol_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_audiocontrol.te
+
+(neverallow base_typeattr_544 hal_audiocontrol_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_audiocontrol.te
+
+(neverallow base_typeattr_546 hal_audiocontrol_service (service_manager (find)))
+;;* lme
+
+(allow hal_audiocontrol_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_audiocontrol_server (binder (transfer)))
+(allow hal_audiocontrol_server servicemanager (fd (use)))
+(allow hal_authgraph_client hal_authgraph_server (binder (call transfer)))
+(allow hal_authgraph_server hal_authgraph_client (binder (transfer)))
+(allow hal_authgraph_client hal_authgraph_server (fd (use)))
+(allow hal_authgraph_client hal_authgraph_service (service_manager (find)))
+(allow hal_authgraph_server hal_authgraph_service (service_manager (add find)))
+;;* lmx 3 system/sepolicy/private/hal_authgraph.te
+
+(neverallow base_typeattr_547 hal_authgraph_service (service_manager (add)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/hal_authgraph.te
+
+(neverallow base_typeattr_548 hal_authgraph_service (service_manager (find)))
+;;* lme
+
+(allow hal_authgraph_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_authgraph_server (binder (transfer)))
+(allow hal_authgraph_server servicemanager (fd (use)))
+(allow hal_authgraph_server tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_authgraph_server ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_authsecret_client hal_authsecret_server (binder (call transfer)))
+(allow hal_authsecret_server hal_authsecret_client (binder (transfer)))
+(allow hal_authsecret_client hal_authsecret_server (fd (use)))
+(allow hal_authsecret_client hal_authsecret_hwservice (hwservice_manager (find)))
+(allow hal_authsecret_server hal_authsecret_hwservice (hwservice_manager (add find)))
+(allow hal_authsecret_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_authsecret.te
+
+(neverallow base_typeattr_549 hal_authsecret_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_authsecret.te
+
+(neverallow base_typeattr_550 hal_authsecret_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_authsecret_client hal_authsecret_service (service_manager (find)))
+(allow hal_authsecret_server hal_authsecret_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_authsecret.te
+
+(neverallow base_typeattr_549 hal_authsecret_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_authsecret.te
+
+(neverallow base_typeattr_551 hal_authsecret_service (service_manager (find)))
+;;* lme
+
+(allow hal_authsecret_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_authsecret_server (binder (transfer)))
+(allow hal_authsecret_server servicemanager (fd (use)))
+(allow hal_bluetooth_client hal_bluetooth_server (binder (call transfer)))
+(allow hal_bluetooth_server hal_bluetooth_client (binder (transfer)))
+(allow hal_bluetooth_client hal_bluetooth_server (fd (use)))
+(allow hal_bluetooth_server hal_bluetooth_client (binder (call transfer)))
+(allow hal_bluetooth_client hal_bluetooth_server (binder (transfer)))
+(allow hal_bluetooth_server hal_bluetooth_client (fd (use)))
+(allow hal_bluetooth_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_bluetooth_server (binder (transfer)))
+(allow hal_bluetooth_server servicemanager (fd (use)))
+(allow hal_bluetooth_client hal_bluetooth_hwservice (hwservice_manager (find)))
+(allow hal_bluetooth_server hal_bluetooth_hwservice (hwservice_manager (add find)))
+(allow hal_bluetooth_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/hal_bluetooth.te
+
+(neverallow base_typeattr_552 hal_bluetooth_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_bluetooth.te
+
+(neverallow base_typeattr_553 hal_bluetooth_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_bluetooth_client hal_bluetooth_service (service_manager (find)))
+(allow hal_bluetooth_server hal_bluetooth_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_bluetooth.te
+
+(neverallow base_typeattr_552 hal_bluetooth_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_bluetooth.te
+
+(neverallow base_typeattr_554 hal_bluetooth_service (service_manager (find)))
+;;* lme
+
+(allow hal_bluetooth sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_bluetooth self (capability2 (block_suspend)))
+(allow hal_bluetooth self (cap2_userns (block_suspend)))
+(allow hal_bluetooth system_suspend_server (binder (call transfer)))
+(allow system_suspend_server hal_bluetooth (binder (transfer)))
+(allow hal_bluetooth system_suspend_server (fd (use)))
+(allow hal_bluetooth system_suspend_hwservice (hwservice_manager (find)))
+(allow hal_bluetooth hwservicemanager (binder (call transfer)))
+(allow hwservicemanager hal_bluetooth (binder (call transfer)))
+(allow hwservicemanager hal_bluetooth (dir (search)))
+(allow hwservicemanager hal_bluetooth (file (read map open)))
+(allow hwservicemanager hal_bluetooth (process (getattr)))
+(allow hal_bluetooth hwservicemanager_prop (file (read getattr map open)))
+(allow hal_bluetooth hidl_manager_hwservice (hwservice_manager (find)))
+(allow hal_bluetooth hal_system_suspend_service (service_manager (find)))
+(allow hal_bluetooth servicemanager (binder (call transfer)))
+(allow servicemanager hal_bluetooth (binder (call transfer)))
+(allow servicemanager hal_bluetooth (dir (search)))
+(allow servicemanager hal_bluetooth (file (read open)))
+(allow servicemanager hal_bluetooth (process (getattr)))
+(allow hal_bluetooth self (capability (net_admin)))
+(allow hal_bluetooth self (cap_userns (net_admin)))
+(allow hal_bluetooth bluetooth_efs_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_bluetooth bluetooth_efs_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_bluetooth bluetooth_efs_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_bluetooth uhid_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_bluetooth hci_attach_dev (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_bluetooth sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_bluetooth sysfs_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_bluetooth sysfs_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_bluetooth sysfs_bluetooth_writable (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_bluetooth self (capability2 (wake_alarm)))
+(allow hal_bluetooth self (cap2_userns (wake_alarm)))
+(allow hal_bluetooth property_socket (sock_file (write)))
+(allow hal_bluetooth init (unix_stream_socket (connectto)))
+(allow hal_bluetooth bluetooth_a2dp_offload_prop (property_service (set)))
+(allow hal_bluetooth bluetooth_a2dp_offload_prop (file (read getattr map open)))
+(allow hal_bluetooth property_socket (sock_file (write)))
+(allow hal_bluetooth init (unix_stream_socket (connectto)))
+(allow hal_bluetooth bluetooth_audio_hal_prop (property_service (set)))
+(allow hal_bluetooth bluetooth_audio_hal_prop (file (read getattr map open)))
+(allow hal_bluetooth property_socket (sock_file (write)))
+(allow hal_bluetooth init (unix_stream_socket (connectto)))
+(allow hal_bluetooth bluetooth_finder_prop (property_service (set)))
+(allow hal_bluetooth bluetooth_finder_prop (file (read getattr map open)))
+(allow hal_bluetooth property_socket (sock_file (write)))
+(allow hal_bluetooth init (unix_stream_socket (connectto)))
+(allow hal_bluetooth bluetooth_prop (property_service (set)))
+(allow hal_bluetooth bluetooth_prop (file (read getattr map open)))
+(allow hal_bluetooth property_socket (sock_file (write)))
+(allow hal_bluetooth init (unix_stream_socket (connectto)))
+(allow hal_bluetooth exported_bluetooth_prop (property_service (set)))
+(allow hal_bluetooth exported_bluetooth_prop (file (read getattr map open)))
+(allow hal_bluetooth proc_bluetooth_writable (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_bluetooth self (capability (sys_nice)))
+(allow hal_bluetooth self (cap_userns (sys_nice)))
+(allow hal_bootctl_client hal_bootctl_server (binder (call transfer)))
+(allow hal_bootctl_server hal_bootctl_client (binder (transfer)))
+(allow hal_bootctl_client hal_bootctl_server (fd (use)))
+(allow hal_bootctl_server hal_bootctl_client (binder (call transfer)))
+(allow hal_bootctl_client hal_bootctl_server (binder (transfer)))
+(allow hal_bootctl_server hal_bootctl_client (fd (use)))
+(allow hal_bootctl_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_bootctl_server (binder (call transfer)))
+(allow servicemanager hal_bootctl_server (dir (search)))
+(allow servicemanager hal_bootctl_server (file (read open)))
+(allow servicemanager hal_bootctl_server (process (getattr)))
+(allow hal_bootctl_client hal_bootctl_hwservice (hwservice_manager (find)))
+(allow hal_bootctl_server hal_bootctl_hwservice (hwservice_manager (add find)))
+(allow hal_bootctl_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/hal_bootctl.te
+
+(neverallow base_typeattr_555 hal_bootctl_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_bootctl.te
+
+(neverallow base_typeattr_556 hal_bootctl_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_bootctl_server proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_bootctl_client hal_bootctl_service (service_manager (find)))
+(allow hal_bootctl_server hal_bootctl_service (service_manager (add find)))
+;;* lmx 10 system/sepolicy/private/hal_bootctl.te
+
+(neverallow base_typeattr_555 hal_bootctl_service (service_manager (add)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/hal_bootctl.te
+
+(neverallow base_typeattr_557 hal_bootctl_service (service_manager (find)))
+;;* lme
+
+(allow hal_broadcastradio_client hal_broadcastradio_server (binder (call transfer)))
+(allow hal_broadcastradio_server hal_broadcastradio_client (binder (transfer)))
+(allow hal_broadcastradio_client hal_broadcastradio_server (fd (use)))
+(allow hal_broadcastradio_server hal_broadcastradio_client (binder (call transfer)))
+(allow hal_broadcastradio_client hal_broadcastradio_server (binder (transfer)))
+(allow hal_broadcastradio_server hal_broadcastradio_client (fd (use)))
+(allow hal_broadcastradio_client hal_broadcastradio_hwservice (hwservice_manager (find)))
+(allow hal_broadcastradio_server hal_broadcastradio_hwservice (hwservice_manager (add find)))
+(allow hal_broadcastradio_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_broadcastradio.te
+
+(neverallow base_typeattr_558 hal_broadcastradio_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_broadcastradio.te
+
+(neverallow base_typeattr_559 hal_broadcastradio_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_broadcastradio_client hal_broadcastradio_service (service_manager (find)))
+(allow hal_broadcastradio_server hal_broadcastradio_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_broadcastradio.te
+
+(neverallow base_typeattr_558 hal_broadcastradio_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_broadcastradio.te
+
+(neverallow base_typeattr_560 hal_broadcastradio_service (service_manager (find)))
+;;* lme
+
+(allow hal_broadcastradio_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_broadcastradio_server (binder (transfer)))
+(allow hal_broadcastradio_server servicemanager (fd (use)))
+(allow hal_camera_client hal_camera_server (binder (call transfer)))
+(allow hal_camera_server hal_camera_client (binder (transfer)))
+(allow hal_camera_client hal_camera_server (fd (use)))
+(allow hal_camera_server hal_camera_client (binder (call transfer)))
+(allow hal_camera_client hal_camera_server (binder (transfer)))
+(allow hal_camera_server hal_camera_client (fd (use)))
+(allow hal_camera_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_camera_server (binder (call transfer)))
+(allow servicemanager hal_camera_server (dir (search)))
+(allow servicemanager hal_camera_server (file (read open)))
+(allow servicemanager hal_camera_server (process (getattr)))
+(allow hal_camera_client hal_camera_hwservice (hwservice_manager (find)))
+(allow hal_camera_server hal_camera_hwservice (hwservice_manager (add find)))
+(allow hal_camera_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 8 system/sepolicy/private/hal_camera.te
+
+(neverallow base_typeattr_561 hal_camera_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_camera.te
+
+(neverallow base_typeattr_562 hal_camera_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_camera_client hal_camera_service (service_manager (find)))
+(allow hal_camera_server hal_camera_service (service_manager (add find)))
+;;* lmx 9 system/sepolicy/private/hal_camera.te
+
+(neverallow base_typeattr_561 hal_camera_service (service_manager (add)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/hal_camera.te
+
+(neverallow base_typeattr_563 hal_camera_service (service_manager (find)))
+;;* lme
+
+(allow hal_camera device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_camera video_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_camera video_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_camera camera_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_camera ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_camera dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_camera_client hal_graphics_allocator (fd (use)))
+(allow hal_camera_server hal_graphics_allocator (fd (use)))
+(allow hal_camera base_typeattr_564 (fd (use)))
+(allow hal_camera surfaceflinger (fd (use)))
+(allow hal_camera hal_allocator_server (fd (use)))
+(allow hal_camera shell (fd (use)))
+(allow hal_camera shell (fifo_file (write)))
+;;* lmx 36 system/sepolicy/private/hal_camera.te
+
+(neverallow hal_camera_server fs_type (file (execute_no_trans)))
+(neverallow hal_camera_server file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 39 system/sepolicy/private/hal_camera.te
+
+(neverallow hal_camera_server domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+(neverallow hal_camera_server domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow hal_camera_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/hal_camera.te
+
+(neverallow base_typeattr_565 camera_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow hal_can_controller_client hal_can_controller_server (binder (call transfer)))
+(allow hal_can_controller_server hal_can_controller_client (binder (transfer)))
+(allow hal_can_controller_client hal_can_controller_server (fd (use)))
+(allow hal_can_controller_server hal_can_controller_client (binder (call transfer)))
+(allow hal_can_controller_client hal_can_controller_server (binder (transfer)))
+(allow hal_can_controller_server hal_can_controller_client (fd (use)))
+(allow hal_can_controller_client hal_can_controller_hwservice (hwservice_manager (find)))
+(allow hal_can_controller_server hal_can_controller_hwservice (hwservice_manager (add find)))
+(allow hal_can_controller_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_can.te
+
+(neverallow base_typeattr_566 hal_can_controller_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_can.te
+
+(neverallow base_typeattr_567 hal_can_controller_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_can_bus_client hal_can_bus_server (binder (call transfer)))
+(allow hal_can_bus_server hal_can_bus_client (binder (transfer)))
+(allow hal_can_bus_client hal_can_bus_server (fd (use)))
+(allow hal_can_bus_server hal_can_bus_client (binder (call transfer)))
+(allow hal_can_bus_client hal_can_bus_server (binder (transfer)))
+(allow hal_can_bus_server hal_can_bus_client (fd (use)))
+(allow hal_can_bus_client hal_can_bus_hwservice (hwservice_manager (find)))
+(allow hal_can_bus_server hal_can_bus_hwservice (hwservice_manager (add find)))
+(allow hal_can_bus_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 9 system/sepolicy/private/hal_can.te
+
+(neverallow base_typeattr_568 hal_can_bus_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/hal_can.te
+
+(neverallow base_typeattr_569 hal_can_bus_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_can_controller_client hal_can_controller_service (service_manager (find)))
+(allow hal_can_controller_server hal_can_controller_service (service_manager (add find)))
+;;* lmx 12 system/sepolicy/private/hal_can.te
+
+(neverallow base_typeattr_566 hal_can_controller_service (service_manager (add)))
+;;* lme
+
+;;* lmx 12 system/sepolicy/private/hal_can.te
+
+(neverallow base_typeattr_570 hal_can_controller_service (service_manager (find)))
+;;* lme
+
+(allow hal_can_controller servicemanager (binder (call transfer)))
+(allow servicemanager hal_can_controller (binder (call transfer)))
+(allow servicemanager hal_can_controller (dir (search)))
+(allow servicemanager hal_can_controller (file (read open)))
+(allow servicemanager hal_can_controller (process (getattr)))
+(allow hal_cas_client hal_cas_server (binder (call transfer)))
+(allow hal_cas_server hal_cas_client (binder (transfer)))
+(allow hal_cas_client hal_cas_server (fd (use)))
+(allow hal_cas_server hal_cas_client (binder (call transfer)))
+(allow hal_cas_client hal_cas_server (binder (transfer)))
+(allow hal_cas_server hal_cas_client (fd (use)))
+(allow hal_cas_client hal_cas_hwservice (hwservice_manager (find)))
+(allow hal_cas_server hal_cas_hwservice (hwservice_manager (add find)))
+(allow hal_cas_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_cas.te
+
+(neverallow base_typeattr_571 hal_cas_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_cas.te
+
+(neverallow base_typeattr_572 hal_cas_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_cas_server hidl_memory_hwservice (hwservice_manager (find)))
+(allow hal_cas_client hal_cas_service (service_manager (find)))
+(allow hal_cas_server hal_cas_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/hal_cas.te
+
+(neverallow base_typeattr_571 hal_cas_service (service_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_cas.te
+
+(neverallow base_typeattr_573 hal_cas_service (service_manager (find)))
+;;* lme
+
+(allow hal_cas_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_cas_server (binder (transfer)))
+(allow hal_cas_server servicemanager (fd (use)))
+(allow hal_cas_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_cas_client (binder (transfer)))
+(allow hal_cas_client servicemanager (fd (use)))
+(allow hal_cas_server serialno_prop (file (read getattr map open)))
+(allow hal_cas system_data_file (file (read getattr)))
+(allow hal_cas cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_cas cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_cas cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_cas cgroup (dir (write search)))
+(allow hal_cas cgroup (file (write lock append map open)))
+(allow hal_cas cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_cas cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_cas cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_cas cgroup_v2 (dir (write search)))
+(allow hal_cas cgroup_v2 (file (write lock append map open)))
+(allow hal_cas ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_cas hal_graphics_allocator (fd (use)))
+(allow hal_cas tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lmx 40 system/sepolicy/private/hal_cas.te
+
+(neverallow hal_cas_server fs_type (file (execute_no_trans)))
+(neverallow hal_cas_server file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/hal_cas.te
+
+(neverallowx hal_cas_server domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx hal_cas_server domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx hal_cas_server domain (ioctl rawip_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/hal_cas.te
+
+(neverallowx hal_cas_server domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx hal_cas_server domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx hal_cas_server domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/hal_cas.te
+
+(neverallowx hal_cas_server domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx hal_cas_server domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx hal_cas_server domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+(allow hal_codec2_client media_variant_prop (file (read getattr map open)))
+(allow hal_codec2_server media_variant_prop (file (read getattr map open)))
+(allow hal_codec2_client codec2_config_prop (file (read getattr map open)))
+(allow hal_codec2_server codec2_config_prop (file (read getattr map open)))
+(allow hal_codec2_client hal_codec2_server (binder (call transfer)))
+(allow hal_codec2_server hal_codec2_client (binder (transfer)))
+(allow hal_codec2_client hal_codec2_server (fd (use)))
+(allow hal_codec2_server hal_codec2_client (binder (call transfer)))
+(allow hal_codec2_client hal_codec2_server (binder (transfer)))
+(allow hal_codec2_server hal_codec2_client (fd (use)))
+(allow hal_codec2_client hal_codec2_hwservice (hwservice_manager (find)))
+(allow hal_codec2_server hal_codec2_hwservice (hwservice_manager (add find)))
+(allow hal_codec2_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 9 system/sepolicy/private/hal_codec2.te
+
+(neverallow base_typeattr_574 hal_codec2_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/hal_codec2.te
+
+(neverallow base_typeattr_575 hal_codec2_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_codec2_client hal_codec2_service (service_manager (find)))
+(allow hal_codec2_server hal_codec2_service (service_manager (add find)))
+;;* lmx 10 system/sepolicy/private/hal_codec2.te
+
+(neverallow base_typeattr_574 hal_codec2_service (service_manager (add)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/hal_codec2.te
+
+(neverallow base_typeattr_576 hal_codec2_service (service_manager (find)))
+;;* lme
+
+(allow hal_codec2_server hal_graphics_composer (fd (use)))
+(allow hal_codec2_server ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_codec2_server hal_camera (fd (use)))
+(allow hal_codec2_server bufferhubd (fd (use)))
+(allow hal_codec2_client ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_577 surfaceflinger_service (service_manager (find)))
+(allow hal_codec2_server su (fifo_file (read)))
+(allow hal_codec2_server hal_codec2_client (fifo_file (read)))
+(allow hal_codec2_server base_typeattr_257 (fifo_file (read)))
+(allow hal_configstore_client hal_configstore_server (binder (call transfer)))
+(allow hal_configstore_server hal_configstore_client (binder (transfer)))
+(allow hal_configstore_client hal_configstore_server (fd (use)))
+(allow hal_configstore_client hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (find)))
+(allow hal_configstore_server hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (add find)))
+(allow hal_configstore_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_configstore.te
+
+(neverallow base_typeattr_578 hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_configstore.te
+
+(neverallow base_typeattr_579 hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (find)))
+;;* lme
+
+(allow hal_configstore_server anr_data_file (file (append)))
+(allow hal_configstore_server dumpstate (fd (use)))
+(allow hal_configstore_server incidentd (fd (use)))
+(allow hal_configstore_server dumpstate (fifo_file (write append)))
+(allow hal_configstore_server incidentd (fifo_file (write append)))
+(allow hal_configstore_server system_server (fifo_file (write append)))
+(allow hal_configstore_server tombstoned (unix_stream_socket (connectto)))
+(allow hal_configstore_server tombstoned (fd (use)))
+(allow hal_configstore_server tombstoned_crash_socket (sock_file (write)))
+(allow hal_configstore_server tombstone_data_file (file (append)))
+;;* lmx 15 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server fs_type (file (execute_no_trans)))
+(neverallow hal_configstore_server file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 29 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server domain (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+(neverallow hal_configstore_server domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow hal_configstore_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow hal_configstore_server domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_readpriv nlmsg_getneigh)))
+(neverallow hal_configstore_server domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow hal_configstore_server domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow hal_configstore_server domain (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow hal_configstore_server domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow hal_configstore_server domain (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_configstore_server domain (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server base_typeattr_580 (unix_stream_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind connectto)))
+(neverallow hal_configstore_server base_typeattr_580 (unix_dgram_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server base_typeattr_581 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_configstore_server base_typeattr_581 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow hal_configstore_server base_typeattr_581 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 51 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_configstore_server fuse (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_configstore_server fuseblk (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_configstore_server sdcardfs (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_configstore_server vfat (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_configstore_server exfat (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 55 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server sdcard_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_configstore_server fuse (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_configstore_server fuseblk (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_configstore_server sdcardfs (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_configstore_server vfat (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_configstore_server exfat (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 58 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server base_typeattr_239 (service_manager (add find list)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow hal_configstore_server self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+(neverallow hal_configstore_server self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow hal_configstore_server self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server base_typeattr_239 (process (ptrace)))
+;;* lme
+
+;;* lmx 67 system/sepolicy/private/hal_configstore.te
+
+(neverallow hal_configstore_server base_typeattr_239 (file (relabelfrom relabelto)))
+(neverallow hal_configstore_server base_typeattr_239 (dir (relabelfrom relabelto)))
+(neverallow hal_configstore_server base_typeattr_239 (lnk_file (relabelfrom relabelto)))
+(neverallow hal_configstore_server base_typeattr_239 (chr_file (relabelfrom relabelto)))
+(neverallow hal_configstore_server base_typeattr_239 (blk_file (relabelfrom relabelto)))
+(neverallow hal_configstore_server base_typeattr_239 (sock_file (relabelfrom relabelto)))
+(neverallow hal_configstore_server base_typeattr_239 (fifo_file (relabelfrom relabelto)))
+;;* lme
+
+(allow hal_confirmationui_client hal_confirmationui_server (binder (call transfer)))
+(allow hal_confirmationui_server hal_confirmationui_client (binder (transfer)))
+(allow hal_confirmationui_client hal_confirmationui_server (fd (use)))
+(allow hal_confirmationui_client hal_confirmationui_hwservice (hwservice_manager (find)))
+(allow hal_confirmationui_server hal_confirmationui_hwservice (hwservice_manager (add find)))
+(allow hal_confirmationui_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_confirmationui.te
+
+(neverallow base_typeattr_582 hal_confirmationui_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_confirmationui.te
+
+(neverallow base_typeattr_583 hal_confirmationui_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_confirmationui_client hal_confirmationui_service (service_manager (find)))
+(allow hal_confirmationui_server hal_confirmationui_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_confirmationui.te
+
+(neverallow base_typeattr_582 hal_confirmationui_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_confirmationui.te
+
+(neverallow base_typeattr_584 hal_confirmationui_service (service_manager (find)))
+;;* lme
+
+(allow hal_confirmationui_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_confirmationui_server (binder (transfer)))
+(allow hal_confirmationui_server servicemanager (fd (use)))
+(allow hal_contexthub_client hal_contexthub_server (binder (call transfer)))
+(allow hal_contexthub_server hal_contexthub_client (binder (transfer)))
+(allow hal_contexthub_client hal_contexthub_server (fd (use)))
+(allow hal_contexthub_server hal_contexthub_client (binder (call transfer)))
+(allow hal_contexthub_client hal_contexthub_server (binder (transfer)))
+(allow hal_contexthub_server hal_contexthub_client (fd (use)))
+(allow hal_contexthub_server hal_contexthub_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_contexthub.te
+
+(neverallow base_typeattr_585 hal_contexthub_service (service_manager (add)))
+;;* lme
+
+(allow hal_contexthub_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_contexthub_server (binder (transfer)))
+(allow hal_contexthub_server servicemanager (fd (use)))
+(allow hal_contexthub_client hal_contexthub_service (service_manager (find)))
+(allow hal_contexthub_client hal_contexthub_hwservice (hwservice_manager (find)))
+(allow hal_contexthub_server hal_contexthub_hwservice (hwservice_manager (add find)))
+(allow hal_contexthub_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 10 system/sepolicy/private/hal_contexthub.te
+
+(neverallow base_typeattr_585 hal_contexthub_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/hal_contexthub.te
+
+(neverallow base_typeattr_586 hal_contexthub_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_drm_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_drm_server (binder (call transfer)))
+(allow servicemanager hal_drm_server (dir (search)))
+(allow servicemanager hal_drm_server (file (read open)))
+(allow servicemanager hal_drm_server (process (getattr)))
+(allow hal_drm_client hal_drm_server (binder (call transfer)))
+(allow hal_drm_server hal_drm_client (binder (transfer)))
+(allow hal_drm_client hal_drm_server (fd (use)))
+(allow hal_drm_server hal_drm_client (binder (call transfer)))
+(allow hal_drm_client hal_drm_server (binder (transfer)))
+(allow hal_drm_server hal_drm_client (fd (use)))
+(allow hal_drm_client hal_drm_hwservice (hwservice_manager (find)))
+(allow hal_drm_server hal_drm_hwservice (hwservice_manager (add find)))
+(allow hal_drm_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/hal_drm.te
+
+(neverallow base_typeattr_587 hal_drm_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_drm.te
+
+(neverallow base_typeattr_588 hal_drm_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_drm_client hal_drm_service (service_manager (find)))
+(allow hal_drm_server hal_drm_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_drm.te
+
+(neverallow base_typeattr_587 hal_drm_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_drm.te
+
+(neverallow base_typeattr_589 hal_drm_service (service_manager (find)))
+;;* lme
+
+(allow hal_drm hidl_memory_hwservice (hwservice_manager (find)))
+(allow hal_drm self (process (execmem)))
+(allow hal_drm_server serialno_prop (file (read getattr map open)))
+(allow hal_drm_server drm_forcel3_prop (file (read getattr map open)))
+(allow hal_drm system_data_file (file (read getattr)))
+(allow hal_drm cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_drm cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_drm cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_drm cgroup (dir (write search)))
+(allow hal_drm cgroup (file (write lock append map open)))
+(allow hal_drm cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_drm cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_drm cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_drm cgroup_v2 (dir (write search)))
+(allow hal_drm cgroup_v2 (file (write lock append map open)))
+(allow hal_drm_server shell (fd (use)))
+(allow hal_drm_server shell (fifo_file (write)))
+(allow hal_drm ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_drm hal_graphics_allocator (fd (use)))
+(allow hal_drm hal_allocator_server (fd (use)))
+(allow hal_drm mediaserver (fd (use)))
+(allow hal_drm sysfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_drm tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_drm_server base_typeattr_564 (fd (use)))
+(allowx hal_drm self (ioctl tcp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx hal_drm self (ioctl udp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx hal_drm self (ioctl rawip_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx hal_drm self (ioctl tcp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx hal_drm self (ioctl udp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx hal_drm self (ioctl rawip_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx hal_drm self (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx hal_drm self (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx hal_drm self (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+;;* lmx 61 system/sepolicy/private/hal_drm.te
+
+(neverallow hal_drm_server fs_type (file (execute_no_trans)))
+(neverallow hal_drm_server file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/hal_drm.te
+
+(neverallowx hal_drm_server domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx hal_drm_server domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx hal_drm_server domain (ioctl rawip_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/hal_drm.te
+
+(neverallowx hal_drm_server domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx hal_drm_server domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx hal_drm_server domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/hal_drm.te
+
+(neverallowx hal_drm_server domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx hal_drm_server domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx hal_drm_server domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+(allow hal_dumpstate_client hal_dumpstate_server (binder (call transfer)))
+(allow hal_dumpstate_server hal_dumpstate_client (binder (transfer)))
+(allow hal_dumpstate_client hal_dumpstate_server (fd (use)))
+(allow hal_dumpstate_server hal_dumpstate_client (binder (call transfer)))
+(allow hal_dumpstate_client hal_dumpstate_server (binder (transfer)))
+(allow hal_dumpstate_server hal_dumpstate_client (fd (use)))
+(allow hal_dumpstate_server property_socket (sock_file (write)))
+(allow hal_dumpstate_server init (unix_stream_socket (connectto)))
+(allow hal_dumpstate_server hal_dumpstate_config_prop (property_service (set)))
+(allow hal_dumpstate_server hal_dumpstate_config_prop (file (read getattr map open)))
+(allow hal_dumpstate_client hal_dumpstate_hwservice (hwservice_manager (find)))
+(allow hal_dumpstate_server hal_dumpstate_hwservice (hwservice_manager (add find)))
+(allow hal_dumpstate_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 7 system/sepolicy/private/hal_dumpstate.te
+
+(neverallow base_typeattr_590 hal_dumpstate_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_dumpstate.te
+
+(neverallow base_typeattr_591 hal_dumpstate_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_dumpstate_client hal_dumpstate_service (service_manager (find)))
+(allow hal_dumpstate_server hal_dumpstate_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/hal_dumpstate.te
+
+(neverallow base_typeattr_590 hal_dumpstate_service (service_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_dumpstate.te
+
+(neverallow base_typeattr_592 hal_dumpstate_service (service_manager (find)))
+;;* lme
+
+(allow hal_dumpstate_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_dumpstate_server (binder (transfer)))
+(allow hal_dumpstate_server servicemanager (fd (use)))
+(allow hal_dumpstate_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_dumpstate_server (binder (call transfer)))
+(allow servicemanager hal_dumpstate_server (dir (search)))
+(allow servicemanager hal_dumpstate_server (file (read open)))
+(allow servicemanager hal_dumpstate_server (process (getattr)))
+(allow hal_dumpstate shell_data_file (file (write)))
+(allow hal_dumpstate proc_interrupts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_dumpstate fscklogs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_dumpstate fscklogs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_dumpstate fscklogs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_evs_client hwservicemanager (binder (call transfer)))
+(allow hwservicemanager hal_evs_client (binder (call transfer)))
+(allow hwservicemanager hal_evs_client (dir (search)))
+(allow hwservicemanager hal_evs_client (file (read map open)))
+(allow hwservicemanager hal_evs_client (process (getattr)))
+(allow hal_evs_server hwservicemanager (binder (call transfer)))
+(allow hwservicemanager hal_evs_server (binder (call transfer)))
+(allow hwservicemanager hal_evs_server (dir (search)))
+(allow hwservicemanager hal_evs_server (file (read map open)))
+(allow hwservicemanager hal_evs_server (process (getattr)))
+(allow hal_evs_client hal_evs_server (binder (call transfer)))
+(allow hal_evs_server hal_evs_client (binder (transfer)))
+(allow hal_evs_client hal_evs_server (fd (use)))
+(allow hal_evs_server hal_evs_client (binder (call transfer)))
+(allow hal_evs_client hal_evs_server (binder (transfer)))
+(allow hal_evs_server hal_evs_client (fd (use)))
+(allow hal_evs_client hal_evs_hwservice (hwservice_manager (find)))
+(allow hal_evs_server hal_evs_hwservice (hwservice_manager (add find)))
+(allow hal_evs_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 12 system/sepolicy/private/hal_evs.te
+
+(neverallow base_typeattr_593 hal_evs_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow hal_evs_client hal_evs_service (service_manager (find)))
+(allow hal_evs_server hal_evs_service (service_manager (add find)))
+;;* lmx 15 system/sepolicy/private/hal_evs.te
+
+(neverallow base_typeattr_594 hal_evs_service (service_manager (add)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/private/hal_evs.te
+
+(neverallow base_typeattr_595 hal_evs_service (service_manager (find)))
+;;* lme
+
+(allow hal_face_client hal_face_server (binder (call transfer)))
+(allow hal_face_server hal_face_client (binder (transfer)))
+(allow hal_face_client hal_face_server (fd (use)))
+(allow hal_face_server hal_face_client (binder (call transfer)))
+(allow hal_face_client hal_face_server (binder (transfer)))
+(allow hal_face_server hal_face_client (fd (use)))
+(allow hal_face_client hal_face_hwservice (hwservice_manager (find)))
+(allow hal_face_server hal_face_hwservice (hwservice_manager (add find)))
+(allow hal_face_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_face.te
+
+(neverallow base_typeattr_596 hal_face_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_face.te
+
+(neverallow base_typeattr_597 hal_face_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_face_client hal_face_service (service_manager (find)))
+(allow hal_face_server hal_face_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_face.te
+
+(neverallow base_typeattr_596 hal_face_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_face.te
+
+(neverallow base_typeattr_598 hal_face_service (service_manager (find)))
+;;* lme
+
+(allow hal_face_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_face_server (binder (call transfer)))
+(allow servicemanager hal_face_server (dir (search)))
+(allow servicemanager hal_face_server (file (read open)))
+(allow servicemanager hal_face_server (process (getattr)))
+(allow hal_face ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_599 face_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_599 face_vendor_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow hal_fastboot_client hal_fastboot_server (binder (call transfer)))
+(allow hal_fastboot_server hal_fastboot_client (binder (transfer)))
+(allow hal_fastboot_client hal_fastboot_server (fd (use)))
+(allow hal_fastboot_client hal_fastboot_service (service_manager (find)))
+(allow hal_fastboot_server hal_fastboot_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_fastboot.te
+
+(neverallow base_typeattr_600 hal_fastboot_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_fastboot.te
+
+(neverallow base_typeattr_601 hal_fastboot_service (service_manager (find)))
+;;* lme
+
+(allow hal_fastboot_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_fastboot_server (binder (transfer)))
+(allow hal_fastboot_server servicemanager (fd (use)))
+(allow hal_fingerprint_client hal_fingerprint_server (binder (call transfer)))
+(allow hal_fingerprint_server hal_fingerprint_client (binder (transfer)))
+(allow hal_fingerprint_client hal_fingerprint_server (fd (use)))
+(allow hal_fingerprint_server hal_fingerprint_client (binder (call transfer)))
+(allow hal_fingerprint_client hal_fingerprint_server (binder (transfer)))
+(allow hal_fingerprint_server hal_fingerprint_client (fd (use)))
+(allow hal_fingerprint_client hal_fingerprint_hwservice (hwservice_manager (find)))
+(allow hal_fingerprint_server hal_fingerprint_hwservice (hwservice_manager (add find)))
+(allow hal_fingerprint_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_fingerprint.te
+
+(neverallow base_typeattr_602 hal_fingerprint_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_fingerprint.te
+
+(neverallow base_typeattr_603 hal_fingerprint_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_fingerprint_client hal_fingerprint_service (service_manager (find)))
+(allow hal_fingerprint_server hal_fingerprint_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_fingerprint.te
+
+(neverallow base_typeattr_602 hal_fingerprint_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_fingerprint.te
+
+(neverallow base_typeattr_604 hal_fingerprint_service (service_manager (find)))
+;;* lme
+
+(allow hal_fingerprint_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_fingerprint_server (binder (call transfer)))
+(allow servicemanager hal_fingerprint_server (dir (search)))
+(allow servicemanager hal_fingerprint_server (file (read open)))
+(allow servicemanager hal_fingerprint_server (process (getattr)))
+(allow hal_fingerprint ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_605 fingerprint_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_605 fingerprint_vendor_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow hal_fingerprint cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_fingerprint cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_fingerprint cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_fingerprint cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_fingerprint cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_fingerprint cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_605 sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_605 sysfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_605 sysfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_gatekeeper_client hal_gatekeeper_server (binder (call transfer)))
+(allow hal_gatekeeper_server hal_gatekeeper_client (binder (transfer)))
+(allow hal_gatekeeper_client hal_gatekeeper_server (fd (use)))
+(allow hal_gatekeeper_client hal_gatekeeper_hwservice (hwservice_manager (find)))
+(allow hal_gatekeeper_server hal_gatekeeper_hwservice (hwservice_manager (add find)))
+(allow hal_gatekeeper_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 3 system/sepolicy/private/hal_gatekeeper.te
+
+(neverallow base_typeattr_606 hal_gatekeeper_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/hal_gatekeeper.te
+
+(neverallow base_typeattr_607 hal_gatekeeper_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_gatekeeper_client hal_gatekeeper_service (service_manager (find)))
+(allow hal_gatekeeper_server hal_gatekeeper_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_gatekeeper.te
+
+(neverallow base_typeattr_606 hal_gatekeeper_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_gatekeeper.te
+
+(neverallow base_typeattr_608 hal_gatekeeper_service (service_manager (find)))
+;;* lme
+
+(allow hal_gatekeeper_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_gatekeeper_server (binder (transfer)))
+(allow hal_gatekeeper_server servicemanager (fd (use)))
+(allow hal_gatekeeper tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_gatekeeper ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_gnss_client hal_gnss_server (binder (call transfer)))
+(allow hal_gnss_server hal_gnss_client (binder (transfer)))
+(allow hal_gnss_client hal_gnss_server (fd (use)))
+(allow hal_gnss_server hal_gnss_client (binder (call transfer)))
+(allow hal_gnss_client hal_gnss_server (binder (transfer)))
+(allow hal_gnss_server hal_gnss_client (fd (use)))
+(allow hal_gnss_client hal_gnss_hwservice (hwservice_manager (find)))
+(allow hal_gnss_server hal_gnss_hwservice (hwservice_manager (add find)))
+(allow hal_gnss_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_gnss.te
+
+(neverallow base_typeattr_609 hal_gnss_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_gnss.te
+
+(neverallow base_typeattr_610 hal_gnss_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_gnss_client hal_gnss_service (service_manager (find)))
+(allow hal_gnss_server hal_gnss_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_gnss.te
+
+(neverallow base_typeattr_609 hal_gnss_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_gnss.te
+
+(neverallow base_typeattr_611 hal_gnss_service (service_manager (find)))
+;;* lme
+
+(allow hal_gnss_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_gnss_server (binder (call transfer)))
+(allow servicemanager hal_gnss_server (dir (search)))
+(allow servicemanager hal_gnss_server (file (read open)))
+(allow servicemanager hal_gnss_server (process (getattr)))
+(allow hal_gnss_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_gnss_client (binder (call transfer)))
+(allow servicemanager hal_gnss_client (dir (search)))
+(allow servicemanager hal_gnss_client (file (read open)))
+(allow servicemanager hal_gnss_client (process (getattr)))
+(allow hal_graphics_allocator_client hal_graphics_allocator_server (binder (call transfer)))
+(allow hal_graphics_allocator_server hal_graphics_allocator_client (binder (transfer)))
+(allow hal_graphics_allocator_client hal_graphics_allocator_server (fd (use)))
+(allow hal_graphics_allocator_client hal_graphics_allocator_hwservice (hwservice_manager (find)))
+(allow hal_graphics_allocator_server hal_graphics_allocator_hwservice (hwservice_manager (add find)))
+(allow hal_graphics_allocator_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_graphics_allocator.te
+
+(neverallow base_typeattr_612 hal_graphics_allocator_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_graphics_allocator.te
+
+(neverallow base_typeattr_613 hal_graphics_allocator_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_graphics_allocator_client hal_graphics_mapper_hwservice (hwservice_manager (find)))
+(allow hal_graphics_allocator_client hal_graphics_mapper_service (service_manager (find)))
+(allow hal_graphics_allocator_client same_process_hal_file (file (read getattr map execute open)))
+(allow hal_graphics_allocator gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_graphics_allocator gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_graphics_allocator ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_graphics_allocator dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_graphics_allocator dmabuf_system_secure_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_graphics_allocator self (capability (sys_nice)))
+(allow hal_graphics_allocator self (cap_userns (sys_nice)))
+(allow hal_graphics_allocator_client hal_graphics_allocator_service (service_manager (find)))
+(allow hal_graphics_allocator_server hal_graphics_allocator_service (service_manager (add find)))
+;;* lmx 22 system/sepolicy/private/hal_graphics_allocator.te
+
+(neverallow base_typeattr_612 hal_graphics_allocator_service (service_manager (add)))
+;;* lme
+
+;;* lmx 22 system/sepolicy/private/hal_graphics_allocator.te
+
+(neverallow base_typeattr_614 hal_graphics_allocator_service (service_manager (find)))
+;;* lme
+
+(allow hal_graphics_allocator_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_graphics_allocator_server (binder (transfer)))
+(allow hal_graphics_allocator_server servicemanager (fd (use)))
+(allow hal_graphics_allocator_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_graphics_allocator_client (binder (transfer)))
+(allow hal_graphics_allocator_client servicemanager (fd (use)))
+(allow hal_graphics_composer_client hal_graphics_composer_server (binder (call transfer)))
+(allow hal_graphics_composer_server hal_graphics_composer_client (binder (transfer)))
+(allow hal_graphics_composer_client hal_graphics_composer_server (fd (use)))
+(allow hal_graphics_composer_server hal_graphics_composer_client (binder (call transfer)))
+(allow hal_graphics_composer_client hal_graphics_composer_server (binder (transfer)))
+(allow hal_graphics_composer_server hal_graphics_composer_client (fd (use)))
+(allow hal_graphics_composer_client hal_graphics_composer_server_tmpfs (file (read write getattr map)))
+(allow hal_graphics_composer_server hal_graphics_composer_client_tmpfs (file (read write getattr map)))
+(allow hal_graphics_composer_client hal_graphics_composer_hwservice (hwservice_manager (find)))
+(allow hal_graphics_composer_server hal_graphics_composer_hwservice (hwservice_manager (add find)))
+(allow hal_graphics_composer_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 7 system/sepolicy/private/hal_graphics_composer.te
+
+(neverallow base_typeattr_615 hal_graphics_composer_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_graphics_composer.te
+
+(neverallow base_typeattr_616 hal_graphics_composer_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_graphics_composer_server hal_graphics_mapper_hwservice (hwservice_manager (find)))
+(allow hal_graphics_composer gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_graphics_composer gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_graphics_composer ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_graphics_composer dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_graphics_composer hal_graphics_allocator (fd (use)))
+(allow hal_graphics_composer graphics_device (dir (search)))
+(allow hal_graphics_composer graphics_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_graphics_composer system_server (fd (use)))
+(allow hal_graphics_composer bootanim (fd (use)))
+(allow hal_graphics_composer appdomain (fd (use)))
+(allow hal_graphics_composer self (capability (sys_nice)))
+(allow hal_graphics_composer self (cap_userns (sys_nice)))
+(allow hal_graphics_composer_server hal_graphics_composer_client (fifo_file (write)))
+(allow hal_graphics_composer_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_graphics_composer_client (binder (transfer)))
+(allow hal_graphics_composer_client servicemanager (fd (use)))
+(allow hal_graphics_composer_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_graphics_composer_server (binder (transfer)))
+(allow hal_graphics_composer_server servicemanager (fd (use)))
+(allow hal_graphics_composer_client hal_graphics_composer_service (service_manager (find)))
+(allow hal_graphics_composer_server hal_graphics_composer_service (service_manager (add find)))
+;;* lmx 38 system/sepolicy/private/hal_graphics_composer.te
+
+(neverallow base_typeattr_615 hal_graphics_composer_service (service_manager (add)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/hal_graphics_composer.te
+
+(neverallow base_typeattr_617 hal_graphics_composer_service (service_manager (find)))
+;;* lme
+
+(allow hal_health_client hal_health_server (binder (call transfer)))
+(allow hal_health_server hal_health_client (binder (transfer)))
+(allow hal_health_client hal_health_server (fd (use)))
+(allow hal_health_server hal_health_client (binder (call transfer)))
+(allow hal_health_client hal_health_server (binder (transfer)))
+(allow hal_health_server hal_health_client (fd (use)))
+(allow hal_health_client hal_health_hwservice (hwservice_manager (find)))
+(allow hal_health_server hal_health_hwservice (hwservice_manager (add find)))
+(allow hal_health_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_health.te
+
+(neverallow base_typeattr_618 hal_health_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_health.te
+
+(neverallow base_typeattr_619 hal_health_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_health_client hal_health_service (service_manager (find)))
+(allow hal_health_server hal_health_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_health.te
+
+(neverallow base_typeattr_618 hal_health_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_health.te
+
+(neverallow base_typeattr_620 hal_health_service (service_manager (find)))
+;;* lme
+
+(allow hal_health_server self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_health_server sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_health_server sysfs_batteryinfo (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_health_server sysfs_batteryinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_health_server sysfs_batteryinfo (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_health_server sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_health_server self (capability2 (block_suspend)))
+(allow hal_health_server self (cap2_userns (block_suspend)))
+(allow hal_health_server system_suspend_server (binder (call transfer)))
+(allow system_suspend_server hal_health_server (binder (transfer)))
+(allow hal_health_server system_suspend_server (fd (use)))
+(allow hal_health_server system_suspend_hwservice (hwservice_manager (find)))
+(allow hal_health_server hwservicemanager (binder (call transfer)))
+(allow hwservicemanager hal_health_server (binder (call transfer)))
+(allow hwservicemanager hal_health_server (dir (search)))
+(allow hwservicemanager hal_health_server (file (read map open)))
+(allow hwservicemanager hal_health_server (process (getattr)))
+(allow hal_health_server hwservicemanager_prop (file (read getattr map open)))
+(allow hal_health_server hidl_manager_hwservice (hwservice_manager (find)))
+(allow hal_health_server hal_system_suspend_service (service_manager (find)))
+(allow hal_health_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_health_server (binder (call transfer)))
+(allow servicemanager hal_health_server (dir (search)))
+(allow servicemanager hal_health_server (file (read open)))
+(allow servicemanager hal_health_server (process (getattr)))
+(allow hal_health_server kmsg_device (chr_file (write getattr lock append map open)))
+(allow hal_health_server self (capability2 (wake_alarm)))
+(allow hal_health_server fs_bpf_vendor (dir (search)))
+(allow hal_health_server fs_bpf_vendor (file (read)))
+(allow hal_health_server bpfloader (bpf (prog_run)))
+(allow hal_health_storage_client hal_health_storage_server (binder (call transfer)))
+(allow hal_health_storage_server hal_health_storage_client (binder (transfer)))
+(allow hal_health_storage_client hal_health_storage_server (fd (use)))
+(allow hal_health_storage_server hal_health_storage_client (binder (call transfer)))
+(allow hal_health_storage_client hal_health_storage_server (binder (transfer)))
+(allow hal_health_storage_server hal_health_storage_client (fd (use)))
+(allow hal_health_storage_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_health_storage_server (binder (call transfer)))
+(allow servicemanager hal_health_storage_server (dir (search)))
+(allow servicemanager hal_health_storage_server (file (read open)))
+(allow servicemanager hal_health_storage_server (process (getattr)))
+(allow hal_health_storage_client hal_health_storage_hwservice (hwservice_manager (find)))
+(allow hal_health_storage_server hal_health_storage_hwservice (hwservice_manager (add find)))
+(allow hal_health_storage_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 7 system/sepolicy/private/hal_health_storage.te
+
+(neverallow base_typeattr_621 hal_health_storage_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_health_storage.te
+
+(neverallow base_typeattr_622 hal_health_storage_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_health_storage_client hal_health_storage_service (service_manager (find)))
+(allow hal_health_storage_server hal_health_storage_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/hal_health_storage.te
+
+(neverallow base_typeattr_621 hal_health_storage_service (service_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_health_storage.te
+
+(neverallow base_typeattr_623 hal_health_storage_service (service_manager (find)))
+;;* lme
+
+(allow hal_health_storage_server gsi_metadata_file_type (dir (search)))
+(allow hal_health_storage_server metadata_file (dir (search)))
+(allow hal_health_storage_server gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_health_storage_server proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_health_storage_server proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_identity_client hal_identity_server (binder (call transfer)))
+(allow hal_identity_server hal_identity_client (binder (transfer)))
+(allow hal_identity_client hal_identity_server (fd (use)))
+(allow hal_identity_client hal_identity_service (service_manager (find)))
+(allow hal_identity_server hal_identity_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_identity.te
+
+(neverallow base_typeattr_624 hal_identity_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_identity.te
+
+(neverallow base_typeattr_625 hal_identity_service (service_manager (find)))
+;;* lme
+
+(allow hal_identity_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_identity_server (binder (transfer)))
+(allow hal_identity_server servicemanager (fd (use)))
+(allow hal_input_classifier_client hal_input_classifier_server (binder (call transfer)))
+(allow hal_input_classifier_server hal_input_classifier_client (binder (transfer)))
+(allow hal_input_classifier_client hal_input_classifier_server (fd (use)))
+(allow hal_input_classifier_client hal_input_classifier_hwservice (hwservice_manager (find)))
+(allow hal_input_classifier_server hal_input_classifier_hwservice (hwservice_manager (add find)))
+(allow hal_input_classifier_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_input_classifier.te
+
+(neverallow base_typeattr_626 hal_input_classifier_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_input_classifier.te
+
+(neverallow base_typeattr_627 hal_input_classifier_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_input_processor_client hal_input_processor_server (binder (call transfer)))
+(allow hal_input_processor_server hal_input_processor_client (binder (transfer)))
+(allow hal_input_processor_client hal_input_processor_server (fd (use)))
+(allow hal_input_processor_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_input_processor_server (binder (transfer)))
+(allow hal_input_processor_server servicemanager (fd (use)))
+(allow hal_input_processor_client hal_input_processor_service (service_manager (find)))
+(allow hal_input_processor_server hal_input_processor_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_input_processor.te
+
+(neverallow base_typeattr_628 hal_input_processor_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_input_processor.te
+
+(neverallow base_typeattr_629 hal_input_processor_service (service_manager (find)))
+;;* lme
+
+(allow hal_input_processor_server dumpstate (fifo_file (write)))
+(allow hal_ir_client hal_ir_server (binder (call transfer)))
+(allow hal_ir_server hal_ir_client (binder (transfer)))
+(allow hal_ir_client hal_ir_server (fd (use)))
+(allow hal_ir_server hal_ir_client (binder (call transfer)))
+(allow hal_ir_client hal_ir_server (binder (transfer)))
+(allow hal_ir_server hal_ir_client (fd (use)))
+(allow hal_ir_client hal_ir_service (service_manager (find)))
+(allow hal_ir_server hal_ir_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_ir.te
+
+(neverallow base_typeattr_630 hal_ir_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_ir.te
+
+(neverallow base_typeattr_631 hal_ir_service (service_manager (find)))
+;;* lme
+
+(allow hal_ir_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_ir_server (binder (transfer)))
+(allow hal_ir_server servicemanager (fd (use)))
+(allow hal_ir_client hal_ir_hwservice (hwservice_manager (find)))
+(allow hal_ir_server hal_ir_hwservice (hwservice_manager (add find)))
+(allow hal_ir_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 8 system/sepolicy/private/hal_ir.te
+
+(neverallow base_typeattr_630 hal_ir_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_ir.te
+
+(neverallow base_typeattr_632 hal_ir_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_ivn_client hal_ivn_server (binder (call transfer)))
+(allow hal_ivn_server hal_ivn_client (binder (transfer)))
+(allow hal_ivn_client hal_ivn_server (fd (use)))
+(allow hal_ivn_client hal_ivn_service (service_manager (find)))
+(allow hal_ivn_server hal_ivn_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_ivn.te
+
+(neverallow base_typeattr_633 hal_ivn_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_ivn.te
+
+(neverallow base_typeattr_634 hal_ivn_service (service_manager (find)))
+;;* lme
+
+(allow hal_keymaster_client hal_keymaster_server (binder (call transfer)))
+(allow hal_keymaster_server hal_keymaster_client (binder (transfer)))
+(allow hal_keymaster_client hal_keymaster_server (fd (use)))
+(allow hal_keymaster_client hal_keymaster_hwservice (hwservice_manager (find)))
+(allow hal_keymaster_server hal_keymaster_hwservice (hwservice_manager (add find)))
+(allow hal_keymaster_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_keymaster.te
+
+(neverallow base_typeattr_635 hal_keymaster_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_keymaster.te
+
+(neverallow base_typeattr_636 hal_keymaster_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_keymaster tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_keymaster ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_keymint_client hal_keymint_server (binder (call transfer)))
+(allow hal_keymint_server hal_keymint_client (binder (transfer)))
+(allow hal_keymint_client hal_keymint_server (fd (use)))
+(allow hal_keymint_client hal_keymint_service (service_manager (find)))
+(allow hal_keymint_server hal_keymint_service (service_manager (add find)))
+;;* lmx 3 system/sepolicy/private/hal_keymint.te
+
+(neverallow base_typeattr_637 hal_keymint_service (service_manager (add)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/hal_keymint.te
+
+(neverallow base_typeattr_638 hal_keymint_service (service_manager (find)))
+;;* lme
+
+(allow hal_keymint_client hal_remotelyprovisionedcomponent_service (service_manager (find)))
+(allow hal_keymint_server hal_remotelyprovisionedcomponent_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_keymint.te
+
+(neverallow base_typeattr_637 hal_remotelyprovisionedcomponent_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_keymint.te
+
+(neverallow base_typeattr_638 hal_remotelyprovisionedcomponent_service (service_manager (find)))
+;;* lme
+
+(allow hal_keymint_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_keymint_server (binder (transfer)))
+(allow hal_keymint_server servicemanager (fd (use)))
+(allow base_typeattr_639 tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_639 ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init hal_keymint_system_exec (file (read getattr map execute open)))
+(allow init hal_keymint_system (process (transition)))
+(allow hal_keymint_system hal_keymint_system_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init hal_keymint_system (process (noatsecure)))
+(allow init hal_keymint_system (process (siginh rlimitinh)))
+(typetransition init hal_keymint_system_exec process hal_keymint_system)
+(allow hal_keymint_system self (vsock_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_light_client hal_light_server (binder (call transfer)))
+(allow hal_light_server hal_light_client (binder (transfer)))
+(allow hal_light_client hal_light_server (fd (use)))
+(allow hal_light_server hal_light_client (binder (call transfer)))
+(allow hal_light_client hal_light_server (binder (transfer)))
+(allow hal_light_server hal_light_client (fd (use)))
+(allow hal_light_client hal_light_hwservice (hwservice_manager (find)))
+(allow hal_light_server hal_light_hwservice (hwservice_manager (add find)))
+(allow hal_light_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_light.te
+
+(neverallow base_typeattr_640 hal_light_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_light.te
+
+(neverallow base_typeattr_641 hal_light_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_light_client hal_light_service (service_manager (find)))
+(allow hal_light_server hal_light_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_light.te
+
+(neverallow base_typeattr_640 hal_light_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_light.te
+
+(neverallow base_typeattr_642 hal_light_service (service_manager (find)))
+;;* lme
+
+(allow hal_light_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_light_server (binder (transfer)))
+(allow hal_light_server servicemanager (fd (use)))
+(allow hal_light_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_light_client (binder (call transfer)))
+(allow servicemanager hal_light_client (dir (search)))
+(allow servicemanager hal_light_client (file (read open)))
+(allow servicemanager hal_light_client (process (getattr)))
+(allow hal_light_server dumpstate (fifo_file (write)))
+(allow hal_light sysfs_leds (lnk_file (read)))
+(allow hal_light sysfs_leds (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_light sysfs_leds (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_lowpan_client hal_lowpan_server (binder (call transfer)))
+(allow hal_lowpan_server hal_lowpan_client (binder (transfer)))
+(allow hal_lowpan_client hal_lowpan_server (fd (use)))
+(allow hal_lowpan_server hal_lowpan_client (binder (call transfer)))
+(allow hal_lowpan_client hal_lowpan_server (binder (transfer)))
+(allow hal_lowpan_server hal_lowpan_client (fd (use)))
+(allow hal_lowpan_client hal_lowpan_hwservice (hwservice_manager (find)))
+(allow hal_lowpan_server hal_lowpan_hwservice (hwservice_manager (add find)))
+(allow hal_lowpan_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 7 system/sepolicy/private/hal_lowpan.te
+
+(neverallow base_typeattr_643 hal_lowpan_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_lowpan.te
+
+(neverallow base_typeattr_644 hal_lowpan_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_lowpan_server property_socket (sock_file (write)))
+(allow hal_lowpan_server init (unix_stream_socket (connectto)))
+(allow hal_lowpan_server lowpan_prop (property_service (set)))
+(allow hal_lowpan_server lowpan_prop (file (read getattr map open)))
+(allow hal_lowpan_server lowpan_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lmx 20 system/sepolicy/private/hal_lowpan.te
+
+(neverallow base_typeattr_645 lowpan_device (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow hal_macsec_client hal_macsec_server (binder (call transfer)))
+(allow hal_macsec_server hal_macsec_client (binder (transfer)))
+(allow hal_macsec_client hal_macsec_server (fd (use)))
+(allow hal_macsec_server hal_macsec_client (binder (call transfer)))
+(allow hal_macsec_client hal_macsec_server (binder (transfer)))
+(allow hal_macsec_server hal_macsec_client (fd (use)))
+(allow hal_macsec_client hal_macsec_service (service_manager (find)))
+(allow hal_macsec_server hal_macsec_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_macsec.te
+
+(neverallow base_typeattr_646 hal_macsec_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_macsec.te
+
+(neverallow base_typeattr_647 hal_macsec_service (service_manager (find)))
+;;* lme
+
+(allow hal_macsec_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_macsec_server (binder (call transfer)))
+(allow servicemanager hal_macsec_server (dir (search)))
+(allow servicemanager hal_macsec_server (file (read open)))
+(allow servicemanager hal_macsec_server (process (getattr)))
+(allow hal_mediaquality_client hal_mediaquality_server (binder (call transfer)))
+(allow hal_mediaquality_server hal_mediaquality_client (binder (transfer)))
+(allow hal_mediaquality_client hal_mediaquality_server (fd (use)))
+(allow hal_mediaquality_server hal_mediaquality_client (binder (call transfer)))
+(allow hal_mediaquality_client hal_mediaquality_server (binder (transfer)))
+(allow hal_mediaquality_server hal_mediaquality_client (fd (use)))
+(allow hal_mediaquality_client hal_mediaquality_service (service_manager (find)))
+(allow hal_mediaquality_server hal_mediaquality_service (service_manager (add find)))
+;;* lmx 1 system/sepolicy/private/hal_mediaquality.te
+
+(neverallow base_typeattr_648 hal_mediaquality_service (service_manager (add)))
+;;* lme
+
+;;* lmx 1 system/sepolicy/private/hal_mediaquality.te
+
+(neverallow base_typeattr_649 hal_mediaquality_service (service_manager (find)))
+;;* lme
+
+(allow hal_mediaquality_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_mediaquality_server (binder (transfer)))
+(allow hal_mediaquality_server servicemanager (fd (use)))
+(allow hal_mediaquality_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_mediaquality_client (binder (transfer)))
+(allow hal_mediaquality_client servicemanager (fd (use)))
+(allow hal_memtrack_client hal_memtrack_server (binder (call transfer)))
+(allow hal_memtrack_server hal_memtrack_client (binder (transfer)))
+(allow hal_memtrack_client hal_memtrack_server (fd (use)))
+(allow hal_memtrack_client hal_memtrack_hwservice (hwservice_manager (find)))
+(allow hal_memtrack_server hal_memtrack_hwservice (hwservice_manager (add find)))
+(allow hal_memtrack_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_memtrack.te
+
+(neverallow base_typeattr_650 hal_memtrack_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_memtrack.te
+
+(neverallow base_typeattr_651 hal_memtrack_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_memtrack_client hal_memtrack_service (service_manager (find)))
+(allow hal_memtrack_server hal_memtrack_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_memtrack.te
+
+(neverallow base_typeattr_650 hal_memtrack_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_memtrack.te
+
+(neverallow base_typeattr_652 hal_memtrack_service (service_manager (find)))
+;;* lme
+
+(allow hal_memtrack_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_memtrack_server (binder (transfer)))
+(allow hal_memtrack_server servicemanager (fd (use)))
+(allow hal_neuralnetworks_client hal_neuralnetworks_server (binder (call transfer)))
+(allow hal_neuralnetworks_server hal_neuralnetworks_client (binder (transfer)))
+(allow hal_neuralnetworks_client hal_neuralnetworks_server (fd (use)))
+(allow hal_neuralnetworks_server hal_neuralnetworks_client (binder (call transfer)))
+(allow hal_neuralnetworks_client hal_neuralnetworks_server (binder (transfer)))
+(allow hal_neuralnetworks_server hal_neuralnetworks_client (fd (use)))
+(allow hal_neuralnetworks_client hal_neuralnetworks_hwservice (hwservice_manager (find)))
+(allow hal_neuralnetworks_server hal_neuralnetworks_hwservice (hwservice_manager (add find)))
+(allow hal_neuralnetworks_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_neuralnetworks.te
+
+(neverallow base_typeattr_653 hal_neuralnetworks_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_neuralnetworks.te
+
+(neverallow base_typeattr_654 hal_neuralnetworks_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_neuralnetworks hidl_memory_hwservice (hwservice_manager (find)))
+(allow hal_neuralnetworks hal_allocator (fd (use)))
+(allow hal_neuralnetworks hal_graphics_mapper_hwservice (hwservice_manager (find)))
+(allow hal_neuralnetworks hal_graphics_allocator (fd (use)))
+(allow hal_neuralnetworks gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_neuralnetworks gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_neuralnetworks_server app_data_file (file (read write getattr map)))
+(allow hal_neuralnetworks_server privapp_data_file (file (read write getattr map)))
+(allow hal_neuralnetworks_server shell_data_file (file (read write getattr map)))
+(allow hal_neuralnetworks_server ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_neuralnetworks_server storage_file (file (read getattr map)))
+(allow hal_neuralnetworks_server apk_data_file (file (read getattr map)))
+(allow hal_neuralnetworks_client nnapi_ext_deny_product_prop (file (read getattr map open)))
+(allow hal_neuralnetworks_client device_config_nnapi_native_prop (file (read getattr map open)))
+;;* lmx 39 system/sepolicy/private/hal_neuralnetworks.te
+
+(neverallow base_typeattr_238 nnapi_ext_deny_product_prop (property_service (set)))
+;;* lme
+
+(allow hal_neuralnetworks_client hal_neuralnetworks_service (service_manager (find)))
+(allow hal_neuralnetworks_server hal_neuralnetworks_service (service_manager (add find)))
+;;* lmx 42 system/sepolicy/private/hal_neuralnetworks.te
+
+(neverallow base_typeattr_653 hal_neuralnetworks_service (service_manager (add)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/hal_neuralnetworks.te
+
+(neverallow base_typeattr_655 hal_neuralnetworks_service (service_manager (find)))
+;;* lme
+
+(allow hal_neuralnetworks_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_neuralnetworks_server (binder (transfer)))
+(allow hal_neuralnetworks_server servicemanager (fd (use)))
+(allow hal_neuralnetworks_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_neuralnetworks_server (binder (call transfer)))
+(allow servicemanager hal_neuralnetworks_server (dir (search)))
+(allow servicemanager hal_neuralnetworks_server (file (read open)))
+(allow servicemanager hal_neuralnetworks_server (process (getattr)))
+(allow hal_neuralnetworks_server dumpstate (fifo_file (write)))
+;;* lmx 17 system/sepolicy/private/hal_neverallows.te
+
+(neverallow base_typeattr_656 self (capability (net_admin net_raw)))
+(neverallow base_typeattr_656 self (cap_userns (net_admin net_raw)))
+;;* lme
+
+;;* lmx 40 system/sepolicy/private/hal_neverallows.te
+
+(neverallow base_typeattr_657 domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow base_typeattr_657 domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 57 system/sepolicy/private/hal_neverallows.te
+
+(neverallow base_typeattr_658 domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/hal_neverallows.te
+
+(neverallow hal_uwb_vendor_server self (capability (net_raw)))
+(neverallow hal_uwb_vendor_server self (cap_userns (net_raw)))
+;;* lme
+
+;;* lmx 65 system/sepolicy/private/hal_neverallows.te
+
+(neverallow hal_uwb_vendor_server domain (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_readpriv nlmsg_getneigh)))
+(neverallow hal_uwb_vendor_server domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow hal_uwb_vendor_server domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow hal_uwb_vendor_server domain (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow hal_uwb_vendor_server domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow hal_uwb_vendor_server domain (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow hal_uwb_vendor_server domain (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 98 system/sepolicy/private/hal_neverallows.te
+
+(neverallow base_typeattr_659 base_typeattr_660 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 100 system/sepolicy/private/hal_neverallows.te
+
+(neverallow base_typeattr_238 halserverdomain (process (transition)))
+;;* lme
+
+;;* lmx 104 system/sepolicy/private/hal_neverallows.te
+
+(neverallow base_typeattr_239 halserverdomain (process (dyntransition)))
+;;* lme
+
+(allow hal_nfc_client hal_nfc_server (binder (call transfer)))
+(allow hal_nfc_server hal_nfc_client (binder (transfer)))
+(allow hal_nfc_client hal_nfc_server (fd (use)))
+(allow hal_nfc_server hal_nfc_client (binder (call transfer)))
+(allow hal_nfc_client hal_nfc_server (binder (transfer)))
+(allow hal_nfc_server hal_nfc_client (fd (use)))
+(allow hal_nfc_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_nfc_server (binder (transfer)))
+(allow hal_nfc_server servicemanager (fd (use)))
+(allow hal_nfc_client hal_nfc_hwservice (hwservice_manager (find)))
+(allow hal_nfc_server hal_nfc_hwservice (hwservice_manager (add find)))
+(allow hal_nfc_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/hal_nfc.te
+
+(neverallow base_typeattr_661 hal_nfc_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_nfc.te
+
+(neverallow base_typeattr_662 hal_nfc_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_nfc_client hal_nfc_service (service_manager (find)))
+(allow hal_nfc_server hal_nfc_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_nfc.te
+
+(neverallow base_typeattr_661 hal_nfc_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_nfc.te
+
+(neverallow base_typeattr_663 hal_nfc_service (service_manager (find)))
+;;* lme
+
+(allow hal_nfc property_socket (sock_file (write)))
+(allow hal_nfc init (unix_stream_socket (connectto)))
+(allow hal_nfc nfc_prop (property_service (set)))
+(allow hal_nfc nfc_prop (file (read getattr map open)))
+(allow hal_nfc nfc_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_nlinterceptor_client hal_nlinterceptor_server (binder (call transfer)))
+(allow hal_nlinterceptor_server hal_nlinterceptor_client (binder (transfer)))
+(allow hal_nlinterceptor_client hal_nlinterceptor_server (fd (use)))
+(allow hal_nlinterceptor_client hal_nlinterceptor_service (service_manager (find)))
+(allow hal_nlinterceptor_server hal_nlinterceptor_service (service_manager (add find)))
+;;* lmx 3 system/sepolicy/private/hal_nlinterceptor.te
+
+(neverallow base_typeattr_664 hal_nlinterceptor_service (service_manager (add)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/hal_nlinterceptor.te
+
+(neverallow base_typeattr_665 hal_nlinterceptor_service (service_manager (find)))
+;;* lme
+
+(allow hal_nlinterceptor servicemanager (binder (call transfer)))
+(allow servicemanager hal_nlinterceptor (binder (transfer)))
+(allow hal_nlinterceptor servicemanager (fd (use)))
+(allow hal_nlinterceptor self (capability (net_admin)))
+(allow hal_nlinterceptor self (cap_userns (net_admin)))
+(allow hal_nlinterceptor self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_nlinterceptor self (netlink_route_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_write nlmsg_readpriv)))
+(allow hal_oemlock_client hal_oemlock_server (binder (call transfer)))
+(allow hal_oemlock_server hal_oemlock_client (binder (transfer)))
+(allow hal_oemlock_client hal_oemlock_server (fd (use)))
+(allow hal_oemlock_client hal_oemlock_hwservice (hwservice_manager (find)))
+(allow hal_oemlock_server hal_oemlock_hwservice (hwservice_manager (add find)))
+(allow hal_oemlock_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_oemlock.te
+
+(neverallow base_typeattr_666 hal_oemlock_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_oemlock.te
+
+(neverallow base_typeattr_667 hal_oemlock_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_oemlock_client hal_oemlock_service (service_manager (find)))
+(allow hal_oemlock_server hal_oemlock_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_oemlock.te
+
+(neverallow base_typeattr_666 hal_oemlock_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_oemlock.te
+
+(neverallow base_typeattr_668 hal_oemlock_service (service_manager (find)))
+;;* lme
+
+(allow hal_oemlock_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_oemlock_server (binder (transfer)))
+(allow hal_oemlock_server servicemanager (fd (use)))
+(allow hal_omx_server binderservicedomain (binder (call transfer)))
+(allow binderservicedomain hal_omx_server (binder (transfer)))
+(allow hal_omx_server binderservicedomain (fd (use)))
+(allow hal_omx_server base_typeattr_564 (binder (call transfer)))
+(allow base_typeattr_564 hal_omx_server (binder (transfer)))
+(allow hal_omx_server base_typeattr_564 (fd (use)))
+(allow hal_omx_server hal_graphics_composer (fd (use)))
+(allow hal_omx_server ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_omx_server hal_camera (fd (use)))
+(allow hal_omx_server anr_data_file (file (append)))
+(allow hal_omx_server dumpstate (fd (use)))
+(allow hal_omx_server incidentd (fd (use)))
+(allow hal_omx_server dumpstate (fifo_file (write append)))
+(allow hal_omx_server incidentd (fifo_file (write append)))
+(allow hal_omx_server system_server (fifo_file (write append)))
+(allow hal_omx_server tombstoned (unix_stream_socket (connectto)))
+(allow hal_omx_server tombstoned (fd (use)))
+(allow hal_omx_server tombstoned_crash_socket (sock_file (write)))
+(allow hal_omx_server tombstone_data_file (file (append)))
+(allow hal_omx_server bufferhubd (fd (use)))
+(allow hal_omx_client hal_omx_hwservice (hwservice_manager (find)))
+(allow hal_omx_server hal_omx_hwservice (hwservice_manager (add find)))
+(allow hal_omx_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 21 system/sepolicy/private/hal_omx.te
+
+(neverallow base_typeattr_669 hal_omx_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 21 system/sepolicy/private/hal_omx.te
+
+(neverallow base_typeattr_670 hal_omx_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_omx_client hidl_token_hwservice (hwservice_manager (find)))
+(allow hal_omx_client media_variant_prop (file (read getattr map open)))
+(allow hal_omx_server media_variant_prop (file (read getattr map open)))
+(allow hal_omx_client hal_omx_server (binder (call transfer)))
+(allow hal_omx_server hal_omx_client (binder (transfer)))
+(allow hal_omx_client hal_omx_server (fd (use)))
+(allow hal_omx_server hal_omx_client (binder (call transfer)))
+(allow hal_omx_client hal_omx_server (binder (transfer)))
+(allow hal_omx_server hal_omx_client (fd (use)))
+;;* lmx 37 system/sepolicy/private/hal_omx.te
+
+(neverallow hal_omx_server fs_type (file (execute_no_trans)))
+(neverallow hal_omx_server file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/hal_omx.te
+
+(neverallow hal_omx_server domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow hal_omx_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/hal_omx.te
+
+(neverallow hal_omx_server domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+(allow hal_power_client hal_power_server (binder (call transfer)))
+(allow hal_power_server hal_power_client (binder (transfer)))
+(allow hal_power_client hal_power_server (fd (use)))
+(allow hal_power_server hal_power_client (binder (call transfer)))
+(allow hal_power_client hal_power_server (binder (transfer)))
+(allow hal_power_server hal_power_client (fd (use)))
+(allow hal_power_client hal_power_hwservice (hwservice_manager (find)))
+(allow hal_power_server hal_power_hwservice (hwservice_manager (add find)))
+(allow hal_power_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_power.te
+
+(neverallow base_typeattr_671 hal_power_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_power.te
+
+(neverallow base_typeattr_672 hal_power_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_power_client hal_power_service (service_manager (find)))
+(allow hal_power_server hal_power_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_power.te
+
+(neverallow base_typeattr_671 hal_power_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_power.te
+
+(neverallow base_typeattr_673 hal_power_service (service_manager (find)))
+;;* lme
+
+(allow hal_power_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_power_server (binder (transfer)))
+(allow hal_power_server servicemanager (fd (use)))
+(allow hal_power_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_power_client (binder (transfer)))
+(allow hal_power_client servicemanager (fd (use)))
+(allow hal_power_server property_socket (sock_file (write)))
+(allow hal_power_server init (unix_stream_socket (connectto)))
+(allow hal_power_server dalvik_dynamic_config_prop (property_service (set)))
+(allow hal_power_server dalvik_dynamic_config_prop (file (read getattr map open)))
+(allow hal_power_stats_client hal_power_stats_server (binder (call transfer)))
+(allow hal_power_stats_server hal_power_stats_client (binder (transfer)))
+(allow hal_power_stats_client hal_power_stats_server (fd (use)))
+(allow hal_power_stats_server hal_power_stats_client (binder (call transfer)))
+(allow hal_power_stats_client hal_power_stats_server (binder (transfer)))
+(allow hal_power_stats_server hal_power_stats_client (fd (use)))
+(allow hal_power_stats_client hal_power_stats_hwservice (hwservice_manager (find)))
+(allow hal_power_stats_server hal_power_stats_hwservice (hwservice_manager (add find)))
+(allow hal_power_stats_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_power_stats.te
+
+(neverallow base_typeattr_674 hal_power_stats_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_power_stats.te
+
+(neverallow base_typeattr_675 hal_power_stats_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_power_stats_client hal_power_stats_service (service_manager (find)))
+(allow hal_power_stats_server hal_power_stats_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_power_stats.te
+
+(neverallow base_typeattr_674 hal_power_stats_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_power_stats.te
+
+(neverallow base_typeattr_676 hal_power_stats_service (service_manager (find)))
+;;* lme
+
+(allow hal_power_stats_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_power_stats_server (binder (transfer)))
+(allow hal_power_stats_server servicemanager (fd (use)))
+(allow hal_power_stats_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_power_stats_client (binder (transfer)))
+(allow hal_power_stats_client servicemanager (fd (use)))
+(allow hal_rebootescrow_client hal_rebootescrow_server (binder (call transfer)))
+(allow hal_rebootescrow_server hal_rebootescrow_client (binder (transfer)))
+(allow hal_rebootescrow_client hal_rebootescrow_server (fd (use)))
+(allow hal_rebootescrow_client hal_rebootescrow_service (service_manager (find)))
+(allow hal_rebootescrow_server hal_rebootescrow_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_rebootescrow.te
+
+(neverallow base_typeattr_677 hal_rebootescrow_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_rebootescrow.te
+
+(neverallow base_typeattr_678 hal_rebootescrow_service (service_manager (find)))
+;;* lme
+
+(allow hal_rebootescrow_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_rebootescrow_server (binder (call transfer)))
+(allow servicemanager hal_rebootescrow_server (dir (search)))
+(allow servicemanager hal_rebootescrow_server (file (read open)))
+(allow servicemanager hal_rebootescrow_server (process (getattr)))
+(allow hal_remoteaccess_client hal_remoteaccess_server (binder (call transfer)))
+(allow hal_remoteaccess_server hal_remoteaccess_client (binder (transfer)))
+(allow hal_remoteaccess_client hal_remoteaccess_server (fd (use)))
+(allow hal_remoteaccess_server hal_remoteaccess_client (binder (call transfer)))
+(allow hal_remoteaccess_client hal_remoteaccess_server (binder (transfer)))
+(allow hal_remoteaccess_server hal_remoteaccess_client (fd (use)))
+(allow hal_remoteaccess_client hal_remoteaccess_service (service_manager (find)))
+(allow hal_remoteaccess_server hal_remoteaccess_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_remoteaccess.te
+
+(neverallow base_typeattr_679 hal_remoteaccess_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_remoteaccess.te
+
+(neverallow base_typeattr_680 hal_remoteaccess_service (service_manager (find)))
+;;* lme
+
+(allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server (binder (call transfer)))
+(allow hal_remotelyprovisionedcomponent_avf_server hal_remotelyprovisionedcomponent_avf_client (binder (transfer)))
+(allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server (fd (use)))
+(allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_service (service_manager (find)))
+(allow hal_remotelyprovisionedcomponent_avf_server hal_remotelyprovisionedcomponent_avf_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_remotelyprovisionedcomponent_avf.te
+
+(neverallow base_typeattr_681 hal_remotelyprovisionedcomponent_avf_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_remotelyprovisionedcomponent_avf.te
+
+(neverallow base_typeattr_682 hal_remotelyprovisionedcomponent_avf_service (service_manager (find)))
+;;* lme
+
+(allow hal_remotelyprovisionedcomponent_avf_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_remotelyprovisionedcomponent_avf_server (binder (call transfer)))
+(allow servicemanager hal_remotelyprovisionedcomponent_avf_server (dir (search)))
+(allow servicemanager hal_remotelyprovisionedcomponent_avf_server (file (read open)))
+(allow servicemanager hal_remotelyprovisionedcomponent_avf_server (process (getattr)))
+(allow hal_secretkeeper_client hal_secretkeeper_server (binder (call transfer)))
+(allow hal_secretkeeper_server hal_secretkeeper_client (binder (transfer)))
+(allow hal_secretkeeper_client hal_secretkeeper_server (fd (use)))
+(allow hal_secretkeeper_client hal_secretkeeper_service (service_manager (find)))
+(allow hal_secretkeeper_server hal_secretkeeper_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_secretkeeper.te
+
+(neverallow base_typeattr_683 hal_secretkeeper_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_secretkeeper.te
+
+(neverallow base_typeattr_684 hal_secretkeeper_service (service_manager (find)))
+;;* lme
+
+(allow hal_secretkeeper_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_secretkeeper_server (binder (call transfer)))
+(allow servicemanager hal_secretkeeper_server (dir (search)))
+(allow servicemanager hal_secretkeeper_server (file (read open)))
+(allow servicemanager hal_secretkeeper_server (process (getattr)))
+(allow hal_secretkeeper_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_secretkeeper_client (binder (call transfer)))
+(allow servicemanager hal_secretkeeper_client (dir (search)))
+(allow servicemanager hal_secretkeeper_client (file (read open)))
+(allow servicemanager hal_secretkeeper_client (process (getattr)))
+(allow hal_secretkeeper_server tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_secure_element_client hal_secure_element_server (binder (call transfer)))
+(allow hal_secure_element_server hal_secure_element_client (binder (transfer)))
+(allow hal_secure_element_client hal_secure_element_server (fd (use)))
+(allow hal_secure_element_server hal_secure_element_client (binder (call transfer)))
+(allow hal_secure_element_client hal_secure_element_server (binder (transfer)))
+(allow hal_secure_element_server hal_secure_element_client (fd (use)))
+(allow hal_secure_element_client hal_secure_element_hwservice (hwservice_manager (find)))
+(allow hal_secure_element_server hal_secure_element_hwservice (hwservice_manager (add find)))
+(allow hal_secure_element_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_secure_element.te
+
+(neverallow base_typeattr_685 hal_secure_element_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_secure_element.te
+
+(neverallow base_typeattr_686 hal_secure_element_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_secure_element_client hal_secure_element_service (service_manager (find)))
+(allow hal_secure_element_server hal_secure_element_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_secure_element.te
+
+(neverallow base_typeattr_685 hal_secure_element_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_secure_element.te
+
+(neverallow base_typeattr_687 hal_secure_element_service (service_manager (find)))
+;;* lme
+
+(allow hal_secure_element_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_secure_element_server (binder (call transfer)))
+(allow servicemanager hal_secure_element_server (dir (search)))
+(allow servicemanager hal_secure_element_server (file (read open)))
+(allow servicemanager hal_secure_element_server (process (getattr)))
+(allow hal_secure_element_client hal_secure_element_service (service_manager (find)))
+(allow hal_sensors_client hal_sensors_server (binder (call transfer)))
+(allow hal_sensors_server hal_sensors_client (binder (transfer)))
+(allow hal_sensors_client hal_sensors_server (fd (use)))
+(allow hal_sensors_client hal_sensors_hwservice (hwservice_manager (find)))
+(allow hal_sensors_server hal_sensors_hwservice (hwservice_manager (add find)))
+(allow hal_sensors_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_sensors.te
+
+(neverallow base_typeattr_688 hal_sensors_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_sensors.te
+
+(neverallow base_typeattr_689 hal_sensors_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_sensors base_typeattr_564 (fd (use)))
+(allow hal_sensors hal_allocator (fd (use)))
+(allow hal_sensors self (capability (sys_nice)))
+(allow hal_sensors self (cap_userns (sys_nice)))
+(allow hal_sensors_server hal_sensors_service (service_manager (add find)))
+;;* lmx 16 system/sepolicy/private/hal_sensors.te
+
+(neverallow base_typeattr_688 hal_sensors_service (service_manager (add)))
+;;* lme
+
+(allow hal_sensors_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_sensors_server (binder (transfer)))
+(allow hal_sensors_server servicemanager (fd (use)))
+(allow hal_sensors_client hal_sensors_service (service_manager (find)))
+(allow hal_telephony_client hal_telephony_server (binder (call transfer)))
+(allow hal_telephony_server hal_telephony_client (binder (transfer)))
+(allow hal_telephony_client hal_telephony_server (fd (use)))
+(allow hal_telephony_server hal_telephony_client (binder (call transfer)))
+(allow hal_telephony_client hal_telephony_server (binder (transfer)))
+(allow hal_telephony_server hal_telephony_client (fd (use)))
+(allow hal_telephony_client hal_telephony_hwservice (hwservice_manager (find)))
+(allow hal_telephony_server hal_telephony_hwservice (hwservice_manager (add find)))
+(allow hal_telephony_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_telephony.te
+
+(neverallow base_typeattr_690 hal_telephony_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_telephony.te
+
+(neverallow base_typeattr_691 hal_telephony_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_telephony_client hal_radio_service (service_manager (find)))
+(allow hal_telephony_server hal_radio_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_telephony.te
+
+(neverallow base_typeattr_690 hal_radio_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_telephony.te
+
+(neverallow base_typeattr_692 hal_radio_service (service_manager (find)))
+;;* lme
+
+(allowx hal_telephony_server self (ioctl udp_socket (0x6900 0x6902)))
+(allowx hal_telephony_server self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx hal_telephony_server self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow hal_telephony_server self (netlink_route_socket (nlmsg_write)))
+(allow hal_telephony_server self (capability (setgid setuid setpcap net_admin net_raw)))
+(allow hal_telephony_server self (cap_userns (setgid setuid setpcap net_admin net_raw)))
+(allow hal_telephony_server cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow hal_telephony_server cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow hal_telephony_server cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server radio_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_telephony_server radio_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server efs_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow hal_telephony_server efs_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow hal_telephony_server vendor_shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow hal_telephony_server bluetooth_efs_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server bluetooth_efs_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_telephony_server telephony_config_prop (file (read getattr map open)))
+(allow hal_telephony_server property_socket (sock_file (write)))
+(allow hal_telephony_server init (unix_stream_socket (connectto)))
+(allow hal_telephony_server radio_control_prop (property_service (set)))
+(allow hal_telephony_server radio_control_prop (file (read getattr map open)))
+(allow hal_telephony_server property_socket (sock_file (write)))
+(allow hal_telephony_server init (unix_stream_socket (connectto)))
+(allow hal_telephony_server radio_prop (property_service (set)))
+(allow hal_telephony_server radio_prop (file (read getattr map open)))
+(allow hal_telephony_server property_socket (sock_file (write)))
+(allow hal_telephony_server init (unix_stream_socket (connectto)))
+(allow hal_telephony_server telephony_status_prop (property_service (set)))
+(allow hal_telephony_server telephony_status_prop (file (read getattr map open)))
+(allow hal_telephony_server tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_telephony_server self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_telephony_server self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_telephony_server self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_telephony_server sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_telephony_server self (capability2 (block_suspend)))
+(allow hal_telephony_server self (cap2_userns (block_suspend)))
+(allow hal_telephony_server system_suspend_server (binder (call transfer)))
+(allow system_suspend_server hal_telephony_server (binder (transfer)))
+(allow hal_telephony_server system_suspend_server (fd (use)))
+(allow hal_telephony_server system_suspend_hwservice (hwservice_manager (find)))
+(allow hal_telephony_server hwservicemanager (binder (call transfer)))
+(allow hwservicemanager hal_telephony_server (binder (call transfer)))
+(allow hwservicemanager hal_telephony_server (dir (search)))
+(allow hwservicemanager hal_telephony_server (file (read map open)))
+(allow hwservicemanager hal_telephony_server (process (getattr)))
+(allow hal_telephony_server hwservicemanager_prop (file (read getattr map open)))
+(allow hal_telephony_server hidl_manager_hwservice (hwservice_manager (find)))
+(allow hal_telephony_server hal_system_suspend_service (service_manager (find)))
+(allow hal_telephony_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_telephony_server (binder (call transfer)))
+(allow servicemanager hal_telephony_server (dir (search)))
+(allow servicemanager hal_telephony_server (file (read open)))
+(allow servicemanager hal_telephony_server (process (getattr)))
+(allow hal_telephony_server proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_telephony_server proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_telephony_server sysfs_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server sysfs_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_telephony_server self (socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_telephony_server hal_telephony_server (binder (call transfer)))
+(allow hal_telephony_server hal_telephony_server (binder (transfer)))
+(allow hal_telephony_server hal_telephony_server (fd (use)))
+(allow hal_tetheroffload_client hal_tetheroffload_server (binder (call transfer)))
+(allow hal_tetheroffload_server hal_tetheroffload_client (binder (transfer)))
+(allow hal_tetheroffload_client hal_tetheroffload_server (fd (use)))
+(allow hal_tetheroffload_server hal_tetheroffload_client (binder (call transfer)))
+(allow hal_tetheroffload_client hal_tetheroffload_server (binder (transfer)))
+(allow hal_tetheroffload_server hal_tetheroffload_client (fd (use)))
+(allow hal_tetheroffload_client hal_tetheroffload_hwservice (hwservice_manager (find)))
+(allow hal_tetheroffload_server hal_tetheroffload_hwservice (hwservice_manager (add find)))
+(allow hal_tetheroffload_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_tetheroffload.te
+
+(neverallow base_typeattr_693 hal_tetheroffload_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_tetheroffload.te
+
+(neverallow base_typeattr_694 hal_tetheroffload_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_tetheroffload_client hal_tetheroffload_service (service_manager (find)))
+(allow hal_tetheroffload_server hal_tetheroffload_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_tetheroffload.te
+
+(neverallow base_typeattr_693 hal_tetheroffload_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_tetheroffload.te
+
+(neverallow base_typeattr_695 hal_tetheroffload_service (service_manager (find)))
+;;* lme
+
+(allow hal_tetheroffload_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_tetheroffload_server (binder (call transfer)))
+(allow servicemanager hal_tetheroffload_server (dir (search)))
+(allow servicemanager hal_tetheroffload_server (file (read open)))
+(allow servicemanager hal_tetheroffload_server (process (getattr)))
+(allow hal_tetheroffload_server hal_tetheroffload_client (netlink_netfilter_socket (read write getattr setopt)))
+(allow hal_thermal_client hal_thermal_server (binder (call transfer)))
+(allow hal_thermal_server hal_thermal_client (binder (transfer)))
+(allow hal_thermal_client hal_thermal_server (fd (use)))
+(allow hal_thermal_server hal_thermal_client (binder (call transfer)))
+(allow hal_thermal_client hal_thermal_server (binder (transfer)))
+(allow hal_thermal_server hal_thermal_client (fd (use)))
+(allow hal_thermal_client hal_thermal_hwservice (hwservice_manager (find)))
+(allow hal_thermal_server hal_thermal_hwservice (hwservice_manager (add find)))
+(allow hal_thermal_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_thermal.te
+
+(neverallow base_typeattr_696 hal_thermal_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_thermal.te
+
+(neverallow base_typeattr_697 hal_thermal_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_thermal_client hal_thermal_service (service_manager (find)))
+(allow hal_thermal_server hal_thermal_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_thermal.te
+
+(neverallow base_typeattr_696 hal_thermal_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_thermal.te
+
+(neverallow base_typeattr_698 hal_thermal_service (service_manager (find)))
+;;* lme
+
+(allow hal_thermal_server hal_thermal_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/hal_thermal.te
+
+(neverallow base_typeattr_696 hal_thermal_service (service_manager (add)))
+;;* lme
+
+(allow hal_thermal_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_thermal_server (binder (transfer)))
+(allow hal_thermal_server servicemanager (fd (use)))
+(allow hal_thermal_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_thermal_client (binder (transfer)))
+(allow hal_thermal_client servicemanager (fd (use)))
+(allow hal_threadnetwork_client hal_threadnetwork_server (binder (call transfer)))
+(allow hal_threadnetwork_server hal_threadnetwork_client (binder (transfer)))
+(allow hal_threadnetwork_client hal_threadnetwork_server (fd (use)))
+(allow hal_threadnetwork_server hal_threadnetwork_client (binder (call transfer)))
+(allow hal_threadnetwork_client hal_threadnetwork_server (binder (transfer)))
+(allow hal_threadnetwork_server hal_threadnetwork_client (fd (use)))
+(allow hal_threadnetwork_client hal_threadnetwork_service (service_manager (find)))
+(allow hal_threadnetwork_server hal_threadnetwork_service (service_manager (add find)))
+;;* lmx 4 system/sepolicy/private/hal_threadnetwork.te
+
+(neverallow base_typeattr_699 hal_threadnetwork_service (service_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_threadnetwork.te
+
+(neverallow base_typeattr_700 hal_threadnetwork_service (service_manager (find)))
+;;* lme
+
+(allow hal_threadnetwork_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_threadnetwork_server (binder (transfer)))
+(allow hal_threadnetwork_server servicemanager (fd (use)))
+(allow hal_threadnetwork_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_threadnetwork_client (binder (transfer)))
+(allow hal_threadnetwork_client servicemanager (fd (use)))
+(allow hal_tv_cec_client hal_tv_cec_server (binder (call transfer)))
+(allow hal_tv_cec_server hal_tv_cec_client (binder (transfer)))
+(allow hal_tv_cec_client hal_tv_cec_server (fd (use)))
+(allow hal_tv_cec_server hal_tv_cec_client (binder (call transfer)))
+(allow hal_tv_cec_client hal_tv_cec_server (binder (transfer)))
+(allow hal_tv_cec_server hal_tv_cec_client (fd (use)))
+(allow hal_tv_cec_client hal_tv_cec_hwservice (hwservice_manager (find)))
+(allow hal_tv_cec_server hal_tv_cec_hwservice (hwservice_manager (add find)))
+(allow hal_tv_cec_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_tv_cec.te
+
+(neverallow base_typeattr_701 hal_tv_cec_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_tv_cec.te
+
+(neverallow base_typeattr_702 hal_tv_cec_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server (binder (call transfer)))
+(allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_client (binder (transfer)))
+(allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server (fd (use)))
+(allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_client (binder (call transfer)))
+(allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server (binder (transfer)))
+(allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_client (fd (use)))
+(allow hal_tv_hdmi_cec_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_cec_client (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_cec_client (dir (search)))
+(allow servicemanager hal_tv_hdmi_cec_client (file (read open)))
+(allow servicemanager hal_tv_hdmi_cec_client (process (getattr)))
+(allow hal_tv_hdmi_cec_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_cec_server (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_cec_server (dir (search)))
+(allow servicemanager hal_tv_hdmi_cec_server (file (read open)))
+(allow servicemanager hal_tv_hdmi_cec_server (process (getattr)))
+(allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_service (service_manager (find)))
+(allow hal_tv_hdmi_cec_server hal_tv_hdmi_cec_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_cec.te
+
+(neverallow base_typeattr_703 hal_tv_hdmi_cec_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_cec.te
+
+(neverallow base_typeattr_704 hal_tv_hdmi_cec_service (service_manager (find)))
+;;* lme
+
+(allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server (binder (call transfer)))
+(allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_client (binder (transfer)))
+(allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server (fd (use)))
+(allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_client (binder (call transfer)))
+(allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server (binder (transfer)))
+(allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_client (fd (use)))
+(allow hal_tv_hdmi_connection_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_connection_client (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_connection_client (dir (search)))
+(allow servicemanager hal_tv_hdmi_connection_client (file (read open)))
+(allow servicemanager hal_tv_hdmi_connection_client (process (getattr)))
+(allow hal_tv_hdmi_connection_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_connection_server (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_connection_server (dir (search)))
+(allow servicemanager hal_tv_hdmi_connection_server (file (read open)))
+(allow servicemanager hal_tv_hdmi_connection_server (process (getattr)))
+(allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_service (service_manager (find)))
+(allow hal_tv_hdmi_connection_server hal_tv_hdmi_connection_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_connection.te
+
+(neverallow base_typeattr_705 hal_tv_hdmi_connection_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_connection.te
+
+(neverallow base_typeattr_706 hal_tv_hdmi_connection_service (service_manager (find)))
+;;* lme
+
+(allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server (binder (call transfer)))
+(allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_client (binder (transfer)))
+(allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server (fd (use)))
+(allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_client (binder (call transfer)))
+(allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server (binder (transfer)))
+(allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_client (fd (use)))
+(allow hal_tv_hdmi_earc_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_earc_client (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_earc_client (dir (search)))
+(allow servicemanager hal_tv_hdmi_earc_client (file (read open)))
+(allow servicemanager hal_tv_hdmi_earc_client (process (getattr)))
+(allow hal_tv_hdmi_earc_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_earc_server (binder (call transfer)))
+(allow servicemanager hal_tv_hdmi_earc_server (dir (search)))
+(allow servicemanager hal_tv_hdmi_earc_server (file (read open)))
+(allow servicemanager hal_tv_hdmi_earc_server (process (getattr)))
+(allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_service (service_manager (find)))
+(allow hal_tv_hdmi_earc_server hal_tv_hdmi_earc_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_earc.te
+
+(neverallow base_typeattr_707 hal_tv_hdmi_earc_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_earc.te
+
+(neverallow base_typeattr_708 hal_tv_hdmi_earc_service (service_manager (find)))
+;;* lme
+
+(allow hal_tv_input_client hal_tv_input_server (binder (call transfer)))
+(allow hal_tv_input_server hal_tv_input_client (binder (transfer)))
+(allow hal_tv_input_client hal_tv_input_server (fd (use)))
+(allow hal_tv_input_server hal_tv_input_client (binder (call transfer)))
+(allow hal_tv_input_client hal_tv_input_server (binder (transfer)))
+(allow hal_tv_input_server hal_tv_input_client (fd (use)))
+(allow hal_tv_input_client hal_tv_input_hwservice (hwservice_manager (find)))
+(allow hal_tv_input_server hal_tv_input_hwservice (hwservice_manager (add find)))
+(allow hal_tv_input_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_tv_input.te
+
+(neverallow base_typeattr_709 hal_tv_input_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_tv_input.te
+
+(neverallow base_typeattr_710 hal_tv_input_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_tv_input_client hal_tv_input_service (service_manager (find)))
+(allow hal_tv_input_server hal_tv_input_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_tv_input.te
+
+(neverallow base_typeattr_709 hal_tv_input_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_tv_input.te
+
+(neverallow base_typeattr_711 hal_tv_input_service (service_manager (find)))
+;;* lme
+
+(allow hal_tv_input_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_input_server (binder (transfer)))
+(allow hal_tv_input_server servicemanager (fd (use)))
+(allow hal_tv_input_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_input_client (binder (transfer)))
+(allow hal_tv_input_client servicemanager (fd (use)))
+(allow hal_tv_tuner_client hal_tv_tuner_server (binder (call transfer)))
+(allow hal_tv_tuner_server hal_tv_tuner_client (binder (transfer)))
+(allow hal_tv_tuner_client hal_tv_tuner_server (fd (use)))
+(allow hal_tv_tuner_server hal_tv_tuner_client (binder (call transfer)))
+(allow hal_tv_tuner_client hal_tv_tuner_server (binder (transfer)))
+(allow hal_tv_tuner_server hal_tv_tuner_client (fd (use)))
+(allow hal_tv_tuner_client hal_tv_tuner_hwservice (hwservice_manager (find)))
+(allow hal_tv_tuner_server hal_tv_tuner_hwservice (hwservice_manager (add find)))
+(allow hal_tv_tuner_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_tv_tuner.te
+
+(neverallow base_typeattr_712 hal_tv_tuner_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_tv_tuner.te
+
+(neverallow base_typeattr_713 hal_tv_tuner_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_tv_tuner_client hal_tv_tuner_service (service_manager (find)))
+(allow hal_tv_tuner_server hal_tv_tuner_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_tv_tuner.te
+
+(neverallow base_typeattr_712 hal_tv_tuner_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_tv_tuner.te
+
+(neverallow base_typeattr_714 hal_tv_tuner_service (service_manager (find)))
+;;* lme
+
+(allow hal_tv_tuner_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_tuner_server (binder (transfer)))
+(allow hal_tv_tuner_server servicemanager (fd (use)))
+(allow hal_tv_tuner_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_tv_tuner_client (binder (transfer)))
+(allow hal_tv_tuner_client servicemanager (fd (use)))
+(allow hal_usb_client hal_usb_server (binder (call transfer)))
+(allow hal_usb_server hal_usb_client (binder (transfer)))
+(allow hal_usb_client hal_usb_server (fd (use)))
+(allow hal_usb_server hal_usb_client (binder (call transfer)))
+(allow hal_usb_client hal_usb_server (binder (transfer)))
+(allow hal_usb_server hal_usb_client (fd (use)))
+(allow hal_usb_client hal_usb_service (service_manager (find)))
+(allow hal_usb_server hal_usb_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_usb.te
+
+(neverallow base_typeattr_715 hal_usb_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_usb.te
+
+(neverallow base_typeattr_716 hal_usb_service (service_manager (find)))
+;;* lme
+
+(allow hal_usb_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_usb_server (binder (transfer)))
+(allow hal_usb_server servicemanager (fd (use)))
+(allow hal_usb_client hal_usb_hwservice (hwservice_manager (find)))
+(allow hal_usb_server hal_usb_hwservice (hwservice_manager (add find)))
+(allow hal_usb_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 8 system/sepolicy/private/hal_usb.te
+
+(neverallow base_typeattr_715 hal_usb_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_usb.te
+
+(neverallow base_typeattr_717 hal_usb_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_usb self (netlink_kobject_uevent_socket (create)))
+(allow hal_usb self (netlink_kobject_uevent_socket (setopt)))
+(allow hal_usb self (netlink_kobject_uevent_socket (getopt)))
+(allow hal_usb self (netlink_kobject_uevent_socket (bind)))
+(allow hal_usb self (netlink_kobject_uevent_socket (read)))
+(allow hal_usb sysfs (dir (open)))
+(allow hal_usb sysfs (dir (read)))
+(allow hal_usb sysfs (file (read)))
+(allow hal_usb sysfs (file (open)))
+(allow hal_usb sysfs (file (write)))
+(allow hal_usb sysfs (file (getattr)))
+(allow hal_usb_gadget_client hal_usb_gadget_server (binder (call transfer)))
+(allow hal_usb_gadget_server hal_usb_gadget_client (binder (transfer)))
+(allow hal_usb_gadget_client hal_usb_gadget_server (fd (use)))
+(allow hal_usb_gadget_server hal_usb_gadget_client (binder (call transfer)))
+(allow hal_usb_gadget_client hal_usb_gadget_server (binder (transfer)))
+(allow hal_usb_gadget_server hal_usb_gadget_client (fd (use)))
+(allow hal_usb_gadget_client hal_usb_gadget_service (service_manager (find)))
+(allow hal_usb_gadget_server hal_usb_gadget_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_usb_gadget.te
+
+(neverallow base_typeattr_718 hal_usb_gadget_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_usb_gadget.te
+
+(neverallow base_typeattr_719 hal_usb_gadget_service (service_manager (find)))
+;;* lme
+
+(allow hal_usb_gadget_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_usb_gadget_server (binder (transfer)))
+(allow hal_usb_gadget_server servicemanager (fd (use)))
+(allow hal_usb_gadget_client hal_usb_gadget_hwservice (hwservice_manager (find)))
+(allow hal_usb_gadget_server hal_usb_gadget_hwservice (hwservice_manager (add find)))
+(allow hal_usb_gadget_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 8 system/sepolicy/private/hal_usb_gadget.te
+
+(neverallow base_typeattr_718 hal_usb_gadget_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/hal_usb_gadget.te
+
+(neverallow base_typeattr_720 hal_usb_gadget_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_usb_gadget_server configfs (lnk_file (read create unlink)))
+(allow hal_usb_gadget_server configfs (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow hal_usb_gadget_server configfs (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow hal_usb_gadget_server functionfs (dir (read search)))
+(allow hal_usb_gadget_server functionfs (file (read)))
+(allow hal_usb_gadget_server proc_interrupts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_usb_gadget_server usb_uvc_enabled_prop (file (read getattr map open)))
+(allow hal_uwb_client hal_uwb_server (binder (call transfer)))
+(allow hal_uwb_server hal_uwb_client (binder (transfer)))
+(allow hal_uwb_client hal_uwb_server (fd (use)))
+(allow hal_uwb_server hal_uwb_client (binder (call transfer)))
+(allow hal_uwb_client hal_uwb_server (binder (transfer)))
+(allow hal_uwb_server hal_uwb_client (fd (use)))
+(allow hal_uwb_client hal_uwb_service (service_manager (find)))
+(allow hal_uwb_server hal_uwb_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_uwb.te
+
+(neverallow base_typeattr_721 hal_uwb_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_uwb.te
+
+(neverallow base_typeattr_722 hal_uwb_service (service_manager (find)))
+;;* lme
+
+(allow hal_uwb_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_uwb_server (binder (transfer)))
+(allow hal_uwb_server servicemanager (fd (use)))
+(allow hal_uwb_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_uwb_client (binder (transfer)))
+(allow hal_uwb_client servicemanager (fd (use)))
+(allow hal_vehicle_client hal_vehicle_server (binder (call transfer)))
+(allow hal_vehicle_server hal_vehicle_client (binder (transfer)))
+(allow hal_vehicle_client hal_vehicle_server (fd (use)))
+(allow hal_vehicle_server hal_vehicle_client (binder (call transfer)))
+(allow hal_vehicle_client hal_vehicle_server (binder (transfer)))
+(allow hal_vehicle_server hal_vehicle_client (fd (use)))
+(allow hal_vehicle_client hal_vehicle_hwservice (hwservice_manager (find)))
+(allow hal_vehicle_server hal_vehicle_hwservice (hwservice_manager (add find)))
+(allow hal_vehicle_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/hal_vehicle.te
+
+(neverallow base_typeattr_723 hal_vehicle_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_vehicle.te
+
+(neverallow base_typeattr_724 hal_vehicle_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_vehicle_client hal_vehicle_service (service_manager (find)))
+(allow hal_vehicle_server hal_vehicle_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/hal_vehicle.te
+
+(neverallow base_typeattr_723 hal_vehicle_service (service_manager (add)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/hal_vehicle.te
+
+(neverallow base_typeattr_725 hal_vehicle_service (service_manager (find)))
+;;* lme
+
+(allow hal_vibrator_client hal_vibrator_server (binder (call transfer)))
+(allow hal_vibrator_server hal_vibrator_client (binder (transfer)))
+(allow hal_vibrator_client hal_vibrator_server (fd (use)))
+(allow hal_vibrator_server hal_vibrator_client (binder (call transfer)))
+(allow hal_vibrator_client hal_vibrator_server (binder (transfer)))
+(allow hal_vibrator_server hal_vibrator_client (fd (use)))
+(allow hal_vibrator_client hal_vibrator_hwservice (hwservice_manager (find)))
+(allow hal_vibrator_server hal_vibrator_hwservice (hwservice_manager (add find)))
+(allow hal_vibrator_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_vibrator.te
+
+(neverallow base_typeattr_726 hal_vibrator_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_vibrator.te
+
+(neverallow base_typeattr_727 hal_vibrator_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_vibrator_client hal_vibrator_service (service_manager (find)))
+(allow hal_vibrator_server hal_vibrator_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_vibrator.te
+
+(neverallow base_typeattr_726 hal_vibrator_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_vibrator.te
+
+(neverallow base_typeattr_728 hal_vibrator_service (service_manager (find)))
+;;* lme
+
+(allow hal_vibrator_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_vibrator_server (binder (transfer)))
+(allow hal_vibrator_server servicemanager (fd (use)))
+(allow hal_vibrator_server dumpstate (fifo_file (write)))
+(allow hal_vibrator sysfs_vibrator (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow hal_vibrator sysfs_vibrator (dir (search)))
+(allow hal_vibrator fwk_vibrator_control_service (service_manager (find)))
+(allow hal_vm_capabilities_client hal_vm_capabilities_server (binder (call transfer)))
+(allow hal_vm_capabilities_server hal_vm_capabilities_client (binder (transfer)))
+(allow hal_vm_capabilities_client hal_vm_capabilities_server (fd (use)))
+(allow hal_vm_capabilities_client hal_vm_capabilities_service (service_manager (find)))
+(allow hal_vm_capabilities_server hal_vm_capabilities_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_vm_capabilities.te
+
+(neverallow base_typeattr_729 hal_vm_capabilities_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_vm_capabilities.te
+
+(neverallow base_typeattr_730 hal_vm_capabilities_service (service_manager (find)))
+;;* lme
+
+(allow hal_vm_capabilities_client servicemanager (binder (call transfer)))
+(allow servicemanager hal_vm_capabilities_client (binder (call transfer)))
+(allow servicemanager hal_vm_capabilities_client (dir (search)))
+(allow servicemanager hal_vm_capabilities_client (file (read open)))
+(allow servicemanager hal_vm_capabilities_client (process (getattr)))
+(allow hal_vm_capabilities_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_vm_capabilities_server (binder (call transfer)))
+(allow servicemanager hal_vm_capabilities_server (dir (search)))
+(allow servicemanager hal_vm_capabilities_server (file (read open)))
+(allow servicemanager hal_vm_capabilities_server (process (getattr)))
+(allow hal_vr_client hal_vr_server (binder (call transfer)))
+(allow hal_vr_server hal_vr_client (binder (transfer)))
+(allow hal_vr_client hal_vr_server (fd (use)))
+(allow hal_vr_server hal_vr_client (binder (call transfer)))
+(allow hal_vr_client hal_vr_server (binder (transfer)))
+(allow hal_vr_server hal_vr_client (fd (use)))
+(allow hal_vr_client hal_vr_hwservice (hwservice_manager (find)))
+(allow hal_vr_server hal_vr_hwservice (hwservice_manager (add find)))
+(allow hal_vr_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_vr.te
+
+(neverallow base_typeattr_731 hal_vr_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_vr.te
+
+(neverallow base_typeattr_732 hal_vr_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_weaver_client hal_weaver_server (binder (call transfer)))
+(allow hal_weaver_server hal_weaver_client (binder (transfer)))
+(allow hal_weaver_client hal_weaver_server (fd (use)))
+(allow hal_weaver_client hal_weaver_hwservice (hwservice_manager (find)))
+(allow hal_weaver_server hal_weaver_hwservice (hwservice_manager (add find)))
+(allow hal_weaver_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 4 system/sepolicy/private/hal_weaver.te
+
+(neverallow base_typeattr_733 hal_weaver_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/hal_weaver.te
+
+(neverallow base_typeattr_734 hal_weaver_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_weaver_client hal_weaver_service (service_manager (find)))
+(allow hal_weaver_server hal_weaver_service (service_manager (add find)))
+;;* lmx 5 system/sepolicy/private/hal_weaver.te
+
+(neverallow base_typeattr_733 hal_weaver_service (service_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_weaver.te
+
+(neverallow base_typeattr_735 hal_weaver_service (service_manager (find)))
+;;* lme
+
+(allow hal_weaver_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_weaver_server (binder (transfer)))
+(allow hal_weaver_server servicemanager (fd (use)))
+(allow hal_wifi_client hal_wifi_server (binder (call transfer)))
+(allow hal_wifi_server hal_wifi_client (binder (transfer)))
+(allow hal_wifi_client hal_wifi_server (fd (use)))
+(allow hal_wifi_server hal_wifi_client (binder (call transfer)))
+(allow hal_wifi_client hal_wifi_server (binder (transfer)))
+(allow hal_wifi_server hal_wifi_client (fd (use)))
+(allow hal_wifi_client hal_wifi_hwservice (hwservice_manager (find)))
+(allow hal_wifi_server hal_wifi_hwservice (hwservice_manager (add find)))
+(allow hal_wifi_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_wifi.te
+
+(neverallow base_typeattr_736 hal_wifi_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_wifi.te
+
+(neverallow base_typeattr_737 hal_wifi_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_wifi_client hal_wifi_service (service_manager (find)))
+(allow hal_wifi_server hal_wifi_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_wifi.te
+
+(neverallow base_typeattr_736 hal_wifi_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_wifi.te
+
+(neverallow base_typeattr_738 hal_wifi_service (service_manager (find)))
+;;* lme
+
+(allow hal_wifi_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_wifi_server (binder (call transfer)))
+(allow servicemanager hal_wifi_server (dir (search)))
+(allow servicemanager hal_wifi_server (file (read open)))
+(allow servicemanager hal_wifi_server (process (getattr)))
+(allow hal_wifi proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_wifi proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_wifi sysfs_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi sysfs_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi_server property_socket (sock_file (write)))
+(allow hal_wifi_server init (unix_stream_socket (connectto)))
+(allow hal_wifi_server wifi_hal_prop (property_service (set)))
+(allow hal_wifi_server wifi_hal_prop (file (read getattr map open)))
+(allow hal_wifi property_socket (sock_file (write)))
+(allow hal_wifi init (unix_stream_socket (connectto)))
+(allow hal_wifi wifi_prop (property_service (set)))
+(allow hal_wifi wifi_prop (file (read getattr map open)))
+(allow hal_wifi self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx hal_wifi self (ioctl udp_socket (0x8914 0x8924 0x8946)))
+(allow hal_wifi self (capability (net_admin net_raw)))
+(allow hal_wifi self (cap_userns (net_admin net_raw)))
+(allow hal_wifi self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi sysfs_wlan_fwpath (file (write lock append map open)))
+(allow hal_wifi proc_modules (file (read getattr open)))
+(allow hal_wifi dumpstate (fifo_file (write)))
+(allow hal_wifi_server tombstone_wifi_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow hal_wifi_server tombstone_wifi_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow hal_wifi_hostapd_client hal_wifi_hostapd_server (binder (call transfer)))
+(allow hal_wifi_hostapd_server hal_wifi_hostapd_client (binder (transfer)))
+(allow hal_wifi_hostapd_client hal_wifi_hostapd_server (fd (use)))
+(allow hal_wifi_hostapd_server hal_wifi_hostapd_client (binder (call transfer)))
+(allow hal_wifi_hostapd_client hal_wifi_hostapd_server (binder (transfer)))
+(allow hal_wifi_hostapd_server hal_wifi_hostapd_client (fd (use)))
+(allow hal_wifi_hostapd_client hal_wifi_hostapd_hwservice (hwservice_manager (find)))
+(allow hal_wifi_hostapd_server hal_wifi_hostapd_hwservice (hwservice_manager (add find)))
+(allow hal_wifi_hostapd_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_wifi_hostapd.te
+
+(neverallow base_typeattr_739 hal_wifi_hostapd_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_wifi_hostapd.te
+
+(neverallow base_typeattr_740 hal_wifi_hostapd_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_wifi_hostapd_client hal_wifi_hostapd_service (service_manager (find)))
+(allow hal_wifi_hostapd_server hal_wifi_hostapd_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_wifi_hostapd.te
+
+(neverallow base_typeattr_739 hal_wifi_hostapd_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_wifi_hostapd.te
+
+(neverallow base_typeattr_741 hal_wifi_hostapd_service (service_manager (find)))
+;;* lme
+
+(allow hal_wifi_hostapd_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_wifi_hostapd_server (binder (call transfer)))
+(allow servicemanager hal_wifi_hostapd_server (dir (search)))
+(allow servicemanager hal_wifi_hostapd_server (file (read open)))
+(allow servicemanager hal_wifi_hostapd_server (process (getattr)))
+(allow hal_wifi_hostapd_server dumpstate (fifo_file (write)))
+(allow hal_wifi_hostapd_server self (capability (net_admin net_raw)))
+(allow hal_wifi_hostapd_server self (cap_userns (net_admin net_raw)))
+(allow hal_wifi_hostapd_server sysfs_net (dir (search)))
+(allow hal_wifi_hostapd_server proc_net_type (file (read getattr open)))
+(allowx hal_wifi_hostapd_server self (ioctl udp_socket (0x6900 0x6902)))
+(allowx hal_wifi_hostapd_server self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx hal_wifi_hostapd_server self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow hal_wifi_hostapd_server self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi_hostapd_server self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi_hostapd_server self (packet_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi_hostapd_server self (netlink_route_socket (nlmsg_write)))
+;;* lmx 31 system/sepolicy/private/hal_wifi_hostapd.te
+
+(neverallow hal_wifi_hostapd_server sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_wifi_hostapd_server fuse (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 32 system/sepolicy/private/hal_wifi_hostapd.te
+
+(neverallow hal_wifi_hostapd_server sdcard_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_wifi_hostapd_server fuse (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow hal_wifi_supplicant_client hal_wifi_supplicant_server (binder (call transfer)))
+(allow hal_wifi_supplicant_server hal_wifi_supplicant_client (binder (transfer)))
+(allow hal_wifi_supplicant_client hal_wifi_supplicant_server (fd (use)))
+(allow hal_wifi_supplicant_server hal_wifi_supplicant_client (binder (call transfer)))
+(allow hal_wifi_supplicant_client hal_wifi_supplicant_server (binder (transfer)))
+(allow hal_wifi_supplicant_server hal_wifi_supplicant_client (fd (use)))
+(allow hal_wifi_supplicant_client hal_wifi_supplicant_hwservice (hwservice_manager (find)))
+(allow hal_wifi_supplicant_server hal_wifi_supplicant_hwservice (hwservice_manager (add find)))
+(allow hal_wifi_supplicant_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hal_wifi_supplicant.te
+
+(neverallow base_typeattr_742 hal_wifi_supplicant_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/hal_wifi_supplicant.te
+
+(neverallow base_typeattr_743 hal_wifi_supplicant_hwservice (hwservice_manager (find)))
+;;* lme
+
+(allow hal_wifi_supplicant_client hal_wifi_supplicant_service (service_manager (find)))
+(allow hal_wifi_supplicant_server hal_wifi_supplicant_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/hal_wifi_supplicant.te
+
+(neverallow base_typeattr_742 hal_wifi_supplicant_service (service_manager (add)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/hal_wifi_supplicant.te
+
+(neverallow base_typeattr_744 hal_wifi_supplicant_service (service_manager (find)))
+;;* lme
+
+(allowx hal_wifi_supplicant self (ioctl udp_socket (0x6900 0x6902)))
+(allowx hal_wifi_supplicant self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx hal_wifi_supplicant self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow hal_wifi_supplicant sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_wifi_supplicant sysfs_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi_supplicant sysfs_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi_supplicant proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hal_wifi_supplicant proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi_supplicant proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hal_wifi_supplicant self (capability (setgid setuid net_admin net_raw)))
+(allow hal_wifi_supplicant self (cap_userns (setgid setuid net_admin net_raw)))
+(allow hal_wifi_supplicant cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow hal_wifi_supplicant cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow hal_wifi_supplicant self (netlink_route_socket (nlmsg_write)))
+(allow hal_wifi_supplicant self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi_supplicant self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow hal_wifi_supplicant self (packet_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx hal_wifi_supplicant self (ioctl packet_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx hal_wifi_supplicant self (ioctl packet_socket (0x6900 0x6902)))
+(allowx hal_wifi_supplicant self (ioctl packet_socket ((range 0x8906 0x8907) (range 0x890b 0x890d) (range 0x8910 0x8927) 0x8929 (range 0x8930 0x8939) (range 0x8940 0x8943) (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx hal_wifi_supplicant self (ioctl packet_socket ((range 0x8b00 0x8b02) (range 0x8b04 0x8b1d) (range 0x8b20 0x8b2d) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow keystore hal_wifi_supplicant (dir (search)))
+(allow keystore hal_wifi_supplicant (file (read open)))
+(allow keystore hal_wifi_supplicant (process (getattr)))
+(allow hal_wifi_supplicant apc_service (service_manager (find)))
+(allow hal_wifi_supplicant keystore_service (service_manager (find)))
+(allow hal_wifi_supplicant legacykeystore_service (service_manager (find)))
+(allow hal_wifi_supplicant keystore (binder (call transfer)))
+(allow keystore hal_wifi_supplicant (binder (transfer)))
+(allow hal_wifi_supplicant keystore (fd (use)))
+(allow keystore hal_wifi_supplicant (binder (call transfer)))
+(allow hal_wifi_supplicant keystore (binder (transfer)))
+(allow keystore hal_wifi_supplicant (fd (use)))
+(allow hal_wifi_supplicant_server servicemanager (binder (call transfer)))
+(allow servicemanager hal_wifi_supplicant_server (binder (call transfer)))
+(allow servicemanager hal_wifi_supplicant_server (dir (search)))
+(allow servicemanager hal_wifi_supplicant_server (file (read open)))
+(allow servicemanager hal_wifi_supplicant_server (process (getattr)))
+(allow hal_wifi_supplicant wifi_key (keystore2_key (get_info use)))
+;;* lmx 37 system/sepolicy/private/hal_wifi_supplicant.te
+
+(neverallow hal_wifi_supplicant_server sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow hal_wifi_supplicant_server fuse (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/hal_wifi_supplicant.te
+
+(neverallow hal_wifi_supplicant_server sdcard_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow hal_wifi_supplicant_server fuse (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow halclientdomain hwservicemanager (binder (call transfer)))
+(allow hwservicemanager halclientdomain (binder (call transfer)))
+(allow hwservicemanager halclientdomain (dir (search)))
+(allow hwservicemanager halclientdomain (file (read map open)))
+(allow hwservicemanager halclientdomain (process (getattr)))
+(allow halclientdomain hwservicemanager_prop (file (read getattr map open)))
+(allow halclientdomain hidl_manager_hwservice (hwservice_manager (find)))
+(allow halserverdomain hwservicemanager (binder (call transfer)))
+(allow hwservicemanager halserverdomain (binder (call transfer)))
+(allow hwservicemanager halserverdomain (dir (search)))
+(allow hwservicemanager halserverdomain (file (read map open)))
+(allow hwservicemanager halserverdomain (process (getattr)))
+(allow halserverdomain system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow halserverdomain hwservicemanager_prop (file (read getattr map open)))
+(allow init heapprofd_exec (file (read getattr map execute open)))
+(allow init heapprofd (process (transition)))
+(allow heapprofd heapprofd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init heapprofd (process (noatsecure)))
+(allow init heapprofd (process (siginh rlimitinh)))
+(typetransition init heapprofd_exec process heapprofd)
+(typetransition heapprofd tmpfs file heapprofd_tmpfs)
+(allow heapprofd heapprofd_tmpfs (file (read write getattr map)))
+(allow heapprofd property_socket (sock_file (write)))
+(allow heapprofd init (unix_stream_socket (connectto)))
+(allow heapprofd heapprofd_prop (property_service (set)))
+(allow heapprofd heapprofd_prop (file (read getattr map open)))
+(allow heapprofd self (capability (kill)))
+(dontaudit heapprofd domain (dir (open search)))
+(allow heapprofd traced (fd (use)))
+(allow heapprofd traced_tmpfs (file (read write getattr map)))
+(allow heapprofd traced_producer_socket (sock_file (write)))
+(allow heapprofd traced (unix_stream_socket (connectto)))
+(allow traced heapprofd (fd (use)))
+(allow heapprofd nativetest_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd nativetest_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd nativetest_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd system_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd system_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd system_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd vendor_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd vendor_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd vendor_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd shell_test_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd shell_test_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd shell_test_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow heapprofd apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd apex_art_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow heapprofd apex_module_data_file (dir (getattr search)))
+(allow heapprofd self (capability (dac_read_search)))
+(allow heapprofd self (cap_userns (dac_read_search)))
+(allow heapprofd packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 51 system/sepolicy/private/heapprofd.te
+
+(neverallow heapprofd hal_configstore_server (file (read)))
+(neverallow heapprofd apexd (file (read)))
+(neverallow heapprofd app_zygote (file (read)))
+(neverallow heapprofd bpfloader (file (read)))
+(neverallow heapprofd init (file (read)))
+(neverallow heapprofd kernel (file (read)))
+(neverallow heapprofd keystore (file (read)))
+(neverallow heapprofd llkd (file (read)))
+(neverallow heapprofd logd (file (read)))
+(neverallow heapprofd logpersist (file (read)))
+(neverallow heapprofd recovery (file (read)))
+(neverallow heapprofd recovery_persist (file (read)))
+(neverallow heapprofd recovery_refresh (file (read)))
+(neverallow heapprofd ueventd (file (read)))
+(neverallow heapprofd vendor_init (file (read)))
+(neverallow heapprofd vold (file (read)))
+(neverallow heapprofd webview_zygote (file (read)))
+(neverallow heapprofd zygote (file (read)))
+;;* lme
+
+;;* lmx 51 system/sepolicy/private/heapprofd.te
+
+(neverallow heapprofd hal_configstore_server (process (signal)))
+(neverallow heapprofd apexd (process (signal)))
+(neverallow heapprofd app_zygote (process (signal)))
+(neverallow heapprofd bpfloader (process (signal)))
+(neverallow heapprofd init (process (signal)))
+(neverallow heapprofd kernel (process (signal)))
+(neverallow heapprofd keystore (process (signal)))
+(neverallow heapprofd llkd (process (signal)))
+(neverallow heapprofd logd (process (signal)))
+(neverallow heapprofd logpersist (process (signal)))
+(neverallow heapprofd recovery (process (signal)))
+(neverallow heapprofd recovery_persist (process (signal)))
+(neverallow heapprofd recovery_refresh (process (signal)))
+(neverallow heapprofd ueventd (process (signal)))
+(neverallow heapprofd vendor_init (process (signal)))
+(neverallow heapprofd vold (process (signal)))
+(neverallow heapprofd webview_zygote (process (signal)))
+(neverallow heapprofd zygote (process (signal)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/private/heapprofd.te
+
+(neverallow heapprofd vendor_file_type (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/private/heapprofd.te
+
+(neverallow heapprofd base_typeattr_745 (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 11 system/sepolicy/private/hwservice.te
+
+(neverallow domain base_typeattr_746 (hwservice_manager (add find)))
+;;* lme
+
+(allow init hwservicemanager_exec (file (read getattr map execute open)))
+(allow init hwservicemanager (process (transition)))
+(allow hwservicemanager hwservicemanager_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init hwservicemanager (process (noatsecure)))
+(allow init hwservicemanager (process (siginh rlimitinh)))
+(typetransition init hwservicemanager_exec process hwservicemanager)
+(allow hwservicemanager hidl_manager_hwservice (hwservice_manager (add find)))
+(allow hwservicemanager hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 5 system/sepolicy/private/hwservicemanager.te
+
+(neverallow base_typeattr_747 hidl_manager_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow hwservicemanager hidl_token_hwservice (hwservice_manager (add find)))
+(allow hwservicemanager hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/hwservicemanager.te
+
+(neverallow base_typeattr_747 hidl_token_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow hwservicemanager property_socket (sock_file (write)))
+(allow hwservicemanager init (unix_stream_socket (connectto)))
+(allow hwservicemanager ctl_interface_start_prop (property_service (set)))
+(allow hwservicemanager ctl_interface_start_prop (file (read getattr map open)))
+(allow hwservicemanager property_socket (sock_file (write)))
+(allow hwservicemanager init (unix_stream_socket (connectto)))
+(allow hwservicemanager hwservicemanager_prop (property_service (set)))
+(allow hwservicemanager hwservicemanager_prop (file (read getattr map open)))
+(allow hwservicemanager system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hwservicemanager system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow hwservicemanager apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hwservicemanager apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hwservicemanager vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hwservicemanager vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hwservicemanager vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hwservicemanager self (binder (set_context_mgr)))
+(allow hwservicemanager system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hwservicemanager hwservice_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hwservicemanager selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow hwservicemanager selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow hwservicemanager selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow hwservicemanager selinuxfs (file (write lock append map open)))
+(allow hwservicemanager kernel (security (compute_av)))
+(allow hwservicemanager self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow init idmap_exec (file (read getattr map execute open)))
+(allow init idmap (process (transition)))
+(allow idmap idmap_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init idmap (process (noatsecure)))
+(allow init idmap (process (siginh rlimitinh)))
+(typetransition init idmap_exec process idmap)
+(allow idmap resourcecache_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow idmap resourcecache_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow idmap apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap apk_data_file (dir (search)))
+(allow idmap apk_tmp_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap apk_private_tmp_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap apk_tmp_file (dir (search)))
+(allow idmap apk_private_tmp_file (dir (search)))
+(allow idmap vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow idmap vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow idmap vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow idmap servicemanager (binder (call transfer)))
+(allow servicemanager idmap (binder (call transfer)))
+(allow servicemanager idmap (dir (search)))
+(allow servicemanager idmap (file (read open)))
+(allow servicemanager idmap (process (getattr)))
+(allow idmap idmap_service (service_manager (add find)))
+;;* lmx 26 system/sepolicy/private/idmap.te
+
+(neverallow base_typeattr_748 idmap_service (service_manager (add)))
+;;* lme
+
+(allow shell incident_exec (file (read getattr map execute open)))
+(allow shell incident (process (transition)))
+(allow incident incident_exec (file (read getattr map execute open entrypoint)))
+(allow incident shell (process (sigchld)))
+(dontaudit shell incident (process (noatsecure)))
+(allow shell incident (process (siginh rlimitinh)))
+(typetransition shell incident_exec process incident)
+(allow dumpstate incident_exec (file (read getattr map execute open)))
+(allow dumpstate incident (process (transition)))
+(allow incident incident_exec (file (read getattr map execute open entrypoint)))
+(allow incident dumpstate (process (sigchld)))
+(dontaudit dumpstate incident (process (noatsecure)))
+(allow dumpstate incident (process (siginh rlimitinh)))
+(typetransition dumpstate incident_exec process incident)
+(allow incident shell (fd (use)))
+(allow incident dumpstate (fd (use)))
+(allow incident dumpstate (unix_stream_socket (read write)))
+(allow incident shell_data_file (file (write)))
+(allow incident devpts (chr_file (read write)))
+(allow incident adbd (fd (use)))
+(allow incident adbd (unix_stream_socket (read write)))
+(allow incident adbd (process (sigchld)))
+(allow incident servicemanager (binder (call transfer)))
+(allow servicemanager incident (binder (call transfer)))
+(allow servicemanager incident (dir (search)))
+(allow servicemanager incident (file (read open)))
+(allow servicemanager incident (process (getattr)))
+(allow incident incident_service (service_manager (find)))
+(allow incident incidentd (binder (call transfer)))
+(allow incidentd incident (binder (transfer)))
+(allow incident incidentd (fd (use)))
+(allow incident incidentd (fifo_file (write)))
+;;* lmx 47 system/sepolicy/private/incident.te
+
+(neverallow base_typeattr_749 incident_exec (file (execute execute_no_trans)))
+;;* lme
+
+(allow incidentd incident_helper_exec (file (read getattr map execute open)))
+(allow incidentd incident_helper (process (transition)))
+(allow incident_helper incident_helper_exec (file (read getattr map execute open entrypoint)))
+(allow incident_helper incidentd (process (sigchld)))
+(dontaudit incidentd incident_helper (process (noatsecure)))
+(allow incidentd incident_helper (process (siginh rlimitinh)))
+(typetransition incidentd incident_helper_exec process incident_helper)
+(allow incident_helper dumpstate (fd (use)))
+(allow incident_helper incident (fd (use)))
+(allow incident_helper incidentd (fd (use)))
+(allow incident_helper shell (fd (use)))
+(allow incident_helper dumpstate (fifo_file (read write getattr)))
+(allow incident_helper incident (fifo_file (read write getattr)))
+(allow incident_helper incidentd (fifo_file (read write getattr)))
+(allow incident_helper shell (fifo_file (read write getattr)))
+(allow incident_helper incidentd (unix_stream_socket (read write)))
+;;* lmx 23 system/sepolicy/private/incident_helper.te
+
+(neverallow base_typeattr_750 incident_helper_exec (file (execute execute_no_trans)))
+;;* lme
+
+(allow init incidentd_exec (file (read getattr map execute open)))
+(allow init incidentd (process (transition)))
+(allow incidentd incidentd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init incidentd (process (noatsecure)))
+(allow init incidentd (process (siginh rlimitinh)))
+(typetransition init incidentd_exec process incidentd)
+(allow incidentd servicemanager (binder (call transfer)))
+(allow servicemanager incidentd (binder (call transfer)))
+(allow servicemanager incidentd (dir (search)))
+(allow servicemanager incidentd (file (read open)))
+(allow servicemanager incidentd (process (getattr)))
+(allow incidentd sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow incidentd self (capability2 (block_suspend)))
+(allow incidentd self (cap2_userns (block_suspend)))
+(allow incidentd system_suspend_server (binder (call transfer)))
+(allow system_suspend_server incidentd (binder (transfer)))
+(allow incidentd system_suspend_server (fd (use)))
+(allow incidentd system_suspend_hwservice (hwservice_manager (find)))
+(allow incidentd hwservicemanager (binder (call transfer)))
+(allow hwservicemanager incidentd (binder (call transfer)))
+(allow hwservicemanager incidentd (dir (search)))
+(allow hwservicemanager incidentd (file (read map open)))
+(allow hwservicemanager incidentd (process (getattr)))
+(allow incidentd hwservicemanager_prop (file (read getattr map open)))
+(allow incidentd hidl_manager_hwservice (hwservice_manager (find)))
+(allow incidentd hal_system_suspend_service (service_manager (find)))
+(allow incidentd servicemanager (binder (call transfer)))
+(allow servicemanager incidentd (binder (call transfer)))
+(allow servicemanager incidentd (dir (search)))
+(allow servicemanager incidentd (file (read open)))
+(allow servicemanager incidentd (process (getattr)))
+(allow incidentd domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow incidentd domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd incident_helper (process (sigkill)))
+(allow incidentd system_file (file (execute_no_trans)))
+(allow incidentd toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow incidentd proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd statsdw_socket (sock_file (write)))
+(allow incidentd statsd (unix_dgram_socket (sendto)))
+(allow incidentd incidentd_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su incidentd_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 29 system/sepolicy/private/incidentd.te
+
+(neverallow base_typeattr_751 incidentd_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow incidentd proc_pagetypeinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd proc_meminfo (file (read open)))
+(allow incidentd sysfs_devices_system_cpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd domain (process (getattr)))
+(allow incidentd sysfs_batteryinfo (dir (search)))
+(allow incidentd sysfs_batteryinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd stats_service (service_manager (find)))
+(allow incidentd statsd (binder (call transfer)))
+(allow statsd incidentd (binder (transfer)))
+(allow incidentd statsd (fd (use)))
+(allow incidentd perfetto_traces_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow incidentd perfetto_traces_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd nfc_service (service_manager (find)))
+(allow incidentd incident_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow incidentd incident_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow incidentd servicemanager (binder (call transfer)))
+(allow servicemanager incidentd (binder (call transfer)))
+(allow servicemanager incidentd (dir (search)))
+(allow servicemanager incidentd (file (read open)))
+(allow servicemanager incidentd (process (getattr)))
+(allow incidentd hwservicemanager (binder (call transfer)))
+(allow hwservicemanager incidentd (binder (call transfer)))
+(allow hwservicemanager incidentd (dir (search)))
+(allow hwservicemanager incidentd (file (read map open)))
+(allow hwservicemanager incidentd (process (getattr)))
+(allow incidentd hwservicemanager (hwservice_manager (list)))
+(allow incidentd hwservicemanager_prop (file (read getattr map open)))
+(allow incidentd hidl_manager_hwservice (hwservice_manager (find)))
+(allow incidentd proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd proc_pid_max (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd proc_pipe_conf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd appdomain (process (signal)))
+(allow incidentd ephemeral_app (process (signal)))
+(allow incidentd system_server (process (signal)))
+(allow incidentd hal_audio_server (process (signal)))
+(allow incidentd hal_bluetooth_server (process (signal)))
+(allow incidentd hal_camera_server (process (signal)))
+(allow incidentd hal_codec2_server (process (signal)))
+(allow incidentd hal_face_server (process (signal)))
+(allow incidentd hal_graphics_allocator_server (process (signal)))
+(allow incidentd hal_graphics_composer_server (process (signal)))
+(allow incidentd hal_health_server (process (signal)))
+(allow incidentd hal_omx_server (process (signal)))
+(allow incidentd hal_sensors_server (process (signal)))
+(allow incidentd hal_vr_server (process (signal)))
+(allow incidentd audioserver (process (signal)))
+(allow incidentd cameraserver (process (signal)))
+(allow incidentd drmserver (process (signal)))
+(allow incidentd inputflinger (process (signal)))
+(allow incidentd mediadrmserver (process (signal)))
+(allow incidentd mediaextractor (process (signal)))
+(allow incidentd mediametrics (process (signal)))
+(allow incidentd mediaserver (process (signal)))
+(allow incidentd sdcardd (process (signal)))
+(allow incidentd statsd (process (signal)))
+(allow incidentd surfaceflinger (process (signal)))
+(allow incidentd system_server (binder (call transfer)))
+(allow system_server incidentd (binder (transfer)))
+(allow incidentd system_server (fd (use)))
+(allow incidentd appdomain (binder (call transfer)))
+(allow appdomain incidentd (binder (transfer)))
+(allow incidentd appdomain (fd (use)))
+;;* lmx 125 system/sepolicy/private/incidentd.te
+
+(neverallow incidentd base_typeattr_239 (process (ptrace)))
+;;* lme
+
+(allow incidentd self (capability (kill)))
+(allow incidentd self (cap_userns (kill)))
+(allow incidentd tombstoned_intercept_socket (sock_file (write)))
+(allow incidentd tombstoned (unix_stream_socket (connectto)))
+(allow incidentd shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow incidentd zygote_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow incidentd device_config_runtime_native_prop (file (read getattr map open)))
+(allow incidentd device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow incidentd odsign_prop (file (read getattr map open)))
+(allow incidentd system_file (file (lock)))
+(dontaudit incidentd dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit incidentd apex_module_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit incidentd apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit incidentd tmpfs (file (ioctl read write getattr lock append map execute open watch watch_reads execute_no_trans)))
+(allow incidentd apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd misc_logd_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow incidentd misc_logd_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd misc_logd_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow incidentd base_typeattr_752 (service_manager (find)))
+(allow incidentd incident_service (service_manager (add find)))
+;;* lmx 174 system/sepolicy/private/incidentd.te
+
+(neverallow base_typeattr_751 incident_service (service_manager (add)))
+;;* lme
+
+(allow incidentd dumpstate (fd (use)))
+(allow incidentd incident (fd (use)))
+(allow incidentd dumpstate (fifo_file (write)))
+(allow incidentd incident (fifo_file (write)))
+(allow incidentd incident (binder (call transfer)))
+(allow incident incidentd (binder (transfer)))
+(allow incidentd incident (fd (use)))
+(allow incidentd build_attestation_prop (file (read getattr map open)))
+;;* lmx 215 system/sepolicy/private/incidentd.te
+
+(neverallow base_typeattr_753 incident_data_file (file (write create getattr setattr lock append map unlink rename execute open execute_no_trans)))
+;;* lme
+
+;;* lmx 217 system/sepolicy/private/incidentd.te
+
+(neverallow base_typeattr_754 incident_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 219 system/sepolicy/private/incidentd.te
+
+(neverallow base_typeattr_753 incident_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+(typetransition init tmpfs file init_tmpfs)
+(allow init init_tmpfs (file (read write getattr map)))
+(allow init rootfs (file (read getattr map execute open)))
+(allow init slideshow (process (transition)))
+(allow slideshow rootfs (file (read getattr map execute open entrypoint)))
+(dontaudit init slideshow (process (noatsecure)))
+(allow init slideshow (process (siginh rlimitinh)))
+(allow init charger_exec (file (read getattr map execute open)))
+(allow init charger (process (transition)))
+(allow charger charger_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init charger (process (noatsecure)))
+(allow init charger (process (siginh rlimitinh)))
+(typetransition init charger_exec process charger)
+(allow init e2fs_exec (file (read getattr map execute open)))
+(allow init e2fs (process (transition)))
+(allow e2fs e2fs_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init e2fs (process (noatsecure)))
+(allow init e2fs (process (siginh rlimitinh)))
+(typetransition init e2fs_exec process e2fs)
+(allow init bpfloader_exec (file (read getattr map execute open)))
+(allow init bpfloader (process (transition)))
+(allow bpfloader bpfloader_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init bpfloader (process (noatsecure)))
+(allow init bpfloader (process (siginh rlimitinh)))
+(typetransition init bpfloader_exec process bpfloader)
+(allow init shell_exec (file (read getattr map execute open)))
+(allow init shell (process (transition)))
+(allow shell shell_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init shell (process (noatsecure)))
+(allow init shell (process (siginh rlimitinh)))
+(allow init init_exec (file (read getattr map execute open)))
+(allow init ueventd (process (transition)))
+(allow ueventd init_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init ueventd (process (noatsecure)))
+(allow init ueventd (process (siginh rlimitinh)))
+(allow init init_exec (file (read getattr map execute open)))
+(allow init vendor_init (process (transition)))
+(allow vendor_init init_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vendor_init (process (noatsecure)))
+(allow init vendor_init (process (siginh rlimitinh)))
+(allow init rootfs (file (read getattr map execute open)))
+(allow init toolbox_exec (file (read getattr map execute open)))
+(allow init modprobe (process (transition)))
+(allow modprobe rootfs (file (read getattr map execute open entrypoint)))
+(allow modprobe toolbox_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init modprobe (process (noatsecure)))
+(allow init modprobe (process (siginh rlimitinh)))
+(allow init sysfs_dm (file (read)))
+(allow init sysfs_loop (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init sysfs_loop (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init sysfs_type (file (read getattr)))
+(allow init dev_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init dev_type (blk_file (getattr)))
+(allow init proc_drop_caches (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init powerctl_prop (property_service (set)))
+(allow init powerctl_prop (file (read getattr map open)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init userspace_reboot_exported_prop (property_service (set)))
+(allow init userspace_reboot_exported_prop (file (read getattr map open)))
+(allow init self (perf_event (open cpu)))
+(allow init self (capability2 (perfmon)))
+(allow init self (cap2_userns (perfmon)))
+(allow init proc_kallsyms (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init snapuserd_socket (sock_file (write)))
+(allow init snapuserd (unix_stream_socket (connectto)))
+(allow init ota_metadata_file (dir (lock)))
+(allow init vd_device (blk_file (relabelto)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init init_perf_lsm_hooks_prop (property_service (set)))
+(allow init init_perf_lsm_hooks_prop (file (read getattr map open)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init vts_status_prop (property_service (set)))
+(allow init vts_status_prop (file (read getattr map open)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init bionic_linker_16kb_app_compat_prop (property_service (set)))
+(allow init bionic_linker_16kb_app_compat_prop (file (read getattr map open)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init pm_16kb_app_compat_prop (property_service (set)))
+(allow init pm_16kb_app_compat_prop (file (read getattr map open)))
+(allow init property_socket (sock_file (write)))
+(allow init init (unix_stream_socket (connectto)))
+(allow init ctl_prefetch_prop (property_service (set)))
+(allow init ctl_prefetch_prop (file (read getattr map open)))
+(allow init debugfs_bootreceiver_tracing (file (write lock append map open)))
+(allow init prng_seeder (unix_stream_socket (create bind listen)))
+(dontaudit init debugfs_tracing_debug (dir (write add_name)))
+(allow init base_typeattr_755 (chr_file (setattr)))
+(allow init tmpfs (chr_file (ioctl read write create getattr setattr lock append map unlink open watch watch_reads)))
+(allow init tmpfs (chr_file (relabelfrom)))
+(allow init kmsg_device (chr_file (write getattr relabelto)))
+(allow init vm_data_file (dir (write create getattr setattr relabelto mounton add_name search)))
+(allow init properties_device (dir (relabelto)))
+(allow init properties_serial (file (write relabelto)))
+(allow init property_type (file (read write create getattr setattr relabelto append map unlink rename open)))
+(allow init properties_device (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init property_info (file (relabelto)))
+(allow init device (file (relabelfrom)))
+(allow init runtime_event_log_tags_file (file (write create setattr relabelto open)))
+(allow init device (dir (relabelto)))
+(allow init dm_user_device (dir (relabelto)))
+(allow init socket_device (dir (relabelto)))
+(allow init lmkd_socket (sock_file (write)))
+(allow init lmkd (unix_stream_socket (connectto)))
+(allow init console_device (chr_file (relabelto)))
+(allow init ptmx_device (chr_file (relabelto)))
+(allow init null_device (chr_file (relabelto)))
+(allow init random_device (chr_file (relabelto)))
+(allow init tmpfs (chr_file (relabelfrom)))
+(allow init tmpfs (blk_file (relabelfrom)))
+(allow init tmpfs (blk_file (getattr)))
+(allow init block_device (dir (relabelto)))
+(allow init block_device (lnk_file (relabelto)))
+(allow init block_device (blk_file (relabelto)))
+(allow init dm_device (chr_file (relabelto)))
+(allow init dm_device (blk_file (relabelto)))
+(allow init dm_user_device (chr_file (relabelto)))
+(allow init kernel (fd (use)))
+(allow init tmpfs (lnk_file (read getattr relabelfrom)))
+(allow init system_block_device (lnk_file (relabelto)))
+(allow init system_block_device (blk_file (relabelto)))
+(allow init recovery_block_device (lnk_file (relabelto)))
+(allow init recovery_block_device (blk_file (relabelto)))
+(allow init userdata_block_device (lnk_file (relabelto)))
+(allow init userdata_block_device (blk_file (relabelto)))
+(allow init metadata_block_device (lnk_file (relabelto)))
+(allow init metadata_block_device (blk_file (relabelto)))
+(allow init misc_block_device (lnk_file (relabelto)))
+(allow init misc_block_device (blk_file (relabelto)))
+(allow init dtbo_block_device (lnk_file (relabelto)))
+(allow init super_block_device (lnk_file (relabelto)))
+(allow init mnt_sdcard_file (lnk_file (create)))
+(allow init self (capability (sys_resource)))
+(allow init self (cap_userns (sys_resource)))
+(allow init tmpfs (file (getattr unlink)))
+(allow init devpts (chr_file (read write open)))
+(allow init fscklogs (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init tmpfs (chr_file (write)))
+(allow init console_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init self (capability (sys_admin)))
+(allow init self (cap_userns (sys_admin)))
+(allow init self (capability (sys_chroot)))
+(allow init self (cap_userns (sys_chroot)))
+(allow init rootfs (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init rootfs (dir (mounton)))
+(allow init cgroup (dir (mounton)))
+(allow init system_file (dir (mounton)))
+(allow init linkerconfig_file (dir (mounton)))
+(allow init vendor_file (dir (mounton)))
+(allow init system_data_root_file (dir (mounton)))
+(allow init system_data_file (dir (mounton)))
+(allow init shell_data_file (dir (mounton)))
+(allow init mnt_user_file (dir (mounton)))
+(allow init storage_file (dir (mounton)))
+(allow init postinstall_mnt_dir (dir (mounton)))
+(allow init mirror_data_file (dir (mounton)))
+(allow init cache_file (dir (mounton)))
+(allow init system_dlkm_file (dir (mounton)))
+(allow init fs_bpf (dir (mounton)))
+(allow init device (dir (mounton)))
+(allow init apex_mnt_dir (dir (mounton)))
+(allow init art_apex_dir (dir (mounton)))
+(allow init rootfs (lnk_file (create unlink)))
+(allow init sysfs (dir (mounton)))
+(allow init tmpfs (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init tmpfs (dir (mounton)))
+(allow init cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init cgroup (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init cgroup_rc_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init vendor_cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init cgroup_v2 (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init cgroup_v2 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init configfs (dir (mounton)))
+(allow init configfs (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init configfs (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init configfs (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init metadata_file (dir (mounton)))
+(allow init tmpfs (dir (relabelfrom)))
+(allow init self (capability (dac_override dac_read_search)))
+(allow init self (cap_userns (dac_override dac_read_search)))
+(allow init self (capability (sys_time)))
+(allow init self (cap_userns (sys_time)))
+(allow init self (capability (sys_rawio mknod)))
+(allow init self (cap_userns (sys_rawio mknod)))
+(allow init dev_type (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allowx init dev_type (ioctl blk_file (0x125d)))
+(allowx init system_data_root_file (ioctl dir (0x587d)))
+(allow init base_typeattr_756 (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget watch)))
+(allow init debugfs_tracing_debug (filesystem (mount)))
+(allow init unlabeled (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget watch)))
+(allow init contextmount_type (filesystem (relabelto)))
+(allow init contextmount_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init contextmount_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init contextmount_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init contextmount_type (sock_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init contextmount_type (fifo_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init rootfs (file (relabelfrom)))
+(allow init rootfs (dir (relabelfrom)))
+(allow init self (capability (chown fowner fsetid)))
+(allow init self (cap_userns (chown fowner fsetid)))
+(allow init base_typeattr_757 (dir (ioctl read create getattr setattr open search)))
+(allow init base_typeattr_758 (dir (write relabelfrom add_name remove_name rmdir)))
+(allow init base_typeattr_759 (file (read write create getattr setattr relabelfrom map unlink open)))
+(allow init tracefs_type (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow init apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init base_typeattr_760 (sock_file (read create getattr setattr relabelfrom unlink open)))
+(allow init base_typeattr_760 (fifo_file (read create getattr setattr relabelfrom unlink open)))
+(allow init base_typeattr_761 (lnk_file (create getattr setattr relabelfrom unlink)))
+(allow init cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init base_typeattr_762 (file (relabelto)))
+(allow init base_typeattr_762 (dir (relabelto)))
+(allow init base_typeattr_762 (lnk_file (relabelto)))
+(allow init base_typeattr_762 (chr_file (relabelto)))
+(allow init base_typeattr_762 (blk_file (relabelto)))
+(allow init base_typeattr_762 (sock_file (relabelto)))
+(allow init base_typeattr_762 (fifo_file (relabelto)))
+(allow init sysfs (file (getattr relabelfrom)))
+(allow init sysfs (dir (getattr relabelfrom)))
+(allow init sysfs (lnk_file (getattr relabelfrom)))
+(allow init debugfs_tracing (file (getattr relabelfrom)))
+(allow init debugfs_tracing (dir (getattr relabelfrom)))
+(allow init debugfs_tracing (lnk_file (getattr relabelfrom)))
+(allow init debugfs_tracing_debug (file (getattr relabelfrom)))
+(allow init debugfs_tracing_debug (dir (getattr relabelfrom)))
+(allow init debugfs_tracing_debug (lnk_file (getattr relabelfrom)))
+(allow init sysfs_type (file (getattr relabelto)))
+(allow init sysfs_type (dir (getattr relabelto)))
+(allow init sysfs_type (lnk_file (getattr relabelto)))
+(allow init tracefs_type (file (getattr relabelto)))
+(allow init tracefs_type (dir (getattr relabelto)))
+(allow init tracefs_type (lnk_file (getattr relabelto)))
+(allow init dev_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init dev_type (lnk_file (create)))
+(allow init debugfs_tracing (file (write lock append map open)))
+(allow init debugfs_tracing_instances (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init debugfs_tracing_instances (file (write lock append map open)))
+(allow init debugfs_wifi_tracing (file (write lock append map open)))
+(allow init debugfs_wifi_tracing (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init base_typeattr_763 (file (read setattr open)))
+(allow init base_typeattr_764 (dir (read setattr open search)))
+(allow init binder_device (chr_file (read open)))
+(allow init hwbinder_device (chr_file (read open)))
+(allow init dm_device (chr_file (read open)))
+(allow init pmsg_device (chr_file (read open)))
+(allow init console_device (chr_file (read open)))
+(allow init input_device (chr_file (read open)))
+(allow init ptmx_device (chr_file (read open)))
+(allow init kmsg_device (chr_file (read open)))
+(allow init null_device (chr_file (read open)))
+(allow init random_device (chr_file (read open)))
+(allow init owntty_device (chr_file (read open)))
+(allow init tty_device (chr_file (read open)))
+(allow init zero_device (chr_file (read open)))
+(allow init devpts (chr_file (read open)))
+(allow init unlabeled (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init unlabeled (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow init unlabeled (lnk_file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow init unlabeled (sock_file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow init unlabeled (fifo_file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow init kernel (system (syslog_mod)))
+(allow init self (capability2 (syslog)))
+(allow init self (cap2_userns (syslog)))
+(allow init proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_diskstats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_kmsg (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_uptime (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_allocinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init proc_net_type (file (write lock append map open)))
+(allow init proc_overcommit_memory (file (write lock append map open)))
+(allow init proc_min_free_order_shift (file (write lock append map open)))
+(allow init proc_watermark_boost_factor (file (write lock append map open)))
+(allow init proc_abi (file (write lock append map open)))
+(allow init proc_cpu_alignment (file (write lock append map open)))
+(allow init proc_dirty (file (write lock append map open)))
+(allow init proc_extra_free_kbytes (file (write lock append map open)))
+(allow init proc_hostname (file (write lock append map open)))
+(allow init proc_hung_task (file (write lock append map open)))
+(allow init proc_max_map_count (file (write lock append map open)))
+(allow init proc_page_cluster (file (write lock append map open)))
+(allow init proc_panic (file (write lock append map open)))
+(allow init proc_perf (file (write lock append map open)))
+(allow init proc_sched (file (write lock append map open)))
+(allow init proc_sysrq (file (write lock append map open)))
+(allow init proc_security (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init proc_qtaguid_ctrl (file (setattr)))
+(allow init proc_qtaguid_stat (file (setattr)))
+(allow init proc_bootconfig (file (setattr)))
+(allow init proc_cmdline (file (setattr)))
+(allow init proc_kmsg (file (setattr)))
+(allow init proc_net (file (setattr)))
+(allow init proc_pagetypeinfo (file (setattr)))
+(allow init proc_slabinfo (file (setattr)))
+(allow init proc_sysrq (file (setattr)))
+(allow init proc_vmallocinfo (file (setattr)))
+(allow init proc_allocinfo (file (setattr)))
+(allow init sysfs_android_usb (file (write lock append map open)))
+(allow init sysfs_dm (file (write lock append map open)))
+(allow init sysfs_dm_verity (file (write lock append map open)))
+(allow init sysfs_leds (file (write lock append map open)))
+(allow init sysfs_power (file (write lock append map open)))
+(allow init sysfs_lru_gen_enabled (file (write lock append map open)))
+(allow init sysfs_fs_f2fs (file (write lock append map open)))
+(allow init sysfs_pgsize_migration (file (write lock append map open)))
+(allow init sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init sysfs_fs_ext4_features (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init sysfs_zram (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init loop_control_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init loop_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx init loop_device (ioctl blk_file ((range 0x4c00 0x4c01) (range 0x4c03 0x4c04) (range 0x4c08 0x4c09) 0x4c82)))
+(allow init sysfs_vibrator (file (write lock append map open)))
+(allow init sysfs_android_usb (file (setattr)))
+(allow init sysfs_ipv4 (file (setattr)))
+(allow init sysfs_leds (file (setattr)))
+(allow init sysfs_wake_lock (file (setattr)))
+(allow init sysfs_power (file (setattr)))
+(allow init sysfs_devices_system_cpu (file (setattr)))
+(allow init sysfs_lowmemorykiller (file (setattr)))
+(allow init sysfs_vibrator (file (setattr)))
+(allow init sysfs_zram (file (setattr)))
+(allow init sysfs_firmware_acpi_tables (file (setattr)))
+(allow init usermodehelper (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init sysfs_usermodehelper (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init self (capability (net_admin)))
+(allow init self (cap_userns (net_admin)))
+(allow init self (capability (sys_boot)))
+(allow init self (cap_userns (sys_boot)))
+(allow init misc_logd_file (dir (read write create getattr setattr open add_name search)))
+(allow init misc_logd_file (file (write create getattr setattr open)))
+(allow init self (capability (kill)))
+(allow init self (cap_userns (kill)))
+(allow init domain (process (sigkill signal getpgid)))
+(allow init credstore_data_file (dir (read create getattr setattr open search)))
+(allow init credstore_data_file (file (getattr)))
+(allow init keystore_data_file (dir (read create getattr setattr open search)))
+(allow init keystore_data_file (file (getattr)))
+(allow init vold_data_file (dir (read create getattr setattr open search)))
+(allow init vold_data_file (file (getattr)))
+(allow init shell_data_file (dir (read create getattr setattr open search)))
+(allow init shell_data_file (file (getattr)))
+(allow init self (capability (setgid setuid setpcap)))
+(allow init self (cap_userns (setgid setuid setpcap)))
+(allow init domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init self (process (setexec setfscreate setsockcreate)))
+(allow init file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init sepolicy_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init selinuxfs (file (write lock append map open)))
+(allow init kernel (security (compute_av)))
+(allow init self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow init kernel (security (compute_create)))
+(allow init domain (unix_stream_socket (create bind setopt)))
+(allow init domain (unix_dgram_socket (create bind setopt)))
+(allow init property_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init property_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init property_type (property_service (set)))
+(allow init self (netlink_audit_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_relay)))
+(allow init self (capability (audit_write)))
+(allow init self (cap_userns (audit_write)))
+(allow init self (udp_socket (ioctl create)))
+(allowx init self (ioctl udp_socket (0x8914)))
+(allow init self (capability (net_raw)))
+(allow init self (cap_userns (net_raw)))
+(allow init kernel (process (getsched setsched)))
+(allow init swap_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init swap_block_device (blk_file (setattr)))
+(allow init device (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init input_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init dm_user_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init metadata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init pstorefs (dir (search)))
+(allow init pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init kernel (system (syslog_read)))
+(allow init init (key (write search setattr)))
+(allow init unencrypted_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allowx init data_file_type (ioctl dir (0x6613 0x6615)))
+(allowx init unlabeled (ioctl dir (0x6613 0x6615)))
+(allow init misc_block_device (blk_file (write lock append map open)))
+(allow init system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init system_dlkm_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init system_dlkm_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init system_dlkm_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init vendor_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init vendor_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init vendor_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init system_data_file (file (read getattr)))
+(allow init system_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init vendor_shell_exec (file (execute)))
+(allow init vold_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init vold_metadata_file (file (getattr)))
+(allow init metadata_bootstat_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow init metadata_bootstat_file (file (write lock append map open)))
+(allow init userspace_reboot_metadata_file (file (write lock append map open)))
+(allow init proc_pressure_mem (file (ioctl read write getattr setattr lock append map open watch watch_reads)))
+(allow init system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow init system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow init fuse (dir (getattr search)))
+(allow init userdata_sysdev (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init rootdisk_sysdev (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lmx 816 system/sepolicy/private/init.te
+
+(neverallow domain init (process (dyntransition)))
+;;* lme
+
+;;* lmx 817 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_378 init (process (transition)))
+;;* lme
+
+;;* lmx 818 system/sepolicy/private/init.te
+
+(neverallow init base_typeattr_765 (file (entrypoint)))
+;;* lme
+
+;;* lmx 821 system/sepolicy/private/init.te
+
+(neverallow init shell_data_file (lnk_file (read)))
+;;* lme
+
+;;* lmx 822 system/sepolicy/private/init.te
+
+(neverallow init app_data_file_type (lnk_file (read)))
+;;* lme
+
+;;* lmx 825 system/sepolicy/private/init.te
+
+(neverallow init fs_type (file (execute_no_trans)))
+(neverallow init file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 834 system/sepolicy/private/init.te
+
+(neverallow init base_typeattr_239 (process (noatsecure)))
+;;* lme
+
+;;* lmx 837 system/sepolicy/private/init.te
+
+(neverallow init service_manager_type (service_manager (add find)))
+;;* lme
+
+;;* lmx 839 system/sepolicy/private/init.te
+
+(neverallow init servicemanager (service_manager (list)))
+;;* lme
+
+;;* lmx 842 system/sepolicy/private/init.te
+
+(neverallow init shell_data_file (dir (write add_name remove_name)))
+;;* lme
+
+;;* lmx 845 system/sepolicy/private/init.te
+
+(neverallow init sysfs (file (write open)))
+;;* lme
+
+;;* lmx 848 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_239 init (process (ptrace)))
+;;* lme
+
+;;* lmx 853 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_766 system_data_root_file (dir (write add_name remove_name)))
+;;* lme
+
+;;* lmx 856 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 userspace_reboot_exported_prop (property_service (set)))
+;;* lme
+
+;;* lmx 858 system/sepolicy/private/init.te
+
+(neverallow init self (perf_event (kernel tracepoint read write)))
+;;* lme
+
+(dontaudit init self (perf_event (kernel tracepoint read write)))
+;;* lmx 863 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 init_perf_lsm_hooks_prop (property_service (set)))
+;;* lme
+
+;;* lmx 866 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 vts_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 869 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 bootloader_prop (property_service (set)))
+;;* lme
+
+;;* lmx 872 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 hal_instrumentation_prop (property_service (set)))
+;;* lme
+
+;;* lmx 875 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 property_service_version_prop (property_service (set)))
+;;* lme
+
+;;* lmx 878 system/sepolicy/private/init.te
+
+(neverallow base_typeattr_238 keystore_listen_prop (property_service (set)))
+;;* lme
+
+(allow init inputflinger_exec (file (read getattr map execute open)))
+(allow init inputflinger (process (transition)))
+(allow inputflinger inputflinger_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init inputflinger (process (noatsecure)))
+(allow init inputflinger (process (siginh rlimitinh)))
+(typetransition init inputflinger_exec process inputflinger)
+(allow inputflinger servicemanager (binder (call transfer)))
+(allow servicemanager inputflinger (binder (call transfer)))
+(allow servicemanager inputflinger (dir (search)))
+(allow servicemanager inputflinger (file (read open)))
+(allow servicemanager inputflinger (process (getattr)))
+(allow inputflinger system_server (binder (call transfer)))
+(allow system_server inputflinger (binder (transfer)))
+(allow inputflinger system_server (fd (use)))
+(allow inputflinger sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow inputflinger self (capability2 (block_suspend)))
+(allow inputflinger self (cap2_userns (block_suspend)))
+(allow inputflinger system_suspend_server (binder (call transfer)))
+(allow system_suspend_server inputflinger (binder (transfer)))
+(allow inputflinger system_suspend_server (fd (use)))
+(allow inputflinger system_suspend_hwservice (hwservice_manager (find)))
+(allow inputflinger hwservicemanager (binder (call transfer)))
+(allow hwservicemanager inputflinger (binder (call transfer)))
+(allow hwservicemanager inputflinger (dir (search)))
+(allow hwservicemanager inputflinger (file (read map open)))
+(allow hwservicemanager inputflinger (process (getattr)))
+(allow inputflinger hwservicemanager_prop (file (read getattr map open)))
+(allow inputflinger hidl_manager_hwservice (hwservice_manager (find)))
+(allow inputflinger hal_system_suspend_service (service_manager (find)))
+(allow inputflinger servicemanager (binder (call transfer)))
+(allow servicemanager inputflinger (binder (call transfer)))
+(allow servicemanager inputflinger (dir (search)))
+(allow servicemanager inputflinger (file (read open)))
+(allow servicemanager inputflinger (process (getattr)))
+(allow inputflinger input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow inputflinger input_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow inputflinger cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow inputflinger cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow inputflinger cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow inputflinger cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow inputflinger cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow inputflinger cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init installd_exec (file (read getattr map execute open)))
+(allow init installd (process (transition)))
+(allow installd installd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init installd (process (noatsecure)))
+(allow init installd (process (siginh rlimitinh)))
+(typetransition init installd_exec process installd)
+(allow installd migrate_legacy_obb_data_exec (file (read getattr map execute open)))
+(allow installd migrate_legacy_obb_data (process (transition)))
+(allow migrate_legacy_obb_data migrate_legacy_obb_data_exec (file (read getattr map execute open entrypoint)))
+(allow migrate_legacy_obb_data installd (process (sigchld)))
+(dontaudit installd migrate_legacy_obb_data (process (noatsecure)))
+(allow installd migrate_legacy_obb_data (process (siginh rlimitinh)))
+(typetransition installd migrate_legacy_obb_data_exec process migrate_legacy_obb_data)
+(allow installd shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow installd dex2oat_exec (file (read getattr map execute open)))
+(allow installd dex2oat (process (transition)))
+(allow dex2oat dex2oat_exec (file (read getattr map execute open entrypoint)))
+(allow dex2oat installd (process (sigchld)))
+(dontaudit installd dex2oat (process (noatsecure)))
+(allow installd dex2oat (process (siginh rlimitinh)))
+(typetransition installd dex2oat_exec process dex2oat)
+(allow installd profman_exec (file (read getattr map execute open)))
+(allow installd profman (process (transition)))
+(allow profman profman_exec (file (read getattr map execute open entrypoint)))
+(allow profman installd (process (sigchld)))
+(dontaudit installd profman (process (noatsecure)))
+(allow installd profman (process (siginh rlimitinh)))
+(typetransition installd profman_exec process profman)
+(allow installd idmap_exec (file (read getattr map execute open)))
+(allow installd idmap (process (transition)))
+(allow idmap idmap_exec (file (read getattr map execute open entrypoint)))
+(allow idmap installd (process (sigchld)))
+(dontaudit installd idmap (process (noatsecure)))
+(allow installd idmap (process (siginh rlimitinh)))
+(typetransition installd idmap_exec process idmap)
+(allow installd dumpstate (fd (use)))
+(allow installd dumpstate (fifo_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd app_exec_data_file (file (unlink)))
+(allow installd rollback_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd rollback_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow installd device_config_runtime_native_prop (file (read getattr map open)))
+(allow installd device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow installd apk_verity_prop (file (read getattr map open)))
+(allow installd odsign_prop (file (read getattr map open)))
+(allow installd staging_data_file (file (unlink)))
+(allow installd staging_data_file (dir (read write getattr rename open add_name remove_name search rmdir)))
+(allow installd sdk_sandbox_system_data_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd untrusted_app_all (fd (use)))
+(allow installd gmscore_app (fd (use)))
+(allow installd priv_app (fd (use)))
+(allowx installd app_data_file_type (ioctl file (0x6685)))
+(allow installd self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid sys_admin)))
+(allow installd self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid sys_admin)))
+(allow installd dalvikcache_data_file (dir (relabelto)))
+(allow installd dalvikcache_data_file (file (relabelto link)))
+(allow installd apk_data_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd apk_data_file (file (ioctl read write create getattr setattr lock relabelfrom append map unlink link rename open watch watch_reads)))
+(allow installd apk_data_file (lnk_file (ioctl read create getattr lock map unlink open watch watch_reads)))
+(allow installd asec_apk_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd apk_tmp_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow installd apk_tmp_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd oemfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd oemfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd mnt_expand_file (dir (getattr search)))
+(allow installd selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd selinuxfs (file (write lock append map open)))
+(allow installd kernel (security (check_context)))
+(allow installd rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_framework_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd vendor_framework_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_framework_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd vendor_apex_metadata_file (dir (getattr search)))
+(allow installd file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd asec_image_file (dir (search)))
+(allow installd asec_image_file (file (getattr)))
+(allow installd system_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd system_data_file (lnk_file (read create getattr setattr unlink)))
+(allow installd mnt_pass_through_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd media_rw_data_file (file (getattr unlink)))
+(allow installd system_data_file (dir (relabelfrom)))
+(allow installd media_rw_data_file (dir (relabelto)))
+(allow installd media_userdir_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd tmpfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd storage_file (dir (search)))
+(allow installd sdcard_type (dir (read write getattr open remove_name search rmdir)))
+(allow installd fuse (dir (read write getattr open remove_name search rmdir)))
+(allow installd sdcard_type (file (getattr unlink)))
+(allow installd fuse (file (getattr unlink)))
+(allow installd mirror_data_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd system_userdir_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow installd misc_user_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd misc_user_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow installd keychain_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd keychain_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow installd install_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow installd install_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow installd dalvikcache_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd dalvikcache_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow installd dalvikcache_data_file (lnk_file (getattr)))
+(allow installd resourcecache_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow installd resourcecache_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow installd unlabeled (dir (ioctl read write getattr lock relabelfrom open watch watch_reads add_name remove_name search rmdir)))
+(allow installd unlabeled (file (getattr setattr relabelfrom unlink rename)))
+(allow installd unlabeled (lnk_file (getattr setattr relabelfrom unlink rename)))
+(allow installd unlabeled (sock_file (getattr setattr relabelfrom unlink rename)))
+(allow installd unlabeled (fifo_file (getattr setattr relabelfrom unlink rename)))
+(allow installd unlabeled (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd system_data_file (file (getattr relabelfrom unlink)))
+(allow installd system_data_file (lnk_file (getattr relabelfrom unlink)))
+(allow installd system_data_file (sock_file (getattr relabelfrom unlink)))
+(allow installd system_data_file (fifo_file (getattr relabelfrom unlink)))
+(allow installd app_data_file_type (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd app_data_file_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open watch watch_reads)))
+(allow installd app_data_file_type (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open watch watch_reads)))
+(allow installd app_data_file_type (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open watch watch_reads)))
+(allow installd app_data_file_type (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open watch watch_reads)))
+(allowx installd app_data_file_type (ioctl file ((range 0x581f 0x5820))))
+(allowx installd app_data_file_type (ioctl dir ((range 0x581f 0x5820))))
+(allowx installd system_data_file (ioctl file ((range 0x581f 0x5820))))
+(allowx installd system_data_file (ioctl dir ((range 0x581f 0x5820))))
+(allowx installd install_data_file (ioctl file ((range 0x581f 0x5820))))
+(allowx installd install_data_file (ioctl dir ((range 0x581f 0x5820))))
+(allowx installd app_data_file_type (ioctl file ((range 0x6601 0x6602))))
+(allowx installd app_data_file_type (ioctl dir ((range 0x6601 0x6602))))
+(allowx installd system_data_file (ioctl file ((range 0x6601 0x6602))))
+(allowx installd system_data_file (ioctl dir ((range 0x6601 0x6602))))
+(allowx installd install_data_file (ioctl file ((range 0x6601 0x6602))))
+(allowx installd install_data_file (ioctl dir ((range 0x6601 0x6602))))
+(allow installd user_profile_root_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd user_profile_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow installd user_profile_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow installd user_profile_data_file (file (unlink)))
+(allow installd labeledfs (filesystem (unmount)))
+(allow installd profman_dump_data_file (dir (write add_name search)))
+(allow installd profman_dump_data_file (file (write create setattr open)))
+(allow installd devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow installd toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow installd servicemanager (binder (call transfer)))
+(allow servicemanager installd (binder (call transfer)))
+(allow servicemanager installd (dir (search)))
+(allow servicemanager installd (file (read open)))
+(allow servicemanager installd (process (getattr)))
+(allow installd installd_service (service_manager (add find)))
+;;* lmx 192 system/sepolicy/private/installd.te
+
+(neverallow base_typeattr_767 installd_service (service_manager (add)))
+;;* lme
+
+(allow installd dumpstate (fifo_file (write getattr)))
+(allow installd system_server (binder (call transfer)))
+(allow system_server installd (binder (transfer)))
+(allow installd system_server (fd (use)))
+(allow installd permission_service (service_manager (find)))
+(allow installd block_device (dir (search)))
+(allow installd labeledfs (filesystem (quotamod quotaget)))
+(allow installd preloads_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow installd preloads_data_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search rmdir)))
+(allow installd preloads_media_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow installd preloads_media_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search rmdir)))
+(allow installd proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow installd storage_config_prop (file (read getattr map open)))
+(allow installd vold (fd (use)))
+(allow installd storage_area_key_file (dir (read write getattr lock open remove_name search rmdir)))
+(allow installd storage_area_key_file (file (unlink)))
+(allow installd virtualizationservice_data_file (file (unlink)))
+;;* lmx 241 system/sepolicy/private/installd.te
+
+(neverallow base_typeattr_768 installd_service (service_manager (find)))
+;;* lme
+
+;;* lmx 242 system/sepolicy/private/installd.te
+
+(neverallow base_typeattr_769 installd (binder (call)))
+;;* lme
+
+;;* lmx 248 system/sepolicy/private/installd.te
+
+(neverallow installd base_typeattr_770 (binder (call)))
+;;* lme
+
+(typetransition isolated_app tmpfs file appdomain_tmpfs)
+(allow isolated_app isolated_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su isolated_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 10 system/sepolicy/private/isolated_app.te
+
+(neverallow base_typeattr_287 isolated_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow isolated_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 10 system/sepolicy/private/isolated_app.te
+
+(neverallow base_typeattr_771 base_typeattr_287 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/isolated_app.te
+
+(neverallow base_typeattr_772 isolated_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/isolated_app.te
+
+(neverallow base_typeattr_773 isolated_app (process (ptrace)))
+;;* lme
+
+(allow isolated_app webviewupdate_service (service_manager (find)))
+(allow isolated_app untrusted_app_all (tcp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_app untrusted_app_all (udp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_app ephemeral_app (tcp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_app ephemeral_app (udp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_app priv_app (tcp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_app priv_app (udp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_app sdcard_type (file (read write getattr lock append map)))
+(allow isolated_app fuse (file (read write getattr lock append map)))
+(allow isolated_app media_rw_data_file (file (read write getattr lock append map)))
+(allow isolated_app webview_zygote (fd (use)))
+(allow isolated_app webview_zygote (process (sigchld)))
+(allow isolated_app webview_zygote (unix_dgram_socket (write)))
+(allow isolated_app webview_zygote_tmpfs (file (read)))
+(allow isolated_app_all app_data_file (file (read write getattr lock append map)))
+(allow isolated_app_all privapp_data_file (file (read write getattr lock append map)))
+(allow isolated_app_all sdk_sandbox_data_file (file (read write getattr lock append map)))
+(allow isolated_app_all activity_service (service_manager (find)))
+(allow isolated_app_all display_service (service_manager (find)))
+(allow isolated_app_all self (process (ptrace)))
+(allow isolated_app_all app_zygote (fd (use)))
+(allow isolated_app_all app_zygote (process (sigchld)))
+(allow isolated_app_all app_zygote (unix_dgram_socket (write)))
+(dontaudit isolated_app_all shell_data_file (dir (search)))
+(allow isolated_app_all apk_tmp_file (file (read getattr map)))
+(allow isolated_app_all apk_private_tmp_file (file (read getattr map)))
+;;* lmx 44 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all app_data_file_type (file (open)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all anr_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all anr_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 53 system/sepolicy/private/isolated_app_all.te
+
+(neverallow base_typeattr_774 hwbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 54 system/sepolicy/private/isolated_app_all.te
+
+(neverallow base_typeattr_774 base_typeattr_239 (hwservice_manager (add find list)))
+;;* lme
+
+;;* lmx 57 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all vndbinder_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/isolated_app_all.te
+
+(neverallow base_typeattr_774 base_typeattr_239 (service_manager (add list)))
+;;* lme
+
+;;* lmx 71 system/sepolicy/private/isolated_app_all.te
+
+(neverallow base_typeattr_774 base_typeattr_775 (service_manager (find)))
+;;* lme
+
+;;* lmx 74 system/sepolicy/private/isolated_app_all.te
+
+(neverallow base_typeattr_774 gpu_device (chr_file (ioctl read write getattr lock append map execute open watch watch_reads)))
+;;* lme
+
+;;* lmx 77 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all cache_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 78 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all cache_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 82 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app_all fuse (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app_all mnt_user_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+(neverallow isolated_app_all storage_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 83 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all mnt_user_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all mnt_user_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all mnt_user_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all mnt_user_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all mnt_user_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all mnt_user_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all storage_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all storage_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all storage_file (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all storage_file (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all storage_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all storage_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 84 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all sdcard_type (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all sdcard_type (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all sdcard_type (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all sdcard_type (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all sdcard_type (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all fuse (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all fuse (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all fuse (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all fuse (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow isolated_app_all fuse (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 85 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all sdcard_type (file (ioctl create setattr relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all fuse (file (ioctl create setattr relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 88 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all usbaccessory_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow isolated_app_all usb_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 91 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all webview_zygote (sock_file (write)))
+;;* lme
+
+;;* lmx 105 system/sepolicy/private/isolated_app_all.te
+
+(neverallow base_typeattr_774 base_typeattr_776 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 126 system/sepolicy/private/isolated_app_all.te
+
+(neverallow isolated_app_all untrusted_app_all (socket (create)))
+(neverallow isolated_app_all untrusted_app_all (tcp_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (udp_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (rawip_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (packet_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (key_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_route_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_tcpdiag_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_nflog_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_xfrm_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_selinux_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_audit_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_dnrt_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_kobject_uevent_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (appletalk_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (tun_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_iscsi_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_fib_lookup_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_connector_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_netfilter_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_generic_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_scsitransport_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_rdma_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netlink_crypto_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (sctp_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (icmp_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (ax25_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (ipx_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (netrom_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (atmpvc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (x25_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (rose_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (decnet_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (atmsvc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (rds_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (irda_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (pppox_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (llc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (can_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (tipc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (bluetooth_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (iucv_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (rxrpc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (isdn_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (phonet_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (ieee802154_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (caif_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (alg_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (nfc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (vsock_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (kcm_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (qipcrtr_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (smc_socket (create)))
+(neverallow isolated_app_all untrusted_app_all (xdp_socket (create)))
+(neverallow isolated_app_all ephemeral_app (socket (create)))
+(neverallow isolated_app_all ephemeral_app (tcp_socket (create)))
+(neverallow isolated_app_all ephemeral_app (udp_socket (create)))
+(neverallow isolated_app_all ephemeral_app (rawip_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_socket (create)))
+(neverallow isolated_app_all ephemeral_app (packet_socket (create)))
+(neverallow isolated_app_all ephemeral_app (key_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_route_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_tcpdiag_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_nflog_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_xfrm_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_selinux_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_audit_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_dnrt_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_kobject_uevent_socket (create)))
+(neverallow isolated_app_all ephemeral_app (appletalk_socket (create)))
+(neverallow isolated_app_all ephemeral_app (tun_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_iscsi_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_fib_lookup_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_connector_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_netfilter_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_generic_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_scsitransport_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_rdma_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netlink_crypto_socket (create)))
+(neverallow isolated_app_all ephemeral_app (sctp_socket (create)))
+(neverallow isolated_app_all ephemeral_app (icmp_socket (create)))
+(neverallow isolated_app_all ephemeral_app (ax25_socket (create)))
+(neverallow isolated_app_all ephemeral_app (ipx_socket (create)))
+(neverallow isolated_app_all ephemeral_app (netrom_socket (create)))
+(neverallow isolated_app_all ephemeral_app (atmpvc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (x25_socket (create)))
+(neverallow isolated_app_all ephemeral_app (rose_socket (create)))
+(neverallow isolated_app_all ephemeral_app (decnet_socket (create)))
+(neverallow isolated_app_all ephemeral_app (atmsvc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (rds_socket (create)))
+(neverallow isolated_app_all ephemeral_app (irda_socket (create)))
+(neverallow isolated_app_all ephemeral_app (pppox_socket (create)))
+(neverallow isolated_app_all ephemeral_app (llc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (can_socket (create)))
+(neverallow isolated_app_all ephemeral_app (tipc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (bluetooth_socket (create)))
+(neverallow isolated_app_all ephemeral_app (iucv_socket (create)))
+(neverallow isolated_app_all ephemeral_app (rxrpc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (isdn_socket (create)))
+(neverallow isolated_app_all ephemeral_app (phonet_socket (create)))
+(neverallow isolated_app_all ephemeral_app (ieee802154_socket (create)))
+(neverallow isolated_app_all ephemeral_app (caif_socket (create)))
+(neverallow isolated_app_all ephemeral_app (alg_socket (create)))
+(neverallow isolated_app_all ephemeral_app (nfc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (vsock_socket (create)))
+(neverallow isolated_app_all ephemeral_app (kcm_socket (create)))
+(neverallow isolated_app_all ephemeral_app (qipcrtr_socket (create)))
+(neverallow isolated_app_all ephemeral_app (smc_socket (create)))
+(neverallow isolated_app_all ephemeral_app (xdp_socket (create)))
+(neverallow isolated_app_all priv_app (socket (create)))
+(neverallow isolated_app_all priv_app (tcp_socket (create)))
+(neverallow isolated_app_all priv_app (udp_socket (create)))
+(neverallow isolated_app_all priv_app (rawip_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_socket (create)))
+(neverallow isolated_app_all priv_app (packet_socket (create)))
+(neverallow isolated_app_all priv_app (key_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_route_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_tcpdiag_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_nflog_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_xfrm_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_selinux_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_audit_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_dnrt_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_kobject_uevent_socket (create)))
+(neverallow isolated_app_all priv_app (appletalk_socket (create)))
+(neverallow isolated_app_all priv_app (tun_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_iscsi_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_fib_lookup_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_connector_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_netfilter_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_generic_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_scsitransport_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_rdma_socket (create)))
+(neverallow isolated_app_all priv_app (netlink_crypto_socket (create)))
+(neverallow isolated_app_all priv_app (sctp_socket (create)))
+(neverallow isolated_app_all priv_app (icmp_socket (create)))
+(neverallow isolated_app_all priv_app (ax25_socket (create)))
+(neverallow isolated_app_all priv_app (ipx_socket (create)))
+(neverallow isolated_app_all priv_app (netrom_socket (create)))
+(neverallow isolated_app_all priv_app (atmpvc_socket (create)))
+(neverallow isolated_app_all priv_app (x25_socket (create)))
+(neverallow isolated_app_all priv_app (rose_socket (create)))
+(neverallow isolated_app_all priv_app (decnet_socket (create)))
+(neverallow isolated_app_all priv_app (atmsvc_socket (create)))
+(neverallow isolated_app_all priv_app (rds_socket (create)))
+(neverallow isolated_app_all priv_app (irda_socket (create)))
+(neverallow isolated_app_all priv_app (pppox_socket (create)))
+(neverallow isolated_app_all priv_app (llc_socket (create)))
+(neverallow isolated_app_all priv_app (can_socket (create)))
+(neverallow isolated_app_all priv_app (tipc_socket (create)))
+(neverallow isolated_app_all priv_app (bluetooth_socket (create)))
+(neverallow isolated_app_all priv_app (iucv_socket (create)))
+(neverallow isolated_app_all priv_app (rxrpc_socket (create)))
+(neverallow isolated_app_all priv_app (isdn_socket (create)))
+(neverallow isolated_app_all priv_app (phonet_socket (create)))
+(neverallow isolated_app_all priv_app (ieee802154_socket (create)))
+(neverallow isolated_app_all priv_app (caif_socket (create)))
+(neverallow isolated_app_all priv_app (alg_socket (create)))
+(neverallow isolated_app_all priv_app (nfc_socket (create)))
+(neverallow isolated_app_all priv_app (vsock_socket (create)))
+(neverallow isolated_app_all priv_app (kcm_socket (create)))
+(neverallow isolated_app_all priv_app (qipcrtr_socket (create)))
+(neverallow isolated_app_all priv_app (smc_socket (create)))
+(neverallow isolated_app_all priv_app (xdp_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (tcp_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (udp_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (rawip_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (packet_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (key_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_route_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_tcpdiag_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_nflog_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_xfrm_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_selinux_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_audit_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_dnrt_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_kobject_uevent_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (appletalk_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (tun_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_iscsi_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_fib_lookup_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_connector_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_netfilter_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_generic_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_scsitransport_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_rdma_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netlink_crypto_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (sctp_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (icmp_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (ax25_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (ipx_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (netrom_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (atmpvc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (x25_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (rose_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (decnet_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (atmsvc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (rds_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (irda_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (pppox_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (llc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (can_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (tipc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (bluetooth_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (iucv_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (rxrpc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (isdn_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (phonet_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (ieee802154_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (caif_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (alg_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (nfc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (vsock_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (kcm_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (qipcrtr_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (smc_socket (create)))
+(neverallow isolated_app_all sdk_sandbox_all (xdp_socket (create)))
+(neverallow isolated_app_all self (socket (create)))
+(neverallow isolated_app_all self (tcp_socket (create)))
+(neverallow isolated_app_all self (udp_socket (create)))
+(neverallow isolated_app_all self (rawip_socket (create)))
+(neverallow isolated_app_all self (netlink_socket (create)))
+(neverallow isolated_app_all self (packet_socket (create)))
+(neverallow isolated_app_all self (key_socket (create)))
+(neverallow isolated_app_all self (netlink_route_socket (create)))
+(neverallow isolated_app_all self (netlink_tcpdiag_socket (create)))
+(neverallow isolated_app_all self (netlink_nflog_socket (create)))
+(neverallow isolated_app_all self (netlink_xfrm_socket (create)))
+(neverallow isolated_app_all self (netlink_selinux_socket (create)))
+(neverallow isolated_app_all self (netlink_audit_socket (create)))
+(neverallow isolated_app_all self (netlink_dnrt_socket (create)))
+(neverallow isolated_app_all self (netlink_kobject_uevent_socket (create)))
+(neverallow isolated_app_all self (appletalk_socket (create)))
+(neverallow isolated_app_all self (tun_socket (create)))
+(neverallow isolated_app_all self (netlink_iscsi_socket (create)))
+(neverallow isolated_app_all self (netlink_fib_lookup_socket (create)))
+(neverallow isolated_app_all self (netlink_connector_socket (create)))
+(neverallow isolated_app_all self (netlink_netfilter_socket (create)))
+(neverallow isolated_app_all self (netlink_generic_socket (create)))
+(neverallow isolated_app_all self (netlink_scsitransport_socket (create)))
+(neverallow isolated_app_all self (netlink_rdma_socket (create)))
+(neverallow isolated_app_all self (netlink_crypto_socket (create)))
+(neverallow isolated_app_all self (sctp_socket (create)))
+(neverallow isolated_app_all self (icmp_socket (create)))
+(neverallow isolated_app_all self (ax25_socket (create)))
+(neverallow isolated_app_all self (ipx_socket (create)))
+(neverallow isolated_app_all self (netrom_socket (create)))
+(neverallow isolated_app_all self (atmpvc_socket (create)))
+(neverallow isolated_app_all self (x25_socket (create)))
+(neverallow isolated_app_all self (rose_socket (create)))
+(neverallow isolated_app_all self (decnet_socket (create)))
+(neverallow isolated_app_all self (atmsvc_socket (create)))
+(neverallow isolated_app_all self (rds_socket (create)))
+(neverallow isolated_app_all self (irda_socket (create)))
+(neverallow isolated_app_all self (pppox_socket (create)))
+(neverallow isolated_app_all self (llc_socket (create)))
+(neverallow isolated_app_all self (can_socket (create)))
+(neverallow isolated_app_all self (tipc_socket (create)))
+(neverallow isolated_app_all self (bluetooth_socket (create)))
+(neverallow isolated_app_all self (iucv_socket (create)))
+(neverallow isolated_app_all self (rxrpc_socket (create)))
+(neverallow isolated_app_all self (isdn_socket (create)))
+(neverallow isolated_app_all self (phonet_socket (create)))
+(neverallow isolated_app_all self (ieee802154_socket (create)))
+(neverallow isolated_app_all self (caif_socket (create)))
+(neverallow isolated_app_all self (alg_socket (create)))
+(neverallow isolated_app_all self (nfc_socket (create)))
+(neverallow isolated_app_all self (vsock_socket (create)))
+(neverallow isolated_app_all self (kcm_socket (create)))
+(neverallow isolated_app_all self (qipcrtr_socket (create)))
+(neverallow isolated_app_all self (smc_socket (create)))
+(neverallow isolated_app_all self (xdp_socket (create)))
+;;* lme
+
+(typetransition isolated_compute_app tmpfs file appdomain_tmpfs)
+(allow isolated_compute_app isolated_compute_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su isolated_compute_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 14 system/sepolicy/private/isolated_compute_app.te
+
+(neverallow base_typeattr_777 isolated_compute_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow isolated_compute_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 14 system/sepolicy/private/isolated_compute_app.te
+
+(neverallow base_typeattr_778 base_typeattr_777 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 14 system/sepolicy/private/isolated_compute_app.te
+
+(neverallow base_typeattr_779 isolated_compute_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 14 system/sepolicy/private/isolated_compute_app.te
+
+(neverallow base_typeattr_780 isolated_compute_app (process (ptrace)))
+;;* lme
+
+(allow isolated_compute_app isolated_compute_allowed_service (service_manager (find)))
+(allow isolated_compute_app isolated_compute_allowed_device (chr_file (ioctl read write map)))
+(allow isolated_compute_app hwservicemanager (binder (call transfer)))
+(allow hwservicemanager isolated_compute_app (binder (call transfer)))
+(allow hwservicemanager isolated_compute_app (dir (search)))
+(allow hwservicemanager isolated_compute_app (file (read map open)))
+(allow hwservicemanager isolated_compute_app (process (getattr)))
+(allow isolated_compute_app dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow isolated_compute_app untrusted_app_all (tcp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_compute_app untrusted_app_all (udp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_compute_app ephemeral_app (tcp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_compute_app ephemeral_app (udp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_compute_app priv_app (tcp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_compute_app priv_app (udp_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow isolated_compute_app toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow isolated_compute_app gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow isolated_compute_app gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow isolated_compute_app sysfs_gpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init iw_exec (file (read getattr map execute open)))
+(allow init iw (process (transition)))
+(allow iw iw_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init iw (process (noatsecure)))
+(allow init iw (process (siginh rlimitinh)))
+(typetransition init iw_exec process iw)
+(allow init kcmdlinectrl_exec (file (read getattr map execute open)))
+(allow init kcmdlinectrl (process (transition)))
+(allow kcmdlinectrl kcmdlinectrl_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init kcmdlinectrl (process (noatsecure)))
+(allow init kcmdlinectrl (process (siginh rlimitinh)))
+(typetransition init kcmdlinectrl_exec process kcmdlinectrl)
+(allow kcmdlinectrl property_socket (sock_file (write)))
+(allow kcmdlinectrl init (unix_stream_socket (connectto)))
+(allow kcmdlinectrl kcmdline_prop (property_service (set)))
+(allow kcmdlinectrl kcmdline_prop (file (read getattr map open)))
+(allow kcmdlinectrl misc_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow kcmdlinectrl block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow kcmdlinectrl gsi_metadata_file_type (dir (search)))
+(allow kcmdlinectrl metadata_file (dir (search)))
+(allow kcmdlinectrl gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kcmdlinectrl proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kcmdlinectrl proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit kcmdlinectrl sysfs_dt_firmware_android (dir (search)))
+(dontaudit kcmdlinectrl vendor_property_type (file (read)))
+(allow kernel init_exec (file (read getattr map execute open)))
+(allow kernel init (process (transition)))
+(allow init init_exec (file (read getattr map execute open entrypoint)))
+(allow init kernel (process (sigchld)))
+(dontaudit kernel init (process (noatsecure)))
+(allow kernel init (process (siginh rlimitinh)))
+(typetransition kernel init_exec process init)
+(allow kernel snapuserd_exec (file (read getattr map execute open)))
+(allow kernel snapuserd (process (transition)))
+(allow snapuserd snapuserd_exec (file (read getattr map execute open entrypoint)))
+(allow snapuserd kernel (process (sigchld)))
+(dontaudit kernel snapuserd (process (noatsecure)))
+(allow kernel snapuserd (process (siginh rlimitinh)))
+(typetransition kernel snapuserd_exec process snapuserd)
+(allow kernel otapreopt_chroot (fd (use)))
+(allow kernel postinstall_file (file (read)))
+(allow kernel tmpfs (blk_file (getattr relabelfrom)))
+(allow kernel tmpfs (chr_file (getattr relabelfrom)))
+(allow kernel tmpfs (lnk_file (getattr relabelfrom)))
+(allow kernel tmpfs (dir (read relabelfrom open)))
+(allow kernel block_device (blk_file (relabelto)))
+(allow kernel block_device (lnk_file (relabelto)))
+(allow kernel dm_device (chr_file (relabelto)))
+(allow kernel dm_device (blk_file (relabelto)))
+(allow kernel dm_user_device (dir (read relabelto open search)))
+(allow kernel dm_user_device (chr_file (relabelto)))
+(allow kernel kmsg_device (chr_file (relabelto)))
+(allow kernel null_device (chr_file (relabelto)))
+(allow kernel random_device (chr_file (relabelto)))
+(allow kernel snapuserd_exec (file (relabelto)))
+(allow kernel kmsg_device (chr_file (write)))
+(allow kernel gsid (fd (use)))
+(allow kernel self (capability (sys_nice)))
+(allow kernel self (cap_userns (sys_nice)))
+(allow kernel rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow kernel rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kernel rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow kernel proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kernel proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kernel selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow kernel selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kernel file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow kernel rootfs (file (relabelfrom)))
+(allow kernel init_exec (file (relabelto)))
+(allow kernel init (process (share)))
+(allow kernel unlabeled (dir (search)))
+(allow kernel usbfs (filesystem (mount)))
+(allow kernel usbfs (dir (search)))
+(dontaudit kernel self (security (setenforce)))
+(allow kernel self (capability (sys_resource)))
+(allow kernel self (cap_userns (sys_resource)))
+(allow kernel self (capability (sys_boot)))
+(allow kernel self (cap_userns (sys_boot)))
+(allow kernel proc_sysrq (file (write lock append map open)))
+(allow kernel tmpfs (chr_file (write)))
+(allow kernel selinuxfs (file (write)))
+(allow kernel self (security (setcheckreqprot)))
+(allow kernel sdcard_type (file (read write)))
+(allow kernel fuse (file (read write)))
+(allow kernel mediaprovider (fd (use)))
+(allow kernel vold (fd (use)))
+(allow kernel app_data_file (file (read)))
+(allow kernel privapp_data_file (file (read)))
+(allow kernel asec_image_file (file (read)))
+(allow kernel media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow kernel media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow kernel vold_data_file (file (read write)))
+(allow kernel apexd (fd (use)))
+(allow kernel apex_data_file (file (read)))
+(allow kernel staging_data_file (file (read)))
+(allow kernel vendor_apex_file (file (read)))
+(allow kernel system_file (file (execute)))
+(allow kernel appdomain_tmpfs (file (read write)))
+(dontaudit kernel metadata_file (dir (search)))
+(dontaudit kernel ota_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(dontaudit kernel sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit kernel sysfs (file (read write open)))
+(dontaudit kernel sysfs (chr_file (read write open)))
+(dontaudit kernel dm_device (chr_file (ioctl)))
+(dontaudit kernel self (capability (setgid sys_admin mknod)))
+(dontaudit kernel dm_user_device (dir (write add_name)))
+(dontaudit kernel dm_user_device (chr_file (create setattr)))
+(dontaudit kernel tmpfs (lnk_file (read)))
+(dontaudit kernel tmpfs (blk_file (read open)))
+;;* lmx 184 system/sepolicy/private/kernel.te
+
+(neverallow base_typeattr_239 kernel (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 194 system/sepolicy/private/kernel.te
+
+(neverallow kernel base_typeattr_239 (file (execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 199 system/sepolicy/private/kernel.te
+
+(neverallow kernel self (capability (dac_override dac_read_search)))
+(neverallow kernel self (cap_userns (dac_override dac_read_search)))
+;;* lme
+
+;;* lmx 202 system/sepolicy/private/kernel.te
+
+(neverallow base_typeattr_239 kernel (process (ptrace)))
+;;* lme
+
+(allow init keystore_exec (file (read getattr map execute open)))
+(allow init keystore (process (transition)))
+(allow keystore keystore_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init keystore (process (noatsecure)))
+(allow init keystore (process (siginh rlimitinh)))
+(typetransition init keystore_exec process keystore)
+(allow keystore platform_app (binder (call)))
+(allow keystore device_logging_prop (file (read getattr map open)))
+(allow keystore remote_prov_prop (file (read getattr map open)))
+(allow keystore remote_prov_cert_prop (file (read getattr map open)))
+(allow keystore device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
+(allow keystore statsdw_socket (sock_file (write)))
+(allow keystore statsd (unix_dgram_socket (sendto)))
+(allow keystore keystore2_key_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore keystore_listen_prop (file (read getattr map open)))
+(allow keystore vold (binder (transfer)))
+(allow keystore property_socket (sock_file (write)))
+(allow keystore init (unix_stream_socket (connectto)))
+(allow keystore keystore_diagnostics_prop (property_service (set)))
+(allow keystore keystore_diagnostics_prop (file (read getattr map open)))
+(allow keystore apexd_prop (file (read getattr map open)))
+(allow keystore apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow keystore apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow keystore vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore servicemanager (binder (call transfer)))
+(allow servicemanager keystore (binder (call transfer)))
+(allow servicemanager keystore (dir (search)))
+(allow servicemanager keystore (file (read open)))
+(allow servicemanager keystore (process (getattr)))
+(allow keystore remote_provisioning_service_server (binder (call transfer)))
+(allow remote_provisioning_service_server keystore (binder (transfer)))
+(allow keystore remote_provisioning_service_server (fd (use)))
+(allow keystore rkp_cert_processor (binder (call transfer)))
+(allow rkp_cert_processor keystore (binder (transfer)))
+(allow keystore rkp_cert_processor (fd (use)))
+(allow keystore system_server (binder (call transfer)))
+(allow system_server keystore (binder (transfer)))
+(allow keystore system_server (fd (use)))
+(allow keystore wificond (binder (call transfer)))
+(allow wificond keystore (binder (transfer)))
+(allow keystore wificond (fd (use)))
+(allow keystore keystore_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow keystore keystore_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow keystore keystore_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow keystore keystore_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow keystore keystore_data_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow keystore keystore_exec (file (getattr)))
+(allow keystore keystore_service (service_manager (add find)))
+;;* lmx 62 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 keystore_service (service_manager (add)))
+;;* lme
+
+(allow keystore sec_key_att_app_id_provider_service (service_manager (find)))
+(allow keystore remote_provisioning_service (service_manager (find)))
+(allow keystore rkp_cert_processor_service (service_manager (find)))
+(allow keystore apex_service (service_manager (find)))
+(allow keystore apexd (binder (call)))
+(allow keystore apc_service (service_manager (add find)))
+;;* lmx 71 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 apc_service (service_manager (add)))
+;;* lme
+
+(allow keystore keystore_compat_hal_service (service_manager (add find)))
+;;* lmx 72 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 keystore_compat_hal_service (service_manager (add)))
+;;* lme
+
+(allow keystore authorization_service (service_manager (add find)))
+;;* lmx 73 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 authorization_service (service_manager (add)))
+;;* lme
+
+(allow keystore keystore_maintenance_service (service_manager (add find)))
+;;* lmx 74 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 keystore_maintenance_service (service_manager (add)))
+;;* lme
+
+(allow keystore keystore_metrics_service (service_manager (add find)))
+;;* lmx 75 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 keystore_metrics_service (service_manager (add)))
+;;* lme
+
+(allow keystore legacykeystore_service (service_manager (add find)))
+;;* lmx 76 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 legacykeystore_service (service_manager (add)))
+;;* lme
+
+(allow keystore selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow keystore selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore selinuxfs (file (write lock append map open)))
+(allow keystore kernel (security (compute_av)))
+(allow keystore self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow keystore cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow keystore cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow keystore cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow keystore vendor_security_patch_level_prop (file (read getattr map open)))
+(allow keystore keystore_config_prop (file (read getattr map open)))
+;;* lmx 97 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 keystore_data_file (dir (write lock relabelfrom append map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 98 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_781 keystore_data_file (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_781 keystore_data_file (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_781 keystore_data_file (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_781 keystore_data_file (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 100 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_782 keystore_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 101 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_782 keystore_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_782 keystore_data_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_782 keystore_data_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_782 keystore_data_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 103 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_239 keystore (process (ptrace)))
+;;* lme
+
+;;* lmx 107 system/sepolicy/private/keystore.te
+
+(neverallow base_typeattr_782 keystore_diagnostics_prop (property_service (set)))
+;;* lme
+
+(allow init linkerconfig_exec (file (read getattr map execute open)))
+(allow init linkerconfig (process (transition)))
+(allow linkerconfig linkerconfig_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init linkerconfig (process (noatsecure)))
+(allow init linkerconfig (process (siginh rlimitinh)))
+(typetransition init linkerconfig_exec process linkerconfig)
+(allow linkerconfig linkerconfig_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow linkerconfig linkerconfig_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow linkerconfig kmsg_device (chr_file (write lock append map open)))
+(allow linkerconfig devpts (chr_file (ioctl read write getattr)))
+(allow linkerconfig apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow linkerconfig apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow linkerconfig vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow linkerconfig vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow linkerconfig vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow linkerconfig otapreopt_chroot (fd (use)))
+(allow linkerconfig postinstall_apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow linkerconfig postinstall_apex_mnt_dir (file (ioctl read getattr lock map open watch watch_reads)))
+(allow linkerconfig dexopt_chroot_setup (fd (use)))
+;;* lmx 40 system/sepolicy/private/linkerconfig.te
+
+(neverallow base_typeattr_783 linkerconfig_exec (file (execute execute_no_trans)))
+;;* lme
+
+(allow init linux_vm_setup_exec (file (read getattr map execute open)))
+(allow init linux_vm_setup (process (transition)))
+(allow linux_vm_setup linux_vm_setup_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init linux_vm_setup (process (noatsecure)))
+(allow init linux_vm_setup (process (siginh rlimitinh)))
+(typetransition init linux_vm_setup_exec process linux_vm_setup)
+(allow init llkd_exec (file (read getattr map execute open)))
+(allow init llkd (process (transition)))
+(allow llkd llkd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init llkd (process (noatsecure)))
+(allow init llkd (process (siginh rlimitinh)))
+(typetransition init llkd_exec process llkd)
+(allow llkd llkd_prop (file (read getattr map open)))
+(allow llkd self (capability (kill)))
+(allow llkd self (cap_userns (kill)))
+(allow llkd self (capability (ipc_lock)))
+(allow llkd self (cap_userns (ipc_lock)))
+(allow llkd domain (process (sigkill)))
+(allow llkd domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow llkd domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow llkd domain (lnk_file (read)))
+(allow llkd proc_hung_task (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow llkd proc_sysrq (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow llkd kmsg_device (chr_file (write lock append map open)))
+;;* lmx 49 system/sepolicy/private/llkd.te
+
+(neverallow base_typeattr_238 llkd (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/llkd.te
+
+(neverallow domain llkd (process (ptrace)))
+;;* lme
+
+;;* lmx 53 system/sepolicy/private/llkd.te
+
+(neverallow base_typeattr_239 llkd (process (noatsecure)))
+;;* lme
+
+(allow init lmkd_exec (file (read getattr map execute open)))
+(allow init lmkd (process (transition)))
+(allow lmkd lmkd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init lmkd (process (noatsecure)))
+(allow init lmkd (process (siginh rlimitinh)))
+(typetransition init lmkd_exec process lmkd)
+(allow lmkd property_socket (sock_file (write)))
+(allow lmkd init (unix_stream_socket (connectto)))
+(allow lmkd system_lmk_prop (property_service (set)))
+(allow lmkd system_lmk_prop (file (read getattr map open)))
+(allow lmkd property_socket (sock_file (write)))
+(allow lmkd init (unix_stream_socket (connectto)))
+(allow lmkd lmkd_prop (property_service (set)))
+(allow lmkd lmkd_prop (file (read getattr map open)))
+(allow lmkd device_config_lmkd_native_prop (file (read getattr map open)))
+(allow lmkd debugfs_tracing (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd self (perf_event (open cpu kernel write)))
+(allow lmkd fs_bpf (file (read)))
+(allow lmkd bpfloader (bpf (map_read map_write prog_run)))
+(allow lmkd fs_bpf_memevents (file (read write)))
+(allow lmkd fs_bpf_memevents (dir (search)))
+(allow lmkd self (capability (dac_override dac_read_search kill sys_resource)))
+(allow lmkd self (cap_userns (dac_override dac_read_search kill sys_resource)))
+(allow lmkd self (capability (ipc_lock)))
+(allow lmkd self (cap_userns (ipc_lock)))
+(allow lmkd domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow lmkd domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd domain (file (write)))
+(allow lmkd sysfs_lowmemorykiller (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow lmkd sysfs_lowmemorykiller (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd sysfs_lowmemorykiller (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd sysfs_lowmemorykiller (file (write lock append map open)))
+(allow lmkd domain (process (sigkill setsched)))
+(allow lmkd kernel (process (setsched)))
+(allow lmkd cgroup (dir (remove_name rmdir)))
+(allow lmkd cgroup_v2 (dir (remove_name rmdir)))
+(allow lmkd cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd self (capability (sys_nice)))
+(allow lmkd self (cap_userns (sys_nice)))
+(allow lmkd proc_zoneinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd domain (dir (read open search)))
+(allow lmkd domain (file (read open)))
+(allow lmkd proc_sysrq (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow lmkd proc_lowmemorykiller (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd proc_pressure_cpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd proc_pressure_io (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lmkd proc_pressure_mem (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow lmkd lmkd_socket (sock_file (write)))
+(allow lmkd statsdw_socket (sock_file (write)))
+(allow lmkd statsd (unix_dgram_socket (sendto)))
+;;* lmx 92 system/sepolicy/private/lmkd.te
+
+(neverallow base_typeattr_239 lmkd (process (noatsecure)))
+;;* lme
+
+;;* lmx 93 system/sepolicy/private/lmkd.te
+
+(neverallow lmkd self (capability (sys_ptrace)))
+(neverallow lmkd self (cap_userns (sys_ptrace)))
+;;* lme
+
+;;* lmx 94 system/sepolicy/private/lmkd.te
+
+(neverallow base_typeattr_784 lmkd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 95 system/sepolicy/private/lmkd.te
+
+(neverallow lmkd self (perf_event (tracepoint read)))
+;;* lme
+
+(allow init logd_exec (file (read getattr map execute open)))
+(allow init logd (process (transition)))
+(allow logd logd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init logd (process (noatsecure)))
+(allow init logd (process (siginh rlimitinh)))
+(typetransition init logd_exec process logd)
+(allow logd device_logging_prop (file (read getattr map open)))
+;;* lmx 17 system/sepolicy/private/logd.te
+
+(neverallow logd base_typeattr_785 (file (write create append)))
+;;* lme
+
+;;* lmx 32 system/sepolicy/private/logd.te
+
+(neverallow base_typeattr_786 runtime_event_log_tags_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/logd.te
+
+(neverallow base_typeattr_787 runtime_event_log_tags_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow logd servicemanager (binder (call transfer)))
+(allow servicemanager logd (binder (call transfer)))
+(allow servicemanager logd (dir (search)))
+(allow servicemanager logd (file (read open)))
+(allow servicemanager logd (process (getattr)))
+(allow logd system_server (binder (call transfer)))
+(allow system_server logd (binder (transfer)))
+(allow logd system_server (fd (use)))
+(allow logd logd_service (service_manager (add find)))
+;;* lmx 50 system/sepolicy/private/logd.te
+
+(neverallow base_typeattr_788 logd_service (service_manager (add)))
+;;* lme
+
+(allow logd logcat_service (service_manager (find)))
+(allow logd cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow logd cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow logd cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd proc_kmsg (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow logd proc_kmsg (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd proc_kmsg (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd proc_meminfo (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow logd proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd proc_meminfo (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd self (capability (setgid setuid setpcap sys_nice audit_control)))
+(allow logd self (cap_userns (setgid setuid setpcap sys_nice audit_control)))
+(allow logd self (capability2 (syslog)))
+(allow logd self (cap2_userns (syslog)))
+(allow logd self (netlink_audit_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_write)))
+(allow logd kernel (system (syslog_read)))
+(allow logd kmsg_device (chr_file (write getattr lock append map open)))
+(allow logd system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd system_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd pstorefs (dir (search)))
+(allow logd pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd runtime_event_log_tags_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow logd domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow logd domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow logd kernel (system (syslog_mod)))
+(allow logd logd_socket (sock_file (write)))
+(allow logd logd (unix_stream_socket (connectto)))
+(allow logd runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow runtime_event_log_tags_file tmpfs (filesystem (associate)))
+(dontaudit domain runtime_event_log_tags_file (file (read map open)))
+(allow logd property_socket (sock_file (write)))
+(allow logd init (unix_stream_socket (connectto)))
+(allow logd logd_prop (property_service (set)))
+(allow logd logd_prop (file (read getattr map open)))
+;;* lmx 99 system/sepolicy/private/logd.te
+
+(neverallow logd dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 102 system/sepolicy/private/logd.te
+
+(neverallow logd domain (process (ptrace)))
+;;* lme
+
+;;* lmx 105 system/sepolicy/private/logd.te
+
+(neverallow domain logd (process (ptrace)))
+;;* lme
+
+;;* lmx 108 system/sepolicy/private/logd.te
+
+(neverallow logd system_file_type (file (write)))
+(neverallow logd system_file_type (dir (write)))
+(neverallow logd system_file_type (lnk_file (write)))
+(neverallow logd system_file_type (chr_file (write)))
+(neverallow logd system_file_type (blk_file (write)))
+(neverallow logd system_file_type (sock_file (write)))
+(neverallow logd system_file_type (fifo_file (write)))
+;;* lme
+
+;;* lmx 116 system/sepolicy/private/logd.te
+
+(neverallow logd base_typeattr_789 (file (write)))
+(neverallow logd base_typeattr_789 (dir (write)))
+(neverallow logd base_typeattr_789 (lnk_file (write)))
+(neverallow logd base_typeattr_789 (chr_file (write)))
+(neverallow logd base_typeattr_789 (blk_file (write)))
+(neverallow logd base_typeattr_789 (sock_file (write)))
+(neverallow logd base_typeattr_789 (fifo_file (write)))
+;;* lme
+
+;;* lmx 119 system/sepolicy/private/logd.te
+
+(neverallow base_typeattr_238 logd (process (transition)))
+;;* lme
+
+;;* lmx 120 system/sepolicy/private/logd.te
+
+(neverallow base_typeattr_239 logd (process (dyntransition)))
+;;* lme
+
+;;* lmx 127 system/sepolicy/private/logd.te
+
+(neverallow base_typeattr_790 runtime_event_log_tags_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+(allow logpersist shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow logpersist logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allowx logpersist misc_logd_file (ioctl file (0x6602)))
+(allowx logpersist misc_logd_file (ioctl file (0xf512)))
+;;* lmx 38 system/sepolicy/private/logpersist.te
+
+(neverallow logpersist dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 41 system/sepolicy/private/logpersist.te
+
+(neverallow logpersist domain (process (ptrace)))
+;;* lme
+
+;;* lmx 44 system/sepolicy/private/logpersist.te
+
+(neverallow logpersist app_data_file_type (file (write)))
+(neverallow logpersist app_data_file_type (dir (write)))
+(neverallow logpersist app_data_file_type (lnk_file (write)))
+(neverallow logpersist app_data_file_type (chr_file (write)))
+(neverallow logpersist app_data_file_type (blk_file (write)))
+(neverallow logpersist app_data_file_type (sock_file (write)))
+(neverallow logpersist app_data_file_type (fifo_file (write)))
+(neverallow logpersist system_data_file (file (write)))
+(neverallow logpersist system_data_file (dir (write)))
+(neverallow logpersist system_data_file (lnk_file (write)))
+(neverallow logpersist system_data_file (chr_file (write)))
+(neverallow logpersist system_data_file (blk_file (write)))
+(neverallow logpersist system_data_file (sock_file (write)))
+(neverallow logpersist system_data_file (fifo_file (write)))
+;;* lme
+
+;;* lmx 54 system/sepolicy/private/logpersist.te
+
+(neverallow base_typeattr_239 logpersist (process (dyntransition)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/logpersist.te
+
+(neverallow logpersist file_type (file (write create append)))
+;;* lme
+
+;;* lmx 62 system/sepolicy/private/logpersist.te
+
+(neverallow base_typeattr_791 misc_logd_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 63 system/sepolicy/private/logpersist.te
+
+(neverallow base_typeattr_238 misc_logd_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/logpersist.te
+
+(neverallow base_typeattr_238 misc_logd_file (dir (write relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+(allow init lpdumpd_exec (file (read getattr map execute open)))
+(allow init lpdumpd (process (transition)))
+(allow lpdumpd lpdumpd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init lpdumpd (process (noatsecure)))
+(allow init lpdumpd (process (siginh rlimitinh)))
+(typetransition init lpdumpd_exec process lpdumpd)
+(allow lpdumpd servicemanager (binder (call transfer)))
+(allow servicemanager lpdumpd (binder (call transfer)))
+(allow servicemanager lpdumpd (dir (search)))
+(allow servicemanager lpdumpd (file (read open)))
+(allow servicemanager lpdumpd (process (getattr)))
+(allow lpdumpd lpdump_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/lpdumpd.te
+
+(neverallow base_typeattr_792 lpdump_service (service_manager (add)))
+;;* lme
+
+(allow lpdumpd block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow lpdumpd super_block_device_type (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd sysfs_dt_firmware_android (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow lpdumpd sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd gsi_metadata_file_type (dir (search)))
+(allow lpdumpd metadata_file (dir (search)))
+(allow lpdumpd gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd sysfs_dt_firmware_android (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow lpdumpd sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd sysfs_dt_firmware_android (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow lpdumpd virtual_ab_prop (file (read getattr map open)))
+(allow lpdumpd metadata_file (dir (search)))
+(allow lpdumpd ota_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow lpdumpd ota_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 39 system/sepolicy/private/lpdumpd.te
+
+(neverallow base_typeattr_793 lpdump_service (service_manager (find)))
+;;* lme
+
+;;* lmx 47 system/sepolicy/private/lpdumpd.te
+
+(neverallow base_typeattr_794 lpdumpd (binder (call)))
+;;* lme
+
+(allow init mdnsd_exec (file (read getattr map execute open)))
+(allow init mdnsd (process (transition)))
+(allow mdnsd mdnsd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mdnsd (process (noatsecure)))
+(allow init mdnsd (process (siginh rlimitinh)))
+(typetransition init mdnsd_exec process mdnsd)
+(allow mdnsd proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mdnsd proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mdnsd proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init mediadrmserver_exec (file (read getattr map execute open)))
+(allow init mediadrmserver (process (transition)))
+(allow mediadrmserver mediadrmserver_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediadrmserver (process (noatsecure)))
+(allow init mediadrmserver (process (siginh rlimitinh)))
+(typetransition init mediadrmserver_exec process mediadrmserver)
+(auditallow mediadrmserver hal_graphics_allocator_server (binder (call)))
+(allow mediadrmserver servicemanager (binder (call transfer)))
+(allow servicemanager mediadrmserver (binder (call transfer)))
+(allow servicemanager mediadrmserver (dir (search)))
+(allow servicemanager mediadrmserver (file (read open)))
+(allow servicemanager mediadrmserver (process (getattr)))
+(allow mediadrmserver binderservicedomain (binder (call transfer)))
+(allow binderservicedomain mediadrmserver (binder (transfer)))
+(allow mediadrmserver binderservicedomain (fd (use)))
+(allow mediadrmserver appdomain (binder (call transfer)))
+(allow appdomain mediadrmserver (binder (transfer)))
+(allow mediadrmserver appdomain (fd (use)))
+(allow mediadrmserver mediadrmserver_service (service_manager (add find)))
+;;* lmx 18 system/sepolicy/private/mediadrmserver.te
+
+(neverallow base_typeattr_795 mediadrmserver_service (service_manager (add)))
+;;* lme
+
+(allow mediadrmserver mediaserver_service (service_manager (find)))
+(allow mediadrmserver mediametrics_service (service_manager (find)))
+(allow mediadrmserver processinfo_service (service_manager (find)))
+(allow mediadrmserver surfaceflinger_service (service_manager (find)))
+(allow mediadrmserver system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediadrmserver hal_omx_server (binder (call transfer)))
+(allow hal_omx_server mediadrmserver (binder (transfer)))
+(allow mediadrmserver hal_omx_server (fd (use)))
+;;* lmx 34 system/sepolicy/private/mediadrmserver.te
+
+(neverallow mediadrmserver fs_type (file (execute_no_trans)))
+(neverallow mediadrmserver file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/mediadrmserver.te
+
+(neverallowx mediadrmserver domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx mediadrmserver domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx mediadrmserver domain (ioctl rawip_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/mediadrmserver.te
+
+(neverallowx mediadrmserver domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediadrmserver domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediadrmserver domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/mediadrmserver.te
+
+(neverallowx mediadrmserver domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediadrmserver domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediadrmserver domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+(allow init mediaextractor_exec (file (read getattr map execute open)))
+(allow init mediaextractor (process (transition)))
+(allow mediaextractor mediaextractor_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediaextractor (process (noatsecure)))
+(allow init mediaextractor (process (siginh rlimitinh)))
+(typetransition init mediaextractor_exec process mediaextractor)
+(typetransition mediaextractor tmpfs file mediaextractor_tmpfs)
+(allow mediaextractor mediaextractor_tmpfs (file (read write getattr map)))
+(allow mediaextractor appdomain_tmpfs (file (read write getattr map)))
+(allow mediaextractor mediaserver_tmpfs (file (read write getattr map)))
+(allow mediaextractor system_server_tmpfs (file (read write getattr map)))
+(allow mediaextractor device_config_media_native_prop (file (read getattr map open)))
+(allow mediaextractor device_config_swcodec_native_prop (file (read getattr map open)))
+(allow mediaextractor servicemanager (binder (call transfer)))
+(allow servicemanager mediaextractor (binder (call transfer)))
+(allow servicemanager mediaextractor (dir (search)))
+(allow servicemanager mediaextractor (file (read open)))
+(allow servicemanager mediaextractor (process (getattr)))
+(allow mediaextractor binderservicedomain (binder (call transfer)))
+(allow binderservicedomain mediaextractor (binder (transfer)))
+(allow mediaextractor binderservicedomain (fd (use)))
+(allow mediaextractor appdomain (binder (call transfer)))
+(allow appdomain mediaextractor (binder (transfer)))
+(allow mediaextractor appdomain (fd (use)))
+(allow mediaextractor mediaextractor_service (service_manager (add find)))
+;;* lmx 19 system/sepolicy/private/mediaextractor.te
+
+(neverallow base_typeattr_796 mediaextractor_service (service_manager (add)))
+;;* lme
+
+(allow mediaextractor mediametrics_service (service_manager (find)))
+(allow mediaextractor hidl_token_hwservice (hwservice_manager (find)))
+(allow mediaextractor system_server (fd (use)))
+(allow mediaextractor cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaextractor cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaextractor cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaextractor cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaextractor cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaextractor cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaextractor proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaextractor anr_data_file (file (append)))
+(allow mediaextractor dumpstate (fd (use)))
+(allow mediaextractor incidentd (fd (use)))
+(allow mediaextractor dumpstate (fifo_file (write append)))
+(allow mediaextractor incidentd (fifo_file (write append)))
+(allow mediaextractor system_server (fifo_file (write append)))
+(allow mediaextractor tombstoned (unix_stream_socket (connectto)))
+(allow mediaextractor tombstoned (fd (use)))
+(allow mediaextractor tombstoned_crash_socket (sock_file (write)))
+(allow mediaextractor tombstone_data_file (file (append)))
+(allow mediaextractor sdcard_type (file (read getattr)))
+(allow mediaextractor fuse (file (read getattr)))
+(allow mediaextractor media_rw_data_file (file (read getattr)))
+(allow mediaextractor app_data_file (file (read getattr)))
+(allow mediaextractor privapp_data_file (file (read getattr)))
+(allow mediaextractor apk_data_file (file (read getattr)))
+(allow mediaextractor asec_apk_file (file (read getattr)))
+(allow mediaextractor ringtone_file (file (read getattr)))
+(allow mediaextractor vendor_overlay_file (file (read map)))
+(allow mediaextractor system_file (dir (read open)))
+;;* lmx 56 system/sepolicy/private/mediaextractor.te
+
+(neverallow mediaextractor fs_type (file (execute_no_trans)))
+(neverallow mediaextractor file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/private/mediaextractor.te
+
+(neverallow mediaextractor domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow mediaextractor domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/private/mediaextractor.te
+
+(neverallow mediaextractor domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+;;* lmx 78 system/sepolicy/private/mediaextractor.te
+
+(neverallow mediaextractor data_file_type (file (open)))
+;;* lme
+
+(allow init mediametrics_exec (file (read getattr map execute open)))
+(allow init mediametrics (process (transition)))
+(allow mediametrics mediametrics_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediametrics (process (noatsecure)))
+(allow init mediametrics (process (siginh rlimitinh)))
+(typetransition init mediametrics_exec process mediametrics)
+(allow mediametrics stats_service (service_manager (find)))
+(allow mediametrics statsmanager_service (service_manager (find)))
+(allow mediametrics statsd (binder (call transfer)))
+(allow statsd mediametrics (binder (transfer)))
+(allow mediametrics statsd (fd (use)))
+(allow mediametrics servicemanager (binder (call transfer)))
+(allow servicemanager mediametrics (binder (call transfer)))
+(allow servicemanager mediametrics (dir (search)))
+(allow servicemanager mediametrics (file (read open)))
+(allow servicemanager mediametrics (process (getattr)))
+(allow mediametrics binderservicedomain (binder (call transfer)))
+(allow binderservicedomain mediametrics (binder (transfer)))
+(allow mediametrics binderservicedomain (fd (use)))
+(allow mediametrics mediametrics_service (service_manager (add find)))
+;;* lmx 14 system/sepolicy/private/mediametrics.te
+
+(neverallow base_typeattr_797 mediametrics_service (service_manager (add)))
+;;* lme
+
+(allow mediametrics system_server (fd (use)))
+(allow mediametrics cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediametrics cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediametrics cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediametrics cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediametrics cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediametrics cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediametrics proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediametrics app_data_file (file (write)))
+(allow mediametrics privapp_data_file (file (write)))
+(allow mediametrics package_native_service (service_manager (find)))
+(allow mediametrics statsdw_socket (sock_file (write)))
+(allow mediametrics statsd (unix_dgram_socket (sendto)))
+;;* lmx 37 system/sepolicy/private/mediametrics.te
+
+(neverallow mediametrics fs_type (file (execute_no_trans)))
+(neverallow mediametrics file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/mediametrics.te
+
+(neverallow mediametrics domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow mediametrics domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/mediametrics.te
+
+(neverallow mediametrics domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+(typetransition mediaprovider tmpfs file appdomain_tmpfs)
+(allow mediaprovider mediaprovider_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su mediaprovider_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 7 system/sepolicy/private/mediaprovider.te
+
+(neverallow base_typeattr_798 mediaprovider_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow mediaprovider appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 7 system/sepolicy/private/mediaprovider.te
+
+(neverallow base_typeattr_799 base_typeattr_798 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/mediaprovider.te
+
+(neverallow base_typeattr_800 mediaprovider (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/mediaprovider.te
+
+(neverallow base_typeattr_801 mediaprovider (process (ptrace)))
+;;* lme
+
+(allow mediaprovider cache_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mediaprovider cache_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mediaprovider cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit mediaprovider cache_private_backup_file (dir (getattr)))
+(dontaudit mediaprovider cache_recovery_file (dir (getattr)))
+(allow mediaprovider mnt_media_rw_file (dir (search)))
+(allow mediaprovider app_api_service (service_manager (find)))
+(allow mediaprovider audioserver_service (service_manager (find)))
+(allow mediaprovider cameraserver_service (service_manager (find)))
+(allow mediaprovider drmserver_service (service_manager (find)))
+(allow mediaprovider mediaextractor_service (service_manager (find)))
+(allow mediaprovider mediaserver_service (service_manager (find)))
+(allow mediaprovider ringtone_file (file (read write getattr)))
+(allow mediaprovider mtp_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediaprovider functionfs (dir (search)))
+(allow mediaprovider functionfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx mediaprovider functionfs (ioctl file (0x6782)))
+(allowx mediaprovider functionfs (ioctl file (0x67e7)))
+(allow mediaprovider ffs_config_prop (file (read getattr map open)))
+(allow mediaprovider property_socket (sock_file (write)))
+(allow mediaprovider init (unix_stream_socket (connectto)))
+(allow mediaprovider ffs_control_prop (property_service (set)))
+(allow mediaprovider ffs_control_prop (file (read getattr map open)))
+(allow mediaprovider drm_service_config_prop (file (read getattr map open)))
+(typetransition mediaprovider_app tmpfs file appdomain_tmpfs)
+(allow mediaprovider_app mediaprovider_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su mediaprovider_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 6 system/sepolicy/private/mediaprovider_app.te
+
+(neverallow base_typeattr_802 mediaprovider_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow mediaprovider_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 6 system/sepolicy/private/mediaprovider_app.te
+
+(neverallow base_typeattr_803 base_typeattr_802 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/mediaprovider_app.te
+
+(neverallow base_typeattr_804 mediaprovider_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/mediaprovider_app.te
+
+(neverallow base_typeattr_805 mediaprovider_app (process (ptrace)))
+;;* lme
+
+(allow mediaprovider_app mnt_pass_through_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaprovider_app mnt_pass_through_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaprovider_app mnt_pass_through_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaprovider_app fuse_device (chr_file (ioctl read write getattr)))
+(allow mediaprovider_app fuseblk (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mediaprovider_app fuseblk (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mediaprovider_app media_userdir_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaprovider_app media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mediaprovider_app media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mediaprovider_app drmserver_service (service_manager (find)))
+(allow mediaprovider_app mediaserver_service (service_manager (find)))
+(allow mediaprovider_app audioserver_service (service_manager (find)))
+(allow mediaprovider_app mediametrics_service (service_manager (find)))
+(allow mediaprovider_app app_api_service (service_manager (find)))
+(allow mediaprovider_app gpuservice (binder (call transfer)))
+(allow gpuservice mediaprovider_app (binder (transfer)))
+(allow mediaprovider_app gpuservice (fd (use)))
+(allow mediaprovider_app statsmanager_service (service_manager (find)))
+(allow mediaprovider_app statsd (binder (call transfer)))
+(allow statsd mediaprovider_app (binder (transfer)))
+(allow mediaprovider_app statsd (fd (use)))
+(allow mediaprovider_app proc_pipe_conf (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx mediaprovider_app media_rw_data_file (ioctl file ((range 0x581f 0x5820))))
+(allowx mediaprovider_app media_rw_data_file (ioctl dir ((range 0x581f 0x5820))))
+(allowx mediaprovider_app media_rw_data_file (ioctl file ((range 0x6601 0x6602))))
+(allowx mediaprovider_app media_rw_data_file (ioctl dir ((range 0x6601 0x6602))))
+(allow mediaprovider_app mnt_media_rw_file (dir (search)))
+(allow mediaprovider_app proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaprovider_app storage_config_prop (file (read getattr map open)))
+(allow mediaprovider_app drm_service_config_prop (file (read getattr map open)))
+(allow mediaprovider_app gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediaprovider_app gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit mediaprovider_app sysfs_vendor_sched (dir (search)))
+(dontaudit mediaprovider_app sysfs_vendor_sched (file (write lock append map open)))
+(allow mediaprovider_app fs_bpf (file (read)))
+(allow mediaprovider_app bpfloader (bpf (map_read map_write prog_run)))
+(allow mediaprovider_app bootanim_oem_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow init mediaserver_exec (file (read getattr map execute open)))
+(allow init mediaserver (process (transition)))
+(allow mediaserver mediaserver_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediaserver (process (noatsecure)))
+(allow init mediaserver (process (siginh rlimitinh)))
+(typetransition init mediaserver_exec process mediaserver)
+(typetransition mediaserver tmpfs file mediaserver_tmpfs)
+(allow mediaserver mediaserver_tmpfs (file (read write getattr map)))
+(allow mediaserver appdomain_tmpfs (file (read write getattr map)))
+(allow mediaserver property_socket (sock_file (write)))
+(allow mediaserver init (unix_stream_socket (connectto)))
+(allow mediaserver audio_prop (property_service (set)))
+(allow mediaserver audio_prop (file (read getattr map open)))
+(allow mediaserver drm_service_config_prop (file (read getattr map open)))
+(allow mediaserver media_config_prop (file (read getattr map open)))
+(allow mediaserver device_config_media_native_prop (file (read getattr map open)))
+(allow mediaserver property_socket (sock_file (write)))
+(allow mediaserver init (unix_stream_socket (connectto)))
+(allow mediaserver ctl_mediatranscoding_prop (property_service (set)))
+(allow mediaserver ctl_mediatranscoding_prop (file (read getattr map open)))
+(allow mediaserver sdk_sandbox_data_file (file (read getattr)))
+(allow mediaserver stats_service (service_manager (find)))
+(allow mediaserver statsmanager_service (service_manager (find)))
+(allow mediaserver statsd (binder (call transfer)))
+(allow statsd mediaserver (binder (transfer)))
+(allow mediaserver statsd (fd (use)))
+(allow mediaserver virtual_camera (binder (call transfer)))
+(allow virtual_camera mediaserver (binder (transfer)))
+(allow mediaserver virtual_camera (fd (use)))
+(allow mediaserver sdcard_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver sdcard_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver sdcard_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver fuse (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver fuse (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver fuse (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver proc (lnk_file (getattr)))
+(allow mediaserver system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver servicemanager (binder (call transfer)))
+(allow servicemanager mediaserver (binder (call transfer)))
+(allow servicemanager mediaserver (dir (search)))
+(allow servicemanager mediaserver (file (read open)))
+(allow servicemanager mediaserver (process (getattr)))
+(allow mediaserver binderservicedomain (binder (call transfer)))
+(allow binderservicedomain mediaserver (binder (transfer)))
+(allow mediaserver binderservicedomain (fd (use)))
+(allow mediaserver appdomain (binder (call transfer)))
+(allow appdomain mediaserver (binder (transfer)))
+(allow mediaserver appdomain (fd (use)))
+(allow mediaserver media_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mediaserver media_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mediaserver app_data_file (file (ioctl read write getattr lock append map)))
+(allow mediaserver privapp_data_file (file (ioctl read write getattr lock append map)))
+(allow mediaserver sdcard_type (file (write)))
+(allow mediaserver fuse (file (write)))
+(allow mediaserver gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediaserver gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver video_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver video_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediaserver apk_data_file (file (read getattr)))
+(allow mediaserver asec_apk_file (file (read getattr)))
+(allow mediaserver ringtone_file (file (read getattr)))
+(allow mediaserver radio_data_file (file (read getattr)))
+(allow mediaserver appdomain (fifo_file (read write getattr)))
+(allow mediaserver rpmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediaserver system_server (fifo_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver media_rw_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediaserver media_rw_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver media_rw_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver app_fuse_file (file (read getattr)))
+(allow mediaserver drmserver_socket (sock_file (write)))
+(allow mediaserver drmserver (unix_stream_socket (connectto)))
+(allow mediaserver bluetooth_socket (sock_file (write)))
+(allow mediaserver bluetooth (unix_stream_socket (connectto)))
+(allow mediaserver statsdw_socket (sock_file (write)))
+(allow mediaserver statsd (unix_dgram_socket (sendto)))
+(allow mediaserver mediaserver_service (service_manager (add find)))
+;;* lmx 103 system/sepolicy/private/mediaserver.te
+
+(neverallow base_typeattr_806 mediaserver_service (service_manager (add)))
+;;* lme
+
+(allow mediaserver activity_service (service_manager (find)))
+(allow mediaserver appops_service (service_manager (find)))
+(allow mediaserver audio_service (service_manager (find)))
+(allow mediaserver audioserver_service (service_manager (find)))
+(allow mediaserver cameraserver_service (service_manager (find)))
+(allow mediaserver batterystats_service (service_manager (find)))
+(allow mediaserver drmserver_service (service_manager (find)))
+(allow mediaserver mediaextractor_service (service_manager (find)))
+(allow mediaserver mediametrics_service (service_manager (find)))
+(allow mediaserver media_session_service (service_manager (find)))
+(allow mediaserver package_native_service (service_manager (find)))
+(allow mediaserver permission_service (service_manager (find)))
+(allow mediaserver permission_checker_service (service_manager (find)))
+(allow mediaserver power_service (service_manager (find)))
+(allow mediaserver processinfo_service (service_manager (find)))
+(allow mediaserver scheduling_policy_service (service_manager (find)))
+(allow mediaserver surfaceflinger_service (service_manager (find)))
+(allow mediaserver mediadrmserver_service (service_manager (find)))
+(allow mediaserver hidl_token_hwservice (hwservice_manager (find)))
+(allow mediaserver oemfs (dir (search)))
+(allow mediaserver oemfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver bootanim_oem_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver vendor_app_file (file (read getattr map)))
+(allow drmserver mediaserver (dir (search)))
+(allow drmserver mediaserver (file (read open)))
+(allow drmserver mediaserver (process (getattr)))
+(allow mediaserver drmserver (drmservice (consumeRights setPlaybackStatus openDecryptSession closeDecryptSession initializeDecryptUnit decrypt finalizeDecryptUnit pread)))
+(allowx mediaserver self (ioctl tcp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx mediaserver self (ioctl udp_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx mediaserver self (ioctl rawip_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx mediaserver self (ioctl tcp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx mediaserver self (ioctl udp_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx mediaserver self (ioctl rawip_socket ((range 0x8906 0x8907) 0x8910 (range 0x8912 0x8913) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
+(allowx mediaserver self (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx mediaserver self (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allowx mediaserver self (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f (range 0x8b11 0x8b13) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
+(allow mediaserver media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mediaserver media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mediaserver preloads_media_file (file (ioctl read getattr)))
+(allow mediaserver ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver dmabuf_system_secure_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaserver hal_graphics_allocator (fd (use)))
+(allow mediaserver hal_graphics_composer (fd (use)))
+(allow mediaserver hal_camera (fd (use)))
+(allow mediaserver system_server (fd (use)))
+(allow mediaserver vold (fd (use)))
+(allow mediaserver vendor_overlay_file (file (read getattr map)))
+;;* lmx 186 system/sepolicy/private/mediaserver.te
+
+(neverallow mediaserver fs_type (file (execute_no_trans)))
+(neverallow mediaserver file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 189 system/sepolicy/private/mediaserver.te
+
+(neverallowx mediaserver domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx mediaserver domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx mediaserver domain (ioctl rawip_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 189 system/sepolicy/private/mediaserver.te
+
+(neverallowx mediaserver domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaserver domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediaserver domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 189 system/sepolicy/private/mediaserver.te
+
+(neverallowx mediaserver domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaserver domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediaserver domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+(allow init mediaswcodec_exec (file (read getattr map execute open)))
+(allow init mediaswcodec (process (transition)))
+(allow mediaswcodec mediaswcodec_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediaswcodec (process (noatsecure)))
+(allow init mediaswcodec (process (siginh rlimitinh)))
+(typetransition init mediaswcodec_exec process mediaswcodec)
+(allow mediaswcodec device_config_media_native_prop (file (read getattr map open)))
+(allow mediaswcodec device_config_swcodec_native_prop (file (read getattr map open)))
+(allow mediaswcodec aac_drc_prop (file (read getattr map open)))
+(allow mediaswcodec anr_data_file (file (append)))
+(allow mediaswcodec dumpstate (fd (use)))
+(allow mediaswcodec incidentd (fd (use)))
+(allow mediaswcodec dumpstate (fifo_file (write append)))
+(allow mediaswcodec incidentd (fifo_file (write append)))
+(allow mediaswcodec system_server (fifo_file (write append)))
+(allow mediaswcodec tombstoned (unix_stream_socket (connectto)))
+(allow mediaswcodec tombstoned (fd (use)))
+(allow mediaswcodec tombstoned_crash_socket (sock_file (write)))
+(allow mediaswcodec tombstone_data_file (file (append)))
+(allow mediaswcodec dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaswcodec dmabuf_system_secure_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediaswcodec gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediaswcodec gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+;;* lmx 34 system/sepolicy/private/mediaswcodec.te
+
+(neverallow mediaswcodec fs_type (file (execute_no_trans)))
+(neverallow mediaswcodec file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 40 system/sepolicy/private/mediaswcodec.te
+
+(neverallow mediaswcodec domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow mediaswcodec domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 41 system/sepolicy/private/mediaswcodec.te
+
+(neverallow mediaswcodec domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+(allow init mediatranscoding_exec (file (read getattr map execute open)))
+(allow init mediatranscoding (process (transition)))
+(allow mediatranscoding mediatranscoding_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediatranscoding (process (noatsecure)))
+(allow init mediatranscoding (process (siginh rlimitinh)))
+(typetransition init mediatranscoding_exec process mediatranscoding)
+(typetransition mediatranscoding tmpfs file mediatranscoding_tmpfs)
+(allow mediatranscoding mediatranscoding_tmpfs (file (read write getattr map)))
+(allow mediatranscoding appdomain_tmpfs (file (read write getattr map)))
+(allow mediatranscoding servicemanager (binder (call transfer)))
+(allow servicemanager mediatranscoding (binder (call transfer)))
+(allow servicemanager mediatranscoding (dir (search)))
+(allow servicemanager mediatranscoding (file (read open)))
+(allow servicemanager mediatranscoding (process (getattr)))
+(allow mediatranscoding binderservicedomain (binder (call transfer)))
+(allow binderservicedomain mediatranscoding (binder (transfer)))
+(allow mediatranscoding binderservicedomain (fd (use)))
+(allow mediatranscoding appdomain (binder (call transfer)))
+(allow appdomain mediatranscoding (binder (transfer)))
+(allow mediatranscoding appdomain (fd (use)))
+(allow mediatranscoding mediatranscoding_service (service_manager (add find)))
+;;* lmx 15 system/sepolicy/private/mediatranscoding.te
+
+(neverallow base_typeattr_807 mediatranscoding_service (service_manager (add)))
+;;* lme
+
+(allow mediatranscoding mediaserver_service (service_manager (find)))
+(allow mediatranscoding mediametrics_service (service_manager (find)))
+(allow mediatranscoding mediaextractor_service (service_manager (find)))
+(allow mediatranscoding package_native_service (service_manager (find)))
+(allow mediatranscoding thermal_service (service_manager (find)))
+(allow mediatranscoding system_server (fd (use)))
+(allow mediatranscoding activity_service (service_manager (find)))
+(allow mediatranscoding sdcardfs (file (read write getattr)))
+(allow mediatranscoding media_rw_data_file (file (read write getattr)))
+(allow mediatranscoding apk_data_file (file (read getattr)))
+(allow mediatranscoding app_data_file (file (read write getattr)))
+(allow mediatranscoding shell_data_file (file (read write getattr)))
+(allow mediatranscoding statsdw_socket (sock_file (write)))
+(allow mediatranscoding statsd (unix_dgram_socket (sendto)))
+(allow mediatranscoding dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow mediatranscoding gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mediatranscoding gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mediatranscoding media_config_prop (file (read getattr map open)))
+;;* lmx 53 system/sepolicy/private/mediatranscoding.te
+
+(neverallow mediatranscoding fs_type (file (execute_no_trans)))
+(neverallow mediatranscoding file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 65 system/sepolicy/private/mediatranscoding.te
+
+(neverallow mediatranscoding domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow mediatranscoding domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/mediatranscoding.te
+
+(neverallow mediatranscoding domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+;;* lme
+
+(allow init mediatuner_exec (file (read getattr map execute open)))
+(allow init mediatuner (process (transition)))
+(allow mediatuner mediatuner_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mediatuner (process (noatsecure)))
+(allow init mediatuner (process (siginh rlimitinh)))
+(typetransition init mediatuner_exec process mediatuner)
+(allow mediatuner servicemanager (binder (call transfer)))
+(allow servicemanager mediatuner (binder (call transfer)))
+(allow servicemanager mediatuner (dir (search)))
+(allow servicemanager mediatuner (file (read open)))
+(allow servicemanager mediatuner (process (getattr)))
+(allow mediatuner appdomain (binder (call transfer)))
+(allow appdomain mediatuner (binder (transfer)))
+(allow mediatuner appdomain (fd (use)))
+(allow mediatuner mediatuner_service (service_manager (add find)))
+;;* lmx 14 system/sepolicy/private/mediatuner.te
+
+(neverallow base_typeattr_808 mediatuner_service (service_manager (add)))
+;;* lme
+
+(allow mediatuner system_server (fd (use)))
+(allow mediatuner tv_tuner_resource_mgr_service (service_manager (find)))
+(allow mediatuner package_native_service (service_manager (find)))
+(allow mediatuner system_server (binder (call transfer)))
+(allow system_server mediatuner (binder (transfer)))
+(allow mediatuner system_server (fd (use)))
+(allow mediatuner tuner_config_prop (file (read getattr map open)))
+(allow mediatuner tuner_server_ctl_prop (file (read getattr map open)))
+;;* lmx 32 system/sepolicy/private/mediatuner.te
+
+(neverallow mediatuner fs_type (file (execute_no_trans)))
+(neverallow mediatuner file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 35 system/sepolicy/private/mediatuner.te
+
+(neverallowx mediatuner domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx mediatuner domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx mediatuner domain (ioctl rawip_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 35 system/sepolicy/private/mediatuner.te
+
+(neverallowx mediatuner domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediatuner domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx mediatuner domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 35 system/sepolicy/private/mediatuner.te
+
+(neverallowx mediatuner domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediatuner domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx mediatuner domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+(allow init memcgv2_activation_depth_exec (file (read getattr map execute open)))
+(allow init memcgv2_activation_depth (process (transition)))
+(allow memcgv2_activation_depth memcgv2_activation_depth_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init memcgv2_activation_depth (process (noatsecure)))
+(allow init memcgv2_activation_depth (process (siginh rlimitinh)))
+(typetransition init memcgv2_activation_depth_exec process memcgv2_activation_depth)
+(allow memcgv2_activation_depth shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow memcgv2_activation_depth system_file (file (getattr map execute execute_no_trans)))
+(allow memcgv2_activation_depth toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow memcgv2_activation_depth cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow memcgv2_activation_depth libprocessgroup_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow memcgv2_activation_depth libprocessgroup_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow memcgv2_activation_depth cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow memcgv2_activation_depth cgroup_v2 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow memcgv2_activation_depth property_socket (sock_file (write)))
+(allow memcgv2_activation_depth init (unix_stream_socket (connectto)))
+(allow memcgv2_activation_depth powerctl_prop (property_service (set)))
+(allow memcgv2_activation_depth powerctl_prop (file (read getattr map open)))
+(allow init microfuchsiad_exec (file (read getattr map execute open)))
+(allow init microfuchsiad (process (transition)))
+(allow microfuchsiad microfuchsiad_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init microfuchsiad (process (noatsecure)))
+(allow init microfuchsiad (process (siginh rlimitinh)))
+(typetransition init microfuchsiad_exec process microfuchsiad)
+(allow microfuchsiad servicemanager (binder (call transfer)))
+(allow servicemanager microfuchsiad (binder (call transfer)))
+(allow servicemanager microfuchsiad (dir (search)))
+(allow servicemanager microfuchsiad (file (read open)))
+(allow servicemanager microfuchsiad (process (getattr)))
+(allow microfuchsiad microfuchsia_service (service_manager (add find)))
+;;* lmx 1 system/sepolicy/private/microfuchsiad.te
+
+(neverallow base_typeattr_809 microfuchsia_service (service_manager (add)))
+;;* lme
+
+(allow microfuchsiad system_server (binder (call transfer)))
+(allow system_server microfuchsiad (binder (transfer)))
+(allow microfuchsiad system_server (fd (use)))
+(allow microfuchsiad virtualizationmanager_exec (file (read getattr map execute open)))
+(allow microfuchsiad virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager microfuchsiad (process (sigchld)))
+(dontaudit microfuchsiad virtualizationmanager (process (noatsecure)))
+(allow microfuchsiad virtualizationmanager (process (siginh rlimitinh)))
+(typetransition microfuchsiad virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm microfuchsiad (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager microfuchsiad (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm microfuchsiad (fd (use)))
+(allow virtualizationmanager microfuchsiad (fd (use)))
+(allow microfuchsiad virtualizationmanager (fd (use)))
+(allow crosvm microfuchsiad (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager microfuchsiad (fifo_file (ioctl read write getattr)))
+(allow microfuchsiad virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow microfuchsiad hypervisor_prop (file (read getattr map open)))
+(allow microfuchsiad virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager microfuchsiad (dir (search)))
+(allow virtualizationmanager microfuchsiad (file (read)))
+(allow virtualizationmanager microfuchsiad (lnk_file (read)))
+(allow microfuchsiad devpts (chr_file (ioctl read write getattr open)))
+(allow migrate_legacy_obb_data media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow migrate_legacy_obb_data media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow migrate_legacy_obb_data shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow migrate_legacy_obb_data toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow migrate_legacy_obb_data self (capability (chown dac_override dac_read_search fowner fsetid)))
+(allow migrate_legacy_obb_data mnt_user_file (dir (search)))
+(allow migrate_legacy_obb_data mnt_user_file (lnk_file (read)))
+(allow migrate_legacy_obb_data storage_file (dir (search)))
+(allow migrate_legacy_obb_data storage_file (lnk_file (read)))
+(allow migrate_legacy_obb_data sdcard_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow migrate_legacy_obb_data sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow migrate_legacy_obb_data installd (fd (use)))
+(allow migrate_legacy_obb_data installd (file (read)))
+(allow init misctrl_exec (file (read getattr map execute open)))
+(allow init misctrl (process (transition)))
+(allow misctrl misctrl_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init misctrl (process (noatsecure)))
+(allow init misctrl (process (siginh rlimitinh)))
+(typetransition init misctrl_exec process misctrl)
+(allow misctrl misc_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow misctrl block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow misctrl gsi_metadata_file_type (dir (search)))
+(allow misctrl metadata_file (dir (search)))
+(allow misctrl gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow misctrl proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow misctrl proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow misctrl property_socket (sock_file (write)))
+(allow misctrl init (unix_stream_socket (connectto)))
+(allow misctrl misctrl_prop (property_service (set)))
+(allow misctrl misctrl_prop (file (read getattr map open)))
+(dontaudit misctrl sysfs_dt_firmware_android (dir (search)))
+(dontaudit misctrl vendor_property_type (file (read)))
+;;* lmx 16 system/sepolicy/private/mlstrustedsubject.te
+
+(neverallow base_typeattr_810 app_data_file (file (create setattr relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_810 privapp_data_file (file (create setattr relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_810 storage_area_content_file (file (create setattr relabelfrom relabelto unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 26 system/sepolicy/private/mlstrustedsubject.te
+
+(neverallow base_typeattr_810 app_data_file (dir (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_810 privapp_data_file (dir (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_810 storage_area_content_file (dir (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 27 system/sepolicy/private/mlstrustedsubject.te
+
+(neverallow base_typeattr_811 storage_area_app_dir (dir (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_811 storage_area_dir (dir (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/mlstrustedsubject.te
+
+(neverallow base_typeattr_812 app_data_file (dir (read getattr search)))
+(neverallow base_typeattr_812 privapp_data_file (dir (read getattr search)))
+(neverallow base_typeattr_812 storage_area_content_file (dir (read getattr search)))
+;;* lme
+
+;;* lmx 51 system/sepolicy/private/mlstrustedsubject.te
+
+(neverallow base_typeattr_813 storage_area_app_dir (dir (read getattr search)))
+(neverallow base_typeattr_813 storage_area_dir (dir (read getattr search)))
+;;* lme
+
+(allow init mm_events_exec (file (read getattr map execute open)))
+(allow init mm_events (process (transition)))
+(allow mm_events mm_events_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mm_events (process (noatsecure)))
+(allow init mm_events (process (siginh rlimitinh)))
+(typetransition init mm_events_exec process mm_events)
+(allow mm_events shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow mm_events toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow mm_events perfetto_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow mm_events perfetto_exec (file (read getattr map execute open)))
+(allow mm_events perfetto (process (transition)))
+(allow perfetto perfetto_exec (file (read getattr map execute open entrypoint)))
+(allow perfetto mm_events (process (sigchld)))
+(dontaudit mm_events perfetto (process (noatsecure)))
+(allow mm_events perfetto (process (siginh rlimitinh)))
+(typetransition mm_events perfetto_exec process perfetto)
+(allow init mmd_exec (file (read getattr map execute open)))
+(allow init mmd (process (transition)))
+(allow mmd mmd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mmd (process (noatsecure)))
+(allow init mmd (process (siginh rlimitinh)))
+(typetransition init mmd_exec process mmd)
+(allow mmd property_socket (sock_file (write)))
+(allow mmd init (unix_stream_socket (connectto)))
+(allow mmd mmd_shared_status_prop (property_service (set)))
+(allow mmd mmd_shared_status_prop (file (read getattr map open)))
+(allow mmd property_socket (sock_file (write)))
+(allow mmd init (unix_stream_socket (connectto)))
+(allow mmd mmd_status_prop (property_service (set)))
+(allow mmd mmd_status_prop (file (read getattr map open)))
+(allow mmd mmd_prop (file (read getattr map open)))
+(allow mmd device_config_mmd_native_prop (file (read getattr map open)))
+(allow mmd mmd_service (service_manager (add find)))
+;;* lmx 15 system/sepolicy/private/mmd.te
+
+(neverallow base_typeattr_814 mmd_service (service_manager (add)))
+;;* lme
+
+(allow mmd servicemanager (binder (call transfer)))
+(allow servicemanager mmd (binder (call transfer)))
+(allow servicemanager mmd (dir (search)))
+(allow servicemanager mmd (file (read open)))
+(allow servicemanager mmd (process (getattr)))
+(allow mmd proc_swaps (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mmd sysfs_zram (dir (search)))
+(allow mmd sysfs_zram (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mmd proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mmd block_device (dir (search)))
+(allow mmd swap_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mmd self (capability (sys_admin)))
+(allow mmd statsdw_socket (sock_file (write)))
+(allow mmd statsd (unix_dgram_socket (sendto)))
+(allow mmd stats_service (service_manager (find)))
+(allow mmd statsmanager_service (service_manager (find)))
+(allow mmd statsd (binder (call transfer)))
+(allow statsd mmd (binder (transfer)))
+(allow mmd statsd (fd (use)))
+(allow modprobe proc_modules (file (ioctl read getattr lock map open watch watch_reads)))
+(allow modprobe proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow modprobe self (capability (sys_module)))
+(allow modprobe self (cap_userns (sys_module)))
+(allow modprobe kernel (key (search)))
+(allow modprobe system_dlkm_file (dir (search)))
+(allow modprobe system_dlkm_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow modprobe system_dlkm_file (system (module_load)))
+(allow init mtectrl_exec (file (read getattr map execute open)))
+(allow init mtectrl (process (transition)))
+(allow mtectrl mtectrl_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init mtectrl (process (noatsecure)))
+(allow init mtectrl (process (siginh rlimitinh)))
+(typetransition init mtectrl_exec process mtectrl)
+(allow mtectrl property_socket (sock_file (write)))
+(allow mtectrl init (unix_stream_socket (connectto)))
+(allow mtectrl arm64_memtag_prop (property_service (set)))
+(allow mtectrl arm64_memtag_prop (file (read getattr map open)))
+(allow mtectrl misc_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow mtectrl block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow mtectrl gsi_metadata_file_type (dir (search)))
+(allow mtectrl metadata_file (dir (search)))
+(allow mtectrl gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mtectrl proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow mtectrl proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit mtectrl sysfs_dt_firmware_android (dir (search)))
+(dontaudit mtectrl vendor_property_type (file (read)))
+(allow base_typeattr_815 node_type (tcp_socket (node_bind)))
+(allow base_typeattr_815 node_type (udp_socket (node_bind)))
+(allow base_typeattr_815 node_type (rawip_socket (node_bind)))
+(allow base_typeattr_815 node_type (icmp_socket (node_bind)))
+(allow base_typeattr_815 port_type (udp_socket (name_bind)))
+(allow base_typeattr_815 port_type (tcp_socket (name_bind)))
+(allow base_typeattr_816 self (netlink_route_socket (bind nlmsg_readpriv nlmsg_getneigh)))
+(allow netdomain self (tcp_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+(allow netdomain self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netdomain self (rawip_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netdomain self (icmp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netdomain port_type (tcp_socket (name_connect)))
+(allow netdomain self (netlink_route_socket (read write create getattr setattr lock append connect getopt setopt shutdown nlmsg_read)))
+(allow netdomain dnsproxyd_socket (sock_file (write)))
+(allow netdomain netd (unix_stream_socket (connectto)))
+(allow netdomain fwmarkd_socket (sock_file (write)))
+(allow netdomain netd (unix_stream_socket (connectto)))
+(allow init netd_exec (file (read getattr map execute open)))
+(allow init netd (process (transition)))
+(allow netd netd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init netd (process (noatsecure)))
+(allow init netd (process (siginh rlimitinh)))
+(typetransition init netd_exec process netd)
+(allow netd dnsmasq_exec (file (read getattr map execute open)))
+(allow netd dnsmasq (process (transition)))
+(allow dnsmasq dnsmasq_exec (file (read getattr map execute open entrypoint)))
+(allow dnsmasq netd (process (sigchld)))
+(dontaudit netd dnsmasq (process (noatsecure)))
+(allow netd dnsmasq (process (siginh rlimitinh)))
+(typetransition netd dnsmasq_exec process dnsmasq)
+(allow netd fs_bpf (dir (search)))
+(allow netd fs_bpf_vendor (dir (search)))
+(allow netd fs_bpf_netd_readonly (dir (search)))
+(allow netd fs_bpf_netd_shared (dir (search)))
+(allow netd fs_bpf (file (read getattr)))
+(allow netd fs_bpf_vendor (file (read getattr)))
+(allow netd fs_bpf_netd_readonly (file (read getattr)))
+(allow netd fs_bpf_netd_shared (file (read getattr)))
+(allow netd fs_bpf (file (write)))
+(allow netd fs_bpf_netd_shared (file (write)))
+(allow netd bpfloader (bpf (prog_run)))
+(allow netd self (bpf (map_create)))
+(allow netd bpfloader (bpf (map_read map_write)))
+(allow netd netd (bpf (map_read map_write)))
+(allow netd network_stack (bpf (map_read map_write)))
+(allow netd system_server (bpf (map_read map_write)))
+(allow netd self (key_socket (create)))
+(allow netd property_socket (sock_file (write)))
+(allow netd init (unix_stream_socket (connectto)))
+(allow netd ctl_mdnsd_prop (property_service (set)))
+(allow netd ctl_mdnsd_prop (file (read getattr map open)))
+(allow netd property_socket (sock_file (write)))
+(allow netd init (unix_stream_socket (connectto)))
+(allow netd netd_stable_secret_prop (property_service (set)))
+(allow netd netd_stable_secret_prop (file (read getattr map open)))
+(allow netd adbd_config_prop (file (read getattr map open)))
+(allow netd hwservicemanager_prop (file (read getattr map open)))
+(allow netd device_config_netd_native_prop (file (read getattr map open)))
+(allow netd statsdw_socket (sock_file (write)))
+(allow netd statsd (unix_dgram_socket (sendto)))
+(allow netd network_stack (binder (call transfer)))
+(allow network_stack netd (binder (transfer)))
+(allow netd network_stack (fd (use)))
+(allow netd dumpstate (fd (use)))
+(allow netd dumpstate (fifo_file (write getattr)))
+(allow netd mdnsd_socket (sock_file (write)))
+(allow netd mdnsd (unix_stream_socket (connectto)))
+(allowx netd self (ioctl udp_socket (0x6900 0x6902)))
+(allowx netd self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx netd self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow netd cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netd cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd system_server (fd (use)))
+(allow netd self (capability (kill net_bind_service net_admin net_raw)))
+(allow netd self (cap_userns (kill net_bind_service net_admin net_raw)))
+(dontaudit netd self (capability (fsetid)))
+(dontaudit netd self (cap_userns (fsetid)))
+(allow netd tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx netd tun_device (ioctl chr_file (0x54ca 0x54d2)))
+(allow netd self (tun_socket (create)))
+(allow netd self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netd self (netlink_route_socket (nlmsg_write)))
+(allow netd self (netlink_nflog_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netd self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netd self (netlink_tcpdiag_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
+(allow netd self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netd self (netlink_netfilter_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netd shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow netd system_file (file (getattr map execute execute_no_trans)))
+(allow netd devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow netd system_file (file (lock)))
+(dontaudit netd system_file (dir (write)))
+(allow netd proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netd proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd proc_net_type (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow netd sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netd sysfs_net (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netd sysfs_net (file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd sysfs_net (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd sysfs_net (file (write lock append map open)))
+(allow netd sysfs_usb (file (write)))
+(allow netd cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netd cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow netd self (capability (chown dac_override dac_read_search)))
+(allow netd self (cap_userns (chown dac_override dac_read_search)))
+(allow netd net_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow netd net_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow netd self (capability (fowner)))
+(allow netd self (cap_userns (fowner)))
+(allow netd system_file (file (lock)))
+(allow netd dnsmasq (process (sigkill signal)))
+(allow netd servicemanager (binder (call transfer)))
+(allow servicemanager netd (binder (call transfer)))
+(allow servicemanager netd (dir (search)))
+(allow servicemanager netd (file (read open)))
+(allow servicemanager netd (process (getattr)))
+(allow netd netd_service (service_manager (add find)))
+;;* lmx 116 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_817 netd_service (service_manager (add)))
+;;* lme
+
+(allow netd dnsresolver_service (service_manager (add find)))
+;;* lmx 117 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_817 dnsresolver_service (service_manager (add)))
+;;* lme
+
+(allow netd mdns_service (service_manager (add find)))
+;;* lmx 118 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_817 mdns_service (service_manager (add)))
+;;* lme
+
+(allow netd dumpstate (fifo_file (write getattr)))
+(allow netd system_server (binder (call)))
+(allow netd permission_service (service_manager (find)))
+(allow netd netd_listener_service (service_manager (find)))
+(allow netd netdomain (tcp_socket (read write getattr setattr getopt setopt)))
+(allow netd netdomain (udp_socket (read write getattr setattr getopt setopt)))
+(allow netd netdomain (rawip_socket (read write getattr setattr getopt setopt)))
+(allow netd netdomain (tun_socket (read write getattr setattr getopt setopt)))
+(allow netd netdomain (icmp_socket (read write getattr setattr getopt setopt)))
+(allow netd netdomain (fd (use)))
+(allow netd self (netlink_xfrm_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
+(allow netd system_net_netd_hwservice (hwservice_manager (add find)))
+(allow netd hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 142 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_817 system_net_netd_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow netd hwservicemanager (binder (call transfer)))
+(allow hwservicemanager netd (binder (call transfer)))
+(allow hwservicemanager netd (dir (search)))
+(allow hwservicemanager netd (file (read map open)))
+(allow hwservicemanager netd (process (getattr)))
+(allow system_net_netd_service servicemanager (binder (call transfer)))
+(allow servicemanager system_net_netd_service (binder (transfer)))
+(allow system_net_netd_service servicemanager (fd (use)))
+(allow netd system_net_netd_service (service_manager (add find)))
+;;* lmx 147 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_817 system_net_netd_service (service_manager (add)))
+;;* lme
+
+;;* lmx 155 system/sepolicy/private/netd.te
+
+(neverallow netd dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 158 system/sepolicy/private/netd.te
+
+(neverallow netd domain (process (ptrace)))
+;;* lme
+
+;;* lmx 161 system/sepolicy/private/netd.te
+
+(neverallow netd system_file_type (file (write)))
+(neverallow netd system_file_type (dir (write)))
+(neverallow netd system_file_type (lnk_file (write)))
+(neverallow netd system_file_type (chr_file (write)))
+(neverallow netd system_file_type (blk_file (write)))
+(neverallow netd system_file_type (sock_file (write)))
+(neverallow netd system_file_type (fifo_file (write)))
+;;* lme
+
+;;* lmx 164 system/sepolicy/private/netd.te
+
+(neverallow netd app_data_file_type (file (write)))
+(neverallow netd app_data_file_type (dir (write)))
+(neverallow netd app_data_file_type (lnk_file (write)))
+(neverallow netd app_data_file_type (chr_file (write)))
+(neverallow netd app_data_file_type (blk_file (write)))
+(neverallow netd app_data_file_type (sock_file (write)))
+(neverallow netd app_data_file_type (fifo_file (write)))
+(neverallow netd system_data_file (file (write)))
+(neverallow netd system_data_file (dir (write)))
+(neverallow netd system_data_file (lnk_file (write)))
+(neverallow netd system_data_file (chr_file (write)))
+(neverallow netd system_data_file (blk_file (write)))
+(neverallow netd system_data_file (sock_file (write)))
+(neverallow netd system_data_file (fifo_file (write)))
+;;* lme
+
+;;* lmx 174 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_818 netd_service (service_manager (find)))
+;;* lme
+
+;;* lmx 184 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_818 dnsresolver_service (service_manager (find)))
+;;* lme
+
+;;* lmx 194 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_818 mdns_service (service_manager (find)))
+;;* lme
+
+;;* lmx 197 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_261 netd (binder (call)))
+;;* lme
+
+;;* lmx 198 system/sepolicy/private/netd.te
+
+(neverallow netd base_typeattr_261 (binder (call)))
+;;* lme
+
+;;* lmx 203 system/sepolicy/private/netd.te
+
+(neverallow netd proc_net (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+(dontaudit netd proc_net (dir (write)))
+;;* lmx 206 system/sepolicy/private/netd.te
+
+(neverallow netd sysfs_net (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+(dontaudit netd sysfs_net (dir (write)))
+;;* lmx 210 system/sepolicy/private/netd.te
+
+(neverallow netd self (capability (sys_admin)))
+;;* lme
+
+(dontaudit netd self (capability (sys_admin)))
+(dontaudit netd self (capability (sys_module)))
+(dontaudit netd appdomain (unix_stream_socket (read write)))
+;;* lmx 221 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_819 netd_stable_secret_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 225 system/sepolicy/private/netd.te
+
+(neverallow base_typeattr_820 netd_stable_secret_prop (property_service (set)))
+;;* lme
+
+(allow netutils_wrapper system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netutils_wrapper system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow netutils_wrapper system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow netutils_wrapper self (capability (net_raw)))
+(allow netutils_wrapper self (cap_userns (net_raw)))
+(allow netutils_wrapper system_file (file (execute execute_no_trans)))
+(allow netutils_wrapper proc_net_type (file (read getattr open)))
+(allow netutils_wrapper self (rawip_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netutils_wrapper self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow netutils_wrapper self (capability (net_admin)))
+(allow netutils_wrapper self (cap_userns (net_admin)))
+(allow netutils_wrapper self (netlink_route_socket (read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_readpriv nlmsg_getneigh)))
+(allow netutils_wrapper self (netlink_xfrm_socket (read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(allow netutils_wrapper netd_service (service_manager (find)))
+(allow netutils_wrapper dnsresolver_service (service_manager (find)))
+(allow netutils_wrapper mdns_service (service_manager (find)))
+(allow netutils_wrapper servicemanager (binder (call transfer)))
+(allow servicemanager netutils_wrapper (binder (call transfer)))
+(allow servicemanager netutils_wrapper (dir (search)))
+(allow servicemanager netutils_wrapper (file (read open)))
+(allow servicemanager netutils_wrapper (process (getattr)))
+(allow netutils_wrapper netd (binder (call transfer)))
+(allow netd netutils_wrapper (binder (transfer)))
+(allow netutils_wrapper netd (fd (use)))
+(allow netutils_wrapper fs_bpf (dir (search)))
+(allow netutils_wrapper fs_bpf_vendor (dir (search)))
+(allow netutils_wrapper fs_bpf_netd_shared (dir (search)))
+(allow netutils_wrapper fs_bpf (file (read getattr)))
+(allow netutils_wrapper fs_bpf_vendor (file (read getattr)))
+(allow netutils_wrapper fs_bpf_netd_shared (file (read getattr)))
+(allow netutils_wrapper fs_bpf (file (write)))
+(allow netutils_wrapper bpfloader (bpf (prog_run)))
+(allow netutils_wrapper net_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow netutils_wrapper net_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow netutils_wrapper net_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_372 netutils_wrapper_exec (file (read getattr map execute open)))
+(allow base_typeattr_372 netutils_wrapper (process (transition)))
+(allow netutils_wrapper netutils_wrapper_exec (file (read getattr map execute open entrypoint)))
+(allow netutils_wrapper base_typeattr_372 (process (sigchld)))
+(dontaudit base_typeattr_372 netutils_wrapper (process (noatsecure)))
+(allow base_typeattr_372 netutils_wrapper (process (siginh rlimitinh)))
+(typetransition base_typeattr_372 netutils_wrapper_exec process netutils_wrapper)
+(dontaudit netutils_wrapper self (capability (sys_resource)))
+(dontaudit netutils_wrapper self (cap_userns (sys_resource)))
+(dontaudit netutils_wrapper sysfs_type (file (read)))
+;;* lmx 51 system/sepolicy/private/netutils_wrapper.te
+
+(neverallow netutils_wrapper self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow netutils_wrapper self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+;;* lme
+
+;;* lmx 53 system/sepolicy/private/netutils_wrapper.te
+
+(neverallow domain netutils_wrapper_exec (file (execute_no_trans)))
+;;* lme
+
+(typetransition network_stack tmpfs file appdomain_tmpfs)
+(allow network_stack network_stack_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su network_stack_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 6 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_821 network_stack_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow network_stack appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 6 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_822 base_typeattr_821 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_823 network_stack (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_824 network_stack (process (ptrace)))
+;;* lme
+
+(allow network_stack self (capability (net_bind_service net_broadcast net_admin net_raw)))
+(allow network_stack self (cap_userns (net_bind_service net_broadcast net_admin net_raw)))
+(allow network_stack self (capability2 (wake_alarm)))
+(allow network_stack self (cap2_userns (wake_alarm)))
+(allowx network_stack self (ioctl udp_socket (0x6900 0x6902)))
+(allowx network_stack self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx network_stack self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow network_stack self (packet_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow network_stack self (netlink_route_socket (nlmsg_write)))
+(allow network_stack self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow network_stack self (netlink_nflog_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow network_stack self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow network_stack self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow network_stack app_api_service (service_manager (find)))
+(allow network_stack dnsresolver_service (service_manager (find)))
+(allow network_stack mdns_service (service_manager (find)))
+(allow network_stack netd_service (service_manager (find)))
+(allow network_stack network_watchlist_service (service_manager (find)))
+(allow network_stack radio_service (service_manager (find)))
+(allow network_stack system_config_service (service_manager (find)))
+(allow network_stack radio_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow network_stack radio_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow network_stack netd (binder (call transfer)))
+(allow netd network_stack (binder (transfer)))
+(allow network_stack netd (fd (use)))
+(allow network_stack self (key_socket (create)))
+(dontaudit network_stack self (key_socket (getopt)))
+(allow network_stack proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow network_stack proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow network_stack proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow network_stack device_config_connectivity_prop (file (read getattr map open)))
+(allow network_stack self (netlink_tcpdiag_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
+(allow network_stack self (netlink_netfilter_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow network_stack network_stack_service (service_manager (find)))
+(allow network_stack fs_bpf_tethering (dir (search)))
+(allow network_stack fs_bpf_net_private (dir (search)))
+(allow network_stack fs_bpf_net_shared (dir (search)))
+(allow network_stack fs_bpf_netd_readonly (dir (search)))
+(allow network_stack fs_bpf_netd_shared (dir (search)))
+(allow network_stack fs_bpf_tethering (file (read write getattr)))
+(allow network_stack fs_bpf_net_private (file (read write getattr)))
+(allow network_stack fs_bpf_net_shared (file (read write getattr)))
+(allow network_stack fs_bpf_netd_readonly (file (read write getattr)))
+(allow network_stack fs_bpf_netd_shared (file (read write getattr)))
+(allow network_stack bpfloader (bpf (prog_run)))
+(allow network_stack self (bpf (map_create)))
+(allow network_stack bpfloader (bpf (map_read map_write)))
+(allow network_stack netd (bpf (map_read map_write)))
+(allow network_stack network_stack (bpf (map_read map_write)))
+(allow network_stack system_server (bpf (map_read map_write)))
+(allow network_stack device_config_tethering_u_or_later_native_prop (file (read getattr map open)))
+(allow network_stack self (netlink_xfrm_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
+(allow network_stack tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx network_stack tun_device (ioctl chr_file (0x54ca 0x54cd 0x54d2 0x54e2)))
+;;* lmx 91 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_315 fs_bpf_net_private (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 92 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_315 fs_bpf_net_private (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 95 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_316 fs_bpf_net_shared (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 96 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_316 fs_bpf_net_shared (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 100 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_317 fs_bpf_netd_readonly (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 101 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_317 fs_bpf_netd_readonly (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 102 system/sepolicy/private/network_stack.te
+
+(neverallow netd fs_bpf_netd_readonly (file (write)))
+;;* lme
+
+;;* lmx 106 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_318 fs_bpf_netd_shared (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 107 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_318 fs_bpf_netd_shared (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 108 system/sepolicy/private/network_stack.te
+
+(neverallow netutils_wrapper fs_bpf_netd_shared (file (write)))
+;;* lme
+
+;;* lmx 111 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_315 fs_bpf_tethering (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/private/network_stack.te
+
+(neverallow base_typeattr_315 fs_bpf_tethering (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(typetransition nfc tmpfs file appdomain_tmpfs)
+(allow nfc nfc_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su nfc_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 3 system/sepolicy/private/nfc.te
+
+(neverallow base_typeattr_825 nfc_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow nfc appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 3 system/sepolicy/private/nfc.te
+
+(neverallow base_typeattr_826 base_typeattr_825 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/nfc.te
+
+(neverallow base_typeattr_827 nfc (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/nfc.te
+
+(neverallow base_typeattr_828 nfc (process (ptrace)))
+;;* lme
+
+(allow nfc nfc_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/nfc.te
+
+(neverallow base_typeattr_825 nfc_service (service_manager (add)))
+;;* lme
+
+(allow nfc nfc_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow nfc nfc_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow nfc nfc_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow nfc nfc_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow nfc nfc_data_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow nfc nfc_logs_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow nfc nfc_logs_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow nfc audioserver_service (service_manager (find)))
+(allow nfc drmserver_service (service_manager (find)))
+(allow nfc mediametrics_service (service_manager (find)))
+(allow nfc mediaextractor_service (service_manager (find)))
+(allow nfc mediaserver_service (service_manager (find)))
+(allow nfc radio_service (service_manager (find)))
+(allow nfc app_api_service (service_manager (find)))
+(allow nfc system_api_service (service_manager (find)))
+(allow nfc vr_manager_service (service_manager (find)))
+(allow nfc secure_element_service (service_manager (find)))
+(allow nfc property_socket (sock_file (write)))
+(allow nfc init (unix_stream_socket (connectto)))
+(allow nfc nfc_prop (property_service (set)))
+(allow nfc nfc_prop (file (read getattr map open)))
+(allow nfc shell_data_file (file (read)))
+(allow nfc device_logging_prop (file (read getattr map open)))
+(allow odrefresh apex_module_data_file (dir (getattr search)))
+(allow odrefresh apex_art_data_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow odrefresh apex_art_data_file (file (ioctl read write create getattr setattr lock relabelto append map unlink rename open watch watch_reads)))
+(allow odrefresh odrefresh_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow odrefresh odrefresh_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow odrefresh odrefresh_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su odrefresh_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 14 system/sepolicy/private/odrefresh.te
+
+(neverallow base_typeattr_829 odrefresh_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow odrefresh apex_art_staging_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow odrefresh apex_art_staging_data_file (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow odrefresh dex2oat_exec (file (read getattr map execute open)))
+(allow odrefresh dex2oat (process (transition)))
+(allow dex2oat dex2oat_exec (file (read getattr map execute open entrypoint)))
+(allow dex2oat odrefresh (process (sigchld)))
+(dontaudit odrefresh dex2oat (process (noatsecure)))
+(allow odrefresh dex2oat (process (siginh rlimitinh)))
+(typetransition odrefresh dex2oat_exec process dex2oat)
+(allow odrefresh dex2oat (process (sigkill)))
+(allow odrefresh odsign_devpts (chr_file (read write)))
+(allow odrefresh odsign (fd (use)))
+(allow odrefresh apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow odrefresh property_socket (sock_file (write)))
+(allow odrefresh init (unix_stream_socket (connectto)))
+(allow odrefresh bootanim_system_prop (property_service (set)))
+(allow odrefresh bootanim_system_prop (file (read getattr map open)))
+(allow odrefresh device_config_runtime_native_prop (file (read getattr map open)))
+(allow odrefresh device_config_runtime_native_boot_prop (file (read getattr map open)))
+(dontaudit odrefresh adbd (fd (use)))
+(dontaudit odrefresh shell (fd (use)))
+(dontaudit odrefresh devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(dontaudit odrefresh adbd (unix_stream_socket (read write getattr)))
+(allow odrefresh file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow odrefresh seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow odrefresh selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow odrefresh selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow odrefresh selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow odrefresh selinuxfs (file (write lock append map open)))
+(allow odrefresh kernel (security (check_context)))
+(dontaudit odrefresh property_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow odrefresh artd (fd (use)))
+;;* lmx 65 system/sepolicy/private/odrefresh.te
+
+(neverallow base_typeattr_830 apex_art_staging_data_file (file (open)))
+;;* lme
+
+;;* lmx 71 system/sepolicy/private/odrefresh.te
+
+(neverallow base_typeattr_831 odrefresh_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/private/odrefresh.te
+
+(neverallow base_typeattr_832 odrefresh_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow init odsign_exec (file (read getattr map execute open)))
+(allow init odsign (process (transition)))
+(allow odsign odsign_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init odsign (process (noatsecure)))
+(allow init odsign (process (siginh rlimitinh)))
+(typetransition init odsign_exec process odsign)
+(allow odsign odsign_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow odsign odsign_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow odsign odsign_metrics_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow odsign odsign_metrics_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(typetransition odsign devpts chr_file odsign_devpts)
+(allow odsign odsign_devpts (chr_file (ioctl read write getattr open)))
+(allowx odsign odsign_devpts (ioctl chr_file ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+;;* lmx 21 system/sepolicy/private/odsign.te
+
+(neverallowx base_typeattr_239 odsign_devpts (ioctl chr_file (0x5412)))
+;;* lme
+
+(allowx odsign apex_art_data_file (ioctl file (0x6601 (range 0x6685 0x6686))))
+(allow odsign servicemanager (binder (call transfer)))
+(allow servicemanager odsign (binder (call transfer)))
+(allow servicemanager odsign (dir (search)))
+(allow servicemanager odsign (file (read open)))
+(allow servicemanager odsign (process (getattr)))
+(allow keystore odsign (dir (search)))
+(allow keystore odsign (file (read open)))
+(allow keystore odsign (process (getattr)))
+(allow odsign apc_service (service_manager (find)))
+(allow odsign keystore_service (service_manager (find)))
+(allow odsign legacykeystore_service (service_manager (find)))
+(allow odsign keystore (binder (call transfer)))
+(allow keystore odsign (binder (transfer)))
+(allow odsign keystore (fd (use)))
+(allow keystore odsign (binder (call transfer)))
+(allow odsign keystore (binder (transfer)))
+(allow keystore odsign (fd (use)))
+(allow odsign odsign_key (keystore2_key (delete get_info rebind use)))
+(allow odsign apex_module_data_file (dir (getattr search)))
+(allow odsign apex_art_data_file (dir (ioctl read write getattr lock rename open watch watch_reads add_name remove_name search rmdir)))
+(allow odsign apex_art_data_file (file (ioctl read write getattr lock append map unlink open watch watch_reads)))
+(allow odsign odrefresh_exec (file (read getattr map execute open)))
+(allow odsign odrefresh (process (transition)))
+(allow odrefresh odrefresh_exec (file (read getattr map execute open entrypoint)))
+(allow odrefresh odsign (process (sigchld)))
+(dontaudit odsign odrefresh (process (noatsecure)))
+(allow odsign odrefresh (process (siginh rlimitinh)))
+(typetransition odsign odrefresh_exec process odrefresh)
+(allow odsign compos_verify_exec (file (read getattr map execute open)))
+(allow odsign compos_verify (process (transition)))
+(allow compos_verify compos_verify_exec (file (read getattr map execute open entrypoint)))
+(allow compos_verify odsign (process (sigchld)))
+(dontaudit odsign compos_verify (process (noatsecure)))
+(allow odsign compos_verify (process (siginh rlimitinh)))
+(typetransition odsign compos_verify_exec process compos_verify)
+(allow odsign property_socket (sock_file (write)))
+(allow odsign init (unix_stream_socket (connectto)))
+(allow odsign odsign_prop (property_service (set)))
+(allow odsign odsign_prop (file (read getattr map open)))
+;;* lmx 59 system/sepolicy/private/odsign.te
+
+(neverallow base_typeattr_833 odsign_prop (property_service (set)))
+;;* lme
+
+(allow odsign property_socket (sock_file (write)))
+(allow odsign init (unix_stream_socket (connectto)))
+(allow odsign ctl_odsign_prop (property_service (set)))
+(allow odsign ctl_odsign_prop (file (read getattr map open)))
+;;* lmx 65 system/sepolicy/private/odsign.te
+
+(neverallow base_typeattr_833 odsign_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/odsign.te
+
+(neverallow base_typeattr_833 odsign_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow init ot_daemon_exec (file (read getattr map execute open)))
+(allow init ot_daemon (process (transition)))
+(allow ot_daemon ot_daemon_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init ot_daemon (process (noatsecure)))
+(allow init ot_daemon (process (siginh rlimitinh)))
+(typetransition init ot_daemon_exec process ot_daemon)
+(allow ot_daemon apex_module_data_file (dir (search)))
+(allow ot_daemon apex_tethering_data_file (dir (ioctl read write create getattr lock open watch watch_reads add_name remove_name search)))
+(allow ot_daemon apex_tethering_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow ot_daemon tun_device (chr_file (read write)))
+(allow ot_daemon system_server (rawip_socket (read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow ot_daemon system_server (udp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow ot_daemon servicemanager (binder (call transfer)))
+(allow servicemanager ot_daemon (binder (call transfer)))
+(allow servicemanager ot_daemon (dir (search)))
+(allow servicemanager ot_daemon (file (read open)))
+(allow servicemanager ot_daemon (process (getattr)))
+(allow ot_daemon ot_daemon_service (service_manager (add find)))
+;;* lmx 36 system/sepolicy/private/ot_daemon.te
+
+(neverallow base_typeattr_834 ot_daemon_service (service_manager (add)))
+;;* lme
+
+(allow ot_daemon system_server (binder (call transfer)))
+(allow system_server ot_daemon (binder (transfer)))
+(allow ot_daemon system_server (fd (use)))
+(allow ot_daemon statsdw_socket (sock_file (write)))
+(allow ot_daemon statsd (unix_dgram_socket (sendto)))
+(allow ot_daemon dumpstate (fd (use)))
+(allow ot_daemon dumpstate (fifo_file (write)))
+;;* lmx 53 system/sepolicy/private/ot_daemon.te
+
+(neverallow base_typeattr_835 ot_daemon_socket (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow otapreopt_chroot postinstall_file (dir (mounton search)))
+(allow otapreopt_chroot apex_mnt_dir (dir (mounton)))
+(allow otapreopt_chroot device (dir (mounton)))
+(allow otapreopt_chroot linkerconfig_file (dir (mounton)))
+(allow otapreopt_chroot rootfs (dir (mounton)))
+(allow otapreopt_chroot sysfs (dir (mounton)))
+(allow otapreopt_chroot system_data_root_file (dir (mounton)))
+(allow otapreopt_chroot system_file (dir (mounton)))
+(allow otapreopt_chroot vendor_file (dir (mounton)))
+(allow otapreopt_chroot self (capability (sys_chroot sys_admin)))
+(allow otapreopt_chroot self (cap_userns (sys_chroot sys_admin)))
+(allow otapreopt_chroot block_device (dir (search)))
+(allow otapreopt_chroot labeledfs (filesystem (mount unmount)))
+(allow otapreopt_chroot dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow otapreopt_chroot postinstall_file (filesystem (unmount)))
+(dontaudit otapreopt_chroot kernel (process (setsched)))
+(allow otapreopt_chroot file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow otapreopt_chroot postinstall_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow otapreopt_chroot apexd_prop (file (read getattr map open)))
+(allow otapreopt_chroot postinstall (fd (use)))
+(allow otapreopt_chroot postinstall (fifo_file (read write getattr)))
+(allow otapreopt_chroot update_engine (fd (use)))
+(allow otapreopt_chroot update_engine (fifo_file (write)))
+(allow otapreopt_chroot postinstall_dexopt_exec (file (read getattr map execute open)))
+(allow otapreopt_chroot postinstall_dexopt (process (transition)))
+(allow postinstall_dexopt postinstall_dexopt_exec (file (read getattr map execute open entrypoint)))
+(allow postinstall_dexopt otapreopt_chroot (process (sigchld)))
+(dontaudit otapreopt_chroot postinstall_dexopt (process (noatsecure)))
+(allow otapreopt_chroot postinstall_dexopt (process (siginh rlimitinh)))
+(typetransition otapreopt_chroot postinstall_dexopt_exec process postinstall_dexopt)
+(allow otapreopt_chroot linkerconfig_exec (file (read getattr map execute open)))
+(allow otapreopt_chroot linkerconfig (process (transition)))
+(allow linkerconfig linkerconfig_exec (file (read getattr map execute open entrypoint)))
+(allow linkerconfig otapreopt_chroot (process (sigchld)))
+(dontaudit otapreopt_chroot linkerconfig (process (noatsecure)))
+(allow otapreopt_chroot linkerconfig (process (siginh rlimitinh)))
+(typetransition otapreopt_chroot linkerconfig_exec process linkerconfig)
+(allow otapreopt_chroot apexd_exec (file (read getattr map execute open)))
+(allow otapreopt_chroot apexd (process (transition)))
+(allow apexd apexd_exec (file (read getattr map execute open entrypoint)))
+(allow apexd otapreopt_chroot (process (sigchld)))
+(dontaudit otapreopt_chroot apexd (process (noatsecure)))
+(allow otapreopt_chroot apexd (process (siginh rlimitinh)))
+(typetransition otapreopt_chroot apexd_exec process apexd)
+(allow otapreopt_chroot linkerconfig_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow otapreopt_chroot linkerconfig_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow otapreopt_chroot loop_control_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow otapreopt_chroot loop_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx otapreopt_chroot loop_device (ioctl blk_file (0x1261)))
+(allowx otapreopt_chroot loop_device (ioctl blk_file ((range 0x4c00 0x4c01) (range 0x4c04 0x4c05) (range 0x4c08 0x4c0a))))
+(allow otapreopt_chroot sysfs_loop (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow otapreopt_chroot sysfs_loop (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow otapreopt_chroot tmpfs (filesystem (mount)))
+(allow otapreopt_chroot tmpfs (dir (relabelfrom)))
+(allow otapreopt_chroot postinstall_apex_mnt_dir (dir (relabelto)))
+(allow otapreopt_chroot postinstall_apex_mnt_dir (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow otapreopt_chroot postinstall_apex_mnt_dir (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow otapreopt_chroot postinstall_apex_mnt_dir (dir (mounton)))
+(allow otapreopt_chroot block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow otapreopt_chroot postinstall_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow otapreopt_chroot cold_boot_done_prop (file (read getattr map open)))
+(allow otapreopt_chroot linkerconfig_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow init otapreopt_slot_exec (file (read getattr map execute open)))
+(allow init otapreopt_slot (process (transition)))
+(allow otapreopt_slot otapreopt_slot_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init otapreopt_slot (process (noatsecure)))
+(allow init otapreopt_slot (process (siginh rlimitinh)))
+(typetransition init otapreopt_slot_exec process otapreopt_slot)
+(allow otapreopt_slot ota_data_file (dir (ioctl read write getattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow otapreopt_slot ota_data_file (file (getattr)))
+(allow otapreopt_slot ota_data_file (lnk_file (getattr)))
+(allow otapreopt_slot ota_data_file (lnk_file (read)))
+(allow otapreopt_slot dalvikcache_data_file (dir (read write getattr open add_name remove_name search rmdir)))
+(allow otapreopt_slot dalvikcache_data_file (file (getattr unlink)))
+(allow otapreopt_slot dalvikcache_data_file (lnk_file (read getattr unlink)))
+(allow otapreopt_slot shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow otapreopt_slot toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(typetransition perfetto tmpfs file perfetto_tmpfs)
+(allow perfetto perfetto_tmpfs (file (read write getattr map)))
+(allow init perfetto_exec (file (read getattr map execute open)))
+(allow init perfetto (process (transition)))
+(allow perfetto perfetto_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init perfetto (process (noatsecure)))
+(allow init perfetto (process (siginh rlimitinh)))
+(typetransition init perfetto_exec process perfetto)
+(allow perfetto traced_consumer_socket (sock_file (write)))
+(allow perfetto traced (unix_stream_socket (connectto)))
+(allow perfetto traced (fd (use)))
+(allow perfetto traced_tmpfs (file (read write getattr map)))
+(allow perfetto traced_producer_socket (sock_file (write)))
+(allow perfetto traced (unix_stream_socket (connectto)))
+(allow traced perfetto (fd (use)))
+(allow perfetto perfetto_traces_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow perfetto perfetto_traces_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow perfetto perfetto_traces_bugreport_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow perfetto perfetto_traces_bugreport_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow perfetto perfetto_traces_profiling_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow perfetto perfetto_traces_profiling_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow perfetto tracingproxy_service (service_manager (find)))
+(allow perfetto servicemanager (binder (call transfer)))
+(allow servicemanager perfetto (binder (call transfer)))
+(allow servicemanager perfetto (dir (search)))
+(allow servicemanager perfetto (file (read open)))
+(allow servicemanager perfetto (process (getattr)))
+(allow perfetto system_server (binder (call transfer)))
+(allow system_server perfetto (binder (transfer)))
+(allow perfetto system_server (fd (use)))
+(allow perfetto perfetto_configs_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow perfetto perfetto_configs_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow perfetto system_perfetto_config_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow perfetto system_perfetto_config_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow perfetto shell (fd (use)))
+(allow perfetto statsd (fd (use)))
+(allow perfetto su (fd (use)))
+(allow perfetto mm_events (fd (use)))
+(allow perfetto shell (fifo_file (ioctl read write getattr)))
+(allow perfetto statsd (fifo_file (ioctl read write getattr)))
+(allow perfetto su (fifo_file (ioctl read write getattr)))
+(allow perfetto system_server (fifo_file (ioctl read write getattr)))
+(allow perfetto mm_events (fifo_file (ioctl read write getattr)))
+(allow perfetto adbd (fd (use)))
+(allow perfetto adbd (unix_stream_socket (read write)))
+(allow perfetto adbd (process (sigchld)))
+(allow perfetto statsdw_socket (sock_file (write)))
+(allow perfetto statsd (unix_dgram_socket (sendto)))
+(allow perfetto devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow perfetto incident_service (service_manager (find)))
+(allow perfetto incidentd (binder (call transfer)))
+(allow incidentd perfetto (binder (transfer)))
+(allow perfetto incidentd (fd (use)))
+(dontaudit perfetto adbd (unix_stream_socket (getattr)))
+(dontauditx perfetto adbd (ioctl unix_stream_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(dontauditx perfetto su (ioctl unix_stream_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(dontauditx perfetto shell (ioctl fifo_file ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+;;* lmx 99 system/sepolicy/private/perfetto.te
+
+(neverallow base_typeattr_836 perfetto_traces_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 109 system/sepolicy/private/perfetto.te
+
+(neverallow base_typeattr_837 perfetto_traces_data_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 115 system/sepolicy/private/perfetto.te
+
+(neverallow perfetto self (process (execmem)))
+;;* lme
+
+;;* lmx 118 system/sepolicy/private/perfetto.te
+
+(neverallow perfetto dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 121 system/sepolicy/private/perfetto.te
+
+(neverallow perfetto domain (process (ptrace)))
+;;* lme
+
+;;* lmx 139 system/sepolicy/private/perfetto.te
+
+(neverallow perfetto base_typeattr_838 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 144 system/sepolicy/private/perfetto.te
+
+(neverallow perfetto base_typeattr_839 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 152 system/sepolicy/private/perfetto.te
+
+(neverallow perfetto base_typeattr_840 (file (ioctl read create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow init performanced_exec (file (read getattr map execute open)))
+(allow init performanced (process (transition)))
+(allow performanced performanced_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init performanced (process (noatsecure)))
+(allow init performanced (process (siginh rlimitinh)))
+(typetransition init performanced_exec process performanced)
+(allow performanced servicemanager (binder (call transfer)))
+(allow servicemanager performanced (binder (call transfer)))
+(allow servicemanager performanced (dir (search)))
+(allow servicemanager performanced (file (read open)))
+(allow servicemanager performanced (process (getattr)))
+(allow performanced system_server (binder (call transfer)))
+(allow system_server performanced (binder (transfer)))
+(allow performanced system_server (fd (use)))
+(allow performanced permission_service (service_manager (find)))
+(allow init pdx_performance_client_endpoint_socket_type (unix_stream_socket (create bind)))
+(allow performanced pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
+(allow performanced self (process (setsockcreate)))
+(allow performanced pdx_performance_client_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 10 system/sepolicy/private/performanced.te
+
+(neverallow base_typeattr_841 pdx_performance_client_endpoint_socket_type (unix_stream_socket (listen accept)))
+;;* lme
+
+(allow performanced self (capability (setgid setuid sys_nice)))
+(allow performanced self (cap_userns (setgid setuid sys_nice)))
+(allow performanced appdomain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow performanced bufferhubd (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow performanced kernel (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow performanced surfaceflinger (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow performanced appdomain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced appdomain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced bufferhubd (file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced bufferhubd (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced kernel (file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced kernel (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced surfaceflinger (file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced surfaceflinger (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit performanced domain (dir (read)))
+(allow performanced appdomain (process (setsched)))
+(allow performanced bufferhubd (process (setsched)))
+(allow performanced kernel (process (setsched)))
+(allow performanced surfaceflinger (process (setsched)))
+(allow performanced cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow performanced cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow performanced cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow performanced cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(typetransition permissioncontroller_app tmpfs file appdomain_tmpfs)
+(allow permissioncontroller_app permissioncontroller_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su permissioncontroller_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 6 system/sepolicy/private/permissioncontroller_app.te
+
+(neverallow base_typeattr_842 permissioncontroller_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow permissioncontroller_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 6 system/sepolicy/private/permissioncontroller_app.te
+
+(neverallow base_typeattr_843 base_typeattr_842 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/permissioncontroller_app.te
+
+(neverallow base_typeattr_844 permissioncontroller_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/permissioncontroller_app.te
+
+(neverallow base_typeattr_845 permissioncontroller_app (process (ptrace)))
+;;* lme
+
+(allow permissioncontroller_app app_api_service (service_manager (find)))
+(allow permissioncontroller_app system_api_service (service_manager (find)))
+(allow permissioncontroller_app gpuservice (binder (call transfer)))
+(allow gpuservice permissioncontroller_app (binder (transfer)))
+(allow permissioncontroller_app gpuservice (fd (use)))
+(allow permissioncontroller_app radio_service (service_manager (find)))
+(allow permissioncontroller_app incident_service (service_manager (find)))
+(allow permissioncontroller_app incidentd (binder (call transfer)))
+(allow incidentd permissioncontroller_app (binder (transfer)))
+(allow permissioncontroller_app incidentd (fd (use)))
+(allow permissioncontroller_app incidentd (fifo_file (read write)))
+(allow permissioncontroller_app gpu_device (dir (search)))
+(typetransition platform_app tmpfs file appdomain_tmpfs)
+(allow platform_app platform_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su platform_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 7 system/sepolicy/private/platform_app.te
+
+(neverallow base_typeattr_846 platform_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow platform_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 7 system/sepolicy/private/platform_app.te
+
+(neverallow base_typeattr_847 base_typeattr_846 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/platform_app.te
+
+(neverallow base_typeattr_848 platform_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/platform_app.te
+
+(neverallow base_typeattr_849 platform_app (process (ptrace)))
+;;* lme
+
+(allow platform_app shell_data_file (dir (search)))
+(allow platform_app shell_data_file (file (read getattr open)))
+(allow platform_app icon_file (file (read getattr open)))
+(allow platform_app apk_tmp_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow platform_app apk_private_tmp_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow platform_app apk_tmp_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow platform_app apk_private_tmp_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow platform_app apk_private_data_file (dir (search)))
+(allow platform_app asec_apk_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow platform_app asec_apk_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow platform_app media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow platform_app media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow platform_app cache_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow platform_app cache_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow platform_app mnt_media_rw_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow platform_app sdcard_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow platform_app sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow platform_app rootfs (dir (getattr)))
+(allow platform_app radio_cdma_ecm_prop (file (read getattr map open)))
+;;* lmx 46 system/sepolicy/private/platform_app.te
+
+(neverallow base_typeattr_480 persist_wm_debug_prop (property_service (set)))
+;;* lme
+
+(allow platform_app property_socket (sock_file (write)))
+(allow platform_app init (unix_stream_socket (connectto)))
+(allow platform_app debug_tracing_desktop_mode_visible_tasks_prop (property_service (set)))
+(allow platform_app debug_tracing_desktop_mode_visible_tasks_prop (file (read getattr map open)))
+(allow platform_app proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow platform_app proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app audioserver_service (service_manager (find)))
+(allow platform_app cameraserver_service (service_manager (find)))
+(allow platform_app drmserver_service (service_manager (find)))
+(allow platform_app mediaserver_service (service_manager (find)))
+(allow platform_app mediametrics_service (service_manager (find)))
+(allow platform_app mediaextractor_service (service_manager (find)))
+(allow platform_app mediadrmserver_service (service_manager (find)))
+(allow platform_app persistent_data_block_service (service_manager (find)))
+(allow platform_app radio_service (service_manager (find)))
+(allow platform_app thermal_service (service_manager (find)))
+(allow platform_app app_api_service (service_manager (find)))
+(allow platform_app system_api_service (service_manager (find)))
+(allow platform_app vr_manager_service (service_manager (find)))
+(allow platform_app stats_service (service_manager (find)))
+(allow platform_app tradeinmode_service (service_manager (find)))
+(allow platform_app statsd (binder (call transfer)))
+(allow statsd platform_app (binder (transfer)))
+(allow platform_app statsd (fd (use)))
+(allow platform_app preloads_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app preloads_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow platform_app preloads_media_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app preloads_media_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow platform_app runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allow platform_app property_socket (sock_file (write)))
+(allow platform_app init (unix_stream_socket (connectto)))
+(allow platform_app test_boot_reason_prop (property_service (set)))
+(allow platform_app test_boot_reason_prop (file (read getattr map open)))
+(allow platform_app keyguard_config_prop (file (read getattr map open)))
+(allow platform_app qemu_hw_prop (file (read getattr map open)))
+(allow platform_app last_boot_reason_prop (file (read getattr map open)))
+(allow platform_app app_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(dontaudit platform_app debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow platform_app virtualizationmanager_exec (file (read getattr map execute open)))
+(allow platform_app virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager platform_app (process (sigchld)))
+(dontaudit platform_app virtualizationmanager (process (noatsecure)))
+(allow platform_app virtualizationmanager (process (siginh rlimitinh)))
+(typetransition platform_app virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm platform_app (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager platform_app (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm platform_app (fd (use)))
+(allow virtualizationmanager platform_app (fd (use)))
+(allow platform_app virtualizationmanager (fd (use)))
+(allow crosvm platform_app (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager platform_app (fifo_file (ioctl read write getattr)))
+(allow platform_app virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow platform_app hypervisor_prop (file (read getattr map open)))
+(allow platform_app virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager platform_app (dir (search)))
+(allow virtualizationmanager platform_app (file (read)))
+(allow virtualizationmanager platform_app (lnk_file (read)))
+(allow platform_app shutdown_checkpoints_system_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow platform_app shutdown_checkpoints_system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow platform_app shutdown_checkpoints_system_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 154 system/sepolicy/private/platform_app.te
+
+(neverallow base_typeattr_238 persist_sysui_builder_extras_prop (property_service (set)))
+;;* lme
+
+;;* lmx 157 system/sepolicy/private/platform_app.te
+
+(neverallow platform_app fuse_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+(allow postinstall otapreopt_chroot_exec (file (read getattr map execute open)))
+(allow postinstall otapreopt_chroot (process (transition)))
+(allow otapreopt_chroot otapreopt_chroot_exec (file (read getattr map execute open entrypoint)))
+(allow otapreopt_chroot postinstall (process (sigchld)))
+(dontaudit postinstall otapreopt_chroot (process (noatsecure)))
+(allow postinstall otapreopt_chroot (process (siginh rlimitinh)))
+(typetransition postinstall otapreopt_chroot_exec process otapreopt_chroot)
+(allow postinstall rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall package_service (service_manager (find)))
+(allow postinstall update_engine_common (fd (use)))
+(allow postinstall update_engine_common (fifo_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow postinstall postinstall_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow postinstall postinstall_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall postinstall_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow postinstall system_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow postinstall toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow postinstall servicemanager (binder (call transfer)))
+(allow servicemanager postinstall (binder (call transfer)))
+(allow servicemanager postinstall (dir (search)))
+(allow servicemanager postinstall (file (read open)))
+(allow servicemanager postinstall (process (getattr)))
+(allow postinstall system_server (binder (call transfer)))
+(allow system_server postinstall (binder (transfer)))
+(allow postinstall system_server (fd (use)))
+(allow postinstall otadexopt_service (service_manager (find)))
+(allow postinstall sysfs_fs_f2fs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow postinstall sysfs_fs_f2fs (dir (ioctl read getattr lock open watch watch_reads search)))
+;;* lmx 53 system/sepolicy/private/postinstall.te
+
+(neverallow base_typeattr_850 postinstall (process (transition dyntransition)))
+;;* lme
+
+(allow postinstall_dexopt dex2oat_exec (file (read getattr map execute open)))
+(allow postinstall_dexopt dex2oat (process (transition)))
+(allow dex2oat dex2oat_exec (file (read getattr map execute open entrypoint)))
+(allow dex2oat postinstall_dexopt (process (sigchld)))
+(dontaudit postinstall_dexopt dex2oat (process (noatsecure)))
+(allow postinstall_dexopt dex2oat (process (siginh rlimitinh)))
+(typetransition postinstall_dexopt dex2oat_exec process dex2oat)
+(allow postinstall_dexopt postinstall_file (file (read getattr map execute open)))
+(allow postinstall_dexopt dex2oat (process (transition)))
+(allow dex2oat postinstall_file (file (read getattr map execute open entrypoint)))
+(allow dex2oat postinstall_dexopt (process (sigchld)))
+(dontaudit postinstall_dexopt dex2oat (process (noatsecure)))
+(allow postinstall_dexopt dex2oat (process (siginh rlimitinh)))
+(typetransition postinstall_dexopt postinstall_file process dex2oat)
+(allow postinstall_dexopt derive_classpath_exec (file (read getattr map execute open)))
+(allow postinstall_dexopt derive_classpath (process (transition)))
+(allow derive_classpath derive_classpath_exec (file (read getattr map execute open entrypoint)))
+(allow derive_classpath postinstall_dexopt (process (sigchld)))
+(dontaudit postinstall_dexopt derive_classpath (process (noatsecure)))
+(allow postinstall_dexopt derive_classpath (process (siginh rlimitinh)))
+(typetransition postinstall_dexopt derive_classpath_exec process derive_classpath)
+(typetransition postinstall_dexopt tmpfs file postinstall_dexopt_tmpfs)
+(allow postinstall_dexopt postinstall_dexopt_tmpfs (file (read write getattr map)))
+(allow postinstall_dexopt postinstall_dexopt_tmpfs (file (open)))
+(allow postinstall_dexopt self (capability (chown dac_override dac_read_search fowner fsetid setgid setuid)))
+(allow postinstall_dexopt self (cap_userns (chown dac_override dac_read_search fowner fsetid setgid setuid)))
+(allow postinstall_dexopt postinstall_file (filesystem (getattr)))
+(allow postinstall_dexopt postinstall_file (dir (read getattr search)))
+(allow postinstall_dexopt postinstall_file (lnk_file (read getattr)))
+(allow postinstall_dexopt proc_filesystems (file (read getattr open)))
+(allow postinstall_dexopt rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt tmpfs (file (read)))
+(allow postinstall_dexopt odsign_prop (file (read getattr map open)))
+(allow postinstall_dexopt postinstall_apex_mnt_dir (dir (getattr search)))
+(allow postinstall_dexopt apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall_dexopt apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall_dexopt vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall_dexopt vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt vendor_apex_metadata_file (dir (getattr search)))
+(allow postinstall_dexopt dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall_dexopt dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt user_profile_root_file (dir (getattr search)))
+(allow postinstall_dexopt user_profile_data_file (dir (getattr search)))
+(allow postinstall_dexopt user_profile_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit postinstall_dexopt user_profile_data_file (file (write)))
+(allow postinstall_dexopt ota_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow postinstall_dexopt ota_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow postinstall_dexopt ota_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow postinstall_dexopt dalvikcache_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow postinstall_dexopt dalvikcache_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow postinstall_dexopt dalvikcache_data_file (dir (relabelto)))
+(allow postinstall_dexopt dalvikcache_data_file (file (relabelto link)))
+(allow postinstall_dexopt selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall_dexopt selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt selinuxfs (file (write lock append map open)))
+(allow postinstall_dexopt kernel (security (check_context)))
+(allow postinstall_dexopt selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow postinstall_dexopt selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow postinstall_dexopt selinuxfs (file (write lock append map open)))
+(allow postinstall_dexopt kernel (security (compute_av)))
+(allow postinstall_dexopt self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow postinstall_dexopt postinstall (process (sigchld)))
+(allow postinstall_dexopt otapreopt_chroot (fd (use)))
+(allow postinstall_dexopt device_config_runtime_native_prop (file (read getattr map open)))
+(allow postinstall_dexopt device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow init prefetch_exec (file (read getattr map execute open)))
+(allow init prefetch (process (transition)))
+(allow prefetch prefetch_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init prefetch (process (noatsecure)))
+(allow init prefetch (process (siginh rlimitinh)))
+(typetransition init prefetch_exec process prefetch)
+(allow prefetch debugfs_tracing_instances (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow prefetch debugfs_tracing_instances (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow prefetch metadata_file (dir (search)))
+(allow prefetch prefetch_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow prefetch prefetch_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow prefetch prefetch_boot_prop (file (read getattr map open)))
+(allow prefetch property_socket (sock_file (write)))
+(allow prefetch init (unix_stream_socket (connectto)))
+(allow prefetch prefetch_service_prop (property_service (set)))
+(allow prefetch prefetch_service_prop (file (read getattr map open)))
+;;* lmx 24 system/sepolicy/private/prefetch.te
+
+(neverallow base_typeattr_851 ctl_prefetch_prop (property_service (set)))
+;;* lme
+
+(allow init preloads_copy_exec (file (read getattr map execute open)))
+(allow init preloads_copy (process (transition)))
+(allow preloads_copy preloads_copy_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init preloads_copy (process (noatsecure)))
+(allow init preloads_copy (process (siginh rlimitinh)))
+(typetransition init preloads_copy_exec process preloads_copy)
+(allow preloads_copy shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow preloads_copy toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow preloads_copy preloads_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow preloads_copy preloads_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow preloads_copy preloads_media_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow preloads_copy preloads_media_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow preloads_copy system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit preloads_copy postinstall_mnt_dir (dir (search)))
+(allow preopt2cachename cppreopts (fd (use)))
+(allow preopt2cachename cppreopts (fifo_file (read write getattr)))
+(allow preopt2cachename proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(typetransition priv_app tmpfs file appdomain_tmpfs)
+(allow priv_app priv_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su priv_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 6 system/sepolicy/private/priv_app.te
+
+(neverallow base_typeattr_852 priv_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow priv_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 6 system/sepolicy/private/priv_app.te
+
+(neverallow base_typeattr_853 base_typeattr_852 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/priv_app.te
+
+(neverallow base_typeattr_854 priv_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/priv_app.te
+
+(neverallow base_typeattr_855 priv_app (process (ptrace)))
+;;* lme
+
+(typetransition priv_app devpts chr_file priv_app_devpts)
+(allow priv_app priv_app_devpts (chr_file (ioctl read write getattr open)))
+(allowx priv_app priv_app_devpts (ioctl chr_file ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+;;* lmx 15 system/sepolicy/private/priv_app.te
+
+(neverallowx base_typeattr_239 priv_app_devpts (ioctl chr_file (0x5412)))
+;;* lme
+
+(allow priv_app privapp_data_file (file (execute)))
+(allow priv_app system_linker_exec (file (execute_no_trans)))
+(allow priv_app privapp_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow priv_app app_api_service (service_manager (find)))
+(allow priv_app system_api_service (service_manager (find)))
+(allow priv_app audioserver_service (service_manager (find)))
+(allow priv_app cameraserver_service (service_manager (find)))
+(allow priv_app drmserver_service (service_manager (find)))
+(allow priv_app mediadrmserver_service (service_manager (find)))
+(allow priv_app mediaextractor_service (service_manager (find)))
+(allow priv_app mediametrics_service (service_manager (find)))
+(allow priv_app mediaserver_service (service_manager (find)))
+(allow priv_app music_recognition_service (service_manager (find)))
+(allow priv_app network_watchlist_service (service_manager (find)))
+(allow priv_app nfc_service (service_manager (find)))
+(allow priv_app oem_lock_service (service_manager (find)))
+(allow priv_app persistent_data_block_service (service_manager (find)))
+(allow priv_app radio_service (service_manager (find)))
+(allow priv_app recovery_service (service_manager (find)))
+(allow priv_app stats_service (service_manager (find)))
+(allow priv_app cache_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow priv_app cache_recovery_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow priv_app cache_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow priv_app cache_recovery_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow priv_app cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow priv_app media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow priv_app shell_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app shell_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app trace_data_file (file (read getattr)))
+(allow priv_app wm_trace_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app wm_trace_data_file (file (getattr)))
+(allow priv_app perfetto_traces_bugreport_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app perfetto_traces_bugreport_data_file (file (getattr)))
+(allow priv_app perfetto_traces_data_file (dir (search)))
+(allow priv_app perfetto (fd (use)))
+(allow priv_app perfetto_traces_data_file (file (read getattr)))
+(allow priv_app apk_tmp_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app apk_private_tmp_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app apk_tmp_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app apk_private_tmp_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx priv_app apk_tmp_file (ioctl file (0x6686)))
+(allowx priv_app apk_private_tmp_file (ioctl file (0x6686)))
+(allow priv_app vold (fd (use)))
+(allow priv_app fuse_device (chr_file (read write)))
+(allow priv_app proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app sysfs_type (dir (search)))
+(allow priv_app sysfs_zram (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app sysfs_zram (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app sysfs_zram (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app statsd (binder (call transfer)))
+(allow statsd priv_app (binder (transfer)))
+(allow priv_app statsd (fd (use)))
+(allow priv_app ringtone_file (file (read write getattr)))
+(allow priv_app preloads_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app preloads_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app preloads_media_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app preloads_media_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app incident_service (service_manager (find)))
+(allow priv_app incidentd (binder (call transfer)))
+(allow incidentd priv_app (binder (transfer)))
+(allow priv_app incidentd (fd (use)))
+(allow priv_app incidentd (fifo_file (read write)))
+(allow priv_app dynamic_system_prop (file (read getattr map open)))
+(allow priv_app adbd_tradeinmode_prop (file (read getattr map open)))
+(dontaudit priv_app exec_type (file (getattr)))
+(dontaudit priv_app device (dir (read)))
+(dontaudit priv_app fs_bpf (dir (search)))
+(dontaudit priv_app net_dns_prop (file (read)))
+(dontaudit priv_app proc (file (read)))
+(dontaudit priv_app proc_interrupts (file (read)))
+(dontaudit priv_app proc_modules (file (read)))
+(dontaudit priv_app proc_net (file (read)))
+(dontaudit priv_app proc_stat (file (read)))
+(dontaudit priv_app proc_version (file (read)))
+(dontaudit priv_app sysfs (dir (read)))
+(dontaudit priv_app sysfs (file (read)))
+(dontaudit priv_app sysfs_android_usb (file (read)))
+(dontaudit priv_app sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit priv_app wifi_config_prop (file (read)))
+(dontaudit priv_app wifi_hal_prop (file (read)))
+(dontaudit priv_app wifi_prop (file (read)))
+(allow priv_app system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allowx priv_app apk_data_file (ioctl file ((range 0x671f 0x6720) 0x6722 0x6724)))
+(allow priv_app incremental_control_file (file (ioctl read getattr)))
+(allowx priv_app incremental_control_file (ioctl file (0x6721)))
+(allow priv_app incremental_prop (file (read getattr map open)))
+(allow priv_app device_config_aconfig_flags_prop (file (read getattr map open)))
+(allow priv_app system_boot_reason_prop (file (read getattr map open)))
+(allow priv_app apex_data_file (dir (search)))
+(allow priv_app staging_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app staging_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app vendor_apex_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow priv_app vendor_apex_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow priv_app system_app_data_file (file (read getattr)))
+(allow priv_app rs_exec (file (read getattr map execute open)))
+(allow priv_app rs (process (transition)))
+(allow rs rs_exec (file (read getattr map execute open entrypoint)))
+(allow rs priv_app (process (sigchld)))
+(dontaudit priv_app rs (process (noatsecure)))
+(allow priv_app rs (process (siginh rlimitinh)))
+(typetransition priv_app rs_exec process rs)
+(allow priv_app app_exec_data_file (file (ioctl read getattr lock map unlink execute open watch watch_reads)))
+(allow priv_app virtualizationmanager_exec (file (read getattr map execute open)))
+(allow priv_app virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager priv_app (process (sigchld)))
+(dontaudit priv_app virtualizationmanager (process (noatsecure)))
+(allow priv_app virtualizationmanager (process (siginh rlimitinh)))
+(typetransition priv_app virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm priv_app (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager priv_app (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm priv_app (fd (use)))
+(allow virtualizationmanager priv_app (fd (use)))
+(allow priv_app virtualizationmanager (fd (use)))
+(allow crosvm priv_app (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager priv_app (fifo_file (ioctl read write getattr)))
+(allow priv_app virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow priv_app hypervisor_prop (file (read getattr map open)))
+(allow priv_app virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager priv_app (dir (search)))
+(allow virtualizationmanager priv_app (file (read)))
+(allow virtualizationmanager priv_app (lnk_file (read)))
+;;* lmx 221 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 224 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 227 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app kmsg_device (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 231 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app debugfs_type (file (read)))
+;;* lme
+
+;;* lmx 236 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app service_manager_type (service_manager (add)))
+;;* lme
+
+;;* lmx 240 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app property_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 241 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app init (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 242 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app property_type (property_service (set)))
+;;* lme
+
+;;* lmx 252 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app mlstrustedsubject (process (fork)))
+;;* lme
+
+;;* lmx 260 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app file_type (file (link)))
+;;* lme
+
+;;* lmx 264 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app trace_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 265 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app trace_data_file (file (write create setattr relabelfrom append unlink link rename open)))
+;;* lme
+
+;;* lmx 268 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app cgroup (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 269 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app cgroup_v2 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 275 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app base_typeattr_856 (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 278 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app base_typeattr_856 (lnk_file (read getattr open)))
+;;* lme
+
+;;* lmx 281 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app sysfs_net (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 285 system/sepolicy/private/priv_app.te
+
+(neverallowx priv_app domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx priv_app domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx priv_app domain (ioctl rawip_socket (0x6900 0x6902)))
+(neverallowx priv_app domain (ioctl icmp_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 285 system/sepolicy/private/priv_app.te
+
+(neverallowx priv_app domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx priv_app domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx priv_app domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx priv_app domain (ioctl icmp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 285 system/sepolicy/private/priv_app.te
+
+(neverallowx priv_app domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx priv_app domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx priv_app domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx priv_app domain (ioctl icmp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+;;* lmx 286 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app base_typeattr_239 (netlink_route_socket (ioctl)))
+(neverallow priv_app base_typeattr_239 (netlink_selinux_socket (ioctl)))
+;;* lme
+
+;;* lmx 299 system/sepolicy/private/priv_app.te
+
+(neverallow priv_app base_typeattr_239 (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow priv_app base_typeattr_239 (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow priv_app base_typeattr_239 (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow priv_app base_typeattr_239 (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow priv_app base_typeattr_239 (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow priv_app base_typeattr_239 (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow priv_app base_typeattr_239 (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+(allow init prng_seeder_exec (file (read getattr map execute open)))
+(allow init prng_seeder (process (transition)))
+(allow prng_seeder prng_seeder_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init prng_seeder (process (noatsecure)))
+(allow init prng_seeder (process (siginh rlimitinh)))
+(typetransition init prng_seeder_exec process prng_seeder)
+(allow prng_seeder prng_seeder (unix_stream_socket (read write getattr accept)))
+(allow prng_seeder hw_random_device (chr_file (read open)))
+(allow prng_seeder kmsg_debug_device (chr_file (ioctl write getattr lock append map open)))
+(allow profman system_file (file (read getattr lock map)))
+(allow profman vendor_app_file (file (read getattr lock map)))
+(allow profman apk_data_file (file (read getattr lock map)))
+(allow profman apk_tmp_file (file (read getattr lock map)))
+(allow profman artd (fd (use)))
+(allow profman installd (fd (use)))
+(allow profman artd_tmpfs (file (read getattr lock map)))
+(allow profman user_profile_data_file (file (read write getattr lock map)))
+(allow profman asec_apk_file (file (read map)))
+(allow profman apk_data_file (file (read getattr map)))
+(allow profman apk_data_file (dir (read getattr search)))
+(allow profman apk_tmp_file (dir (read getattr search)))
+(allow profman oemfs (file (read map)))
+(allow profman tmpfs (file (read map)))
+(allow profman profman_dump_data_file (file (write map)))
+(allow profman app_data_file (file (read write getattr lock map)))
+(allow profman privapp_data_file (file (read write getattr lock map)))
+(allow profman app_data_file (dir (read getattr search)))
+(allow profman privapp_data_file (dir (read getattr search)))
+(allow profman device_config_runtime_native_prop (file (read getattr map open)))
+(allow profman device_config_runtime_native_boot_prop (file (read getattr map open)))
+;;* lmx 48 system/sepolicy/private/profman.te
+
+(neverallow profman app_data_file_type (file (open)))
+(neverallow profman app_data_file_type (lnk_file (open)))
+(neverallow profman app_data_file_type (sock_file (open)))
+(neverallow profman app_data_file_type (fifo_file (open)))
+;;* lme
+
+;;* lmx 2 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 adbd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 adbd_tradeinmode_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 apexd_payload_metadata_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_snapuserd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_prefetch_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_uprobestats_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 8 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 crashrecovery_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 debug_tracing_desktop_mode_visible_tasks_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 10 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_core_experiments_team_internal_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 11 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_lmkd_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 12 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_mglru_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_mmd_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 14 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_profcollect_native_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_remote_key_provisioning_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 16 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_statsd_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 17 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_statsd_native_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 18 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_storage_native_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 19 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_sys_traced_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 20 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_window_manager_native_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 21 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_configuration_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 22 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_connectivity_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 23 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_swcodec_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 24 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_tethering_u_or_later_native_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 25 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 dmesgd_start_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 26 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 fastbootd_protocol_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 27 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 gsid_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 28 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 init_perf_lsm_hooks_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 29 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 init_service_status_private_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 30 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 init_storage_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 31 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 init_svc_debug_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 32 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 kcmdline_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 33 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 keystore_diagnostics_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 34 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 keystore_listen_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 35 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 last_boot_reason_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 36 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 localization_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 37 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 logd_auditrate_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 lower_kptr_restrict_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 39 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 mmd_status_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 40 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 net_464xlat_fromvendor_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 41 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 net_connectivity_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 netd_stable_secret_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 next_boot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 44 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 odsign_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 misctrl_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 46 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 perf_drop_caches_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 47 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 pm_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 48 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 prefetch_service_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 profcollectd_node_id_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 50 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 radio_cdma_ecm_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 51 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 remote_prov_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 52 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 remote_prov_cert_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 53 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 rollback_test_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 54 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 setupwizard_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 55 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 snapshotctl_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 56 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 snapuserd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 57 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 system_adbd_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 58 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 system_audio_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 59 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 timezone_metadata_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 60 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 traced_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 61 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 traced_perf_enabled_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 62 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 traced_relay_relay_port_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 63 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 uprobestats_start_with_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 64 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 tuner_server_ctl_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 65 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 userspace_reboot_log_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 userspace_reboot_test_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 67 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 verity_status_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 zygote_wrap_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_mediatranscoding_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 70 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_odsign_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 71 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 virtualizationservice_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_apex_load_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 73 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 sensors_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 74 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 hypervisor_pvmfw_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 75 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 hypervisor_virtualizationmanager_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 76 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 game_manager_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 77 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 hidl_memory_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 78 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 suspend_debug_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 79 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 system_service_enable_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 80 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 ctl_artd_pre_reboot_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 81 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 trusty_security_vm_sys_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 82 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 hint_manager_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 85 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 bionic_linker_16kb_app_compat_prop (property_service (set)))
+;;* lme
+
+;;* lmx 86 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 device_config_virtualization_framework_native_prop (property_service (set)))
+;;* lme
+
+;;* lmx 87 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 fstype_prop (property_service (set)))
+;;* lme
+
+;;* lmx 88 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 log_file_logger_prop (property_service (set)))
+;;* lme
+
+;;* lmx 89 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 mmd_shared_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 90 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 persist_sysui_builder_extras_prop (property_service (set)))
+;;* lme
+
+;;* lmx 91 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 persist_sysui_ranking_update_prop (property_service (set)))
+;;* lme
+
+;;* lmx 92 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 page_size_prop (property_service (set)))
+;;* lme
+
+;;* lmx 93 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 pm_16kb_app_compat_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init avf_virtualizationservice_prop (property_service (set)))
+(allow vendor_init avf_virtualizationservice_prop (file (read getattr map open)))
+;;* lmx 115 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 avf_virtualizationservice_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init high_barometer_quality_prop (property_service (set)))
+(allow vendor_init high_barometer_quality_prop (file (read getattr map open)))
+;;* lmx 116 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 high_barometer_quality_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init mmd_prop (property_service (set)))
+(allow vendor_init mmd_prop (file (read getattr map open)))
+;;* lmx 117 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 mmd_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init mmd_shared_prop (property_service (set)))
+(allow vendor_init mmd_shared_prop (file (read getattr map open)))
+;;* lmx 118 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 mmd_shared_prop (property_service (set)))
+;;* lme
+
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init prefetch_boot_prop (property_service (set)))
+(allow vendor_init prefetch_boot_prop (file (read getattr map open)))
+;;* lmx 119 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 prefetch_boot_prop (property_service (set)))
+;;* lme
+
+(allow property_type tmpfs (filesystem (associate)))
+;;* lmx 166 system/sepolicy/private/property.te
+
+(neverallow domain base_typeattr_857 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 166 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 base_typeattr_858 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 166 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_232 base_typeattr_859 (property_service (set)))
+;;* lme
+
+;;* lmx 166 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_234 base_typeattr_860 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 166 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_340 base_typeattr_861 (property_service (set)))
+;;* lme
+
+;;* lmx 209 system/sepolicy/private/property.te
+
+(neverallow domain property_type (file (ioctl lock)))
+;;* lme
+
+;;* lmx 235 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_239 base_typeattr_862 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 243 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 ctl_sigstop_prop (property_service (set)))
+;;* lme
+
+(dontaudit domain ctl_bootanim_prop (property_service (set)))
+(dontaudit domain ctl_bugreport_prop (property_service (set)))
+(dontaudit domain ctl_console_prop (property_service (set)))
+(dontaudit domain ctl_dumpstate_prop (property_service (set)))
+(dontaudit domain ctl_fuse_prop (property_service (set)))
+(dontaudit domain ctl_mdnsd_prop (property_service (set)))
+(dontaudit domain ctl_rildaemon_prop (property_service (set)))
+(dontaudit domain ctl_default_prop (property_service (set)))
+;;* lmx 262 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_863 init_storage_prop (property_service (set)))
+;;* lme
+
+;;* lmx 267 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 init_svc_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 274 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_864 init_svc_debug_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 285 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_865 misctrl_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 291 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_866 misctrl_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_867 base_typeattr_868 (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_869 nfc_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_870 radio_control_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_871 radio_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_872 bluetooth_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_873 exported_bluetooth_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_874 exported_camera_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_875 wifi_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_876 wifi_hal_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_867 base_typeattr_877 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_878 dalvik_dynamic_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_869 nfc_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_871 radio_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_872 bluetooth_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_875 wifi_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_389 suspend_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 suspend_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 high_barometer_quality_prop (property_service (set)))
+;;* lme
+
+;;* lmx 293 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_864 suspend_debug_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit system_suspend suspend_debug_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 490 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_879 base_typeattr_880 (property_service (set)))
+;;* lme
+
+;;* lmx 510 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_389 ffs_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_389 ffs_control_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 518 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_430 userspace_reboot_log_prop (property_service (set)))
+;;* lme
+
+;;* lmx 527 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_430 system_adbd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 539 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_881 adbd_config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 549 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_882 adbd_prop (property_service (set)))
+;;* lme
+
+;;* lmx 557 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 apexd_payload_metadata_prop (property_service (set)))
+;;* lme
+
+;;* lmx 567 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_851 userspace_reboot_test_prop (property_service (set)))
+;;* lme
+
+;;* lmx 576 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_388 surfaceflinger_color_prop (property_service (set)))
+;;* lme
+
+;;* lmx 583 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 libc_debug_prop (property_service (set)))
+;;* lme
+
+;;* lmx 598 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_883 arm64_memtag_prop (property_service (set)))
+(neverallow base_typeattr_883 gwp_asan_prop (property_service (set)))
+;;* lme
+
+;;* lmx 607 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_884 kcmdline_prop (property_service (set)))
+;;* lme
+
+;;* lmx 614 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_388 zram_control_prop (property_service (set)))
+;;* lme
+
+;;* lmx 621 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_388 dalvik_runtime_prop (property_service (set)))
+;;* lme
+
+;;* lmx 630 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_389 usb_config_prop (property_service (set)))
+(neverallow base_typeattr_389 usb_control_prop (property_service (set)))
+;;* lme
+
+;;* lmx 639 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_430 provisioned_prop (property_service (set)))
+(neverallow base_typeattr_430 retaildemo_prop (property_service (set)))
+;;* lme
+
+;;* lmx 648 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_389 provisioned_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_389 retaildemo_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 656 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 init_service_status_prop (property_service (set)))
+(neverallow base_typeattr_238 init_service_status_private_prop (property_service (set)))
+;;* lme
+
+;;* lmx 665 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_885 telephony_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 673 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 graphics_config_prop (property_service (set)))
+;;* lme
+
+;;* lmx 681 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_886 surfaceflinger_display_prop (property_service (set)))
+;;* lme
+
+;;* lmx 688 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_867 packagemanager_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 694 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_389 keyguard_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 701 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 localization_prop (property_service (set)))
+;;* lme
+
+;;* lmx 709 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_887 oem_unlock_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 715 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_389 storagemanager_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 723 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_888 sendbug_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 731 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_888 camera_calibration_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 739 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_889 hal_dumpstate_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 750 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 lower_kptr_restrict_prop (property_service (set)))
+;;* lme
+
+;;* lmx 755 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 zygote_wrap_prop (property_service (set)))
+;;* lme
+
+;;* lmx 760 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 verity_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 766 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 setupwizard_mode_prop (property_service (set)))
+;;* lme
+
+;;* lmx 771 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 setupwizard_prop (property_service (set)))
+;;* lme
+
+;;* lmx 780 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_383 build_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 786 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_851 sqlite_log_prop (property_service (set)))
+;;* lme
+
+;;* lmx 792 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_372 sqlite_log_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 797 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 default_prop (property_service (set)))
+;;* lme
+
+;;* lmx 801 system/sepolicy/private/property.te
+
+(neverallow domain system_and_vendor_property_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow domain system_and_vendor_property_type (property_service (set)))
+;;* lme
+
+;;* lmx 810 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_890 remote_prov_prop (property_service (set)))
+;;* lme
+
+;;* lmx 815 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 remote_prov_cert_prop (property_service (set)))
+;;* lme
+
+;;* lmx 822 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_851 rollback_test_prop (property_service (set)))
+;;* lme
+
+;;* lmx 828 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_244 ctl_apex_load_prop (property_service (set)))
+;;* lme
+
+;;* lmx 836 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_891 ctl_apex_load_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 842 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_244 apex_ready_prop (property_service (set)))
+;;* lme
+
+;;* lmx 850 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_892 apex_ready_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 858 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_893 profcollectd_node_id_prop (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 863 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_238 log_file_logger_prop (property_service (set)))
+;;* lme
+
+;;* lmx 869 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 usb_uvc_enabled_prop (property_service (set)))
+;;* lme
+
+;;* lmx 876 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_894 usb_uvc_enabled_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 882 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_233 pm_archiving_enabled_prop (property_service (set)))
+;;* lme
+
+;;* lmx 889 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_851 bionic_linker_16kb_app_compat_prop (property_service (set)))
+;;* lme
+
+;;* lmx 896 system/sepolicy/private/property.te
+
+(neverallow base_typeattr_851 pm_16kb_app_compat_prop (property_service (set)))
+;;* lme
+
+(typetransition radio tmpfs file appdomain_tmpfs)
+(allow radio radio_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su radio_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 3 system/sepolicy/private/radio.te
+
+(neverallow base_typeattr_895 radio_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow radio appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 3 system/sepolicy/private/radio.te
+
+(neverallow base_typeattr_896 base_typeattr_895 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/radio.te
+
+(neverallow base_typeattr_897 radio (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/radio.te
+
+(neverallow base_typeattr_898 radio (process (ptrace)))
+;;* lme
+
+(allow radio runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio radio_control_prop (property_service (set)))
+(allow radio radio_control_prop (file (read getattr map open)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio radio_prop (property_service (set)))
+(allow radio radio_prop (file (read getattr map open)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio net_radio_prop (property_service (set)))
+(allow radio net_radio_prop (file (read getattr map open)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio telephony_status_prop (property_service (set)))
+(allow radio telephony_status_prop (file (read getattr map open)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio radio_cdma_ecm_prop (property_service (set)))
+(allow radio radio_cdma_ecm_prop (file (read getattr map open)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio ctl_rildaemon_prop (property_service (set)))
+(allow radio ctl_rildaemon_prop (file (read getattr map open)))
+(allow radio time_prop (file (read getattr map open)))
+(allow radio platform_compat_service (service_manager (find)))
+(allow radio uce_service (service_manager (find)))
+(allow radio emergency_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow radio emergency_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow radio property_socket (sock_file (write)))
+(allow radio init (unix_stream_socket (connectto)))
+(allow radio binder_cache_telephony_server_prop (property_service (set)))
+(allow radio binder_cache_telephony_server_prop (file (read getattr map open)))
+(allow radio statsd (binder (call transfer)))
+(allow statsd radio (binder (transfer)))
+(allow radio statsd (fd (use)))
+(allow radio radio_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow radio radio_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow radio radio_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow radio radio_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow radio radio_data_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow radio radio_core_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow radio radio_core_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow radio net_data_file (dir (search)))
+(allow radio net_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow radio radio_service (service_manager (add find)))
+;;* lmx 51 system/sepolicy/private/radio.te
+
+(neverallow base_typeattr_895 radio_service (service_manager (add)))
+;;* lme
+
+(allow radio audioserver_service (service_manager (find)))
+(allow radio cameraserver_service (service_manager (find)))
+(allow radio drmserver_service (service_manager (find)))
+(allow radio mediaserver_service (service_manager (find)))
+(allow radio nfc_service (service_manager (find)))
+(allow radio app_api_service (service_manager (find)))
+(allow radio system_api_service (service_manager (find)))
+(allow radio timedetector_service (service_manager (find)))
+(allow radio timezonedetector_service (service_manager (find)))
+(allow radio hwservicemanager (binder (call transfer)))
+(allow hwservicemanager radio (binder (call transfer)))
+(allow hwservicemanager radio (dir (search)))
+(allow hwservicemanager radio (file (read map open)))
+(allow hwservicemanager radio (process (getattr)))
+(allow radio proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 74 system/sepolicy/private/radio.te
+
+(neverallow base_typeattr_899 binder_cache_telephony_server_prop (property_service (set)))
+;;* lme
+
+;;* lmx 206 system/sepolicy/private/recovery.te
+
+(neverallow recovery base_typeattr_900 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+;;* lme
+
+;;* lmx 212 system/sepolicy/private/recovery.te
+
+(neverallow recovery base_typeattr_900 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+(allow init recovery_persist_exec (file (read getattr map execute open)))
+(allow init recovery_persist (process (transition)))
+(allow recovery_persist recovery_persist_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init recovery_persist (process (noatsecure)))
+(allow init recovery_persist (process (siginh rlimitinh)))
+(typetransition init recovery_persist_exec process recovery_persist)
+(allow recovery_persist pstorefs (dir (search)))
+(allow recovery_persist pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow recovery_persist recovery_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow recovery_persist recovery_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow recovery_persist cache_file (dir (search)))
+(allow recovery_persist cache_file (lnk_file (read)))
+(allow recovery_persist cache_recovery_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow recovery_persist cache_recovery_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+;;* lmx 22 system/sepolicy/private/recovery_persist.te
+
+(neverallow recovery_persist dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 25 system/sepolicy/private/recovery_persist.te
+
+(neverallow recovery_persist domain (process (ptrace)))
+;;* lme
+
+;;* lmx 28 system/sepolicy/private/recovery_persist.te
+
+(neverallow recovery_persist system_file_type (file (write)))
+(neverallow recovery_persist system_file_type (dir (write)))
+(neverallow recovery_persist system_file_type (lnk_file (write)))
+(neverallow recovery_persist system_file_type (chr_file (write)))
+(neverallow recovery_persist system_file_type (blk_file (write)))
+(neverallow recovery_persist system_file_type (sock_file (write)))
+(neverallow recovery_persist system_file_type (fifo_file (write)))
+;;* lme
+
+;;* lmx 31 system/sepolicy/private/recovery_persist.te
+
+(neverallow recovery_persist app_data_file_type (file (write)))
+(neverallow recovery_persist app_data_file_type (dir (write)))
+(neverallow recovery_persist app_data_file_type (lnk_file (write)))
+(neverallow recovery_persist app_data_file_type (chr_file (write)))
+(neverallow recovery_persist app_data_file_type (blk_file (write)))
+(neverallow recovery_persist app_data_file_type (sock_file (write)))
+(neverallow recovery_persist app_data_file_type (fifo_file (write)))
+(neverallow recovery_persist system_data_file (file (write)))
+(neverallow recovery_persist system_data_file (dir (write)))
+(neverallow recovery_persist system_data_file (lnk_file (write)))
+(neverallow recovery_persist system_data_file (chr_file (write)))
+(neverallow recovery_persist system_data_file (blk_file (write)))
+(neverallow recovery_persist system_data_file (sock_file (write)))
+(neverallow recovery_persist system_data_file (fifo_file (write)))
+;;* lme
+
+;;* lmx 39 system/sepolicy/private/recovery_persist.te
+
+(neverallow recovery_persist base_typeattr_901 (file (write)))
+;;* lme
+
+(allow init recovery_refresh_exec (file (read getattr map execute open)))
+(allow init recovery_refresh (process (transition)))
+(allow recovery_refresh recovery_refresh_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init recovery_refresh (process (noatsecure)))
+(allow init recovery_refresh (process (siginh rlimitinh)))
+(typetransition init recovery_refresh_exec process recovery_refresh)
+(allow recovery_refresh pstorefs (dir (search)))
+(allow recovery_refresh pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 15 system/sepolicy/private/recovery_refresh.te
+
+(neverallow recovery_refresh dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 18 system/sepolicy/private/recovery_refresh.te
+
+(neverallow recovery_refresh domain (process (ptrace)))
+;;* lme
+
+;;* lmx 21 system/sepolicy/private/recovery_refresh.te
+
+(neverallow recovery_refresh system_file_type (file (write)))
+(neverallow recovery_refresh system_file_type (dir (write)))
+(neverallow recovery_refresh system_file_type (lnk_file (write)))
+(neverallow recovery_refresh system_file_type (chr_file (write)))
+(neverallow recovery_refresh system_file_type (blk_file (write)))
+(neverallow recovery_refresh system_file_type (sock_file (write)))
+(neverallow recovery_refresh system_file_type (fifo_file (write)))
+;;* lme
+
+;;* lmx 24 system/sepolicy/private/recovery_refresh.te
+
+(neverallow recovery_refresh app_data_file_type (file (write)))
+(neverallow recovery_refresh app_data_file_type (dir (write)))
+(neverallow recovery_refresh app_data_file_type (lnk_file (write)))
+(neverallow recovery_refresh app_data_file_type (chr_file (write)))
+(neverallow recovery_refresh app_data_file_type (blk_file (write)))
+(neverallow recovery_refresh app_data_file_type (sock_file (write)))
+(neverallow recovery_refresh app_data_file_type (fifo_file (write)))
+(neverallow recovery_refresh system_data_file (file (write)))
+(neverallow recovery_refresh system_data_file (dir (write)))
+(neverallow recovery_refresh system_data_file (lnk_file (write)))
+(neverallow recovery_refresh system_data_file (chr_file (write)))
+(neverallow recovery_refresh system_data_file (blk_file (write)))
+(neverallow recovery_refresh system_data_file (sock_file (write)))
+(neverallow recovery_refresh system_data_file (fifo_file (write)))
+;;* lme
+
+;;* lmx 31 system/sepolicy/private/recovery_refresh.te
+
+(neverallow recovery_refresh file_type (file (write)))
+;;* lme
+
+(allow remote_provisioning_service_server remote_provisioning_service (service_manager (add find)))
+;;* lmx 3 system/sepolicy/private/remote_provisioning_service_server.te
+
+(neverallow base_typeattr_902 remote_provisioning_service (service_manager (add)))
+;;* lme
+
+(allow remote_provisioning_service_server servicemanager (binder (call transfer)))
+(allow servicemanager remote_provisioning_service_server (binder (call transfer)))
+(allow servicemanager remote_provisioning_service_server (dir (search)))
+(allow servicemanager remote_provisioning_service_server (file (read open)))
+(allow servicemanager remote_provisioning_service_server (process (getattr)))
+(allow init rkp_cert_processor_exec (file (read getattr map execute open)))
+(allow init rkp_cert_processor (process (transition)))
+(allow rkp_cert_processor rkp_cert_processor_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init rkp_cert_processor (process (noatsecure)))
+(allow init rkp_cert_processor (process (siginh rlimitinh)))
+(typetransition init rkp_cert_processor_exec process rkp_cert_processor)
+(allow rkp_cert_processor servicemanager (binder (call transfer)))
+(allow servicemanager rkp_cert_processor (binder (call transfer)))
+(allow servicemanager rkp_cert_processor (dir (search)))
+(allow servicemanager rkp_cert_processor (file (read open)))
+(allow servicemanager rkp_cert_processor (process (getattr)))
+(allow rkp_cert_processor system_server (binder (call transfer)))
+(allow system_server rkp_cert_processor (binder (transfer)))
+(allow rkp_cert_processor system_server (fd (use)))
+(allow rkp_cert_processor rkp_cert_processor_service (service_manager (add find)))
+;;* lmx 11 system/sepolicy/private/rkp_cert_processor.te
+
+(neverallow base_typeattr_903 rkp_cert_processor_service (service_manager (add)))
+;;* lme
+
+(allow rkp_cert_processor system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rkp_cert_processor system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow rkp_cert_processor package_native_service (service_manager (find)))
+(allow rkpd servicemanager (binder (call transfer)))
+(allow servicemanager rkpd (binder (call transfer)))
+(allow servicemanager rkpd (dir (search)))
+(allow servicemanager rkpd (file (read open)))
+(allow servicemanager rkpd (process (getattr)))
+(allow init rkpd_exec (file (read getattr map execute open)))
+(allow init rkpd (process (transition)))
+(allow rkpd rkpd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init rkpd (process (noatsecure)))
+(allow init rkpd (process (siginh rlimitinh)))
+(typetransition init rkpd_exec process rkpd)
+(allow rkpd rkpd_registrar_service (service_manager (add find)))
+;;* lmx 12 system/sepolicy/private/rkpd.te
+
+(neverallow base_typeattr_904 rkpd_registrar_service (service_manager (add)))
+;;* lme
+
+(allow rkpd rkpd_refresh_service (service_manager (add find)))
+;;* lmx 13 system/sepolicy/private/rkpd.te
+
+(neverallow base_typeattr_904 rkpd_refresh_service (service_manager (add)))
+;;* lme
+
+(allow rkpd device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
+(typetransition rkpdapp tmpfs file appdomain_tmpfs)
+(allow rkpdapp rkpdapp_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su rkpdapp_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 7 system/sepolicy/private/rkpd_app.te
+
+(neverallow base_typeattr_905 rkpdapp_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow rkpdapp appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 7 system/sepolicy/private/rkpd_app.te
+
+(neverallow base_typeattr_906 base_typeattr_905 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/rkpd_app.te
+
+(neverallow base_typeattr_907 rkpdapp (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 7 system/sepolicy/private/rkpd_app.te
+
+(neverallow base_typeattr_908 rkpdapp (process (ptrace)))
+;;* lme
+
+(allow rkpdapp device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
+(allow rkpdapp property_socket (sock_file (write)))
+(allow rkpdapp init (unix_stream_socket (connectto)))
+(allow rkpdapp remote_prov_prop (property_service (set)))
+(allow rkpdapp remote_prov_prop (file (read getattr map open)))
+(allow rkpdapp app_api_service (service_manager (find)))
+(allow rkpdapp mediametrics_service (service_manager (find)))
+(allow rkpdapp statsmanager_service (service_manager (find)))
+(allow rkpdapp statsd (binder (call transfer)))
+(allow statsd rkpdapp (binder (transfer)))
+(allow rkpdapp statsd (fd (use)))
+(allow rootdisk_sysdev sysfs (filesystem (associate)))
+(allow rs app_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow rs privapp_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow rs app_exec_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(typetransition rs app_data_file file app_exec_data_file)
+(typetransition rs privapp_data_file file app_exec_data_file)
+(allow rs system_data_file (lnk_file (read)))
+(allow rs app_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs privapp_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs app_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rs privapp_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rs app_data_file (dir (remove_name)))
+(allow rs privapp_data_file (dir (remove_name)))
+(allow rs vendor_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rs vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rs vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rs vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs vendor_apex_metadata_file (dir (getattr search)))
+(allow rs apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow rs apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow rs ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow rs same_process_hal_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow rs untrusted_app_all (fd (use)))
+(allow rs ephemeral_app (fd (use)))
+(allow rs priv_app (fd (use)))
+(dontaudit rs hal_graphics_allocator (fd (use)))
+(dontaudit rs surfaceflinger (fd (use)))
+(dontaudit rs zygote (fd (use)))
+;;* lmx 41 system/sepolicy/private/rs.te
+
+(neverallow rs rs (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow rs rs (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+(neverallow rs rs (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow rs rs (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/rs.te
+
+(neverallow base_typeattr_263 rs (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/rs.te
+
+(neverallow rs base_typeattr_288 (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 44 system/sepolicy/private/rs.te
+
+(neverallow rs app_data_file_type (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow rs app_data_file_type (lnk_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+(neverallow rs app_data_file_type (chr_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm execute_no_trans entrypoint)))
+(neverallow rs app_data_file_type (blk_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+(neverallow rs app_data_file_type (sock_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+(neverallow rs app_data_file_type (fifo_file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm)))
+;;* lme
+
+;;* lmx 46 system/sepolicy/private/rs.te
+
+(neverallow rs base_typeattr_239 (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+(neverallow rs base_typeattr_239 (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow rs base_typeattr_239 (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow rs base_typeattr_239 (icmp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+(allow init rss_hwm_reset_exec (file (read getattr map execute open)))
+(allow init rss_hwm_reset (process (transition)))
+(allow rss_hwm_reset rss_hwm_reset_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init rss_hwm_reset (process (noatsecure)))
+(allow init rss_hwm_reset (process (siginh rlimitinh)))
+(typetransition init rss_hwm_reset_exec process rss_hwm_reset)
+(allow rss_hwm_reset domain (dir (search)))
+(allow rss_hwm_reset self (capability (dac_override)))
+(allow rss_hwm_reset self (cap_userns (dac_override)))
+(allow rss_hwm_reset domain (file (write lock append map open)))
+(allow shell runas_exec (file (read getattr map execute open)))
+(allow shell runas (process (transition)))
+(allow runas runas_exec (file (read getattr map execute open entrypoint)))
+(allow runas shell (process (sigchld)))
+(dontaudit shell runas (process (noatsecure)))
+(allow shell runas (process (siginh rlimitinh)))
+(typetransition shell runas_exec process runas)
+(allow runas adbd (fd (use)))
+(allow runas adbd (process (sigchld)))
+(allow runas adbd (unix_stream_socket (read write)))
+(allow runas shell (fd (use)))
+(allow runas shell (fifo_file (read write)))
+(allow runas shell (unix_stream_socket (read write)))
+(allow runas devpts (chr_file (ioctl read write)))
+(allow runas shell_data_file (file (read write)))
+(allow runas system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow runas system_data_file (lnk_file (getattr)))
+(allow runas packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow runas system_data_file (lnk_file (read)))
+(dontaudit runas self (capability (dac_override dac_read_search)))
+(dontaudit runas self (cap_userns (dac_override dac_read_search)))
+(allow runas app_data_file (dir (getattr search)))
+(allow runas self (capability (setgid setuid)))
+(allow runas self (cap_userns (setgid setuid)))
+(allow runas selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow runas selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow runas selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow runas selinuxfs (file (write lock append map open)))
+(allow runas kernel (security (check_context)))
+(allow runas self (process (setcurrent)))
+(allow runas base_typeattr_909 (process (dyntransition)))
+(allow runas seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 44 system/sepolicy/private/runas.te
+
+(neverallow runas self (capability (chown dac_override dac_read_search fowner fsetid kill setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow runas self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/runas.te
+
+(neverallow runas self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+(neverallow runas self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+(typetransition runas_app tmpfs file appdomain_tmpfs)
+(allow runas_app runas_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su runas_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 3 system/sepolicy/private/runas_app.te
+
+(neverallow base_typeattr_910 runas_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow runas_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 3 system/sepolicy/private/runas_app.te
+
+(neverallow base_typeattr_911 base_typeattr_910 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/runas_app.te
+
+(neverallow base_typeattr_912 runas_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/runas_app.te
+
+(neverallow base_typeattr_913 runas_app (process (ptrace)))
+;;* lme
+
+(allow runas_app app_data_file (file (execute_no_trans)))
+(allow runas_app untrusted_app_all (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow runas_app untrusted_app_all (file (ioctl read getattr lock map open watch watch_reads)))
+(allow runas_app untrusted_app_all (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow runas_app untrusted_app_all (process (sigkill sigstop signal ptrace)))
+(allow runas_app untrusted_app_all (unix_stream_socket (connectto)))
+(dontaudit runas_app domain (dir (search)))
+(allow runas_app self (perf_event (open read write)))
+;;* lmx 29 system/sepolicy/private/runas_app.te
+
+(neverallow runas_app self (perf_event (cpu kernel tracepoint)))
+;;* lme
+
+(dontaudit runas_app shell_test_data_file (dir (search)))
+(allow scheduler_service_server fwk_scheduler_hwservice (hwservice_manager (add find)))
+(allow scheduler_service_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 1 system/sepolicy/private/scheduler_service_server.te
+
+(neverallow base_typeattr_914 fwk_scheduler_hwservice (hwservice_manager (add)))
+;;* lme
+
+(typetransition sdcardd system_data_file dir media_rw_data_file)
+(typetransition sdcardd system_data_file file media_rw_data_file)
+(allow sdcardd cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow sdcardd cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow sdcardd fuse_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow sdcardd rootfs (dir (mounton)))
+(allow sdcardd sdcardfs (filesystem (remount)))
+(allow sdcardd tmpfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow sdcardd mnt_media_rw_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow sdcardd storage_file (dir (search)))
+(allow sdcardd storage_stub_file (dir (mounton search)))
+(allow sdcardd sdcard_type (filesystem (mount unmount)))
+(allow sdcardd fuse (filesystem (mount unmount)))
+(allow sdcardd self (capability (dac_override dac_read_search setgid setuid sys_admin sys_resource)))
+(allow sdcardd self (cap_userns (dac_override dac_read_search setgid setuid sys_admin sys_resource)))
+(allow sdcardd sdcard_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow sdcardd fuse (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow sdcardd sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow sdcardd fuse (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow sdcardd media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow sdcardd media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow sdcardd system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow sdcardd packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow sdcardd install_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow sdcardd install_data_file (dir (search)))
+(allow sdcardd vold (fd (use)))
+(allow sdcardd vold (fifo_file (read write getattr)))
+(allow sdcardd mnt_expand_file (dir (search)))
+(allow sdcardd proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 47 system/sepolicy/private/sdcardd.te
+
+(neverallow init sdcardd_exec (file (execute)))
+;;* lme
+
+;;* lmx 48 system/sepolicy/private/sdcardd.te
+
+(neverallow init sdcardd (process (transition dyntransition)))
+;;* lme
+
+(typetransition sdk_sandbox_34 tmpfs file appdomain_tmpfs)
+(allow sdk_sandbox_34 sdk_sandbox_34_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su sdk_sandbox_34_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 9 system/sepolicy/private/sdk_sandbox_34.te
+
+(neverallow base_typeattr_915 sdk_sandbox_34_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow sdk_sandbox_34 appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 9 system/sepolicy/private/sdk_sandbox_34.te
+
+(neverallow base_typeattr_916 base_typeattr_915 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/sdk_sandbox_34.te
+
+(neverallow base_typeattr_917 sdk_sandbox_34 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/sdk_sandbox_34.te
+
+(neverallow base_typeattr_918 sdk_sandbox_34 (process (ptrace)))
+;;* lme
+
+(allow sdk_sandbox_all system_linker_exec (file (execute_no_trans)))
+(allow sdk_sandbox_all shell_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow sdk_sandbox_all shell_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow sdk_sandbox_all system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allow sdk_sandbox_all sdk_sandbox_system_data_file (dir (getattr search)))
+(allow sdk_sandbox_all sdk_sandbox_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow sdk_sandbox_all sdk_sandbox_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow sdk_sandbox_all app_data_file (file (read getattr)))
+(allow sdk_sandbox_all privapp_data_file (file (read getattr)))
+;;* lmx 39 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all app_data_file_type (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 42 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 45 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 49 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all debugfs_type (file (read)))
+;;* lme
+
+;;* lmx 52 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all gpu_device (chr_file (execute)))
+;;* lme
+
+;;* lmx 55 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all sysfs (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 59 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all proc (file (ioctl read write create setattr lock relabelfrom append unlink link rename execute open watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 62 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all sdcard_type (file (create open)))
+(neverallow sdk_sandbox_all media_rw_data_file (file (create open)))
+;;* lme
+
+;;* lmx 63 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all sdcard_type (dir (search)))
+(neverallow sdk_sandbox_all media_rw_data_file (dir (search)))
+;;* lme
+
+;;* lmx 67 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all proc_net (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 71 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all base_typeattr_919 (dir (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 72 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all base_typeattr_919 (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 75 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all media_rw_data_file (dir (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 76 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all media_rw_data_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 78 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all tmpfs (dir (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 80 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all hal_drm_service (service_manager (find)))
+;;* lme
+
+;;* lmx 90 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow base_typeattr_920 sdk_sandbox_system_data_file (dir (relabelfrom)))
+;;* lme
+
+;;* lmx 100 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow base_typeattr_921 sdk_sandbox_system_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 110 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow base_typeattr_920 sdk_sandbox_system_data_file (dir (relabelfrom)))
+;;* lme
+
+;;* lmx 120 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow base_typeattr_921 sdk_sandbox_system_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 123 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all sdk_sandbox_system_data_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 126 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow base_typeattr_238 sdk_sandbox_system_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 144 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow sdk_sandbox_all base_typeattr_922 (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 149 system/sepolicy/private/sdk_sandbox_all.te
+
+(neverallow base_typeattr_923 sdk_sandbox_all (unix_stream_socket (connectto)))
+;;* lme
+
+(typetransition sdk_sandbox_audit tmpfs file appdomain_tmpfs)
+(allow sdk_sandbox_audit sdk_sandbox_audit_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su sdk_sandbox_audit_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 14 system/sepolicy/private/sdk_sandbox_audit.te
+
+(neverallow base_typeattr_924 sdk_sandbox_audit_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow sdk_sandbox_audit appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 14 system/sepolicy/private/sdk_sandbox_audit.te
+
+(neverallow base_typeattr_925 base_typeattr_924 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 14 system/sepolicy/private/sdk_sandbox_audit.te
+
+(neverallow base_typeattr_926 sdk_sandbox_audit (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 14 system/sepolicy/private/sdk_sandbox_audit.te
+
+(neverallow base_typeattr_927 sdk_sandbox_audit (process (ptrace)))
+;;* lme
+
+(auditallow sdk_sandbox_audit ephemeral_app_api_service (service_manager (find)))
+(auditallow sdk_sandbox_audit cameraserver_service (service_manager (find)))
+(auditallow sdk_sandbox_audit mediadrmserver_service (service_manager (find)))
+(auditallow sdk_sandbox_audit radio_service (service_manager (find)))
+(auditallow sdk_sandbox_audit base_typeattr_928 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(auditallow sdk_sandbox_audit base_typeattr_928 (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow sdk_sandbox_current ephemeral_app_api_service (service_manager (find)))
+(allow sdk_sandbox_current audioserver_service (service_manager (find)))
+(allow sdk_sandbox_current batteryproperties_service (service_manager (find)))
+(allow sdk_sandbox_current cameraserver_service (service_manager (find)))
+(allow sdk_sandbox_current gpu_service (service_manager (find)))
+(allow sdk_sandbox_current mediaserver_service (service_manager (find)))
+(allow sdk_sandbox_current mediametrics_service (service_manager (find)))
+(allow sdk_sandbox_current mediaextractor_service (service_manager (find)))
+(allow sdk_sandbox_current mediadrmserver_service (service_manager (find)))
+(allow sdk_sandbox_current radio_service (service_manager (find)))
+(allow sdk_sandbox_current surfaceflinger_service (service_manager (find)))
+(allow sdk_sandbox_current activity_service (service_manager (find)))
+(allow sdk_sandbox_current activity_task_service (service_manager (find)))
+(allow sdk_sandbox_current appops_service (service_manager (find)))
+(allow sdk_sandbox_current audio_service (service_manager (find)))
+(allow sdk_sandbox_current batterystats_service (service_manager (find)))
+(allow sdk_sandbox_current IProxyService_service (service_manager (find)))
+(allow sdk_sandbox_current connectivity_service (service_manager (find)))
+(allow sdk_sandbox_current connmetrics_service (service_manager (find)))
+(allow sdk_sandbox_current deviceidle_service (service_manager (find)))
+(allow sdk_sandbox_current display_service (service_manager (find)))
+(allow sdk_sandbox_current font_service (service_manager (find)))
+(allow sdk_sandbox_current dropbox_service (service_manager (find)))
+(allow sdk_sandbox_current platform_compat_service (service_manager (find)))
+(allow sdk_sandbox_current game_service (service_manager (find)))
+(allow sdk_sandbox_current graphicsstats_service (service_manager (find)))
+(allow sdk_sandbox_current hardware_properties_service (service_manager (find)))
+(allow sdk_sandbox_current hint_service (service_manager (find)))
+(allow sdk_sandbox_current imms_service (service_manager (find)))
+(allow sdk_sandbox_current input_method_service (service_manager (find)))
+(allow sdk_sandbox_current input_service (service_manager (find)))
+(allow sdk_sandbox_current ipsec_service (service_manager (find)))
+(allow sdk_sandbox_current launcherapps_service (service_manager (find)))
+(allow sdk_sandbox_current legacy_permission_service (service_manager (find)))
+(allow sdk_sandbox_current light_service (service_manager (find)))
+(allow sdk_sandbox_current locale_service (service_manager (find)))
+(allow sdk_sandbox_current media_communication_service (service_manager (find)))
+(allow sdk_sandbox_current media_projection_service (service_manager (find)))
+(allow sdk_sandbox_current media_router_service (service_manager (find)))
+(allow sdk_sandbox_current media_session_service (service_manager (find)))
+(allow sdk_sandbox_current memtrackproxy_service (service_manager (find)))
+(allow sdk_sandbox_current midi_service (service_manager (find)))
+(allow sdk_sandbox_current netpolicy_service (service_manager (find)))
+(allow sdk_sandbox_current netstats_service (service_manager (find)))
+(allow sdk_sandbox_current network_management_service (service_manager (find)))
+(allow sdk_sandbox_current notification_service (service_manager (find)))
+(allow sdk_sandbox_current package_service (service_manager (find)))
+(allow sdk_sandbox_current permission_service (service_manager (find)))
+(allow sdk_sandbox_current permissionmgr_service (service_manager (find)))
+(allow sdk_sandbox_current permission_checker_service (service_manager (find)))
+(allow sdk_sandbox_current power_service (service_manager (find)))
+(allow sdk_sandbox_current procstats_service (service_manager (find)))
+(allow sdk_sandbox_current registry_service (service_manager (find)))
+(allow sdk_sandbox_current restrictions_service (service_manager (find)))
+(allow sdk_sandbox_current rttmanager_service (service_manager (find)))
+(allow sdk_sandbox_current search_service (service_manager (find)))
+(allow sdk_sandbox_current selection_toolbar_service (service_manager (find)))
+(allow sdk_sandbox_current sensorservice_service (service_manager (find)))
+(allow sdk_sandbox_current sensor_privacy_service (service_manager (find)))
+(allow sdk_sandbox_current servicediscovery_service (service_manager (find)))
+(allow sdk_sandbox_current settings_service (service_manager (find)))
+(allow sdk_sandbox_current statusbar_service (service_manager (find)))
+(allow sdk_sandbox_current storagestats_service (service_manager (find)))
+(allow sdk_sandbox_current speech_recognition_service (service_manager (find)))
+(allow sdk_sandbox_current textclassification_service (service_manager (find)))
+(allow sdk_sandbox_current textservices_service (service_manager (find)))
+(allow sdk_sandbox_current texttospeech_service (service_manager (find)))
+(allow sdk_sandbox_current telecom_service (service_manager (find)))
+(allow sdk_sandbox_current thermal_service (service_manager (find)))
+(allow sdk_sandbox_current translation_service (service_manager (find)))
+(allow sdk_sandbox_current tv_iapp_service (service_manager (find)))
+(allow sdk_sandbox_current tv_input_service (service_manager (find)))
+(allow sdk_sandbox_current uimode_service (service_manager (find)))
+(allow sdk_sandbox_current vcn_management_service (service_manager (find)))
+(allow sdk_sandbox_current webviewupdate_service (service_manager (find)))
+(allow sdk_sandbox_current tethering_service (service_manager (find)))
+(typetransition sdk_sandbox_next tmpfs file appdomain_tmpfs)
+(allow sdk_sandbox_next sdk_sandbox_next_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su sdk_sandbox_next_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 11 system/sepolicy/private/sdk_sandbox_next.te
+
+(neverallow base_typeattr_929 sdk_sandbox_next_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow sdk_sandbox_next appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 11 system/sepolicy/private/sdk_sandbox_next.te
+
+(neverallow base_typeattr_930 base_typeattr_929 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 11 system/sepolicy/private/sdk_sandbox_next.te
+
+(neverallow base_typeattr_931 sdk_sandbox_next (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 11 system/sepolicy/private/sdk_sandbox_next.te
+
+(neverallow base_typeattr_932 sdk_sandbox_next (process (ptrace)))
+;;* lme
+
+(allow sdk_sandbox_next audioserver_service (service_manager (find)))
+(allow sdk_sandbox_next batteryproperties_service (service_manager (find)))
+(allow sdk_sandbox_next gpu_service (service_manager (find)))
+(allow sdk_sandbox_next mediaserver_service (service_manager (find)))
+(allow sdk_sandbox_next mediametrics_service (service_manager (find)))
+(allow sdk_sandbox_next mediaextractor_service (service_manager (find)))
+(allow sdk_sandbox_next surfaceflinger_service (service_manager (find)))
+(allow sdk_sandbox_next activity_service (service_manager (find)))
+(allow sdk_sandbox_next activity_task_service (service_manager (find)))
+(allow sdk_sandbox_next appops_service (service_manager (find)))
+(allow sdk_sandbox_next audio_service (service_manager (find)))
+(allow sdk_sandbox_next batterystats_service (service_manager (find)))
+(allow sdk_sandbox_next IProxyService_service (service_manager (find)))
+(allow sdk_sandbox_next connectivity_service (service_manager (find)))
+(allow sdk_sandbox_next connmetrics_service (service_manager (find)))
+(allow sdk_sandbox_next deviceidle_service (service_manager (find)))
+(allow sdk_sandbox_next display_service (service_manager (find)))
+(allow sdk_sandbox_next font_service (service_manager (find)))
+(allow sdk_sandbox_next dropbox_service (service_manager (find)))
+(allow sdk_sandbox_next platform_compat_service (service_manager (find)))
+(allow sdk_sandbox_next game_service (service_manager (find)))
+(allow sdk_sandbox_next graphicsstats_service (service_manager (find)))
+(allow sdk_sandbox_next hardware_properties_service (service_manager (find)))
+(allow sdk_sandbox_next hint_service (service_manager (find)))
+(allow sdk_sandbox_next imms_service (service_manager (find)))
+(allow sdk_sandbox_next input_method_service (service_manager (find)))
+(allow sdk_sandbox_next input_service (service_manager (find)))
+(allow sdk_sandbox_next ipsec_service (service_manager (find)))
+(allow sdk_sandbox_next launcherapps_service (service_manager (find)))
+(allow sdk_sandbox_next legacy_permission_service (service_manager (find)))
+(allow sdk_sandbox_next light_service (service_manager (find)))
+(allow sdk_sandbox_next locale_service (service_manager (find)))
+(allow sdk_sandbox_next media_communication_service (service_manager (find)))
+(allow sdk_sandbox_next media_projection_service (service_manager (find)))
+(allow sdk_sandbox_next media_router_service (service_manager (find)))
+(allow sdk_sandbox_next media_session_service (service_manager (find)))
+(allow sdk_sandbox_next memtrackproxy_service (service_manager (find)))
+(allow sdk_sandbox_next midi_service (service_manager (find)))
+(allow sdk_sandbox_next netpolicy_service (service_manager (find)))
+(allow sdk_sandbox_next netstats_service (service_manager (find)))
+(allow sdk_sandbox_next network_management_service (service_manager (find)))
+(allow sdk_sandbox_next notification_service (service_manager (find)))
+(allow sdk_sandbox_next package_service (service_manager (find)))
+(allow sdk_sandbox_next permission_service (service_manager (find)))
+(allow sdk_sandbox_next permissionmgr_service (service_manager (find)))
+(allow sdk_sandbox_next permission_checker_service (service_manager (find)))
+(allow sdk_sandbox_next power_service (service_manager (find)))
+(allow sdk_sandbox_next procstats_service (service_manager (find)))
+(allow sdk_sandbox_next registry_service (service_manager (find)))
+(allow sdk_sandbox_next restrictions_service (service_manager (find)))
+(allow sdk_sandbox_next rttmanager_service (service_manager (find)))
+(allow sdk_sandbox_next search_service (service_manager (find)))
+(allow sdk_sandbox_next selection_toolbar_service (service_manager (find)))
+(allow sdk_sandbox_next sensorservice_service (service_manager (find)))
+(allow sdk_sandbox_next sensor_privacy_service (service_manager (find)))
+(allow sdk_sandbox_next servicediscovery_service (service_manager (find)))
+(allow sdk_sandbox_next settings_service (service_manager (find)))
+(allow sdk_sandbox_next statusbar_service (service_manager (find)))
+(allow sdk_sandbox_next storagestats_service (service_manager (find)))
+(allow sdk_sandbox_next speech_recognition_service (service_manager (find)))
+(allow sdk_sandbox_next textclassification_service (service_manager (find)))
+(allow sdk_sandbox_next textservices_service (service_manager (find)))
+(allow sdk_sandbox_next texttospeech_service (service_manager (find)))
+(allow sdk_sandbox_next telecom_service (service_manager (find)))
+(allow sdk_sandbox_next thermal_service (service_manager (find)))
+(allow sdk_sandbox_next translation_service (service_manager (find)))
+(allow sdk_sandbox_next tv_iapp_service (service_manager (find)))
+(allow sdk_sandbox_next tv_input_service (service_manager (find)))
+(allow sdk_sandbox_next uimode_service (service_manager (find)))
+(allow sdk_sandbox_next vcn_management_service (service_manager (find)))
+(allow sdk_sandbox_next webviewupdate_service (service_manager (find)))
+(allow sdk_sandbox_next tethering_service (service_manager (find)))
+(typetransition secure_element tmpfs file appdomain_tmpfs)
+(allow secure_element secure_element_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su secure_element_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 3 system/sepolicy/private/secure_element.te
+
+(neverallow base_typeattr_933 secure_element_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow secure_element appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 3 system/sepolicy/private/secure_element.te
+
+(neverallow base_typeattr_934 base_typeattr_933 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/secure_element.te
+
+(neverallow base_typeattr_935 secure_element (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/secure_element.te
+
+(neverallow base_typeattr_936 secure_element (process (ptrace)))
+;;* lme
+
+(allow secure_element secure_element_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/secure_element.te
+
+(neverallow base_typeattr_933 secure_element_service (service_manager (add)))
+;;* lme
+
+(allow secure_element app_api_service (service_manager (find)))
+(allow secure_element shell_data_file (file (read)))
+(allow secure_element vendor_uuid_mapping_config_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow sensor_service_server fwk_sensor_hwservice (hwservice_manager (add find)))
+(allow sensor_service_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 1 system/sepolicy/private/sensor_service_server.te
+
+(neverallow base_typeattr_937 fwk_sensor_hwservice (hwservice_manager (add)))
+;;* lme
+
+;;* lmx 88 system/sepolicy/private/service.te
+
+(neverallow domain base_typeattr_938 (service_manager (add find)))
+;;* lme
+
+(allow init servicemanager_exec (file (read getattr map execute open)))
+(allow init servicemanager (process (transition)))
+(allow servicemanager servicemanager_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init servicemanager (process (noatsecure)))
+(allow init servicemanager (process (siginh rlimitinh)))
+(typetransition init servicemanager_exec process servicemanager)
+(allow servicemanager runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager property_socket (sock_file (write)))
+(allow servicemanager init (unix_stream_socket (connectto)))
+(allow servicemanager ctl_interface_start_prop (property_service (set)))
+(allow servicemanager ctl_interface_start_prop (file (read getattr map open)))
+(allow servicemanager property_socket (sock_file (write)))
+(allow servicemanager init (unix_stream_socket (connectto)))
+(allow servicemanager servicemanager_prop (property_service (set)))
+(allow servicemanager servicemanager_prop (file (read getattr map open)))
+(allow servicemanager system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow servicemanager system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow servicemanager apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow servicemanager apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow servicemanager vendor_apex_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager vendor_apex_metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager self (binder (set_context_mgr)))
+(allow servicemanager base_typeattr_939 (binder (transfer)))
+(allow servicemanager service_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager vendor_service_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager service_manager_service (service_manager (add find)))
+;;* lmx 38 system/sepolicy/private/servicemanager.te
+
+(neverallow base_typeattr_940 service_manager_service (service_manager (add)))
+;;* lme
+
+(allow servicemanager dumpstate (fd (use)))
+(allow servicemanager dumpstate (fifo_file (write)))
+(allow servicemanager selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow servicemanager selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow servicemanager selinuxfs (file (write lock append map open)))
+(allow servicemanager kernel (security (compute_av)))
+(allow servicemanager self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow servicemanager kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow servicemanager traced (fd (use)))
+(allow servicemanager traced_tmpfs (file (read write getattr map)))
+(allow servicemanager traced_producer_socket (sock_file (write)))
+(allow servicemanager traced (unix_stream_socket (connectto)))
+(allow traced servicemanager (fd (use)))
+(allow sgdisk block_device (dir (search)))
+(allow sgdisk vold_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx sgdisk vold_device (ioctl blk_file (0x301)))
+(allowx sgdisk vold_device (ioctl blk_file (0x1260)))
+(allowx sgdisk vold_device (ioctl blk_file (0x125f)))
+(allowx sgdisk vold_device (ioctl blk_file (0x127b)))
+(allow sgdisk devpts (chr_file (ioctl read write getattr)))
+(allow sgdisk vold (fd (use)))
+(allow sgdisk vold (fifo_file (read write getattr)))
+(allow sgdisk self (capability (sys_admin)))
+(allow sgdisk self (cap_userns (sys_admin)))
+;;* lmx 37 system/sepolicy/private/sgdisk.te
+
+(neverallow base_typeattr_299 sgdisk (process (transition)))
+;;* lme
+
+;;* lmx 38 system/sepolicy/private/sgdisk.te
+
+(neverallow base_typeattr_239 sgdisk (process (dyntransition)))
+;;* lme
+
+;;* lmx 39 system/sepolicy/private/sgdisk.te
+
+(neverallow sgdisk base_typeattr_941 (file (entrypoint)))
+;;* lme
+
+(typetransition shared_relro tmpfs file appdomain_tmpfs)
+(allow shared_relro shared_relro_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su shared_relro_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 5 system/sepolicy/private/shared_relro.te
+
+(neverallow base_typeattr_942 shared_relro_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow shared_relro appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 5 system/sepolicy/private/shared_relro.te
+
+(neverallow base_typeattr_943 base_typeattr_942 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/shared_relro.te
+
+(neverallow base_typeattr_944 shared_relro (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 5 system/sepolicy/private/shared_relro.te
+
+(neverallow base_typeattr_945 shared_relro (process (ptrace)))
+;;* lme
+
+(allow shared_relro shared_relro_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow shared_relro shared_relro_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shared_relro activity_service (service_manager (find)))
+(allow shared_relro webviewupdate_service (service_manager (find)))
+(allow shared_relro package_service (service_manager (find)))
+(dontaudit shared_relro network_management_service (service_manager (find)))
+(allow shell uhid_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow shell debugfs_tracing_debug (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell debugfs_tracing (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow shell debugfs_trace_marker (file (getattr)))
+(allow shell atrace_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell config_gz (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell tombstone_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell tombstone_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(typetransition shell tmpfs file appdomain_tmpfs)
+(allow shell shell_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su shell_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 26 system/sepolicy/private/shell.te
+
+(neverallow base_typeattr_946 shell_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow shell appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 26 system/sepolicy/private/shell.te
+
+(neverallow base_typeattr_947 base_typeattr_946 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 26 system/sepolicy/private/shell.te
+
+(neverallow base_typeattr_912 shell (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 26 system/sepolicy/private/shell.te
+
+(neverallow base_typeattr_948 shell (process (ptrace)))
+;;* lme
+
+(allow shell storaged (binder (call transfer)))
+(allow storaged shell (binder (transfer)))
+(allow shell storaged (fd (use)))
+(allow shell selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell selinuxfs (file (write lock append map open)))
+(allow shell kernel (security (compute_av)))
+(allow shell self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow shell selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell selinuxfs (file (write lock append map open)))
+(allow shell kernel (security (check_context)))
+(allow shell traced_consumer_socket (sock_file (write)))
+(allow shell traced (unix_stream_socket (connectto)))
+(allow shell traced (fd (use)))
+(allow shell traced_tmpfs (file (read write getattr map)))
+(allow shell traced_producer_socket (sock_file (write)))
+(allow shell traced (unix_stream_socket (connectto)))
+(allow traced shell (fd (use)))
+(allow shell vendor_shell_exec (file (read getattr map execute open)))
+(allow shell vendor_shell (process (transition)))
+(allow vendor_shell vendor_shell_exec (file (read getattr map execute open entrypoint)))
+(allow vendor_shell shell (process (sigchld)))
+(dontaudit shell vendor_shell (process (noatsecure)))
+(allow shell vendor_shell (process (siginh rlimitinh)))
+(typetransition shell vendor_shell_exec process vendor_shell)
+(allow shell tradeinmode_exec (file (read getattr map execute open)))
+(allow shell tradeinmode (process (transition)))
+(allow tradeinmode tradeinmode_exec (file (read getattr map execute open entrypoint)))
+(allow tradeinmode shell (process (sigchld)))
+(dontaudit shell tradeinmode (process (noatsecure)))
+(allow shell tradeinmode (process (siginh rlimitinh)))
+(typetransition shell tradeinmode_exec process tradeinmode)
+(allow shell perfetto_exec (file (read getattr map execute open)))
+(allow shell perfetto (process (transition)))
+(allow perfetto perfetto_exec (file (read getattr map execute open entrypoint)))
+(allow perfetto shell (process (sigchld)))
+(dontaudit shell perfetto (process (noatsecure)))
+(allow shell perfetto (process (siginh rlimitinh)))
+(typetransition shell perfetto_exec process perfetto)
+(allow shell perfetto (process (signal)))
+(allow shell statsd (binder (call transfer)))
+(allow statsd shell (binder (transfer)))
+(allow shell statsd (fd (use)))
+(allow shell perfetto_traces_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow shell perfetto_traces_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow shell perfetto_traces_bugreport_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow shell perfetto_traces_bugreport_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow shell perfetto_traces_profiling_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow shell perfetto_traces_profiling_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow shell perfetto_configs_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow shell perfetto_configs_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell gpuservice (binder (call transfer)))
+(allow gpuservice shell (binder (transfer)))
+(allow shell gpuservice (fd (use)))
+(allow shell proc_net_tcp_udp (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell system_linker_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell rs_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell dex2oat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell dex2oat_exec (lnk_file (read)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell lpdumpd_prop (property_service (set)))
+(allow shell lpdumpd_prop (file (read getattr map open)))
+(allow shell lpdumpd (binder (call transfer)))
+(allow lpdumpd shell (binder (transfer)))
+(allow shell lpdumpd (fd (use)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell userspace_reboot_test_prop (property_service (set)))
+(allow shell userspace_reboot_test_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell power_debug_prop (property_service (set)))
+(allow shell power_debug_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell rollback_test_prop (property_service (set)))
+(allow shell rollback_test_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell remote_prov_prop (property_service (set)))
+(allow shell remote_prov_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell bionic_linker_16kb_app_compat_prop (property_service (set)))
+(allow shell bionic_linker_16kb_app_compat_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell pm_16kb_app_compat_prop (property_service (set)))
+(allow shell pm_16kb_app_compat_prop (file (read getattr map open)))
+(allowx shell shell_data_file (ioctl dir ((range 0x6615 0x6616))))
+(allow shell simpleperf_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell remount_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell self (perf_event (open read write)))
+(allow shell vendor_microdroid_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell vendor_microdroid_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell vendor_microdroid_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell vendor_apex_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell vendor_apex_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell vendor_apex_metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell apex_data_file (dir (search)))
+(allow shell staging_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell shell_prop (property_service (set)))
+(allow shell shell_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell ctl_bugreport_prop (property_service (set)))
+(allow shell ctl_bugreport_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell ctl_dumpstate_prop (property_service (set)))
+(allow shell ctl_dumpstate_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell dumpstate_prop (property_service (set)))
+(allow shell dumpstate_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell exported_dumpstate_prop (property_service (set)))
+(allow shell exported_dumpstate_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell debug_prop (property_service (set)))
+(allow shell debug_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell perf_drop_caches_prop (property_service (set)))
+(allow shell perf_drop_caches_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell powerctl_prop (property_service (set)))
+(allow shell powerctl_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell log_tag_prop (property_service (set)))
+(allow shell log_tag_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell wifi_log_prop (property_service (set)))
+(allow shell wifi_log_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell traced_enabled_prop (property_service (set)))
+(allow shell traced_enabled_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell logd_auditrate_prop (property_service (set)))
+(allow shell logd_auditrate_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell heapprofd_enabled_prop (property_service (set)))
+(allow shell heapprofd_enabled_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell traced_perf_enabled_prop (property_service (set)))
+(allow shell traced_perf_enabled_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell ctl_gsid_prop (property_service (set)))
+(allow shell ctl_gsid_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell ctl_snapuserd_prop (property_service (set)))
+(allow shell ctl_snapuserd_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell ctl_prefetch_prop (property_service (set)))
+(allow shell ctl_prefetch_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell dynamic_system_prop (property_service (set)))
+(allow shell dynamic_system_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell mock_ota_prop (property_service (set)))
+(allow shell mock_ota_prop (file (read getattr map open)))
+(allow shell serialno_prop (file (read getattr map open)))
+(allow shell vendor_security_patch_level_prop (file (read getattr map open)))
+(allow shell device_logging_prop (file (read getattr map open)))
+(allow shell bootloader_boot_reason_prop (file (read getattr map open)))
+(allow shell last_boot_reason_prop (file (read getattr map open)))
+(allow shell system_boot_reason_prop (file (read getattr map open)))
+(allow shell hal_keymint (binder (call transfer)))
+(allow hal_keymint shell (binder (transfer)))
+(allow shell hal_keymint (fd (use)))
+(allow shell virtualizationservice (binder (call transfer)))
+(allow virtualizationservice shell (binder (transfer)))
+(allow shell virtualizationservice (fd (use)))
+(allow shell avf_virtualizationservice_prop (file (read getattr map open)))
+(allow shell init_perf_lsm_hooks_prop (file (read getattr map open)))
+(allow shell build_bootimage_prop (file (read getattr map open)))
+(allow shell odsign_prop (file (read getattr map open)))
+(allow shell keystore2_key_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell shell_key (keystore2_key (delete get_info rebind update use)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell sqlite_log_prop (property_service (set)))
+(allow shell sqlite_log_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell arm64_memtag_prop (property_service (set)))
+(allow shell arm64_memtag_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell permissive_mte_prop (property_service (set)))
+(allow shell permissive_mte_prop (file (read getattr map open)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell kcmdline_prop (property_service (set)))
+(allow shell kcmdline_prop (file (read getattr map open)))
+(allow shell verity_status_prop (file (read getattr map open)))
+(allow shell virtual_ab_prop (file (read getattr map open)))
+(allow shell gsi_metadata_file_type (dir (search)))
+(allow shell metadata_file (dir (search)))
+(allow shell gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell virtualizationmanager_exec (file (read getattr map execute open)))
+(allow shell virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager shell (process (sigchld)))
+(dontaudit shell virtualizationmanager (process (noatsecure)))
+(allow shell virtualizationmanager (process (siginh rlimitinh)))
+(typetransition shell virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm shell (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager shell (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm shell (fd (use)))
+(allow virtualizationmanager shell (fd (use)))
+(allow shell virtualizationmanager (fd (use)))
+(allow crosvm shell (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager shell (fifo_file (ioctl read write getattr)))
+(allow shell virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow shell hypervisor_prop (file (read getattr map open)))
+(allow shell virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager shell (dir (search)))
+(allow virtualizationmanager shell (file (read)))
+(allow virtualizationmanager shell (lnk_file (read)))
+(allow shell property_socket (sock_file (write)))
+(allow shell init (unix_stream_socket (connectto)))
+(allow shell gwp_asan_prop (property_service (set)))
+(allow shell gwp_asan_prop (file (read getattr map open)))
+(allow shell build_attestation_prop (file (read getattr map open)))
+(allow shell oatdump_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell logdr_socket (sock_file (write)))
+(allow shell logd (unix_stream_socket (connectto)))
+(allow shell logd_socket (sock_file (write)))
+(allow shell logd (unix_stream_socket (connectto)))
+(allow shell logd_prop (file (read getattr map open)))
+(allow shell pstorefs (dir (search)))
+(allow shell pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell anr_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell anr_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell shell_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow shell shell_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell shell_data_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell shell_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell shell_test_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow shell shell_test_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell shell_test_data_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell shell_test_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell shell_test_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell trace_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow shell trace_data_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search)))
+(allow shell profman_dump_data_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search)))
+(allow shell profman_dump_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow shell dumpstate_socket (sock_file (write)))
+(allow shell dumpstate (unix_stream_socket (connectto)))
+(allow shell devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow shell tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow shell console_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow shell input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell input_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell system_file (file (getattr map execute execute_no_trans)))
+(allow shell toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell zygote_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell servicemanager (service_manager (list)))
+(allow shell base_typeattr_949 (service_manager (find)))
+(allow shell dumpstate (binder (call)))
+(allow shell hwservicemanager (binder (call transfer)))
+(allow hwservicemanager shell (binder (call transfer)))
+(allow hwservicemanager shell (dir (search)))
+(allow hwservicemanager shell (file (read map open)))
+(allow hwservicemanager shell (process (getattr)))
+(allow shell hwservicemanager (hwservice_manager (list)))
+(allow shell proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_asound (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_cgroups (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_interrupts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_loadavg (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_modules (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_pid_max (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_slabinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_timer (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_uptime (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell proc_zoneinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell sysfs_net (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell vendor_cgroup_desc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell domain (dir (read getattr open search)))
+(allow shell domain (file (read getattr open)))
+(allow shell domain (lnk_file (read getattr open)))
+(allow shell labeledfs (filesystem (getattr)))
+(allow shell proc (filesystem (getattr)))
+(allow shell device (dir (getattr)))
+(allow shell domain (process (getattr)))
+(allow shell selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell bootchart_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow shell bootchart_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow shell self (process (ptrace)))
+(allow shell sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell sysfs_batteryinfo (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell sysfs_batteryinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell sysfs_lru_gen_enabled (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell sysfs_mem_sleep (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell sysfs_dt_avf (dir (search)))
+(allow shell proc_dt_avf (dir (search)))
+(allow shell ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow shell dev_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow shell dev_type (chr_file (getattr)))
+(allow shell proc (lnk_file (getattr)))
+(allow shell dev_type (blk_file (getattr)))
+(allow shell file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell property_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell service_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell sepolicy_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell vendor_shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow shell linux_vm_setup_exec (file (ioctl read getattr lock map open watch watch_reads entrypoint)))
+(allow shell tee_service_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow shell test_pkvm_tee_service (tee_service (use)))
+;;* lmx 515 system/sepolicy/private/shell.te
+
+(neverallow shell virtualization_service (service_manager (find)))
+(neverallow shell hal_keymint_service (service_manager (find)))
+(neverallow shell hal_secureclock_service (service_manager (find)))
+(neverallow shell hal_sharedsecret_service (service_manager (find)))
+;;* lme
+
+;;* lmx 523 system/sepolicy/private/shell.te
+
+(neverallow shell file_type (file (link)))
+;;* lme
+
+;;* lmx 526 system/sepolicy/private/shell.te
+
+(neverallowx shell domain (ioctl tcp_socket (0x6900 0x6902)))
+(neverallowx shell domain (ioctl udp_socket (0x6900 0x6902)))
+(neverallowx shell domain (ioctl rawip_socket (0x6900 0x6902)))
+;;* lme
+
+;;* lmx 526 system/sepolicy/private/shell.te
+
+(neverallowx shell domain (ioctl tcp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx shell domain (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(neverallowx shell domain (ioctl rawip_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+;;* lme
+
+;;* lmx 526 system/sepolicy/private/shell.te
+
+(neverallowx shell domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx shell domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(neverallowx shell domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+;;* lme
+
+;;* lmx 534 system/sepolicy/private/shell.te
+
+(neverallow shell hw_random_device (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow shell port_device (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow shell fuse_device (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 537 system/sepolicy/private/shell.te
+
+(neverallow shell dev_type (blk_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 546 system/sepolicy/private/shell.te
+
+(neverallow shell input_device (chr_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 548 system/sepolicy/private/shell.te
+
+(neverallow shell self (perf_event (cpu tracepoint)))
+;;* lme
+
+;;* lmx 551 system/sepolicy/private/shell.te
+
+(neverallow base_typeattr_851 perf_drop_caches_prop (property_service (set)))
+;;* lme
+
+;;* lmx 552 system/sepolicy/private/shell.te
+
+(neverallow base_typeattr_950 perf_drop_caches_prop (file (read)))
+;;* lme
+
+(allow untrusted_app_all simpleperf_exec (file (read getattr map execute open)))
+(allow ephemeral_app simpleperf_exec (file (read getattr map execute open)))
+(allow isolated_app simpleperf_exec (file (read getattr map execute open)))
+(allow platform_app simpleperf_exec (file (read getattr map execute open)))
+(allow priv_app simpleperf_exec (file (read getattr map execute open)))
+(allow untrusted_app_all simpleperf (process (transition)))
+(allow ephemeral_app simpleperf (process (transition)))
+(allow isolated_app simpleperf (process (transition)))
+(allow platform_app simpleperf (process (transition)))
+(allow priv_app simpleperf (process (transition)))
+(allow simpleperf simpleperf_exec (file (read getattr map execute open entrypoint)))
+(allow simpleperf untrusted_app_all (process (sigchld)))
+(allow simpleperf ephemeral_app (process (sigchld)))
+(allow simpleperf isolated_app (process (sigchld)))
+(allow simpleperf platform_app (process (sigchld)))
+(allow simpleperf priv_app (process (sigchld)))
+(dontaudit untrusted_app_all simpleperf (process (noatsecure)))
+(dontaudit ephemeral_app simpleperf (process (noatsecure)))
+(dontaudit isolated_app simpleperf (process (noatsecure)))
+(dontaudit platform_app simpleperf (process (noatsecure)))
+(dontaudit priv_app simpleperf (process (noatsecure)))
+(allow untrusted_app_all simpleperf (process (siginh rlimitinh)))
+(allow ephemeral_app simpleperf (process (siginh rlimitinh)))
+(allow isolated_app simpleperf (process (siginh rlimitinh)))
+(allow platform_app simpleperf (process (siginh rlimitinh)))
+(allow priv_app simpleperf (process (siginh rlimitinh)))
+(typetransition untrusted_app_all simpleperf_exec process simpleperf)
+(typetransition ephemeral_app simpleperf_exec process simpleperf)
+(typetransition isolated_app simpleperf_exec process simpleperf)
+(typetransition platform_app simpleperf_exec process simpleperf)
+(typetransition priv_app simpleperf_exec process simpleperf)
+(typetransition simpleperf tmpfs file appdomain_tmpfs)
+(allow simpleperf simpleperf_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su simpleperf_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 23 system/sepolicy/private/simpleperf.te
+
+(neverallow base_typeattr_951 simpleperf_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow simpleperf appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 23 system/sepolicy/private/simpleperf.te
+
+(neverallow base_typeattr_952 base_typeattr_951 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 23 system/sepolicy/private/simpleperf.te
+
+(neverallow base_typeattr_912 simpleperf (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 23 system/sepolicy/private/simpleperf.te
+
+(neverallow base_typeattr_913 simpleperf (process (ptrace)))
+;;* lme
+
+(allow simpleperf untrusted_app_all (process (ptrace)))
+(allow simpleperf ephemeral_app (process (ptrace)))
+(allow simpleperf isolated_app (process (ptrace)))
+(allow simpleperf platform_app (process (ptrace)))
+(allow simpleperf priv_app (process (ptrace)))
+(allow simpleperf self (perf_event (open kernel read write)))
+(allow simpleperf untrusted_app_all (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf ephemeral_app (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf isolated_app (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf platform_app (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf priv_app (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf untrusted_app_all (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf untrusted_app_all (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf ephemeral_app (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf ephemeral_app (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf isolated_app (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf isolated_app (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf platform_app (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf platform_app (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf priv_app (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf priv_app (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_all simpleperf (process (signal)))
+(allow ephemeral_app simpleperf (process (signal)))
+(allow isolated_app simpleperf (process (signal)))
+(allow platform_app simpleperf (process (signal)))
+(allow priv_app simpleperf (process (signal)))
+(dontaudit simpleperf domain (dir (search)))
+(allow simpleperf privapp_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf privapp_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf privapp_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf app_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf app_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf app_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf apk_tmp_file (file (read getattr)))
+(allow simpleperf apk_private_tmp_file (file (read getattr)))
+(allow simpleperf system_linker_exec (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf app_exec_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf asec_public_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf shell_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf shell_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+;;* lmx 63 system/sepolicy/private/simpleperf.te
+
+(neverallow simpleperf self (perf_event (cpu tracepoint)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/simpleperf.te
+
+(neverallow base_typeattr_953 simpleperf (process (ptrace)))
+;;* lme
+
+(allow shell simpleperf_app_runner_exec (file (read getattr map execute open)))
+(allow shell simpleperf_app_runner (process (transition)))
+(allow simpleperf_app_runner simpleperf_app_runner_exec (file (read getattr map execute open entrypoint)))
+(allow simpleperf_app_runner shell (process (sigchld)))
+(dontaudit shell simpleperf_app_runner (process (noatsecure)))
+(allow shell simpleperf_app_runner (process (siginh rlimitinh)))
+(typetransition shell simpleperf_app_runner_exec process simpleperf_app_runner)
+(allow simpleperf_app_runner adbd (fd (use)))
+(allow simpleperf_app_runner adbd (unix_stream_socket (read write)))
+(allow simpleperf_app_runner shell (fd (use)))
+(allow simpleperf_app_runner devpts (chr_file (ioctl read write)))
+(allow simpleperf_app_runner system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf_app_runner system_data_file (lnk_file (getattr)))
+(allow simpleperf_app_runner packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf_app_runner system_data_file (lnk_file (read)))
+(allow simpleperf_app_runner self (capability (setgid setuid)))
+(allow simpleperf_app_runner self (cap_userns (setgid setuid)))
+(allow simpleperf_app_runner selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow simpleperf_app_runner selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf_app_runner selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf_app_runner selinuxfs (file (write lock append map open)))
+(allow simpleperf_app_runner kernel (security (check_context)))
+(allow simpleperf_app_runner self (process (setcurrent)))
+(allow simpleperf_app_runner untrusted_app_all (process (dyntransition)))
+(allow simpleperf_app_runner ephemeral_app (process (dyntransition)))
+(allow simpleperf_app_runner isolated_app (process (dyntransition)))
+(allow simpleperf_app_runner platform_app (process (dyntransition)))
+(allow simpleperf_app_runner priv_app (process (dyntransition)))
+(allow simpleperf_app_runner seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow simpleperf_app_runner shell (fifo_file (read write getattr)))
+(allow simpleperf_app_runner shell_data_file (dir (getattr search)))
+(allow simpleperf_app_runner shell_data_file (file (write getattr)))
+;;* lmx 45 system/sepolicy/private/simpleperf_app_runner.te
+
+(neverallow simpleperf_app_runner self (capability (chown dac_override dac_read_search fowner fsetid kill setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow simpleperf_app_runner self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+;;* lme
+
+;;* lmx 46 system/sepolicy/private/simpleperf_app_runner.te
+
+(neverallow simpleperf_app_runner self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+(neverallow simpleperf_app_runner self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+(allow slideshow kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow slideshow sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow slideshow self (capability2 (block_suspend)))
+(allow slideshow self (cap2_userns (block_suspend)))
+(allow slideshow system_suspend_server (binder (call transfer)))
+(allow system_suspend_server slideshow (binder (transfer)))
+(allow slideshow system_suspend_server (fd (use)))
+(allow slideshow system_suspend_hwservice (hwservice_manager (find)))
+(allow slideshow hwservicemanager (binder (call transfer)))
+(allow hwservicemanager slideshow (binder (call transfer)))
+(allow hwservicemanager slideshow (dir (search)))
+(allow hwservicemanager slideshow (file (read map open)))
+(allow hwservicemanager slideshow (process (getattr)))
+(allow slideshow hwservicemanager_prop (file (read getattr map open)))
+(allow slideshow hidl_manager_hwservice (hwservice_manager (find)))
+(allow slideshow hal_system_suspend_service (service_manager (find)))
+(allow slideshow servicemanager (binder (call transfer)))
+(allow servicemanager slideshow (binder (call transfer)))
+(allow servicemanager slideshow (dir (search)))
+(allow servicemanager slideshow (file (read open)))
+(allow servicemanager slideshow (process (getattr)))
+(allow slideshow device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow slideshow self (capability (sys_tty_config)))
+(allow slideshow self (cap_userns (sys_tty_config)))
+(allow slideshow graphics_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow slideshow graphics_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow slideshow input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow slideshow input_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow slideshow tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init snapshotctl_exec (file (read getattr map execute open)))
+(allow init snapshotctl (process (transition)))
+(allow snapshotctl snapshotctl_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init snapshotctl (process (noatsecure)))
+(allow init snapshotctl (process (siginh rlimitinh)))
+(typetransition init snapshotctl_exec process snapshotctl)
+(allow snapshotctl property_socket (sock_file (write)))
+(allow snapshotctl init (unix_stream_socket (connectto)))
+(allow snapshotctl ctl_gsid_prop (property_service (set)))
+(allow snapshotctl ctl_gsid_prop (file (read getattr map open)))
+(allow snapshotctl servicemanager (binder (call transfer)))
+(allow servicemanager snapshotctl (binder (call transfer)))
+(allow servicemanager snapshotctl (dir (search)))
+(allow servicemanager snapshotctl (file (read open)))
+(allow servicemanager snapshotctl (process (getattr)))
+(allow snapshotctl gsi_service (service_manager (find)))
+(allow snapshotctl gsid (binder (call transfer)))
+(allow gsid snapshotctl (binder (transfer)))
+(allow snapshotctl gsid (fd (use)))
+(allow snapshotctl metadata_file (dir (search)))
+(allow snapshotctl ota_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow snapshotctl ota_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow snapshotctl sysfs_dt_firmware_android (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow snapshotctl sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapshotctl sysfs_dt_firmware_android (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapshotctl proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapshotctl block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow snapshotctl super_block_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapshotctl dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow snapshotctl self (capability (sys_admin)))
+(allow snapshotctl self (cap_userns (sys_admin)))
+(allow snapshotctl hwservicemanager (binder (call transfer)))
+(allow hwservicemanager snapshotctl (binder (call transfer)))
+(allow hwservicemanager snapshotctl (dir (search)))
+(allow hwservicemanager snapshotctl (file (read map open)))
+(allow hwservicemanager snapshotctl (process (getattr)))
+(allow snapshotctl statsdw_socket (sock_file (write)))
+(allow snapshotctl statsd (unix_dgram_socket (sendto)))
+(allow snapshotctl proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapshotctl property_socket (sock_file (write)))
+(allow snapshotctl init (unix_stream_socket (connectto)))
+(allow snapshotctl ctl_snapuserd_prop (property_service (set)))
+(allow snapshotctl ctl_snapuserd_prop (file (read getattr map open)))
+(allow snapshotctl snapuserd_prop (file (read getattr map open)))
+(allow snapshotctl snapuserd_socket (sock_file (write)))
+(allow snapshotctl snapuserd (unix_stream_socket (connectto)))
+(allow snapshotctl dm_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapshotctl dm_user_device (dir (search)))
+(allow init snapuserd_exec (file (read getattr map execute open)))
+(allow init snapuserd (process (transition)))
+(allow snapuserd snapuserd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init snapuserd (process (noatsecure)))
+(allow init snapuserd (process (siginh rlimitinh)))
+(typetransition init snapuserd_exec process snapuserd)
+(allow snapuserd kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow snapuserd block_device (dir (search)))
+(allow snapuserd sysfs (dir (read open)))
+(allow snapuserd sysfs_dm (dir (read open search)))
+(allow snapuserd sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapuserd block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow snapuserd dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow snapuserd dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow snapuserd dm_user_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow snapuserd dm_user_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow snapuserd snapuserd_socket (unix_stream_socket (read write getattr listen accept)))
+(allow snapuserd snapuserd_proxy_socket (sock_file (write)))
+(allow snapuserd self (capability (setgid)))
+(allow snapuserd self (cap_userns (setgid)))
+(allow snapuserd kernel (fd (use)))
+(allow snapuserd property_socket (sock_file (write)))
+(allow snapuserd init (unix_stream_socket (connectto)))
+(allow snapuserd snapuserd_prop (property_service (set)))
+(allow snapuserd snapuserd_prop (file (read getattr map open)))
+(allow snapuserd virtual_ab_prop (file (read getattr map open)))
+(allow snapuserd tmpfs (dir (read watch)))
+;;* lmx 56 system/sepolicy/private/snapuserd.te
+
+(neverallow base_typeattr_954 snapuserd_prop (property_service (set)))
+;;* lme
+
+(allow snapuserd metadata_file (dir (search)))
+(allow snapuserd ota_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow snapuserd ota_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow snapuserd snapuserd_log_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow snapuserd snapuserd_log_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow snapuserd proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow snapuserd self (capability (ipc_lock)))
+(allow snapuserd snapuserd_iouring (anon_inode (read write create map)))
+(allow snapuserd self (io_uring (sqpoll)))
+;;* lmx 73 system/sepolicy/private/snapuserd.te
+
+(neverallow base_typeattr_955 snapuserd_iouring (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit snapuserd self (capability (ipc_lock)))
+(dontaudit snapuserd self (cap_userns (ipc_lock)))
+;;* lmx 84 system/sepolicy/private/snapuserd.te
+
+(neverallow base_typeattr_956 ctl_snapuserd_prop (property_service (set)))
+;;* lme
+
+(allow shell stats_exec (file (read getattr map execute open)))
+(allow shell stats (process (transition)))
+(allow stats stats_exec (file (read getattr map execute open entrypoint)))
+(allow stats shell (process (sigchld)))
+(dontaudit shell stats (process (noatsecure)))
+(allow shell stats (process (siginh rlimitinh)))
+(typetransition shell stats_exec process stats)
+(allow stats shell (fd (use)))
+(allow stats adbd (fd (use)))
+(allow stats adbd (unix_stream_socket (read write)))
+(allow stats adbd (process (sigchld)))
+(allow stats servicemanager (binder (call transfer)))
+(allow servicemanager stats (binder (call transfer)))
+(allow servicemanager stats (dir (search)))
+(allow servicemanager stats (file (read open)))
+(allow servicemanager stats (process (getattr)))
+(allow stats stats_service (service_manager (find)))
+(allow stats statsd (binder (call transfer)))
+(allow statsd stats (binder (transfer)))
+(allow stats statsd (fd (use)))
+(allow stats statsd (fifo_file (write)))
+(allow statsd stats_service (service_manager (add find)))
+;;* lmx 27 system/sepolicy/private/stats.te
+
+(neverallow base_typeattr_957 stats_service (service_manager (add)))
+;;* lme
+
+(allow statsd stats (fd (use)))
+(allow statsd stats (fifo_file (write)))
+(allow statsd stats (binder (call transfer)))
+(allow stats statsd (binder (transfer)))
+(allow statsd stats (fd (use)))
+(allow stats_service_server fwk_stats_hwservice (hwservice_manager (add find)))
+(allow stats_service_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 1 system/sepolicy/private/stats_service_server.te
+
+(neverallow base_typeattr_958 fwk_stats_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow stats_service_server fwk_stats_service (service_manager (add find)))
+;;* lmx 2 system/sepolicy/private/stats_service_server.te
+
+(neverallow base_typeattr_958 fwk_stats_service (service_manager (add)))
+;;* lme
+
+(allow stats_service_server servicemanager (binder (call transfer)))
+(allow servicemanager stats_service_server (binder (call transfer)))
+(allow servicemanager stats_service_server (dir (search)))
+(allow servicemanager stats_service_server (file (read open)))
+(allow servicemanager stats_service_server (process (getattr)))
+(allow init statsd_exec (file (read getattr map execute open)))
+(allow init statsd (process (transition)))
+(allow statsd statsd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init statsd (process (noatsecure)))
+(allow init statsd (process (siginh rlimitinh)))
+(typetransition init statsd_exec process statsd)
+(allow statsd perfetto_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow statsd perfetto_exec (file (read getattr map execute open)))
+(allow statsd perfetto (process (transition)))
+(allow perfetto perfetto_exec (file (read getattr map execute open entrypoint)))
+(allow perfetto statsd (process (sigchld)))
+(dontaudit statsd perfetto (process (noatsecure)))
+(allow statsd perfetto (process (siginh rlimitinh)))
+(typetransition statsd perfetto_exec process perfetto)
+(allow statsd statscompanion_service (service_manager (find)))
+(allow statsd incidentd (fifo_file (write)))
+(allow statsd system_server (fifo_file (read write getattr)))
+(allow statsd appdomain (fifo_file (read write getattr)))
+(allow statsd surfaceflinger (binder (call transfer)))
+(allow surfaceflinger statsd (binder (transfer)))
+(allow statsd surfaceflinger (fd (use)))
+(allow statsd device_config_statsd_native_prop (file (read getattr map open)))
+(allow statsd device_config_statsd_native_boot_prop (file (read getattr map open)))
+(allow statsd misctrl_prop (file (read getattr map open)))
+(allow statsd uprobestats_configs_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow statsd uprobestats_configs_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow statsd property_socket (sock_file (write)))
+(allow statsd init (unix_stream_socket (connectto)))
+(allow statsd uprobestats_start_with_config_prop (property_service (set)))
+(allow statsd uprobestats_start_with_config_prop (file (read getattr map open)))
+(allow statsd statsd_iouring (anon_inode (read write create map)))
+(allow statsd self (io_uring (sqpoll)))
+;;* lmx 46 system/sepolicy/private/statsd.te
+
+(neverallow base_typeattr_957 statsd_iouring (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit statsd self (capability (ipc_lock)))
+(dontaudit statsd self (cap_userns (ipc_lock)))
+(allow statsd property_socket (sock_file (write)))
+(allow statsd init (unix_stream_socket (connectto)))
+(allow statsd ctl_uprobestats_prop (property_service (set)))
+(allow statsd ctl_uprobestats_prop (file (read getattr map open)))
+(allow statsd servicemanager (binder (call transfer)))
+(allow servicemanager statsd (binder (call transfer)))
+(allow servicemanager statsd (dir (search)))
+(allow servicemanager statsd (file (read open)))
+(allow servicemanager statsd (process (getattr)))
+(allow statsd domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow statsd domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow statsd domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow statsd devpts (chr_file (ioctl read write getattr)))
+(allow statsd shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow statsd system_file (file (execute_no_trans)))
+(allow statsd toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow statsd stats_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow statsd stats_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow statsd stats_config_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow statsd stats_config_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow statsd appdomain (binder (call transfer)))
+(allow appdomain statsd (binder (transfer)))
+(allow statsd appdomain (fd (use)))
+(allow statsd incidentd (binder (call transfer)))
+(allow incidentd statsd (binder (transfer)))
+(allow statsd incidentd (fd (use)))
+(allow statsd system_server (binder (call transfer)))
+(allow system_server statsd (binder (transfer)))
+(allow statsd system_server (fd (use)))
+(allow statsd traced_probes (binder (call transfer)))
+(allow traced_probes statsd (binder (transfer)))
+(allow statsd traced_probes (fd (use)))
+(allow statsd gpu_service (service_manager (find)))
+(allow statsd gpuservice (binder (call transfer)))
+(allow gpuservice statsd (binder (transfer)))
+(allow statsd gpuservice (fd (use)))
+(allow statsd keystore_service (service_manager (find)))
+(allow statsd keystore (binder (call transfer)))
+(allow keystore statsd (binder (transfer)))
+(allow statsd keystore (fd (use)))
+(allow statsd mediametrics_service (service_manager (find)))
+(allow statsd mediametrics (binder (call transfer)))
+(allow mediametrics statsd (binder (transfer)))
+(allow statsd mediametrics (fd (use)))
+(allow statsd mediaserver_service (service_manager (find)))
+(allow statsd mediaserver (binder (call transfer)))
+(allow mediaserver statsd (binder (transfer)))
+(allow statsd mediaserver (fd (use)))
+(allow statsd mmd_service (service_manager (find)))
+(allow statsd mmd (binder (call transfer)))
+(allow mmd statsd (binder (transfer)))
+(allow statsd mmd (fd (use)))
+(allow statsd logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow statsd logdr_socket (sock_file (write)))
+(allow statsd logd (unix_stream_socket (connectto)))
+(allow statsd logd_socket (sock_file (write)))
+(allow statsd logd (unix_stream_socket (connectto)))
+(allow statsd app_api_service (service_manager (find)))
+(allow statsd system_api_service (service_manager (find)))
+(allow statsd incident_service (service_manager (find)))
+(allow statsd hal_health_hwservice (hwservice_manager (find)))
+(allow statsd dumpstate (fd (use)))
+(allow statsd dumpstate (fifo_file (write getattr)))
+(allow statsd proc_uid_cputime_showstat (file (read getattr open)))
+(allow statsd adbd (fd (use)))
+(allow statsd adbd (unix_stream_socket (read write getattr)))
+(allow statsd shell (fifo_file (read write getattr)))
+(allow statsd statsdw_socket (sock_file (write)))
+(allow statsd statsd (unix_dgram_socket (sendto)))
+;;* lmx 144 system/sepolicy/private/statsd.te
+
+(neverallow base_typeattr_959 stats_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 145 system/sepolicy/private/statsd.te
+
+(neverallow base_typeattr_960 stats_config_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 149 system/sepolicy/private/statsd.te
+
+(neverallow base_typeattr_959 stats_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 150 system/sepolicy/private/statsd.te
+
+(neverallow base_typeattr_960 stats_config_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+(allow init storaged_exec (file (read getattr map execute open)))
+(allow init storaged (process (transition)))
+(allow storaged storaged_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init storaged (process (noatsecure)))
+(allow init storaged (process (siginh rlimitinh)))
+(typetransition init storaged_exec process storaged)
+(allow storaged domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow storaged domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow storaged domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow storaged proc_uid_io_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow storaged system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow storaged packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow storaged storaged_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow storaged storaged_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow storaged shell (fd (use)))
+(allow storaged shell (fifo_file (write)))
+(allow storaged priv_app (fd (use)))
+(allow storaged gmscore_app (fd (use)))
+(allow storaged app_data_file (file (write)))
+(allow storaged privapp_data_file (file (write)))
+(allow storaged permission_service (service_manager (find)))
+(allow storaged storaged_service (service_manager (add find)))
+;;* lmx 45 system/sepolicy/private/storaged.te
+
+(neverallow base_typeattr_961 storaged_service (service_manager (add)))
+;;* lme
+
+(allow storaged servicemanager (binder (call transfer)))
+(allow servicemanager storaged (binder (call transfer)))
+(allow servicemanager storaged (dir (search)))
+(allow servicemanager storaged (file (read open)))
+(allow servicemanager storaged (process (getattr)))
+(allow storaged system_server (binder (call transfer)))
+(allow system_server storaged (binder (transfer)))
+(allow storaged system_server (fd (use)))
+(allow storaged dumpstate (fd (use)))
+(allow storaged package_native_service (service_manager (find)))
+(dontaudit storaged self (capability (dac_override dac_read_search)))
+(dontaudit storaged self (cap_userns (dac_override dac_read_search)))
+(allow storaged dumpstate (fifo_file (write)))
+;;* lmx 68 system/sepolicy/private/storaged.te
+
+(neverallow storaged domain (process (ptrace)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/private/storaged.te
+
+(neverallow storaged self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow storaged self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+(neverallow storaged self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
+(neverallow storaged self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon checkpoint_restore bpf)))
+;;* lme
+
+(allow init surfaceflinger_exec (file (read getattr map execute open)))
+(allow init surfaceflinger (process (transition)))
+(allow surfaceflinger surfaceflinger_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init surfaceflinger (process (noatsecure)))
+(allow init surfaceflinger (process (siginh rlimitinh)))
+(typetransition init surfaceflinger_exec process surfaceflinger)
+(typetransition surfaceflinger tmpfs file surfaceflinger_tmpfs)
+(allow surfaceflinger surfaceflinger_tmpfs (file (read write getattr map)))
+(allow surfaceflinger runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger hidl_token_hwservice (hwservice_manager (find)))
+(allow surfaceflinger servicemanager (binder (call transfer)))
+(allow servicemanager surfaceflinger (binder (call transfer)))
+(allow servicemanager surfaceflinger (dir (search)))
+(allow servicemanager surfaceflinger (file (read open)))
+(allow servicemanager surfaceflinger (process (getattr)))
+(allow surfaceflinger binderservicedomain (binder (call transfer)))
+(allow binderservicedomain surfaceflinger (binder (transfer)))
+(allow surfaceflinger binderservicedomain (fd (use)))
+(allow surfaceflinger appdomain (binder (call transfer)))
+(allow appdomain surfaceflinger (binder (transfer)))
+(allow surfaceflinger appdomain (fd (use)))
+(allow surfaceflinger bootanim (binder (call transfer)))
+(allow bootanim surfaceflinger (binder (transfer)))
+(allow surfaceflinger bootanim (fd (use)))
+(allow surfaceflinger system_server (binder (call transfer)))
+(allow system_server surfaceflinger (binder (transfer)))
+(allow surfaceflinger system_server (fd (use)))
+(allow surfaceflinger adbd (binder (call transfer)))
+(allow adbd surfaceflinger (binder (transfer)))
+(allow surfaceflinger adbd (fd (use)))
+(allow surfaceflinger binderservicedomain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger binderservicedomain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger binderservicedomain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger appdomain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger appdomain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger appdomain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow surfaceflinger gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger sysfs_gpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger graphics_device (dir (search)))
+(allow surfaceflinger graphics_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow surfaceflinger video_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger video_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow surfaceflinger dmabuf_system_secure_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger system_prop (property_service (set)))
+(allow surfaceflinger system_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger bootanim_system_prop (property_service (set)))
+(allow surfaceflinger bootanim_system_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger exported_system_prop (property_service (set)))
+(allow surfaceflinger exported_system_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger exported3_system_prop (property_service (set)))
+(allow surfaceflinger exported3_system_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger ctl_bootanim_prop (property_service (set)))
+(allow surfaceflinger ctl_bootanim_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger locale_prop (property_service (set)))
+(allow surfaceflinger locale_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger surfaceflinger_display_prop (property_service (set)))
+(allow surfaceflinger surfaceflinger_display_prop (file (read getattr map open)))
+(allow surfaceflinger property_socket (sock_file (write)))
+(allow surfaceflinger init (unix_stream_socket (connectto)))
+(allow surfaceflinger timezone_prop (property_service (set)))
+(allow surfaceflinger timezone_prop (file (read getattr map open)))
+(allow surfaceflinger qemu_sf_lcd_density_prop (file (read getattr map open)))
+(allow surfaceflinger device_config_surface_flinger_native_boot_prop (file (read getattr map open)))
+(allow surfaceflinger appdomain (fd (use)))
+(allow surfaceflinger app_data_file (file (read write)))
+(allow surfaceflinger privapp_data_file (file (read write)))
+(allow surfaceflinger traced (fd (use)))
+(allow surfaceflinger traced_tmpfs (file (read write getattr map)))
+(allow surfaceflinger traced_producer_socket (sock_file (write)))
+(allow surfaceflinger traced (unix_stream_socket (connectto)))
+(allow traced surfaceflinger (fd (use)))
+(allow surfaceflinger adbd (unix_stream_socket (read write getattr)))
+(allow surfaceflinger base_typeattr_254 (unix_stream_socket (read write)))
+(allow surfaceflinger bootanim (unix_stream_socket (read write)))
+(allow surfaceflinger automotive_display_service (unix_stream_socket (read write)))
+(allow surfaceflinger dumpstate (binder (call transfer)))
+(allow dumpstate surfaceflinger (binder (transfer)))
+(allow surfaceflinger dumpstate (fd (use)))
+(allow surfaceflinger shell (binder (call transfer)))
+(allow shell surfaceflinger (binder (transfer)))
+(allow surfaceflinger shell (fd (use)))
+(allow surfaceflinger dumpstate (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger dumpstate (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger dumpstate (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger surfaceflinger_service (service_manager (add find)))
+(allow surfaceflinger mediaserver_service (service_manager (find)))
+(allow surfaceflinger permission_service (service_manager (find)))
+(allow surfaceflinger power_service (service_manager (find)))
+(allow surfaceflinger vr_manager_service (service_manager (find)))
+(allow surfaceflinger window_service (service_manager (find)))
+(allow surfaceflinger inputflinger_service (service_manager (find)))
+(allow surfaceflinger self (capability (sys_nice)))
+(allow surfaceflinger self (cap_userns (sys_nice)))
+(allow surfaceflinger proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger tmpfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger system_server (fd (use)))
+(allow surfaceflinger system_server (unix_stream_socket (read write)))
+(allow surfaceflinger ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow surfaceflinger dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init pdx_display_client_endpoint_socket_type (unix_stream_socket (create bind)))
+(allow surfaceflinger pdx_display_client_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
+(allow surfaceflinger self (process (setsockcreate)))
+(allow surfaceflinger pdx_display_client_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 130 system/sepolicy/private/surfaceflinger.te
+
+(neverallow base_typeattr_962 pdx_display_client_endpoint_socket_type (unix_stream_socket (listen accept)))
+;;* lme
+
+(allow init pdx_display_manager_endpoint_socket_type (unix_stream_socket (create bind)))
+(allow surfaceflinger pdx_display_manager_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
+(allow surfaceflinger self (process (setsockcreate)))
+(allow surfaceflinger pdx_display_manager_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 131 system/sepolicy/private/surfaceflinger.te
+
+(neverallow base_typeattr_962 pdx_display_manager_endpoint_socket_type (unix_stream_socket (listen accept)))
+;;* lme
+
+(allow init pdx_display_screenshot_endpoint_socket_type (unix_stream_socket (create bind)))
+(allow surfaceflinger pdx_display_screenshot_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
+(allow surfaceflinger self (process (setsockcreate)))
+(allow surfaceflinger pdx_display_screenshot_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 132 system/sepolicy/private/surfaceflinger.te
+
+(neverallow base_typeattr_962 pdx_display_screenshot_endpoint_socket_type (unix_stream_socket (listen accept)))
+;;* lme
+
+(allow init pdx_display_vsync_endpoint_socket_type (unix_stream_socket (create bind)))
+(allow surfaceflinger pdx_display_vsync_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
+(allow surfaceflinger self (process (setsockcreate)))
+(allow surfaceflinger pdx_display_vsync_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 133 system/sepolicy/private/surfaceflinger.te
+
+(neverallow base_typeattr_962 pdx_display_vsync_endpoint_socket_type (unix_stream_socket (listen accept)))
+;;* lme
+
+(allow surfaceflinger pdx_bufferhub_client_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger pdx_bufferhub_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow surfaceflinger pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow surfaceflinger pdx_bufferhub_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow surfaceflinger pdx_bufferhub_client_server_type (fd (use)))
+(allow pdx_bufferhub_client_server_type surfaceflinger (fd (use)))
+(allow surfaceflinger pdx_performance_client_endpoint_dir_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow surfaceflinger pdx_performance_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow surfaceflinger pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
+(allow surfaceflinger pdx_performance_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
+(allow surfaceflinger pdx_performance_client_server_type (fd (use)))
+(allow pdx_performance_client_server_type surfaceflinger (fd (use)))
+(allow surfaceflinger stats_service (service_manager (find)))
+(allow surfaceflinger statsmanager_service (service_manager (find)))
+(allow surfaceflinger statsd (binder (call transfer)))
+(allow statsd surfaceflinger (binder (transfer)))
+(allow surfaceflinger statsd (fd (use)))
+(allow surfaceflinger statsbootstrap_service (service_manager (find)))
+(allow surfaceflinger hal_evs (fd (use)))
+(allow surfaceflinger hal_camera (fd (use)))
+(dontaudit surfaceflinger vendor_default_prop (file (read)))
+;;* lmx 163 system/sepolicy/private/surfaceflinger.te
+
+(neverallow surfaceflinger sdcard_type (file (ioctl read write getattr lock append map open watch watch_reads)))
+(neverallow surfaceflinger fuse (file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lme
+
+(dontaudit surfaceflinger unlabeled (dir (search)))
+(typetransition system_app tmpfs file appdomain_tmpfs)
+(allow system_app system_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su system_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 9 system/sepolicy/private/system_app.te
+
+(neverallow base_typeattr_963 system_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow system_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 9 system/sepolicy/private/system_app.te
+
+(neverallow base_typeattr_964 base_typeattr_963 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/system_app.te
+
+(neverallow base_typeattr_965 system_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 9 system/sepolicy/private/system_app.te
+
+(neverallow base_typeattr_966 system_app (process (ptrace)))
+;;* lme
+
+(allow system_app rootfs (dir (getattr)))
+(allow system_app system_app_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_app system_app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_app system_app_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_app misc_user_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_app misc_user_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_app apex_data_file (dir (search)))
+(allow system_app staging_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app wallpaper_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app icon_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app adaptive_haptics_prop (property_service (set)))
+(allow system_app adaptive_haptics_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app arm64_memtag_prop (property_service (set)))
+(allow system_app arm64_memtag_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app bluetooth_a2dp_offload_prop (property_service (set)))
+(allow system_app bluetooth_a2dp_offload_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app bluetooth_audio_hal_prop (property_service (set)))
+(allow system_app bluetooth_audio_hal_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app bluetooth_prop (property_service (set)))
+(allow system_app bluetooth_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app debug_prop (property_service (set)))
+(allow system_app debug_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app system_prop (property_service (set)))
+(allow system_app system_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app exported_bluetooth_prop (property_service (set)))
+(allow system_app exported_bluetooth_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app exported_system_prop (property_service (set)))
+(allow system_app exported_system_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app exported3_system_prop (property_service (set)))
+(allow system_app exported3_system_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app gesture_prop (property_service (set)))
+(allow system_app gesture_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app locale_prop (property_service (set)))
+(allow system_app locale_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app logd_prop (property_service (set)))
+(allow system_app logd_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app net_radio_prop (property_service (set)))
+(allow system_app net_radio_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app timezone_prop (property_service (set)))
+(allow system_app timezone_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app usb_control_prop (property_service (set)))
+(allow system_app usb_control_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app usb_prop (property_service (set)))
+(allow system_app usb_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app log_tag_prop (property_service (set)))
+(allow system_app log_tag_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app drm_forcel3_prop (property_service (set)))
+(allow system_app drm_forcel3_prop (file (read getattr map open)))
+(auditallow system_app net_radio_prop (property_service (set)))
+(auditallow system_app usb_control_prop (property_service (set)))
+(auditallow system_app usb_prop (property_service (set)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app dynamic_system_prop (property_service (set)))
+(allow system_app dynamic_system_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app ctl_default_prop (property_service (set)))
+(allow system_app ctl_default_prop (file (read getattr map open)))
+(allow system_app property_socket (sock_file (write)))
+(allow system_app init (unix_stream_socket (connectto)))
+(allow system_app ctl_bugreport_prop (property_service (set)))
+(allow system_app ctl_bugreport_prop (file (read getattr map open)))
+(allow system_app gsid_prop (file (read getattr map open)))
+(allow system_app enable_16k_pages_prop (file (read getattr map open)))
+(allow system_app hypervisor_prop (file (read getattr map open)))
+(allow system_app anr_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name search)))
+(allow system_app anr_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_app asec_apk_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app statsd (binder (call transfer)))
+(allow statsd system_app (binder (transfer)))
+(allow system_app statsd (fd (use)))
+(allow system_app incidentd (binder (call transfer)))
+(allow incidentd system_app (binder (transfer)))
+(allow system_app incidentd (fd (use)))
+(allow system_app servicemanager (binder (call transfer)))
+(allow servicemanager system_app (binder (call transfer)))
+(allow servicemanager system_app (dir (search)))
+(allow servicemanager system_app (file (read open)))
+(allow servicemanager system_app (process (getattr)))
+(allow system_app update_engine_stable_service (service_manager (find)))
+(allow system_app update_engine (binder (call transfer)))
+(allow update_engine system_app (binder (transfer)))
+(allow system_app update_engine (fd (use)))
+(allow system_app servicemanager (service_manager (list)))
+(allow system_app base_typeattr_967 (service_manager (find)))
+(dontaudit system_app dnsresolver_service (service_manager (find)))
+(dontaudit system_app dumpstate_service (service_manager (find)))
+(dontaudit system_app installd_service (service_manager (find)))
+(dontaudit system_app mdns_service (service_manager (find)))
+(dontaudit system_app netd_service (service_manager (find)))
+(dontaudit system_app virtual_touchpad_service (service_manager (find)))
+(dontaudit system_app vold_service (service_manager (find)))
+(dontaudit system_app debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(dontaudit system_app proc_pagetypeinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit system_app sysfs_zram (dir (search)))
+(allow system_app keystore (keystore2_key (delete get_info grant rebind update use)))
+(allow system_app wifi_key (keystore2_key (delete get_info rebind update use)))
+(allow system_app proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app cgroup (file (write lock append map open)))
+(allow system_app cgroup_v2 (file (write lock append map open)))
+(allow system_app cgroup_v2 (dir (write lock open add_name remove_name search)))
+(allow system_app logd_socket (sock_file (write)))
+(allow system_app logd (unix_stream_socket (connectto)))
+(allow system_app runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app device_logging_prop (file (read getattr map open)))
+(allow system_app system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allow system_app game_manager_config_prop (file (read getattr map open)))
+(allow system_app oem_unlock_prop (file (read getattr map open)))
+(allow system_app usb_uvc_enabled_prop (file (read getattr map open)))
+(allow system_app connectivityblob_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_app connectivityblob_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lmx 189 system/sepolicy/private/system_app.te
+
+(neverallow system_app fuse_device (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 195 system/sepolicy/private/system_app.te
+
+(neverallow system_app shell_data_file (dir (read write create setattr relabelfrom link rename open add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 196 system/sepolicy/private/system_app.te
+
+(neverallow system_app shell_data_file (file (ioctl read lock open)))
+;;* lme
+
+;;* lmx 199 system/sepolicy/private/system_app.te
+
+(neverallow base_typeattr_968 adaptive_haptics_prop (property_service (set)))
+;;* lme
+
+;;* lmx 201 system/sepolicy/private/system_app.te
+
+(neverallow base_typeattr_968 drm_forcel3_prop (property_service (set)))
+;;* lme
+
+(allow system_app vendor_boot_ota_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_app vendor_boot_ota_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_app system_dlkm_file (dir (search)))
+(allow system_app system_dlkm_file (file (read getattr open)))
+(typetransition system_server tmpfs file system_server_tmpfs)
+(allow system_server system_server_tmpfs (file (read write getattr map)))
+(allow system_server system_server_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su system_server_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 17 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_427 system_server_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow system_server zygote_tmpfs (file (read map)))
+(allow system_server appdomain_tmpfs (file (read write getattr map)))
+(allow system_server proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server incremental_control_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx system_server incremental_control_file (ioctl file (0x671e 0x6721 0x6723 (range 0x6725 0x6727))))
+(allowx system_server apk_data_file (ioctl file ((range 0x6601 0x6602))))
+(allowx system_server apk_data_file (ioctl file ((range 0x671f 0x6720) 0x6722 0x6724)))
+(allowx system_server apk_data_file (ioctl file (0xf50c (range 0xf511 0xf513) (range 0xf517 0xf518))))
+(allowx system_server apk_tmp_file (ioctl file (0x6601)))
+(allowx system_server apk_tmp_file (ioctl file (0xf512)))
+(allow system_server sysfs_fs_incfs_metrics (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_fs_f2fs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_fs_f2fs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sdk_sandbox_system_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit system_server apex_art_data_file (file (execute)))
+(allowx system_server dalvikcache_data_file (ioctl file (0x6601)))
+(allowx system_server dalvikcache_data_file (ioctl file (0xf512)))
+(allow system_server resourcecache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server resourcecache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server self (process (ptrace)))
+(allow system_server zygote (fd (use)))
+(allow system_server zygote (process (sigchld)))
+(allow system_server app_zygote (process (sigkill signull getpgid)))
+(allow system_server crash_dump (process (sigkill signull getpgid)))
+(allow system_server crosvm (process (sigkill signull getpgid)))
+(allow system_server virtualizationmanager (process (sigkill signull getpgid)))
+(allow system_server webview_zygote (process (sigkill signull getpgid)))
+(allow system_server zygote (process (sigkill signull getpgid)))
+(allow system_server zygote_exec (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server zygote (unix_stream_socket (getattr getopt)))
+(allowx system_server self (ioctl udp_socket (0x6900 0x6902)))
+(allowx system_server self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx system_server self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow system_server appdomain (tcp_socket (ioctl)))
+(allow system_server self (capability (kill net_bind_service net_broadcast net_admin net_raw ipc_lock sys_ptrace sys_boot sys_nice sys_time sys_tty_config)))
+(allow system_server self (cap_userns (kill net_bind_service net_broadcast net_admin net_raw ipc_lock sys_ptrace sys_boot sys_nice sys_time sys_tty_config)))
+(allow system_server self (capability2 (wake_alarm)))
+(allow system_server self (cap2_userns (wake_alarm)))
+(allow system_server self (netlink_netfilter_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server self (netlink_tcpdiag_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
+(allow system_server self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server self (netlink_nflog_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server config_gz (file (read open)))
+(allow system_server self (socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server self (netlink_route_socket (nlmsg_write)))
+(allow system_server self (netlink_xfrm_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
+(allow system_server appdomain (process (sigkill signal getpgid)))
+(allow system_server appdomain (process (signull)))
+(allow system_server appdomain (process (getsched setsched)))
+(allow system_server audioserver (process (getsched setsched)))
+(allow system_server hal_audio (process (getsched setsched)))
+(allow system_server hal_bluetooth (process (getsched setsched)))
+(allow system_server hal_codec2_server (process (getsched setsched)))
+(allow system_server hal_omx_server (process (getsched setsched)))
+(allow system_server mediaswcodec (process (getsched setsched)))
+(allow system_server cameraserver (process (getsched setsched)))
+(allow system_server hal_camera (process (getsched setsched)))
+(allow system_server mediaserver (process (getsched setsched)))
+(allow system_server bootanim (process (getsched setsched)))
+(allow system_server crosvm (process (getsched setsched)))
+(allow system_server virtualizationmanager (process (getsched setsched)))
+(allow system_server kernel (process (getsched setsched)))
+(allow system_server domain (file (write lock append map open)))
+(allow system_server domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_cputime_removeuid (file (write getattr lock append map open)))
+(allow system_server proc_uid_procstat_set (file (write getattr lock append map open)))
+(allow system_server proc_sysrq (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server stats_config_data_file (dir (read write open remove_name search)))
+(allow system_server stats_config_data_file (file (unlink)))
+(allow system_server odsign_data_file (dir (search)))
+(allow system_server odsign_metrics_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search)))
+(allow system_server odsign_metrics_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow system_server sysfs_ion (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_dma_heap (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_cma (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_dmabuf_stats (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_dmabuf_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server dmabuf_heap_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server self (packet_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server self (tun_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server lmkd_socket (sock_file (write)))
+(allow system_server lmkd (unix_stream_socket (connectto)))
+(allow system_server zygote_socket (sock_file (write)))
+(allow system_server zygote (unix_stream_socket (connectto)))
+(allow system_server uncrypt_socket (sock_file (write)))
+(allow system_server uncrypt (unix_stream_socket (connectto)))
+(allow system_server statsdw_socket (sock_file (write)))
+(allow system_server statsd (unix_dgram_socket (sendto)))
+(allow system_server surfaceflinger (unix_stream_socket (read write setopt)))
+(allow system_server gpuservice (unix_stream_socket (read write setopt)))
+(allow system_server webview_zygote (unix_stream_socket (read write setopt connectto)))
+(allow system_server app_zygote (unix_stream_socket (read write setopt connectto)))
+(allow system_server servicemanager (binder (call transfer)))
+(allow servicemanager system_server (binder (call transfer)))
+(allow servicemanager system_server (dir (search)))
+(allow servicemanager system_server (file (read open)))
+(allow servicemanager system_server (process (getattr)))
+(allow system_server appdomain (binder (call transfer)))
+(allow appdomain system_server (binder (transfer)))
+(allow system_server appdomain (fd (use)))
+(allow system_server artd (binder (call transfer)))
+(allow artd system_server (binder (transfer)))
+(allow system_server artd (fd (use)))
+(allow system_server binderservicedomain (binder (call transfer)))
+(allow binderservicedomain system_server (binder (transfer)))
+(allow system_server binderservicedomain (fd (use)))
+(allow system_server composd (binder (call transfer)))
+(allow composd system_server (binder (transfer)))
+(allow system_server composd (fd (use)))
+(allow system_server dexopt_chroot_setup (binder (call transfer)))
+(allow dexopt_chroot_setup system_server (binder (transfer)))
+(allow system_server dexopt_chroot_setup (fd (use)))
+(allow system_server dumpstate (binder (call transfer)))
+(allow dumpstate system_server (binder (transfer)))
+(allow system_server dumpstate (fd (use)))
+(allow system_server fingerprintd (binder (call transfer)))
+(allow fingerprintd system_server (binder (transfer)))
+(allow system_server fingerprintd (fd (use)))
+(allow system_server gatekeeperd (binder (call transfer)))
+(allow gatekeeperd system_server (binder (transfer)))
+(allow system_server gatekeeperd (fd (use)))
+(allow system_server gpuservice (binder (call transfer)))
+(allow gpuservice system_server (binder (transfer)))
+(allow system_server gpuservice (fd (use)))
+(allow system_server idmap (binder (call transfer)))
+(allow idmap system_server (binder (transfer)))
+(allow system_server idmap (fd (use)))
+(allow system_server installd (binder (call transfer)))
+(allow installd system_server (binder (transfer)))
+(allow system_server installd (fd (use)))
+(allow system_server incidentd (binder (call transfer)))
+(allow incidentd system_server (binder (transfer)))
+(allow system_server incidentd (fd (use)))
+(allow system_server mmd (binder (call transfer)))
+(allow mmd system_server (binder (transfer)))
+(allow system_server mmd (fd (use)))
+(allow system_server netd (binder (call transfer)))
+(allow netd system_server (binder (transfer)))
+(allow system_server netd (fd (use)))
+(allow system_server ot_daemon (binder (call transfer)))
+(allow ot_daemon system_server (binder (transfer)))
+(allow system_server ot_daemon (fd (use)))
+(allow system_server statsd (binder (call transfer)))
+(allow statsd system_server (binder (transfer)))
+(allow system_server statsd (fd (use)))
+(allow system_server storaged (binder (call transfer)))
+(allow storaged system_server (binder (transfer)))
+(allow system_server storaged (fd (use)))
+(allow system_server update_engine (binder (call transfer)))
+(allow update_engine system_server (binder (transfer)))
+(allow system_server update_engine (fd (use)))
+(allow system_server virtual_camera (binder (call transfer)))
+(allow virtual_camera system_server (binder (transfer)))
+(allow system_server virtual_camera (fd (use)))
+(allow system_server vold (binder (call transfer)))
+(allow vold system_server (binder (transfer)))
+(allow system_server vold (fd (use)))
+(allow system_server logd (binder (call transfer)))
+(allow logd system_server (binder (transfer)))
+(allow system_server logd (fd (use)))
+(allow system_server wificond (binder (call transfer)))
+(allow wificond system_server (binder (transfer)))
+(allow system_server wificond (fd (use)))
+(allow system_server uprobestats (binder (call transfer)))
+(allow uprobestats system_server (binder (transfer)))
+(allow system_server uprobestats (fd (use)))
+(allow system_server wifi_mainline_supplicant (binder (call transfer)))
+(allow wifi_mainline_supplicant system_server (binder (transfer)))
+(allow system_server wifi_mainline_supplicant (fd (use)))
+(allow system_server hal_graphics_composer (fd (use)))
+(allow system_server hal_renderscript_hwservice (hwservice_manager (find)))
+(allow system_server same_process_hal_file (file (read getattr map execute open)))
+(allow system_server tombstoned_intercept_socket (sock_file (write)))
+(allow system_server tombstoned (unix_stream_socket (connectto)))
+(allow system_server hwservicemanager (hwservice_manager (list)))
+(allow system_server servicemanager (service_manager (list)))
+(allow system_server hal_audio_server (process (signal)))
+(allow system_server hal_bluetooth_server (process (signal)))
+(allow system_server hal_camera_server (process (signal)))
+(allow system_server hal_codec2_server (process (signal)))
+(allow system_server hal_drm_server (process (signal)))
+(allow system_server hal_face_server (process (signal)))
+(allow system_server hal_fingerprint_server (process (signal)))
+(allow system_server hal_gnss_server (process (signal)))
+(allow system_server hal_graphics_allocator_server (process (signal)))
+(allow system_server hal_graphics_composer_server (process (signal)))
+(allow system_server hal_health_server (process (signal)))
+(allow system_server hal_input_processor_server (process (signal)))
+(allow system_server hal_light_server (process (signal)))
+(allow system_server hal_neuralnetworks_server (process (signal)))
+(allow system_server hal_omx_server (process (signal)))
+(allow system_server hal_power_server (process (signal)))
+(allow system_server hal_power_stats_server (process (signal)))
+(allow system_server hal_sensors_server (process (signal)))
+(allow system_server hal_vibrator_server (process (signal)))
+(allow system_server hal_vr_server (process (signal)))
+(allow system_server hal_wifi_server (process (signal)))
+(allow system_server hal_wifi_hostapd_server (process (signal)))
+(allow system_server hal_wifi_supplicant_server (process (signal)))
+(allow system_server system_suspend_server (process (signal)))
+(allow system_server artd (process (signal)))
+(allow system_server audioserver (process (signal)))
+(allow system_server cameraserver (process (signal)))
+(allow system_server drmserver (process (signal)))
+(allow system_server gpuservice (process (signal)))
+(allow system_server inputflinger (process (signal)))
+(allow system_server keystore (process (signal)))
+(allow system_server mediadrmserver (process (signal)))
+(allow system_server mediaextractor (process (signal)))
+(allow system_server mediametrics (process (signal)))
+(allow system_server mediaserver (process (signal)))
+(allow system_server mediaswcodec (process (signal)))
+(allow system_server mediatranscoding (process (signal)))
+(allow system_server netd (process (signal)))
+(allow system_server sdcardd (process (signal)))
+(allow system_server servicemanager (process (signal)))
+(allow system_server statsd (process (signal)))
+(allow system_server surfaceflinger (process (signal)))
+(allow system_server vold (process (signal)))
+(allow system_server mediatuner (process (signal)))
+(allow system_server mmd (process (signal)))
+(allow system_server audioserver (tcp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server audioserver (udp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server mediaserver (tcp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server mediaserver (udp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server mediadrmserver (tcp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server mediadrmserver (udp_socket (ioctl read write getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow system_server traced (fd (use)))
+(allow system_server traced_tmpfs (file (read write getattr map)))
+(allow system_server traced_producer_socket (sock_file (write)))
+(allow system_server traced (unix_stream_socket (connectto)))
+(allow traced system_server (fd (use)))
+(allow system_server file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server mac_perms_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server selinuxfs (file (write lock append map open)))
+(allow system_server kernel (security (compute_av)))
+(allow system_server self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow system_server sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_android_usb (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_android_usb (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_android_usb (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_android_usb (file (write lock append map open)))
+(allow system_server sysfs_extcon (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_extcon (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_extcon (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_ipv4 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_ipv4 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_ipv4 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_ipv4 (file (write lock append map open)))
+(allow system_server sysfs_rtc (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_rtc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_rtc (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_switch (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_switch (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_switch (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_nfc_power_writable (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server sysfs_power (dir (search)))
+(allow system_server sysfs_power (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server sysfs_thermal (dir (search)))
+(allow system_server sysfs_thermal (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_uhid (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_uhid (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server sysfs_vibrator (file (write append)))
+(allow system_server sysfs_usb (file (write lock append map open)))
+(allow system_server device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server mdns_socket (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_gpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server input_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server usbaccessory_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server video_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server video_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server adbd_socket (sock_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server rtc_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server audio_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server uhid_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server hidraw_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server hidraw_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server audio_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx system_server tun_device (ioctl chr_file (0x54ca 0x54cd 0x54d2 0x54e2)))
+(allow system_server ota_package_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server ota_package_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server system_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_data_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server packages_list_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server game_mode_intervention_list_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server keychain_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server keychain_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server keychain_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_userdir_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server apk_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apk_data_file (file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow system_server apk_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow system_server apk_tmp_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apk_tmp_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apk_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apk_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server vendor_keylayout_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server vendor_keylayout_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_keylayout_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_keychars_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server vendor_keychars_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_keychars_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_idc_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server vendor_idc_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_idc_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server input_device_config_prop (file (read getattr map open)))
+(allow system_server vendor_app_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server vendor_app_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_app_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_framework_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server vendor_framework_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_framework_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server apk_private_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apk_private_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apk_private_tmp_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apk_private_tmp_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server asec_apk_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server asec_apk_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server asec_public_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server anr_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server anr_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server tombstoned_java_trace_socket (sock_file (write)))
+(allow system_server tombstoned (unix_stream_socket (connectto)))
+(allow system_server tombstoned (fd (use)))
+(allow system_server dumpstate (fifo_file (append)))
+(allow system_server incidentd (fifo_file (append)))
+(allow system_server incidentd (fifo_file (read)))
+(allow system_server incident_data_file (file (read)))
+(allow system_server prereboot_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server prereboot_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server perfetto_traces_data_file (file (read getattr)))
+(allow system_server perfetto (fd (use)))
+(allow system_server perfetto_exec (file (read getattr map execute open)))
+(allow system_server perfetto (process (transition)))
+(allow perfetto perfetto_exec (file (read getattr map execute open entrypoint)))
+(allow perfetto system_server (process (sigchld)))
+(dontaudit system_server perfetto (process (noatsecure)))
+(allow system_server perfetto (process (siginh rlimitinh)))
+(typetransition system_server perfetto_exec process perfetto)
+(allow system_server perfetto (fifo_file (read write)))
+(allow system_server perfetto_traces_profiling_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server perfetto_traces_profiling_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server perfetto_traces_data_file (dir (search)))
+(allow system_server trace_redactor_exec (file (read getattr map execute open)))
+(allow system_server trace_redactor (process (transition)))
+(allow trace_redactor trace_redactor_exec (file (read getattr map execute open entrypoint)))
+(allow trace_redactor system_server (process (sigchld)))
+(dontaudit system_server trace_redactor (process (noatsecure)))
+(allow system_server trace_redactor (process (siginh rlimitinh)))
+(typetransition system_server trace_redactor_exec process trace_redactor)
+(allow system_server trace_redactor (process (signal)))
+(allow system_server perfetto (process (signal)))
+(allow system_server backup_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server backup_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server dropbox_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server dropbox_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server heapdump_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server heapdump_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server adb_keys_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server adb_keys_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server appcompat_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server appcompat_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server connectivityblob_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server connectivityblob_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server emergency_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server emergency_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server network_watchlist_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server network_watchlist_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server radio_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server radio_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server systemkeys_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server systemkeys_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server textclassifier_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server textclassifier_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server tombstone_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server tombstone_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server vpn_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server vpn_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server wifi_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server wifi_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server staging_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server staging_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server staging_data_file (file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow system_server staging_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow system_server app_data_file_type (dir (read getattr search)))
+(allow system_server unlabeled (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server unlabeled (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server system_app_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server system_app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server app_data_file_type (file (read write getattr append map)))
+(allow system_server media_rw_data_file (dir (read getattr open search)))
+(allow system_server media_rw_data_file (file (read write getattr append)))
+(allow system_server system_server (process (setfscreate)))
+(allow system_server apk_tmp_file (file (relabelfrom relabelto)))
+(allow system_server apk_tmp_file (dir (relabelfrom relabelto)))
+(allow system_server apk_private_tmp_file (file (relabelfrom relabelto)))
+(allow system_server apk_private_tmp_file (dir (relabelfrom relabelto)))
+(allow system_server apk_data_file (file (relabelfrom relabelto)))
+(allow system_server apk_data_file (dir (relabelfrom relabelto)))
+(allow system_server apk_private_data_file (file (relabelfrom relabelto)))
+(allow system_server apk_private_data_file (dir (relabelfrom relabelto)))
+(allow system_server staging_data_file (file (relabelfrom relabelto)))
+(allow system_server staging_data_file (dir (relabelfrom relabelto)))
+(allow system_server system_data_file (file (relabelfrom)))
+(allow system_server wallpaper_file (file (relabelto)))
+(allow system_server wallpaper_file (file (ioctl read write getattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_data_file (file (link)))
+(allow system_server wallpaper_file (file (link)))
+(allow system_server system_data_file (dir (relabelfrom)))
+(allow system_server shortcut_manager_icons (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server shortcut_manager_icons (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server ringtone_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server ringtone_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server icon_file (file (relabelto)))
+(allow system_server icon_file (file (ioctl read write getattr lock append map unlink open watch watch_reads)))
+(allow system_server system_data_file (dir (relabelfrom)))
+(allow system_server server_configurable_flags_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server server_configurable_flags_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server system_prop (property_service (set)))
+(allow system_server system_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server bootanim_system_prop (property_service (set)))
+(allow system_server bootanim_system_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server bluetooth_prop (property_service (set)))
+(allow system_server bluetooth_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server exported_system_prop (property_service (set)))
+(allow system_server exported_system_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server exported3_system_prop (property_service (set)))
+(allow system_server exported3_system_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server safemode_prop (property_service (set)))
+(allow system_server safemode_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server theme_prop (property_service (set)))
+(allow system_server theme_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server dhcp_prop (property_service (set)))
+(allow system_server dhcp_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server net_connectivity_prop (property_service (set)))
+(allow system_server net_connectivity_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server net_radio_prop (property_service (set)))
+(allow system_server net_radio_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server net_dns_prop (property_service (set)))
+(allow system_server net_dns_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server usb_control_prop (property_service (set)))
+(allow system_server usb_control_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server usb_prop (property_service (set)))
+(allow system_server usb_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server debug_prop (property_service (set)))
+(allow system_server debug_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server powerctl_prop (property_service (set)))
+(allow system_server powerctl_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server fingerprint_prop (property_service (set)))
+(allow system_server fingerprint_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_logging_prop (property_service (set)))
+(allow system_server device_logging_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server dumpstate_options_prop (property_service (set)))
+(allow system_server dumpstate_options_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server overlay_prop (property_service (set)))
+(allow system_server overlay_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server exported_overlay_prop (property_service (set)))
+(allow system_server exported_overlay_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server pm_prop (property_service (set)))
+(allow system_server pm_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server exported_pm_prop (property_service (set)))
+(allow system_server exported_pm_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server socket_hook_prop (property_service (set)))
+(allow system_server socket_hook_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server audio_prop (property_service (set)))
+(allow system_server audio_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server boot_status_prop (property_service (set)))
+(allow system_server boot_status_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server surfaceflinger_color_prop (property_service (set)))
+(allow system_server surfaceflinger_color_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server provisioned_prop (property_service (set)))
+(allow system_server provisioned_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server retaildemo_prop (property_service (set)))
+(allow system_server retaildemo_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server dmesgd_start_prop (property_service (set)))
+(allow system_server dmesgd_start_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server locale_prop (property_service (set)))
+(allow system_server locale_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server timezone_metadata_prop (property_service (set)))
+(allow system_server timezone_metadata_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server timezone_prop (property_service (set)))
+(allow system_server timezone_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server crashrecovery_prop (property_service (set)))
+(allow system_server crashrecovery_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server ctl_default_prop (property_service (set)))
+(allow system_server ctl_default_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server ctl_bugreport_prop (property_service (set)))
+(allow system_server ctl_bugreport_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server ctl_gsid_prop (property_service (set)))
+(allow system_server ctl_gsid_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server ctl_artd_pre_reboot_prop (property_service (set)))
+(allow system_server ctl_artd_pre_reboot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server cppreopt_prop (property_service (set)))
+(allow system_server cppreopt_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_core_experiments_team_internal_prop (property_service (set)))
+(allow system_server device_config_core_experiments_team_internal_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_edgetpu_native_prop (property_service (set)))
+(allow system_server device_config_edgetpu_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_input_native_boot_prop (property_service (set)))
+(allow system_server device_config_input_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_netd_native_prop (property_service (set)))
+(allow system_server device_config_netd_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_nnapi_native_prop (property_service (set)))
+(allow system_server device_config_nnapi_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_activity_manager_native_boot_prop (property_service (set)))
+(allow system_server device_config_activity_manager_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_runtime_native_boot_prop (property_service (set)))
+(allow system_server device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_runtime_native_prop (property_service (set)))
+(allow system_server device_config_runtime_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_lmkd_native_prop (property_service (set)))
+(allow system_server device_config_lmkd_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_media_native_prop (property_service (set)))
+(allow system_server device_config_media_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_camera_native_prop (property_service (set)))
+(allow system_server device_config_camera_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_mglru_native_prop (property_service (set)))
+(allow system_server device_config_mglru_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_profcollect_native_boot_prop (property_service (set)))
+(allow system_server device_config_profcollect_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_statsd_native_prop (property_service (set)))
+(allow system_server device_config_statsd_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_statsd_native_boot_prop (property_service (set)))
+(allow system_server device_config_statsd_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_storage_native_boot_prop (property_service (set)))
+(allow system_server device_config_storage_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_swcodec_native_prop (property_service (set)))
+(allow system_server device_config_swcodec_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_sys_traced_prop (property_service (set)))
+(allow system_server device_config_sys_traced_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_window_manager_native_boot_prop (property_service (set)))
+(allow system_server device_config_window_manager_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_configuration_prop (property_service (set)))
+(allow system_server device_config_configuration_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_connectivity_prop (property_service (set)))
+(allow system_server device_config_connectivity_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_surface_flinger_native_boot_prop (property_service (set)))
+(allow system_server device_config_surface_flinger_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_aconfig_flags_prop (property_service (set)))
+(allow system_server device_config_aconfig_flags_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_vendor_system_native_prop (property_service (set)))
+(allow system_server device_config_vendor_system_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_vendor_system_native_boot_prop (property_service (set)))
+(allow system_server device_config_vendor_system_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_virtualization_framework_native_prop (property_service (set)))
+(allow system_server device_config_virtualization_framework_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_memory_safety_native_boot_prop (property_service (set)))
+(allow system_server device_config_memory_safety_native_boot_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_memory_safety_native_prop (property_service (set)))
+(allow system_server device_config_memory_safety_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_remote_key_provisioning_native_prop (property_service (set)))
+(allow system_server device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_tethering_u_or_later_native_prop (property_service (set)))
+(allow system_server device_config_tethering_u_or_later_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server device_config_mmd_native_prop (property_service (set)))
+(allow system_server device_config_mmd_native_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server smart_idle_maint_enabled_prop (property_service (set)))
+(allow system_server smart_idle_maint_enabled_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server arm64_memtag_prop (property_service (set)))
+(allow system_server arm64_memtag_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server next_boot_prop (property_service (set)))
+(allow system_server next_boot_prop (file (read getattr map open)))
+(allow system_server pm_16kb_app_compat_prop (file (read getattr map open)))
+(allow system_server device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow system_server device_config_runtime_native_prop (file (read getattr map open)))
+(allow system_server bootloader_boot_reason_prop (file (read getattr map open)))
+(allow system_server system_boot_reason_prop (file (read getattr map open)))
+(allow system_server boottime_prop (file (read getattr map open)))
+(allow system_server serialno_prop (file (read getattr map open)))
+(allow system_server usb_uvc_enabled_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server firstboot_prop (property_service (set)))
+(allow system_server firstboot_prop (file (read getattr map open)))
+(allow system_server audio_config_prop (file (read getattr map open)))
+(allow system_server media_config_prop (file (read getattr map open)))
+(allow system_server device_config_reset_performed_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server test_harness_prop (property_service (set)))
+(allow system_server test_harness_prop (file (read getattr map open)))
+(allow system_server gsid_prop (file (read getattr map open)))
+(allow system_server mock_ota_prop (file (read getattr map open)))
+(allow system_server apk_verity_prop (file (read getattr map open)))
+(allow system_server wifi_prop (file (read getattr map open)))
+(allow system_server incremental_prop (file (read getattr map open)))
+(allow system_server zram_config_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server zram_control_prop (property_service (set)))
+(allow system_server zram_control_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server dalvik_runtime_prop (property_service (set)))
+(allow system_server dalvik_runtime_prop (file (read getattr map open)))
+(allow system_server packagemanager_config_prop (file (read getattr map open)))
+(allow system_server net_464xlat_fromvendor_prop (file (read getattr map open)))
+(allow system_server hypervisor_prop (file (read getattr map open)))
+(allow system_server persist_wm_debug_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server persist_wm_debug_prop (property_service (set)))
+(allow system_server persist_wm_debug_prop (file (read getattr map open)))
+(allow system_server persist_sysui_builder_extras_prop (file (read getattr map open)))
+(allow system_server persist_sysui_ranking_update_prop (file (read getattr map open)))
+(allow system_server tuner_config_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server tuner_server_ctl_prop (property_service (set)))
+(allow system_server tuner_server_ctl_prop (file (read getattr map open)))
+(allow system_server traced_oome_heap_session_count_prop (file (read getattr map open)))
+(allow system_server sensors_config_prop (file (read getattr map open)))
+(allow system_server system_service_enable_prop (file (read getattr map open)))
+(allow system_server mmd_shared_prop (file (read getattr map open)))
+(allow system_server system_ndebug_socket (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_unsolzygote_socket (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server cache_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server cache_recovery_file (dir (ioctl read write create getattr setattr lock relabelfrom rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server cache_file (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow system_server cache_recovery_file (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open watch watch_reads)))
+(allow system_server cache_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server cache_recovery_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server system_file (file (lock)))
+(allow system_server gps_control (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server appdomain (tcp_socket (read write getattr getopt setopt shutdown)))
+(allow system_server appdomain (udp_socket (read write getattr getopt setopt shutdown)))
+(allow system_server appdomain (fifo_file (read write getattr)))
+(allow system_server appdomain (unix_stream_socket (read write getattr)))
+(allow system_server cache_backup_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server cache_backup_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server cache_private_backup_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server cache_private_backup_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server usb_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server usb_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server fscklogs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server fscklogs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server fscklogs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server fscklogs (dir (write add_name remove_name)))
+(allow system_server fscklogs (file (rename)))
+(allow system_server zygote (unix_dgram_socket (write)))
+(allow system_server logcat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow system_server logdr_socket (sock_file (write)))
+(allow system_server logd (unix_stream_socket (connectto)))
+(allow system_server runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_lowmemorykiller (file (write getattr lock append map open)))
+(allow system_server pstorefs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server pstorefs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_zram (dir (search)))
+(allow system_server sysfs_zram (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server kernel (security (read_policy)))
+(allow system_server system_server_service (service_manager (add find)))
+;;* lmx 1000 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_427 system_server_service (service_manager (add)))
+;;* lme
+
+(allow system_server artd_service (service_manager (find)))
+(allow system_server artd_pre_reboot_service (service_manager (find)))
+(allow system_server audioserver_service (service_manager (find)))
+(allow system_server authorization_service (service_manager (find)))
+(allow system_server batteryproperties_service (service_manager (find)))
+(allow system_server cameraserver_service (service_manager (find)))
+(allow system_server compos_service (service_manager (find)))
+(allow system_server dataloader_manager_service (service_manager (find)))
+(allow system_server dexopt_chroot_setup_service (service_manager (find)))
+(allow system_server dnsresolver_service (service_manager (find)))
+(allow system_server drmserver_service (service_manager (find)))
+(allow system_server dumpstate_service (service_manager (find)))
+(allow system_server fingerprintd_service (service_manager (find)))
+(allow system_server gatekeeper_service (service_manager (find)))
+(allow system_server gpu_service (service_manager (find)))
+(allow system_server gsi_service (service_manager (find)))
+(allow system_server idmap_service (service_manager (find)))
+(allow system_server incident_service (service_manager (find)))
+(allow system_server incremental_service (service_manager (find)))
+(allow system_server installd_service (service_manager (find)))
+(allow system_server keystore_maintenance_service (service_manager (find)))
+(allow system_server keystore_metrics_service (service_manager (find)))
+(allow system_server keystore_service (service_manager (find)))
+(allow system_server mdns_service (service_manager (find)))
+(allow system_server mediaserver_service (service_manager (find)))
+(allow system_server mediametrics_service (service_manager (find)))
+(allow system_server mediaextractor_service (service_manager (find)))
+(allow system_server mediadrmserver_service (service_manager (find)))
+(allow system_server mediatuner_service (service_manager (find)))
+(allow system_server mmd_service (service_manager (find)))
+(allow system_server netd_service (service_manager (find)))
+(allow system_server nfc_service (service_manager (find)))
+(allow system_server ot_daemon_service (service_manager (find)))
+(allow system_server radio_service (service_manager (find)))
+(allow system_server stats_service (service_manager (find)))
+(allow system_server storaged_service (service_manager (find)))
+(allow system_server surfaceflinger_service (service_manager (find)))
+(allow system_server update_engine_service (service_manager (find)))
+(allow system_server virtual_camera_service (service_manager (find)))
+(allow system_server virtualization_maintenance_service (service_manager (find)))
+(allow system_server vold_service (service_manager (find)))
+(allow system_server wifinl80211_service (service_manager (find)))
+(allow system_server logd_service (service_manager (find)))
+(allow system_server wifi_mainline_supplicant_service (service_manager (find)))
+(allow system_server batteryproperties_service (service_manager (add find)))
+;;* lmx 1051 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_427 batteryproperties_service (service_manager (add)))
+;;* lme
+
+(allow system_server keystore (keystore2 (add_auth change_password change_user clear_ns clear_uid delete_all_keys get_last_auth_time lock pull_metrics reset unlock)))
+(allow system_server keystore (keystore2_key (delete get_info grant rebind update use use_dev_id)))
+(allow system_server wifi_key (keystore2_key (delete get_info rebind update use)))
+(allow system_server resume_on_reboot_key (keystore2_key (delete get_info rebind update use)))
+(allow system_server locksettings_key (keystore2_key (delete get_info rebind update use)))
+(allow system_server block_device (dir (search)))
+(allow system_server frp_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx system_server frp_block_device (ioctl blk_file (0x1277 0x127d)))
+(allow system_server cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server cgroup (file (setattr)))
+(allow system_server cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server cgroup_v2 (file (ioctl read getattr setattr lock map open watch watch_reads)))
+(allow system_server oemfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server oemfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server oemfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server mnt_user_file (dir (getattr search)))
+(allow system_server storage_file (dir (getattr search)))
+(allow system_server mnt_user_file (lnk_file (read getattr)))
+(allow system_server storage_file (lnk_file (read getattr)))
+(allow system_server sdcard_type (dir (getattr search)))
+(allow system_server fuse (dir (getattr search)))
+(allow system_server mnt_expand_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server fingerprintd_data_file (dir (ioctl read write getattr lock relabelto open watch watch_reads remove_name search rmdir)))
+(allow system_server fingerprintd_data_file (file (getattr unlink)))
+(allow system_server vold (fd (use)))
+(allow system_server fuse_device (chr_file (ioctl read write getattr)))
+(allow system_server app_fuse_file (file (read write getattr)))
+(allow system_server configfs (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server configfs (file (write create getattr unlink open)))
+(allow system_server adbd_common (unix_stream_socket (connectto)))
+(allow system_server adbd_common (fd (use)))
+(allow system_server adbd_common (unix_stream_socket (ioctl read write getattr getopt shutdown)))
+(allow system_server adbd_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server system_adbd_prop (property_service (set)))
+(allow system_server system_adbd_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server adbd_tradeinmode_prop (property_service (set)))
+(allow system_server adbd_tradeinmode_prop (file (read getattr map open)))
+(allow system_server toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow system_server pbtombstone_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allowx system_server system_data_file (ioctl file (0x6685)))
+(allowx system_server apk_data_file (ioctl file (0x6685)))
+(allowx system_server apk_tmp_file (ioctl file (0x6685)))
+(allowx system_server apex_system_server_data_file (ioctl file (0x6685)))
+(allowx system_server apk_data_file (ioctl file (0x6686)))
+(allowx system_server apk_tmp_file (ioctl file (0x6686)))
+(allowx system_server apk_tmp_file (ioctl file (0x6602)))
+(allow system_server postinstall (binder (call transfer)))
+(allow postinstall system_server (binder (transfer)))
+(allow system_server postinstall (fd (use)))
+(allow system_server postinstall (fifo_file (write)))
+(allow system_server update_engine (fd (use)))
+(allow system_server update_engine (fifo_file (write)))
+(allow system_server preloads_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow system_server preloads_data_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search rmdir)))
+(allow system_server preloads_media_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow system_server preloads_media_file (dir (ioctl read write getattr lock open watch watch_reads remove_name search rmdir)))
+(allow system_server cgroup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server cgroup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server cgroup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server cgroup_v2 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server cgroup_v2 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server dmabuf_system_secure_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_asound (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server proc_asound (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_asound (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_qtaguid_stat (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server proc_qtaguid_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_qtaguid_stat (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_loadavg (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_locks (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_pagetypeinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_pipe_conf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_cputime_showstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_io_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_time_in_state (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_concurrent_active_time (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_concurrent_policy_time (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_version (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_vmallocinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_uid_time_in_state (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server proc_uid_cpupower (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server debugfs_tracing_instances (dir (search)))
+(allow system_server debugfs_wifi_tracing (dir (search)))
+(allow system_server debugfs_wifi_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server debugfs_bootreceiver_tracing (dir (search)))
+(allow system_server debugfs_bootreceiver_tracing (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server debugfs_tracing (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server fs_bpf (dir (search)))
+(allow system_server fs_bpf_net_shared (dir (search)))
+(allow system_server fs_bpf_netd_readonly (dir (search)))
+(allow system_server fs_bpf_netd_shared (dir (search)))
+(allow system_server fs_bpf (file (read write getattr)))
+(allow system_server fs_bpf_net_shared (file (read write getattr)))
+(allow system_server fs_bpf_netd_readonly (file (read write getattr)))
+(allow system_server fs_bpf_netd_shared (file (read write getattr)))
+(allow system_server bpfloader (bpf (prog_run)))
+(allow system_server self (bpf (map_create)))
+(allow system_server bpfloader (bpf (map_read map_write)))
+(allow system_server netd (bpf (map_read map_write)))
+(allow system_server network_stack (bpf (map_read map_write)))
+(allow system_server system_server (bpf (map_read map_write)))
+(allow system_server self (key_socket (create)))
+(dontaudit system_server self (key_socket (getopt)))
+(allow system_server fs_bpf_memevents (dir (search)))
+(allow system_server fs_bpf_memevents (file (read write)))
+(allow system_server clatd_exec (file (read getattr map execute open)))
+(allow system_server clatd (process (transition)))
+(allow clatd clatd_exec (file (read getattr map execute open entrypoint)))
+(allow clatd system_server (process (sigchld)))
+(dontaudit system_server clatd (process (noatsecure)))
+(allow system_server clatd (process (siginh rlimitinh)))
+(typetransition system_server clatd_exec process clatd)
+(allow system_server clatd (process (sigkill signal)))
+(allow system_server user_profile_root_file (dir (getattr search)))
+(allow system_server user_profile_data_file (dir (getattr search)))
+(allow system_server user_profile_data_file (file (read getattr open)))
+(allow system_server profman_dump_data_file (file (write create getattr setattr lock append map open)))
+(allow system_server profman_dump_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server system_jvmti_agent_prop (file (read getattr map open)))
+(allow system_server functionfs (dir (search)))
+(allow system_server functionfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server sysfs_type (dir (search)))
+(allow system_server sysfs_udc (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server sysfs_udc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server sysfs_udc (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server time_prop (file (read getattr map open)))
+(allow system_server system_lmk_prop (file (read getattr map open)))
+(allow system_server wifi_config_prop (file (read getattr map open)))
+(allowx system_server binder_device (ioctl chr_file ((range 0x620e 0x620f))))
+(allow system_server framework_watchdog_config_prop (file (read getattr map open)))
+(allow system_server font_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server font_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allowx system_server font_data_file (ioctl file ((range 0x6685 0x6686))))
+(allow system_server qemu_hw_prop (file (read getattr map open)))
+(allow system_server power_debug_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server power_debug_prop (property_service (set)))
+(allow system_server power_debug_prop (file (read getattr map open)))
+;;* lmx 1354 system/sepolicy/private/system_server.te
+
+(neverallow system_server sdcard_type (dir (read write open)))
+(neverallow system_server fuse (dir (read write open)))
+;;* lme
+
+;;* lmx 1355 system/sepolicy/private/system_server.te
+
+(neverallow system_server sdcard_type (file (ioctl read write getattr lock append map open watch watch_reads)))
+(neverallow system_server fuse (file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lme
+
+;;* lmx 1365 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_969 (file (create unlink link open)))
+;;* lme
+
+;;* lmx 1377 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_970 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 1382 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_971 (process (transition)))
+;;* lme
+
+;;* lmx 1383 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_239 (process (dyntransition)))
+;;* lme
+
+;;* lmx 1386 system/sepolicy/private/system_server.te
+
+(neverallow system_server perfetto_traces_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 1389 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_972 system_ndebug_socket (sock_file (write open)))
+;;* lme
+
+;;* lmx 1399 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_973 system_unsolzygote_socket (sock_file (write open)))
+;;* lme
+
+;;* lmx 1430 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_974 device_config_activity_manager_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_input_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_netd_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_aconfig_flags_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_edgetpu_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_media_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_nnapi_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_runtime_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_runtime_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_surface_flinger_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_core_experiments_team_internal_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_lmkd_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_mglru_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_mmd_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_remote_key_provisioning_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_storage_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_sys_traced_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_window_manager_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_connectivity_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_swcodec_native_prop (property_service (set)))
+(neverallow base_typeattr_974 device_config_tethering_u_or_later_native_prop (property_service (set)))
+(neverallow base_typeattr_974 next_boot_prop (property_service (set)))
+;;* lme
+
+;;* lmx 1437 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 tuner_server_ctl_prop (property_service (set)))
+;;* lme
+
+;;* lmx 1443 system/sepolicy/private/system_server.te
+
+(neverallow system_server dex2oat_exec (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1448 system/sepolicy/private/system_server.te
+
+(neverallow system_server data_file_type (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 1455 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_975 (blk_file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1456 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_976 (blk_file (ioctl read getattr lock map open watch watch_reads)))
+;;* lme
+
+;;* lmx 1464 system/sepolicy/private/system_server.te
+
+(neverallow system_server self (process (execmem)))
+;;* lme
+
+;;* lmx 1467 system/sepolicy/private/system_server.te
+
+(neverallow system_server ashmem_device (chr_file (execute)))
+(neverallow system_server ashmem_libcutils_device (chr_file (execute)))
+;;* lme
+
+;;* lmx 1470 system/sepolicy/private/system_server.te
+
+(neverallow system_server system_server_tmpfs (file (execute)))
+;;* lme
+
+(allow system_server system_server_startup (fd (use)))
+(allow system_server system_server_startup_tmpfs (file (read write map)))
+(allow system_server system_server_startup (unix_dgram_socket (write)))
+(allow system_server apex_service (service_manager (find)))
+(allow system_server apexd (binder (call)))
+(allow system_server apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server tradeinmode (binder (call transfer)))
+(allow tradeinmode system_server (binder (transfer)))
+(allow system_server tradeinmode (fd (use)))
+(allow system_server system_suspend_control_internal_service (service_manager (find)))
+(allow system_server system_suspend_control_service (service_manager (find)))
+(allow system_server system_suspend (binder (call transfer)))
+(allow system_suspend system_server (binder (transfer)))
+(allow system_server system_suspend (fd (use)))
+(allow system_suspend system_server (binder (call transfer)))
+(allow system_server system_suspend (binder (transfer)))
+(allow system_suspend system_server (fd (use)))
+(allow system_server sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server self (capability2 (block_suspend)))
+(allow system_server self (cap2_userns (block_suspend)))
+(allow system_server system_suspend_server (binder (call transfer)))
+(allow system_suspend_server system_server (binder (transfer)))
+(allow system_server system_suspend_server (fd (use)))
+(allow system_server system_suspend_hwservice (hwservice_manager (find)))
+(allow system_server hwservicemanager (binder (call transfer)))
+(allow hwservicemanager system_server (binder (call transfer)))
+(allow hwservicemanager system_server (dir (search)))
+(allow hwservicemanager system_server (file (read map open)))
+(allow hwservicemanager system_server (process (getattr)))
+(allow system_server hwservicemanager_prop (file (read getattr map open)))
+(allow system_server hidl_manager_hwservice (hwservice_manager (find)))
+(allow system_server hal_system_suspend_service (service_manager (find)))
+(allow system_server servicemanager (binder (call transfer)))
+(allow servicemanager system_server (binder (call transfer)))
+(allow servicemanager system_server (dir (search)))
+(allow servicemanager system_server (file (read open)))
+(allow servicemanager system_server (process (getattr)))
+(allow system_server apex_data_file (dir (getattr search)))
+(allow system_server apex_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server vendor_apex_file (dir (getattr search)))
+(allow system_server vendor_apex_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server apex_module_data_file (dir (getattr search)))
+(allow system_server apex_system_server_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_system_server_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apex_tethering_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_tethering_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apex_uwb_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_uwb_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apex_appsearch_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_permission_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_scheduling_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_wifi_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server apex_appsearch_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apex_permission_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apex_scheduling_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server apex_wifi_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server metadata_file (dir (search)))
+(allow system_server password_slot_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server password_slot_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server tradeinmode_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server tradeinmode_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server userspace_reboot_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server userspace_reboot_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server staged_install_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server staged_install_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server watchdog_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server watchdog_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server aconfigd_socket (sock_file (write)))
+(allow system_server aconfigd (unix_stream_socket (connectto)))
+(allow system_server aconfigd_mainline_socket (sock_file (write)))
+(allow system_server aconfigd_mainline (unix_stream_socket (connectto)))
+(allow system_server repair_mode_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server repair_mode_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server gsi_persistent_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server gsi_persistent_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow system_server odrefresh_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow system_server odrefresh_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow system_server surfaceflinger_exec (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server userspace_reboot_log_prop (property_service (set)))
+(allow system_server userspace_reboot_log_prop (file (read getattr map open)))
+;;* lmx 1586 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_374 system_jvmti_agent_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow system_server proc_pressure_mem (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_server proc_pressure_cpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server proc_pressure_io (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 1594 system/sepolicy/private/system_server.te
+
+(neverallow system_server base_typeattr_427 (process (ptrace)))
+;;* lme
+
+;;* lmx 1598 system/sepolicy/private/system_server.te
+
+(neverallow system_server system_server (capability (sys_resource)))
+(neverallow system_server system_server (cap_userns (sys_resource)))
+;;* lme
+
+;;* lmx 1601 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 password_slot_metadata_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 1606 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 password_slot_metadata_file (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_430 password_slot_metadata_file (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_430 password_slot_metadata_file (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_430 password_slot_metadata_file (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1607 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 password_slot_metadata_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_430 password_slot_metadata_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_430 password_slot_metadata_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_430 password_slot_metadata_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server binder_cache_system_server_prop (property_service (set)))
+(allow system_server binder_cache_system_server_prop (file (read getattr map open)))
+;;* lmx 1612 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 binder_cache_system_server_prop (property_service (set)))
+;;* lme
+
+(allow system_server self (perf_event (open cpu kernel write)))
+;;* lmx 1617 system/sepolicy/private/system_server.te
+
+(neverallow system_server self (perf_event (tracepoint read)))
+;;* lme
+
+(allow system_server shutdown_checkpoints_system_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow system_server shutdown_checkpoints_system_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lmx 1624 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 socket_hook_prop (property_service (set)))
+;;* lme
+
+;;* lmx 1626 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 boot_status_prop (property_service (set)))
+;;* lme
+
+;;* lmx 1634 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_374 wifi_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1643 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_977 sysfs_uhid (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1649 system/sepolicy/private/system_server.te
+
+(neverallowx base_typeattr_427 binder_device (ioctl chr_file ((range 0x620e 0x620f))))
+;;* lme
+
+;;* lmx 1652 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 font_data_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+;;* lmx 1653 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 font_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+(allow system_server system_font_fallback_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server dalvik_dynamic_config_prop (property_service (set)))
+(allow system_server dalvik_dynamic_config_prop (file (read getattr map open)))
+(allow system_server binderfs_logs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server binderfs_logs_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server game_manager_config_prop (property_service (set)))
+(allow system_server game_manager_config_prop (file (read getattr map open)))
+(allow system_server property_socket (sock_file (write)))
+(allow system_server init (unix_stream_socket (connectto)))
+(allow system_server hint_manager_config_prop (property_service (set)))
+(allow system_server hint_manager_config_prop (file (read getattr map open)))
+;;* lmx 1681 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_388 hint_manager_config_prop (property_service (set)))
+;;* lme
+
+(allow system_server threadnetwork_config_prop (file (read getattr map open)))
+;;* lmx 1693 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_374 threadnetwork_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow system_server pre_reboot_dexopt_file (dir (getattr search)))
+(allow system_server system_server_tmpfs (file (open)))
+(allow system_server postinstall (fifo_file (read)))
+(allow system_server artd (process (sigkill)))
+(allow system_server profman (process (sigkill)))
+(allow system_server derive_classpath (process (sigkill)))
+(allow system_server dex2oat (process (sigkill)))
+(allow system_server odrefresh (process (sigkill)))
+;;* lmx 1719 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 crashrecovery_prop (property_service (set)))
+;;* lme
+
+;;* lmx 1720 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_480 crashrecovery_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1723 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_430 tradeinmode_metadata_file (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 1731 system/sepolicy/private/system_server.te
+
+(neverallow base_typeattr_978 power_debug_prop (property_service (set)))
+;;* lme
+
+(typetransition system_server_startup tmpfs file system_server_startup_tmpfs)
+(allow system_server_startup system_server_startup_tmpfs (file (read write getattr map)))
+(allow system_server_startup self (process (execmem)))
+(allow system_server_startup system_server_startup_tmpfs (file (read write map execute open)))
+(allow system_server_startup apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_server_startup apex_art_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow system_server_startup self (process (setcurrent)))
+(allow system_server_startup system_server (process (dyntransition)))
+(allow system_server_startup zygote (process (sigchld)))
+(allow system_server_startup device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow system_server_startup device_config_runtime_native_prop (file (read getattr map open)))
+(allow init system_suspend_exec (file (read getattr map execute open)))
+(allow init system_suspend (process (transition)))
+(allow system_suspend system_suspend_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init system_suspend (process (noatsecure)))
+(allow init system_suspend (process (siginh rlimitinh)))
+(typetransition init system_suspend_exec process system_suspend)
+(allow system_suspend servicemanager (binder (call transfer)))
+(allow servicemanager system_suspend (binder (call transfer)))
+(allow servicemanager system_suspend (dir (search)))
+(allow servicemanager system_suspend (file (read open)))
+(allow servicemanager system_suspend (process (getattr)))
+(allow system_suspend system_suspend_control_service (service_manager (add find)))
+;;* lmx 8 system/sepolicy/private/system_suspend.te
+
+(neverallow base_typeattr_979 system_suspend_control_service (service_manager (add)))
+;;* lme
+
+(allow system_suspend hal_system_suspend_service (service_manager (add find)))
+;;* lmx 10 system/sepolicy/private/system_suspend.te
+
+(neverallow base_typeattr_979 hal_system_suspend_service (service_manager (add)))
+;;* lme
+
+(allow system_suspend sysfs_power (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_suspend sysfs_suspend_stats (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_suspend sysfs_suspend_stats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_suspend sysfs_suspend_stats (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_suspend sysfs_wakeup (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_suspend sysfs_wakeup (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_suspend sysfs_wakeup (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_suspend sysfs_wakeup_reasons (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow system_suspend sysfs_wakeup_reasons (file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_suspend sysfs_wakeup_reasons (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow system_suspend sysfs_type (dir (search)))
+(allow system_suspend suspend_prop (file (read getattr map open)))
+(allow system_suspend bluetooth (binder (call)))
+(allow system_suspend dumpstate (fd (use)))
+(allow system_suspend dumpstate (fifo_file (write)))
+(allow init sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init self (capability2 (block_suspend)))
+(allow init self (cap2_userns (block_suspend)))
+(allow system_suspend sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow system_suspend self (capability2 (block_suspend)))
+(allow system_suspend self (cap2_userns (block_suspend)))
+(allow init sysfs_sync_on_suspend (file (write lock append map open)))
+;;* lmx 56 system/sepolicy/private/system_suspend.te
+
+(neverallow base_typeattr_980 system_suspend_control_service (service_manager (find)))
+;;* lme
+
+(allow system_suspend_internal_server system_suspend_control_internal_service (service_manager (add find)))
+;;* lmx 2 system/sepolicy/private/system_suspend_internal_server.te
+
+(neverallow base_typeattr_981 system_suspend_control_internal_service (service_manager (add)))
+;;* lme
+
+;;* lmx 12 system/sepolicy/private/system_suspend_internal_server.te
+
+(neverallow base_typeattr_982 system_suspend_control_internal_service (service_manager (find)))
+;;* lme
+
+(allow system_suspend_server hwservicemanager (binder (call transfer)))
+(allow hwservicemanager system_suspend_server (binder (call transfer)))
+(allow hwservicemanager system_suspend_server (dir (search)))
+(allow hwservicemanager system_suspend_server (file (read map open)))
+(allow hwservicemanager system_suspend_server (process (getattr)))
+(allow system_suspend_server hwservicemanager_prop (file (read getattr map open)))
+(allow system_suspend_server system_suspend_hwservice (hwservice_manager (add find)))
+(allow system_suspend_server hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 6 system/sepolicy/private/system_suspend_server.te
+
+(neverallow base_typeattr_983 system_suspend_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow tee fingerprint_vendor_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow tee fingerprint_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init tombstoned_exec (file (read getattr map execute open)))
+(allow init tombstoned (process (transition)))
+(allow tombstoned tombstoned_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init tombstoned (process (noatsecure)))
+(allow init tombstoned (process (siginh rlimitinh)))
+(typetransition init tombstoned_exec process tombstoned)
+(allow tombstoned tombstone_config_prop (file (read getattr map open)))
+(allow tombstoned domain (fd (use)))
+(allow tombstoned domain (fifo_file (write)))
+(allow tombstoned domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow tombstoned domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow tombstoned tombstone_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow tombstoned tombstone_data_file (file (ioctl read write create getattr setattr lock append map unlink link rename open watch watch_reads)))
+(allow tombstoned anr_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow tombstoned anr_data_file (file (create getattr append unlink link open)))
+;;* lmx 31 system/sepolicy/private/tombstoned.te
+
+(neverallow base_typeattr_984 tombstone_config_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow init toolbox_exec (file (read getattr map execute open)))
+(allow init toolbox (process (transition)))
+(allow toolbox toolbox_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init toolbox (process (noatsecure)))
+(allow init toolbox (process (siginh rlimitinh)))
+(typetransition init toolbox_exec process toolbox)
+(allow toolbox virtualizationservice_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search rmdir)))
+(allow toolbox virtualizationservice_data_file (file (getattr unlink)))
+(dontaudit toolbox virtualizationservice_data_file (dir (setattr)))
+(allow toolbox tmpfs (chr_file (ioctl read write)))
+(allow toolbox devpts (chr_file (ioctl read write getattr)))
+(allow toolbox block_device (dir (search)))
+(allow toolbox swap_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow toolbox system_data_root_file (dir (write remove_name)))
+(allow toolbox system_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search rmdir)))
+(allow toolbox system_data_file (file (getattr unlink)))
+(allow toolbox media_userdir_file (dir (ioctl read getattr setattr lock open watch watch_reads search)))
+(allowx toolbox media_userdir_file (ioctl dir ((range 0x6601 0x6602))))
+;;* lmx 42 system/sepolicy/private/toolbox.te
+
+(neverallow base_typeattr_238 toolbox (process (transition)))
+;;* lme
+
+;;* lmx 43 system/sepolicy/private/toolbox.te
+
+(neverallow base_typeattr_239 toolbox (process (dyntransition)))
+;;* lme
+
+;;* lmx 44 system/sepolicy/private/toolbox.te
+
+(neverallow toolbox base_typeattr_985 (file (entrypoint)))
+;;* lme
+
+(allow trace_redactor system_server (fd (use)))
+(allow trace_redactor system_server (fifo_file (ioctl read write getattr)))
+(allow trace_redactor perfetto_traces_profiling_data_file (dir (search)))
+(allow trace_redactor perfetto_traces_data_file (dir (search)))
+(allow trace_redactor perfetto_traces_data_file (file (ioctl read getattr)))
+(allow trace_redactor perfetto_traces_profiling_data_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow init traced_exec (file (read getattr map execute open)))
+(allow init traced (process (transition)))
+(allow traced traced_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init traced (process (noatsecure)))
+(allow init traced (process (siginh rlimitinh)))
+(typetransition init traced_exec process traced)
+(typetransition traced tmpfs file traced_tmpfs)
+(allow traced traced_tmpfs (file (read write getattr map)))
+(allow traced self (capability (sys_nice)))
+(allow traced self (cap_userns (sys_nice)))
+(allow traced perfetto (fd (use)))
+(allow traced shell (fd (use)))
+(allow traced shell (fifo_file (read write)))
+(allow traced perfetto_traces_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow traced perfetto_traces_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow traced traceur_app (fd (use)))
+(allow traced platform_app (fd (use)))
+(allow traced trace_data_file (file (read write)))
+(allow traced tracingproxy_service (service_manager (find)))
+(allow traced servicemanager (binder (call transfer)))
+(allow servicemanager traced (binder (call transfer)))
+(allow servicemanager traced (dir (search)))
+(allow servicemanager traced (file (read open)))
+(allow servicemanager traced (process (getattr)))
+(allow traced system_server (binder (call transfer)))
+(allow system_server traced (binder (transfer)))
+(allow traced system_server (fd (use)))
+(allow traced appdomain_tmpfs (file (read write getattr map)))
+(allow traced surfaceflinger_tmpfs (file (read write getattr map)))
+(allow traced heapprofd_tmpfs (file (read write getattr map)))
+(allow traced traced_probes_tmpfs (file (read write getattr map)))
+(allow traced cgroup_v2 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced traced_config_prop (file (read getattr map open)))
+(allow traced traced_relay_relay_port_prop (file (read getattr map open)))
+(allow traced property_socket (sock_file (write)))
+(allow traced init (unix_stream_socket (connectto)))
+(allow traced debug_prop (property_service (set)))
+(allow traced debug_prop (file (read getattr map open)))
+(allow traced property_socket (sock_file (write)))
+(allow traced init (unix_stream_socket (connectto)))
+(allow traced system_trace_prop (property_service (set)))
+(allow traced system_trace_prop (file (read getattr map open)))
+(allow traced property_socket (sock_file (write)))
+(allow traced init (unix_stream_socket (connectto)))
+(allow traced traced_lazy_prop (property_service (set)))
+(allow traced traced_lazy_prop (file (read getattr map open)))
+(allow traced property_socket (sock_file (write)))
+(allow traced init (unix_stream_socket (connectto)))
+(allow traced traced_oome_heap_session_count_prop (property_service (set)))
+(allow traced traced_oome_heap_session_count_prop (file (read getattr map open)))
+(allow traced statsdw_socket (sock_file (write)))
+(allow traced statsd (unix_dgram_socket (sendto)))
+;;* lmx 90 system/sepolicy/private/traced.te
+
+(neverallow traced self (process (execmem)))
+;;* lme
+
+;;* lmx 93 system/sepolicy/private/traced.te
+
+(neverallow traced dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 96 system/sepolicy/private/traced.te
+
+(neverallow traced domain (process (ptrace)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/private/traced.te
+
+(neverallow traced base_typeattr_986 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 113 system/sepolicy/private/traced.te
+
+(neverallow traced system_data_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 119 system/sepolicy/private/traced.te
+
+(neverallow traced base_typeattr_987 (file (ioctl read create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 122 system/sepolicy/private/traced.te
+
+(neverallow base_typeattr_238 traced (process (transition)))
+;;* lme
+
+;;* lmx 123 system/sepolicy/private/traced.te
+
+(neverallow base_typeattr_239 traced (process (dyntransition)))
+;;* lme
+
+;;* lmx 135 system/sepolicy/private/traced.te
+
+(neverallow base_typeattr_988 tracingproxy_service (service_manager (find)))
+;;* lme
+
+(allow init traced_perf_exec (file (read getattr map execute open)))
+(allow init traced_perf (process (transition)))
+(allow traced_perf traced_perf_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init traced_perf (process (noatsecure)))
+(allow init traced_perf (process (siginh rlimitinh)))
+(typetransition init traced_perf_exec process traced_perf)
+(allow traced_perf traced (fd (use)))
+(allow traced_perf traced_tmpfs (file (read write getattr map)))
+(allow traced_perf traced_producer_socket (sock_file (write)))
+(allow traced_perf traced (unix_stream_socket (connectto)))
+(allow traced traced_perf (fd (use)))
+(allow traced_perf self (perf_event (open cpu kernel tracepoint read write)))
+(allow traced_perf self (capability (dac_read_search kill)))
+(allow traced_perf packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf nativetest_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf nativetest_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf nativetest_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf system_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf system_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf system_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf apk_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf apk_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf dalvikcache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf vendor_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf vendor_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf vendor_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf apex_art_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf apex_art_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_perf apex_module_data_file (dir (getattr search)))
+(allow traced_perf proc_kallsyms (file (read lock open)))
+(allow traced_perf debugfs_tracing (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_perf debugfs_tracing (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit traced_perf domain (dir (getattr open search)))
+(dontaudit traced_perf domain (process (signal)))
+;;* lmx 64 system/sepolicy/private/traced_perf.te
+
+(neverallow traced_perf app_data_file_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/private/traced_perf.te
+
+(neverallow traced_perf hal_configstore_server (file (read)))
+(neverallow traced_perf apexd (file (read)))
+(neverallow traced_perf app_zygote (file (read)))
+(neverallow traced_perf bpfloader (file (read)))
+(neverallow traced_perf init (file (read)))
+(neverallow traced_perf kernel (file (read)))
+(neverallow traced_perf keystore (file (read)))
+(neverallow traced_perf llkd (file (read)))
+(neverallow traced_perf logd (file (read)))
+(neverallow traced_perf ueventd (file (read)))
+(neverallow traced_perf vendor_init (file (read)))
+(neverallow traced_perf vold (file (read)))
+(neverallow traced_perf webview_zygote (file (read)))
+(neverallow traced_perf zygote (file (read)))
+;;* lme
+
+;;* lmx 68 system/sepolicy/private/traced_perf.te
+
+(neverallow traced_perf hal_configstore_server (process (signal)))
+(neverallow traced_perf apexd (process (signal)))
+(neverallow traced_perf app_zygote (process (signal)))
+(neverallow traced_perf bpfloader (process (signal)))
+(neverallow traced_perf init (process (signal)))
+(neverallow traced_perf kernel (process (signal)))
+(neverallow traced_perf keystore (process (signal)))
+(neverallow traced_perf llkd (process (signal)))
+(neverallow traced_perf logd (process (signal)))
+(neverallow traced_perf ueventd (process (signal)))
+(neverallow traced_perf vendor_init (process (signal)))
+(neverallow traced_perf vold (process (signal)))
+(neverallow traced_perf webview_zygote (process (signal)))
+(neverallow traced_perf zygote (process (signal)))
+;;* lme
+
+(allow init traced_probes_exec (file (read getattr map execute open)))
+(allow init traced_probes (process (transition)))
+(allow traced_probes traced_probes_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init traced_probes (process (noatsecure)))
+(allow init traced_probes (process (siginh rlimitinh)))
+(typetransition init traced_probes_exec process traced_probes)
+(typetransition traced_probes tmpfs file traced_probes_tmpfs)
+(allow traced_probes traced_probes_tmpfs (file (read write getattr map)))
+(allow traced_probes traced (fd (use)))
+(allow traced_probes traced_tmpfs (file (read write getattr map)))
+(allow traced_probes traced_producer_socket (sock_file (write)))
+(allow traced_probes traced (unix_stream_socket (connectto)))
+(allow traced traced_probes (fd (use)))
+(allow traced_probes debugfs_tracing (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_probes debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow traced_probes debugfs_trace_marker (file (getattr)))
+(allow traced_probes debugfs_tracing_printk_formats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes debugfs_tracing_instances (dir (search)))
+(allow traced_probes debugfs_mm_events_tracing (dir (search)))
+(allow traced_probes debugfs_mm_events_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow traced_probes self (capability (sys_nice)))
+(allow traced_probes self (cap_userns (sys_nice)))
+(allow traced_probes domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_probes domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_kallsyms (file (read lock open)))
+(allow traced_probes packages_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes game_mode_intervention_list_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes kmsg_device (chr_file (write)))
+(allow traced_probes system_file (dir (read open)))
+(allow traced_probes self (capability (dac_read_search)))
+(allow traced_probes self (cap_userns (dac_read_search)))
+(allow traced_probes apk_data_file (dir (read getattr open search)))
+(allow traced_probes apex_module_data_file (dir (read getattr open search)))
+(allow traced_probes apex_art_data_file (dir (read getattr open search)))
+(allow traced_probes dalvikcache_data_file (dir (read getattr open search)))
+(allow traced_probes system_app_data_file (dir (read getattr open search)))
+(allow traced_probes backup_data_file (dir (read getattr open search)))
+(allow traced_probes bootstat_data_file (dir (read getattr open search)))
+(allow traced_probes update_engine_data_file (dir (read getattr open search)))
+(allow traced_probes update_engine_log_data_file (dir (read getattr open search)))
+(allow traced_probes user_profile_root_file (dir (read getattr open search)))
+(allow traced_probes user_profile_data_file (dir (read getattr open search)))
+(allow traced_probes atrace_exec (file (read getattr map execute open)))
+(allow traced_probes atrace (process (transition)))
+(allow atrace atrace_exec (file (read getattr map execute open entrypoint)))
+(allow atrace traced_probes (process (sigchld)))
+(dontaudit traced_probes atrace (process (noatsecure)))
+(allow traced_probes atrace (process (siginh rlimitinh)))
+(typetransition traced_probes atrace_exec process atrace)
+(allow traced_probes atrace (process (sigkill)))
+(allow traced_probes proc_buddyinfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_pressure_cpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_pressure_io (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_pressure_mem (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_stat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_vmstat (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes sysfs_devfreq_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traced_probes sysfs_devfreq_cur (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes proc_diskstats (file (ioctl read getattr lock map open watch watch_reads)))
+(allow traced_probes statsdw_socket (sock_file (write)))
+(allow traced_probes statsd (unix_dgram_socket (sendto)))
+(allow traced_probes statsd (binder (call transfer)))
+(allow statsd traced_probes (binder (transfer)))
+(allow traced_probes statsd (fd (use)))
+(allow traced_probes stats_service (service_manager (find)))
+(allow traced_probes system_suspend_control_internal_service (service_manager (find)))
+(allow traced_probes system_suspend (binder (call)))
+(allow traced_probes debug_tracing_desktop_mode_visible_tasks_prop (file (read getattr map open)))
+;;* lmx 132 system/sepolicy/private/traced_probes.te
+
+(neverallow traced_probes self (process (execmem)))
+;;* lme
+
+;;* lmx 135 system/sepolicy/private/traced_probes.te
+
+(neverallow traced_probes dev_type (blk_file (read write)))
+;;* lme
+
+;;* lmx 138 system/sepolicy/private/traced_probes.te
+
+(neverallow traced_probes domain (process (ptrace)))
+;;* lme
+
+;;* lmx 163 system/sepolicy/private/traced_probes.te
+
+(neverallow traced_probes base_typeattr_989 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 164 system/sepolicy/private/traced_probes.te
+
+(neverallow traced_probes system_data_file (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 170 system/sepolicy/private/traced_probes.te
+
+(neverallow traced_probes base_typeattr_990 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 173 system/sepolicy/private/traced_probes.te
+
+(neverallow base_typeattr_238 traced_probes (process (transition)))
+;;* lme
+
+;;* lmx 174 system/sepolicy/private/traced_probes.te
+
+(neverallow base_typeattr_239 traced_probes (process (dyntransition)))
+;;* lme
+
+(typetransition traceur_app tmpfs file appdomain_tmpfs)
+(allow traceur_app traceur_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su traceur_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 3 system/sepolicy/private/traceur_app.te
+
+(neverallow base_typeattr_991 traceur_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow traceur_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 3 system/sepolicy/private/traceur_app.te
+
+(neverallow base_typeattr_992 base_typeattr_991 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/traceur_app.te
+
+(neverallow base_typeattr_993 traceur_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 3 system/sepolicy/private/traceur_app.te
+
+(neverallow base_typeattr_994 traceur_app (process (ptrace)))
+;;* lme
+
+(allow traceur_app debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow traceur_app debugfs_tracing_debug (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow traceur_app trace_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow traceur_app trace_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow traceur_app wm_trace_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow traceur_app wm_trace_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow traceur_app atrace_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow traceur_app perfetto_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow traceur_app traced_consumer_socket (sock_file (write)))
+(allow traceur_app traced (unix_stream_socket (connectto)))
+(dontaudit traceur_app debugfs_tracing_debug (file (audit_access)))
+(allow traceur_app property_socket (sock_file (write)))
+(allow traceur_app init (unix_stream_socket (connectto)))
+(allow traceur_app debug_prop (property_service (set)))
+(allow traceur_app debug_prop (file (read getattr map open)))
+(allow traceur_app servicemanager (service_manager (list)))
+(allow traceur_app hwservicemanager (hwservice_manager (list)))
+(allow traceur_app base_typeattr_995 (service_manager (find)))
+(dontaudit traceur_app service_manager_type (service_manager (find)))
+(dontaudit traceur_app hwservice_manager_type (hwservice_manager (find)))
+(dontaudit traceur_app domain (binder (call)))
+(allow tradeinmode adbd_tradeinmode (fd (use)))
+(allow tradeinmode adbd_tradeinmode (unix_stream_socket (ioctl read write)))
+(allow tradeinmode property_socket (sock_file (write)))
+(allow tradeinmode init (unix_stream_socket (connectto)))
+(allow tradeinmode adbd_tradeinmode_prop (property_service (set)))
+(allow tradeinmode adbd_tradeinmode_prop (file (read getattr map open)))
+(allow tradeinmode adbd (fd (use)))
+(allow tradeinmode shell (fd (use)))
+(allow tradeinmode adbd (unix_stream_socket (ioctl read write)))
+(allow tradeinmode devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow tradeinmode system_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow tradeinmode zygote_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow tradeinmode apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow tradeinmode activity_service (service_manager (find)))
+(allow tradeinmode odsign_prop (file (read getattr map open)))
+(allow tradeinmode build_attestation_prop (file (read getattr map open)))
+(allow tradeinmode adbd_tradeinmode_prop (file (read getattr map open)))
+(allow tradeinmode property_socket (sock_file (write)))
+(allow tradeinmode init (unix_stream_socket (connectto)))
+(allow tradeinmode powerctl_prop (property_service (set)))
+(allow tradeinmode powerctl_prop (file (read getattr map open)))
+(allow tradeinmode system_server (binder (call transfer)))
+(allow system_server tradeinmode (binder (transfer)))
+(allow tradeinmode system_server (fd (use)))
+(allow tradeinmode servicemanager (binder (call transfer)))
+(allow servicemanager tradeinmode (binder (transfer)))
+(allow tradeinmode servicemanager (fd (use)))
+(allow tradeinmode platform_app (binder (call transfer)))
+(allow platform_app tradeinmode (binder (transfer)))
+(allow tradeinmode platform_app (fd (use)))
+(typetransition ueventd tmpfs file ueventd_tmpfs)
+(allow ueventd ueventd_tmpfs (file (read write getattr map)))
+(allow ueventd property_socket (sock_file (write)))
+(allow ueventd init (unix_stream_socket (connectto)))
+(allow ueventd cold_boot_done_prop (property_service (set)))
+(allow ueventd cold_boot_done_prop (file (read getattr map open)))
+(allow ueventd kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow ueventd self (capability (chown dac_override dac_read_search fowner fsetid setgid setuid net_admin sys_rawio mknod)))
+(allow ueventd self (cap_userns (chown dac_override dac_read_search fowner fsetid setgid setuid net_admin sys_rawio mknod)))
+(allow ueventd device (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow ueventd rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd sysfs_type (file (write lock append map open)))
+(allow ueventd sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd sysfs_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd sysfs_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd sysfs_type (file (setattr relabelfrom relabelto)))
+(allow ueventd sysfs_type (lnk_file (setattr relabelfrom relabelto)))
+(allow ueventd sysfs_type (dir (setattr relabelfrom relabelto)))
+(allow ueventd tmpfs (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow ueventd dev_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow ueventd dev_type (lnk_file (create unlink)))
+(allow ueventd dev_type (chr_file (create getattr setattr unlink)))
+(allow ueventd dev_type (blk_file (create getattr setattr relabelfrom relabelto unlink)))
+(allow ueventd self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow ueventd efs_file (dir (search)))
+(allow ueventd efs_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd base_typeattr_996 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd base_typeattr_996 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd base_typeattr_996 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd self (process (setfscreate)))
+(allow ueventd proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit ueventd postinstall_mnt_dir (dir (getattr)))
+(allow ueventd self (capability (sys_module)))
+(allow ueventd self (cap_userns (sys_module)))
+(allow ueventd vendor_file (system (module_load)))
+(allow ueventd kernel (key (search)))
+(allow ueventd system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow ueventd vendor_shell_exec (file (execute)))
+(allow ueventd dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow ueventd self (capability (sys_admin)))
+(allow ueventd apexd_prop (file (read getattr map open)))
+(allow ueventd block_device (lnk_file (relabelfrom)))
+;;* lmx 86 system/sepolicy/private/ueventd.te
+
+(neverallow ueventd dev_type (blk_file (ioctl read write lock append map link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 89 system/sepolicy/private/ueventd.te
+
+(neverallow ueventd port_device (chr_file (ioctl read write lock relabelfrom append map link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 92 system/sepolicy/private/ueventd.te
+
+(neverallow base_typeattr_239 ueventd (process (ptrace)))
+;;* lme
+
+;;* lmx 95 system/sepolicy/private/ueventd.te
+
+(neverallow ueventd fs_type (file (execute_no_trans)))
+(neverallow ueventd file_type (file (execute_no_trans)))
+;;* lme
+
+(allow init uncrypt_exec (file (read getattr map execute open)))
+(allow init uncrypt (process (transition)))
+(allow uncrypt uncrypt_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init uncrypt (process (noatsecure)))
+(allow init uncrypt (process (siginh rlimitinh)))
+(typetransition init uncrypt_exec process uncrypt)
+(allow uncrypt property_socket (sock_file (write)))
+(allow uncrypt init (unix_stream_socket (connectto)))
+(allow uncrypt powerctl_prop (property_service (set)))
+(allow uncrypt powerctl_prop (file (read getattr map open)))
+(allow uncrypt self (capability (dac_override dac_read_search)))
+(allow uncrypt self (cap_userns (dac_override dac_read_search)))
+(allow uncrypt cache_file (dir (search)))
+(allow uncrypt cache_recovery_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow uncrypt cache_recovery_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow uncrypt ota_package_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow uncrypt ota_package_file (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow uncrypt uncrypt_socket (sock_file (write)))
+(allow uncrypt uncrypt (unix_stream_socket (connectto)))
+(allow uncrypt self (capability (sys_rawio)))
+(allow uncrypt self (cap_userns (sys_rawio)))
+(allow uncrypt misc_block_device (blk_file (write lock append map open)))
+(allow uncrypt block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow uncrypt userdata_block_device (blk_file (write lock append map open)))
+(allow uncrypt rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow uncrypt rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt sysfs_dt_firmware_android (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow uncrypt sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt sysfs_dt_firmware_android (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt gsi_metadata_file_type (dir (search)))
+(allow uncrypt metadata_file (dir (search)))
+(allow uncrypt gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uncrypt proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(typetransition untrusted_app tmpfs file appdomain_tmpfs)
+(allow untrusted_app untrusted_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su untrusted_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 13 system/sepolicy/private/untrusted_app.te
+
+(neverallow base_typeattr_997 untrusted_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 13 system/sepolicy/private/untrusted_app.te
+
+(neverallow base_typeattr_998 base_typeattr_997 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app.te
+
+(neverallow base_typeattr_999 untrusted_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app.te
+
+(neverallow base_typeattr_1000 untrusted_app (process (ptrace)))
+;;* lme
+
+(allow untrusted_app sdk_sandbox_data_file (fd (use)))
+(allow untrusted_app sdk_sandbox_data_file (file (write)))
+;;* lmx 23 system/sepolicy/private/untrusted_app.te
+
+(neverallow untrusted_app sdk_sandbox_data_file (file (create open)))
+;;* lme
+
+(typetransition untrusted_app_25 tmpfs file appdomain_tmpfs)
+(allow untrusted_app_25 untrusted_app_25_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su untrusted_app_25_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_25.te
+
+(neverallow base_typeattr_1001 untrusted_app_25_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app_25 appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_25.te
+
+(neverallow base_typeattr_1002 base_typeattr_1001 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_25.te
+
+(neverallow base_typeattr_1003 untrusted_app_25 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_25.te
+
+(neverallow base_typeattr_1004 untrusted_app_25 (process (ptrace)))
+;;* lme
+
+(allow untrusted_app_25 proc_misc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_25 proc_tty_drivers (file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_25 apk_data_file (file (execmod)))
+(allow untrusted_app_25 app_data_file (file (execmod)))
+(allow untrusted_app_25 asec_public_file (file (execmod)))
+(allow untrusted_app_25 app_data_file (file (execute_no_trans)))
+(auditallow untrusted_app_25 app_data_file (file (execute execute_no_trans)))
+(allow untrusted_app_25 dex2oat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow untrusted_app_25 ashmem_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(auditallow untrusted_app_25 ashmem_device (chr_file (open)))
+(allow untrusted_app_25 mnt_sdcard_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_25 self (netlink_route_socket (nlmsg_getneigh)))
+(auditallow untrusted_app_25 self (netlink_route_socket (nlmsg_getneigh)))
+(allow untrusted_app_25 mdnsd_socket (sock_file (write)))
+(allow untrusted_app_25 mdnsd (unix_stream_socket (connectto)))
+(allow untrusted_app_25 apk_data_file (dir (watch watch_reads)))
+(allow untrusted_app_25 apk_data_file (file (watch watch_reads)))
+(typetransition untrusted_app_27 tmpfs file appdomain_tmpfs)
+(allow untrusted_app_27 untrusted_app_27_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su untrusted_app_27_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_27.te
+
+(neverallow base_typeattr_1005 untrusted_app_27_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app_27 appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_27.te
+
+(neverallow base_typeattr_1006 base_typeattr_1005 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_27.te
+
+(neverallow base_typeattr_1007 untrusted_app_27 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_27.te
+
+(neverallow base_typeattr_1008 untrusted_app_27 (process (ptrace)))
+;;* lme
+
+(allow untrusted_app_27 apk_data_file (file (execmod)))
+(allow untrusted_app_27 app_data_file (file (execmod)))
+(allow untrusted_app_27 asec_public_file (file (execmod)))
+(allow untrusted_app_27 app_data_file (file (execute_no_trans)))
+(auditallow untrusted_app_27 app_data_file (file (execute execute_no_trans)))
+(allow untrusted_app_27 dex2oat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow untrusted_app_27 ashmem_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(auditallow untrusted_app_27 ashmem_device (chr_file (open)))
+(allow untrusted_app_27 mnt_sdcard_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_27 self (netlink_route_socket (nlmsg_getneigh)))
+(auditallow untrusted_app_27 self (netlink_route_socket (nlmsg_getneigh)))
+(allow untrusted_app_27 mdnsd_socket (sock_file (write)))
+(allow untrusted_app_27 mdnsd (unix_stream_socket (connectto)))
+(allow untrusted_app_27 apk_data_file (dir (watch watch_reads)))
+(allow untrusted_app_27 apk_data_file (file (watch watch_reads)))
+(typetransition untrusted_app_29 tmpfs file appdomain_tmpfs)
+(allow untrusted_app_29 untrusted_app_29_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su untrusted_app_29_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_29.te
+
+(neverallow base_typeattr_1009 untrusted_app_29_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app_29 appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_29.te
+
+(neverallow base_typeattr_1010 base_typeattr_1009 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_29.te
+
+(neverallow base_typeattr_1011 untrusted_app_29 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_29.te
+
+(neverallow base_typeattr_1012 untrusted_app_29 (process (ptrace)))
+;;* lme
+
+(allow untrusted_app_29 self (netlink_route_socket (nlmsg_getneigh)))
+(auditallow untrusted_app_29 self (netlink_route_socket (nlmsg_getneigh)))
+(allow untrusted_app_29 mdnsd_socket (sock_file (write)))
+(allow untrusted_app_29 mdnsd (unix_stream_socket (connectto)))
+(allow untrusted_app_29 apk_data_file (dir (watch watch_reads)))
+(allow untrusted_app_29 apk_data_file (file (watch watch_reads)))
+(typetransition untrusted_app_30 tmpfs file appdomain_tmpfs)
+(allow untrusted_app_30 untrusted_app_30_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su untrusted_app_30_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 15 system/sepolicy/private/untrusted_app_30.te
+
+(neverallow base_typeattr_1013 untrusted_app_30_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app_30 appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 15 system/sepolicy/private/untrusted_app_30.te
+
+(neverallow base_typeattr_1014 base_typeattr_1013 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/private/untrusted_app_30.te
+
+(neverallow base_typeattr_1015 untrusted_app_30 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 15 system/sepolicy/private/untrusted_app_30.te
+
+(neverallow base_typeattr_1016 untrusted_app_30 (process (ptrace)))
+;;* lme
+
+(allow untrusted_app_30 self (netlink_route_socket (nlmsg_getneigh)))
+(auditallow untrusted_app_30 self (netlink_route_socket (nlmsg_getneigh)))
+(allow untrusted_app_30 mdnsd_socket (sock_file (write)))
+(allow untrusted_app_30 mdnsd (unix_stream_socket (connectto)))
+(allow untrusted_app_30 apk_data_file (dir (watch watch_reads)))
+(allow untrusted_app_30 apk_data_file (file (watch watch_reads)))
+(typetransition untrusted_app_32 tmpfs file appdomain_tmpfs)
+(allow untrusted_app_32 untrusted_app_32_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su untrusted_app_32_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_32.te
+
+(neverallow base_typeattr_1017 untrusted_app_32_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app_32 appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 13 system/sepolicy/private/untrusted_app_32.te
+
+(neverallow base_typeattr_1018 base_typeattr_1017 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_32.te
+
+(neverallow base_typeattr_1019 untrusted_app_32 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 13 system/sepolicy/private/untrusted_app_32.te
+
+(neverallow base_typeattr_1020 untrusted_app_32 (process (ptrace)))
+;;* lme
+
+(allow untrusted_app_32 sdk_sandbox_data_file (fd (use)))
+(allow untrusted_app_32 sdk_sandbox_data_file (file (write)))
+;;* lmx 23 system/sepolicy/private/untrusted_app_32.te
+
+(neverallow untrusted_app_32 sdk_sandbox_data_file (file (create open)))
+;;* lme
+
+(allow untrusted_app_32 mdnsd_socket (sock_file (write)))
+(allow untrusted_app_32 mdnsd (unix_stream_socket (connectto)))
+(allow untrusted_app_32 apk_data_file (dir (watch watch_reads)))
+(allow untrusted_app_32 apk_data_file (file (watch watch_reads)))
+(allow untrusted_app_all privapp_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow untrusted_app_all app_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(auditallow untrusted_app_all app_data_file (file (execute)))
+(allow untrusted_app_all system_linker_exec (file (execute_no_trans)))
+(allow untrusted_app_all privapp_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_all app_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow untrusted_app_all app_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow untrusted_app_all app_data_file (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow untrusted_app_all app_exec_data_file (file (ioctl read getattr lock map unlink execute open watch watch_reads)))
+(allow untrusted_app_all asec_apk_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_all asec_apk_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow untrusted_app_all asec_public_file (file (execute)))
+(allow untrusted_app_all shell_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_all shell_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow untrusted_app_all trace_data_file (file (read getattr)))
+;;* lmx 65 system/sepolicy/private/untrusted_app_all.te
+
+(neverallow untrusted_app_all trace_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 66 system/sepolicy/private/untrusted_app_all.te
+
+(neverallow untrusted_app_all trace_data_file (file (write create setattr relabelfrom append unlink link rename open)))
+;;* lme
+
+;;* lmx 69 system/sepolicy/private/untrusted_app_all.te
+
+(neverallow untrusted_app_all debugfs_tracing (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow untrusted_app_all apk_tmp_file (file (read getattr)))
+(allow untrusted_app_all apk_private_tmp_file (file (read getattr)))
+(allow untrusted_app_all system_app_data_file (file (read write getattr)))
+(allow untrusted_app_all media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow untrusted_app_all media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow untrusted_app_all servicemanager (service_manager (list)))
+(allow untrusted_app_all audioserver_service (service_manager (find)))
+(allow untrusted_app_all cameraserver_service (service_manager (find)))
+(allow untrusted_app_all drmserver_service (service_manager (find)))
+(allow untrusted_app_all mediaserver_service (service_manager (find)))
+(allow untrusted_app_all mediaextractor_service (service_manager (find)))
+(allow untrusted_app_all mediametrics_service (service_manager (find)))
+(allow untrusted_app_all mediadrmserver_service (service_manager (find)))
+(allow untrusted_app_all nfc_service (service_manager (find)))
+(allow untrusted_app_all radio_service (service_manager (find)))
+(allow untrusted_app_all app_api_service (service_manager (find)))
+(allow untrusted_app_all vr_manager_service (service_manager (find)))
+(allow untrusted_app_all self (process (ptrace)))
+(allow untrusted_app_all runas_app (unix_stream_socket (connectto)))
+(allow untrusted_app_all runas_app (process (sigchld)))
+(allow untrusted_app_all sysfs_hwrandom (dir (search)))
+(allow untrusted_app_all sysfs_hwrandom (file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_all preloads_media_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow untrusted_app_all preloads_media_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow untrusted_app_all preloads_data_file (dir (search)))
+(allow untrusted_app_all vendor_app_file (dir (read getattr open search)))
+(allow untrusted_app_all vendor_app_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow untrusted_app_all vendor_app_file (lnk_file (read getattr open)))
+(allow untrusted_app_all system_server (udp_socket (read write getattr connect getopt setopt recvfrom sendto)))
+(allow untrusted_app_all rs_exec (file (read getattr map execute open)))
+(allow untrusted_app_all rs (process (transition)))
+(allow rs rs_exec (file (read getattr map execute open entrypoint)))
+(allow rs untrusted_app_all (process (sigchld)))
+(dontaudit untrusted_app_all rs (process (noatsecure)))
+(allow untrusted_app_all rs (process (siginh rlimitinh)))
+(typetransition untrusted_app_all rs_exec process rs)
+(dontaudit untrusted_app_all debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
+(dontaudit untrusted_app_all net_dns_prop (file (read)))
+(dontaudit untrusted_app_all proc_stat (file (read)))
+(dontaudit untrusted_app_all proc_uptime (file (read)))
+(dontaudit untrusted_app_all proc_vmstat (file (read)))
+(dontaudit untrusted_app_all proc_zoneinfo (file (read)))
+(typetransition untrusted_app_all devpts chr_file untrusted_app_all_devpts)
+(allow untrusted_app_all untrusted_app_all_devpts (chr_file (ioctl read write getattr open)))
+(allowx untrusted_app_all untrusted_app_all_devpts (ioctl chr_file ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+;;* lmx 157 system/sepolicy/private/untrusted_app_all.te
+
+(neverallowx base_typeattr_239 untrusted_app_all_devpts (ioctl chr_file (0x5412)))
+;;* lme
+
+(allow untrusted_app_all virtualizationmanager_exec (file (read getattr map execute open)))
+(allow untrusted_app_all virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager untrusted_app_all (process (sigchld)))
+(dontaudit untrusted_app_all virtualizationmanager (process (noatsecure)))
+(allow untrusted_app_all virtualizationmanager (process (siginh rlimitinh)))
+(typetransition untrusted_app_all virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm untrusted_app_all (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager untrusted_app_all (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm untrusted_app_all (fd (use)))
+(allow virtualizationmanager untrusted_app_all (fd (use)))
+(allow untrusted_app_all virtualizationmanager (fd (use)))
+(allow crosvm untrusted_app_all (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager untrusted_app_all (fifo_file (ioctl read write getattr)))
+(allow untrusted_app_all virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow untrusted_app_all hypervisor_prop (file (read getattr map open)))
+(allow untrusted_app_all virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager untrusted_app_all (dir (search)))
+(allow virtualizationmanager untrusted_app_all (file (read)))
+(allow virtualizationmanager untrusted_app_all (lnk_file (read)))
+(allow init update_engine_exec (file (read getattr map execute open)))
+(allow init update_engine (process (transition)))
+(allow update_engine update_engine_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init update_engine (process (noatsecure)))
+(allow init update_engine (process (siginh rlimitinh)))
+(typetransition init update_engine_exec process update_engine)
+(allow update_engine gsi_service (service_manager (find)))
+(allow update_engine gsid (binder (call transfer)))
+(allow gsid update_engine (binder (transfer)))
+(allow update_engine gsid (fd (use)))
+(allow update_engine property_socket (sock_file (write)))
+(allow update_engine init (unix_stream_socket (connectto)))
+(allow update_engine ctl_gsid_prop (property_service (set)))
+(allow update_engine ctl_gsid_prop (file (read getattr map open)))
+(allow update_engine property_socket (sock_file (write)))
+(allow update_engine init (unix_stream_socket (connectto)))
+(allow update_engine ctl_snapuserd_prop (property_service (set)))
+(allow update_engine ctl_snapuserd_prop (file (read getattr map open)))
+(allow update_engine property_socket (sock_file (write)))
+(allow update_engine init (unix_stream_socket (connectto)))
+(allow update_engine ota_prop (property_service (set)))
+(allow update_engine ota_prop (file (read getattr map open)))
+(allow update_engine ota_build_prop (file (read getattr map open)))
+(allow update_engine gsid_prop (file (read getattr map open)))
+(allow update_engine gki_apex_prepostinstall (binder (call transfer)))
+(allow gki_apex_prepostinstall update_engine (binder (transfer)))
+(allow update_engine gki_apex_prepostinstall (fd (use)))
+(allow update_engine system_app (binder (call transfer)))
+(allow system_app update_engine (binder (transfer)))
+(allow update_engine system_app (fd (use)))
+(allow update_engine snapuserd (unix_stream_socket (connectto)))
+(allow update_engine snapuserd_socket (sock_file (write)))
+(allow update_engine snapuserd_prop (file (read getattr map open)))
+(allow update_engine apex_service (service_manager (find)))
+(allow update_engine apexd (binder (call transfer)))
+(allow apexd update_engine (binder (transfer)))
+(allow update_engine apexd (fd (use)))
+(allow update_engine servicemanager (binder (call transfer)))
+(allow servicemanager update_engine (binder (call transfer)))
+(allow servicemanager update_engine (dir (search)))
+(allow servicemanager update_engine (file (read open)))
+(allow servicemanager update_engine (process (getattr)))
+(allow update_engine self (process (setsched)))
+(allow update_engine self (capability (fowner sys_admin)))
+(allow update_engine self (cap_userns (fowner sys_admin)))
+(dontaudit update_engine self (capability (fsetid)))
+(dontaudit update_engine self (cap_userns (fsetid)))
+(allow update_engine kmsg_device (chr_file (write getattr lock append map open)))
+(allow update_engine update_engine_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow update_engine sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow update_engine self (capability2 (block_suspend)))
+(allow update_engine self (cap2_userns (block_suspend)))
+(allow update_engine system_suspend_server (binder (call transfer)))
+(allow system_suspend_server update_engine (binder (transfer)))
+(allow update_engine system_suspend_server (fd (use)))
+(allow update_engine system_suspend_hwservice (hwservice_manager (find)))
+(allow update_engine hwservicemanager (binder (call transfer)))
+(allow hwservicemanager update_engine (binder (call transfer)))
+(allow hwservicemanager update_engine (dir (search)))
+(allow hwservicemanager update_engine (file (read map open)))
+(allow hwservicemanager update_engine (process (getattr)))
+(allow update_engine hwservicemanager_prop (file (read getattr map open)))
+(allow update_engine hidl_manager_hwservice (hwservice_manager (find)))
+(allow update_engine hal_system_suspend_service (service_manager (find)))
+(allow update_engine servicemanager (binder (call transfer)))
+(allow servicemanager update_engine (binder (call transfer)))
+(allow servicemanager update_engine (dir (search)))
+(allow servicemanager update_engine (file (read open)))
+(allow servicemanager update_engine (process (getattr)))
+(dontaudit update_engine kernel (process (setsched)))
+(dontaudit update_engine self (capability (sys_rawio)))
+(dontaudit update_engine self (cap_userns (sys_rawio)))
+(allow update_engine update_engine_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow update_engine update_engine_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow update_engine update_engine_log_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow update_engine update_engine_log_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow update_engine servicemanager (binder (call transfer)))
+(allow servicemanager update_engine (binder (call transfer)))
+(allow servicemanager update_engine (dir (search)))
+(allow servicemanager update_engine (file (read open)))
+(allow servicemanager update_engine (process (getattr)))
+(allow update_engine update_engine_service (service_manager (add find)))
+;;* lmx 72 system/sepolicy/private/update_engine.te
+
+(neverallow base_typeattr_1021 update_engine_service (service_manager (add)))
+;;* lme
+
+(allow update_engine update_engine_stable_service (service_manager (add find)))
+;;* lmx 73 system/sepolicy/private/update_engine.te
+
+(neverallow base_typeattr_1021 update_engine_stable_service (service_manager (add)))
+;;* lme
+
+(allow update_engine priv_app (binder (call transfer)))
+(allow priv_app update_engine (binder (transfer)))
+(allow update_engine priv_app (fd (use)))
+(allow update_engine gmscore_app (binder (call transfer)))
+(allow gmscore_app update_engine (binder (transfer)))
+(allow update_engine gmscore_app (fd (use)))
+(allow update_engine system_server (binder (call transfer)))
+(allow system_server update_engine (binder (transfer)))
+(allow update_engine system_server (fd (use)))
+(allow update_engine ota_package_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine ota_package_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine proc_misc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine gsi_metadata_file_type (dir (search)))
+(allow update_engine metadata_file (dir (search)))
+(allow update_engine gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine vendor_boot_ota_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine vendor_boot_ota_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common postinstall_exec (file (read getattr map execute open)))
+(allow update_engine_common postinstall (process (transition)))
+(allow postinstall postinstall_exec (file (read getattr map execute open entrypoint)))
+(allow postinstall update_engine_common (process (sigchld)))
+(dontaudit update_engine_common postinstall (process (noatsecure)))
+(allow update_engine_common postinstall (process (siginh rlimitinh)))
+(typetransition update_engine_common postinstall_exec process postinstall)
+(allow update_engine_common postinstall_file (file (read getattr map execute open)))
+(allow update_engine_common postinstall (process (transition)))
+(allow postinstall postinstall_file (file (read getattr map execute open entrypoint)))
+(allow postinstall update_engine_common (process (sigchld)))
+(dontaudit update_engine_common postinstall (process (noatsecure)))
+(allow update_engine_common postinstall (process (siginh rlimitinh)))
+(typetransition update_engine_common postinstall_file process postinstall)
+(allow update_engine_common block_device (dir (search)))
+(allow update_engine_common boot_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow update_engine_common system_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx update_engine_common dev_type (ioctl blk_file ((range 0x125d 0x125e) 0x1277 (range 0x127c 0x127d) 0x127f)))
+(allow update_engine_common misc_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow update_engine_common rootfs (dir (getattr)))
+(allow update_engine_common rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common postinstall_mnt_dir (dir (getattr mounton search)))
+(allow update_engine_common postinstall_file (filesystem (mount unmount relabelfrom relabelto)))
+(allow update_engine_common labeledfs (filesystem (mount unmount relabelfrom)))
+(allow update_engine_common postinstall_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow update_engine_common postinstall_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common postinstall_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common cache_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common cache_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow update_engine_common postinstall (process (sigkill sigstop signal)))
+(allow update_engine_common proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common sysfs_dt_firmware_android (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common sysfs_dt_firmware_android (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common sysfs_dt_firmware_android (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common sysfs_dm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common sysfs_dm (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common sysfs_fs_f2fs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow update_engine_common dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow update_engine dm_user_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine dm_user_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_engine_common super_block_device_type (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx update_engine_common super_block_device_type (ioctl blk_file (0x1278 0x127a)))
+(allow update_engine_common block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_engine_common statsdw_socket (sock_file (write)))
+(allow update_engine_common statsd (unix_dgram_socket (sendto)))
+(allow update_engine_common virtual_ab_prop (file (read getattr map open)))
+(allow update_engine_common ab_update_gki_prop (file (read getattr map open)))
+(allow update_engine_common build_bootimage_prop (file (read getattr map open)))
+(allow update_engine_common metadata_file (dir (search)))
+(allow update_engine_common ota_metadata_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search rmdir)))
+(allow update_engine_common ota_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow init update_verifier_exec (file (read getattr map execute open)))
+(allow init update_verifier (process (transition)))
+(allow update_verifier update_verifier_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init update_verifier (process (noatsecure)))
+(allow init update_verifier (process (siginh rlimitinh)))
+(typetransition init update_verifier_exec process update_verifier)
+(allow update_verifier property_socket (sock_file (write)))
+(allow update_verifier init (unix_stream_socket (connectto)))
+(allow update_verifier powerctl_prop (property_service (set)))
+(allow update_verifier powerctl_prop (file (read getattr map open)))
+(allow update_verifier property_socket (sock_file (write)))
+(allow update_verifier init (unix_stream_socket (connectto)))
+(allow update_verifier ota_prop (property_service (set)))
+(allow update_verifier ota_prop (file (read getattr map open)))
+(allow update_verifier snapuserd_socket (sock_file (write)))
+(allow update_verifier snapuserd (unix_stream_socket (connectto)))
+(allow update_verifier virtual_ab_prop (file (read getattr map open)))
+(allow update_verifier block_device (dir (search)))
+(allow update_verifier ota_package_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_verifier ota_package_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_verifier sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_verifier sysfs_dm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow update_verifier sysfs_dm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_verifier dm_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow update_verifier kmsg_device (chr_file (write getattr lock append map open)))
+(allow update_verifier vold_service (service_manager (find)))
+(allow update_verifier servicemanager (binder (call transfer)))
+(allow servicemanager update_verifier (binder (transfer)))
+(allow update_verifier servicemanager (fd (use)))
+(allow update_verifier vold (binder (call transfer)))
+(allow vold update_verifier (binder (transfer)))
+(allow update_verifier vold (fd (use)))
+(allow init uprobestats_exec (file (read getattr map execute open)))
+(allow init uprobestats (process (transition)))
+(allow uprobestats uprobestats_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init uprobestats (process (noatsecure)))
+(allow init uprobestats (process (siginh rlimitinh)))
+(typetransition init uprobestats_exec process uprobestats)
+(allow uprobestats fs_bpf_uprobestats (file (read write)))
+(allow uprobestats fs_bpf_uprobestats (dir (search)))
+(allow uprobestats bpfloader (bpf (map_read map_write prog_run)))
+(allow uprobestats self (capability2 (perfmon)))
+(allow uprobestats self (perf_event (open cpu write)))
+(allow uprobestats sysfs_uprobe (file (read open)))
+(allow uprobestats sysfs_uprobe (dir (search)))
+(allow uprobestats system_file (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow uprobestats statsdw_socket (sock_file (write)))
+(allow uprobestats statsd (unix_dgram_socket (sendto)))
+(allow uprobestats servicemanager (binder (call transfer)))
+(allow servicemanager uprobestats (binder (call transfer)))
+(allow servicemanager uprobestats (dir (search)))
+(allow servicemanager uprobestats (file (read open)))
+(allow servicemanager uprobestats (process (getattr)))
+(allow uprobestats activity_service (service_manager (find)))
+(allow uprobestats dynamic_instrumentation_service (service_manager (find)))
+(allow uprobestats system_server (binder (call transfer)))
+(allow system_server uprobestats (binder (transfer)))
+(allow uprobestats system_server (fd (use)))
+(allow uprobestats package_native_service (service_manager (find)))
+(allow uprobestats base_typeattr_263 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow uprobestats base_typeattr_263 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow uprobestats base_typeattr_263 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow uprobestats uprobestats_configs_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow uprobestats uprobestats_configs_data_file (file (ioctl read getattr lock map unlink open watch watch_reads)))
+(allow init usbd_exec (file (read getattr map execute open)))
+(allow init usbd (process (transition)))
+(allow usbd usbd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init usbd (process (noatsecure)))
+(allow init usbd (process (siginh rlimitinh)))
+(typetransition init usbd_exec process usbd)
+(allow usbd system_prop (file (read getattr map open)))
+(allow usbd property_socket (sock_file (write)))
+(allow usbd init (unix_stream_socket (connectto)))
+(allow usbd ctl_default_prop (property_service (set)))
+(allow usbd ctl_default_prop (file (read getattr map open)))
+(allow usbd property_socket (sock_file (write)))
+(allow usbd init (unix_stream_socket (connectto)))
+(allow usbd ctl_adbd_prop (property_service (set)))
+(allow usbd ctl_adbd_prop (file (read getattr map open)))
+(allow usbd servicemanager (binder (call transfer)))
+(allow servicemanager usbd (binder (transfer)))
+(allow usbd servicemanager (fd (use)))
+(allow userdata_sysdev sysfs (filesystem (associate)))
+(allow init vdc_exec (file (read getattr map execute open)))
+(allow init vdc (process (transition)))
+(allow vdc vdc_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vdc (process (noatsecure)))
+(allow init vdc (process (siginh rlimitinh)))
+(typetransition init vdc_exec process vdc)
+(allow vdc vehicle_binding_util (fd (use)))
+(allow vdc devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vdc kmsg_device (chr_file (write getattr lock append map open)))
+(allow vdc servicemanager (binder (call transfer)))
+(allow servicemanager vdc (binder (call transfer)))
+(allow servicemanager vdc (dir (search)))
+(allow servicemanager vdc (file (read open)))
+(allow servicemanager vdc (process (getattr)))
+(allow vdc vold (binder (call transfer)))
+(allow vold vdc (binder (transfer)))
+(allow vdc vold (fd (use)))
+(allow vdc vold_service (service_manager (find)))
+(allow init vehicle_binding_util_exec (file (read getattr map execute open)))
+(allow init vehicle_binding_util (process (transition)))
+(allow vehicle_binding_util vehicle_binding_util_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vehicle_binding_util (process (noatsecure)))
+(allow init vehicle_binding_util (process (siginh rlimitinh)))
+(typetransition init vehicle_binding_util_exec process vehicle_binding_util)
+(allow vehicle_binding_util kmsg_device (chr_file (write getattr lock append map open)))
+(allow vehicle_binding_util hwservicemanager (binder (call transfer)))
+(allow hwservicemanager vehicle_binding_util (binder (call transfer)))
+(allow hwservicemanager vehicle_binding_util (dir (search)))
+(allow hwservicemanager vehicle_binding_util (file (read map open)))
+(allow hwservicemanager vehicle_binding_util (process (getattr)))
+(allow vehicle_binding_util servicemanager (binder (call transfer)))
+(allow servicemanager vehicle_binding_util (binder (call transfer)))
+(allow servicemanager vehicle_binding_util (dir (search)))
+(allow servicemanager vehicle_binding_util (file (read open)))
+(allow servicemanager vehicle_binding_util (process (getattr)))
+(allow vehicle_binding_util vdc_exec (file (read getattr map execute open)))
+(allow vehicle_binding_util vdc (process (transition)))
+(allow vdc vdc_exec (file (read getattr map execute open entrypoint)))
+(allow vdc vehicle_binding_util (process (sigchld)))
+(dontaudit vehicle_binding_util vdc (process (noatsecure)))
+(allow vehicle_binding_util vdc (process (siginh rlimitinh)))
+(typetransition vehicle_binding_util vdc_exec process vdc)
+(allow vehicle_binding_util devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(dontaudit vendor_init sysfs (dir (write)))
+(allow vendor_init system_data_root_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init adbd_config_prop (property_service (set)))
+(allow vendor_init adbd_config_prop (file (read getattr map open)))
+(allow vendor_init device_config_virtualization_framework_native_prop (file (read getattr map open)))
+(allow vendor_init apex_ready_prop (file (read getattr map open)))
+(allow vendor_init fstype_prop (file (read getattr map open)))
+(allow vendor_init base_typeattr_1022 (chr_file (setattr)))
+(allow vendor_init init (unix_stream_socket (read write)))
+(allow vendor_init kmsg_device (chr_file (write getattr open)))
+(allow vendor_init device (dir (mounton)))
+(allow vendor_init rootfs (lnk_file (create unlink)))
+(allow vendor_init cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vendor_init cgroup (file (write lock append map open)))
+(allow vendor_init cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vendor_init cgroup_v2 (file (write lock append map open)))
+(allow vendor_init configfs (dir (mounton)))
+(allow vendor_init configfs (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vendor_init configfs (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vendor_init configfs (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vendor_init self (capability (dac_override dac_read_search)))
+(allow vendor_init self (cap_userns (dac_override dac_read_search)))
+(allow vendor_init self (capability (chown fowner fsetid)))
+(allow vendor_init self (cap_userns (chown fowner fsetid)))
+(allow vendor_init unencrypted_data_file (dir (search)))
+(allow vendor_init unencrypted_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allowx vendor_init data_file_type (ioctl dir (0x6613 0x6615)))
+(allow vendor_init system_data_file (dir (getattr)))
+(allow vendor_init base_typeattr_1023 (dir (ioctl read write create getattr setattr relabelfrom open add_name remove_name search rmdir)))
+(allow vendor_init unlabeled (file (getattr relabelfrom)))
+(allow vendor_init unlabeled (dir (getattr relabelfrom)))
+(allow vendor_init unlabeled (lnk_file (getattr relabelfrom)))
+(allow vendor_init unlabeled (sock_file (getattr relabelfrom)))
+(allow vendor_init unlabeled (fifo_file (getattr relabelfrom)))
+(allow vendor_init base_typeattr_1024 (file (read write create getattr setattr relabelfrom map unlink open)))
+(allow vendor_init base_typeattr_1025 (sock_file (read create getattr setattr relabelfrom unlink open)))
+(allow vendor_init base_typeattr_1025 (fifo_file (read create getattr setattr relabelfrom unlink open)))
+(allow vendor_init base_typeattr_1026 (lnk_file (create getattr setattr relabelfrom unlink)))
+(allow vendor_init base_typeattr_1027 (file (relabelto)))
+(allow vendor_init base_typeattr_1027 (dir (relabelto)))
+(allow vendor_init base_typeattr_1027 (lnk_file (relabelto)))
+(allow vendor_init base_typeattr_1027 (chr_file (relabelto)))
+(allow vendor_init base_typeattr_1027 (blk_file (relabelto)))
+(allow vendor_init base_typeattr_1027 (sock_file (relabelto)))
+(allow vendor_init base_typeattr_1027 (fifo_file (relabelto)))
+(allow vendor_init dev_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vendor_init dev_type (lnk_file (create)))
+(allow vendor_init debugfs_tracing (file (write lock append map open)))
+(allow vendor_init base_typeattr_1028 (file (read setattr map open)))
+(allow vendor_init tracefs_type (file (read setattr map open)))
+(allow vendor_init base_typeattr_1029 (dir (read setattr open search)))
+(allow vendor_init dev_type (blk_file (getattr)))
+(allow vendor_init proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vendor_init proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_init proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_init proc_net_type (file (write lock append map open)))
+(allow vendor_init self (capability (net_admin)))
+(allow vendor_init self (cap_userns (net_admin)))
+(allow vendor_init proc_page_cluster (file (write lock append map open)))
+(allow vendor_init sysfs_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vendor_init sysfs_type (lnk_file (read)))
+(allow vendor_init base_typeattr_1030 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vendor_init self (process (setfscreate)))
+(allow vendor_init vendor_file_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vendor_init vendor_file_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_init vendor_file_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_init serialno_prop (file (read getattr map open)))
+(allow vendor_init self (capability (sys_admin)))
+(allow vendor_init self (cap_userns (sys_admin)))
+(allow vendor_init misc_block_device (blk_file (write lock append map open)))
+(allow vendor_init system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vendor_init system_bootstrap_lib_file (file (read getattr map execute open)))
+(allow vendor_init userdata_sysdev (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vendor_init file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_init self (capability (sys_nice)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init apk_verity_prop (property_service (set)))
+(allow vendor_init apk_verity_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init bluetooth_a2dp_offload_prop (property_service (set)))
+(allow vendor_init bluetooth_a2dp_offload_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init bluetooth_audio_hal_prop (property_service (set)))
+(allow vendor_init bluetooth_audio_hal_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init bluetooth_config_prop (property_service (set)))
+(allow vendor_init bluetooth_config_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init camera2_extensions_prop (property_service (set)))
+(allow vendor_init camera2_extensions_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init camerax_extensions_prop (property_service (set)))
+(allow vendor_init camerax_extensions_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init cpu_variant_prop (property_service (set)))
+(allow vendor_init cpu_variant_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init dalvik_config_prop (property_service (set)))
+(allow vendor_init dalvik_config_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init dalvik_dynamic_config_prop (property_service (set)))
+(allow vendor_init dalvik_dynamic_config_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init dalvik_runtime_prop (property_service (set)))
+(allow vendor_init dalvik_runtime_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init debug_prop (property_service (set)))
+(allow vendor_init debug_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_bluetooth_prop (property_service (set)))
+(allow vendor_init exported_bluetooth_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_camera_prop (property_service (set)))
+(allow vendor_init exported_camera_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_config_prop (property_service (set)))
+(allow vendor_init exported_config_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_default_prop (property_service (set)))
+(allow vendor_init exported_default_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_overlay_prop (property_service (set)))
+(allow vendor_init exported_overlay_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init exported_pm_prop (property_service (set)))
+(allow vendor_init exported_pm_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init ffs_control_prop (property_service (set)))
+(allow vendor_init ffs_control_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init hw_timeout_multiplier_prop (property_service (set)))
+(allow vendor_init hw_timeout_multiplier_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init incremental_prop (property_service (set)))
+(allow vendor_init incremental_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init lmkd_prop (property_service (set)))
+(allow vendor_init lmkd_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init logd_prop (property_service (set)))
+(allow vendor_init logd_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init log_tag_prop (property_service (set)))
+(allow vendor_init log_tag_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init log_prop (property_service (set)))
+(allow vendor_init log_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init graphics_config_writable_prop (property_service (set)))
+(allow vendor_init graphics_config_writable_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init prefetch_boot_prop (property_service (set)))
+(allow vendor_init prefetch_boot_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init qemu_hw_prop (property_service (set)))
+(allow vendor_init qemu_hw_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init radio_control_prop (property_service (set)))
+(allow vendor_init radio_control_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init rebootescrow_hal_prop (property_service (set)))
+(allow vendor_init rebootescrow_hal_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init serialno_prop (property_service (set)))
+(allow vendor_init serialno_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init soc_prop (property_service (set)))
+(allow vendor_init soc_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init surfaceflinger_color_prop (property_service (set)))
+(allow vendor_init surfaceflinger_color_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init usb_control_prop (property_service (set)))
+(allow vendor_init usb_control_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init userspace_reboot_config_prop (property_service (set)))
+(allow vendor_init userspace_reboot_config_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vehicle_hal_prop (property_service (set)))
+(allow vendor_init vehicle_hal_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vendor_default_prop (property_service (set)))
+(allow vendor_init vendor_default_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init keystore_config_prop (property_service (set)))
+(allow vendor_init keystore_config_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vendor_security_patch_level_prop (property_service (set)))
+(allow vendor_init vendor_security_patch_level_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vndk_prop (property_service (set)))
+(allow vendor_init vndk_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init virtual_ab_prop (property_service (set)))
+(allow vendor_init virtual_ab_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init vold_post_fs_data_prop (property_service (set)))
+(allow vendor_init vold_post_fs_data_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init wifi_hal_prop (property_service (set)))
+(allow vendor_init wifi_hal_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init wifi_log_prop (property_service (set)))
+(allow vendor_init wifi_log_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init zram_control_prop (property_service (set)))
+(allow vendor_init zram_control_prop (file (read getattr map open)))
+(allow vendor_init boot_status_prop (file (read getattr map open)))
+(allow vendor_init exported3_system_prop (file (read getattr map open)))
+(allow vendor_init mmd_shared_status_prop (file (read getattr map open)))
+(allow vendor_init ota_prop (file (read getattr map open)))
+(allow vendor_init power_debug_prop (file (read getattr map open)))
+(allow vendor_init provisioned_prop (file (read getattr map open)))
+(allow vendor_init retaildemo_prop (file (read getattr map open)))
+(allow vendor_init surfaceflinger_display_prop (file (read getattr map open)))
+(allow vendor_init test_harness_prop (file (read getattr map open)))
+(allow vendor_init theme_prop (file (read getattr map open)))
+(allow vendor_init property_socket (sock_file (write)))
+(allow vendor_init init (unix_stream_socket (connectto)))
+(allow vendor_init dck_prop (property_service (set)))
+(allow vendor_init dck_prop (file (read getattr map open)))
+(allow vendor_init device_config_vendor_system_native_prop (file (read getattr map open)))
+(allow vendor_init device_config_vendor_system_native_boot_prop (file (read getattr map open)))
+;;* lmx 342 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init base_typeattr_1031 (socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (tcp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (udp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (rawip_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (packet_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (key_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (unix_stream_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (unix_dgram_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_route_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_tcpdiag_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_nflog_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_xfrm_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_selinux_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_audit_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_dnrt_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_kobject_uevent_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (appletalk_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (tun_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_iscsi_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_fib_lookup_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_connector_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_netfilter_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_generic_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_scsitransport_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_rdma_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netlink_crypto_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (sctp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (icmp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (ax25_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (ipx_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (netrom_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (atmpvc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (x25_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (rose_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (decnet_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (atmsvc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (rds_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (irda_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (pppox_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (llc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (can_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (tipc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (bluetooth_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (iucv_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (rxrpc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (isdn_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (phonet_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (ieee802154_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (caif_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (alg_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (nfc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (vsock_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (kcm_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (qipcrtr_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (smc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1031 (xdp_socket (connect sendto)))
+;;* lme
+
+;;* lmx 342 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init base_typeattr_1031 (unix_stream_socket (connectto)))
+;;* lme
+
+;;* lmx 347 system/sepolicy/private/vendor_init.te
+
+(neverallow domain vendor_init (process (dyntransition)))
+;;* lme
+
+;;* lmx 348 system/sepolicy/private/vendor_init.te
+
+(neverallow base_typeattr_238 vendor_init (process (transition)))
+;;* lme
+
+;;* lmx 349 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init base_typeattr_765 (file (entrypoint)))
+;;* lme
+
+;;* lmx 352 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init app_data_file_type (lnk_file (read)))
+;;* lme
+
+;;* lmx 353 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init shell_data_file (lnk_file (read)))
+;;* lme
+
+;;* lmx 355 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init shell_data_file (dir (write add_name remove_name)))
+;;* lme
+
+;;* lmx 358 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init fs_type (file (execute_no_trans)))
+(neverallow vendor_init file_type (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 361 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init service_manager_type (service_manager (add find)))
+;;* lme
+
+;;* lmx 362 system/sepolicy/private/vendor_init.te
+
+(neverallow vendor_init servicemanager (service_manager (list)))
+;;* lme
+
+;;* lmx 365 system/sepolicy/private/vendor_init.te
+
+(neverallow base_typeattr_239 vendor_init (process (ptrace)))
+;;* lme
+
+(allow vendor_misc_writer misc_block_device (blk_file (write lock append map open)))
+(allow vendor_misc_writer block_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit vendor_misc_writer proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit vendor_misc_writer sysfs_dt_firmware_android (dir (search)))
+(dontaudit vendor_misc_writer proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_misc_writer gsi_metadata_file_type (dir (search)))
+(allow vendor_misc_writer metadata_file (dir (search)))
+(allow vendor_misc_writer gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_misc_writer proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_misc_writer proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vendor_shell vendor_shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vendor_shell vendor_toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vendor_shell shell (fd (use)))
+(allow vendor_shell adbd (fd (use)))
+(allow vendor_shell adbd (process (sigchld)))
+(allow vendor_shell adbd (unix_stream_socket (ioctl read write getattr)))
+(allow vendor_shell devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vendor_shell tty_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vendor_shell console_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vendor_shell input_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vendor_shell input_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+;;* lmx 3 system/sepolicy/private/vendor_toolbox.te
+
+(neverallow base_typeattr_1032 vendor_toolbox_exec (file (execute execute_no_trans entrypoint)))
+;;* lme
+
+(allow init vfio_handler_exec (file (read getattr map execute open)))
+(allow init vfio_handler (process (transition)))
+(allow vfio_handler vfio_handler_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vfio_handler (process (noatsecure)))
+(allow init vfio_handler (process (siginh rlimitinh)))
+(typetransition init vfio_handler_exec process vfio_handler)
+(allow vfio_handler vfio_handler_service (service_manager (add find)))
+;;* lmx 1 system/sepolicy/private/vfio_handler.te
+
+(neverallow base_typeattr_1033 vfio_handler_service (service_manager (add)))
+;;* lme
+
+(allow vfio_handler servicemanager (binder (call transfer)))
+(allow servicemanager vfio_handler (binder (call transfer)))
+(allow servicemanager vfio_handler (dir (search)))
+(allow servicemanager vfio_handler (file (read open)))
+(allow servicemanager vfio_handler (process (getattr)))
+(allow vfio_handler vfio_device (chr_file (getattr)))
+(allow vfio_handler vfio_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vfio_handler sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vfio_handler sysfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vfio_handler virtualizationservice (fd (use)))
+(allow vfio_handler virtualizationservice_data_file (file (write)))
+;;* lmx 1 system/sepolicy/private/vfio_handler.te
+
+(neverallow vfio_handler virtualizationservice_data_file (file (create open)))
+;;* lme
+
+(allow vfio_handler block_device (dir (search)))
+(allow vfio_handler dtbo_block_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow init virtual_camera_exec (file (read getattr map execute open)))
+(allow init virtual_camera (process (transition)))
+(allow virtual_camera virtual_camera_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init virtual_camera (process (noatsecure)))
+(allow init virtual_camera (process (siginh rlimitinh)))
+(typetransition init virtual_camera_exec process virtual_camera)
+(allow virtual_camera servicemanager (binder (call transfer)))
+(allow servicemanager virtual_camera (binder (call transfer)))
+(allow servicemanager virtual_camera (dir (search)))
+(allow servicemanager virtual_camera (file (read open)))
+(allow servicemanager virtual_camera (process (getattr)))
+(allow virtual_camera cameraserver (binder (call transfer)))
+(allow cameraserver virtual_camera (binder (transfer)))
+(allow virtual_camera cameraserver (fd (use)))
+(allow virtual_camera system_server (binder (call transfer)))
+(allow system_server virtual_camera (binder (transfer)))
+(allow virtual_camera system_server (fd (use)))
+(allow virtual_camera mediaserver (binder (call transfer)))
+(allow mediaserver virtual_camera (binder (transfer)))
+(allow virtual_camera mediaserver (fd (use)))
+(allow virtual_camera appdomain (binder (call transfer)))
+(allow appdomain virtual_camera (binder (transfer)))
+(allow virtual_camera appdomain (fd (use)))
+(allow virtual_camera base_typeattr_564 (fd (use)))
+(allow virtual_camera surfaceflinger (binder (call transfer)))
+(allow surfaceflinger virtual_camera (binder (transfer)))
+(allow virtual_camera surfaceflinger (fd (use)))
+(allow virtual_camera virtual_camera_service (service_manager (add find)))
+;;* lmx 37 system/sepolicy/private/virtual_camera.te
+
+(neverallow base_typeattr_1034 virtual_camera_service (service_manager (add)))
+;;* lme
+
+(allow virtual_camera gpu_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow virtual_camera gpu_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtual_camera sysfs_gpu (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtual_camera sysfs_gpu (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtual_camera sysfs_gpu (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow cameraserver ion_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow cameraserver dmabuf_system_heap_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtual_camera hal_graphics_composer (fd (use)))
+(allow virtual_camera dumpstate (fd (use)))
+(allow virtual_camera dumpstate (fifo_file (write)))
+(allow virtual_camera permission_service (service_manager (find)))
+(allow virtual_camera adbd (fd (use)))
+(allow virtual_camera adbd (unix_stream_socket (read write getattr)))
+(allow virtual_camera shell (fifo_file (read write getattr)))
+(allow virtual_camera dmabuf_system_heap_device (chr_file (read open)))
+(allow init virtual_face_exec (file (read getattr map execute open)))
+(allow init virtual_face (process (transition)))
+(allow virtual_face virtual_face_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init virtual_face (process (noatsecure)))
+(allow init virtual_face (process (siginh rlimitinh)))
+(typetransition init virtual_face_exec process virtual_face)
+(allow virtual_face property_socket (sock_file (write)))
+(allow virtual_face init (unix_stream_socket (connectto)))
+(allow virtual_face virtual_face_prop (property_service (set)))
+(allow virtual_face virtual_face_prop (file (read getattr map open)))
+(allow init virtual_fingerprint_exec (file (read getattr map execute open)))
+(allow init virtual_fingerprint (process (transition)))
+(allow virtual_fingerprint virtual_fingerprint_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init virtual_fingerprint (process (noatsecure)))
+(allow init virtual_fingerprint (process (siginh rlimitinh)))
+(typetransition init virtual_fingerprint_exec process virtual_fingerprint)
+(allow virtual_fingerprint property_socket (sock_file (write)))
+(allow virtual_fingerprint init (unix_stream_socket (connectto)))
+(allow virtual_fingerprint virtual_fingerprint_prop (property_service (set)))
+(allow virtual_fingerprint virtual_fingerprint_prop (file (read getattr map open)))
+(allow init virtual_touchpad_exec (file (read getattr map execute open)))
+(allow init virtual_touchpad (process (transition)))
+(allow virtual_touchpad virtual_touchpad_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init virtual_touchpad (process (noatsecure)))
+(allow init virtual_touchpad (process (siginh rlimitinh)))
+(typetransition init virtual_touchpad_exec process virtual_touchpad)
+(allow virtual_touchpad servicemanager (binder (call transfer)))
+(allow servicemanager virtual_touchpad (binder (call transfer)))
+(allow servicemanager virtual_touchpad (dir (search)))
+(allow servicemanager virtual_touchpad (file (read open)))
+(allow servicemanager virtual_touchpad (process (getattr)))
+(allow virtual_touchpad virtual_touchpad_service (service_manager (add find)))
+;;* lmx 7 system/sepolicy/private/virtual_touchpad.te
+
+(neverallow base_typeattr_1035 virtual_touchpad_service (service_manager (add)))
+;;* lme
+
+(allow virtual_touchpad system_server (binder (call transfer)))
+(allow system_server virtual_touchpad (binder (transfer)))
+(allow virtual_touchpad system_server (fd (use)))
+(allow virtual_touchpad uhid_device (chr_file (ioctl write lock append map open)))
+(allow virtual_touchpad permission_service (service_manager (find)))
+(allow virtualizationmanager adbd (fd (use)))
+(allow virtualizationmanager adbd (unix_stream_socket (read write getattr)))
+(allow virtualizationmanager devpts (chr_file (ioctl read write getattr)))
+(allow virtualizationmanager servicemanager (binder (call transfer)))
+(allow servicemanager virtualizationmanager (binder (call transfer)))
+(allow servicemanager virtualizationmanager (dir (search)))
+(allow servicemanager virtualizationmanager (file (read open)))
+(allow servicemanager virtualizationmanager (process (getattr)))
+(allow virtualizationmanager virtualization_service (service_manager (find)))
+(allow virtualizationmanager virtualizationservice (binder (call transfer)))
+(allow virtualizationservice virtualizationmanager (binder (transfer)))
+(allow virtualizationmanager virtualizationservice (fd (use)))
+(allow virtualizationmanager system_server (binder (call transfer)))
+(allow system_server virtualizationmanager (binder (transfer)))
+(allow virtualizationmanager system_server (fd (use)))
+(allow virtualizationmanager package_native_service (service_manager (find)))
+(allow virtualizationmanager permission_service (service_manager (find)))
+(allow virtualizationmanager crosvm_exec (file (read getattr map execute open)))
+(allow virtualizationmanager crosvm (process (transition)))
+(allow crosvm crosvm_exec (file (read getattr map execute open entrypoint)))
+(allow crosvm virtualizationmanager (process (sigchld)))
+(dontaudit virtualizationmanager crosvm (process (noatsecure)))
+(allow virtualizationmanager crosvm (process (siginh rlimitinh)))
+(typetransition virtualizationmanager crosvm_exec process crosvm)
+(allow virtualizationmanager crosvm (process (sigkill)))
+(allow virtualizationmanager virtualizationservice_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow virtualizationmanager virtualizationservice_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow virtualizationmanager virtualizationservice_data_file (sock_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow virtualizationmanager apk_data_file (file (read getattr)))
+(allow virtualizationmanager app_data_file (file (read write getattr)))
+(allow virtualizationmanager privapp_data_file (file (read write getattr)))
+(allow virtualizationmanager apex_compos_data_file (file (read write getattr)))
+(allow virtualizationmanager apex_virt_data_file (file (read write getattr)))
+(allow virtualizationmanager shell_data_file (file (read write getattr)))
+(allow virtualizationmanager apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager apex_data_file (dir (search)))
+(allow virtualizationmanager staging_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager staging_data_file (dir (search)))
+(allow virtualizationmanager derive_classpath_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow virtualizationmanager apex_mnt_dir (dir (ioctl read getattr lock open watch watch_reads search)))
+(dontaudit virtualizationmanager self (dir (write)))
+(allow virtualizationmanager self (vsock_socket (read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+;;* lmx 64 system/sepolicy/private/virtual_touchpad.te
+
+(neverallow base_typeattr_1036 virtualizationmanager (vsock_socket (create bind connect listen accept)))
+;;* lme
+
+(allow virtualizationmanager hypervisor_prop (file (read getattr map open)))
+(allow virtualizationmanager hypervisor_restricted_prop (file (read getattr map open)))
+(dontaudit virtualizationmanager hypervisor_pvmfw_prop (file (read)))
+;;* lmx 79 system/sepolicy/private/virtual_touchpad.te
+
+(neverallow base_typeattr_1037 hypervisor_pvmfw_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(dontaudit virtualizationmanager hypervisor_virtualizationmanager_prop (file (read)))
+;;* lmx 90 system/sepolicy/private/virtual_touchpad.te
+
+(neverallow base_typeattr_1037 hypervisor_virtualizationmanager_prop (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow virtualizationmanager tombstoned_crash_socket (sock_file (write)))
+(allow virtualizationmanager tombstoned (unix_stream_socket (connectto)))
+(allow virtualizationmanager tombstone_data_file (file (getattr append)))
+(allow virtualizationmanager tombstoned (fd (use)))
+(allow virtualizationmanager proc_dt_avf (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationmanager proc_dt_avf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager proc_dt_avf (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager sysfs_dt_avf (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationmanager sysfs_dt_avf (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager sysfs_dt_avf (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager vendor_microdroid_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationmanager vendor_microdroid_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager vendor_microdroid_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 122 system/sepolicy/private/virtual_touchpad.te
+
+(neverallow domain vendor_microdroid_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 127 system/sepolicy/private/virtual_touchpad.te
+
+(neverallow domain vendor_microdroid_file (file (write create setattr relabelfrom append unlink link rename)))
+;;* lme
+
+(allow virtualizationmanager crosvm (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationmanager crosvm (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager crosvm (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit virtualizationmanager apex_module_data_file (dir (search)))
+(allow virtualizationmanager vfio_handler (binder (call transfer)))
+(allow vfio_handler virtualizationmanager (binder (transfer)))
+(allow virtualizationmanager vfio_handler (fd (use)))
+(allow virtualizationmanager tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow virtualizationmanager vmnic (fd (use)))
+(allow virtualizationmanager tee_service_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationmanager selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationmanager selinuxfs (file (write lock append map open)))
+(allow virtualizationmanager kernel (security (compute_av)))
+(allow virtualizationmanager self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow init virtualizationservice_exec (file (read getattr map execute open)))
+(allow init virtualizationservice (process (transition)))
+(allow virtualizationservice virtualizationservice_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init virtualizationservice (process (noatsecure)))
+(allow init virtualizationservice (process (siginh rlimitinh)))
+(typetransition init virtualizationservice_exec process virtualizationservice)
+(allow virtualizationservice servicemanager (binder (call transfer)))
+(allow servicemanager virtualizationservice (binder (call transfer)))
+(allow servicemanager virtualizationservice (dir (search)))
+(allow servicemanager virtualizationservice (file (read open)))
+(allow servicemanager virtualizationservice (process (getattr)))
+(allow virtualizationservice virtualization_service (service_manager (add find)))
+;;* lmx 16 system/sepolicy/private/virtualizationservice.te
+
+(neverallow base_typeattr_1038 virtualization_service (service_manager (add)))
+;;* lme
+
+(allow virtualizationservice virtualization_maintenance_service (service_manager (add find)))
+;;* lmx 17 system/sepolicy/private/virtualizationservice.te
+
+(neverallow base_typeattr_1038 virtualization_maintenance_service (service_manager (add)))
+;;* lme
+
+(allow virtualizationservice vfio_handler_service (service_manager (find)))
+(allow virtualizationservice vfio_handler (binder (call transfer)))
+(allow vfio_handler virtualizationservice (binder (transfer)))
+(allow virtualizationservice vfio_handler (fd (use)))
+(allow virtualizationservice vmnic_service (service_manager (find)))
+(allow virtualizationservice vmnic (binder (call transfer)))
+(allow vmnic virtualizationservice (binder (transfer)))
+(allow virtualizationservice vmnic (fd (use)))
+(allow virtualizationservice vm_tethering_service (service_manager (find)))
+(allow virtualizationservice avf_virtualizationservice_prop (file (read getattr map open)))
+(allow virtualizationservice system_server (binder (call transfer)))
+(allow system_server virtualizationservice (binder (transfer)))
+(allow virtualizationservice system_server (fd (use)))
+(allow virtualizationservice permission_service (service_manager (find)))
+(allow virtualizationservice remote_provisioning_service_server (binder (call transfer)))
+(allow remote_provisioning_service_server virtualizationservice (binder (transfer)))
+(allow virtualizationservice remote_provisioning_service_server (fd (use)))
+(allow virtualizationservice remote_provisioning_service (service_manager (find)))
+(allow virtualizationservice self (capability (sys_resource)))
+(allow virtualizationservice virtualizationmanager (process (setrlimit)))
+(allow virtualizationservice vmlauncher_app (binder (transfer)))
+(allow virtualizationservice self (capability (chown)))
+(allow virtualizationservice virtualizationservice_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow virtualizationservice virtualizationservice_data_file (sock_file (unlink)))
+(allow virtualizationservice virtualizationservice_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow virtualizationservice adbd (fd (use)))
+(allow virtualizationservice adbd (unix_stream_socket (read write)))
+(allow virtualizationservice virtualizationmanager_exec (file (read getattr map execute open)))
+(allow virtualizationservice virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager virtualizationservice (process (sigchld)))
+(dontaudit virtualizationservice virtualizationmanager (process (noatsecure)))
+(allow virtualizationservice virtualizationmanager (process (siginh rlimitinh)))
+(typetransition virtualizationservice virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm virtualizationservice (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager virtualizationservice (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm virtualizationservice (fd (use)))
+(allow virtualizationmanager virtualizationservice (fd (use)))
+(allow virtualizationservice virtualizationmanager (fd (use)))
+(allow crosvm virtualizationservice (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager virtualizationservice (fifo_file (ioctl read write getattr)))
+(allow virtualizationservice virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow virtualizationservice hypervisor_prop (file (read getattr map open)))
+(allow virtualizationservice virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager virtualizationservice (dir (search)))
+(allow virtualizationmanager virtualizationservice (file (read)))
+(allow virtualizationmanager virtualizationservice (lnk_file (read)))
+(allow virtualizationservice apex_module_data_file (dir (getattr search)))
+(allow virtualizationservice apex_virt_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow virtualizationservice apex_virt_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow virtualizationservice self (vsock_socket (read write create getattr setattr lock append map bind listen accept getopt setopt shutdown)))
+;;* lmx 91 system/sepolicy/private/virtualizationservice.te
+
+(neverallow base_typeattr_1039 virtualizationservice (vsock_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+(allow virtualizationservice property_socket (sock_file (write)))
+(allow virtualizationservice init (unix_stream_socket (connectto)))
+(allow virtualizationservice virtualizationservice_prop (property_service (set)))
+(allow virtualizationservice virtualizationservice_prop (file (read getattr map open)))
+(allow virtualizationservice statsdw_socket (sock_file (write)))
+(allow virtualizationservice statsd (unix_dgram_socket (sendto)))
+(allow virtualizationservice tombstoned_crash_socket (sock_file (write)))
+(allow virtualizationservice tombstoned (unix_stream_socket (connectto)))
+(allow virtualizationservice tombstone_data_file (file (getattr append)))
+(allow virtualizationservice tombstoned (fd (use)))
+(allow virtualizationservice vfio_device (chr_file (getattr)))
+(allow virtualizationservice vfio_device (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationservice virtualizationmanager (fd (use)))
+(allow virtualizationservice vendor_configs_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow virtualizationservice vendor_configs_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow virtualizationservice vendor_configs_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 120 system/sepolicy/private/virtualizationservice.te
+
+(neverallow base_typeattr_1040 virtualizationservice_prop (property_service (set)))
+;;* lme
+
+;;* lmx 127 system/sepolicy/private/virtualizationservice.te
+
+(neverallow base_typeattr_1041 virtualizationservice_data_file (file (create open)))
+;;* lme
+
+;;* lmx 135 system/sepolicy/private/virtualizationservice.te
+
+(neverallow virtualizationservice base_typeattr_1042 (process (setrlimit)))
+;;* lme
+
+(allow virtualizationservice tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow virtualizationservice vmnic (fd (use)))
+;;* lmx 143 system/sepolicy/private/virtualizationservice.te
+
+(neverallow base_typeattr_1043 vfio_handler (binder (call)))
+;;* lme
+
+(typetransition vmlauncher_app tmpfs file appdomain_tmpfs)
+(allow vmlauncher_app vmlauncher_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su vmlauncher_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 4 system/sepolicy/private/vmlauncher_app.te
+
+(neverallow base_typeattr_1044 vmlauncher_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow vmlauncher_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 4 system/sepolicy/private/vmlauncher_app.te
+
+(neverallow base_typeattr_1045 base_typeattr_1044 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/vmlauncher_app.te
+
+(neverallow base_typeattr_1046 vmlauncher_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 4 system/sepolicy/private/vmlauncher_app.te
+
+(neverallow base_typeattr_1047 vmlauncher_app (process (ptrace)))
+;;* lme
+
+(allow vmlauncher_app app_api_service (service_manager (find)))
+(allow vmlauncher_app system_api_service (service_manager (find)))
+(allow vmlauncher_app shell_data_file (dir (search)))
+(allow vmlauncher_app shell_data_file (file (read write open)))
+(allow vmlauncher_app virtualizationmanager_exec (file (read getattr map execute open)))
+(allow vmlauncher_app virtualizationmanager (process (transition)))
+(allow virtualizationmanager virtualizationmanager_exec (file (read getattr map execute open entrypoint)))
+(allow virtualizationmanager vmlauncher_app (process (sigchld)))
+(dontaudit vmlauncher_app virtualizationmanager (process (noatsecure)))
+(allow vmlauncher_app virtualizationmanager (process (siginh rlimitinh)))
+(typetransition vmlauncher_app virtualizationmanager_exec process virtualizationmanager)
+(allow crosvm vmlauncher_app (unix_stream_socket (ioctl read write getattr)))
+(allow virtualizationmanager vmlauncher_app (unix_stream_socket (ioctl read write getattr)))
+(allow crosvm vmlauncher_app (fd (use)))
+(allow virtualizationmanager vmlauncher_app (fd (use)))
+(allow vmlauncher_app virtualizationmanager (fd (use)))
+(allow crosvm vmlauncher_app (fifo_file (ioctl read write getattr)))
+(allow virtualizationmanager vmlauncher_app (fifo_file (ioctl read write getattr)))
+(allow vmlauncher_app virtualizationmanager (vsock_socket (read write getattr getopt)))
+(allow vmlauncher_app hypervisor_prop (file (read getattr map open)))
+(allow vmlauncher_app virtualizationservice_data_file (file (read getattr)))
+(allow virtualizationmanager vmlauncher_app (dir (search)))
+(allow virtualizationmanager vmlauncher_app (file (read)))
+(allow virtualizationmanager vmlauncher_app (lnk_file (read)))
+(allow vmlauncher_app fsck_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vmlauncher_app crosvm (fd (use)))
+(allow vmlauncher_app crosvm_tmpfs (file (read write map)))
+(allow vmlauncher_app crosvm_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vmlauncher_app privapp_data_file (sock_file (write create getattr unlink)))
+(allow vmlauncher_app virtualization_service (service_manager (find)))
+(allow vmlauncher_app virtualizationservice (binder (call)))
+(allow vmlauncher_app crosvm (binder (call transfer)))
+(allow vmlauncher_app self (vsock_socket (read write create getattr setattr lock append map bind connect listen accept getopt setopt shutdown)))
+(allow vmlauncher_app property_socket (sock_file (write)))
+(allow vmlauncher_app init (unix_stream_socket (connectto)))
+(allow vmlauncher_app debug_prop (property_service (set)))
+(allow vmlauncher_app debug_prop (file (read getattr map open)))
+(allow init vmnic_exec (file (read getattr map execute open)))
+(allow init vmnic (process (transition)))
+(allow vmnic vmnic_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vmnic (process (noatsecure)))
+(allow init vmnic (process (siginh rlimitinh)))
+(typetransition init vmnic_exec process vmnic)
+(allow vmnic vmnic_service (service_manager (add find)))
+;;* lmx 1 system/sepolicy/private/vmnic.te
+
+(neverallow base_typeattr_1048 vmnic_service (service_manager (add)))
+;;* lme
+
+(allow vmnic servicemanager (binder (call transfer)))
+(allow servicemanager vmnic (binder (call transfer)))
+(allow servicemanager vmnic (dir (search)))
+(allow servicemanager vmnic (file (read open)))
+(allow servicemanager vmnic (process (getattr)))
+(allow vmnic self (capability (net_admin)))
+(allow vmnic self (cap_userns (net_admin)))
+(allow vmnic self (tun_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow vmnic tun_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx vmnic tun_device (ioctl chr_file (0x54ca 0x54d2)))
+(allow vmnic self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx vmnic self (ioctl udp_socket (0x8914)))
+;;* lmx 1 system/sepolicy/private/vmnic.te
+
+(neverallow base_typeattr_1049 vmnic (binder (call)))
+;;* lme
+
+(allow init vold_exec (file (read getattr map execute open)))
+(allow init vold (process (transition)))
+(allow vold vold_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init vold (process (noatsecure)))
+(allow init vold (process (siginh rlimitinh)))
+(typetransition init vold_exec process vold)
+(allow vold sgdisk_exec (file (read getattr map execute open)))
+(allow vold sgdisk (process (transition)))
+(allow sgdisk sgdisk_exec (file (read getattr map execute open entrypoint)))
+(allow sgdisk vold (process (sigchld)))
+(dontaudit vold sgdisk (process (noatsecure)))
+(allow vold sgdisk (process (siginh rlimitinh)))
+(typetransition vold sgdisk_exec process sgdisk)
+(allow vold sdcardd_exec (file (read getattr map execute open)))
+(allow vold sdcardd (process (transition)))
+(allow sdcardd sdcardd_exec (file (read getattr map execute open entrypoint)))
+(allow sdcardd vold (process (sigchld)))
+(dontaudit vold sdcardd (process (noatsecure)))
+(allow vold sdcardd (process (siginh rlimitinh)))
+(typetransition vold sdcardd_exec process sdcardd)
+(allow vold fuseblkd_untrusted_exec (file (read getattr map execute open)))
+(allow vold fuseblkd_untrusted (process (transition)))
+(allow fuseblkd_untrusted fuseblkd_untrusted_exec (file (read getattr map execute open entrypoint)))
+(allow fuseblkd_untrusted vold (process (sigchld)))
+(dontaudit vold fuseblkd_untrusted (process (noatsecure)))
+(allow vold fuseblkd_untrusted (process (siginh rlimitinh)))
+(typetransition vold fuseblkd_untrusted_exec process fuseblkd_untrusted)
+(allow vold e2fs_exec (file (read getattr map execute open)))
+(allow vold e2fs (process (transition)))
+(allow e2fs e2fs_exec (file (read getattr map execute open entrypoint)))
+(allow e2fs vold (process (sigchld)))
+(dontaudit vold e2fs (process (noatsecure)))
+(allow vold e2fs (process (siginh rlimitinh)))
+(typetransition vold e2fs_exec process e2fs)
+(allow vold blkid_exec (file (read getattr map execute open)))
+(allow vold blkid (process (transition)))
+(allow blkid blkid_exec (file (read getattr map execute open entrypoint)))
+(allow blkid vold (process (sigchld)))
+(dontaudit vold blkid (process (noatsecure)))
+(allow vold blkid (process (siginh rlimitinh)))
+(allow vold blkid_exec (file (read getattr map execute open)))
+(allow vold blkid_untrusted (process (transition)))
+(allow blkid_untrusted blkid_exec (file (read getattr map execute open entrypoint)))
+(allow blkid_untrusted vold (process (sigchld)))
+(dontaudit vold blkid_untrusted (process (noatsecure)))
+(allow vold blkid_untrusted (process (siginh rlimitinh)))
+(allow vold fsck_exec (file (read getattr map execute open)))
+(allow vold fsck (process (transition)))
+(allow fsck fsck_exec (file (read getattr map execute open entrypoint)))
+(allow fsck vold (process (sigchld)))
+(dontaudit vold fsck (process (noatsecure)))
+(allow vold fsck (process (siginh rlimitinh)))
+(allow vold fsck_exec (file (read getattr map execute open)))
+(allow vold fsck_untrusted (process (transition)))
+(allow fsck_untrusted fsck_exec (file (read getattr map execute open entrypoint)))
+(allow fsck_untrusted vold (process (sigchld)))
+(dontaudit vold fsck_untrusted (process (noatsecure)))
+(allow vold fsck_untrusted (process (siginh rlimitinh)))
+(typetransition vold storage_file dir storage_stub_file)
+(typetransition vold mnt_media_rw_file dir mnt_media_rw_stub_file)
+(allow vold vold_config_prop (file (read getattr map open)))
+(allow vold storage_config_prop (file (read getattr map open)))
+(allow vold incremental_prop (file (read getattr map open)))
+(allow vold gsid_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold vold_prop (property_service (set)))
+(allow vold vold_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold vold_status_prop (property_service (set)))
+(allow vold vold_status_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold powerctl_prop (property_service (set)))
+(allow vold powerctl_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold ctl_fuse_prop (property_service (set)))
+(allow vold ctl_fuse_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold restorecon_prop (property_service (set)))
+(allow vold restorecon_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold ota_prop (property_service (set)))
+(allow vold ota_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold boottime_prop (property_service (set)))
+(allow vold boottime_prop (file (read getattr map open)))
+(allow vold property_socket (sock_file (write)))
+(allow vold init (unix_stream_socket (connectto)))
+(allow vold boottime_public_prop (property_service (set)))
+(allow vold boottime_public_prop (file (read getattr map open)))
+(allow vold vold_key (keystore2_key (convert_storage_key_to_ephemeral delete get_info manage_blob rebind req_forced_op update use)))
+(allow vold keystore (binder (call)))
+(allow vold keystore_service (service_manager (find)))
+(allow vold keystore_maintenance_service (service_manager (find)))
+(allow vold keystore (keystore2 (early_boot_ended)))
+(allow vold keystore (keystore2 (delete_all_keys)))
+(allow vold storage_area_app_dir (dir (search)))
+(allow vold storage_area_dir (dir (ioctl read getattr open)))
+(allow vold storage_area_key_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold storage_area_key_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold system_userdir_file (dir (write add_name remove_name)))
+(allow vold vendor_userdir_file (dir (write add_name remove_name)))
+(allow vold media_userdir_file (dir (write add_name remove_name)))
+(allow vold cache_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold cache_file (file (read getattr)))
+(allow vold cache_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold base_typeattr_1050 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold base_typeattr_1050 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold base_typeattr_1050 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold sysfs (file (write lock append map open)))
+(allow vold sysfs_devices_block (file (write lock append map open)))
+(allow vold sysfs_dm (file (write lock append map open)))
+(allow vold sysfs_loop (file (write lock append map open)))
+(allow vold sysfs_usb (file (write lock append map open)))
+(allow vold sysfs_fs_f2fs (file (write lock append map open)))
+(allow vold sysfs_zram_uevent (file (write lock append map open)))
+(allow vold rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold metadata_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold metadata_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_drop_caches (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_meminfo (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_mounts (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold self (process (setexec)))
+(allow vold e2fs_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allowx vold fs_type (ioctl dir (0x5879)))
+(allowx vold file_type (ioctl dir (0x5879)))
+(allowx vold data_file_type (ioctl dir (0x6613 (range 0x6615 0x6618) 0x661a)))
+(allowx vold vold_metadata_file (ioctl file (0x660b)))
+(allowx vold vold_data_file (ioctl file (0x660b)))
+(allowx vold storage_area_key_file (ioctl file (0x660b)))
+(allowx vold vold_metadata_file (ioctl file (0xf514)))
+(allowx vold vold_data_file (ioctl file (0xf514)))
+(allowx vold storage_area_key_file (ioctl file (0xf514)))
+(allow vold self (process (setfscreate)))
+(allow vold system_file (file (getattr map execute execute_no_trans)))
+(allow vold block_device (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold device (dir (write)))
+(allow vold devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold rootfs (dir (mounton)))
+(allow vold sdcard_type (dir (mounton)))
+(allow vold fuse (dir (mounton)))
+(allow vold sdcard_type (filesystem (mount remount unmount)))
+(allow vold fuse (filesystem (mount remount unmount)))
+(allow vold sdcard_type (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold fuse (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold mnt_media_rw_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold storage_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold fuse (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold mnt_media_rw_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold storage_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold media_rw_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold media_rw_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold media_rw_data_file (dir (mounton)))
+(allowx vold media_rw_data_file (ioctl file ((range 0x581f 0x5820))))
+(allowx vold media_rw_data_file (ioctl dir ((range 0x581f 0x5820))))
+(allowx vold media_rw_data_file (ioctl file ((range 0x6601 0x6602))))
+(allowx vold media_rw_data_file (ioctl dir ((range 0x6601 0x6602))))
+(allow vold mnt_media_rw_stub_file (dir (create getattr setattr mounton rmdir)))
+(allow vold storage_stub_file (dir (create getattr setattr mounton rmdir)))
+(allow vold mnt_user_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold mnt_user_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold mnt_user_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold mnt_pass_through_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold mnt_pass_through_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold mnt_expand_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold apk_data_file (dir (create getattr setattr)))
+(allow vold shell_data_file (dir (create getattr setattr)))
+(allow vold system_userdir_file (dir (create getattr setattr)))
+(allow vold media_userdir_file (dir (ioctl read create getattr setattr open)))
+(allowx vold media_userdir_file (ioctl dir ((range 0x6601 0x6602))))
+(allow vold apk_data_file (dir (ioctl read write getattr lock mounton open watch watch_reads add_name remove_name search)))
+(allow vold apk_data_file (file (ioctl read write getattr lock append map unlink open watch watch_reads)))
+(allow vold apk_tmp_file (dir (ioctl read getattr lock mounton open watch watch_reads search)))
+(allow vold incremental_control_file (file (ioctl read getattr lock relabelto map open watch watch_reads)))
+(allow vold tmpfs (filesystem (mount unmount)))
+(allow vold tmpfs (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold tmpfs (dir (mounton)))
+(allow vold self (capability (chown dac_override dac_read_search fowner fsetid net_admin sys_admin mknod)))
+(allow vold self (cap_userns (chown dac_override dac_read_search fowner fsetid net_admin sys_admin mknod)))
+(allow vold self (netlink_kobject_uevent_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow vold loop_control_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold loop_device (blk_file (ioctl read write create getattr setattr lock append map unlink open watch watch_reads)))
+(allowx vold loop_device (ioctl blk_file ((range 0x4c00 0x4c01) (range 0x4c04 0x4c05) 0x4c82)))
+(allow vold vold_device (blk_file (ioctl read write create getattr setattr lock append map unlink open watch watch_reads)))
+(allowx vold vold_device (ioctl blk_file (0x1260 0x1277)))
+(allow vold dm_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold dm_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx vold dm_device (ioctl blk_file ((range 0x125d 0x125e) 0x1277 0x127d (range 0x1282 0x1283))))
+(allow vold domain (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold domain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold domain (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold domain (process (sigkill signal)))
+(allow vold self (capability (kill sys_ptrace)))
+(allow vold self (cap_userns (kill sys_ptrace)))
+(allow vold kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold fsck_exec (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow vold fscklogs (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow vold fscklogs (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold labeledfs (filesystem (mount remount unmount)))
+(allow vold system_data_root_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold system_data_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold system_data_file (lnk_file (getattr)))
+(allow vold vendor_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold system_data_file (file (read)))
+(allow vold kernel (process (setsched)))
+(allow vold asec_image_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold asec_image_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow vold asec_apk_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold asec_public_file (dir (setattr relabelto)))
+(allow vold asec_apk_file (file (ioctl read getattr setattr lock relabelfrom relabelto map open watch watch_reads)))
+(allow vold asec_public_file (file (setattr relabelto)))
+(allow vold unlabeled (dir (ioctl read getattr setattr lock relabelfrom open watch watch_reads search)))
+(allow vold unlabeled (file (ioctl read getattr setattr lock relabelfrom map open watch watch_reads)))
+(allow vold fusectlfs (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold fusectlfs (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow vold sysfs_wake_lock (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold self (capability2 (block_suspend)))
+(allow vold self (cap2_userns (block_suspend)))
+(allow vold system_suspend_server (binder (call transfer)))
+(allow system_suspend_server vold (binder (transfer)))
+(allow vold system_suspend_server (fd (use)))
+(allow vold system_suspend_hwservice (hwservice_manager (find)))
+(allow vold hwservicemanager (binder (call transfer)))
+(allow hwservicemanager vold (binder (call transfer)))
+(allow hwservicemanager vold (dir (search)))
+(allow hwservicemanager vold (file (read map open)))
+(allow hwservicemanager vold (process (getattr)))
+(allow vold hwservicemanager_prop (file (read getattr map open)))
+(allow vold hidl_manager_hwservice (hwservice_manager (find)))
+(allow vold hal_system_suspend_service (service_manager (find)))
+(allow vold servicemanager (binder (call transfer)))
+(allow servicemanager vold (binder (call transfer)))
+(allow servicemanager vold (dir (search)))
+(allow servicemanager vold (file (read open)))
+(allow servicemanager vold (process (getattr)))
+(allow vold servicemanager (binder (call transfer)))
+(allow servicemanager vold (binder (call transfer)))
+(allow servicemanager vold (dir (search)))
+(allow servicemanager vold (file (read open)))
+(allow servicemanager vold (process (getattr)))
+(allow vold vold_service (service_manager (add find)))
+;;* lmx 296 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_299 vold_service (service_manager (add)))
+;;* lme
+
+(allow vold fwk_vold_service (service_manager (add find)))
+;;* lmx 297 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_299 fwk_vold_service (service_manager (add)))
+;;* lme
+
+(allow vold system_server (binder (call transfer)))
+(allow system_server vold (binder (transfer)))
+(allow vold system_server (fd (use)))
+(allow vold permission_service (service_manager (find)))
+(allow vold userdata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx vold userdata_block_device (ioctl blk_file (0x127d)))
+(allow vold zoned_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold metadata_block_device (blk_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allowx vold metadata_block_device (ioctl blk_file (0x127d)))
+(allow vold unencrypted_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold unencrypted_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold proc_drop_caches (file (write lock append map open)))
+(allow vold vold_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold vold_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold vold_metadata_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold vold_metadata_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow vold init (key (write search setattr)))
+(allow vold vold (key (write search setattr)))
+(allow vold self (capability (sys_nice)))
+(allow vold self (cap_userns (sys_nice)))
+(allow vold self (capability (sys_chroot)))
+(allow vold self (cap_userns (sys_chroot)))
+(allow vold storage_file (dir (mounton)))
+(allow vold fuse_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold fuse (filesystem (relabelfrom)))
+(allow vold app_fusefs (filesystem (relabelfrom relabelto)))
+(allow vold app_fusefs (filesystem (mount unmount)))
+(allow vold app_fuse_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow vold app_fuse_file (file (read write getattr append open)))
+(allow vold toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vold user_profile_root_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold user_profile_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold misc_block_device (blk_file (write lock append map open)))
+(allow vold mnt_vendor_file (dir (search)))
+(dontaudit vold self (capability (sys_resource)))
+(dontaudit vold self (cap_userns (sys_resource)))
+(dontaudit vold self (capability (sys_rawio)))
+(allow vold gsi_metadata_file_type (dir (search)))
+(allow vold metadata_file (dir (search)))
+(allow vold gsi_public_metadata_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold proc_cmdline (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold vendor_apex_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 388 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_1051 vold_service (service_manager (find)))
+;;* lme
+
+;;* lmx 405 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_299 system_userdir_file (dir (write add_name remove_name)))
+(neverallow base_typeattr_299 vendor_userdir_file (dir (write add_name remove_name)))
+(neverallow base_typeattr_299 media_userdir_file (dir (write add_name remove_name)))
+;;* lme
+
+;;* lmx 414 system/sepolicy/private/vold.te
+
+(neverallowx base_typeattr_1052 data_file_type (ioctl dir (0x6613)))
+;;* lme
+
+;;* lmx 420 system/sepolicy/private/vold.te
+
+(neverallowx base_typeattr_299 data_file_type (ioctl dir ((range 0x6617 0x6618) 0x661a)))
+;;* lme
+
+;;* lmx 426 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_1053 vold_data_file (dir (write lock append map unlink link rename execute quotaon mounton audit_access execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 433 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_1054 vold_data_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 439 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_518 vold_metadata_file (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+;;* lmx 446 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_1055 vold_data_file (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_1055 vold_data_file (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1055 vold_data_file (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1055 vold_data_file (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 453 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_1054 vold_metadata_file (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_1054 vold_metadata_file (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1054 vold_metadata_file (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1054 vold_metadata_file (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 461 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_1056 vold_metadata_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_1056 vold_metadata_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1056 vold_metadata_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1056 vold_metadata_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1056 vold_data_file (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow base_typeattr_1056 vold_data_file (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1056 vold_data_file (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow base_typeattr_1056 vold_data_file (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 463 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_518 restorecon_prop (property_service (set)))
+;;* lme
+
+;;* lmx 476 system/sepolicy/private/vold.te
+
+(neverallow vold base_typeattr_1057 (binder (call)))
+;;* lme
+
+;;* lmx 478 system/sepolicy/private/vold.te
+
+(neverallow vold fsck_exec (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 479 system/sepolicy/private/vold.te
+
+(neverallow base_typeattr_238 vold (process (transition dyntransition)))
+;;* lme
+
+;;* lmx 480 system/sepolicy/private/vold.te
+
+(neverallow vold base_typeattr_239 (process (ptrace)))
+;;* lme
+
+;;* lmx 481 system/sepolicy/private/vold.te
+
+(neverallow vold base_typeattr_239 (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+;;* lme
+
+(allow vold vold_prepare_subdirs_exec (file (read getattr map execute open)))
+(allow vold vold_prepare_subdirs (process (transition)))
+(allow vold_prepare_subdirs vold_prepare_subdirs_exec (file (read getattr map execute open entrypoint)))
+(allow vold_prepare_subdirs vold (process (sigchld)))
+(dontaudit vold vold_prepare_subdirs (process (noatsecure)))
+(allow vold vold_prepare_subdirs (process (siginh rlimitinh)))
+(typetransition vold vold_prepare_subdirs_exec process vold_prepare_subdirs)
+(allow vold_prepare_subdirs system_file (file (execute_no_trans)))
+(allow vold_prepare_subdirs shell_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vold_prepare_subdirs toolbox_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow vold_prepare_subdirs devpts (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vold_prepare_subdirs vold (fd (use)))
+(allow vold_prepare_subdirs vold (fifo_file (read write)))
+(allow vold_prepare_subdirs file_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold_prepare_subdirs seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold_prepare_subdirs self (capability (chown dac_override dac_read_search fowner)))
+(allow vold_prepare_subdirs self (cap_userns (chown dac_override dac_read_search fowner)))
+(allow vold_prepare_subdirs self (process (setfscreate)))
+(allow vold_prepare_subdirs system_data_file (dir (read write relabelfrom open add_name remove_name rmdir)))
+(allow vold_prepare_subdirs vendor_data_file (dir (read write relabelfrom open add_name remove_name rmdir)))
+(allow vold_prepare_subdirs sdk_sandbox_system_data_file (dir (read write relabelfrom open add_name remove_name rmdir)))
+(allow vold_prepare_subdirs apex_data_file_type (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs system_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs apex_module_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs apex_rollback_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs vold_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs backup_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs fingerprint_vendor_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs face_vendor_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs iris_vendor_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs storaged_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs sdk_sandbox_system_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs sdk_sandbox_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs rollback_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs checkin_data_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs storage_area_key_file (dir (ioctl read write create getattr setattr lock relabelto rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow vold_prepare_subdirs apex_data_file_type (file (getattr unlink)))
+(allow vold_prepare_subdirs system_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs apex_module_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs apex_rollback_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs vold_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs backup_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs fingerprint_vendor_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs face_vendor_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs iris_vendor_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs storaged_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs sdk_sandbox_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs rollback_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs checkin_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs apex_art_staging_data_file (file (getattr unlink)))
+(allow vold_prepare_subdirs apex_mnt_dir (dir (read open)))
+(allow vold_prepare_subdirs mnt_expand_file (dir (search)))
+(allow vold_prepare_subdirs user_profile_data_file (dir (getattr relabelfrom search)))
+(allow vold_prepare_subdirs user_profile_root_file (dir (getattr relabelfrom relabelto search)))
+(allow vold_prepare_subdirs storage_area_app_dir (dir (ioctl read write create getattr setattr lock relabelfrom relabelto unlink open watch watch_reads add_name remove_name search rmdir)))
+(allow vold_prepare_subdirs storage_area_dir (dir (ioctl read write create getattr setattr lock relabelfrom relabelto unlink open watch watch_reads add_name remove_name search rmdir)))
+(typetransition vold_prepare_subdirs storage_area_app_dir dir storage_area_dir)
+(allow vold_prepare_subdirs selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold_prepare_subdirs selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold_prepare_subdirs selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold_prepare_subdirs selinuxfs (file (write lock append map open)))
+(allow vold_prepare_subdirs kernel (security (check_context)))
+(allowx vold_prepare_subdirs storage_area_dir (ioctl dir (0x6613)))
+;;* lmx 82 system/sepolicy/private/vold_prepare_subdirs.te
+
+(neverallowx vold_prepare_subdirs base_typeattr_1058 (ioctl dir (0x6613)))
+;;* lme
+
+(allow vold_prepare_subdirs apex_tethering_data_file (dir (relabelfrom)))
+(allow vold_prepare_subdirs apex_appsearch_data_file (dir (relabelfrom)))
+(allow vold_prepare_subdirs apex_permission_data_file (dir (relabelfrom)))
+(allow vold_prepare_subdirs apex_scheduling_data_file (dir (relabelfrom)))
+(allow vold_prepare_subdirs apex_wifi_data_file (dir (relabelfrom)))
+(allow vold_prepare_subdirs unlabeled (dir (search)))
+(dontaudit vold_prepare_subdirs proc (file (ioctl read getattr lock map open watch watch_reads)))
+(dontaudit vold_prepare_subdirs unlabeled (file (ioctl read getattr lock map open watch watch_reads)))
+(typetransition vzwomatrigger_app tmpfs file appdomain_tmpfs)
+(allow vzwomatrigger_app vzwomatrigger_app_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su vzwomatrigger_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 6 system/sepolicy/private/vzwomatrigger_app.te
+
+(neverallow base_typeattr_1059 vzwomatrigger_app_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow vzwomatrigger_app appdomain_tmpfs (file (read write getattr map execute)))
+;;* lmx 6 system/sepolicy/private/vzwomatrigger_app.te
+
+(neverallow base_typeattr_1060 base_typeattr_1059 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/vzwomatrigger_app.te
+
+(neverallow base_typeattr_1061 vzwomatrigger_app (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+;;* lmx 6 system/sepolicy/private/vzwomatrigger_app.te
+
+(neverallow base_typeattr_1062 vzwomatrigger_app (process (ptrace)))
+;;* lme
+
+(allow init watchdogd_exec (file (read getattr map execute open)))
+(allow init watchdogd (process (transition)))
+(allow watchdogd watchdogd_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init watchdogd (process (noatsecure)))
+(allow init watchdogd (process (siginh rlimitinh)))
+(typetransition init watchdogd_exec process watchdogd)
+(allow watchdogd watchdog_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow watchdogd kmsg_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(typetransition webview_zygote tmpfs file webview_zygote_tmpfs)
+(allow webview_zygote webview_zygote_tmpfs (file (read write getattr map)))
+(allow webview_zygote webview_zygote_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su webview_zygote_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 13 system/sepolicy/private/webview_zygote.te
+
+(neverallow base_typeattr_1063 webview_zygote_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow webview_zygote apk_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote apk_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow webview_zygote shared_relro_file (dir (search)))
+(allow webview_zygote shared_relro_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote self (capability (setgid setuid)))
+(allow webview_zygote self (cap_userns (setgid setuid)))
+(allow webview_zygote self (capability (setpcap)))
+(allow webview_zygote self (cap_userns (setpcap)))
+(allow webview_zygote self (process (setcurrent)))
+(allow webview_zygote isolated_app (process (dyntransition)))
+(allow webview_zygote dalvikcache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote apex_art_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote dalvikcache_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote dalvikcache_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow webview_zygote apex_art_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow webview_zygote apex_module_data_file (dir (search)))
+(allow webview_zygote vendor_apex_metadata_file (dir (search)))
+(allow webview_zygote self (process (execmem)))
+(allow webview_zygote debugfs_trace_marker (file (getattr)))
+(allow webview_zygote system_server (process (getpgid)))
+(allow webview_zygote isolated_app (process (setpgid)))
+(dontaudit webview_zygote mnt_expand_file (dir (getattr)))
+(dontaudit webview_zygote dex2oat_exec (file (execute)))
+(allow webview_zygote seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote selinuxfs (file (write lock append map open)))
+(allow webview_zygote kernel (security (check_context)))
+(allow webview_zygote selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote selinuxfs (file (write lock append map open)))
+(allow webview_zygote kernel (security (compute_av)))
+(allow webview_zygote self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow webview_zygote system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote zygote_tmpfs (file (read getattr)))
+(allow webview_zygote zygote (fd (use)))
+(allow webview_zygote zygote (process (sigchld)))
+(allow webview_zygote vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow webview_zygote vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote same_process_hal_file (file (read getattr map execute open)))
+(allow webview_zygote system_data_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote system_unsolzygote_socket (sock_file (write)))
+(allow webview_zygote system_server (unix_dgram_socket (sendto)))
+(allow webview_zygote device_config_runtime_native_prop (file (read getattr map open)))
+(allow webview_zygote device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow zygote odsign_prop (file (read getattr map open)))
+(allow webview_zygote resourcecache_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow webview_zygote resourcecache_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+;;* lmx 105 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote base_typeattr_287 (process (dyntransition)))
+;;* lme
+
+;;* lmx 108 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote base_typeattr_288 (process (transition)))
+;;* lme
+
+;;* lmx 112 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote base_typeattr_239 (file (execute_no_trans)))
+;;* lme
+
+;;* lmx 116 system/sepolicy/private/webview_zygote.te
+
+(neverallow base_typeattr_289 webview_zygote (process (dyntransition)))
+;;* lme
+
+;;* lmx 119 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote property_socket (sock_file (write)))
+;;* lme
+
+;;* lmx 120 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote property_type (property_service (set)))
+;;* lme
+
+;;* lmx 123 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote app_data_file_type (file (ioctl read write getattr lock append map execute open watch watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 129 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote base_typeattr_290 (service_manager (find)))
+;;* lme
+
+;;* lmx 132 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote gpu_device (chr_file (ioctl read write getattr lock append map execute open watch watch_reads execute_no_trans)))
+;;* lme
+
+;;* lmx 135 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote cache_file (dir (write create setattr relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access execmod watch_mount watch_sb watch_with_perm add_name remove_name reparent rmdir)))
+;;* lme
+
+;;* lmx 136 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote cache_file (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+;;* lme
+
+;;* lmx 153 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote domain (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
+(neverallow webview_zygote domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow webview_zygote domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow webview_zygote domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_readpriv nlmsg_getneigh)))
+(neverallow webview_zygote domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow webview_zygote domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
+(neverallow webview_zygote domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
+(neverallow webview_zygote domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
+(neverallow webview_zygote domain (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect association)))
+(neverallow webview_zygote domain (icmp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
+(neverallow webview_zygote domain (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (vsock_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(neverallow webview_zygote domain (xdp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+;;* lme
+
+;;* lmx 162 system/sepolicy/private/webview_zygote.te
+
+(neverallow webview_zygote bluetooth_a2dp_offload_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow webview_zygote bluetooth_audio_hal_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow webview_zygote bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow webview_zygote exported_bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lme
+
+(allow wifi_mainline_supplicant servicemanager (binder (call transfer)))
+(allow servicemanager wifi_mainline_supplicant (binder (call transfer)))
+(allow servicemanager wifi_mainline_supplicant (dir (search)))
+(allow servicemanager wifi_mainline_supplicant (file (read open)))
+(allow servicemanager wifi_mainline_supplicant (process (getattr)))
+(allow init wifi_mainline_supplicant_exec (file (read getattr map execute open)))
+(allow init wifi_mainline_supplicant (process (transition)))
+(allow wifi_mainline_supplicant wifi_mainline_supplicant_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init wifi_mainline_supplicant (process (noatsecure)))
+(allow init wifi_mainline_supplicant (process (siginh rlimitinh)))
+(typetransition init wifi_mainline_supplicant_exec process wifi_mainline_supplicant)
+(allow wifi_mainline_supplicant wifi_mainline_supplicant_service (service_manager (add find)))
+;;* lmx 6 system/sepolicy/private/wifi_mainline_supplicant.te
+
+(neverallow base_typeattr_1064 wifi_mainline_supplicant_service (service_manager (add)))
+;;* lme
+
+(allow wifi_mainline_supplicant self (capability (net_admin net_raw)))
+(allow wifi_mainline_supplicant self (cap_userns (net_admin net_raw)))
+(allow wifi_mainline_supplicant proc_net (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow wifi_mainline_supplicant sysfs_net (dir (search)))
+(allow wifi_mainline_supplicant wifi_data_file (dir (getattr search)))
+(allow wifi_mainline_supplicant mainline_supplicant_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow wifi_mainline_supplicant mainline_supplicant_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow wifi_mainline_supplicant mainline_supplicant_data_file (sock_file (write create setattr unlink)))
+(allow wifi_mainline_supplicant self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx wifi_mainline_supplicant self (ioctl udp_socket (0x6900 0x6902)))
+(allowx wifi_mainline_supplicant self (ioctl udp_socket ((range 0x890b 0x890d) 0x8911 0x8914 0x8916 0x8918 0x891a (range 0x891c 0x8920) (range 0x8922 0x8927) 0x8929 (range 0x8930 0x8932) (range 0x8934 0x8937) 0x8939 (range 0x8940 0x8941) 0x8943 (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx wifi_mainline_supplicant self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 (range 0x8b14 0x8b1d) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 (range 0x8b2a 0x8b2c) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow wifi_mainline_supplicant self (packet_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx wifi_mainline_supplicant self (ioctl packet_socket ((range 0x5401 0x5404) 0x540b (range 0x540e 0x5411) (range 0x5413 0x5414) (range 0x5450 0x5451))))
+(allowx wifi_mainline_supplicant self (ioctl packet_socket (0x6900 0x6902)))
+(allowx wifi_mainline_supplicant self (ioctl packet_socket ((range 0x8906 0x8907) (range 0x890b 0x890d) (range 0x8910 0x8927) 0x8929 (range 0x8930 0x8939) (range 0x8940 0x8943) (range 0x8946 0x894b) (range 0x8953 0x8955) (range 0x8960 0x8962) (range 0x8970 0x8971) (range 0x8980 0x8983) (range 0x8990 0x8995) (range 0x89a0 0x89a3) 0x89b0 (range 0x89e0 0x89ff))))
+(allowx wifi_mainline_supplicant self (ioctl packet_socket ((range 0x8b00 0x8b02) (range 0x8b04 0x8b1d) (range 0x8b20 0x8b2d) (range 0x8b30 0x8b36) (range 0x8be0 0x8bff))))
+(allow wifi_mainline_supplicant self (netlink_route_socket (read write create bind nlmsg_write nlmsg_readpriv)))
+(allow wifi_mainline_supplicant self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow wifi_mainline_supplicant self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow wificond property_socket (sock_file (write)))
+(allow wificond init (unix_stream_socket (connectto)))
+(allow wificond wifi_hal_prop (property_service (set)))
+(allow wificond wifi_hal_prop (file (read getattr map open)))
+(allow wificond property_socket (sock_file (write)))
+(allow wificond init (unix_stream_socket (connectto)))
+(allow wificond wifi_prop (property_service (set)))
+(allow wificond wifi_prop (file (read getattr map open)))
+(allow wificond property_socket (sock_file (write)))
+(allow wificond init (unix_stream_socket (connectto)))
+(allow wificond ctl_default_prop (property_service (set)))
+(allow wificond ctl_default_prop (file (read getattr map open)))
+(allow wificond hwservicemanager_prop (file (read getattr map open)))
+(allow wificond legacykeystore_service (service_manager (find)))
+(allow init wificond_exec (file (read getattr map execute open)))
+(allow init wificond (process (transition)))
+(allow wificond wificond_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init wificond (process (noatsecure)))
+(allow init wificond (process (siginh rlimitinh)))
+(typetransition init wificond_exec process wificond)
+(allow wificond servicemanager (binder (call transfer)))
+(allow servicemanager wificond (binder (call transfer)))
+(allow servicemanager wificond (dir (search)))
+(allow servicemanager wificond (file (read open)))
+(allow servicemanager wificond (process (getattr)))
+(allow wificond system_server (binder (call transfer)))
+(allow system_server wificond (binder (transfer)))
+(allow wificond system_server (fd (use)))
+(allow wificond keystore (binder (call transfer)))
+(allow keystore wificond (binder (transfer)))
+(allow wificond keystore (fd (use)))
+(allow wificond wifinl80211_service (service_manager (add find)))
+;;* lmx 17 system/sepolicy/private/wificond.te
+
+(neverallow base_typeattr_1065 wifinl80211_service (service_manager (add)))
+;;* lme
+
+(allow wificond self (udp_socket (ioctl read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allowx wificond self (ioctl udp_socket (0x8914 0x8924)))
+(allow wificond self (capability (net_admin net_raw)))
+(allow wificond self (cap_userns (net_admin net_raw)))
+(allow wificond self (netlink_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow wificond self (netlink_generic_socket (read write create getattr setattr lock append map bind connect getopt setopt shutdown)))
+(allow wificond proc_net_type (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow wificond proc_net_type (file (ioctl read getattr lock map open watch watch_reads)))
+(allow wificond proc_net_type (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow wificond permission_service (service_manager (find)))
+(allow wificond dumpstate (fd (use)))
+(allow wificond dumpstate (fifo_file (write)))
+(allow wificond hwservicemanager (binder (call transfer)))
+(allow hwservicemanager wificond (binder (call transfer)))
+(allow hwservicemanager wificond (dir (search)))
+(allow hwservicemanager wificond (file (read map open)))
+(allow hwservicemanager wificond (process (getattr)))
+(allow wificond system_wifi_keystore_hwservice (hwservice_manager (add find)))
+(allow wificond hidl_base_hwservice (hwservice_manager (add)))
+;;* lmx 42 system/sepolicy/private/wificond.te
+
+(neverallow base_typeattr_1065 system_wifi_keystore_hwservice (hwservice_manager (add)))
+;;* lme
+
+(allow wificond keystore_service (service_manager (find)))
+(allow wificond wifi_key (keystore2_key (get_info use)))
+(allow init zygote_exec (file (read getattr map execute open)))
+(allow init zygote (process (transition)))
+(allow zygote zygote_exec (file (read getattr map execute open entrypoint)))
+(dontaudit init zygote (process (noatsecure)))
+(allow init zygote (process (siginh rlimitinh)))
+(typetransition init zygote_exec process zygote)
+(typetransition zygote tmpfs file zygote_tmpfs)
+(allow zygote zygote_tmpfs (file (read write getattr map)))
+(allow zygote runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote self (capability (chown dac_override dac_read_search fowner setgid setuid)))
+(allow zygote self (cap_userns (chown dac_override dac_read_search fowner setgid setuid)))
+(allow zygote self (capability (setpcap)))
+(allow zygote self (cap_userns (setpcap)))
+(allow zygote self (process (setcurrent)))
+(allow zygote system_server_startup (process (dyntransition)))
+(allow zygote appdomain (process (dyntransition)))
+(allow zygote webview_zygote (process (dyntransition)))
+(allow zygote app_zygote (process (dyntransition)))
+(allow zygote appdomain (dir (getattr search)))
+(allow zygote appdomain (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote zygote_userfaultfd (anon_inode (ioctl read create)))
+(dontaudit su zygote_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lmx 27 system/sepolicy/private/zygote.te
+
+(neverallow base_typeattr_289 zygote_userfaultfd (anon_inode (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads)))
+;;* lme
+
+(allow zygote system_server (process (getpgid setpgid)))
+(allow zygote appdomain (process (getpgid setpgid)))
+(allow zygote webview_zygote (process (getpgid setpgid)))
+(allow zygote app_zygote (process (getpgid setpgid)))
+(allow zygote system_data_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote system_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote mnt_expand_file (dir (getattr)))
+(allow zygote dalvikcache_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote dalvikcache_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote dalvikcache_data_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote resourcecache_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow zygote resourcecache_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote dalvikcache_data_file (file (execute)))
+(allow zygote apex_module_data_file (dir (search)))
+(allow zygote apex_art_data_file (dir (getattr search)))
+(allow zygote apex_art_data_file (file (ioctl read getattr lock map execute open watch watch_reads)))
+(allow zygote properties_device (dir (mounton search)))
+(allow zygote system_data_file (dir (mounton search)))
+(allow zygote system_userdir_file (dir (mounton search)))
+(allow zygote user_profile_root_file (dir (mounton search)))
+(allow zygote user_profile_data_file (dir (mounton search)))
+(allow zygote media_rw_data_file (dir (mounton search)))
+(allow zygote mirror_data_file (dir (search)))
+(allow zygote mnt_expand_file (dir (read open search)))
+(allow zygote app_data_file_type (dir (getattr)))
+(allow zygote tmpfs (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote tmpfs (lnk_file (create)))
+(allow zygote tmpfs (dir (relabelfrom)))
+(allow zygote tmpfs (lnk_file (relabelfrom)))
+(allow zygote system_userdir_file (dir (relabelto)))
+(allow zygote system_data_file (dir (relabelto)))
+(allow zygote system_data_file (lnk_file (relabelto)))
+(allow zygote sdk_sandbox_system_data_file (dir (getattr relabelto search)))
+(allow zygote proc_filesystems (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote self (process (execmem)))
+(allow zygote zygote_tmpfs (file (execute)))
+(allow zygote ashmem_libcutils_device (chr_file (execute)))
+(allow zygote idmap_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow zygote dex2oat_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow zygote vendor_overlay_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote vendor_overlay_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote vendor_overlay_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote cgroup (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote cgroup (file (ioctl read getattr setattr lock map open watch watch_reads)))
+(allow zygote cgroup (lnk_file (ioctl read getattr setattr lock map open watch watch_reads)))
+(allow zygote cgroup_v2 (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote cgroup_v2 (file (ioctl read getattr setattr lock map open watch watch_reads)))
+(allow zygote cgroup_v2 (lnk_file (ioctl read getattr setattr lock map open watch watch_reads)))
+(allow zygote self (capability (sys_admin)))
+(allow zygote self (cap_userns (sys_admin)))
+(allow zygote pmsg_device (chr_file (getattr)))
+(allow zygote debugfs_trace_marker (file (getattr)))
+(allow zygote seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote selinuxfs (file (write lock append map open)))
+(allow zygote kernel (security (check_context)))
+(allow zygote selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote selinuxfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote selinuxfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote selinuxfs (file (write lock append map open)))
+(allow zygote kernel (security (compute_av)))
+(allow zygote self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
+(allow zygote proc_cpuinfo (file (mounton)))
+(allow zygote rootfs (dir (mounton)))
+(allow zygote tmpfs (filesystem (mount unmount)))
+(allow zygote fuse (filesystem (unmount)))
+(allow zygote sdcardfs (filesystem (unmount)))
+(allow zygote labeledfs (filesystem (unmount)))
+(allow zygote mnt_user_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote mnt_user_file (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote mnt_user_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote mnt_pass_through_file (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote storage_file (dir (mounton search)))
+(allow zygote sdcard_type (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote fuse (dir (ioctl read write create getattr setattr lock rename mounton open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow zygote sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote fuse (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow zygote zygote_exec (file (ioctl read getattr lock map execute open watch watch_reads execute_no_trans)))
+(allow zygote statsdw_socket (sock_file (write)))
+(allow zygote statsd (unix_dgram_socket (sendto)))
+(allow zygote rootfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote rootfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote rootfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote system_file (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote system_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote system_file (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote oemfs (dir (search)))
+(allow zygote ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote tmpfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote same_process_hal_file (file (read getattr map execute open)))
+(allow zygote build_attestation_prop (file (read getattr map open)))
+(allow zygote storage_config_prop (file (read getattr map open)))
+(allow zygote overlay_prop (file (read getattr map open)))
+(allow zygote exported_overlay_prop (file (read getattr map open)))
+(allow zygote device_config_runtime_native_prop (file (read getattr map open)))
+(allow zygote device_config_runtime_native_boot_prop (file (read getattr map open)))
+(allow zygote device_config_window_manager_native_boot_prop (file (read getattr map open)))
+(dontaudit zygote self (capability (fsetid sys_resource)))
+(dontaudit zygote self (cap_userns (fsetid sys_resource)))
+(dontaudit zygote media_rw_data_file (dir (read setattr open)))
+(allow zygote system_server (fd (use)))
+(allow zygote system_unsolzygote_socket (sock_file (write)))
+(allow zygote system_server (unix_dgram_socket (sendto)))
+(allow zygote media_variant_prop (file (read getattr map open)))
+(allow zygote odsign_prop (file (read getattr map open)))
+(allow zygote packagemanager_config_prop (file (read getattr map open)))
+(allow zygote qemu_sf_lcd_density_prop (file (read getattr map open)))
+(allow zygote persist_wm_debug_prop (file (read getattr map open)))
+(allow zygote persist_sysui_builder_extras_prop (file (read getattr map open)))
+(allow zygote persist_sysui_ranking_update_prop (file (read getattr map open)))
+(allow zygote apex_info_file (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote vendor_apex_file (dir (getattr search)))
+(allow zygote vendor_apex_file (file (getattr)))
+(allow zygote vendor_apex_metadata_file (dir (search)))
+(allow zygote sysfs_fs_f2fs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow zygote sysfs_fs_f2fs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote sysfs_fs_f2fs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow zygote system_font_fallback_file (file (ioctl read getattr lock map open watch watch_reads)))
+;;* lmx 289 system/sepolicy/private/zygote.te
+
+(neverallow zygote base_typeattr_1066 (process (dyntransition)))
+;;* lme
+
+;;* lmx 298 system/sepolicy/private/zygote.te
+
+(neverallow zygote base_typeattr_1067 (file (execute execute_no_trans)))
+;;* lme
+
+;;* lmx 306 system/sepolicy/private/zygote.te
+
+(neverallow zygote bluetooth_a2dp_offload_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow zygote bluetooth_audio_hal_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow zygote bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(neverallow zygote exported_bluetooth_prop (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+;;* lme
+
+;;* lmx 309 system/sepolicy/private/zygote.te
+
+(neverallow zygote app_data_file_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads add_name remove_name reparent search rmdir)))
+;;* lme
+
+(typetransition zygote zygote anon_inode "[userfaultfd]" zygote_userfaultfd)
+(typetransition webview_zygote webview_zygote anon_inode "[userfaultfd]" webview_zygote_userfaultfd)
+(typetransition vzwomatrigger_app vzwomatrigger_app anon_inode "[userfaultfd]" vzwomatrigger_app_userfaultfd)
+(typetransition vmlauncher_app vmlauncher_app anon_inode "[userfaultfd]" vmlauncher_app_userfaultfd)
+(typetransition untrusted_app_32 untrusted_app_32 anon_inode "[userfaultfd]" untrusted_app_32_userfaultfd)
+(typetransition untrusted_app_30 untrusted_app_30 anon_inode "[userfaultfd]" untrusted_app_30_userfaultfd)
+(typetransition untrusted_app_29 untrusted_app_29 anon_inode "[userfaultfd]" untrusted_app_29_userfaultfd)
+(typetransition untrusted_app_27 untrusted_app_27 anon_inode "[userfaultfd]" untrusted_app_27_userfaultfd)
+(typetransition untrusted_app_25 untrusted_app_25 anon_inode "[userfaultfd]" untrusted_app_25_userfaultfd)
+(typetransition untrusted_app untrusted_app anon_inode "[userfaultfd]" untrusted_app_userfaultfd)
+(typetransition traceur_app traceur_app anon_inode "[userfaultfd]" traceur_app_userfaultfd)
+(typetransition system_server system_data_file sock_file "unsolzygotesocket" system_unsolzygote_socket)
+(typetransition system_server system_data_file sock_file "ndebugsocket" system_ndebug_socket)
+(typetransition system_server system_server anon_inode "[userfaultfd]" system_server_userfaultfd)
+(typetransition system_app system_app anon_inode "[userfaultfd]" system_app_userfaultfd)
+(typetransition statsd statsd anon_inode "[io_uring]" statsd_iouring)
+(typetransition snapuserd snapuserd anon_inode "[io_uring]" snapuserd_iouring)
+(typetransition simpleperf simpleperf anon_inode "[userfaultfd]" simpleperf_userfaultfd)
+(typetransition shell shell anon_inode "[userfaultfd]" shell_userfaultfd)
+(typetransition shared_relro shared_relro anon_inode "[userfaultfd]" shared_relro_userfaultfd)
+(typetransition secure_element secure_element anon_inode "[userfaultfd]" secure_element_userfaultfd)
+(typetransition sdk_sandbox_next sdk_sandbox_next anon_inode "[userfaultfd]" sdk_sandbox_next_userfaultfd)
+(typetransition sdk_sandbox_audit sdk_sandbox_audit anon_inode "[userfaultfd]" sdk_sandbox_audit_userfaultfd)
+(typetransition sdk_sandbox_34 sdk_sandbox_34 anon_inode "[userfaultfd]" sdk_sandbox_34_userfaultfd)
+(typetransition runas_app runas_app anon_inode "[userfaultfd]" runas_app_userfaultfd)
+(typetransition rkpdapp rkpdapp anon_inode "[userfaultfd]" rkpdapp_userfaultfd)
+(typetransition radio radio anon_inode "[userfaultfd]" radio_userfaultfd)
+(typetransition priv_app priv_app anon_inode "[userfaultfd]" priv_app_userfaultfd)
+(typetransition platform_app platform_app anon_inode "[userfaultfd]" platform_app_userfaultfd)
+(typetransition permissioncontroller_app permissioncontroller_app anon_inode "[userfaultfd]" permissioncontroller_app_userfaultfd)
+(typetransition odrefresh odrefresh anon_inode "[userfaultfd]" odrefresh_userfaultfd)
+(typetransition nfc nfc anon_inode "[userfaultfd]" nfc_userfaultfd)
+(typetransition network_stack network_stack anon_inode "[userfaultfd]" network_stack_userfaultfd)
+(typetransition mediaprovider_app mediaprovider_app anon_inode "[userfaultfd]" mediaprovider_app_userfaultfd)
+(typetransition mediaprovider mediaprovider anon_inode "[userfaultfd]" mediaprovider_userfaultfd)
+(typetransition isolated_compute_app isolated_compute_app anon_inode "[userfaultfd]" isolated_compute_app_userfaultfd)
+(typetransition isolated_app isolated_app anon_inode "[userfaultfd]" isolated_app_userfaultfd)
+(typetransition incidentd incidentd anon_inode "[userfaultfd]" incidentd_userfaultfd)
+(typetransition gmscore_app gmscore_app anon_inode "[userfaultfd]" gmscore_app_userfaultfd)
+(typetransition fastbootd fastbootd anon_inode "[io_uring]" fastbootd_iouring)
+(typetransition ephemeral_app ephemeral_app anon_inode "[userfaultfd]" ephemeral_app_userfaultfd)
+(typetransition dexopt_chroot_setup dexopt_chroot_setup anon_inode "[userfaultfd]" dexopt_chroot_setup_userfaultfd)
+(typetransition dex2oat dex2oat anon_inode "[userfaultfd]" dex2oat_userfaultfd)
+(typetransition device_as_webcam device_as_webcam anon_inode "[userfaultfd]" device_as_webcam_userfaultfd)
+(typetransition bluetooth bluetooth anon_inode "[userfaultfd]" bluetooth_userfaultfd)
+(typetransition artd artd anon_inode "[userfaultfd]" artd_userfaultfd)
+(typetransition app_zygote app_zygote anon_inode "[userfaultfd]" app_zygote_userfaultfd)
+(typeattribute base_typeattr_1067)
+(typeattributeset base_typeattr_1067 (and (data_file_type ) (not (dalvikcache_data_file apex_art_data_file ))))
+(typeattribute base_typeattr_1066)
+(typeattributeset base_typeattr_1066 (not (appdomain app_zygote webview_zygote system_server_startup ) ))
+(typeattribute base_typeattr_1065)
+(typeattributeset base_typeattr_1065 (and (domain ) (not (wificond ))))
+(typeattribute base_typeattr_1064)
+(typeattributeset base_typeattr_1064 (and (domain ) (not (wifi_mainline_supplicant ))))
+(typeattribute base_typeattr_1063)
+(typeattributeset base_typeattr_1063 (and (domain ) (not (webview_zygote ))))
+(typeattribute base_typeattr_1062)
+(typeattributeset base_typeattr_1062 (and (domain ) (not (crash_dump runas_app simpleperf vzwomatrigger_app ))))
+(typeattribute base_typeattr_1061)
+(typeattributeset base_typeattr_1061 (and (appdomain ) (not (runas_app shell simpleperf vzwomatrigger_app ))))
+(typeattribute base_typeattr_1060)
+(typeattributeset base_typeattr_1060 (and (vzwomatrigger_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1059)
+(typeattributeset base_typeattr_1059 (and (domain ) (not (vzwomatrigger_app ))))
+(typeattribute base_typeattr_1058)
+(typeattributeset base_typeattr_1058 (and (data_file_type ) (not (storage_area_dir ))))
+(typeattribute base_typeattr_1057)
+(typeattributeset base_typeattr_1057 (and (domain ) (not (hal_bootctl_server hal_health_storage_server hal_keymaster_server system_suspend_server hwservicemanager keystore servicemanager system_server ))))
+(typeattribute base_typeattr_1056)
+(typeattributeset base_typeattr_1056 (and (domain ) (not (init kernel vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_1055)
+(typeattributeset base_typeattr_1055 (and (domain ) (not (kernel vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_1054)
+(typeattributeset base_typeattr_1054 (and (domain ) (not (init vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_1053)
+(typeattributeset base_typeattr_1053 (and (domain ) (not (vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_1052)
+(typeattributeset base_typeattr_1052 (and (domain ) (not (init vendor_init vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_1051)
+(typeattributeset base_typeattr_1051 (and (domain ) (not (apexd system_server update_verifier vdc vold gsid ))))
+(typeattribute base_typeattr_1050)
+(typeattributeset base_typeattr_1050 (and (sysfs_type ) (not (sysfs_batteryinfo ))))
+(typeattribute base_typeattr_1049)
+(typeattributeset base_typeattr_1049 (and (domain ) (not (servicemanager virtualizationservice ))))
+(typeattribute base_typeattr_1048)
+(typeattributeset base_typeattr_1048 (and (domain ) (not (vmnic ))))
+(typeattribute base_typeattr_1047)
+(typeattributeset base_typeattr_1047 (and (domain ) (not (crash_dump runas_app simpleperf vmlauncher_app ))))
+(typeattribute base_typeattr_1046)
+(typeattributeset base_typeattr_1046 (and (appdomain ) (not (runas_app shell simpleperf vmlauncher_app ))))
+(typeattribute base_typeattr_1045)
+(typeattributeset base_typeattr_1045 (and (vmlauncher_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1044)
+(typeattributeset base_typeattr_1044 (and (domain ) (not (vmlauncher_app ))))
+(typeattribute base_typeattr_1043)
+(typeattributeset base_typeattr_1043 (and (domain ) (not (servicemanager virtualizationmanager virtualizationservice ))))
+(typeattribute base_typeattr_1042)
+(typeattributeset base_typeattr_1042 (and (domain ) (not (crosvm virtualizationmanager virtualizationservice ))))
+(typeattribute base_typeattr_1041)
+(typeattributeset base_typeattr_1041 (and (domain ) (not (init virtualizationmanager virtualizationservice ))))
+(typeattribute base_typeattr_1040)
+(typeattributeset base_typeattr_1040 (and (domain ) (not (init virtualizationservice ))))
+(typeattribute base_typeattr_1039)
+(typeattributeset base_typeattr_1039 (and (domain ) (not (dumpstate virtualizationservice ))))
+(typeattribute base_typeattr_1038)
+(typeattributeset base_typeattr_1038 (and (domain ) (not (virtualizationservice ))))
+(typeattribute base_typeattr_1037)
+(typeattributeset base_typeattr_1037 (and (domain ) (not (dumpstate early_virtmgr init ))))
+(typeattribute base_typeattr_1036)
+(typeattributeset base_typeattr_1036 (and (domain ) (not (virtualizationmanager ))))
+(typeattribute base_typeattr_1035)
+(typeattributeset base_typeattr_1035 (and (domain ) (not (virtual_touchpad ))))
+(typeattribute base_typeattr_1034)
+(typeattributeset base_typeattr_1034 (and (domain ) (not (virtual_camera ))))
+(typeattribute base_typeattr_1033)
+(typeattributeset base_typeattr_1033 (and (domain ) (not (vfio_handler ))))
+(typeattribute base_typeattr_1032)
+(typeattributeset base_typeattr_1032 (and (coredomain ) (not (init modprobe ))))
+(typeattribute base_typeattr_1031)
+(typeattributeset base_typeattr_1031 (and (domain ) (not (init logd prng_seeder su vendor_init ))))
+(typeattribute base_typeattr_1030)
+(typeattributeset base_typeattr_1030 (and (sysfs_type ) (not (sysfs_usermodehelper ))))
+(typeattribute base_typeattr_1029)
+(typeattributeset base_typeattr_1029 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type sdcard_type rootfs proc_uid_time_in_state proc_uid_concurrent_active_time proc_uid_concurrent_policy_time ))))
+(typeattribute base_typeattr_1028)
+(typeattributeset base_typeattr_1028 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type debugfs_type sdcard_type keychord_device rootfs proc_kallsyms proc_uid_time_in_state proc_uid_concurrent_active_time proc_uid_concurrent_policy_time ))))
+(typeattribute base_typeattr_1027)
+(typeattributeset base_typeattr_1027 (and (file_type ) (not (bpffs_type exec_type core_data_file_type system_file_type system_dlkm_file_type vendor_file_type gsi_metadata_file_type vold_metadata_file password_slot_metadata_file apex_metadata_file ota_metadata_file userspace_reboot_metadata_file aconfig_storage_metadata_file aconfig_storage_flags_metadata_file mnt_product_file ))))
+(typeattribute base_typeattr_1026)
+(typeattributeset base_typeattr_1026 (and (file_type ) (not (bpffs_type exec_type core_data_file_type system_file_type system_dlkm_file_type vendor_file_type gsi_metadata_file_type unlabeled vold_metadata_file password_slot_metadata_file apex_metadata_file ota_metadata_file userspace_reboot_metadata_file aconfig_storage_metadata_file aconfig_storage_flags_metadata_file apex_mnt_dir ))))
+(typeattribute base_typeattr_1025)
+(typeattributeset base_typeattr_1025 (and (file_type ) (not (bpffs_type exec_type core_data_file_type system_file_type system_dlkm_file_type vendor_file_type gsi_metadata_file_type unlabeled vold_metadata_file password_slot_metadata_file apex_metadata_file ota_metadata_file userspace_reboot_metadata_file aconfig_storage_metadata_file aconfig_storage_flags_metadata_file ))))
+(typeattribute base_typeattr_1024)
+(typeattributeset base_typeattr_1024 (and (file_type ) (not (bpffs_type exec_type core_data_file_type system_file_type system_dlkm_file_type vendor_file_type debugfs_type gsi_metadata_file_type proc_kallsyms unlabeled vold_metadata_file password_slot_metadata_file apex_metadata_file ota_metadata_file userspace_reboot_metadata_file aconfig_storage_metadata_file aconfig_storage_flags_metadata_file runtime_event_log_tags_file apex_info_file tradeinmode_metadata_file ))))
+(typeattribute base_typeattr_1023)
+(typeattributeset base_typeattr_1023 (and (file_type ) (not (bpffs_type exec_type core_data_file_type system_file_type system_dlkm_file_type vendor_file_type gsi_metadata_file_type unlabeled vold_metadata_file password_slot_metadata_file apex_metadata_file ota_metadata_file userspace_reboot_metadata_file aconfig_storage_metadata_file aconfig_storage_flags_metadata_file mnt_product_file ))))
+(typeattribute base_typeattr_1022)
+(typeattributeset base_typeattr_1022 (and (dev_type ) (not (vm_manager_device_type keychord_device hw_random_device port_device lowpan_device ))))
+(typeattribute base_typeattr_1021)
+(typeattributeset base_typeattr_1021 (and (domain ) (not (update_engine ))))
+(typeattribute base_typeattr_1020)
+(typeattributeset base_typeattr_1020 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_32 ))))
+(typeattribute base_typeattr_1019)
+(typeattributeset base_typeattr_1019 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_32 ))))
+(typeattribute base_typeattr_1018)
+(typeattributeset base_typeattr_1018 (and (untrusted_app_32 ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1017)
+(typeattributeset base_typeattr_1017 (and (domain ) (not (untrusted_app_32 ))))
+(typeattribute base_typeattr_1016)
+(typeattributeset base_typeattr_1016 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_30 ))))
+(typeattribute base_typeattr_1015)
+(typeattributeset base_typeattr_1015 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_30 ))))
+(typeattribute base_typeattr_1014)
+(typeattributeset base_typeattr_1014 (and (untrusted_app_30 ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1013)
+(typeattributeset base_typeattr_1013 (and (domain ) (not (untrusted_app_30 ))))
+(typeattribute base_typeattr_1012)
+(typeattributeset base_typeattr_1012 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_29 ))))
+(typeattribute base_typeattr_1011)
+(typeattributeset base_typeattr_1011 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_29 ))))
+(typeattribute base_typeattr_1010)
+(typeattributeset base_typeattr_1010 (and (untrusted_app_29 ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1009)
+(typeattributeset base_typeattr_1009 (and (domain ) (not (untrusted_app_29 ))))
+(typeattribute base_typeattr_1008)
+(typeattributeset base_typeattr_1008 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_27 ))))
+(typeattribute base_typeattr_1007)
+(typeattributeset base_typeattr_1007 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_27 ))))
+(typeattribute base_typeattr_1006)
+(typeattributeset base_typeattr_1006 (and (untrusted_app_27 ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1005)
+(typeattributeset base_typeattr_1005 (and (domain ) (not (untrusted_app_27 ))))
+(typeattribute base_typeattr_1004)
+(typeattributeset base_typeattr_1004 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_25 ))))
+(typeattribute base_typeattr_1003)
+(typeattributeset base_typeattr_1003 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_25 ))))
+(typeattribute base_typeattr_1002)
+(typeattributeset base_typeattr_1002 (and (untrusted_app_25 ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_1001)
+(typeattributeset base_typeattr_1001 (and (domain ) (not (untrusted_app_25 ))))
+(typeattribute base_typeattr_1000)
+(typeattributeset base_typeattr_1000 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app ))))
+(typeattribute base_typeattr_999)
+(typeattributeset base_typeattr_999 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app ))))
+(typeattribute base_typeattr_998)
+(typeattributeset base_typeattr_998 (and (untrusted_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_997)
+(typeattributeset base_typeattr_997 (and (domain ) (not (untrusted_app ))))
+(typeattribute base_typeattr_996)
+(typeattributeset base_typeattr_996 (and (vendor_file_type ) (not (vendor_app_file vendor_overlay_file ))))
+(typeattribute base_typeattr_995)
+(typeattributeset base_typeattr_995 (and (service_manager_type ) (not (apex_service default_android_service dnsresolver_service gatekeeper_service incident_service installd_service lpdump_service mdns_service netd_service virtual_touchpad_service vold_service ))))
+(typeattribute base_typeattr_994)
+(typeattributeset base_typeattr_994 (and (domain ) (not (crash_dump runas_app simpleperf traceur_app ))))
+(typeattribute base_typeattr_993)
+(typeattributeset base_typeattr_993 (and (appdomain ) (not (runas_app shell simpleperf traceur_app ))))
+(typeattribute base_typeattr_992)
+(typeattributeset base_typeattr_992 (and (traceur_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_991)
+(typeattributeset base_typeattr_991 (and (domain ) (not (traceur_app ))))
+(typeattribute base_typeattr_990)
+(typeattributeset base_typeattr_990 (and (data_file_type ) (not (packages_list_file game_mode_intervention_list_file ))))
+(typeattribute base_typeattr_989)
+(typeattributeset base_typeattr_989 (and (data_file_type ) (not (system_data_root_file system_data_file system_userdir_file vendor_data_file vendor_userdir_file apk_data_file dalvikcache_data_file user_profile_root_file user_profile_data_file apex_module_data_file bootstat_data_file media_userdir_file update_engine_data_file update_engine_log_data_file system_app_data_file backup_data_file apex_art_data_file ))))
+(typeattribute base_typeattr_988)
+(typeattributeset base_typeattr_988 (and (domain ) (not (dumpstate perfetto platform_app shell system_server traced traceur_app ))))
+(typeattribute base_typeattr_987)
+(typeattributeset base_typeattr_987 (and (data_file_type ) (not (trace_data_file perfetto_traces_data_file ))))
+(typeattribute base_typeattr_986)
+(typeattributeset base_typeattr_986 (and (data_file_type ) (not (system_data_root_file system_data_file system_userdir_file vendor_data_file vendor_userdir_file media_userdir_file perfetto_traces_data_file ))))
+(typeattribute base_typeattr_985)
+(typeattributeset base_typeattr_985 (and (fs_type file_type ) (not (toolbox_exec ))))
+(typeattribute base_typeattr_984)
+(typeattributeset base_typeattr_984 (and (domain ) (not (dumpstate init tombstoned vendor_init ))))
+(typeattribute base_typeattr_983)
+(typeattributeset base_typeattr_983 (and (domain ) (not (system_suspend_server ))))
+(typeattribute base_typeattr_982)
+(typeattributeset base_typeattr_982 (and (domain ) (not (system_suspend_internal_server atrace dumpstate system_server traced_probes traceur_app ))))
+(typeattribute base_typeattr_981)
+(typeattributeset base_typeattr_981 (and (domain ) (not (system_suspend_internal_server ))))
+(typeattribute base_typeattr_980)
+(typeattributeset base_typeattr_980 (and (domain ) (not (atrace bluetooth dumpstate system_server traceur_app system_suspend ))))
+(typeattribute base_typeattr_979)
+(typeattributeset base_typeattr_979 (and (domain ) (not (system_suspend ))))
+(typeattribute base_typeattr_978)
+(typeattributeset base_typeattr_978 (and (domain ) (not (init shell system_server vendor_init ))))
+(typeattribute base_typeattr_977)
+(typeattributeset base_typeattr_977 (and (domain ) (not (init system_server ueventd vendor_init ))))
+(typeattribute base_typeattr_976)
+(typeattributeset base_typeattr_976 (and (dev_type ) (not (vd_device frp_block_device ))))
+(typeattribute base_typeattr_975)
+(typeattributeset base_typeattr_975 (and (dev_type ) (not (frp_block_device ))))
+(typeattribute base_typeattr_974)
+(typeattributeset base_typeattr_974 (and (domain ) (not (flags_health_check init system_server ))))
+(typeattribute base_typeattr_973)
+(typeattributeset base_typeattr_973 (and (domain ) (not (app_zygote init system_server webview_zygote zygote ))))
+(typeattribute base_typeattr_972)
+(typeattributeset base_typeattr_972 (and (domain ) (not (crash_dump init system_server ))))
+(typeattribute base_typeattr_971)
+(typeattributeset base_typeattr_971 (and (domain ) (not (crash_dump perfetto clatd trace_redactor ))))
+(typeattribute base_typeattr_970)
+(typeattributeset base_typeattr_970 (and (file_type ) (not (logcat_exec toolbox_exec pbtombstone_exec ))))
+(typeattribute base_typeattr_969)
+(typeattributeset base_typeattr_969 (and (app_data_file_type ) (not (radio_data_file system_app_data_file ))))
+(typeattribute base_typeattr_968)
+(typeattributeset base_typeattr_968 (and (domain ) (not (init system_app ))))
+(typeattribute base_typeattr_967)
+(typeattributeset base_typeattr_967 (and (service_manager_type ) (not (apex_service default_android_service dnsresolver_service dumpstate_service installd_service lpdump_service mdns_service netd_service system_suspend_control_internal_service system_suspend_control_service virtual_touchpad_service vold_service tracingproxy_service ))))
+(typeattribute base_typeattr_966)
+(typeattributeset base_typeattr_966 (and (domain ) (not (crash_dump runas_app simpleperf system_app ))))
+(typeattribute base_typeattr_965)
+(typeattributeset base_typeattr_965 (and (appdomain ) (not (runas_app shell simpleperf system_app ))))
+(typeattribute base_typeattr_964)
+(typeattributeset base_typeattr_964 (and (system_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_963)
+(typeattributeset base_typeattr_963 (and (domain ) (not (system_app ))))
+(typeattribute base_typeattr_962)
+(typeattributeset base_typeattr_962 (and (domain ) (not (surfaceflinger ))))
+(typeattribute base_typeattr_961)
+(typeattributeset base_typeattr_961 (and (domain ) (not (storaged ))))
+(typeattribute base_typeattr_960)
+(typeattributeset base_typeattr_960 (and (domain ) (not (init statsd system_server vold ))))
+(typeattribute base_typeattr_959)
+(typeattributeset base_typeattr_959 (and (domain ) (not (init statsd vold ))))
+(typeattribute base_typeattr_958)
+(typeattributeset base_typeattr_958 (and (domain ) (not (stats_service_server ))))
+(typeattribute base_typeattr_957)
+(typeattributeset base_typeattr_957 (and (domain ) (not (statsd ))))
+(typeattribute base_typeattr_956)
+(typeattributeset base_typeattr_956 (and (domain ) (not (fastbootd init recovery shell update_engine snapshotctl ))))
+(typeattribute base_typeattr_955)
+(typeattributeset base_typeattr_955 (and (domain ) (not (snapuserd ))))
+(typeattribute base_typeattr_954)
+(typeattributeset base_typeattr_954 (and (domain ) (not (init snapuserd ))))
+(typeattribute base_typeattr_953)
+(typeattributeset base_typeattr_953 (and (domain ) (not (crash_dump llkd ))))
+(typeattribute base_typeattr_952)
+(typeattributeset base_typeattr_952 (and (simpleperf ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_951)
+(typeattributeset base_typeattr_951 (and (domain ) (not (simpleperf ))))
+(typeattribute base_typeattr_950)
+(typeattributeset base_typeattr_950 (and (domain ) (not (dumpstate init shell ))))
+(typeattribute base_typeattr_949)
+(typeattributeset base_typeattr_949 (and (service_manager_type ) (not (apex_service default_android_service dnsresolver_service gatekeeper_service incident_service installd_service mdns_service netd_service system_suspend_control_internal_service system_suspend_control_service virtualization_service virtual_touchpad_service vold_service hal_keymint_service hal_secureclock_service hal_sharedsecret_service ))))
+(typeattribute base_typeattr_948)
+(typeattributeset base_typeattr_948 (and (domain ) (not (crash_dump runas_app shell simpleperf ))))
+(typeattribute base_typeattr_947)
+(typeattributeset base_typeattr_947 (and (shell ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_946)
+(typeattributeset base_typeattr_946 (and (domain ) (not (shell ))))
+(typeattribute base_typeattr_945)
+(typeattributeset base_typeattr_945 (and (domain ) (not (crash_dump runas_app shared_relro simpleperf ))))
+(typeattribute base_typeattr_944)
+(typeattributeset base_typeattr_944 (and (appdomain ) (not (runas_app shared_relro shell simpleperf ))))
+(typeattribute base_typeattr_943)
+(typeattributeset base_typeattr_943 (and (shared_relro ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_942)
+(typeattributeset base_typeattr_942 (and (domain ) (not (shared_relro ))))
+(typeattribute base_typeattr_941)
+(typeattributeset base_typeattr_941 (and (fs_type file_type ) (not (sgdisk_exec ))))
+(typeattribute base_typeattr_940)
+(typeattributeset base_typeattr_940 (and (domain ) (not (servicemanager ))))
+(typeattribute base_typeattr_939)
+(typeattributeset base_typeattr_939 (and (domain ) (not (hwservicemanager init vendor_init vndservicemanager ))))
+(typeattribute base_typeattr_938)
+(typeattributeset base_typeattr_938 (not (service_manager_type vndservice_manager_type ) ))
+(typeattribute base_typeattr_937)
+(typeattributeset base_typeattr_937 (and (domain ) (not (sensor_service_server ))))
+(typeattribute base_typeattr_936)
+(typeattributeset base_typeattr_936 (and (domain ) (not (crash_dump runas_app secure_element simpleperf ))))
+(typeattribute base_typeattr_935)
+(typeattributeset base_typeattr_935 (and (appdomain ) (not (runas_app secure_element shell simpleperf ))))
+(typeattribute base_typeattr_934)
+(typeattributeset base_typeattr_934 (and (secure_element ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_933)
+(typeattributeset base_typeattr_933 (and (domain ) (not (secure_element ))))
+(typeattribute base_typeattr_932)
+(typeattributeset base_typeattr_932 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_next ))))
+(typeattribute base_typeattr_931)
+(typeattributeset base_typeattr_931 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_next ))))
+(typeattribute base_typeattr_930)
+(typeattributeset base_typeattr_930 (and (sdk_sandbox_next ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_929)
+(typeattributeset base_typeattr_929 (and (domain ) (not (sdk_sandbox_next ))))
+(typeattribute base_typeattr_928)
+(typeattributeset base_typeattr_928 (and (property_type ) (not (system_property_type ))))
+(typeattribute base_typeattr_927)
+(typeattributeset base_typeattr_927 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_audit ))))
+(typeattribute base_typeattr_926)
+(typeattributeset base_typeattr_926 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_audit ))))
+(typeattribute base_typeattr_925)
+(typeattributeset base_typeattr_925 (and (sdk_sandbox_audit ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_924)
+(typeattributeset base_typeattr_924 (and (domain ) (not (sdk_sandbox_audit ))))
+(typeattribute base_typeattr_923)
+(typeattributeset base_typeattr_923 (and (domain ) (not (adbd sdk_sandbox_all ))))
+(typeattribute base_typeattr_922)
+(typeattributeset base_typeattr_922 (and (domain ) (not (adbd heapprofd logd netd prng_seeder tombstoned traced traced_perf sdk_sandbox_all ))))
+(typeattribute base_typeattr_921)
+(typeattributeset base_typeattr_921 (and (domain ) (not (init installd system_server vold_prepare_subdirs zygote sdk_sandbox_all ))))
+(typeattribute base_typeattr_920)
+(typeattributeset base_typeattr_920 (and (domain ) (not (init installd system_server vold_prepare_subdirs ))))
+(typeattribute base_typeattr_919)
+(typeattributeset base_typeattr_919 (and (app_data_file_type ) (not (shell_data_file radio_data_file sdk_sandbox_data_file ))))
+(typeattribute base_typeattr_918)
+(typeattributeset base_typeattr_918 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_34 ))))
+(typeattribute base_typeattr_917)
+(typeattributeset base_typeattr_917 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_34 ))))
+(typeattribute base_typeattr_916)
+(typeattributeset base_typeattr_916 (and (sdk_sandbox_34 ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_915)
+(typeattributeset base_typeattr_915 (and (domain ) (not (sdk_sandbox_34 ))))
+(typeattribute base_typeattr_914)
+(typeattributeset base_typeattr_914 (and (domain ) (not (scheduler_service_server ))))
+(typeattribute base_typeattr_913)
+(typeattributeset base_typeattr_913 (and (domain ) (not (crash_dump runas_app simpleperf ))))
+(typeattribute base_typeattr_912)
+(typeattributeset base_typeattr_912 (and (appdomain ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_911)
+(typeattributeset base_typeattr_911 (and (runas_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_910)
+(typeattributeset base_typeattr_910 (and (domain ) (not (runas_app ))))
+(typeattribute base_typeattr_909)
+(typeattributeset base_typeattr_909 (and (appdomain ) (not (system_app ))))
+(typeattribute base_typeattr_908)
+(typeattributeset base_typeattr_908 (and (domain ) (not (crash_dump rkpdapp runas_app simpleperf ))))
+(typeattribute base_typeattr_907)
+(typeattributeset base_typeattr_907 (and (appdomain ) (not (rkpdapp runas_app shell simpleperf ))))
+(typeattribute base_typeattr_906)
+(typeattributeset base_typeattr_906 (and (rkpdapp ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_905)
+(typeattributeset base_typeattr_905 (and (domain ) (not (rkpdapp ))))
+(typeattribute base_typeattr_904)
+(typeattributeset base_typeattr_904 (and (domain ) (not (rkpd ))))
+(typeattribute base_typeattr_903)
+(typeattributeset base_typeattr_903 (and (domain ) (not (rkp_cert_processor ))))
+(typeattribute base_typeattr_902)
+(typeattributeset base_typeattr_902 (and (domain ) (not (remote_provisioning_service_server ))))
+(typeattribute base_typeattr_901)
+(typeattributeset base_typeattr_901 (and (file_type ) (not (recovery_data_file ))))
+(typeattribute base_typeattr_900)
+(typeattributeset base_typeattr_900 (and (data_file_type ) (not (cache_file cache_recovery_file ))))
+(typeattribute base_typeattr_899)
+(typeattributeset base_typeattr_899 (and (domain ) (not (init radio ))))
+(typeattribute base_typeattr_898)
+(typeattributeset base_typeattr_898 (and (domain ) (not (crash_dump radio runas_app simpleperf ))))
+(typeattribute base_typeattr_897)
+(typeattributeset base_typeattr_897 (and (appdomain ) (not (radio runas_app shell simpleperf ))))
+(typeattribute base_typeattr_896)
+(typeattributeset base_typeattr_896 (and (radio ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_895)
+(typeattributeset base_typeattr_895 (and (domain ) (not (radio ))))
+(typeattribute base_typeattr_894)
+(typeattributeset base_typeattr_894 (and (appdomain ) (not (system_app device_as_webcam ))))
+(typeattribute base_typeattr_893)
+(typeattributeset base_typeattr_893 (and (domain ) (not (dumpstate init profcollectd ))))
+(typeattribute base_typeattr_892)
+(typeattributeset base_typeattr_892 (and (domain ) (not (coredomain apexd dumpstate vendor_init ))))
+(typeattribute base_typeattr_891)
+(typeattributeset base_typeattr_891 (and (domain ) (not (coredomain apexd dumpstate init ))))
+(typeattribute base_typeattr_890)
+(typeattributeset base_typeattr_890 (and (domain ) (not (init keystore rkpdapp shell system_server ))))
+(typeattribute base_typeattr_889)
+(typeattributeset base_typeattr_889 (and (domain ) (not (hal_dumpstate_server dumpstate init ))))
+(typeattribute base_typeattr_888)
+(typeattributeset base_typeattr_888 (and (domain ) (not (appdomain dumpstate init vendor_init ))))
+(typeattribute base_typeattr_887)
+(typeattributeset base_typeattr_887 (and (domain ) (not (dumpstate init system_app vendor_init ))))
+(typeattribute base_typeattr_886)
+(typeattributeset base_typeattr_886 (and (domain ) (not (init surfaceflinger ))))
+(typeattribute base_typeattr_885)
+(typeattributeset base_typeattr_885 (and (domain ) (not (appdomain hal_telephony_server init radio ))))
+(typeattribute base_typeattr_884)
+(typeattributeset base_typeattr_884 (and (domain ) (not (init shell kcmdlinectrl ))))
+(typeattribute base_typeattr_883)
+(typeattributeset base_typeattr_883 (and (domain ) (not (init shell system_app system_server mtectrl ))))
+(typeattribute base_typeattr_882)
+(typeattributeset base_typeattr_882 (and (domain ) (not (adbd init adbd_tradeinmode ))))
+(typeattribute base_typeattr_881)
+(typeattributeset base_typeattr_881 (and (domain ) (not (adbd init system_server vendor_init adbd_tradeinmode ))))
+(typeattribute base_typeattr_880)
+(typeattributeset base_typeattr_880 (and (property_type ) (not (extended_core_property_type system_property_type ))))
+(typeattribute base_typeattr_879)
+(typeattributeset base_typeattr_879 (and (coredomain ) (not (system_writes_vendor_properties_violators init ))))
+(typeattribute base_typeattr_878)
+(typeattributeset base_typeattr_878 (and (domain ) (not (appdomain coredomain hal_power_server vendor_init ))))
+(typeattribute base_typeattr_877)
+(typeattributeset base_typeattr_877 (and (core_property_type extended_core_property_type dalvik_config_prop_type exported3_system_prop systemsound_config_prop ) (not (dalvik_dynamic_config_prop debug_prop logd_prop nfc_prop powerctl_prop radio_prop ))))
+(typeattribute base_typeattr_876)
+(typeattributeset base_typeattr_876 (and (domain ) (not (hal_wifi_server dumpstate init vendor_init wificond ))))
+(typeattribute base_typeattr_875)
+(typeattributeset base_typeattr_875 (and (domain ) (not (coredomain hal_wifi_server wificond ))))
+(typeattribute base_typeattr_874)
+(typeattributeset base_typeattr_874 (and (domain ) (not (coredomain hal_camera_server cameraserver vendor_init ))))
+(typeattribute base_typeattr_873)
+(typeattributeset base_typeattr_873 (and (domain ) (not (coredomain hal_bluetooth_server bluetooth vendor_init ))))
+(typeattribute base_typeattr_872)
+(typeattributeset base_typeattr_872 (and (domain ) (not (coredomain hal_bluetooth_server bluetooth ))))
+(typeattribute base_typeattr_871)
+(typeattributeset base_typeattr_871 (and (domain ) (not (appdomain coredomain hal_telephony_server ))))
+(typeattribute base_typeattr_870)
+(typeattributeset base_typeattr_870 (and (domain ) (not (appdomain coredomain hal_telephony_server vendor_init ))))
+(typeattribute base_typeattr_869)
+(typeattributeset base_typeattr_869 (and (domain ) (not (appdomain coredomain hal_nfc_server ))))
+(typeattribute base_typeattr_868)
+(typeattributeset base_typeattr_868 (and (core_property_type extended_core_property_type exported3_system_prop exported_dumpstate_prop exported_config_prop exported_default_prop exported_system_prop usb_control_prop ) (not (nfc_prop powerctl_prop radio_prop ))))
+(typeattribute base_typeattr_867)
+(typeattributeset base_typeattr_867 (and (domain ) (not (appdomain coredomain vendor_init ))))
+(typeattribute base_typeattr_866)
+(typeattributeset base_typeattr_866 (and (domain ) (not (init misctrl ))))
+(typeattribute base_typeattr_865)
+(typeattributeset base_typeattr_865 (and (domain ) (not (crash_dump dumpstate init statsd misctrl ))))
+(typeattribute base_typeattr_864)
+(typeattributeset base_typeattr_864 (and (domain ) (not (dumpstate init ))))
+(typeattribute base_typeattr_863)
+(typeattributeset base_typeattr_863 (and (domain ) (not (extra_free_kbytes init ))))
+(typeattribute base_typeattr_862)
+(typeattributeset base_typeattr_862 (and (core_property_type ) (not (fingerprint_prop restorecon_prop usb_prop config_prop cppreopt_prop dalvik_prop debuggerd_prop dhcp_prop dumpstate_prop net_radio_prop pan_result_prop persist_debug_prop shell_prop vold_prop audio_prop debug_prop logd_prop nfc_prop ota_prop powerctl_prop radio_prop system_prop ))))
+(typeattribute base_typeattr_861)
+(typeattributeset base_typeattr_861 (and (vendor_property_type ) (not (vendor_public_property_type ))))
+(typeattribute base_typeattr_860)
+(typeattributeset base_typeattr_860 (and (vendor_property_type vendor_internal_property_type ) (not (vendor_restricted_property_type vendor_public_property_type ))))
+(typeattribute base_typeattr_859)
+(typeattributeset base_typeattr_859 (and (system_property_type ) (not (system_public_property_type ))))
+(typeattribute base_typeattr_858)
+(typeattributeset base_typeattr_858 (and (system_property_type system_internal_property_type ) (not (system_restricted_property_type system_public_property_type ))))
+(typeattribute base_typeattr_857)
+(typeattributeset base_typeattr_857 (and (property_type ) (not (system_property_type vendor_property_type ))))
+(typeattribute base_typeattr_856)
+(typeattributeset base_typeattr_856 (and (app_data_file_type ) (not (privapp_data_file ))))
+(typeattribute base_typeattr_855)
+(typeattributeset base_typeattr_855 (and (domain ) (not (crash_dump priv_app runas_app simpleperf ))))
+(typeattribute base_typeattr_854)
+(typeattributeset base_typeattr_854 (and (appdomain ) (not (priv_app runas_app shell simpleperf ))))
+(typeattribute base_typeattr_853)
+(typeattributeset base_typeattr_853 (and (priv_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_852)
+(typeattributeset base_typeattr_852 (and (domain ) (not (priv_app ))))
+(typeattribute base_typeattr_851)
+(typeattributeset base_typeattr_851 (and (domain ) (not (init shell ))))
+(typeattribute base_typeattr_850)
+(typeattributeset base_typeattr_850 (and (domain ) (not (recovery update_engine ))))
+(typeattribute base_typeattr_849)
+(typeattributeset base_typeattr_849 (and (domain ) (not (crash_dump platform_app runas_app simpleperf ))))
+(typeattribute base_typeattr_848)
+(typeattributeset base_typeattr_848 (and (appdomain ) (not (platform_app runas_app shell simpleperf ))))
+(typeattribute base_typeattr_847)
+(typeattributeset base_typeattr_847 (and (platform_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_846)
+(typeattributeset base_typeattr_846 (and (domain ) (not (platform_app ))))
+(typeattribute base_typeattr_845)
+(typeattributeset base_typeattr_845 (and (domain ) (not (crash_dump runas_app simpleperf permissioncontroller_app ))))
+(typeattribute base_typeattr_844)
+(typeattributeset base_typeattr_844 (and (appdomain ) (not (runas_app shell simpleperf permissioncontroller_app ))))
+(typeattribute base_typeattr_843)
+(typeattributeset base_typeattr_843 (and (permissioncontroller_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_842)
+(typeattributeset base_typeattr_842 (and (domain ) (not (permissioncontroller_app ))))
+(typeattribute base_typeattr_841)
+(typeattributeset base_typeattr_841 (and (domain ) (not (performanced ))))
+(typeattribute base_typeattr_840)
+(typeattributeset base_typeattr_840 (and (data_file_type ) (not (perfetto_traces_data_file perfetto_traces_bugreport_data_file perfetto_traces_profiling_data_file perfetto_configs_data_file ))))
+(typeattribute base_typeattr_839)
+(typeattributeset base_typeattr_839 (and (system_data_file ) (not (perfetto_traces_data_file perfetto_traces_profiling_data_file ))))
+(typeattribute base_typeattr_838)
+(typeattributeset base_typeattr_838 (and (data_file_type ) (not (system_data_root_file system_data_file system_userdir_file vendor_data_file vendor_userdir_file media_userdir_file perfetto_traces_data_file perfetto_traces_bugreport_data_file perfetto_traces_profiling_data_file perfetto_configs_data_file ))))
+(typeattribute base_typeattr_837)
+(typeattributeset base_typeattr_837 (and (domain ) (not (adbd incidentd init perfetto shell traced trace_redactor ))))
+(typeattribute base_typeattr_836)
+(typeattributeset base_typeattr_836 (and (domain ) (not (adbd dumpstate incidentd init perfetto priv_app shell system_server traced trace_redactor ))))
+(typeattribute base_typeattr_835)
+(typeattributeset base_typeattr_835 (and (domain ) (not (init vendor_init ot_daemon ))))
+(typeattribute base_typeattr_834)
+(typeattributeset base_typeattr_834 (and (domain ) (not (ot_daemon ))))
+(typeattribute base_typeattr_833)
+(typeattributeset base_typeattr_833 (and (domain ) (not (init odsign ))))
+(typeattribute base_typeattr_832)
+(typeattributeset base_typeattr_832 (and (domain ) (not (init system_server odrefresh ))))
+(typeattribute base_typeattr_831)
+(typeattributeset base_typeattr_831 (and (domain ) (not (artd init system_server odrefresh ))))
+(typeattribute base_typeattr_830)
+(typeattributeset base_typeattr_830 (and (domain ) (not (init compos_fd_server odrefresh ))))
+(typeattribute base_typeattr_829)
+(typeattributeset base_typeattr_829 (and (domain ) (not (odrefresh ))))
+(typeattribute base_typeattr_828)
+(typeattributeset base_typeattr_828 (and (domain ) (not (crash_dump nfc runas_app simpleperf ))))
+(typeattribute base_typeattr_827)
+(typeattributeset base_typeattr_827 (and (appdomain ) (not (nfc runas_app shell simpleperf ))))
+(typeattribute base_typeattr_826)
+(typeattributeset base_typeattr_826 (and (nfc ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_825)
+(typeattributeset base_typeattr_825 (and (domain ) (not (nfc ))))
+(typeattribute base_typeattr_824)
+(typeattributeset base_typeattr_824 (and (domain ) (not (crash_dump network_stack runas_app simpleperf ))))
+(typeattribute base_typeattr_823)
+(typeattributeset base_typeattr_823 (and (appdomain ) (not (network_stack runas_app shell simpleperf ))))
+(typeattribute base_typeattr_822)
+(typeattributeset base_typeattr_822 (and (network_stack ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_821)
+(typeattributeset base_typeattr_821 (and (domain ) (not (network_stack ))))
+(typeattribute base_typeattr_820)
+(typeattributeset base_typeattr_820 (and (domain ) (not (init netd ))))
+(typeattribute base_typeattr_819)
+(typeattributeset base_typeattr_819 (and (domain ) (not (dumpstate init netd ))))
+(typeattribute base_typeattr_818)
+(typeattributeset base_typeattr_818 (and (domain ) (not (dumpstate netd netutils_wrapper network_stack system_server ))))
+(typeattribute base_typeattr_817)
+(typeattributeset base_typeattr_817 (and (domain ) (not (netd ))))
+(typeattribute base_typeattr_816)
+(typeattributeset base_typeattr_816 (and (netdomain ) (not (untrusted_app_all ephemeral_app mediaprovider priv_app sdk_sandbox_all ))))
+(typeattribute base_typeattr_815)
+(typeattributeset base_typeattr_815 (and (netdomain ) (not (ephemeral_app sdk_sandbox_all ))))
+(typeattribute base_typeattr_814)
+(typeattributeset base_typeattr_814 (and (domain ) (not (mmd ))))
+(typeattribute base_typeattr_813)
+(typeattributeset base_typeattr_813 (and (mlstrustedsubject ) (not (adbd artd installd runas system_server vold vold_prepare_subdirs zygote ))))
+(typeattribute base_typeattr_812)
+(typeattributeset base_typeattr_812 (and (mlstrustedsubject ) (not (adbd artd installd runas system_server zygote ))))
+(typeattribute base_typeattr_811)
+(typeattributeset base_typeattr_811 (and (mlstrustedsubject ) (not (artd installd vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_810)
+(typeattributeset base_typeattr_810 (and (mlstrustedsubject ) (not (artd installd ))))
+(typeattribute base_typeattr_809)
+(typeattributeset base_typeattr_809 (and (domain ) (not (microfuchsiad ))))
+(typeattribute base_typeattr_808)
+(typeattributeset base_typeattr_808 (and (domain ) (not (mediatuner ))))
+(typeattribute base_typeattr_807)
+(typeattributeset base_typeattr_807 (and (domain ) (not (mediatranscoding ))))
+(typeattribute base_typeattr_806)
+(typeattributeset base_typeattr_806 (and (domain ) (not (mediaserver ))))
+(typeattribute base_typeattr_805)
+(typeattributeset base_typeattr_805 (and (domain ) (not (crash_dump runas_app simpleperf mediaprovider_app ))))
+(typeattribute base_typeattr_804)
+(typeattributeset base_typeattr_804 (and (appdomain ) (not (runas_app shell simpleperf mediaprovider_app ))))
+(typeattribute base_typeattr_803)
+(typeattributeset base_typeattr_803 (and (mediaprovider_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_802)
+(typeattributeset base_typeattr_802 (and (domain ) (not (mediaprovider_app ))))
+(typeattribute base_typeattr_801)
+(typeattributeset base_typeattr_801 (and (domain ) (not (crash_dump mediaprovider runas_app simpleperf ))))
+(typeattribute base_typeattr_800)
+(typeattributeset base_typeattr_800 (and (appdomain ) (not (mediaprovider runas_app shell simpleperf ))))
+(typeattribute base_typeattr_799)
+(typeattributeset base_typeattr_799 (and (mediaprovider ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_798)
+(typeattributeset base_typeattr_798 (and (domain ) (not (mediaprovider ))))
+(typeattribute base_typeattr_797)
+(typeattributeset base_typeattr_797 (and (domain ) (not (mediametrics ))))
+(typeattribute base_typeattr_796)
+(typeattributeset base_typeattr_796 (and (domain ) (not (mediaextractor ))))
+(typeattribute base_typeattr_795)
+(typeattributeset base_typeattr_795 (and (domain ) (not (mediadrmserver ))))
+(typeattribute base_typeattr_794)
+(typeattributeset base_typeattr_794 (and (domain ) (not (dumpstate servicemanager shell lpdumpd ))))
+(typeattribute base_typeattr_793)
+(typeattributeset base_typeattr_793 (and (domain ) (not (dumpstate shell lpdumpd ))))
+(typeattribute base_typeattr_792)
+(typeattributeset base_typeattr_792 (and (domain ) (not (lpdumpd ))))
+(typeattribute base_typeattr_791)
+(typeattributeset base_typeattr_791 (and (domain ) (not (dumpstate incidentd init ))))
+(typeattribute base_typeattr_790)
+(typeattributeset base_typeattr_790 (and (domain ) (not (init logd ))))
+(typeattribute base_typeattr_789)
+(typeattributeset base_typeattr_789 (and (app_data_file_type system_data_file packages_list_file ) (not (shell_data_file ))))
+(typeattribute base_typeattr_788)
+(typeattributeset base_typeattr_788 (and (domain ) (not (logd ))))
+(typeattribute base_typeattr_787)
+(typeattributeset base_typeattr_787 (and (appdomain ) (not (bluetooth platform_app priv_app radio shell system_app ))))
+(typeattribute base_typeattr_786)
+(typeattributeset base_typeattr_786 (and (domain ) (not (appdomain bootstat dumpstate init logd servicemanager surfaceflinger system_server zygote ))))
+(typeattribute base_typeattr_785)
+(typeattributeset base_typeattr_785 (and (file_type ) (not (runtime_event_log_tags_file shell_data_file ))))
+(typeattribute base_typeattr_784)
+(typeattributeset base_typeattr_784 (and (domain ) (not (init lmkd vendor_init ))))
+(typeattribute base_typeattr_783)
+(typeattributeset base_typeattr_783 (and (domain ) (not (init dexopt_chroot_setup linkerconfig otapreopt_chroot ))))
+(typeattribute base_typeattr_782)
+(typeattributeset base_typeattr_782 (and (domain ) (not (init keystore ))))
+(typeattribute base_typeattr_781)
+(typeattributeset base_typeattr_781 (and (domain ) (not (keystore ))))
+(typeattribute base_typeattr_780)
+(typeattributeset base_typeattr_780 (and (domain ) (not (crash_dump isolated_compute_app runas_app simpleperf ))))
+(typeattribute base_typeattr_779)
+(typeattributeset base_typeattr_779 (and (appdomain ) (not (isolated_compute_app runas_app shell simpleperf ))))
+(typeattribute base_typeattr_778)
+(typeattributeset base_typeattr_778 (and (isolated_compute_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_777)
+(typeattributeset base_typeattr_777 (and (domain ) (not (isolated_compute_app ))))
+(typeattribute base_typeattr_776)
+(typeattributeset base_typeattr_776 (and (sysfs_type ) (not (sysfs_transparent_hugepage sysfs_usb sysfs_fs_fuse_features sysfs_fs_incfs_features sysfs_devices_system_cpu sysfs_pgsize_migration ))))
+(typeattribute base_typeattr_775)
+(typeattributeset base_typeattr_775 (and (service_manager_type ) (not (activity_service display_service webviewupdate_service ))))
+(typeattribute base_typeattr_774)
+(typeattributeset base_typeattr_774 (and (isolated_app_all ) (not (isolated_compute_app ))))
+(typeattribute base_typeattr_773)
+(typeattributeset base_typeattr_773 (and (domain ) (not (crash_dump isolated_app runas_app simpleperf ))))
+(typeattribute base_typeattr_772)
+(typeattributeset base_typeattr_772 (and (appdomain ) (not (isolated_app runas_app shell simpleperf ))))
+(typeattribute base_typeattr_771)
+(typeattributeset base_typeattr_771 (and (isolated_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_770)
+(typeattributeset base_typeattr_770 (and (domain ) (not (servicemanager system_server ))))
+(typeattribute base_typeattr_769)
+(typeattributeset base_typeattr_769 (and (domain ) (not (dumpstate servicemanager system_server ))))
+(typeattribute base_typeattr_768)
+(typeattributeset base_typeattr_768 (and (domain ) (not (dumpstate installd system_server ))))
+(typeattribute base_typeattr_767)
+(typeattributeset base_typeattr_767 (and (domain ) (not (installd ))))
+(typeattribute base_typeattr_766)
+(typeattributeset base_typeattr_766 (and (domain ) (not (init toolbox vendor_init vold ))))
+(typeattribute base_typeattr_765)
+(typeattributeset base_typeattr_765 (and (fs_type file_type ) (not (init_exec ))))
+(typeattribute base_typeattr_764)
+(typeattributeset base_typeattr_764 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type sdcard_type rootfs ))))
+(typeattribute base_typeattr_763)
+(typeattributeset base_typeattr_763 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type proc_type sysfs_type debugfs_type sdcard_type keychord_device rootfs ))))
+(typeattribute base_typeattr_762)
+(typeattributeset base_typeattr_762 (and (file_type ) (not (bpffs_type exec_type system_file_type system_dlkm_file_type vendor_file_type app_data_file privapp_data_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattribute base_typeattr_761)
+(typeattributeset base_typeattr_761 (and (file_type ) (not (bpffs_type exec_type system_file_type system_dlkm_file_type vendor_file_type shell_data_file nativetest_data_file apex_mnt_dir credstore_data_file keystore_data_file vold_data_file gsi_data_file app_data_file privapp_data_file system_app_data_file misc_logd_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattribute base_typeattr_760)
+(typeattributeset base_typeattr_760 (and (file_type ) (not (bpffs_type exec_type system_file_type system_dlkm_file_type vendor_file_type shell_data_file nativetest_data_file credstore_data_file keystore_data_file vold_data_file gsi_data_file app_data_file privapp_data_file system_app_data_file misc_logd_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattribute base_typeattr_759)
+(typeattributeset base_typeattr_759 (and (file_type ) (not (bpffs_type exec_type system_file_type system_dlkm_file_type vendor_file_type debugfs_type runtime_event_log_tags_file shell_data_file nativetest_data_file apex_info_file credstore_data_file keystore_data_file vold_data_file gsi_data_file app_data_file privapp_data_file system_app_data_file misc_logd_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattribute base_typeattr_758)
+(typeattributeset base_typeattr_758 (and (file_type ) (not (bpffs_type exec_type system_file_type system_dlkm_file_type vendor_file_type system_userdir_file vendor_userdir_file shell_data_file nativetest_data_file credstore_data_file keystore_data_file media_userdir_file vold_data_file app_data_file privapp_data_file system_app_data_file misc_logd_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattribute base_typeattr_757)
+(typeattributeset base_typeattr_757 (and (file_type ) (not (bpffs_type exec_type system_file_type system_dlkm_file_type vendor_file_type nativetest_data_file app_data_file privapp_data_file system_app_data_file misc_logd_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattribute base_typeattr_756)
+(typeattributeset base_typeattr_756 (and (fs_type ) (not (debugfs_type ))))
+(typeattribute base_typeattr_755)
+(typeattributeset base_typeattr_755 (and (dev_type ) (not (vm_manager_device_type keychord_device hw_random_device port_device ))))
+(typeattribute base_typeattr_754)
+(typeattributeset base_typeattr_754 (and (domain ) (not (incidentd init system_server vold ))))
+(typeattribute base_typeattr_753)
+(typeattributeset base_typeattr_753 (and (domain ) (not (incidentd init vold ))))
+(typeattribute base_typeattr_752)
+(typeattributeset base_typeattr_752 (and (system_server_service app_api_service system_api_service ) (not (tracingproxy_service ))))
+(typeattribute base_typeattr_751)
+(typeattributeset base_typeattr_751 (and (domain ) (not (incidentd ))))
+(typeattribute base_typeattr_750)
+(typeattributeset base_typeattr_750 (and (domain ) (not (incident_helper incidentd shell ))))
+(typeattribute base_typeattr_749)
+(typeattributeset base_typeattr_749 (and (domain ) (not (dumpstate incident shell su ))))
+(typeattribute base_typeattr_748)
+(typeattributeset base_typeattr_748 (and (domain ) (not (idmap ))))
+(typeattribute base_typeattr_747)
+(typeattributeset base_typeattr_747 (and (domain ) (not (hwservicemanager ))))
+(typeattribute base_typeattr_746)
+(typeattributeset base_typeattr_746 (not (hwservice_manager_type ) ))
+(typeattribute base_typeattr_745)
+(typeattributeset base_typeattr_745 (and (vendor_file_type ) (not (vndk_sp_file ))))
+(typeattribute base_typeattr_744)
+(typeattributeset base_typeattr_744 (and (domain ) (not (hal_wifi_supplicant_client hal_wifi_supplicant_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_743)
+(typeattributeset base_typeattr_743 (and (domain ) (not (hal_wifi_supplicant_client hal_wifi_supplicant_server ))))
+(typeattribute base_typeattr_742)
+(typeattributeset base_typeattr_742 (and (domain ) (not (hal_wifi_supplicant_server ))))
+(typeattribute base_typeattr_741)
+(typeattributeset base_typeattr_741 (and (domain ) (not (hal_wifi_hostapd_client hal_wifi_hostapd_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_740)
+(typeattributeset base_typeattr_740 (and (domain ) (not (hal_wifi_hostapd_client hal_wifi_hostapd_server ))))
+(typeattribute base_typeattr_739)
+(typeattributeset base_typeattr_739 (and (domain ) (not (hal_wifi_hostapd_server ))))
+(typeattribute base_typeattr_738)
+(typeattributeset base_typeattr_738 (and (domain ) (not (hal_wifi_client hal_wifi_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_737)
+(typeattributeset base_typeattr_737 (and (domain ) (not (hal_wifi_client hal_wifi_server ))))
+(typeattribute base_typeattr_736)
+(typeattributeset base_typeattr_736 (and (domain ) (not (hal_wifi_server ))))
+(typeattribute base_typeattr_735)
+(typeattributeset base_typeattr_735 (and (domain ) (not (hal_weaver_client hal_weaver_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_734)
+(typeattributeset base_typeattr_734 (and (domain ) (not (hal_weaver_client hal_weaver_server ))))
+(typeattribute base_typeattr_733)
+(typeattributeset base_typeattr_733 (and (domain ) (not (hal_weaver_server ))))
+(typeattribute base_typeattr_732)
+(typeattributeset base_typeattr_732 (and (domain ) (not (hal_vr_client hal_vr_server ))))
+(typeattribute base_typeattr_731)
+(typeattributeset base_typeattr_731 (and (domain ) (not (hal_vr_server ))))
+(typeattribute base_typeattr_730)
+(typeattributeset base_typeattr_730 (and (domain ) (not (hal_vm_capabilities_client hal_vm_capabilities_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_729)
+(typeattributeset base_typeattr_729 (and (domain ) (not (hal_vm_capabilities_server ))))
+(typeattribute base_typeattr_728)
+(typeattributeset base_typeattr_728 (and (domain ) (not (hal_vibrator_client hal_vibrator_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_727)
+(typeattributeset base_typeattr_727 (and (domain ) (not (hal_vibrator_client hal_vibrator_server ))))
+(typeattribute base_typeattr_726)
+(typeattributeset base_typeattr_726 (and (domain ) (not (hal_vibrator_server ))))
+(typeattribute base_typeattr_725)
+(typeattributeset base_typeattr_725 (and (domain ) (not (hal_vehicle_client hal_vehicle_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_724)
+(typeattributeset base_typeattr_724 (and (domain ) (not (hal_vehicle_client hal_vehicle_server ))))
+(typeattribute base_typeattr_723)
+(typeattributeset base_typeattr_723 (and (domain ) (not (hal_vehicle_server ))))
+(typeattribute base_typeattr_722)
+(typeattributeset base_typeattr_722 (and (domain ) (not (hal_uwb_client hal_uwb_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_721)
+(typeattributeset base_typeattr_721 (and (domain ) (not (hal_uwb_server ))))
+(typeattribute base_typeattr_720)
+(typeattributeset base_typeattr_720 (and (domain ) (not (hal_usb_gadget_client hal_usb_gadget_server ))))
+(typeattribute base_typeattr_719)
+(typeattributeset base_typeattr_719 (and (domain ) (not (hal_usb_gadget_client hal_usb_gadget_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_718)
+(typeattributeset base_typeattr_718 (and (domain ) (not (hal_usb_gadget_server ))))
+(typeattribute base_typeattr_717)
+(typeattributeset base_typeattr_717 (and (domain ) (not (hal_usb_client hal_usb_server ))))
+(typeattribute base_typeattr_716)
+(typeattributeset base_typeattr_716 (and (domain ) (not (hal_usb_client hal_usb_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_715)
+(typeattributeset base_typeattr_715 (and (domain ) (not (hal_usb_server ))))
+(typeattribute base_typeattr_714)
+(typeattributeset base_typeattr_714 (and (domain ) (not (hal_tv_tuner_client hal_tv_tuner_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_713)
+(typeattributeset base_typeattr_713 (and (domain ) (not (hal_tv_tuner_client hal_tv_tuner_server ))))
+(typeattribute base_typeattr_712)
+(typeattributeset base_typeattr_712 (and (domain ) (not (hal_tv_tuner_server ))))
+(typeattribute base_typeattr_711)
+(typeattributeset base_typeattr_711 (and (domain ) (not (hal_tv_input_client hal_tv_input_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_710)
+(typeattributeset base_typeattr_710 (and (domain ) (not (hal_tv_input_client hal_tv_input_server ))))
+(typeattribute base_typeattr_709)
+(typeattributeset base_typeattr_709 (and (domain ) (not (hal_tv_input_server ))))
+(typeattribute base_typeattr_708)
+(typeattributeset base_typeattr_708 (and (domain ) (not (hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_707)
+(typeattributeset base_typeattr_707 (and (domain ) (not (hal_tv_hdmi_earc_server ))))
+(typeattribute base_typeattr_706)
+(typeattributeset base_typeattr_706 (and (domain ) (not (hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_705)
+(typeattributeset base_typeattr_705 (and (domain ) (not (hal_tv_hdmi_connection_server ))))
+(typeattribute base_typeattr_704)
+(typeattributeset base_typeattr_704 (and (domain ) (not (hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_703)
+(typeattributeset base_typeattr_703 (and (domain ) (not (hal_tv_hdmi_cec_server ))))
+(typeattribute base_typeattr_702)
+(typeattributeset base_typeattr_702 (and (domain ) (not (hal_tv_cec_client hal_tv_cec_server ))))
+(typeattribute base_typeattr_701)
+(typeattributeset base_typeattr_701 (and (domain ) (not (hal_tv_cec_server ))))
+(typeattribute base_typeattr_700)
+(typeattributeset base_typeattr_700 (and (domain ) (not (hal_threadnetwork_client hal_threadnetwork_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_699)
+(typeattributeset base_typeattr_699 (and (domain ) (not (hal_threadnetwork_server ))))
+(typeattribute base_typeattr_698)
+(typeattributeset base_typeattr_698 (and (domain ) (not (hal_thermal_client hal_thermal_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_697)
+(typeattributeset base_typeattr_697 (and (domain ) (not (hal_thermal_client hal_thermal_server ))))
+(typeattribute base_typeattr_696)
+(typeattributeset base_typeattr_696 (and (domain ) (not (hal_thermal_server ))))
+(typeattribute base_typeattr_695)
+(typeattributeset base_typeattr_695 (and (domain ) (not (hal_tetheroffload_client hal_tetheroffload_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_694)
+(typeattributeset base_typeattr_694 (and (domain ) (not (hal_tetheroffload_client hal_tetheroffload_server ))))
+(typeattribute base_typeattr_693)
+(typeattributeset base_typeattr_693 (and (domain ) (not (hal_tetheroffload_server ))))
+(typeattribute base_typeattr_692)
+(typeattributeset base_typeattr_692 (and (domain ) (not (hal_telephony_client hal_telephony_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_691)
+(typeattributeset base_typeattr_691 (and (domain ) (not (hal_telephony_client hal_telephony_server ))))
+(typeattribute base_typeattr_690)
+(typeattributeset base_typeattr_690 (and (domain ) (not (hal_telephony_server ))))
+(typeattribute base_typeattr_689)
+(typeattributeset base_typeattr_689 (and (domain ) (not (hal_sensors_client hal_sensors_server ))))
+(typeattribute base_typeattr_688)
+(typeattributeset base_typeattr_688 (and (domain ) (not (hal_sensors_server ))))
+(typeattribute base_typeattr_687)
+(typeattributeset base_typeattr_687 (and (domain ) (not (hal_secure_element_client hal_secure_element_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_686)
+(typeattributeset base_typeattr_686 (and (domain ) (not (hal_secure_element_client hal_secure_element_server ))))
+(typeattribute base_typeattr_685)
+(typeattributeset base_typeattr_685 (and (domain ) (not (hal_secure_element_server ))))
+(typeattribute base_typeattr_684)
+(typeattributeset base_typeattr_684 (and (domain ) (not (hal_secretkeeper_client hal_secretkeeper_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_683)
+(typeattributeset base_typeattr_683 (and (domain ) (not (hal_secretkeeper_server ))))
+(typeattribute base_typeattr_682)
+(typeattributeset base_typeattr_682 (and (domain ) (not (hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_681)
+(typeattributeset base_typeattr_681 (and (domain ) (not (hal_remotelyprovisionedcomponent_avf_server ))))
+(typeattribute base_typeattr_680)
+(typeattributeset base_typeattr_680 (and (domain ) (not (hal_remoteaccess_client hal_remoteaccess_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_679)
+(typeattributeset base_typeattr_679 (and (domain ) (not (hal_remoteaccess_server ))))
+(typeattribute base_typeattr_678)
+(typeattributeset base_typeattr_678 (and (domain ) (not (hal_rebootescrow_client hal_rebootescrow_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_677)
+(typeattributeset base_typeattr_677 (and (domain ) (not (hal_rebootescrow_server ))))
+(typeattribute base_typeattr_676)
+(typeattributeset base_typeattr_676 (and (domain ) (not (hal_power_stats_client hal_power_stats_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_675)
+(typeattributeset base_typeattr_675 (and (domain ) (not (hal_power_stats_client hal_power_stats_server ))))
+(typeattribute base_typeattr_674)
+(typeattributeset base_typeattr_674 (and (domain ) (not (hal_power_stats_server ))))
+(typeattribute base_typeattr_673)
+(typeattributeset base_typeattr_673 (and (domain ) (not (hal_power_client hal_power_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_672)
+(typeattributeset base_typeattr_672 (and (domain ) (not (hal_power_client hal_power_server ))))
+(typeattribute base_typeattr_671)
+(typeattributeset base_typeattr_671 (and (domain ) (not (hal_power_server ))))
+(typeattribute base_typeattr_670)
+(typeattributeset base_typeattr_670 (and (domain ) (not (hal_omx_client hal_omx_server ))))
+(typeattribute base_typeattr_669)
+(typeattributeset base_typeattr_669 (and (domain ) (not (hal_omx_server ))))
+(typeattribute base_typeattr_668)
+(typeattributeset base_typeattr_668 (and (domain ) (not (hal_oemlock_client hal_oemlock_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_667)
+(typeattributeset base_typeattr_667 (and (domain ) (not (hal_oemlock_client hal_oemlock_server ))))
+(typeattribute base_typeattr_666)
+(typeattributeset base_typeattr_666 (and (domain ) (not (hal_oemlock_server ))))
+(typeattribute base_typeattr_665)
+(typeattributeset base_typeattr_665 (and (domain ) (not (hal_nlinterceptor_client hal_nlinterceptor_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_664)
+(typeattributeset base_typeattr_664 (and (domain ) (not (hal_nlinterceptor_server ))))
+(typeattribute base_typeattr_663)
+(typeattributeset base_typeattr_663 (and (domain ) (not (hal_nfc_client hal_nfc_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_662)
+(typeattributeset base_typeattr_662 (and (domain ) (not (hal_nfc_client hal_nfc_server ))))
+(typeattribute base_typeattr_661)
+(typeattributeset base_typeattr_661 (and (domain ) (not (hal_nfc_server ))))
+(typeattribute base_typeattr_660)
+(typeattributeset base_typeattr_660 (and (fs_type file_type ) (not (shell_exec toolbox_exec ))))
+(typeattribute base_typeattr_659)
+(typeattributeset base_typeattr_659 (and (halserverdomain ) (not (hal_dumpstate_server hal_telephony_server ))))
+(typeattribute base_typeattr_658)
+(typeattributeset base_typeattr_658 (and (halserverdomain ) (not (hal_automotive_socket_exemption hal_bluetooth_server hal_can_controller_server hal_nlinterceptor_server hal_telephony_server hal_tetheroffload_server hal_tv_tuner_server hal_wifi_server hal_wifi_hostapd_server hal_wifi_supplicant_server ))))
+(typeattribute base_typeattr_657)
+(typeattributeset base_typeattr_657 (and (halserverdomain ) (not (hal_automotive_socket_exemption hal_bluetooth_server hal_can_controller_server hal_nlinterceptor_server hal_telephony_server hal_tetheroffload_server hal_tv_tuner_server hal_uwb_server hal_uwb_vendor_server hal_wifi_server hal_wifi_hostapd_server hal_wifi_supplicant_server ))))
+(typeattribute base_typeattr_656)
+(typeattributeset base_typeattr_656 (and (halserverdomain ) (not (hal_bluetooth_server hal_can_controller_server hal_nlinterceptor_server hal_telephony_server hal_tv_tuner_server hal_uwb_server hal_uwb_vendor_server hal_wifi_server hal_wifi_hostapd_server hal_wifi_supplicant_server ))))
+(typeattribute base_typeattr_655)
+(typeattributeset base_typeattr_655 (and (domain ) (not (hal_neuralnetworks_client hal_neuralnetworks_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_654)
+(typeattributeset base_typeattr_654 (and (domain ) (not (hal_neuralnetworks_client hal_neuralnetworks_server ))))
+(typeattribute base_typeattr_653)
+(typeattributeset base_typeattr_653 (and (domain ) (not (hal_neuralnetworks_server ))))
+(typeattribute base_typeattr_652)
+(typeattributeset base_typeattr_652 (and (domain ) (not (hal_memtrack_client hal_memtrack_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_651)
+(typeattributeset base_typeattr_651 (and (domain ) (not (hal_memtrack_client hal_memtrack_server ))))
+(typeattribute base_typeattr_650)
+(typeattributeset base_typeattr_650 (and (domain ) (not (hal_memtrack_server ))))
+(typeattribute base_typeattr_649)
+(typeattributeset base_typeattr_649 (and (domain ) (not (hal_mediaquality_client hal_mediaquality_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_648)
+(typeattributeset base_typeattr_648 (and (domain ) (not (hal_mediaquality_server ))))
+(typeattribute base_typeattr_647)
+(typeattributeset base_typeattr_647 (and (domain ) (not (hal_macsec_client hal_macsec_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_646)
+(typeattributeset base_typeattr_646 (and (domain ) (not (hal_macsec_server ))))
+(typeattribute base_typeattr_645)
+(typeattributeset base_typeattr_645 (and (domain ) (not (hal_lowpan_server init ueventd ))))
+(typeattribute base_typeattr_644)
+(typeattributeset base_typeattr_644 (and (domain ) (not (hal_lowpan_client hal_lowpan_server ))))
+(typeattribute base_typeattr_643)
+(typeattributeset base_typeattr_643 (and (domain ) (not (hal_lowpan_server ))))
+(typeattribute base_typeattr_642)
+(typeattributeset base_typeattr_642 (and (domain ) (not (hal_light_client hal_light_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_641)
+(typeattributeset base_typeattr_641 (and (domain ) (not (hal_light_client hal_light_server ))))
+(typeattribute base_typeattr_640)
+(typeattributeset base_typeattr_640 (and (domain ) (not (hal_light_server ))))
+(typeattribute base_typeattr_639)
+(typeattributeset base_typeattr_639 (and (hal_keymint_server ) (not (coredomain ))))
+(typeattribute base_typeattr_638)
+(typeattributeset base_typeattr_638 (and (domain ) (not (hal_keymint_client hal_keymint_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_637)
+(typeattributeset base_typeattr_637 (and (domain ) (not (hal_keymint_server ))))
+(typeattribute base_typeattr_636)
+(typeattributeset base_typeattr_636 (and (domain ) (not (hal_keymaster_client hal_keymaster_server ))))
+(typeattribute base_typeattr_635)
+(typeattributeset base_typeattr_635 (and (domain ) (not (hal_keymaster_server ))))
+(typeattribute base_typeattr_634)
+(typeattributeset base_typeattr_634 (and (domain ) (not (hal_ivn_client hal_ivn_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_633)
+(typeattributeset base_typeattr_633 (and (domain ) (not (hal_ivn_server ))))
+(typeattribute base_typeattr_632)
+(typeattributeset base_typeattr_632 (and (domain ) (not (hal_ir_client hal_ir_server ))))
+(typeattribute base_typeattr_631)
+(typeattributeset base_typeattr_631 (and (domain ) (not (hal_ir_client hal_ir_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_630)
+(typeattributeset base_typeattr_630 (and (domain ) (not (hal_ir_server ))))
+(typeattribute base_typeattr_629)
+(typeattributeset base_typeattr_629 (and (domain ) (not (hal_input_processor_client hal_input_processor_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_628)
+(typeattributeset base_typeattr_628 (and (domain ) (not (hal_input_processor_server ))))
+(typeattribute base_typeattr_627)
+(typeattributeset base_typeattr_627 (and (domain ) (not (hal_input_classifier_client hal_input_classifier_server ))))
+(typeattribute base_typeattr_626)
+(typeattributeset base_typeattr_626 (and (domain ) (not (hal_input_classifier_server ))))
+(typeattribute base_typeattr_625)
+(typeattributeset base_typeattr_625 (and (domain ) (not (hal_identity_client hal_identity_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_624)
+(typeattributeset base_typeattr_624 (and (domain ) (not (hal_identity_server ))))
+(typeattribute base_typeattr_623)
+(typeattributeset base_typeattr_623 (and (domain ) (not (hal_health_storage_client hal_health_storage_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_622)
+(typeattributeset base_typeattr_622 (and (domain ) (not (hal_health_storage_client hal_health_storage_server ))))
+(typeattribute base_typeattr_621)
+(typeattributeset base_typeattr_621 (and (domain ) (not (hal_health_storage_server ))))
+(typeattribute base_typeattr_620)
+(typeattributeset base_typeattr_620 (and (domain ) (not (hal_health_client hal_health_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_619)
+(typeattributeset base_typeattr_619 (and (domain ) (not (hal_health_client hal_health_server ))))
+(typeattribute base_typeattr_618)
+(typeattributeset base_typeattr_618 (and (domain ) (not (hal_health_server ))))
+(typeattribute base_typeattr_617)
+(typeattributeset base_typeattr_617 (and (domain ) (not (hal_graphics_composer_client hal_graphics_composer_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_616)
+(typeattributeset base_typeattr_616 (and (domain ) (not (hal_graphics_composer_client hal_graphics_composer_server ))))
+(typeattribute base_typeattr_615)
+(typeattributeset base_typeattr_615 (and (domain ) (not (hal_graphics_composer_server ))))
+(typeattribute base_typeattr_614)
+(typeattributeset base_typeattr_614 (and (domain ) (not (hal_graphics_allocator_client hal_graphics_allocator_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_613)
+(typeattributeset base_typeattr_613 (and (domain ) (not (hal_graphics_allocator_client hal_graphics_allocator_server ))))
+(typeattribute base_typeattr_612)
+(typeattributeset base_typeattr_612 (and (domain ) (not (hal_graphics_allocator_server ))))
+(typeattribute base_typeattr_611)
+(typeattributeset base_typeattr_611 (and (domain ) (not (hal_gnss_client hal_gnss_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_610)
+(typeattributeset base_typeattr_610 (and (domain ) (not (hal_gnss_client hal_gnss_server ))))
+(typeattribute base_typeattr_609)
+(typeattributeset base_typeattr_609 (and (domain ) (not (hal_gnss_server ))))
+(typeattribute base_typeattr_608)
+(typeattributeset base_typeattr_608 (and (domain ) (not (hal_gatekeeper_client hal_gatekeeper_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_607)
+(typeattributeset base_typeattr_607 (and (domain ) (not (hal_gatekeeper_client hal_gatekeeper_server ))))
+(typeattribute base_typeattr_606)
+(typeattributeset base_typeattr_606 (and (domain ) (not (hal_gatekeeper_server ))))
+(typeattribute base_typeattr_605)
+(typeattributeset base_typeattr_605 (and (hal_fingerprint ) (not (coredomain ))))
+(typeattribute base_typeattr_604)
+(typeattributeset base_typeattr_604 (and (domain ) (not (hal_fingerprint_client hal_fingerprint_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_603)
+(typeattributeset base_typeattr_603 (and (domain ) (not (hal_fingerprint_client hal_fingerprint_server ))))
+(typeattribute base_typeattr_602)
+(typeattributeset base_typeattr_602 (and (domain ) (not (hal_fingerprint_server ))))
+(typeattribute base_typeattr_601)
+(typeattributeset base_typeattr_601 (and (domain ) (not (hal_fastboot_client hal_fastboot_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_600)
+(typeattributeset base_typeattr_600 (and (domain ) (not (hal_fastboot_server ))))
+(typeattribute base_typeattr_599)
+(typeattributeset base_typeattr_599 (and (hal_face ) (not (coredomain ))))
+(typeattribute base_typeattr_598)
+(typeattributeset base_typeattr_598 (and (domain ) (not (hal_face_client hal_face_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_597)
+(typeattributeset base_typeattr_597 (and (domain ) (not (hal_face_client hal_face_server ))))
+(typeattribute base_typeattr_596)
+(typeattributeset base_typeattr_596 (and (domain ) (not (hal_face_server ))))
+(typeattribute base_typeattr_595)
+(typeattributeset base_typeattr_595 (and (domain ) (not (hal_evs_client hal_evs_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_594)
+(typeattributeset base_typeattr_594 (and (domain ) (not (hal_evs_server ))))
+(typeattribute base_typeattr_593)
+(typeattributeset base_typeattr_593 (and (domain ) (not (hal_evs_server evsmanagerd ))))
+(typeattribute base_typeattr_592)
+(typeattributeset base_typeattr_592 (and (domain ) (not (hal_dumpstate_client hal_dumpstate_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_591)
+(typeattributeset base_typeattr_591 (and (domain ) (not (hal_dumpstate_client hal_dumpstate_server ))))
+(typeattribute base_typeattr_590)
+(typeattributeset base_typeattr_590 (and (domain ) (not (hal_dumpstate_server ))))
+(typeattribute base_typeattr_589)
+(typeattributeset base_typeattr_589 (and (domain ) (not (hal_drm_client hal_drm_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_588)
+(typeattributeset base_typeattr_588 (and (domain ) (not (hal_drm_client hal_drm_server ))))
+(typeattribute base_typeattr_587)
+(typeattributeset base_typeattr_587 (and (domain ) (not (hal_drm_server ))))
+(typeattribute base_typeattr_586)
+(typeattributeset base_typeattr_586 (and (domain ) (not (hal_contexthub_client hal_contexthub_server ))))
+(typeattribute base_typeattr_585)
+(typeattributeset base_typeattr_585 (and (domain ) (not (hal_contexthub_server ))))
+(typeattribute base_typeattr_584)
+(typeattributeset base_typeattr_584 (and (domain ) (not (hal_confirmationui_client hal_confirmationui_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_583)
+(typeattributeset base_typeattr_583 (and (domain ) (not (hal_confirmationui_client hal_confirmationui_server ))))
+(typeattribute base_typeattr_582)
+(typeattributeset base_typeattr_582 (and (domain ) (not (hal_confirmationui_server ))))
+(typeattribute base_typeattr_581)
+(typeattributeset base_typeattr_581 (and (data_file_type ) (not (anr_data_file tombstone_data_file ))))
+(typeattribute base_typeattr_580)
+(typeattributeset base_typeattr_580 (and (domain ) (not (hal_configstore_server logd prng_seeder tombstoned ))))
+(typeattribute base_typeattr_579)
+(typeattributeset base_typeattr_579 (and (domain ) (not (hal_configstore_client hal_configstore_server ))))
+(typeattribute base_typeattr_578)
+(typeattributeset base_typeattr_578 (and (domain ) (not (hal_configstore_server ))))
+(typeattribute base_typeattr_577)
+(typeattributeset base_typeattr_577 (and (hal_codec2_client ) (not (isolated_app_all ))))
+(typeattribute base_typeattr_576)
+(typeattributeset base_typeattr_576 (and (domain ) (not (hal_codec2_client hal_codec2_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_575)
+(typeattributeset base_typeattr_575 (and (domain ) (not (hal_codec2_client hal_codec2_server ))))
+(typeattribute base_typeattr_574)
+(typeattributeset base_typeattr_574 (and (domain ) (not (hal_codec2_server ))))
+(typeattribute base_typeattr_573)
+(typeattributeset base_typeattr_573 (and (domain ) (not (hal_cas_client hal_cas_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_572)
+(typeattributeset base_typeattr_572 (and (domain ) (not (hal_cas_client hal_cas_server ))))
+(typeattribute base_typeattr_571)
+(typeattributeset base_typeattr_571 (and (domain ) (not (hal_cas_server ))))
+(typeattribute base_typeattr_570)
+(typeattributeset base_typeattr_570 (and (domain ) (not (hal_can_controller_client hal_can_controller_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_569)
+(typeattributeset base_typeattr_569 (and (domain ) (not (hal_can_bus_client hal_can_bus_server ))))
+(typeattribute base_typeattr_568)
+(typeattributeset base_typeattr_568 (and (domain ) (not (hal_can_bus_server ))))
+(typeattribute base_typeattr_567)
+(typeattributeset base_typeattr_567 (and (domain ) (not (hal_can_controller_client hal_can_controller_server ))))
+(typeattribute base_typeattr_566)
+(typeattributeset base_typeattr_566 (and (domain ) (not (hal_can_controller_server ))))
+(typeattribute base_typeattr_565)
+(typeattributeset base_typeattr_565 (and (halserverdomain ) (not (hal_camera_server ))))
+(typeattribute base_typeattr_564)
+(typeattributeset base_typeattr_564 (and (appdomain ) (not (isolated_app ))))
+(typeattribute base_typeattr_563)
+(typeattributeset base_typeattr_563 (and (domain ) (not (hal_camera_client hal_camera_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_562)
+(typeattributeset base_typeattr_562 (and (domain ) (not (hal_camera_client hal_camera_server ))))
+(typeattribute base_typeattr_561)
+(typeattributeset base_typeattr_561 (and (domain ) (not (hal_camera_server ))))
+(typeattribute base_typeattr_560)
+(typeattributeset base_typeattr_560 (and (domain ) (not (hal_broadcastradio_client hal_broadcastradio_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_559)
+(typeattributeset base_typeattr_559 (and (domain ) (not (hal_broadcastradio_client hal_broadcastradio_server ))))
+(typeattribute base_typeattr_558)
+(typeattributeset base_typeattr_558 (and (domain ) (not (hal_broadcastradio_server ))))
+(typeattribute base_typeattr_557)
+(typeattributeset base_typeattr_557 (and (domain ) (not (hal_bootctl_client hal_bootctl_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_556)
+(typeattributeset base_typeattr_556 (and (domain ) (not (hal_bootctl_client hal_bootctl_server ))))
+(typeattribute base_typeattr_555)
+(typeattributeset base_typeattr_555 (and (domain ) (not (hal_bootctl_server ))))
+(typeattribute base_typeattr_554)
+(typeattributeset base_typeattr_554 (and (domain ) (not (hal_bluetooth_client hal_bluetooth_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_553)
+(typeattributeset base_typeattr_553 (and (domain ) (not (hal_bluetooth_client hal_bluetooth_server ))))
+(typeattribute base_typeattr_552)
+(typeattributeset base_typeattr_552 (and (domain ) (not (hal_bluetooth_server ))))
+(typeattribute base_typeattr_551)
+(typeattributeset base_typeattr_551 (and (domain ) (not (hal_authsecret_client hal_authsecret_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_550)
+(typeattributeset base_typeattr_550 (and (domain ) (not (hal_authsecret_client hal_authsecret_server ))))
+(typeattribute base_typeattr_549)
+(typeattributeset base_typeattr_549 (and (domain ) (not (hal_authsecret_server ))))
+(typeattribute base_typeattr_548)
+(typeattributeset base_typeattr_548 (and (domain ) (not (hal_authgraph_client hal_authgraph_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_547)
+(typeattributeset base_typeattr_547 (and (domain ) (not (hal_authgraph_server ))))
+(typeattribute base_typeattr_546)
+(typeattributeset base_typeattr_546 (and (domain ) (not (hal_audiocontrol_client hal_audiocontrol_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_545)
+(typeattributeset base_typeattr_545 (and (domain ) (not (hal_audiocontrol_client hal_audiocontrol_server ))))
+(typeattribute base_typeattr_544)
+(typeattributeset base_typeattr_544 (and (domain ) (not (hal_audiocontrol_server ))))
+(typeattribute base_typeattr_543)
+(typeattributeset base_typeattr_543 (and (halserverdomain ) (not (hal_audio_server hal_omx_server ))))
+(typeattribute base_typeattr_542)
+(typeattributeset base_typeattr_542 (and (domain ) (not (hal_audio_client hal_audio_server atrace shell system_app traceur_app ))))
+(typeattribute base_typeattr_541)
+(typeattributeset base_typeattr_541 (and (domain ) (not (hal_audio_client hal_audio_server ))))
+(typeattribute base_typeattr_540)
+(typeattributeset base_typeattr_540 (and (domain ) (not (hal_audio_server ))))
+(typeattribute base_typeattr_539)
+(typeattributeset base_typeattr_539 (and (domain ) (not (hal_atrace_client hal_atrace_server ))))
+(typeattribute base_typeattr_538)
+(typeattributeset base_typeattr_538 (and (domain ) (not (hal_atrace_server ))))
+(typeattribute base_typeattr_537)
+(typeattributeset base_typeattr_537 (and (domain ) (not (hal_allocator_client hal_allocator_server ))))
+(typeattribute base_typeattr_536)
+(typeattributeset base_typeattr_536 (and (domain ) (not (hal_allocator_server ))))
+(typeattribute base_typeattr_535)
+(typeattributeset base_typeattr_535 (and (domain ) (not (init gsid ))))
+(typeattribute base_typeattr_534)
+(typeattributeset base_typeattr_534 (and (gsi_metadata_file_type ) (not (gsi_public_metadata_file ))))
+(typeattribute base_typeattr_533)
+(typeattributeset base_typeattr_533 (and (domain ) (not (fastbootd init gsid ))))
+(typeattribute base_typeattr_532)
+(typeattributeset base_typeattr_532 (and (domain ) (not (update_engine_common fastbootd init recovery gsid ))))
+(typeattribute base_typeattr_531)
+(typeattributeset base_typeattr_531 (and (domain ) (not (gsid ))))
+(typeattribute base_typeattr_530)
+(typeattributeset base_typeattr_530 (and (domain ) (not (gpuservice init vendor_init ))))
+(typeattribute base_typeattr_529)
+(typeattributeset base_typeattr_529 (and (domain ) (not (gpuservice ))))
+(typeattribute base_typeattr_528)
+(typeattributeset base_typeattr_528 (and (domain ) (not (dumpstate gmscore_app init vendor_init ))))
+(typeattribute base_typeattr_527)
+(typeattributeset base_typeattr_527 (and (domain ) (not (crash_dump gmscore_app runas_app simpleperf ))))
+(typeattribute base_typeattr_526)
+(typeattributeset base_typeattr_526 (and (appdomain ) (not (gmscore_app runas_app shell simpleperf ))))
+(typeattribute base_typeattr_525)
+(typeattributeset base_typeattr_525 (and (gmscore_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_524)
+(typeattributeset base_typeattr_524 (and (domain ) (not (gmscore_app ))))
+(typeattribute base_typeattr_523)
+(typeattributeset base_typeattr_523 (and (domain ) (not (gatekeeperd ))))
+(typeattribute base_typeattr_522)
+(typeattributeset base_typeattr_522 (and (fs_type file_type ) (not (fuseblkd_untrusted_exec ))))
+(typeattribute base_typeattr_521)
+(typeattributeset base_typeattr_521 (and (fs_type file_type ) (not (fuseblkd_exec ))))
+(typeattribute base_typeattr_520)
+(typeattributeset base_typeattr_520 (and (domain ) (not (fuseblkd_untrusted ))))
+(typeattribute base_typeattr_519)
+(typeattributeset base_typeattr_519 (and (fs_type file_type ) (not (fsck_exec ))))
+(typeattribute base_typeattr_518)
+(typeattributeset base_typeattr_518 (and (domain ) (not (init vold ))))
+(typeattribute base_typeattr_517)
+(typeattributeset base_typeattr_517 (and (domain ) (not (flags_health_check init ))))
+(typeattribute base_typeattr_516)
+(typeattributeset base_typeattr_516 (and (domain ) (not (fingerprintd ))))
+(typeattribute base_typeattr_515)
+(typeattributeset base_typeattr_515 (and (domain ) (not (fastbootd ))))
+(typeattribute base_typeattr_514)
+(typeattributeset base_typeattr_514 (and (domain ) (not (evsmanagerd ))))
+(typeattribute base_typeattr_513)
+(typeattributeset base_typeattr_513 (and (domain ) (not (crash_dump ephemeral_app runas_app simpleperf ))))
+(typeattribute base_typeattr_512)
+(typeattributeset base_typeattr_512 (and (appdomain ) (not (ephemeral_app runas_app shell simpleperf ))))
+(typeattribute base_typeattr_511)
+(typeattributeset base_typeattr_511 (and (ephemeral_app ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_510)
+(typeattributeset base_typeattr_510 (and (domain ) (not (ephemeral_app ))))
+(typeattribute base_typeattr_509)
+(typeattributeset base_typeattr_509 (and (domain ) (not (early_virtmgr ))))
+(typeattribute base_typeattr_508)
+(typeattributeset base_typeattr_508 (and (domain ) (not (crosvm early_virtmgr ))))
+(typeattribute base_typeattr_507)
+(typeattributeset base_typeattr_507 (and (domain ) (not (crosvm early_virtmgr init ))))
+(typeattribute base_typeattr_506)
+(typeattributeset base_typeattr_506 (and (domain ) (not (apexd dumpstate init system_server vold_prepare_subdirs ))))
+(typeattribute base_typeattr_505)
+(typeattributeset base_typeattr_505 (and (domain ) (not (dumpstate shell system_server traceur_app ))))
+(typeattribute base_typeattr_504)
+(typeattributeset base_typeattr_504 (and (domain ) (not (dumpstate ))))
+(typeattribute base_typeattr_503)
+(typeattributeset base_typeattr_503 (and (service_manager_type ) (not (hal_service_type apex_service default_android_service dumpstate_service fwk_vold_service gatekeeper_service virtual_touchpad_service vold_service ))))
+(typeattribute base_typeattr_502)
+(typeattributeset base_typeattr_502 (and (domain ) (not (drmserver ))))
+(typeattribute base_typeattr_501)
+(typeattributeset base_typeattr_501 (and (domain ) (not (unconstrained_vsock_violators early_virtmgr virtualizationmanager adbd_common compos_fd_server hal_keymint_system virtualizationservice vmlauncher_app ))))
+(typeattribute base_typeattr_500)
+(typeattributeset base_typeattr_500 (and (domain ) (not (init ueventd vendor_init ))))
+(typeattribute base_typeattr_499)
+(typeattributeset base_typeattr_499 (and (domain ) (not (init zygote dexopt_chroot_setup ))))
+(typeattribute base_typeattr_498)
+(typeattributeset base_typeattr_498 (and (domain ) (not (init dexopt_chroot_setup ))))
+(typeattribute base_typeattr_497)
+(typeattributeset base_typeattr_497 (and (domain ) (not (gmscore_app init vold_prepare_subdirs ))))
+(typeattribute base_typeattr_496)
+(typeattributeset base_typeattr_496 (and (domain ) (not (appdomain artd installd system_server traced_probes ))))
+(typeattribute base_typeattr_495)
+(typeattributeset base_typeattr_495 (and (domain ) (not (appdomain adbd artd dumpstate init installd simpleperf_app_runner system_server ))))
+(typeattribute base_typeattr_494)
+(typeattributeset base_typeattr_494 (and (domain ) (not (adbd artd dumpstate init installd shell vold ))))
+(typeattribute base_typeattr_493)
+(typeattributeset base_typeattr_493 (and (domain ) (not (appdomain adbd artd dumpstate installd ))))
+(typeattribute base_typeattr_492)
+(typeattributeset base_typeattr_492 (and (domain ) (not (init kernel vendor_modprobe uprobestats ))))
+(typeattribute base_typeattr_491)
+(typeattributeset base_typeattr_491 (and (domain ) (not (ueventd vendor_init ))))
+(typeattribute base_typeattr_490)
+(typeattributeset base_typeattr_490 (and (debugfs_type ) (not (tracefs_type ))))
+(typeattribute base_typeattr_489)
+(typeattributeset base_typeattr_489 (and (domain ) (not (vendor_modprobe ))))
+(typeattribute base_typeattr_488)
+(typeattributeset base_typeattr_488 (and (domain ) (not (init traced_perf traced_probes ))))
+(typeattribute base_typeattr_487)
+(typeattributeset base_typeattr_487 (and (domain ) (not (init dexopt_chroot_setup otapreopt_chroot ))))
+(typeattribute base_typeattr_486)
+(typeattributeset base_typeattr_486 (and (vendor_file_type ) (not (vendor_cgroup_desc_file vendor_task_profiles_file vendor_app_file vendor_configs_file same_process_hal_file vndk_sp_file vendor_framework_file vendor_overlay_file vendor_public_lib_file vendor_public_framework_file vendor_microdroid_file vendor_boot_ota_file vendor_keylayout_file vendor_keychars_file vendor_idc_file vendor_uuid_mapping_config_file vendor_apex_file vendor_apex_metadata_file vendor_service_contexts_file vendor_aconfig_storage_file ))))
+(typeattribute base_typeattr_485)
+(typeattributeset base_typeattr_485 (and (coredomain ) (not (system_executes_vendor_violators crash_dump crosvm heapprofd init kernel shell traced_perf ueventd vold ))))
+(typeattribute base_typeattr_484)
+(typeattributeset base_typeattr_484 (and (coredomain ) (not (heapprofd init logd mdnsd netd prng_seeder tombstoned traced traced_perf ))))
+(typeattribute base_typeattr_483)
+(typeattributeset base_typeattr_483 (and (domain ) (not (appdomain coredomain socket_between_core_and_vendor_violators ))))
+(typeattribute base_typeattr_482)
+(typeattributeset base_typeattr_482 (and (coredomain ) (not (appdomain bootanim crash_dump heapprofd init kernel traced_perf ueventd ))))
+(typeattribute base_typeattr_481)
+(typeattributeset base_typeattr_481 (and (domain ) (not (init vendor_init art_boot ))))
+(typeattribute base_typeattr_480)
+(typeattributeset base_typeattr_480 (and (domain ) (not (dumpstate init system_server ))))
+(typeattribute base_typeattr_479)
+(typeattributeset base_typeattr_479 (and (domain ) (not (fsck init installd zygote ))))
+(typeattribute base_typeattr_478)
+(typeattributeset base_typeattr_478 (and (domain ) (not (hal_bootctl_server fastbootd init kernel recovery tee ueventd uncrypt gsid ))))
+(typeattribute base_typeattr_477)
+(typeattributeset base_typeattr_477 (and (debugfs_type ) (not (debugfs_tracing_debug ))))
+(typeattribute base_typeattr_476)
+(typeattributeset base_typeattr_476 (and (fs_type ) (not (fusefs_type sdcard_type ))))
+(typeattribute base_typeattr_475)
+(typeattributeset base_typeattr_475 (and (domain ) (not (apexd init kernel recovery update_engine vold zygote dexopt_chroot_setup otapreopt_chroot ))))
+(typeattribute base_typeattr_474)
+(typeattributeset base_typeattr_474 (not (apexd artd dnsmasq dumpstate heapprofd init installd lmkd netd recovery rss_hwm_reset sdcardd tee traced_perf traced_probes ueventd uncrypt vendor_init vold vold_prepare_subdirs zygote migrate_legacy_obb_data postinstall_dexopt ) ))
+(typeattribute base_typeattr_473)
+(typeattributeset base_typeattr_473 (not (apexd artd dnsmasq dumpstate init installd lmkd netd recovery rss_hwm_reset sdcardd tee ueventd uncrypt vendor_init vold vold_prepare_subdirs zygote migrate_legacy_obb_data postinstall_dexopt ) ))
+(typeattribute base_typeattr_472)
+(typeattributeset base_typeattr_472 (and (domain ) (not (apexd init vold_prepare_subdirs compos_fd_server composd odrefresh odsign ))))
+(typeattribute base_typeattr_471)
+(typeattributeset base_typeattr_471 (and (domain ) (not (artd init installd zygote cppreopts dex2oat otapreopt_slot postinstall_dexopt ))))
+(typeattribute base_typeattr_470)
+(typeattributeset base_typeattr_470 (and (file_type ) (not (exec_type system_file_type vendor_file_type system_lib_file system_bootstrap_lib_file system_linker_exec postinstall_file ))))
+(typeattribute base_typeattr_469)
+(typeattributeset base_typeattr_469 (and (domain ) (not (appdomain app_zygote shell webview_zygote zygote system_server_startup ))))
+(typeattribute base_typeattr_468)
+(typeattributeset base_typeattr_468 (and (fs_type ) (not (rootfs ))))
+(typeattribute base_typeattr_467)
+(typeattributeset base_typeattr_467 (and (domain ) (not (appdomain bootanim recovery ))))
+(typeattribute base_typeattr_466)
+(typeattributeset base_typeattr_466 (and (domain ) (not (apexd init installd system_server update_provider ))))
+(typeattribute base_typeattr_465)
+(typeattributeset base_typeattr_465 (and (domain ) (not (init installd system_server update_provider ))))
+(typeattribute base_typeattr_464)
+(typeattributeset base_typeattr_464 (and (domain ) (not (adbd apexd crosvm init installd kernel priv_app shell system_app system_server virtualizationmanager update_provider ))))
+(typeattribute base_typeattr_463)
+(typeattributeset base_typeattr_463 (and (domain ) (not (apexd init installd priv_app system_server virtualizationmanager update_provider ))))
+(typeattribute base_typeattr_462)
+(typeattributeset base_typeattr_462 (and (domain ) (not (artd installd ))))
+(typeattribute base_typeattr_461)
+(typeattributeset base_typeattr_461 (and (domain ) (not (appdomain app_zygote artd installd rs ))))
+(typeattribute base_typeattr_460)
+(typeattributeset base_typeattr_460 (and (domain ) (not (appdomain artd installd rs vold_prepare_subdirs ))))
+(typeattribute base_typeattr_459)
+(typeattributeset base_typeattr_459 (and (domain ) (not (appdomain artd installd rs ))))
+(typeattribute base_typeattr_458)
+(typeattributeset base_typeattr_458 (and (domain ) (not (init installd vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_457)
+(typeattributeset base_typeattr_457 (and (domain ) (not (appdomain app_zygote artd installd rs system_server vold vold_prepare_subdirs zygote ))))
+(typeattribute base_typeattr_456)
+(typeattributeset base_typeattr_456 (and (domain ) (not (appdomain adbd app_zygote artd installd profman rs runas system_server zygote ))))
+(typeattribute base_typeattr_455)
+(typeattributeset base_typeattr_455 (and (domain ) (not (artd installd vold_prepare_subdirs ))))
+(typeattribute base_typeattr_454)
+(typeattributeset base_typeattr_454 (and (domain ) (not (gmscore_app priv_app ))))
+(typeattribute base_typeattr_453)
+(typeattributeset base_typeattr_453 (and (domain ) (not (dumpstate system_server vold storaged ))))
+(typeattribute base_typeattr_452)
+(typeattributeset base_typeattr_452 (and (domain ) (not (hal_bootctl_server fastbootd init recovery ueventd uncrypt update_engine vendor_init vendor_misc_writer vold kcmdlinectrl misctrl mtectrl ))))
+(typeattribute base_typeattr_451)
+(typeattributeset base_typeattr_451 (and (domain ) (not (init traced_probes vendor_init ))))
+(typeattribute base_typeattr_450)
+(typeattributeset base_typeattr_450 (and (domain ) (not (ephemeral_app untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_449)
+(typeattributeset base_typeattr_449 (and (domain ) (not (hal_codec2_server hal_omx_server ))))
+(typeattribute base_typeattr_448)
+(typeattributeset base_typeattr_448 (and (coredomain ) (not (apexd charger incidentd init recovery shell ueventd ))))
+(typeattribute base_typeattr_447)
+(typeattributeset base_typeattr_447 (and (coredomain ) (not (appdomain ))))
+(typeattribute base_typeattr_446)
+(typeattributeset base_typeattr_446 (and (coredomain ) (not (system_writes_mnt_vendor_violators init ueventd vold ))))
+(typeattribute base_typeattr_445)
+(typeattributeset base_typeattr_445 (not (coredomain ) ))
+(typeattribute base_typeattr_444)
+(typeattributeset base_typeattr_444 (not (system_file_type system_dlkm_file_type vendor_file_type rootfs ) ))
+(typeattribute base_typeattr_443)
+(typeattributeset base_typeattr_443 (and (domain ) (not (artd installd profman ))))
+(typeattribute base_typeattr_442)
+(typeattributeset base_typeattr_442 (and (domain ) (not (init vendor_init vold ))))
+(typeattribute base_typeattr_441)
+(typeattributeset base_typeattr_441 (not (hwservicemanager ) ))
+(typeattribute base_typeattr_440)
+(typeattributeset base_typeattr_440 (not (servicemanager vndservicemanager ) ))
+(typeattribute base_typeattr_439)
+(typeattributeset base_typeattr_439 (and (domain ) (not (installd shell ))))
+(typeattribute base_typeattr_438)
+(typeattributeset base_typeattr_438 (and (domain ) (not (appdomain artd installd ))))
+(typeattribute base_typeattr_437)
+(typeattributeset base_typeattr_437 (and (appdomain ) (not (shell simpleperf tradeinmode ))))
+(typeattribute base_typeattr_436)
+(typeattributeset base_typeattr_436 (and (domain ) (not (app_zygote runas simpleperf_app_runner webview_zygote zygote ))))
+(typeattribute base_typeattr_435)
+(typeattributeset base_typeattr_435 (and (domain ) (not (adbd init runas zygote ))))
+(typeattribute base_typeattr_434)
+(typeattributeset base_typeattr_434 (and (domain ) (not (init installd system_app system_server toolbox vold_prepare_subdirs ))))
+(typeattribute base_typeattr_433)
+(typeattributeset base_typeattr_433 (not (domain ) ))
+(typeattribute base_typeattr_432)
+(typeattributeset base_typeattr_432 (and (domain ) (not (untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_431)
+(typeattributeset base_typeattr_431 (and (file_type ) (not (apk_data_file app_data_file asec_public_file ))))
+(typeattribute base_typeattr_430)
+(typeattributeset base_typeattr_430 (and (domain ) (not (init system_server ))))
+(typeattribute base_typeattr_429)
+(typeattributeset base_typeattr_429 (and (domain ) (not (dumpstate incidentd system_server ))))
+(typeattribute base_typeattr_428)
+(typeattributeset base_typeattr_428 (and (domain ) (not (app_zygote system_server webview_zygote ))))
+(typeattribute base_typeattr_427)
+(typeattributeset base_typeattr_427 (and (domain ) (not (system_server ))))
+(typeattribute base_typeattr_426)
+(typeattributeset base_typeattr_426 (and (domain ) (not (system_server zygote ))))
+(typeattribute base_typeattr_425)
+(typeattributeset base_typeattr_425 (and (system_file_type ) (not (crash_dump_exec early_virtmgr_exec system_event_log_tags_file system_lib_file system_bootstrap_lib_file system_group_file system_linker_exec system_linker_config_file system_passwd_file system_seccomp_policy_file system_security_cacerts_file system_zoneinfo_file cgroup_desc_file task_profiles_file file_contexts_file property_contexts_file netutils_wrapper_exec shell_exec toolbox_exec virtualizationmanager_exec ))))
+(typeattribute base_typeattr_424)
+(typeattributeset base_typeattr_424 (and (vendor_file_type ) (not (same_process_hal_file ))))
+(typeattribute base_typeattr_423)
+(typeattributeset base_typeattr_423 (and (coredomain ) (not (system_executes_vendor_violators shell ))))
+(typeattribute base_typeattr_422)
+(typeattributeset base_typeattr_422 (and (vendor_file_type ) (not (vendor_app_file same_process_hal_file vndk_sp_file vendor_public_lib_file vendor_public_framework_file ))))
+(typeattribute base_typeattr_421)
+(typeattributeset base_typeattr_421 (and (coredomain ) (not (system_executes_vendor_violators init shell ueventd ))))
+(typeattribute base_typeattr_420)
+(typeattributeset base_typeattr_420 (and (file_type ) (not (vendor_file_type init_exec ))))
+(typeattribute base_typeattr_419)
+(typeattributeset base_typeattr_419 (and (file_type ) (not (system_file_type postinstall_file ))))
+(typeattribute base_typeattr_418)
+(typeattributeset base_typeattr_418 (and (system_file_type ) (not (crash_dump_exec early_virtmgr_exec system_lib_file system_bootstrap_lib_file system_linker_exec netutils_wrapper_exec shell_exec toolbox_exec virtualizationmanager_exec ))))
+(typeattribute base_typeattr_417)
+(typeattributeset base_typeattr_417 (and (domain ) (not (appdomain coredomain vendor_executes_system_violators vendor_init ))))
+(typeattribute base_typeattr_416)
+(typeattributeset base_typeattr_416 (and (coredomain ) (not (init shell ueventd ))))
+(typeattribute base_typeattr_415)
+(typeattributeset base_typeattr_415 (and (coredomain ) (not (data_between_core_and_vendor_violators init ))))
+(typeattribute base_typeattr_414)
+(typeattributeset base_typeattr_414 (and (coredomain ) (not (data_between_core_and_vendor_violators init vold vold_prepare_subdirs ))))
+(typeattribute base_typeattr_413)
+(typeattributeset base_typeattr_413 (and (domain ) (not (appdomain coredomain data_between_core_and_vendor_violators ))))
+(typeattribute base_typeattr_412)
+(typeattributeset base_typeattr_412 (and (core_data_file_type ) (not (system_data_root_file system_data_file vendor_data_file vendor_userdir_file unencrypted_data_file ))))
+(typeattribute base_typeattr_411)
+(typeattributeset base_typeattr_411 (and (core_data_file_type ) (not (system_data_root_file system_data_file vendor_data_file vendor_userdir_file ))))
+(typeattribute base_typeattr_410)
+(typeattributeset base_typeattr_410 (and (core_data_file_type ) (not (unencrypted_data_file ))))
+(typeattribute base_typeattr_409)
+(typeattributeset base_typeattr_409 (and (vendor_init ) (not (data_between_core_and_vendor_violators ))))
+(typeattribute base_typeattr_408)
+(typeattributeset base_typeattr_408 (and (domain ) (not (appdomain coredomain data_between_core_and_vendor_violators vendor_init ))))
+(typeattribute base_typeattr_407)
+(typeattributeset base_typeattr_407 (and (data_file_type ) (not (core_data_file_type app_data_file_type vendor_data_file ))))
+(typeattribute base_typeattr_406)
+(typeattributeset base_typeattr_406 (and (data_file_type ) (not (core_data_file_type app_data_file_type ))))
+(typeattribute base_typeattr_405)
+(typeattributeset base_typeattr_405 (and (coredomain ) (not (appdomain data_between_core_and_vendor_violators init vold_prepare_subdirs ))))
+(typeattribute base_typeattr_404)
+(typeattributeset base_typeattr_404 (and (dev_type file_type ) (not (core_data_file_type app_data_file_type coredomain_socket unlabeled ))))
+(typeattribute base_typeattr_403)
+(typeattributeset base_typeattr_403 (and (coredomain ) (not (socket_between_core_and_vendor_violators init ueventd ))))
+(typeattribute base_typeattr_402)
+(typeattributeset base_typeattr_402 (and (core_data_file_type coredomain_socket unlabeled ) (not (pdx_endpoint_socket_type pdx_channel_socket_type app_data_file privapp_data_file ))))
+(typeattribute base_typeattr_401)
+(typeattributeset base_typeattr_401 (and (domain ) (not (appdomain coredomain socket_between_core_and_vendor_violators data_between_core_and_vendor_violators vendor_init ))))
+(typeattribute base_typeattr_400)
+(typeattributeset base_typeattr_400 (and (domain ) (not (coredomain socket_between_core_and_vendor_violators ))))
+(typeattribute base_typeattr_399)
+(typeattributeset base_typeattr_399 (and (coredomain ) (not (adbd init ))))
+(typeattribute base_typeattr_398)
+(typeattributeset base_typeattr_398 (and (coredomain ) (not (shell ))))
+(typeattribute base_typeattr_397)
+(typeattributeset base_typeattr_397 (and (coredomain ) (not (shell ueventd ))))
+(typeattribute base_typeattr_396)
+(typeattributeset base_typeattr_396 (and (service_manager_type ) (not (app_api_service ephemeral_app_api_service hal_service_type apc_service audioserver_service cameraserver_service drmserver_service credstore_service keystore_maintenance_service keystore_service legacykeystore_service mediaserver_service mediametrics_service mediaextractor_service mediadrmserver_service nfc_service radio_service virtual_touchpad_service vr_manager_service ))))
+(typeattribute base_typeattr_395)
+(typeattributeset base_typeattr_395 (and (appdomain ) (not (coredomain ))))
+(typeattribute base_typeattr_394)
+(typeattributeset base_typeattr_394 (and (domain ) (not (hwservicemanager servicemanager vndservicemanager ))))
+(typeattribute base_typeattr_393)
+(typeattributeset base_typeattr_393 (and (domain ) (not (fastbootd recovery update_engine ))))
+(typeattribute base_typeattr_392)
+(typeattributeset base_typeattr_392 (and (domain ) (not (hal_fastboot_server e2fs fastbootd fsck init recovery vold ))))
+(typeattribute base_typeattr_391)
+(typeattributeset base_typeattr_391 (and (domain ) (not (init recovery system_server ueventd ))))
+(typeattribute base_typeattr_390)
+(typeattributeset base_typeattr_390 (and (domain ) (not (hal_camera_server hal_cas_server hal_drm_server hal_keymint_server adbd dumpstate fastbootd init mediadrmserver mediaserver recovery shell system_server vendor_init adbd_tradeinmode ))))
+(typeattribute base_typeattr_389)
+(typeattributeset base_typeattr_389 (and (domain ) (not (coredomain vendor_init ))))
+(typeattribute base_typeattr_388)
+(typeattributeset base_typeattr_388 (and (domain ) (not (init system_server vendor_init ))))
+(typeattribute base_typeattr_387)
+(typeattributeset base_typeattr_387 (and (fs_type ) (not (contextmount_type ))))
+(typeattribute base_typeattr_386)
+(typeattributeset base_typeattr_386 (and (domain ) (not (adbd crash_dump heapprofd init shell ))))
+(typeattribute base_typeattr_385)
+(typeattributeset base_typeattr_385 (and (domain ) (not (adbd init shell ))))
+(typeattribute base_typeattr_384)
+(typeattributeset base_typeattr_384 (and (domain ) (not (init kernel recovery ))))
+(typeattribute base_typeattr_383)
+(typeattributeset base_typeattr_383 (and (domain ) (not (dumpstate init vendor_init ))))
+(typeattribute base_typeattr_382)
+(typeattributeset base_typeattr_382 (and (domain ) (not (init ueventd ))))
+(typeattribute base_typeattr_381)
+(typeattributeset base_typeattr_381 (and (file_type ) (not (exec_type postinstall_file ))))
+(typeattribute base_typeattr_380)
+(typeattributeset base_typeattr_380 (and (domain ) (not (shell ueventd ))))
+(typeattribute base_typeattr_379)
+(typeattributeset base_typeattr_379 (and (domain ) (not (prng_seeder shell ueventd ))))
+(typeattribute base_typeattr_378)
+(typeattributeset base_typeattr_378 (and (domain ) (not (kernel ))))
+(typeattribute base_typeattr_377)
+(typeattributeset base_typeattr_377 (and (domain ) (not (init kernel ueventd vold ))))
+(typeattribute base_typeattr_376)
+(typeattributeset base_typeattr_376 (and (domain ) (not (init recovery ))))
+(typeattribute base_typeattr_375)
+(typeattributeset base_typeattr_375 (and (domain ) (not (hal_audio_server hal_camera_server hal_cas_server hal_codec2_server hal_configstore_server hal_drm_server hal_omx_server app_zygote artd audioserver cameraserver init kernel mediadrmserver mediaextractor mediametrics mediaserver mediatranscoding system_server ueventd vendor_init webview_zygote dexopt_chroot_setup mediatuner ))))
+(typeattribute base_typeattr_374)
+(typeattributeset base_typeattr_374 (and (domain ) (not (dumpstate init system_server vendor_init ))))
+(typeattribute base_typeattr_373)
+(typeattributeset base_typeattr_373 (and (domain ) (not (untrusted_app_all isolated_app_all app_zygote ephemeral_app ))))
+(typeattribute base_typeattr_372)
+(typeattributeset base_typeattr_372 (and (domain ) (not (appdomain coredomain ))))
+(typeattribute base_typeattr_371)
+(typeattributeset base_typeattr_371 (and (domain ) (not (appdomain rs ))))
+(typeattribute base_typeattr_370)
+(typeattributeset base_typeattr_370 (and (domain ) (not (hal_configstore_server apexd app_zygote bpfloader crash_dump crosvm init kernel keystore llkd logd ueventd vendor_init vold webview_zygote zygote ))))
+(typeattribute base_typeattr_369)
+(typeattributeset base_typeattr_369 (and (domain ) (not (hal_configstore_server apexd app_zygote bpfloader crash_dump crosvm init kernel keystore llkd logd logpersist recovery recovery_persist recovery_refresh ueventd vendor_init vold webview_zygote zygote ))))
+(typeattribute base_typeattr_368)
+(typeattributeset base_typeattr_368 (and (domain ) (not (domain ))))
+(typeattribute base_typeattr_367)
+(typeattributeset base_typeattr_367 (and (domain ) (not (isolated_app servicemanager vndservicemanager ))))
+(typeattribute base_typeattr_366)
+(typeattributeset base_typeattr_366 (and (domain ) (not (hwservicemanager vndservicemanager ))))
+(typeattribute base_typeattr_365)
+(typeattributeset base_typeattr_365 (and (domain ) (not (artd_subprocess_type ))))
+(typeattribute base_typeattr_364)
+(typeattributeset base_typeattr_364 (and (domain ) (not (display_service_server ))))
+(typeattribute base_typeattr_363)
+(typeattributeset base_typeattr_363 (and (domain ) (not (artd init system_server vendor_init art_exec dexopt_chroot_setup ))))
+(typeattribute base_typeattr_362)
+(typeattributeset base_typeattr_362 (and (domain ) (not (dexopt_chroot_setup ))))
+(typeattribute base_typeattr_361)
+(typeattributeset base_typeattr_361 (and (domain ) (not (dex2oat ))))
+(typeattribute base_typeattr_360)
+(typeattributeset base_typeattr_360 (and (domain ) (not (crash_dump runas_app simpleperf device_as_webcam ))))
+(typeattribute base_typeattr_359)
+(typeattributeset base_typeattr_359 (and (appdomain ) (not (runas_app shell simpleperf device_as_webcam ))))
+(typeattribute base_typeattr_358)
+(typeattributeset base_typeattr_358 (and (device_as_webcam ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_357)
+(typeattributeset base_typeattr_357 (and (domain ) (not (device_as_webcam ))))
+(typeattribute base_typeattr_356)
+(typeattributeset base_typeattr_356 (and (domain ) (not (init derive_sdk ))))
+(typeattribute base_typeattr_355)
+(typeattributeset base_typeattr_355 (and (domain ) (not (crosvm early_virtmgr virtualizationmanager vmlauncher_app ))))
+(typeattribute base_typeattr_354)
+(typeattributeset base_typeattr_354 (and (app_data_file_type ) (not (shell_data_file app_data_file privapp_data_file ))))
+(typeattribute base_typeattr_353)
+(typeattributeset base_typeattr_353 (and (vendor_file_type ) (not (vendor_cgroup_desc_file vendor_task_profiles_file vendor_configs_file same_process_hal_file vndk_sp_file vendor_microdroid_file vendor_vm_file vendor_vm_data_file ))))
+(typeattribute base_typeattr_352)
+(typeattributeset base_typeattr_352 (and (appdomain coredomain ) (not (crosvm ueventd ))))
+(typeattribute base_typeattr_351)
+(typeattributeset base_typeattr_351 (and (appdomain coredomain ) (not (crosvm shell ueventd ))))
+(typeattribute base_typeattr_350)
+(typeattributeset base_typeattr_350 (and (domain ) (not (crosvm ))))
+(typeattribute base_typeattr_349)
+(typeattributeset base_typeattr_349 (and (domain ) (not (crosvm ueventd ))))
+(typeattribute base_typeattr_348)
+(typeattributeset base_typeattr_348 (and (domain ) (not (crosvm shell ueventd ))))
+(typeattribute base_typeattr_347)
+(typeattributeset base_typeattr_347 (and (domain ) (not (credstore ))))
+(typeattribute base_typeattr_346)
+(typeattributeset base_typeattr_346 (and (domain ) (not (apexd bpfloader crash_dump init kernel keystore llkd logd ueventd vendor_init vold ))))
+(typeattribute base_typeattr_345)
+(typeattributeset base_typeattr_345 (and (dmabuf_heap_device_type ) (not (dmabuf_system_heap_device dmabuf_system_secure_heap_device ))))
+(typeattribute base_typeattr_344)
+(typeattributeset base_typeattr_344 (and (coredomain ) (not (init ueventd ))))
+(typeattribute base_typeattr_343)
+(typeattributeset base_typeattr_343 (and (coredomain ) (not (adbd init mediaprovider system_server adbd_tradeinmode ))))
+(typeattribute base_typeattr_342)
+(typeattributeset base_typeattr_342 (and (coredomain ) (not (init system_server ))))
+(typeattribute base_typeattr_341)
+(typeattributeset base_typeattr_341 (and (coredomain ) (not (bootstat charger dumpstate init logd logpersist recovery_persist recovery_refresh shell system_server ))))
+(typeattribute base_typeattr_340)
+(typeattributeset base_typeattr_340 (and (coredomain ) (not (init ))))
+(typeattribute base_typeattr_339)
+(typeattributeset base_typeattr_339 (and (coredomain ) (not (atrace dumpstate gpuservice init lmkd shell system_server traced_perf traced_probes traceur_app prefetch ))))
+(typeattribute base_typeattr_338)
+(typeattributeset base_typeattr_338 (and (coredomain ) (not (apexd fsck init ueventd ))))
+(typeattribute base_typeattr_337)
+(typeattributeset base_typeattr_337 (and (coredomain ) (not (apexd init ueventd vold vfio_handler ))))
+(typeattribute base_typeattr_336)
+(typeattributeset base_typeattr_336 (and (coredomain ) (not (init vold ))))
+(typeattribute base_typeattr_335)
+(typeattributeset base_typeattr_335 (and (coredomain ) (not (appdomain app_zygote artd heapprofd idmap init installd rs system_server traced_perf webview_zygote zygote dex2oat postinstall_dexopt ))))
+(typeattribute base_typeattr_334)
+(typeattributeset base_typeattr_334 (and (coredomain ) (not (appdomain artd heapprofd idmap init installd mediaserver profman rs system_server traced_perf dex2oat postinstall_dexopt ))))
+(typeattribute base_typeattr_333)
+(typeattributeset base_typeattr_333 (and (coredomain ) (not (appdomain artd heapprofd idmap init installd rs system_server traced_perf dex2oat postinstall_dexopt ))))
+(typeattribute base_typeattr_332)
+(typeattributeset base_typeattr_332 (and (coredomain ) (not (apexd init ueventd vold ))))
+(typeattribute base_typeattr_331)
+(typeattributeset base_typeattr_331 (and (domain ) (not (odsign ))))
+(typeattribute base_typeattr_330)
+(typeattributeset base_typeattr_330 (and (domain ) (not (composd ))))
+(typeattribute base_typeattr_329)
+(typeattributeset base_typeattr_329 (and (domain ) (not (charger charger_vendor dumpstate init vendor_init ))))
+(typeattribute base_typeattr_328)
+(typeattributeset base_typeattr_328 (and (domain ) (not (charger charger_vendor init vendor_init ))))
+(typeattribute base_typeattr_327)
+(typeattributeset base_typeattr_327 (and (domain ) (not (charger dumpstate init ))))
+(typeattribute base_typeattr_326)
+(typeattributeset base_typeattr_326 (and (domain ) (not (cameraserver ))))
+(typeattribute base_typeattr_325)
+(typeattributeset base_typeattr_325 (and (domain ) (not (camera_service_server ))))
+(typeattribute base_typeattr_324)
+(typeattributeset base_typeattr_324 (and (domain ) (not (bufferhubd ))))
+(typeattribute base_typeattr_323)
+(typeattributeset base_typeattr_323 (and (coredomain ) (not (bpfloader netd netutils_wrapper ))))
+(typeattribute base_typeattr_322)
+(typeattributeset base_typeattr_322 (and (domain ) (not (bpfloader init ))))
+(typeattribute base_typeattr_321)
+(typeattributeset base_typeattr_321 (and (bpffs_type ) (not (fs_bpf_vendor ))))
+(typeattribute base_typeattr_320)
+(typeattributeset base_typeattr_320 (and (domain ) (not (bpfloader gpuservice lmkd netd netutils_wrapper network_stack system_server uprobestats ))))
+(typeattribute base_typeattr_319)
+(typeattributeset base_typeattr_319 (and (domain ) (not (bpfloader uprobestats ))))
+(typeattribute base_typeattr_318)
+(typeattributeset base_typeattr_318 (and (domain ) (not (bpfloader netd netutils_wrapper network_stack system_server ))))
+(typeattribute base_typeattr_317)
+(typeattributeset base_typeattr_317 (and (domain ) (not (bpfloader netd network_stack system_server ))))
+(typeattribute base_typeattr_316)
+(typeattributeset base_typeattr_316 (and (domain ) (not (bpfloader network_stack system_server ))))
+(typeattribute base_typeattr_315)
+(typeattributeset base_typeattr_315 (and (domain ) (not (bpfloader network_stack ))))
+(typeattribute base_typeattr_314)
+(typeattributeset base_typeattr_314 (and (domain ) (not (bpfloader gpuservice lmkd netd netutils_wrapper system_server mediaprovider_app ))))
+(typeattribute base_typeattr_313)
+(typeattributeset base_typeattr_313 (and (domain ) (not (bpfloader ))))
+(typeattribute base_typeattr_312)
+(typeattributeset base_typeattr_312 (and (bpffs_type ) (not (fs_bpf ))))
+(typeattribute base_typeattr_311)
+(typeattributeset base_typeattr_311 (and (domain ) (not (bpfdomain ))))
+(typeattribute base_typeattr_310)
+(typeattributeset base_typeattr_310 (and (bpfdomain ) (not (bpfloader netd netutils_wrapper network_stack system_server ))))
+(typeattribute base_typeattr_309)
+(typeattributeset base_typeattr_309 (and (domain ) (not (init vendor_init boringssl_self_test vendor_boringssl_self_test ))))
+(typeattribute base_typeattr_308)
+(typeattributeset base_typeattr_308 (and (domain ) (not (bootstat init system_server ))))
+(typeattribute base_typeattr_307)
+(typeattributeset base_typeattr_307 (and (domain ) (not (bootanim bootstat dumpstate init platform_app recovery shell system_server ))))
+(typeattribute base_typeattr_306)
+(typeattributeset base_typeattr_306 (and (domain ) (not (bootstat init ))))
+(typeattribute base_typeattr_305)
+(typeattributeset base_typeattr_305 (and (domain ) (not (bluetooth init ))))
+(typeattribute base_typeattr_304)
+(typeattributeset base_typeattr_304 (and (domain ) (not (bluetooth crash_dump runas_app simpleperf ))))
+(typeattribute base_typeattr_303)
+(typeattributeset base_typeattr_303 (and (appdomain ) (not (bluetooth runas_app shell simpleperf ))))
+(typeattribute base_typeattr_302)
+(typeattributeset base_typeattr_302 (and (bluetooth ) (not (runas_app shell simpleperf ))))
+(typeattribute base_typeattr_301)
+(typeattributeset base_typeattr_301 (and (domain ) (not (bluetooth ))))
+(typeattribute base_typeattr_300)
+(typeattributeset base_typeattr_300 (and (fs_type file_type ) (not (shell_exec blkid_exec ))))
+(typeattribute base_typeattr_299)
+(typeattributeset base_typeattr_299 (and (domain ) (not (vold ))))
+(typeattribute base_typeattr_298)
+(typeattributeset base_typeattr_298 (and (domain ) (not (automotive_display_service ))))
+(typeattribute base_typeattr_297)
+(typeattributeset base_typeattr_297 (and (domain ) (not (audioserver ))))
+(typeattribute base_typeattr_296)
+(typeattributeset base_typeattr_296 (and (service_manager_type ) (not (apex_service default_android_service dnsresolver_service dumpstate_service incident_service installd_service lpdump_service mdns_service netd_service vold_service stats_service tracingproxy_service ))))
+(typeattribute base_typeattr_295)
+(typeattributeset base_typeattr_295 (not (crash_dump artd_subprocess_type ) ))
+(typeattribute base_typeattr_294)
+(typeattributeset base_typeattr_294 (not (art_exec_exec ) ))
+(typeattribute base_typeattr_293)
+(typeattributeset base_typeattr_293 (and (domain ) (not (artd ))))
+(typeattribute base_typeattr_292)
+(typeattributeset base_typeattr_292 (and (domain ) (not (app_zygote prng_seeder ))))
+(typeattribute base_typeattr_291)
+(typeattributeset base_typeattr_291 (and (domain ) (not (app_zygote logd system_server ))))
+(typeattribute base_typeattr_290)
+(typeattributeset base_typeattr_290 (and (service_manager_type ) (not (activity_service webviewupdate_service ))))
+(typeattribute base_typeattr_289)
+(typeattributeset base_typeattr_289 (and (domain ) (not (zygote ))))
+(typeattribute base_typeattr_288)
+(typeattributeset base_typeattr_288 (and (domain ) (not (crash_dump ))))
+(typeattribute base_typeattr_287)
+(typeattributeset base_typeattr_287 (and (domain ) (not (isolated_app ))))
+(typeattribute base_typeattr_286)
+(typeattributeset base_typeattr_286 (and (domain ) (not (app_zygote ))))
+(typeattribute base_typeattr_285)
+(typeattributeset base_typeattr_285 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_284)
+(typeattributeset base_typeattr_284 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (mediaprovider mediaprovider_app ))))
+(typeattribute base_typeattr_283)
+(typeattributeset base_typeattr_283 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (untrusted_app_25 ))))
+(typeattribute base_typeattr_282)
+(typeattributeset base_typeattr_282 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (mediaprovider_app ))))
+(typeattribute base_typeattr_281)
+(typeattributeset base_typeattr_281 (and (fs_type file_type ) (not (sdcard_type fuse user_profile_data_file media_rw_data_file app_data_file privapp_data_file app_exec_data_file storage_area_content_file ))))
+(typeattribute base_typeattr_280)
+(typeattributeset base_typeattr_280 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_279)
+(typeattributeset base_typeattr_279 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_278)
+(typeattributeset base_typeattr_278 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (runas_app untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_277)
+(typeattributeset base_typeattr_277 (and (untrusted_app_all isolated_app_all ephemeral_app isolated_app isolated_compute_app mediaprovider untrusted_app untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 mediaprovider_app ) (not (mediaprovider ))))
+(typeattribute base_typeattr_276)
+(typeattributeset base_typeattr_276 (and (debugfs_type ) (not (debugfs_kcov ))))
+(typeattribute base_typeattr_275)
+(typeattributeset base_typeattr_275 (and (appdomain ) (not (mediaprovider_app ))))
+(typeattribute base_typeattr_274)
+(typeattributeset base_typeattr_274 (and (domain ) (not (appdomain crash_dump rs virtualizationmanager ))))
+(typeattribute base_typeattr_273)
+(typeattributeset base_typeattr_273 (and (appdomain ) (not (untrusted_app_32 untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 ))))
+(typeattribute base_typeattr_272)
+(typeattributeset base_typeattr_272 (and (appdomain ) (not (device_as_webcam ))))
+(typeattribute base_typeattr_271)
+(typeattributeset base_typeattr_271 (and (data_file_type ) (not (system_data_file apk_data_file dalvikcache_data_file apex_art_data_file ))))
+(typeattribute base_typeattr_270)
+(typeattributeset base_typeattr_270 (and (appdomain ) (not (bluetooth system_app ))))
+(typeattribute base_typeattr_269)
+(typeattributeset base_typeattr_269 (and (appdomain ) (not (bluetooth nfc ))))
+(typeattribute base_typeattr_268)
+(typeattributeset base_typeattr_268 (and (domain ) (not (credstore init ))))
+(typeattribute base_typeattr_267)
+(typeattributeset base_typeattr_267 (and (appdomain ) (not (platform_app ))))
+(typeattribute base_typeattr_266)
+(typeattributeset base_typeattr_266 (and (domain ) (not (appdomain perfetto ))))
+(typeattribute base_typeattr_265)
+(typeattributeset base_typeattr_265 (and (appdomain ) (not (shell ))))
+(typeattribute base_typeattr_264)
+(typeattributeset base_typeattr_264 (and (domain ) (not (appdomain crash_dump ))))
+(typeattribute base_typeattr_263)
+(typeattributeset base_typeattr_263 (and (domain ) (not (appdomain ))))
+(typeattribute base_typeattr_262)
+(typeattributeset base_typeattr_262 (and (appdomain ) (not (radio ))))
+(typeattribute base_typeattr_261)
+(typeattributeset base_typeattr_261 (and (appdomain ) (not (network_stack ))))
+(typeattribute base_typeattr_260)
+(typeattributeset base_typeattr_260 (and (appdomain ) (not (nfc ))))
+(typeattribute base_typeattr_259)
+(typeattributeset base_typeattr_259 (and (appdomain ) (not (bluetooth network_stack ))))
+(typeattribute base_typeattr_258)
+(typeattributeset base_typeattr_258 (and (appdomain ) (not (bluetooth ))))
+(typeattribute base_typeattr_257)
+(typeattributeset base_typeattr_257 (and (appdomain ) (not (isolated_app_all ))))
+(typeattribute base_typeattr_256)
+(typeattributeset base_typeattr_256 (and (appdomain ) (not (mlstrustedsubject isolated_app_all sdk_sandbox_all ))))
+(typeattribute base_typeattr_255)
+(typeattributeset base_typeattr_255 (and (appdomain ) (not (isolated_app_all sdk_sandbox_all ))))
+(typeattribute base_typeattr_254)
+(typeattributeset base_typeattr_254 (and (appdomain ) (not (isolated_app_all ephemeral_app sdk_sandbox_all ))))
+(typeattribute base_typeattr_253)
+(typeattributeset base_typeattr_253 (and (appdomain ) (not (ephemeral_app sdk_sandbox_all ))))
+(typeattribute base_typeattr_252)
+(typeattributeset base_typeattr_252 (and (appdomain ) (not (sdk_sandbox_all ))))
+(typeattribute base_typeattr_251)
+(typeattributeset base_typeattr_251 (and (appdomain ) (not (untrusted_app_all isolated_app_all ephemeral_app network_stack platform_app priv_app shell system_app sdk_sandbox_all ))))
+(typeattribute base_typeattr_250)
+(typeattributeset base_typeattr_250 (and (domain ) (not (apexd init keystore servicemanager system_server update_engine update_provider ))))
+(typeattribute base_typeattr_249)
+(typeattributeset base_typeattr_249 (and (domain ) (not (apexd init keystore system_server update_engine update_provider ))))
+(typeattribute base_typeattr_248)
+(typeattributeset base_typeattr_248 (and (domain ) (not (apexd init dexopt_chroot_setup otapreopt_chroot ))))
+(typeattribute base_typeattr_247)
+(typeattributeset base_typeattr_247 (and (domain ) (not (apexd init otapreopt_chroot ))))
+(typeattribute base_typeattr_246)
+(typeattributeset base_typeattr_246 (and (domain ) (not (apexd init vold_prepare_subdirs ))))
+(typeattribute base_typeattr_245)
+(typeattributeset base_typeattr_245 (and (domain ) (not (apexd init kernel ))))
+(typeattribute base_typeattr_244)
+(typeattributeset base_typeattr_244 (and (domain ) (not (apexd init ))))
+(typeattribute base_typeattr_243)
+(typeattributeset base_typeattr_243 (and (domain ) (not (apexd ))))
+(typeattribute base_typeattr_242)
+(typeattributeset base_typeattr_242 (and (domain ) (not (adbd_tradeinmode ))))
+(typeattribute base_typeattr_241)
+(typeattributeset base_typeattr_241 (and (domain ) (not (crash_dump shell adbd_tradeinmode ))))
+(typeattribute base_typeattr_240)
+(typeattributeset base_typeattr_240 (and (domain ) (not (init aconfigd aconfigd_mainline ))))
+(typeattribute base_typeattr_239)
+(typeattributeset base_typeattr_239 (all))
+(typeattribute base_typeattr_238)
+(typeattributeset base_typeattr_238 (and (domain ) (not (init ))))
+(typeattribute base_typeattr_237)
+(typeattributeset base_typeattr_237 (and (hal_lazy_test_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_236)
+(typeattributeset base_typeattr_236 (and (hal_lazy_test_server ) (not (hal_lazy_test ))))
+(typeattribute base_typeattr_235)
+(typeattributeset base_typeattr_235 (and (hal_lazy_test_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_234)
+(typeattributeset base_typeattr_234 (and (coredomain ) (not (dumpstate init ))))
+(typeattribute base_typeattr_233)
+(typeattributeset base_typeattr_233 (and (domain ) (not (init vendor_init ))))
+(typeattribute base_typeattr_232)
+(typeattributeset base_typeattr_232 (and (domain ) (not (coredomain ))))
+(typeattribute base_typeattr_231)
+(typeattributeset base_typeattr_231 (and (hal_vm_capabilities_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_230)
+(typeattributeset base_typeattr_230 (and (hal_vm_capabilities_server ) (not (hal_vm_capabilities ))))
+(typeattribute base_typeattr_229)
+(typeattributeset base_typeattr_229 (and (hal_vm_capabilities_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_228)
+(typeattributeset base_typeattr_228 (and (hal_wifi_supplicant_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_227)
+(typeattributeset base_typeattr_227 (and (hal_wifi_supplicant_server ) (not (hal_wifi_supplicant ))))
+(typeattribute base_typeattr_226)
+(typeattributeset base_typeattr_226 (and (hal_wifi_supplicant_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_225)
+(typeattributeset base_typeattr_225 (and (hal_wifi_hostapd_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_224)
+(typeattributeset base_typeattr_224 (and (hal_wifi_hostapd_server ) (not (hal_wifi_hostapd ))))
+(typeattribute base_typeattr_223)
+(typeattributeset base_typeattr_223 (and (hal_wifi_hostapd_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_222)
+(typeattributeset base_typeattr_222 (and (hal_wifi_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_221)
+(typeattributeset base_typeattr_221 (and (hal_wifi_server ) (not (hal_wifi ))))
+(typeattribute base_typeattr_220)
+(typeattributeset base_typeattr_220 (and (hal_wifi_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_219)
+(typeattributeset base_typeattr_219 (and (hal_weaver_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_218)
+(typeattributeset base_typeattr_218 (and (hal_weaver_server ) (not (hal_weaver ))))
+(typeattribute base_typeattr_217)
+(typeattributeset base_typeattr_217 (and (hal_weaver_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_216)
+(typeattributeset base_typeattr_216 (and (hal_vr_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_215)
+(typeattributeset base_typeattr_215 (and (hal_vr_server ) (not (hal_vr ))))
+(typeattribute base_typeattr_214)
+(typeattributeset base_typeattr_214 (and (hal_vr_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_213)
+(typeattributeset base_typeattr_213 (and (hal_vibrator_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_212)
+(typeattributeset base_typeattr_212 (and (hal_vibrator_server ) (not (hal_vibrator ))))
+(typeattribute base_typeattr_211)
+(typeattributeset base_typeattr_211 (and (hal_vibrator_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_210)
+(typeattributeset base_typeattr_210 (and (hal_vehicle_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_209)
+(typeattributeset base_typeattr_209 (and (hal_vehicle_server ) (not (hal_vehicle ))))
+(typeattribute base_typeattr_208)
+(typeattributeset base_typeattr_208 (and (hal_vehicle_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_207)
+(typeattributeset base_typeattr_207 (and (hal_uwb_vendor_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_206)
+(typeattributeset base_typeattr_206 (and (hal_uwb_vendor_server ) (not (hal_uwb_vendor ))))
+(typeattribute base_typeattr_205)
+(typeattributeset base_typeattr_205 (and (hal_uwb_vendor_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_204)
+(typeattributeset base_typeattr_204 (and (hal_uwb_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_203)
+(typeattributeset base_typeattr_203 (and (hal_uwb_server ) (not (hal_uwb ))))
+(typeattribute base_typeattr_202)
+(typeattributeset base_typeattr_202 (and (hal_uwb_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_201)
+(typeattributeset base_typeattr_201 (and (hal_usb_gadget_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_200)
+(typeattributeset base_typeattr_200 (and (hal_usb_gadget_server ) (not (hal_usb_gadget ))))
+(typeattribute base_typeattr_199)
+(typeattributeset base_typeattr_199 (and (hal_usb_gadget_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_198)
+(typeattributeset base_typeattr_198 (and (hal_usb_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_197)
+(typeattributeset base_typeattr_197 (and (hal_usb_server ) (not (hal_usb ))))
+(typeattribute base_typeattr_196)
+(typeattributeset base_typeattr_196 (and (hal_usb_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_195)
+(typeattributeset base_typeattr_195 (and (hal_tv_tuner_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_194)
+(typeattributeset base_typeattr_194 (and (hal_tv_tuner_server ) (not (hal_tv_tuner ))))
+(typeattribute base_typeattr_193)
+(typeattributeset base_typeattr_193 (and (hal_tv_tuner_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_192)
+(typeattributeset base_typeattr_192 (and (hal_tv_input_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_191)
+(typeattributeset base_typeattr_191 (and (hal_tv_input_server ) (not (hal_tv_input ))))
+(typeattribute base_typeattr_190)
+(typeattributeset base_typeattr_190 (and (hal_tv_input_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_189)
+(typeattributeset base_typeattr_189 (and (hal_tv_hdmi_earc_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_188)
+(typeattributeset base_typeattr_188 (and (hal_tv_hdmi_earc_server ) (not (hal_tv_hdmi_earc ))))
+(typeattribute base_typeattr_187)
+(typeattributeset base_typeattr_187 (and (hal_tv_hdmi_earc_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_186)
+(typeattributeset base_typeattr_186 (and (hal_tv_hdmi_connection_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_185)
+(typeattributeset base_typeattr_185 (and (hal_tv_hdmi_connection_server ) (not (hal_tv_hdmi_connection ))))
+(typeattribute base_typeattr_184)
+(typeattributeset base_typeattr_184 (and (hal_tv_hdmi_connection_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_183)
+(typeattributeset base_typeattr_183 (and (hal_tv_hdmi_cec_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_182)
+(typeattributeset base_typeattr_182 (and (hal_tv_hdmi_cec_server ) (not (hal_tv_hdmi_cec ))))
+(typeattribute base_typeattr_181)
+(typeattributeset base_typeattr_181 (and (hal_tv_hdmi_cec_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_180)
+(typeattributeset base_typeattr_180 (and (hal_tv_cec_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_179)
+(typeattributeset base_typeattr_179 (and (hal_tv_cec_server ) (not (hal_tv_cec ))))
+(typeattribute base_typeattr_178)
+(typeattributeset base_typeattr_178 (and (hal_tv_cec_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_177)
+(typeattributeset base_typeattr_177 (and (hal_threadnetwork_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_176)
+(typeattributeset base_typeattr_176 (and (hal_threadnetwork_server ) (not (hal_threadnetwork ))))
+(typeattribute base_typeattr_175)
+(typeattributeset base_typeattr_175 (and (hal_threadnetwork_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_174)
+(typeattributeset base_typeattr_174 (and (hal_thermal_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_173)
+(typeattributeset base_typeattr_173 (and (hal_thermal_server ) (not (hal_thermal ))))
+(typeattribute base_typeattr_172)
+(typeattributeset base_typeattr_172 (and (hal_thermal_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_171)
+(typeattributeset base_typeattr_171 (and (hal_tetheroffload_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_170)
+(typeattributeset base_typeattr_170 (and (hal_tetheroffload_server ) (not (hal_tetheroffload ))))
+(typeattribute base_typeattr_169)
+(typeattributeset base_typeattr_169 (and (hal_tetheroffload_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_168)
+(typeattributeset base_typeattr_168 (and (hal_telephony_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_167)
+(typeattributeset base_typeattr_167 (and (hal_telephony_server ) (not (hal_telephony ))))
+(typeattribute base_typeattr_166)
+(typeattributeset base_typeattr_166 (and (hal_telephony_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_165)
+(typeattributeset base_typeattr_165 (and (hal_sensors_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_164)
+(typeattributeset base_typeattr_164 (and (hal_sensors_server ) (not (hal_sensors ))))
+(typeattribute base_typeattr_163)
+(typeattributeset base_typeattr_163 (and (hal_sensors_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_162)
+(typeattributeset base_typeattr_162 (and (hal_secure_element_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_161)
+(typeattributeset base_typeattr_161 (and (hal_secure_element_server ) (not (hal_secure_element ))))
+(typeattribute base_typeattr_160)
+(typeattributeset base_typeattr_160 (and (hal_secure_element_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_159)
+(typeattributeset base_typeattr_159 (and (hal_remotelyprovisionedcomponent_avf_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_158)
+(typeattributeset base_typeattr_158 (and (hal_remotelyprovisionedcomponent_avf_server ) (not (hal_remotelyprovisionedcomponent_avf ))))
+(typeattribute base_typeattr_157)
+(typeattributeset base_typeattr_157 (and (hal_remotelyprovisionedcomponent_avf_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_156)
+(typeattributeset base_typeattr_156 (and (hal_secretkeeper_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_155)
+(typeattributeset base_typeattr_155 (and (hal_secretkeeper_server ) (not (hal_secretkeeper ))))
+(typeattribute base_typeattr_154)
+(typeattributeset base_typeattr_154 (and (hal_secretkeeper_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_153)
+(typeattributeset base_typeattr_153 (and (hal_remoteaccess_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_152)
+(typeattributeset base_typeattr_152 (and (hal_remoteaccess_server ) (not (hal_remoteaccess ))))
+(typeattribute base_typeattr_151)
+(typeattributeset base_typeattr_151 (and (hal_remoteaccess_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_150)
+(typeattributeset base_typeattr_150 (and (hal_rebootescrow_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_149)
+(typeattributeset base_typeattr_149 (and (hal_rebootescrow_server ) (not (hal_rebootescrow ))))
+(typeattribute base_typeattr_148)
+(typeattributeset base_typeattr_148 (and (hal_rebootescrow_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_147)
+(typeattributeset base_typeattr_147 (and (hal_power_stats_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_146)
+(typeattributeset base_typeattr_146 (and (hal_power_stats_server ) (not (hal_power_stats ))))
+(typeattribute base_typeattr_145)
+(typeattributeset base_typeattr_145 (and (hal_power_stats_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_144)
+(typeattributeset base_typeattr_144 (and (hal_power_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_143)
+(typeattributeset base_typeattr_143 (and (hal_power_server ) (not (hal_power ))))
+(typeattribute base_typeattr_142)
+(typeattributeset base_typeattr_142 (and (hal_power_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_141)
+(typeattributeset base_typeattr_141 (and (hal_omx_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_140)
+(typeattributeset base_typeattr_140 (and (hal_omx_server ) (not (hal_omx ))))
+(typeattribute base_typeattr_139)
+(typeattributeset base_typeattr_139 (and (hal_omx_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_138)
+(typeattributeset base_typeattr_138 (and (hal_oemlock_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_137)
+(typeattributeset base_typeattr_137 (and (hal_oemlock_server ) (not (hal_oemlock ))))
+(typeattribute base_typeattr_136)
+(typeattributeset base_typeattr_136 (and (hal_oemlock_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_135)
+(typeattributeset base_typeattr_135 (and (hal_nlinterceptor_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_134)
+(typeattributeset base_typeattr_134 (and (hal_nlinterceptor_server ) (not (hal_nlinterceptor ))))
+(typeattribute base_typeattr_133)
+(typeattributeset base_typeattr_133 (and (hal_nlinterceptor_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_132)
+(typeattributeset base_typeattr_132 (and (hal_nfc_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_131)
+(typeattributeset base_typeattr_131 (and (hal_nfc_server ) (not (hal_nfc ))))
+(typeattribute base_typeattr_130)
+(typeattributeset base_typeattr_130 (and (hal_nfc_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_129)
+(typeattributeset base_typeattr_129 (and (hal_neuralnetworks_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_128)
+(typeattributeset base_typeattr_128 (and (hal_neuralnetworks_server ) (not (hal_neuralnetworks ))))
+(typeattribute base_typeattr_127)
+(typeattributeset base_typeattr_127 (and (hal_neuralnetworks_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_126)
+(typeattributeset base_typeattr_126 (and (hal_memtrack_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_125)
+(typeattributeset base_typeattr_125 (and (hal_memtrack_server ) (not (hal_memtrack ))))
+(typeattribute base_typeattr_124)
+(typeattributeset base_typeattr_124 (and (hal_memtrack_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_123)
+(typeattributeset base_typeattr_123 (and (hal_mediaquality_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_122)
+(typeattributeset base_typeattr_122 (and (hal_mediaquality_server ) (not (hal_mediaquality ))))
+(typeattribute base_typeattr_121)
+(typeattributeset base_typeattr_121 (and (hal_mediaquality_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_120)
+(typeattributeset base_typeattr_120 (and (hal_macsec_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_119)
+(typeattributeset base_typeattr_119 (and (hal_macsec_server ) (not (hal_macsec ))))
+(typeattribute base_typeattr_118)
+(typeattributeset base_typeattr_118 (and (hal_macsec_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_117)
+(typeattributeset base_typeattr_117 (and (hal_lowpan_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_116)
+(typeattributeset base_typeattr_116 (and (hal_lowpan_server ) (not (hal_lowpan ))))
+(typeattribute base_typeattr_115)
+(typeattributeset base_typeattr_115 (and (hal_lowpan_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_114)
+(typeattributeset base_typeattr_114 (and (hal_light_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_113)
+(typeattributeset base_typeattr_113 (and (hal_light_server ) (not (hal_light ))))
+(typeattribute base_typeattr_112)
+(typeattributeset base_typeattr_112 (and (hal_light_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_111)
+(typeattributeset base_typeattr_111 (and (hal_keymint_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_110)
+(typeattributeset base_typeattr_110 (and (hal_keymint_server ) (not (hal_keymint ))))
+(typeattribute base_typeattr_109)
+(typeattributeset base_typeattr_109 (and (hal_keymint_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_108)
+(typeattributeset base_typeattr_108 (and (hal_keymaster_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_107)
+(typeattributeset base_typeattr_107 (and (hal_keymaster_server ) (not (hal_keymaster ))))
+(typeattribute base_typeattr_106)
+(typeattributeset base_typeattr_106 (and (hal_keymaster_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_105)
+(typeattributeset base_typeattr_105 (and (hal_ivn_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_104)
+(typeattributeset base_typeattr_104 (and (hal_ivn_server ) (not (hal_ivn ))))
+(typeattribute base_typeattr_103)
+(typeattributeset base_typeattr_103 (and (hal_ivn_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_102)
+(typeattributeset base_typeattr_102 (and (hal_ir_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_101)
+(typeattributeset base_typeattr_101 (and (hal_ir_server ) (not (hal_ir ))))
+(typeattribute base_typeattr_100)
+(typeattributeset base_typeattr_100 (and (hal_ir_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_99)
+(typeattributeset base_typeattr_99 (and (hal_input_processor_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_98)
+(typeattributeset base_typeattr_98 (and (hal_input_processor_server ) (not (hal_input_processor ))))
+(typeattribute base_typeattr_97)
+(typeattributeset base_typeattr_97 (and (hal_input_processor_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_96)
+(typeattributeset base_typeattr_96 (and (hal_input_classifier_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_95)
+(typeattributeset base_typeattr_95 (and (hal_input_classifier_server ) (not (hal_input_classifier ))))
+(typeattribute base_typeattr_94)
+(typeattributeset base_typeattr_94 (and (hal_input_classifier_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_93)
+(typeattributeset base_typeattr_93 (and (hal_identity_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_92)
+(typeattributeset base_typeattr_92 (and (hal_identity_server ) (not (hal_identity ))))
+(typeattribute base_typeattr_91)
+(typeattributeset base_typeattr_91 (and (hal_identity_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_90)
+(typeattributeset base_typeattr_90 (and (hal_hwcrypto_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_89)
+(typeattributeset base_typeattr_89 (and (hal_hwcrypto_server ) (not (hal_hwcrypto ))))
+(typeattribute base_typeattr_88)
+(typeattributeset base_typeattr_88 (and (hal_hwcrypto_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_87)
+(typeattributeset base_typeattr_87 (and (hal_health_storage_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_86)
+(typeattributeset base_typeattr_86 (and (hal_health_storage_server ) (not (hal_health_storage ))))
+(typeattribute base_typeattr_85)
+(typeattributeset base_typeattr_85 (and (hal_health_storage_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_84)
+(typeattributeset base_typeattr_84 (and (hal_health_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_83)
+(typeattributeset base_typeattr_83 (and (hal_health_server ) (not (hal_health ))))
+(typeattribute base_typeattr_82)
+(typeattributeset base_typeattr_82 (and (hal_health_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_81)
+(typeattributeset base_typeattr_81 (and (hal_graphics_composer_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_80)
+(typeattributeset base_typeattr_80 (and (hal_graphics_composer_server ) (not (hal_graphics_composer ))))
+(typeattribute base_typeattr_79)
+(typeattributeset base_typeattr_79 (and (hal_graphics_composer_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_78)
+(typeattributeset base_typeattr_78 (and (hal_graphics_allocator_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_77)
+(typeattributeset base_typeattr_77 (and (hal_graphics_allocator_server ) (not (hal_graphics_allocator ))))
+(typeattribute base_typeattr_76)
+(typeattributeset base_typeattr_76 (and (hal_graphics_allocator_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_75)
+(typeattributeset base_typeattr_75 (and (hal_gnss_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_74)
+(typeattributeset base_typeattr_74 (and (hal_gnss_server ) (not (hal_gnss ))))
+(typeattribute base_typeattr_73)
+(typeattributeset base_typeattr_73 (and (hal_gnss_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_72)
+(typeattributeset base_typeattr_72 (and (hal_gatekeeper_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_71)
+(typeattributeset base_typeattr_71 (and (hal_gatekeeper_server ) (not (hal_gatekeeper ))))
+(typeattribute base_typeattr_70)
+(typeattributeset base_typeattr_70 (and (hal_gatekeeper_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_69)
+(typeattributeset base_typeattr_69 (and (hal_fingerprint_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_68)
+(typeattributeset base_typeattr_68 (and (hal_fingerprint_server ) (not (hal_fingerprint ))))
+(typeattribute base_typeattr_67)
+(typeattributeset base_typeattr_67 (and (hal_fingerprint_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_66)
+(typeattributeset base_typeattr_66 (and (hal_fastboot_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_65)
+(typeattributeset base_typeattr_65 (and (hal_fastboot_server ) (not (hal_fastboot ))))
+(typeattribute base_typeattr_64)
+(typeattributeset base_typeattr_64 (and (hal_fastboot_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_63)
+(typeattributeset base_typeattr_63 (and (hal_face_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_62)
+(typeattributeset base_typeattr_62 (and (hal_face_server ) (not (hal_face ))))
+(typeattribute base_typeattr_61)
+(typeattributeset base_typeattr_61 (and (hal_face_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_60)
+(typeattributeset base_typeattr_60 (and (hal_evs_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_59)
+(typeattributeset base_typeattr_59 (and (hal_evs_server ) (not (hal_evs ))))
+(typeattribute base_typeattr_58)
+(typeattributeset base_typeattr_58 (and (hal_evs_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_57)
+(typeattributeset base_typeattr_57 (and (hal_dumpstate_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_56)
+(typeattributeset base_typeattr_56 (and (hal_dumpstate_server ) (not (hal_dumpstate ))))
+(typeattribute base_typeattr_55)
+(typeattributeset base_typeattr_55 (and (hal_dumpstate_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_54)
+(typeattributeset base_typeattr_54 (and (hal_drm_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_53)
+(typeattributeset base_typeattr_53 (and (hal_drm_server ) (not (hal_drm ))))
+(typeattribute base_typeattr_52)
+(typeattributeset base_typeattr_52 (and (hal_drm_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_51)
+(typeattributeset base_typeattr_51 (and (hal_contexthub_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_50)
+(typeattributeset base_typeattr_50 (and (hal_contexthub_server ) (not (hal_contexthub ))))
+(typeattribute base_typeattr_49)
+(typeattributeset base_typeattr_49 (and (hal_contexthub_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_48)
+(typeattributeset base_typeattr_48 (and (hal_confirmationui_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_47)
+(typeattributeset base_typeattr_47 (and (hal_confirmationui_server ) (not (hal_confirmationui ))))
+(typeattribute base_typeattr_46)
+(typeattributeset base_typeattr_46 (and (hal_confirmationui_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_45)
+(typeattributeset base_typeattr_45 (and (hal_configstore_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_44)
+(typeattributeset base_typeattr_44 (and (hal_configstore_server ) (not (hal_configstore ))))
+(typeattribute base_typeattr_43)
+(typeattributeset base_typeattr_43 (and (hal_configstore_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_42)
+(typeattributeset base_typeattr_42 (and (hal_codec2_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_41)
+(typeattributeset base_typeattr_41 (and (hal_codec2_server ) (not (hal_codec2 ))))
+(typeattribute base_typeattr_40)
+(typeattributeset base_typeattr_40 (and (hal_codec2_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_39)
+(typeattributeset base_typeattr_39 (and (hal_cas_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_38)
+(typeattributeset base_typeattr_38 (and (hal_cas_server ) (not (hal_cas ))))
+(typeattribute base_typeattr_37)
+(typeattributeset base_typeattr_37 (and (hal_cas_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_36)
+(typeattributeset base_typeattr_36 (and (hal_can_controller_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_35)
+(typeattributeset base_typeattr_35 (and (hal_can_controller_server ) (not (hal_can_controller ))))
+(typeattribute base_typeattr_34)
+(typeattributeset base_typeattr_34 (and (hal_can_controller_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_33)
+(typeattributeset base_typeattr_33 (and (hal_can_bus_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_32)
+(typeattributeset base_typeattr_32 (and (hal_can_bus_server ) (not (hal_can_bus ))))
+(typeattribute base_typeattr_31)
+(typeattributeset base_typeattr_31 (and (hal_can_bus_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_30)
+(typeattributeset base_typeattr_30 (and (hal_camera_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_29)
+(typeattributeset base_typeattr_29 (and (hal_camera_server ) (not (hal_camera ))))
+(typeattribute base_typeattr_28)
+(typeattributeset base_typeattr_28 (and (hal_camera_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_27)
+(typeattributeset base_typeattr_27 (and (hal_broadcastradio_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_26)
+(typeattributeset base_typeattr_26 (and (hal_broadcastradio_server ) (not (hal_broadcastradio ))))
+(typeattribute base_typeattr_25)
+(typeattributeset base_typeattr_25 (and (hal_broadcastradio_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_24)
+(typeattributeset base_typeattr_24 (and (hal_bootctl_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_23)
+(typeattributeset base_typeattr_23 (and (hal_bootctl_server ) (not (hal_bootctl ))))
+(typeattribute base_typeattr_22)
+(typeattributeset base_typeattr_22 (and (hal_bootctl_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_21)
+(typeattributeset base_typeattr_21 (and (hal_bluetooth_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_20)
+(typeattributeset base_typeattr_20 (and (hal_bluetooth_server ) (not (hal_bluetooth ))))
+(typeattribute base_typeattr_19)
+(typeattributeset base_typeattr_19 (and (hal_bluetooth_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_18)
+(typeattributeset base_typeattr_18 (and (hal_authsecret_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_17)
+(typeattributeset base_typeattr_17 (and (hal_authsecret_server ) (not (hal_authsecret ))))
+(typeattribute base_typeattr_16)
+(typeattributeset base_typeattr_16 (and (hal_authsecret_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_15)
+(typeattributeset base_typeattr_15 (and (hal_authgraph_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_14)
+(typeattributeset base_typeattr_14 (and (hal_authgraph_server ) (not (hal_authgraph ))))
+(typeattribute base_typeattr_13)
+(typeattributeset base_typeattr_13 (and (hal_authgraph_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_12)
+(typeattributeset base_typeattr_12 (and (hal_audiocontrol_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_11)
+(typeattributeset base_typeattr_11 (and (hal_audiocontrol_server ) (not (hal_audiocontrol ))))
+(typeattribute base_typeattr_10)
+(typeattributeset base_typeattr_10 (and (hal_audiocontrol_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_9)
+(typeattributeset base_typeattr_9 (and (hal_audio_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_8)
+(typeattributeset base_typeattr_8 (and (hal_audio_server ) (not (hal_audio ))))
+(typeattribute base_typeattr_7)
+(typeattributeset base_typeattr_7 (and (hal_audio_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_6)
+(typeattributeset base_typeattr_6 (and (hal_atrace_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_5)
+(typeattributeset base_typeattr_5 (and (hal_atrace_server ) (not (hal_atrace ))))
+(typeattribute base_typeattr_4)
+(typeattributeset base_typeattr_4 (and (hal_atrace_server ) (not (halserverdomain ))))
+(typeattribute base_typeattr_3)
+(typeattributeset base_typeattr_3 (and (hal_allocator_client ) (not (halclientdomain ))))
+(typeattribute base_typeattr_2)
+(typeattributeset base_typeattr_2 (and (hal_allocator_server ) (not (hal_allocator ))))
+(typeattribute base_typeattr_1)
+(typeattributeset base_typeattr_1 (and (hal_allocator_server ) (not (halserverdomain ))))
+; THIS IS A WORKAROUND for the current limitations of the module policy language
+; This should be used sparingly until we figure out a saner way to achieve the
+; stuff below, for example, by improving typeattribute statement of module
+; language.
+;
+; NOTE: This file has no effect on recovery policy.
+
+; Apps, except isolated apps, are clients of Allocator HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_allocator_client;
+;     typeattribute hal_allocator_client halclientdomain;
+(typeattributeset hal_allocator_client ((and (appdomain) ((not (isolated_app_all))))))
+(typeattributeset halclientdomain (hal_allocator_client))
+
+; Apps, except isolated apps, are clients of OMX-related services
+; Unfortunately, we can't currently express this in module policy language:
+(typeattributeset hal_omx_client ((and (appdomain) ((not (isolated_app))))))
+
+; Apps, except isolated apps, are clients of Codec2-related services
+; Unfortunately, we can't currently express this in module policy language:
+(typeattributeset hal_codec2_client ((and (appdomain) ((not (isolated_app))))))
+
+; Apps, except isolated apps and SDK sandboxes, are clients of Drm-related services
+; Unfortunately, we can't currently express this in module policy language:
+(typeattributeset hal_drm_client ((and (appdomain) ((not (or (isolated_app_all) (sdk_sandbox_all)))))))
+
+; Apps, except isolated apps, are clients of Configstore HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_configstore_client;
+(typeattributeset hal_configstore_client ((and (appdomain) ((not (isolated_app_all))))))
+
+; Apps, except isolated apps, are clients of Graphics Allocator HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app } hal_graphics_allocator_client;
+(typeattributeset hal_graphics_allocator_client ((and (appdomain) ((not (isolated_app))))))
+
+; Apps, except isolated apps, are clients of Cas HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_cas_client;
+(typeattributeset hal_cas_client ((and (appdomain) ((not (isolated_app_all))))))
+
+; Domains hosting Camera HAL implementations are clients of Allocator HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute hal_camera hal_allocator_client;
+(typeattributeset hal_allocator_client (hal_camera))
+
+; Apps, except isolated apps, are clients of Neuralnetworks HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_neuralnetworks_client;
+(typeattributeset hal_neuralnetworks_client ((and (appdomain) ((not (isolated_app))))))
+
+; TODO(b/112056006): move these to mapping files when/if we implement 'versioned' attributes.
+; Rename untrusted_app_visible_* to untrusted_app_visible_*_violators.
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute untrusted_app_visible_hwservice untrusted_app_visible_hwservice_violators;
+;     typeattribute untrusted_app_visible_halserver untrusted_app_visible_halserver_violators;
+(typeattribute untrusted_app_visible_hwservice)
+(typeattributeset untrusted_app_visible_hwservice_violators (untrusted_app_visible_hwservice))
+(typeattribute untrusted_app_visible_halserver)
+(typeattributeset untrusted_app_visible_halserver_violators (untrusted_app_visible_halserver))
+
+; Properties having both system_property_type and vendor_property_type are illegal
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { system_property_type && vendor_property_type } system_and_vendor_property_type;
+(typeattribute system_and_vendor_property_type)
+(typeattributeset system_and_vendor_property_type ((and (system_property_type) (vendor_property_type))))
diff --git a/prebuilts/api/202504/Android.bp b/prebuilts/api/202504/Android.bp
new file mode 100644
index 0000000..7deda43
--- /dev/null
+++ b/prebuilts/api/202504/Android.bp
@@ -0,0 +1,106 @@
+// Automatically generated file, do not edit!
+se_policy_conf {
+    name: "202504_reqd_policy_mask.conf",
+    defaults: ["se_policy_conf_flags_defaults"],
+    srcs: reqd_mask_policy,
+    installable: false,
+    build_variant: "user",
+    board_api_level: "202504",
+}
+
+se_policy_cil {
+    name: "202504_reqd_policy_mask.cil",
+    src: ":202504_reqd_policy_mask.conf",
+    secilc_check: false,
+    installable: false,
+}
+
+se_policy_conf {
+    name: "202504_plat_pub_policy.conf",
+    defaults: ["se_policy_conf_flags_defaults"],
+    srcs: [
+        ":se_build_files{.plat_public_202504}",
+        ":se_build_files{.reqd_mask}",
+    ],
+    installable: false,
+    build_variant: "user",
+    board_api_level: "202504",
+}
+
+se_policy_cil {
+    name: "202504_plat_pub_policy.cil",
+    src: ":202504_plat_pub_policy.conf",
+    filter_out: [":202504_reqd_policy_mask.cil"],
+    secilc_check: false,
+    installable: false,
+}
+
+se_policy_conf {
+    name: "202504_product_pub_policy.conf",
+    defaults: ["se_policy_conf_flags_defaults"],
+    srcs: [
+        ":se_build_files{.plat_public_202504}",
+        ":se_build_files{.system_ext_public_202504}",
+        ":se_build_files{.product_public_202504}",
+        ":se_build_files{.reqd_mask}",
+    ],
+    installable: false,
+    build_variant: "user",
+    board_api_level: "202504",
+}
+
+se_policy_cil {
+    name: "202504_product_pub_policy.cil",
+    src: ":202504_product_pub_policy.conf",
+    filter_out: [":202504_reqd_policy_mask.cil"],
+    secilc_check: false,
+    installable: false,
+}
+
+se_versioned_policy {
+    name: "202504_plat_pub_versioned.cil",
+    base: ":202504_product_pub_policy.cil",
+    target_policy: ":202504_product_pub_policy.cil",
+    version: "202504",
+    installable: false,
+}
+
+se_policy_conf {
+    name: "202504_plat_policy.conf",
+    defaults: ["se_policy_conf_flags_defaults"],
+    srcs: [
+        ":se_build_files{.plat_public_202504}",
+        ":se_build_files{.plat_private_202504}",
+        ":se_build_files{.system_ext_public_202504}",
+        ":se_build_files{.system_ext_private_202504}",
+        ":se_build_files{.product_public_202504}",
+        ":se_build_files{.product_private_202504}",
+    ],
+    installable: false,
+    build_variant: "user",
+}
+
+se_policy_cil {
+    name: "202504_plat_policy.cil",
+    src: ":202504_plat_policy.conf",
+    additional_cil_files: [":sepolicy_technical_debt{.plat_private_202504}"],
+    installable: false,
+}
+
+se_policy_binary {
+    name: "202504_plat_policy",
+    srcs: [":202504_plat_policy.cil"],
+    installable: false,
+    dist: {
+        targets: ["base-sepolicy-files-for-mapping"],
+    },
+}
+
+filegroup {
+    name: "202504_sepolicy_cts_data",
+    srcs: [
+        "202504_general_sepolicy.conf",
+        "202504_plat_sepolicy.cil",
+        "202504_mapping.cil",
+    ],
+}
diff --git a/prebuilts/api/202504/private/access_vectors b/prebuilts/api/202504/private/access_vectors
new file mode 100644
index 0000000..f91c1a4
--- /dev/null
+++ b/prebuilts/api/202504/private/access_vectors
@@ -0,0 +1,814 @@
+#
+# Define common prefixes for access vectors
+#
+# common common_name { permission_name ... }
+
+
+#
+# Define a common prefix for file access vectors.
+#
+
+common file
+{
+	ioctl
+	read
+	write
+	create
+	getattr
+	setattr
+	lock
+	relabelfrom
+	relabelto
+	append
+	map
+	unlink
+	link
+	rename
+	execute
+	quotaon
+	mounton
+	audit_access
+	open
+	execmod
+	watch
+	watch_mount
+	watch_sb
+	watch_with_perm
+	watch_reads
+}
+
+
+#
+# Define a common prefix for socket access vectors.
+#
+
+common socket
+{
+# inherited from file
+	ioctl
+	read
+	write
+	create
+	getattr
+	setattr
+	lock
+	relabelfrom
+	relabelto
+	append
+	map
+# socket-specific
+	bind
+	connect
+	listen
+	accept
+	getopt
+	setopt
+	shutdown
+	recvfrom
+	sendto
+	name_bind
+}
+
+#
+# Define a common prefix for ipc access vectors.
+#
+
+common ipc
+{
+	create
+	destroy
+	getattr
+	setattr
+	read
+	write
+	associate
+	unix_read
+	unix_write
+}
+
+#
+# Define a common for capability access vectors.
+#
+common cap
+{
+	# The capabilities are defined in include/linux/capability.h
+	# Capabilities >= 32 are defined in the cap2 common.
+	# Care should be taken to ensure that these are consistent with
+	# those definitions. (Order matters)
+
+	chown
+	dac_override
+	dac_read_search
+	fowner
+	fsetid
+	kill
+	setgid
+	setuid
+	setpcap
+	linux_immutable
+	net_bind_service
+	net_broadcast
+	net_admin
+	net_raw
+	ipc_lock
+	ipc_owner
+	sys_module
+	sys_rawio
+	sys_chroot
+	sys_ptrace
+	sys_pacct
+	sys_admin
+	sys_boot
+	sys_nice
+	sys_resource
+	sys_time
+	sys_tty_config
+	mknod
+	lease
+	audit_write
+	audit_control
+	setfcap
+}
+
+common cap2
+{
+	mac_override	# unused by SELinux
+	mac_admin
+	syslog
+	wake_alarm
+	block_suspend
+	audit_read
+	perfmon
+	starting_at_board_api(202504, `checkpoint_restore')
+	starting_at_board_api(202504, `bpf')
+}
+
+#
+# Define the access vectors.
+#
+# class class_name [ inherits common_name ] { permission_name ... }
+
+
+#
+# Define the access vector interpretation for file-related objects.
+#
+
+class filesystem
+{
+	mount
+	remount
+	unmount
+	getattr
+	relabelfrom
+	relabelto
+	associate
+	quotamod
+	quotaget
+	watch
+}
+
+class dir
+inherits file
+{
+	add_name
+	remove_name
+	reparent
+	search
+	rmdir
+}
+
+class file
+inherits file
+{
+	execute_no_trans
+	entrypoint
+}
+
+class anon_inode
+inherits file
+
+class lnk_file
+inherits file
+
+class chr_file
+inherits file
+{
+	execute_no_trans
+	entrypoint
+}
+
+class blk_file
+inherits file
+
+class sock_file
+inherits file
+
+class fifo_file
+inherits file
+
+class fd
+{
+	use
+}
+
+
+#
+# Define the access vector interpretation for network-related objects.
+#
+
+class socket
+inherits socket
+
+class tcp_socket
+inherits socket
+{
+	node_bind
+	name_connect
+}
+
+class udp_socket
+inherits socket
+{
+	node_bind
+}
+
+class rawip_socket
+inherits socket
+{
+	node_bind
+}
+
+class node
+{
+	recvfrom
+	sendto
+}
+
+class netif
+{
+	ingress
+	egress
+}
+
+class netlink_socket
+inherits socket
+
+class packet_socket
+inherits socket
+
+class key_socket
+inherits socket
+
+class unix_stream_socket
+inherits socket
+{
+	connectto
+}
+
+class unix_dgram_socket
+inherits socket
+
+#
+# Define the access vector interpretation for process-related objects
+#
+
+class process
+{
+	fork
+	transition
+	sigchld # commonly granted from child to parent
+	sigkill # cannot be caught or ignored
+	sigstop # cannot be caught or ignored
+	signull # for kill(pid, 0)
+	signal  # all other signals
+	ptrace
+	getsched
+	setsched
+	getsession
+	getpgid
+	setpgid
+	getcap
+	setcap
+	share
+	getattr
+	setexec
+	setfscreate
+	noatsecure
+	siginh
+	setrlimit
+	rlimitinh
+	dyntransition
+	setcurrent
+	execmem
+	execstack
+	execheap
+	setkeycreate
+	setsockcreate
+	getrlimit
+}
+
+class process2
+{
+	nnp_transition
+	nosuid_transition
+}
+
+#
+# Define the access vector interpretation for ipc-related objects
+#
+
+class ipc
+inherits ipc
+
+class sem
+inherits ipc
+
+class msgq
+inherits ipc
+{
+	enqueue
+}
+
+class msg
+{
+	send
+	receive
+}
+
+class shm
+inherits ipc
+{
+	lock
+}
+
+
+#
+# Define the access vector interpretation for the security server.
+#
+
+class security
+{
+	compute_av
+	compute_create
+	compute_member
+	check_context
+	load_policy
+	compute_relabel
+	compute_user
+	setenforce     # was avc_toggle in system class
+	setbool
+	setsecparam
+	setcheckreqprot
+	read_policy
+	validate_trans
+}
+
+
+#
+# Define the access vector interpretation for system operations.
+#
+
+class system
+{
+	ipc_info
+	syslog_read
+	syslog_mod
+	syslog_console
+	module_request
+	module_load
+}
+
+#
+# Define the access vector interpretation for controlling capabilities
+#
+
+class capability
+inherits cap
+
+class capability2
+inherits cap2
+
+#
+# Extended Netlink classes
+#
+class netlink_route_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+	nlmsg_readpriv
+	nlmsg_getneigh
+}
+
+class netlink_tcpdiag_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+}
+
+class netlink_nflog_socket
+inherits socket
+
+class netlink_xfrm_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+}
+
+class netlink_selinux_socket
+inherits socket
+
+class netlink_audit_socket
+inherits socket
+{
+	nlmsg_read
+	nlmsg_write
+	nlmsg_relay
+	nlmsg_readpriv
+	nlmsg_tty_audit
+}
+
+class netlink_dnrt_socket
+inherits socket
+
+# Define the access vector interpretation for controlling
+# access to IPSec network data by association
+#
+class association
+{
+	sendto
+	recvfrom
+	setcontext
+	polmatch
+}
+
+# Updated Netlink class for KOBJECT_UEVENT family.
+class netlink_kobject_uevent_socket
+inherits socket
+
+class appletalk_socket
+inherits socket
+
+class packet
+{
+	send
+	recv
+	relabelto
+	forward_in
+	forward_out
+}
+
+class key
+{
+	view
+	read
+	write
+	search
+	link
+	setattr
+	create
+}
+
+class dccp_socket
+inherits socket
+{
+	node_bind
+	name_connect
+}
+
+class memprotect
+{
+	mmap_zero
+}
+
+# network peer labels
+class peer
+{
+	recv
+}
+
+class kernel_service
+{
+	use_as_override
+	create_files_as
+}
+
+class tun_socket
+inherits socket
+{
+	attach_queue
+}
+
+class binder
+{
+	impersonate
+	call
+	set_context_mgr
+	transfer
+}
+
+class netlink_iscsi_socket
+inherits socket
+
+class netlink_fib_lookup_socket
+inherits socket
+
+class netlink_connector_socket
+inherits socket
+
+class netlink_netfilter_socket
+inherits socket
+
+class netlink_generic_socket
+inherits socket
+
+class netlink_scsitransport_socket
+inherits socket
+
+class netlink_rdma_socket
+inherits socket
+
+class netlink_crypto_socket
+inherits socket
+
+class infiniband_pkey
+{
+	access
+}
+
+class infiniband_endport
+{
+	manage_subnet
+}
+
+#
+# Define the access vector interpretation for controlling capabilities
+# in user namespaces
+#
+
+class cap_userns
+inherits cap
+
+class cap2_userns
+inherits cap2
+
+
+#
+# Define the access vector interpretation for the new socket classes
+# enabled by the extended_socket_class policy capability.
+#
+
+#
+# The next two classes were previously mapped to rawip_socket and therefore
+# have the same definition as rawip_socket (until further permissions
+# are defined).
+#
+class sctp_socket
+inherits socket
+{
+	node_bind
+	name_connect
+	association
+}
+
+class icmp_socket
+inherits socket
+{
+	node_bind
+}
+
+#
+# The remaining network socket classes were previously
+# mapped to the socket class and therefore have the
+# same definition as socket.
+#
+
+class ax25_socket
+inherits socket
+
+class ipx_socket
+inherits socket
+
+class netrom_socket
+inherits socket
+
+class atmpvc_socket
+inherits socket
+
+class x25_socket
+inherits socket
+
+class rose_socket
+inherits socket
+
+class decnet_socket
+inherits socket
+
+class atmsvc_socket
+inherits socket
+
+class rds_socket
+inherits socket
+
+class irda_socket
+inherits socket
+
+class pppox_socket
+inherits socket
+
+class llc_socket
+inherits socket
+
+class can_socket
+inherits socket
+
+class tipc_socket
+inherits socket
+
+class bluetooth_socket
+inherits socket
+
+class iucv_socket
+inherits socket
+
+class rxrpc_socket
+inherits socket
+
+class isdn_socket
+inherits socket
+
+class phonet_socket
+inherits socket
+
+class ieee802154_socket
+inherits socket
+
+class caif_socket
+inherits socket
+
+class alg_socket
+inherits socket
+
+class nfc_socket
+inherits socket
+
+class vsock_socket
+inherits socket
+
+class kcm_socket
+inherits socket
+
+class qipcrtr_socket
+inherits socket
+
+class smc_socket
+inherits socket
+
+class xdp_socket
+inherits socket
+
+class mctp_socket
+inherits socket
+
+class bpf
+{
+	map_create
+	map_read
+	map_write
+	prog_load
+	prog_run
+}
+
+class property_service
+{
+	set
+}
+
+class service_manager
+{
+	add
+	find
+	list
+}
+
+class hwservice_manager
+{
+	add
+	find
+	list
+}
+
+class keystore_key # No longer used
+{
+	get_state
+	get
+	insert
+	delete
+	exist
+	list
+	reset
+	password
+	lock
+	unlock
+	is_empty
+	sign
+	verify
+	grant
+	duplicate
+	clear_uid
+	add_auth
+	user_changed
+	gen_unique_id
+}
+
+class keystore2
+{
+	add_auth
+	change_password
+	change_user
+	clear_ns
+	clear_uid
+	delete_all_keys
+	early_boot_ended
+	get_attestation_key
+	get_auth_token
+	get_last_auth_time
+	get_state # No longer used
+	list
+	lock
+	pull_metrics
+	report_off_body # No longer used
+	reset
+	unlock
+}
+
+class keystore2_key
+{
+	convert_storage_key_to_ephemeral
+	delete
+	gen_unique_id
+	get_info
+	grant
+	manage_blob
+	rebind
+	req_forced_op
+	update
+	use
+	use_dev_id
+}
+
+class diced
+{
+	demote
+	demote_self
+	derive
+	get_attestation_chain
+	use_seal
+	use_sign
+}
+
+class drmservice {
+	consumeRights
+	setPlaybackStatus
+	openDecryptSession
+	closeDecryptSession
+	initializeDecryptUnit
+	decrypt
+	finalizeDecryptUnit
+	pread
+}
+
+class perf_event
+{
+	open
+	cpu
+	kernel
+	tracepoint
+	read
+	write
+}
+
+class lockdown
+{
+	integrity
+	confidentiality
+}
+
+class io_uring
+{
+	override_creds
+	sqpoll
+	cmd
+}
+
+class user_namespace
+{
+	create
+}
+
+class tee_service
+{
+	use
+}
diff --git a/prebuilts/api/202504/private/aconfigd.te b/prebuilts/api/202504/private/aconfigd.te
new file mode 100644
index 0000000..211405b
--- /dev/null
+++ b/prebuilts/api/202504/private/aconfigd.te
@@ -0,0 +1,70 @@
+# aconfigd -- manager for aconfig flags
+type aconfigd, domain, coredomain, mlstrustedsubject;
+type aconfigd_exec, exec_type, file_type, system_file_type;
+
+init_daemon_domain(aconfigd)
+
+allow aconfigd metadata_file:dir search;
+
+allow aconfigd {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:dir create_dir_perms;
+
+allow aconfigd {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:file create_file_perms;
+
+# allow aconfigd to log to the kernel dmesg via a file descriptor
+# passed from init to aconfigd
+allow aconfigd kmsg_device:chr_file write;
+
+# allow aconfigd to read vendor partition storage files
+allow aconfigd vendor_aconfig_storage_file:file r_file_perms;
+allow aconfigd vendor_aconfig_storage_file:dir r_dir_perms;
+
+# allow aconfigd to read /apex dir
+allow aconfigd apex_mnt_dir:dir r_dir_perms;
+allow aconfigd apex_mnt_dir:file r_file_perms;
+dontaudit aconfigd apex_info_file:file r_file_perms;
+
+###
+### Neverallow assertions
+###
+
+# only init is allowed to enter the aconfigd domain
+neverallow { domain -init } aconfigd:process transition;
+neverallow * aconfigd:process dyntransition;
+
+# Do not allow write access to boot/map storage files except, aconfigd and aconfigd_mainline.
+# These files are meant to serve flag reads for all processes. They are created by aconfigd (for
+# platform storage files) and aconfigd_mainline (mainline storage files) processes.
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_metadata_file:dir no_w_dir_perms;
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_metadata_file:file no_w_file_perms;
+
+# Only aconfigd and aconfigd_mainline can access persist storage files
+# These files are meant to serve as persist flag value storage, only aconfigd and
+# aconfigd_mainline process should manage them. Other processes should have zero access.
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_flags_metadata_file:dir *;
+neverallow {
+  domain
+  -init
+  -aconfigd
+  -aconfigd_mainline
+} aconfig_storage_flags_metadata_file:file no_rw_file_perms;
diff --git a/prebuilts/api/202504/private/aconfigd_mainline.te b/prebuilts/api/202504/private/aconfigd_mainline.te
new file mode 100644
index 0000000..cd98d4b
--- /dev/null
+++ b/prebuilts/api/202504/private/aconfigd_mainline.te
@@ -0,0 +1,38 @@
+# aconfigd_mainline -- manager for mainline aconfig flags
+type aconfigd_mainline, domain, coredomain, mlstrustedsubject;
+type aconfigd_mainline_exec, exec_type, file_type, system_file_type;
+
+init_daemon_domain(aconfigd_mainline)
+
+# allow aconfigd_mainline to search /metadata dir as it needs to access files under
+# /metadata/aconfig dir
+allow aconfigd_mainline metadata_file:dir search;
+
+# aconfigd_mainline should be able to create storage files under /metadata/aconfig dir
+allow aconfigd_mainline {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:dir create_dir_perms;
+
+allow aconfigd_mainline {
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+}:file create_file_perms;
+
+# allow aconfigd_mainline to log to the kernel.
+allow aconfigd_mainline kmsg_device:chr_file write;
+
+# allow aconfigd_mainline to read /apex dir, aconfigd_mainline need to loop thru all
+# dirs under /apex to find all currently mounted mainline modules and get their
+# storage files
+allow aconfigd_mainline apex_mnt_dir:dir r_dir_perms;
+allow aconfigd_mainline apex_mnt_dir:file r_file_perms;
+dontaudit aconfigd_mainline apex_info_file:file r_file_perms;
+
+###
+### Neverallow assertions
+###
+
+# only init is allowed to enter the aconfigd_mainline domain
+neverallow { domain -init } aconfigd_mainline:process transition;
+neverallow * aconfigd_mainline:process dyntransition;
diff --git a/prebuilts/api/202504/private/adbd.te b/prebuilts/api/202504/private/adbd.te
new file mode 100644
index 0000000..138c8f5
--- /dev/null
+++ b/prebuilts/api/202504/private/adbd.te
@@ -0,0 +1,237 @@
+### ADB daemon
+
+typeattribute adbd coredomain;
+typeattribute adbd mlstrustedsubject;
+typeattribute adbd adbd_common;
+
+init_daemon_domain(adbd)
+
+domain_auto_trans(adbd, shell_exec, shell)
+
+# Allow adb to setcon() to tradeinmode.
+allow adbd self:process setcurrent;
+allow adbd adbd_tradeinmode:process dyntransition;
+
+userdebug_or_eng(`
+  allow adbd su:process dyntransition;
+')
+
+# When 'adb shell' is executed in recovery mode, adbd explicitly
+# switches into shell domain using setcon() because the shell executable
+# is not labeled as shell but as rootfs.
+recovery_only(`
+  domain_trans(adbd, rootfs, shell)
+  allow adbd shell:process dyntransition;
+
+  # Allows reboot fastboot to enter fastboot directly
+  unix_socket_connect(adbd, recovery, recovery)
+')
+
+# Control Perfetto traced and obtain traces from it.
+# Needed to allow port forwarding directly to traced.
+unix_socket_connect(adbd, traced_consumer, traced)
+
+# Do not sanitize the environment or open fds of the shell. Allow signaling
+# created processes.
+allow adbd shell:process { noatsecure signal };
+
+# Set UID and GID to shell.  Set supplementary groups.
+allow adbd self:global_capability_class_set { setuid setgid };
+
+# Drop capabilities from bounding set on user builds.
+allow adbd self:global_capability_class_set setpcap;
+
+# ignore spurious denials for adbd when disk space is low.
+dontaudit adbd self:global_capability_class_set sys_resource;
+
+# Create and use network sockets.
+net_domain(adbd)
+# Access /dev/usb-ffs/adb/ep0
+allow adbd functionfs:dir search;
+allow adbd functionfs:file rw_file_perms;
+allowxperm adbd functionfs:file ioctl {
+  FUNCTIONFS_ENDPOINT_DESC
+  FUNCTIONFS_CLEAR_HALT
+};
+
+# adb pull /data/local/traces/*
+allow adbd trace_data_file:dir r_dir_perms;
+allow adbd trace_data_file:file r_file_perms;
+
+# adb pull /data/misc/profman.
+allow adbd profman_dump_data_file:dir r_dir_perms;
+allow adbd profman_dump_data_file:file r_file_perms;
+
+# adb push/pull sdcard.
+allow adbd tmpfs:dir search;
+allow adbd rootfs:lnk_file r_file_perms;  # /sdcard symlink
+allow adbd tmpfs:lnk_file r_file_perms;   # /mnt/sdcard symlink
+allow adbd { sdcard_type fuse }:dir create_dir_perms;
+allow adbd { sdcard_type fuse }:file create_file_perms;
+
+# adb pull /data/anr/traces.txt
+allow adbd anr_data_file:dir r_dir_perms;
+allow adbd anr_data_file:file r_file_perms;
+
+# adb pull /vendor/framework/*
+allow adbd vendor_framework_file:dir r_dir_perms;
+allow adbd vendor_framework_file:file r_file_perms;
+
+# Set service.adb.*, sys.powerctl, and sys.usb.ffs.ready properties.
+set_prop(adbd, shell_prop)
+set_prop(adbd, powerctl_prop)
+get_prop(adbd, ffs_config_prop)
+set_prop(adbd, ffs_control_prop)
+set_prop(adbd, adbd_tradeinmode_prop)
+
+# Allow adbd start/stop mdnsd via ctl.start
+set_prop(adbd, ctl_mdnsd_prop)
+
+# Read device's overlayfs related properties and files
+userdebug_or_eng(`
+  get_prop(adbd, persistent_properties_ready_prop)
+  r_dir_file(adbd, sysfs_dt_firmware_android)
+')
+
+# Run /system/bin/bu
+allow adbd system_file:file rx_file_perms;
+
+# Perform binder IPC to surfaceflinger (screencap)
+# XXX Run screencap in a separate domain?
+binder_use(adbd)
+binder_call(adbd, surfaceflinger)
+binder_call(adbd, gpuservice)
+# b/13188914
+allow adbd gpu_device:chr_file rw_file_perms;
+allow adbd gpu_device:dir r_dir_perms;
+allow adbd ion_device:chr_file rw_file_perms;
+r_dir_file(adbd, system_file)
+
+# Needed for various screenshots
+hal_client_domain(adbd, hal_graphics_allocator)
+
+# Read /data/misc/adb/adb_keys.
+allow adbd adb_keys_file:dir search;
+allow adbd adb_keys_file:file r_file_perms;
+
+userdebug_or_eng(`
+  # Write debugging information to /data/adb
+  # when persist.adb.trace_mask is set
+  # https://code.google.com/p/android/issues/detail?id=72895
+  allow adbd adb_data_file:dir rw_dir_perms;
+  allow adbd adb_data_file:file create_file_perms;
+')
+
+# ndk-gdb invokes adb forward to forward the gdbserver socket.
+allow adbd app_data_file:dir search;
+allow adbd app_data_file:sock_file write;
+allow adbd appdomain:unix_stream_socket connectto;
+
+# ndk-gdb invokes adb pull of app_process, linker, and libc.so.
+allow adbd zygote_exec:file r_file_perms;
+allow adbd system_file:file r_file_perms;
+
+# Allow pulling the SELinux policy for CTS purposes
+allow adbd selinuxfs:dir r_dir_perms;
+allow adbd selinuxfs:file r_file_perms;
+allow adbd kernel:security read_policy;
+allow adbd service_contexts_file:file r_file_perms;
+allow adbd file_contexts_file:file r_file_perms;
+allow adbd seapp_contexts_file:file r_file_perms;
+allow adbd property_contexts_file:file r_file_perms;
+allow adbd sepolicy_file:file r_file_perms;
+
+# Allow pulling config.gz for CTS purposes
+allow adbd config_gz:file r_file_perms;
+
+# For CTS listening ports test.
+allow adbd proc_net_tcp_udp:file r_file_perms;
+
+allow adbd gpu_service:service_manager find;
+allow adbd surfaceflinger_service:service_manager find;
+allow adbd bootchart_data_file:dir search;
+allow adbd bootchart_data_file:file r_file_perms;
+
+# Allow access to external storage; we have several visible mount points under /storage
+# and symlinks to primary storage at places like /storage/sdcard0 and /mnt/user/0/primary
+allow adbd storage_file:dir r_dir_perms;
+allow adbd storage_file:lnk_file r_file_perms;
+allow adbd mnt_user_file:dir r_dir_perms;
+allow adbd mnt_user_file:lnk_file r_file_perms;
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow adbd media_rw_data_file:dir create_dir_perms;
+allow adbd media_rw_data_file:file create_file_perms;
+
+r_dir_file(adbd, apk_data_file)
+
+allow adbd rootfs:dir r_dir_perms;
+
+# Allow killing child "perfetto" binary processes, which auto-transition to
+# their own domain. Allows propagating termination of "adb shell perfetto ..."
+# invocations.
+allow adbd perfetto:process signal;
+
+# Allow to pull Perfetto traces.
+allow adbd perfetto_traces_data_file:file r_file_perms;
+allow adbd perfetto_traces_data_file:dir r_dir_perms;
+
+# Allow to pull ProfilingManager Perfetto traces.
+allow adbd perfetto_traces_profiling_data_file:file r_file_perms;
+allow adbd perfetto_traces_profiling_data_file:dir r_dir_perms;
+
+# Allow to push and manage configs in /data/misc/perfetto-configs.
+allow adbd perfetto_configs_data_file:dir rw_dir_perms;
+allow adbd perfetto_configs_data_file:file create_file_perms;
+
+# Connect to shell and use a socket transferred from it.
+# Used for e.g. abb.
+allow adbd shell:unix_stream_socket { read write shutdown };
+allow adbd shell:fd use;
+
+# adb push/pull /data/local/tmp.
+allow adbd shell_data_file:dir create_dir_perms;
+allow adbd shell_data_file:file create_file_perms;
+
+# Allow pull /vendor/apex files for CTS tests
+r_dir_file(adbd, vendor_apex_file)
+
+# Allow adb pull of updated apex files in /data/apex/active.
+allow adbd apex_data_file:dir search;
+allow adbd staging_data_file:file r_file_perms;
+
+# Allow adbd to pull /apex/apex-info-list.xml for CTS tests.
+allow adbd apex_info_file:file r_file_perms;
+
+# allow reading tombstones. users can already use bugreports to get those.
+allow adbd tombstone_data_file:dir r_dir_perms;
+allow adbd tombstone_data_file:file r_file_perms;
+
+# Access /data/local/tests.
+allow adbd shell_test_data_file:dir create_dir_perms;
+allow adbd shell_test_data_file:file create_file_perms;
+allow adbd shell_test_data_file:lnk_file create_file_perms;
+
+###
+### Neverallow rules
+###
+
+# No transitions from adbd to non-shell, non-crash_dump domains. adbd only ever
+# transitions to the shell or tradeinmode domain (except when it crashes). In
+# particular, we never want to see a transition from adbd to su (aka "adb root")
+neverallow adbd { domain -crash_dump -shell -adbd_tradeinmode }:process transition;
+neverallow adbd {
+    domain
+    userdebug_or_eng(`-su')
+    recovery_only(`-shell')
+    -adbd_tradeinmode
+}:process dyntransition;
+
+# Only init is allowed to enter the adbd domain via exec()
+neverallow { domain -init } adbd:process transition;
+neverallow * adbd:process dyntransition;
+
+# allow adbd to check if an app is frozen
+allow adbd cgroup_v2:file read;
diff --git a/prebuilts/api/202504/private/adbd_common.te b/prebuilts/api/202504/private/adbd_common.te
new file mode 100644
index 0000000..c24b029
--- /dev/null
+++ b/prebuilts/api/202504/private/adbd_common.te
@@ -0,0 +1,31 @@
+### ADB daemon common rules.
+### Put things here that are needed for both adbd proper and adbd in trade-in mode.
+
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(adbd_common, mdnsd, mdnsd)
+
+# adbd probes for vsock support. Do not generate denials when
+# this occurs. (b/123569840)
+dontaudit adbd_common self:{ socket vsock_socket } create;
+
+# Allow adbd inside vm to forward vm's vsock.
+allow adbd_common self:vsock_socket { create_socket_perms_no_ioctl listen accept };
+
+# Access device logging gating property
+get_prop(adbd_common, device_logging_prop)
+
+# Use a pseudo tty.
+allow adbd_common devpts:chr_file rw_file_perms;
+
+# Read persist.adb.tls_server.enable property
+get_prop(adbd_common, system_adbd_prop)
+
+# Read whether or not Test Harness Mode is enabled
+get_prop(adbd_common, test_harness_prop)
+
+# Set service.adb.tcp.port, service.adb.tls.port, persist.adb.wifi.* properties
+set_prop(adbd_common, adbd_prop)
+set_prop(adbd_common, adbd_config_prop)
+
+# Read device's serial number from system properties
+get_prop(adbd_common, serialno_prop)
diff --git a/prebuilts/api/202504/private/adbd_tradeinmode.te b/prebuilts/api/202504/private/adbd_tradeinmode.te
new file mode 100644
index 0000000..42fdec4
--- /dev/null
+++ b/prebuilts/api/202504/private/adbd_tradeinmode.te
@@ -0,0 +1,26 @@
+### ADB in trade-in mode
+type adbd_tradeinmode, domain, coredomain, adbd_common;
+
+# Create and use network sockets.
+net_domain(adbd_tradeinmode)
+
+# Run /system/bin/tradeinmode
+domain_auto_trans(adbd_tradeinmode, tradeinmode_exec, tradeinmode)
+
+# Baseline rules to make adbd work after setcon().
+allow adbd_tradeinmode adbd:unix_stream_socket {
+    rw_socket_perms_no_ioctl
+    listen
+    accept
+};
+allow adbd_tradeinmode adbd:fd use;
+allow adbd_tradeinmode adbd:unix_dgram_socket { connect write };
+allow adbd_tradeinmode functionfs:dir r_dir_perms;
+allow adbd_tradeinmode functionfs:file rw_file_perms;
+allow adbd_tradeinmode proc_uptime:file r_file_perms;
+allow adbd_tradeinmode rootfs:dir r_dir_perms;
+
+set_prop(adbd_tradeinmode, ffs_control_prop)
+
+# Allow changing persist.adb.tradeinmode when testing.
+userdebug_or_eng(`set_prop(adbd_tradeinmode, shell_prop)')
diff --git a/prebuilts/api/202504/private/aidl_lazy_test_server.te b/prebuilts/api/202504/private/aidl_lazy_test_server.te
new file mode 100644
index 0000000..98ab218
--- /dev/null
+++ b/prebuilts/api/202504/private/aidl_lazy_test_server.te
@@ -0,0 +1,10 @@
+userdebug_or_eng(`
+  typeattribute aidl_lazy_test_server coredomain;
+
+  init_daemon_domain(aidl_lazy_test_server)
+
+  binder_use(aidl_lazy_test_server)
+  binder_call(aidl_lazy_test_server, binderservicedomain)
+
+  add_service(aidl_lazy_test_server, aidl_lazy_test_service)
+')
diff --git a/prebuilts/api/202504/private/apex_test_prepostinstall.te b/prebuilts/api/202504/private/apex_test_prepostinstall.te
new file mode 100644
index 0000000..f1bc214
--- /dev/null
+++ b/prebuilts/api/202504/private/apex_test_prepostinstall.te
@@ -0,0 +1,20 @@
+# APEX pre- & post-install test.
+#
+# Allow to run pre- and post-install hooks for APEX test modules
+# in debuggable builds.
+
+type apex_test_prepostinstall, domain, coredomain;
+type apex_test_prepostinstall_exec, system_file_type, exec_type, file_type;
+
+userdebug_or_eng(`
+  # /dev/zero
+  allow apex_test_prepostinstall apexd:fd use;
+  # Logwrapper.
+  create_pty(apex_test_prepostinstall)
+  # Logwrapper executing sh.
+  allow apex_test_prepostinstall shell_exec:file rx_file_perms;
+  # Logwrapper exec.
+  allow apex_test_prepostinstall system_file:file execute_no_trans;
+  # Ls.
+  allow apex_test_prepostinstall toolbox_exec:file rx_file_perms;
+')
diff --git a/prebuilts/api/202504/private/apexd.te b/prebuilts/api/202504/private/apexd.te
new file mode 100644
index 0000000..3205b02
--- /dev/null
+++ b/prebuilts/api/202504/private/apexd.te
@@ -0,0 +1,236 @@
+typeattribute apexd coredomain;
+
+init_daemon_domain(apexd)
+
+binder_use(apexd)
+add_service(apexd, apex_service)
+
+# Allow creating, reading and writing of APEX files/dirs in the APEX data dir
+allow apexd apex_data_file:dir create_dir_perms;
+allow apexd apex_data_file:file create_file_perms;
+# Allow relabeling file created in /data/apex/decompressed
+allow apexd apex_data_file:file relabelfrom;
+
+# Allow creating, reading and writing of APEX files/dirs in the APEX metadata dir
+allow apexd metadata_file:dir search;
+allow apexd apex_metadata_file:dir create_dir_perms;
+allow apexd apex_metadata_file:file create_file_perms;
+
+# Allow reserving space on /data/apex/ota_reserved for apex decompression
+allow apexd apex_ota_reserved_file:dir create_dir_perms;
+allow apexd apex_ota_reserved_file:file create_file_perms;
+
+# Allow apexd to create files and directories for snapshots of apex data
+allow apexd apex_data_file_type:dir { create_dir_perms relabelto };
+allow apexd apex_data_file_type:file { create_file_perms relabelto };
+allow apexd apex_module_data_file:dir { create_dir_perms relabelfrom };
+allow apexd apex_module_data_file:file { create_file_perms relabelfrom };
+allow apexd apex_rollback_data_file:dir create_dir_perms;
+allow apexd apex_rollback_data_file:file create_file_perms;
+
+# Allow apexd to read /data/misc_de and the directories under it, in order to
+# snapshot and restore apex data for all users.
+allow apexd {
+    system_userdir_file
+    system_data_file
+}:dir r_dir_perms;
+
+# allow apexd to create loop devices with /dev/loop-control
+allow apexd loop_control_device:chr_file rw_file_perms;
+# allow apexd to access loop devices
+allow apexd loop_device:blk_file rw_file_perms;
+allowxperm apexd loop_device:blk_file ioctl {
+  LOOP_GET_STATUS64
+  LOOP_SET_STATUS64
+  LOOP_SET_FD
+  LOOP_SET_BLOCK_SIZE
+  LOOP_SET_DIRECT_IO
+  LOOP_CLR_FD
+  BLKFLSBUF
+  LOOP_CONFIGURE
+};
+# Allow apexd to access /dev/block
+allow apexd dev_type:dir r_dir_perms;
+allow apexd dev_type:blk_file getattr;
+
+#allow apexd to access virtual disks
+allow apexd vd_device:blk_file r_file_perms;
+
+# allow apexd to access /dev/block/dm-* (device-mapper entries)
+allow apexd dm_device:chr_file rw_file_perms;
+allow apexd dm_device:blk_file rw_file_perms;
+
+# sys_admin is required to access the device-mapper and mount
+# dac_override, chown, and fowner are needed for snapshot and restore
+allow apexd self:global_capability_class_set { sys_admin chown dac_override dac_read_search fowner };
+
+# Note: fsetid is deliberately not included above. fsetid checks are
+# triggered by chmod on a directory or file owned by a group other
+# than one of the groups assigned to the current process to see if
+# the setgid bit should be cleared, regardless of whether the setgid
+# bit was even set.  We do not appear to truly need this capability
+# for apexd to operate.
+dontaudit apexd self:global_capability_class_set fsetid;
+
+# allow apexd to create a mount point in /apex
+allow apexd apex_mnt_dir:dir create_dir_perms;
+# allow apexd to mount in /apex
+allow apexd apex_mnt_dir:filesystem { mount unmount };
+allow apexd apex_mnt_dir:dir mounton;
+# allow apexd to create symlinks in /apex
+allow apexd apex_mnt_dir:lnk_file create_file_perms;
+# allow apexd to create /apex/apex-info-list.xml and relabel to apex_info_file
+allow apexd apex_mnt_dir:file { create_file_perms relabelfrom mounton };
+allow apexd apex_info_file:file relabelto;
+# apexd needs to update /apex/apex-info-list.xml after non-staged APEX update.
+allow apexd apex_info_file:file rw_file_perms;
+
+# allow apexd to unlink apex files in /data/apex/active
+# note that apexd won't be able to unlink files in /data/app-staging/session_XXXX,
+# because it doesn't have write permission for staging_data_file object.
+allow apexd staging_data_file:file unlink;
+
+# allow apexd to read files from /data/app-staging and hardlink them to /data/apex.
+allow apexd staging_data_file:dir r_dir_perms;
+allow apexd staging_data_file:file { r_file_perms link };
+# # Allow relabeling file created in /data/apex/decompressed
+allow apexd staging_data_file:file relabelto;
+# Allow renaming files in /data/apex/decompressed (from .ota.apex to .decompressed.apex)
+allow apexd staging_data_file:file rename;
+
+# allow apexd to read files from /vendor/apex
+r_dir_file(apexd, vendor_apex_file)
+r_dir_file(apexd, vendor_apex_metadata_file)
+
+# Unmount and mount filesystems
+allow apexd labeledfs:filesystem { mount unmount };
+
+# /sys directory tree traversal
+allow apexd sysfs_type:dir search;
+# Access to /sys/class/block
+allow apexd sysfs_type:dir r_dir_perms;
+allow apexd sysfs_type:file r_file_perms;
+# Configure read-ahead of dm-verity and loop devices
+# for dm-X
+allow apexd sysfs_dm:dir r_dir_perms;
+allow apexd sysfs_dm:file rw_file_perms;
+# for loopX
+allow apexd sysfs_loop:dir r_dir_perms;
+allow apexd sysfs_loop:file rw_file_perms;
+
+# Allow apexd to log to the kernel.
+allow apexd kmsg_device:chr_file w_file_perms;
+
+# Allow apexd to reboot device. Required for rollbacks of apexes that are
+# not covered by rollback manager.
+set_prop(apexd, powerctl_prop)
+
+# Allow apexd to stop itself
+set_prop(apexd, ctl_apexd_prop)
+
+# Allow apexd to send control messages to load/unload apex from init
+set_prop(apexd, ctl_apex_load_prop)
+
+# Find the vold service, and call into vold to manage FS checkpoints
+allow apexd vold_service:service_manager find;
+binder_call(apexd, vold)
+
+# apexd is using bootstrap bionic
+use_bootstrap_libs(apexd)
+
+# Allow apexd to be invoked with logwrapper from init during userspace reboot.
+allow apexd devpts:chr_file { read write };
+
+# Allow apexd to create pts files via logwrap_fork_exec for its own use, to pass to
+# other processes
+create_pty(apexd)
+
+# Allow apexd to read file contexts when performing restorecon of snapshots.
+allow apexd file_contexts_file:file r_file_perms;
+
+# Allow apexd to execute toybox for snapshot & restore
+allow apexd toolbox_exec:file rx_file_perms;
+
+# Allow apexd to release compressed blocks in case /data is f2fs-compressed fs.
+allowxperm apexd staging_data_file:file ioctl {
+  FS_IOC_GETFLAGS
+  F2FS_IOC_RELEASE_COMPRESS_BLOCKS
+};
+
+# Allow apexd to read ro.cold_boot_done prop.
+# apexd uses it to decide whether it needs to keep retrying polling for loop device.
+get_prop(apexd, cold_boot_done_prop)
+
+# Allow apexd to read per-device configuration properties.
+get_prop(apexd, apexd_config_prop)
+
+# Allow apexd to read apex selection properties.
+# These are used to choose between multi-installed APEXes at activation time.
+get_prop(apexd, apexd_select_prop)
+#
+# Allow apexd to read apexd_payload_metadata_prop
+get_prop(apexd, apexd_payload_metadata_prop)
+
+set_prop(apexd, apexd_prop)
+
+# Allow for use in postinstall
+allow apexd otapreopt_chroot:fd use;
+allow apexd postinstall_apex_mnt_dir:dir { create_dir_perms mounton };
+allow apexd postinstall_apex_mnt_dir:file { create_file_perms relabelfrom };
+allow apexd postinstall_apex_mnt_dir:lnk_file create;
+allow apexd proc_filesystems:file r_file_perms;
+
+# Allow for use in Pre-reboot Dexopt.
+allow apexd dexopt_chroot_setup:fd use;
+
+# Allow calling derive_classpath to gather BCP information for staged sessions
+domain_auto_trans(apexd, derive_classpath_exec, apexd_derive_classpath);
+
+# Allow set apex ready property
+set_prop(apexd, apex_ready_prop)
+
+# Allow apexd to write to statsd.
+unix_socket_send(apexd, statsdw, statsd)
+# Allow apexd to call
+allow apexd statsbootstrap_service:service_manager find;
+binder_call(apexd, system_server) # system_server serves statsbootstrap_service
+
+###
+### Neverallow rules
+###
+
+neverallow { domain -apexd -init } apex_data_file:dir no_w_dir_perms;
+neverallow { domain -apexd -init } apex_metadata_file:dir no_w_dir_perms;
+neverallow { domain -apexd -init -kernel } apex_data_file:file no_w_file_perms;
+neverallow { domain -apexd -init -kernel } apex_metadata_file:file no_w_file_perms;
+neverallow { domain -apexd } apex_mnt_dir:lnk_file no_w_file_perms;
+
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_module_data_file:dir no_w_dir_perms;
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_module_data_file:file no_w_file_perms;
+
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_rollback_data_file:dir no_w_dir_perms;
+neverallow { domain -apexd -init -vold_prepare_subdirs } apex_rollback_data_file:file no_w_file_perms;
+
+# only apexd can set apexd sysprop
+neverallow { domain -apexd -init } apexd_prop:property_service set;
+
+# only apexd can write apex-info-list.xml
+neverallow { domain -apexd } apex_info_file:file no_w_file_perms;
+
+# Only apexd and init should be allowed to manage /apex mounts
+# A note on otapreopt_chroot. It used to mount APEXes during postainstall stage of A/B OTAs,
+# but starting from S it just calls into apexd to prepare /apex for otapreoprt. Once the sepolicies
+# around otapreopt_chroot are cleaned up we should be able to remove it from the lists below.
+# dexopt_chroot_setup calls apexd to prepare /apex for Pre-reboot Dexopt, but it
+# needs to mount a tmpfs on /apex for apexd to work on.
+neverallow { domain -apexd -init -otapreopt_chroot } apex_mnt_dir:filesystem { mount unmount };
+neverallow { domain -apexd -dexopt_chroot_setup -init -otapreopt_chroot } apex_mnt_dir:dir mounton;
+
+# The update_provider performs APEX updates. To do this, it needs to be able to find apex_service
+# and make binder calls to apexd.
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -apexd -keystore -system_server -update_engine -update_provider } apex_service:service_manager find;
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -apexd -keystore -system_server -servicemanager -update_engine -update_provider } apexd:binder call;
+
+neverallow { domain userdebug_or_eng(`-crash_dump') } apexd:process ptrace;
diff --git a/prebuilts/api/202504/private/apexd_derive_classpath.te b/prebuilts/api/202504/private/apexd_derive_classpath.te
new file mode 100644
index 0000000..d4c5496
--- /dev/null
+++ b/prebuilts/api/202504/private/apexd_derive_classpath.te
@@ -0,0 +1,9 @@
+# Exclusive domain for apexd calling into derive_classpath binary
+type apexd_derive_classpath, domain, coredomain;
+
+# Allow the binary to write into output file at location /apex/derive_classpath_temp
+allow apexd_derive_classpath apexd:fd use;
+allow apexd_derive_classpath apex_mnt_dir:file { write open };
+# Allow the binary to log using logwrap
+allow apexd_derive_classpath apexd_devpts:chr_file { read write };
+
diff --git a/prebuilts/api/202504/private/app.te b/prebuilts/api/202504/private/app.te
new file mode 100644
index 0000000..b359663
--- /dev/null
+++ b/prebuilts/api/202504/private/app.te
@@ -0,0 +1,814 @@
+# /proc/net access.
+# TODO(b/9496886) Audit access for removal.
+# proc_net access for the negated domains below is granted (or not) in their
+# individual .te files.
+r_dir_file({
+  appdomain
+  -ephemeral_app
+  -isolated_app_all
+  -network_stack
+  -platform_app
+  -priv_app
+  -shell
+  -sdk_sandbox_all
+  -system_app
+  -untrusted_app_all
+}, proc_net_type)
+# audit access for all these non-core app domains.
+userdebug_or_eng(`
+  auditallow {
+    appdomain
+    -ephemeral_app
+    -isolated_app_all
+    -network_stack
+    -platform_app
+    -priv_app
+    -shell
+    -su
+    -sdk_sandbox_all
+    -system_app
+    -untrusted_app_all
+  } proc_net_type:{ dir file lnk_file } { getattr open read };
+')
+
+# Allow apps to read the Test Harness Mode property. This property is used in
+# the implementation of ActivityManager.isDeviceInTestHarnessMode()
+get_prop(appdomain, test_harness_prop)
+
+get_prop(appdomain, boot_status_prop)
+get_prop(appdomain, dalvik_config_prop_type)
+get_prop(appdomain, media_config_prop)
+get_prop(appdomain, packagemanager_config_prop)
+get_prop(appdomain, radio_control_prop)
+get_prop(appdomain, surfaceflinger_color_prop)
+get_prop(appdomain, systemsound_config_prop)
+get_prop(appdomain, telephony_config_prop)
+get_prop(appdomain, userspace_reboot_config_prop)
+get_prop(appdomain, vold_config_prop)
+get_prop(appdomain, adbd_config_prop)
+get_prop(appdomain, dck_prop)
+get_prop(appdomain, persist_wm_debug_prop)
+get_prop(appdomain, persist_sysui_builder_extras_prop)
+get_prop(appdomain, persist_sysui_ranking_update_prop)
+
+# Allow the heap dump ART plugin to the count of sessions waiting for OOME
+get_prop(appdomain, traced_oome_heap_session_count_prop)
+
+# Allow to read ro.vendor.camera.extensions.enabled
+get_prop(appdomain, camera2_extensions_prop)
+
+# Allow to ro.camerax.extensions.enabled
+get_prop(appdomain, camerax_extensions_prop)
+
+# Prevent apps from causing presubmit failures.
+# Apps can cause selinux denials by accessing CE storage
+# and/or external storage. In either case, the selinux denial is
+# not the cause of the failure, but just a symptom that
+# storage isn't ready. Many apps handle the failure appropriately.
+#
+# Apps cannot access external storage before it becomes available.
+dontaudit appdomain storage_stub_file:dir getattr;
+# Attempts to write to system_data_file is generally a sign
+# that apps are attempting to access encrypted storage before
+# the ACTION_USER_UNLOCKED intent is delivered. Apps are not
+# allowed to write to CE storage before it's available.
+# Attempting to do so will be blocked by both selinux and unix
+# permissions.
+dontaudit appdomain system_data_file:dir write;
+# Apps should not be reading vendor-defined properties.
+dontaudit appdomain vendor_default_prop:file read;
+
+# Access to /mnt/media_rw/<vol> (limited by DAC to apps with external_storage gid)
+allow { appdomain -sdk_sandbox_all } mnt_media_rw_file:dir search;
+
+# allow apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow appdomain system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# Allow to read sendbug.preferred.domain
+get_prop(appdomain, sendbug_config_prop)
+
+# Allow to read graphics related properties.
+get_prop(appdomain, graphics_config_prop)
+
+# Allow to read persist.config.calibration_fac
+get_prop(appdomain, camera_calibration_prop)
+
+# Allow to read db.log.detailed, db.log.slow_query_threshold*
+get_prop(appdomain, sqlite_log_prop)
+
+# Allow to read system_user_mode_emulation_prop, which is used by UserManager.java
+userdebug_or_eng(`get_prop(appdomain, system_user_mode_emulation_prop)')
+
+# Allow font file read by apps.
+allow appdomain font_data_file:file r_file_perms;
+allow appdomain font_data_file:dir r_dir_perms;
+
+# Enter /data/misc/apexdata/
+allow appdomain apex_module_data_file:dir search;
+# Read /data/misc/apexdata/com.android.art, execute signed AOT artifacts.
+allow appdomain apex_art_data_file:dir r_dir_perms;
+allow appdomain apex_art_data_file:file rx_file_perms;
+
+# Allow access to tombstones if an fd to one is given to you.
+# An app cannot open the tombstone itself because it lacks `open`.
+allow appdomain tombstone_data_file:file { getattr read };
+
+# Execute the shell or other system executables.
+allow { appdomain -ephemeral_app -sdk_sandbox_all } shell_exec:file rx_file_perms;
+allow { appdomain -ephemeral_app -sdk_sandbox_all } toolbox_exec:file rx_file_perms;
+not_full_treble(`allow { appdomain -ephemeral_app -sdk_sandbox_all } vendor_file:file x_file_perms;')
+
+# Allow apps access to /vendor/app except for privileged
+# apps which cannot be in /vendor.
+r_dir_file({ appdomain -ephemeral_app -sdk_sandbox_all }, vendor_app_file)
+allow { appdomain -ephemeral_app -sdk_sandbox_all } vendor_app_file:file execute;
+
+# Allow apps to read microdroid related files in vendor partition for CTS purpose.
+r_dir_file({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }, vendor_microdroid_file)
+
+# Perform binder IPC to sdk sandbox.
+binder_call(appdomain, sdk_sandbox_all)
+
+# Allow apps to communicate via binder with virtual camera service.
+binder_call(appdomain, virtual_camera)
+
+# Allow access to external storage; we have several visible mount points under /storage
+# and symlinks to primary storage at places like /storage/sdcard0 and /mnt/user/0/primary
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } storage_file:dir r_dir_perms;
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } storage_file:lnk_file r_file_perms;
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } mnt_user_file:dir r_dir_perms;
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } mnt_user_file:lnk_file r_file_perms;
+
+# Read/write visible storage
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } { sdcard_type fuse }:dir create_dir_perms;
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } { sdcard_type fuse }:file create_file_perms;
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } media_rw_data_file:dir create_dir_perms;
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } media_rw_data_file:file create_file_perms;
+
+# Allow apps to use the USB Accessory interface.
+# http://developer.android.com/guide/topics/connectivity/usb/accessory.html
+#
+# USB devices are first opened by the system server (USBDeviceManagerService)
+# and the file descriptor is passed to the right Activity via binder.
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } usb_device:chr_file { read write getattr ioctl };
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } usbaccessory_device:chr_file { read write getattr };
+
+#logd access
+control_logd({ appdomain -ephemeral_app -sdk_sandbox_all })
+
+# application inherit logd write socket (urge is to deprecate this long term)
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore:keystore2_key { delete use get_info grant rebind update };
+
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore_maintenance_service:service_manager find;
+
+use_keystore({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all })
+
+use_credstore({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all })
+
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } persistent_data_block_service:service_manager find;
+
+# For app fuse.
+pdx_client({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }, display_client)
+pdx_client({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }, display_manager)
+pdx_client({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }, display_vsync)
+pdx_client({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }, performance_client)
+# Apps do not directly open the IPC socket for bufferhubd.
+pdx_use({ appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }, bufferhub_client)
+
+# Apps receive an open tun fd from the framework for
+# device traffic. Do not allow untrusted app to directly open tun_device
+allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } tun_device:chr_file { read write getattr append ioctl };
+allowxperm { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } tun_device:chr_file ioctl TUNGETIFF;
+
+
+# WebView and other application-specific JIT compilers
+allow appdomain self:process execmem;
+
+allow appdomain { ashmem_device ashmem_libcutils_device }:chr_file execute;
+
+# Receive and use open file descriptors inherited from zygote.
+allow appdomain zygote:fd use;
+
+# Receive and use open file descriptors inherited from app zygote.
+allow appdomain app_zygote:fd use;
+
+# gdbserver for ndk-gdb reads the zygote.
+# valgrind needs mmap exec for zygote
+allow appdomain zygote_exec:file rx_file_perms;
+
+# Notify zygote of death;
+allow appdomain zygote:process sigchld;
+
+# Read /data/dalvik-cache.
+allow appdomain dalvikcache_data_file:dir { search getattr };
+allow appdomain dalvikcache_data_file:file r_file_perms;
+
+# Read the /sdcard and /mnt/sdcard symlinks
+allow { appdomain -isolated_app_all -sdk_sandbox_all } rootfs:lnk_file r_file_perms;
+allow { appdomain -isolated_app_all -sdk_sandbox_all } tmpfs:lnk_file r_file_perms;
+
+# Search /storage/emulated tmpfs mount.
+allow { appdomain -sdk_sandbox_all } tmpfs:dir r_dir_perms;
+
+# Notify zygote of the wrapped process PID when using --invoke-with.
+allow appdomain zygote:fifo_file write;
+
+userdebug_or_eng(`
+  # Allow apps to create and write method traces in /data/misc/trace.
+  allow appdomain method_trace_data_file:dir w_dir_perms;
+  allow appdomain method_trace_data_file:file { create w_file_perms };
+')
+
+# Notify shell and adbd of death when spawned via runas for ndk-gdb.
+allow appdomain shell:process sigchld;
+allow appdomain adbd:process sigchld;
+
+# child shell or gdbserver pty access for runas.
+allow appdomain devpts:chr_file { getattr read write ioctl };
+
+# Use pipes and sockets provided by system_server via binder or local socket.
+allow appdomain system_server:fd use;
+allow appdomain system_server:fifo_file rw_file_perms;
+allow appdomain system_server:unix_stream_socket { read write setopt getattr getopt shutdown };
+allow appdomain system_server:tcp_socket { read write getattr getopt shutdown };
+
+# For AppFuse.
+allow appdomain vold:fd use;
+
+# Communication with other apps via fifos
+allow appdomain appdomain:fifo_file rw_file_perms;
+
+# Communicate with surfaceflinger.
+allow appdomain surfaceflinger:unix_stream_socket { read write setopt getattr getopt shutdown };
+
+# App sandbox file accesses.
+allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir create_dir_perms;
+allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:file create_file_perms;
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  # an app can read but cannot write to its own directory of storage areas
+  allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } storage_area_app_dir:dir r_dir_perms;
+  # an app can write to its storage areas
+  allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } storage_area_dir:dir rw_dir_perms;
+')
+
+allowxperm { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:file ioctl FS_IOC_MEASURE_VERITY;
+
+# Access via already open fds is ok even for mlstrustedsubject.
+allow { appdomain -isolated_app_all -sdk_sandbox_all } {
+  app_data_file
+  privapp_data_file
+  system_app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:file { getattr map read write };
+
+# Access open fds from SDK sandbox
+allow appdomain sdk_sandbox_data_file:file { getattr read };
+
+# Traverse into expanded storage
+allow appdomain mnt_expand_file:dir r_dir_perms;
+
+# Keychain and user-trusted credentials
+r_dir_file(appdomain, keychain_data_file)
+allow appdomain misc_user_data_file:dir r_dir_perms;
+allow appdomain misc_user_data_file:file r_file_perms;
+
+# TextClassifier
+r_dir_file({ appdomain -isolated_app_all }, textclassifier_data_file)
+
+# Access to OEM provided data and apps
+allow appdomain oemfs:dir r_dir_perms;
+allow appdomain oemfs:file rx_file_perms;
+
+allow appdomain system_file:file x_file_perms;
+
+# Renderscript needs the ability to read directories on /system
+allow appdomain system_file:dir r_dir_perms;
+allow appdomain system_file:lnk_file { getattr open read };
+# Renderscript specific permissions to open /system/vendor/lib64.
+not_full_treble(`
+    allow appdomain vendor_file_type:dir r_dir_perms;
+    allow appdomain vendor_file_type:lnk_file { getattr open read };
+')
+
+full_treble_only(`
+    # For looking up Renderscript vendor drivers
+    allow { appdomain -isolated_app_all } vendor_file:dir { open read };
+')
+
+# Allow apps access to /vendor/overlay
+r_dir_file(appdomain, vendor_overlay_file)
+
+# Allow apps access to /vendor/framework
+# for vendor provided libraries.
+r_dir_file(appdomain, vendor_framework_file)
+
+# Allow apps read / execute access to vendor public libraries.
+allow appdomain {vendor_public_framework_file vendor_public_lib_file}:dir r_dir_perms;
+allow appdomain {vendor_public_framework_file vendor_public_lib_file}:file { execute read open getattr map };
+
+# Read/write wallpaper file (opened by system).
+allow appdomain wallpaper_file:file { getattr read write map };
+
+# Read/write cached ringtones (opened by system).
+allow appdomain ringtone_file:file { getattr read write map };
+
+# Read ShortcutManager icon files (opened by system).
+allow appdomain shortcut_manager_icons:file { getattr read map };
+
+# Read icon file (opened by system).
+allow appdomain icon_file:file { getattr read map };
+
+# Old stack dumping scheme : append to a global trace file (/data/anr/traces.txt).
+#
+# TODO: All of these permissions except for anr_data_file:file append can be
+# withdrawn once we've switched to the new stack dumping mechanism, see b/32064548
+# and the rules below.
+allow appdomain anr_data_file:dir search;
+allow appdomain anr_data_file:file { open append };
+
+# New stack dumping scheme : request an output FD from tombstoned via a unix
+# domain socket.
+#
+# Allow apps to connect and write to the tombstoned java trace socket in
+# order to dump their traces. Also allow them to append traces to pipes
+# created by dumptrace. (Also see the rules below where they are given
+# additional permissions to dumpstate pipes for other aspects of bug report
+# creation).
+unix_socket_connect(appdomain, tombstoned_java_trace, tombstoned)
+allow appdomain tombstoned:fd use;
+allow appdomain dumpstate:fifo_file append;
+allow appdomain incidentd:fifo_file append;
+
+# Allow apps to send dump information to dumpstate
+allow appdomain dumpstate:fd use;
+allow appdomain dumpstate:unix_stream_socket { read write getopt getattr shutdown };
+allow appdomain dumpstate:fifo_file { write getattr };
+allow appdomain shell_data_file:file { write getattr };
+
+# Allow apps to send dump information to incidentd
+allow appdomain incidentd:fd use;
+allow appdomain incidentd:fifo_file { write getattr };
+
+# Allow apps to send information to statsd socket.
+unix_socket_send(appdomain, statsdw, statsd)
+
+# Write profiles /data/misc/profiles
+allow appdomain user_profile_root_file:dir search;
+allow appdomain user_profile_data_file:dir w_dir_perms;
+allow appdomain user_profile_data_file:file create_file_perms;
+
+# Allow writing performance tracing data into the perfetto traced daemon.
+# Needed for java heap graph ART plugin (perfetto_hprof).
+# The perfetto profiling daemon will check for the specific application's
+# opt-in/opt-out.
+perfetto_producer(appdomain)
+
+# Send heap dumps to system_server via an already open file descriptor
+# % adb shell am set-watch-heap com.android.systemui 1048576
+# % adb shell dumpsys procstats --start-testing
+# debuggable builds only.
+userdebug_or_eng(`
+  allow appdomain heapdump_data_file:file append;
+')
+
+# Grant GPU access to all processes started by Zygote.
+# They need that to render the standard UI.
+allow { appdomain -isolated_app_all } gpu_device:chr_file rw_file_perms;
+allow { appdomain -isolated_app_all } gpu_device:dir r_dir_perms;
+allow { appdomain -isolated_app_all } sysfs_gpu:file r_file_perms;
+
+
+# Use the Binder.
+binder_use(appdomain)
+# Perform binder IPC to binder services.
+binder_call(appdomain, binderservicedomain)
+# Perform binder IPC to other apps.
+binder_call(appdomain, appdomain)
+# Perform binder IPC to ephemeral apps.
+binder_call(appdomain, ephemeral_app)
+# Perform binder IPC to gpuservice.
+binder_call({ appdomain -isolated_app_all }, gpuservice)
+
+# Talk with graphics composer fences
+allow appdomain hal_graphics_composer:fd use;
+
+# Already connected, unnamed sockets being passed over some other IPC
+# hence no sock_file or connectto permission. This appears to be how
+# Chrome works, may need to be updated as more apps using isolated services
+# are examined.
+allow appdomain appdomain:unix_stream_socket { getopt getattr read write shutdown };
+
+# Backup ability for every app. BMS opens and passes the fd
+# to any app that has backup ability. Hence, no open permissions here.
+allow appdomain backup_data_file:file { read write getattr map };
+allow appdomain cache_backup_file:file { read write getattr map };
+allow appdomain cache_backup_file:dir getattr;
+# Backup ability using 'adb backup'
+allow appdomain system_data_file:lnk_file r_file_perms;
+allow appdomain system_data_file:file { getattr read map };
+
+# Allow read/stat of /data/media files passed by Binder or local socket IPC.
+allow { appdomain -isolated_app_all -sdk_sandbox_all } media_rw_data_file:file { read getattr };
+
+# Read and write /data/data/com.android.providers.telephony files passed over Binder.
+allow { appdomain -isolated_app_all } radio_data_file:file { read write getattr };
+
+# For art.
+allow appdomain dalvikcache_data_file:file execute;
+allow appdomain dalvikcache_data_file:lnk_file r_file_perms;
+
+# Allow any app to read shared RELRO files.
+allow appdomain shared_relro_file:dir search;
+allow appdomain shared_relro_file:file r_file_perms;
+
+# Allow apps to read/execute installed binaries
+allow appdomain apk_data_file:dir { open getattr read search ioctl lock };
+allow appdomain apk_data_file:file { getattr open read ioctl lock map x_file_perms };
+
+# /data/resource-cache
+allow appdomain resourcecache_data_file:file r_file_perms;
+allow appdomain resourcecache_data_file:dir r_dir_perms;
+
+# logd access
+read_logd(appdomain)
+
+allow appdomain zygote:unix_dgram_socket write;
+
+allow appdomain console_device:chr_file { read write };
+
+# only allow unprivileged socket ioctl commands
+allowxperm { appdomain -bluetooth } self:{ rawip_socket tcp_socket udp_socket }
+  ioctl { unpriv_sock_ioctls unpriv_tty_ioctls };
+
+allow { appdomain -isolated_app_all } ion_device:chr_file r_file_perms;
+allow { appdomain -isolated_app_all } dmabuf_system_heap_device:chr_file r_file_perms;
+allow { appdomain -isolated_app_all } dmabuf_system_secure_heap_device:chr_file r_file_perms;
+
+# Allow AAudio apps to use shared memory file descriptors from the HAL
+allow { appdomain -isolated_app_all } hal_audio:fd use;
+
+# Allow app to access shared memory created by camera HAL1
+allow { appdomain -isolated_app_all } hal_camera:fd use;
+
+# Allow apps to access shared memory file descriptor from the tuner HAL
+allow {appdomain -isolated_app_all} hal_tv_tuner_server:fd use;
+
+# Allow app to access shared memory created by PowerHAL for FMQ use
+allow { appdomain -isolated_app_all } hal_power_server:fd use;
+
+# RenderScript always-passthrough HAL
+allow { appdomain -isolated_app_all } hal_renderscript_hwservice:hwservice_manager find;
+allow appdomain same_process_hal_file:file { execute read open getattr map };
+
+# TODO: switch to meminfo service
+allow appdomain proc_meminfo:file r_file_perms;
+
+# For app fuse.
+allow appdomain app_fuse_file:file { getattr read append write map };
+
+###
+### CTS-specific rules
+###
+
+# For cts/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java.
+# testRunAsHasCorrectCapabilities
+allow appdomain runas_exec:file getattr;
+# Others are either allowed elsewhere or not desired.
+
+get_prop(appdomain, high_barometer_quality_prop)
+
+# Connect to adbd and use a socket transferred from it.
+# This is used for e.g. adb backup/restore.
+allow appdomain adbd:unix_stream_socket connectto;
+allow appdomain adbd:fd use;
+allow appdomain adbd:unix_stream_socket { getattr getopt ioctl read write shutdown };
+
+allow appdomain cache_file:dir getattr;
+
+# Allow apps to run with asanwrapper.
+with_asan(`allow appdomain asanwrapper_exec:file rx_file_perms;')
+
+# Read access to FDs from the DropboxManagerService.
+allow appdomain dropbox_data_file:file { getattr read };
+
+# Read tmpfs types from these processes.
+allow appdomain audioserver_tmpfs:file { getattr map read write };
+allow appdomain system_server_tmpfs:file { getattr map read write };
+allow appdomain zygote_tmpfs:file { map read };
+
+###
+### Neverallow rules
+###
+### These are things that Android apps should NEVER be able to do
+###
+
+# Superuser capabilities.
+# bluetooth requires net_admin and wake_alarm. network stack app requires net_admin.
+neverallow { appdomain -bluetooth -network_stack } self:capability_class_set *;
+
+# Block device access.
+neverallow appdomain dev_type:blk_file { read write };
+
+# Note: Try expanding list of app domains in the future.
+neverallow { untrusted_app isolated_app shell } graphics_device:chr_file { read write };
+
+neverallow { appdomain -nfc } nfc_device:chr_file
+    { read write };
+neverallow { appdomain -bluetooth } hci_attach_dev:chr_file
+    { read write };
+neverallow appdomain tee_device:chr_file { read write };
+
+# Privileged netlink socket interfaces.
+neverallow { appdomain -network_stack }
+    domain:{
+        netlink_tcpdiag_socket
+        netlink_nflog_socket
+        netlink_xfrm_socket
+        netlink_audit_socket
+        netlink_dnrt_socket
+    } *;
+
+# These messages are broadcast messages from the kernel to userspace.
+# Do not allow the writing of netlink messages, which has been a source
+# of rooting vulns in the past.
+neverallow { appdomain -network_stack }
+    domain:netlink_kobject_uevent_socket { write append };
+
+# Sockets under /dev/socket that are not specifically typed.
+neverallow appdomain socket_device:sock_file write;
+
+# Unix domain sockets.
+neverallow appdomain adbd_socket:sock_file write;
+neverallow { appdomain -radio } rild_socket:sock_file write;
+
+# ptrace access to non-app domains.
+neverallow appdomain { domain -appdomain }:process ptrace;
+
+# The Android security model guarantees the confidentiality and integrity
+# of application data and execution state. Ptrace bypasses those
+# confidentiality guarantees. Disallow ptrace access from system components
+# to apps. Crash_dump is excluded, as it needs ptrace access to
+# produce stack traces.  llkd is excluded, as it needs ptrace access to
+# inspect stack traces for live lock conditions.
+
+neverallow {
+  domain
+  -appdomain
+  -crash_dump
+  userdebug_or_eng(`-llkd')
+} appdomain:process ptrace;
+
+# Read or write access to /proc/pid entries for any non-app domain.
+# A different form of hidepid=2 like protections
+neverallow appdomain { domain -appdomain }:file no_w_file_perms;
+neverallow { appdomain -shell } { domain -appdomain }:file no_rw_file_perms;
+
+# signal access to non-app domains.
+# sigchld allowed for parent death notification.
+# signull allowed for kill(pid, 0) existence test.
+# All others prohibited.
+# -perfetto is to allow shell (which is an appdomain) to kill perfetto
+# (see private/shell.te).
+neverallow appdomain { domain -appdomain -perfetto }:process
+    { sigkill sigstop signal };
+
+# Write to rootfs.
+neverallow appdomain rootfs:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to /system.
+neverallow appdomain system_file_type:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to entrypoint executables.
+neverallow appdomain exec_type:file
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to system-owned parts of /data.
+# This is the default type for anything under /data not otherwise
+# specified in file_contexts.  Define a different type for portions
+# that should be writable by apps.
+neverallow appdomain system_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Write to various other parts of /data.
+neverallow appdomain drm_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -platform_app }
+    apk_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -platform_app }
+    apk_private_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -platform_app }
+    apk_private_tmp_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -shell }
+    shell_data_file:dir_file_class_set
+    { create setattr relabelfrom relabelto append unlink link rename };
+neverallow { appdomain -bluetooth }
+    bluetooth_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow { domain -credstore -init } credstore_data_file:dir_file_class_set *;
+neverallow appdomain
+    keystore_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow appdomain
+    systemkeys_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow appdomain
+    wifi_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+neverallow appdomain
+    dhcp_data_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# access tmp apk files
+neverallow { appdomain -platform_app }
+    apk_tmp_file:dir_file_class_set
+    { create write setattr relabelfrom relabelto append unlink link rename };
+
+# Access to factory files.
+neverallow appdomain efs_file:dir_file_class_set write;
+neverallow { appdomain -shell } efs_file:dir_file_class_set read;
+
+# Write to various pseudo file systems.
+neverallow { appdomain -bluetooth -nfc }
+    sysfs:dir_file_class_set write;
+neverallow appdomain
+    proc:dir_file_class_set write;
+
+# Access to syslog(2) or /proc/kmsg.
+neverallow appdomain kernel:system { syslog_read syslog_mod syslog_console };
+
+# SELinux is not an API for apps to use
+neverallow { appdomain -shell } *:security { compute_av check_context };
+neverallow { appdomain -shell } *:netlink_selinux_socket *;
+
+# Ability to perform any filesystem operation other than statfs(2).
+# i.e. no mount(2), unmount(2), etc.
+neverallow appdomain fs_type:filesystem ~getattr;
+
+# prevent creation/manipulation of globally readable symlinks
+neverallow appdomain {
+  apk_data_file
+  cache_file
+  cache_recovery_file
+  dev_type
+  rootfs
+  system_file
+  tmpfs
+}:lnk_file no_w_file_perms;
+
+# Applications should use the activity model for receiving events
+neverallow {
+  appdomain
+  -shell # bugreport
+} input_device:chr_file ~getattr;
+
+# Do not allow access to Bluetooth-related system properties except for a few allowed domains.
+# neverallow rules for access to Bluetooth-related data files are above.
+neverallow {
+  appdomain
+  -bluetooth
+  -system_app
+} { bluetooth_audio_hal_prop bluetooth_a2dp_offload_prop bluetooth_prop exported_bluetooth_prop }:file create_file_perms;
+
+# allow system_app to access Nfc-related system properties.
+set_prop(system_app, nfc_prop)
+
+# allow system_app to access radio_config system properties.
+set_prop(system_app, radio_control_prop)
+
+# Apps cannot access proc_uid_time_in_state
+neverallow appdomain proc_uid_time_in_state:file *;
+
+# Apps cannot access proc_uid_concurrent_active_time
+neverallow appdomain proc_uid_concurrent_active_time:file *;
+
+# Apps cannot access proc_uid_concurrent_policy_time
+neverallow appdomain proc_uid_concurrent_policy_time:file *;
+
+# Apps cannot access proc_uid_cpupower
+neverallow appdomain proc_uid_cpupower:file *;
+
+# Apps may not read /proc/net/{tcp,tcp6,udp,udp6}. These files leak information across the
+# application boundary. VPN apps may use the ConnectivityManager.getConnectionOwnerUid() API to
+# perform UID lookups.
+neverallow { appdomain -shell } proc_net_tcp_udp:file *;
+
+# Apps cannot access bootstrap files. The bootstrap files are only for
+# extremely early processes (like init, etc.) which are started before
+# the runtime APEX is activated and Bionic libs are provided from there.
+# If app process accesses (or even load/execute) the bootstrap files,
+# it might cause problems such as ODR violation, etc.
+neverallow appdomain system_bootstrap_lib_file:file
+    { open read write append execute execute_no_trans map };
+neverallow appdomain system_bootstrap_lib_file:dir
+    { open read getattr search };
+
+# Sensitive app domains are not allowed to execute from /data
+# to prevent persistence attacks and ensure all code is executed
+# from read-only locations.
+neverallow {
+  bluetooth
+  isolated_app_all
+  nfc
+  radio
+  shared_relro
+  sdk_sandbox_all
+  system_app
+} {
+  data_file_type
+  -apex_art_data_file
+  -dalvikcache_data_file
+  -system_data_file # shared libs in apks
+  -apk_data_file
+}:file no_x_file_perms;
+
+# Don't allow apps access to any of the following character devices.
+neverallow appdomain {
+    audio_device
+    camera_device
+    dm_device
+    radio_device
+    rpmsg_device
+}:chr_file { read write };
+
+# Block video device access for all apps except the DeviceAsWebcam Service which
+# needs access to /dev/video* for interfacing with the host
+neverallow {
+    appdomain
+    -device_as_webcam
+} video_device:chr_file { read write };
+
+# Prevent calling inotify on APKs. This can be used as a side channel
+# to observer app launches, so it must be disallowed. b/231587164
+# Gate by targetSdkVersion to avoid breaking existing apps.
+neverallow {
+  appdomain
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} apk_data_file:dir { watch watch_reads };
+neverallow {
+  appdomain
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} apk_data_file:file { watch watch_reads };
+
+neverallow appdomain system_server:udp_socket {
+        accept append bind create ioctl listen lock name_bind
+        relabelfrom relabelto setattr shutdown };
+
+# Transition to a non-app domain.
+# Exception for the shell and su domains, can transition to runas, etc.
+# Exception for crash_dump to allow for app crash reporting.
+# Exception for renderscript binaries (/system/bin/bcc, /system/bin/ld.mc)
+# to allow renderscript to create privileged executable files.
+# Exception for virtualizationmanager to allow running VMs as child processes.
+neverallow { appdomain -shell userdebug_or_eng(`-su') }
+    { domain -appdomain -crash_dump -rs -virtualizationmanager }:process { transition };
+neverallow { appdomain -shell userdebug_or_eng(`-su') }
+    { domain -appdomain }:process { dyntransition };
+
+# Don't allow regular apps access to storage configuration properties.
+neverallow { appdomain -mediaprovider_app } storage_config_prop:file no_rw_file_perms;
+
+# Don't allow apps reading /system/etc/font_fallback.xml
+dontaudit appdomain system_font_fallback_file:file no_rw_file_perms;
+neverallow appdomain system_font_fallback_file:file no_rw_file_perms;
+
+neverallow { appdomain -shell } tombstone_data_file:file ~{ getattr read };
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  # Files and directories that apps write to their storage areas
+  # should have type storage_area_content_file
+  type_transition {
+    appdomain
+    -isolated_app_all
+    -ephemeral_app
+    -sdk_sandbox_all
+  } storage_area_dir:{ notdevfile_class_set dir } storage_area_content_file;
+')
diff --git a/prebuilts/api/202504/private/app_neverallows.te b/prebuilts/api/202504/private/app_neverallows.te
new file mode 100644
index 0000000..434fb13
--- /dev/null
+++ b/prebuilts/api/202504/private/app_neverallows.te
@@ -0,0 +1,324 @@
+###
+### neverallow rules for untrusted app domains
+###
+
+define(`all_untrusted_apps',`{
+  ephemeral_app
+  isolated_app
+  isolated_app_all
+  isolated_compute_app
+  mediaprovider
+  mediaprovider_app
+  untrusted_app
+  untrusted_app_25
+  untrusted_app_27
+  untrusted_app_29
+  untrusted_app_30
+  untrusted_app_all
+}')
+# Receive or send uevent messages.
+neverallow all_untrusted_apps domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow all_untrusted_apps domain:netlink_socket *;
+
+# Read or write kernel printk buffer
+neverallow all_untrusted_apps kmsg_device:chr_file no_rw_file_perms;
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow all_untrusted_apps { debugfs_type -debugfs_kcov }:file read;
+neverallow {all_untrusted_apps userdebug_or_eng(`-domain')} debugfs_type:{ file lnk_file } read;
+
+# Do not allow untrusted apps to register services.
+# Only trusted components of Android should be registering
+# services.
+neverallow all_untrusted_apps service_manager_type:service_manager add;
+
+# Do not allow untrusted apps to use VendorBinder
+neverallow all_untrusted_apps vndbinder_device:chr_file *;
+neverallow all_untrusted_apps vndservice_manager_type:service_manager *;
+
+# Do not allow untrusted apps to connect to the property service
+# or set properties. b/10243159
+neverallow { all_untrusted_apps -mediaprovider } property_socket:sock_file write;
+neverallow { all_untrusted_apps -mediaprovider } init:unix_stream_socket connectto;
+neverallow { all_untrusted_apps -mediaprovider } property_type:property_service set;
+
+# Do not allow untrusted apps to modify temporarily staged APKs.
+neverallow all_untrusted_apps { apk_tmp_file apk_private_tmp_file }:{ devfile_class_set dir fifo_file lnk_file sock_file } *;
+neverallow all_untrusted_apps { apk_tmp_file apk_private_tmp_file }:file ~{ getattr read map };
+
+# net.dns properties are not a public API. Disallow untrusted apps from reading this property.
+neverallow { all_untrusted_apps } net_dns_prop:file read;
+
+# radio_cdma_ecm_prop properties are not a public API. Disallow untrusted apps from reading this property.
+neverallow { all_untrusted_apps } radio_cdma_ecm_prop:file read;
+
+# Shared libraries created by trusted components within an app home
+# directory can be dlopen()ed. To maintain the W^X property, these files
+# must never be writable to the app.
+neverallow all_untrusted_apps app_exec_data_file:file
+  { append create link relabelfrom relabelto rename setattr write };
+
+# Block calling execve() on files in an apps home directory.
+# This is a W^X violation (loading executable code from a writable
+# home directory). For compatibility, allow for targetApi <= 28.
+# b/112357170
+neverallow {
+  all_untrusted_apps
+  -untrusted_app_25
+  -untrusted_app_27
+  -runas_app
+} { app_data_file privapp_data_file }:file execute_no_trans;
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  # block apps from executing files in their storage areas
+  # this is a stronger and more desirable guarantee than blocking execute_no_trans, but
+  # execute cannot be blocked on all of app_data_file without causing
+  # backwards compatibility issues (see b/237289679)
+  neverallow appdomain storage_area_content_file:file execute;
+')
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+     # dont allow apps to modify their own directories of storage areas
+    neverallow appdomain storage_area_app_dir:dir_file_class_set {
+        create write setattr relabelfrom relabelto append unlink link rename
+    };
+')
+
+# Do not allow untrusted apps to invoke dex2oat. This was historically required
+# by ART for compiling secondary dex files but has been removed in Q.
+# Exempt legacy apps (targetApi<=28) for compatibility.
+neverallow {
+  all_untrusted_apps
+  -untrusted_app_25
+  -untrusted_app_27
+} dex2oat_exec:file no_x_file_perms;
+
+# Do not allow untrusted apps to be assigned mlstrustedsubject.
+# This would undermine the per-user isolation model being
+# enforced via levelFrom=user in seapp_contexts and the mls
+# constraints.  As there is no direct way to specify a neverallow
+# on attribute assignment, this relies on the fact that fork
+# permission only makes sense within a domain (hence should
+# never be granted to any other domain within mlstrustedsubject)
+# and an untrusted app is allowed fork permission to itself.
+neverallow all_untrusted_apps mlstrustedsubject:process fork;
+
+# Do not allow untrusted apps to hard link to any files.
+# In particular, if an untrusted app links to other app data
+# files, installd will not be able to guarantee the deletion
+# of the linked to file. Hard links also contribute to security
+# bugs, so we want to ensure untrusted apps never have this
+# capability.
+neverallow all_untrusted_apps file_type:file link;
+
+# Do not allow untrusted apps to access network MAC address file
+neverallow all_untrusted_apps sysfs_net:file no_rw_file_perms;
+
+# Do not allow any write access to files in /sys
+neverallow all_untrusted_apps sysfs_type:file { no_w_file_perms no_x_file_perms };
+
+# Apps may never access the default sysfs label.
+neverallow all_untrusted_apps sysfs:file no_rw_file_perms;
+
+# Restrict socket ioctls. Either 1. disallow privileged ioctls, 2. disallow the
+# ioctl permission, or 3. disallow the socket class.
+neverallowxperm all_untrusted_apps domain:{ icmp_socket rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
+neverallow all_untrusted_apps *:{ netlink_route_socket netlink_selinux_socket } ioctl;
+neverallow all_untrusted_apps *:{
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket sctp_socket
+  ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket
+  atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket kcm_socket qipcrtr_socket smc_socket xdp_socket
+} *;
+
+# Apps can read/write an already open vsock (e.g. created by
+# virtualizationservice) but nothing more than that (e.g. creating a
+# new vsock, etc.)
+neverallow all_untrusted_apps *:vsock_socket ~{ getattr getopt read write };
+
+# Disallow sending RTM_GETLINK messages on netlink sockets.
+neverallow all_untrusted_apps domain:netlink_route_socket { bind nlmsg_readpriv };
+neverallow priv_app domain:netlink_route_socket { bind nlmsg_readpriv };
+
+# Disallow sending RTM_GETNEIGH{TBL} messages on netlink sockets.
+neverallow {
+  all_untrusted_apps
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+} domain:netlink_route_socket nlmsg_getneigh;
+
+# Do not allow untrusted apps access to /cache
+neverallow { all_untrusted_apps -mediaprovider } { cache_file cache_recovery_file }:dir ~{ r_dir_perms };
+neverallow { all_untrusted_apps -mediaprovider } { cache_file cache_recovery_file }:file ~{ read getattr };
+
+# Do not allow untrusted apps to create/unlink files outside of its sandbox,
+# internal storage or sdcard.
+# World accessible data locations allow application to fill the device
+# with unaccounted for data. This data will not get removed during
+# application un-installation.
+neverallow { all_untrusted_apps -mediaprovider } {
+  fs_type
+  -sdcard_type
+  -fuse
+  file_type
+  -app_data_file            # The apps sandbox itself
+  -privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `-storage_area_content_file')
+  -app_exec_data_file       # stored within the app sandbox directory
+  -media_rw_data_file       # Internal storage. Known that apps can
+                            # leave artfacts here after uninstall.
+  -user_profile_data_file   # Access to profile files
+  userdebug_or_eng(`
+    -method_trace_data_file # only on ro.debuggable=1
+    -coredump_file          # userdebug/eng only
+  ')
+}:dir_file_class_set { create unlink };
+
+# No untrusted component except mediaprovider_app should be touching /dev/fuse
+neverallow { all_untrusted_apps -mediaprovider_app } fuse_device:chr_file *;
+
+# Do not allow untrusted apps to directly open the tun_device
+neverallow all_untrusted_apps tun_device:chr_file open;
+# The tun_device ioctls below are not allowed, to prove equivalence
+# to the kernel patch at
+# https://android.googlesource.com/kernel/common/+/11cee2be0c2062ba88f04eb51196506f870a3b5d%5E%21
+neverallowxperm all_untrusted_apps tun_device:chr_file ioctl ~{ FIOCLEX FIONCLEX TUNGETIFF };
+
+# Only allow appending to /data/anr/traces.txt (b/27853304, b/18340553)
+neverallow all_untrusted_apps anr_data_file:file ~{ open append };
+neverallow all_untrusted_apps anr_data_file:dir ~search;
+
+# Avoid reads from generically labeled /proc files
+# Create a more specific label if needed
+neverallow all_untrusted_apps {
+  proc
+  proc_allocinfo
+  proc_asound
+  proc_kmsg
+  proc_loadavg
+  proc_mounts
+  proc_pagetypeinfo
+  proc_slabinfo
+  proc_stat
+  proc_swaps
+  proc_uptime
+  proc_version
+  proc_vmallocinfo
+  proc_vmstat
+}:file { no_rw_file_perms no_x_file_perms };
+
+# /proc/filesystems is accessible to mediaprovider_app only since it handles
+# external storage
+neverallow { all_untrusted_apps - mediaprovider_app } proc_filesystems:file { no_rw_file_perms no_x_file_perms };
+
+# Avoid all access to kernel configuration
+neverallow all_untrusted_apps config_gz:file { no_rw_file_perms no_x_file_perms };
+
+# Do not allow untrusted apps access to preloads data files
+neverallow all_untrusted_apps preloads_data_file:file no_rw_file_perms;
+
+# Locking of files on /system could lead to denial of service attacks
+# against privileged system components
+neverallow all_untrusted_apps system_file:file lock;
+
+# Do not permit untrusted apps to perform actions on HwBinder service_manager
+# other than find actions for services listed below
+neverallow all_untrusted_apps *:hwservice_manager ~find;
+
+# Do not permit access from apps which host arbitrary code to the protected services
+# The two main reasons for this are:
+# 1. Protected HwBinder servers do not perform client authentication because
+#    vendor code does not have a way to understand apps or their relation to
+#    caller UID information and, even if it did, those services either operate
+#    at a level below that of apps (e.g., HALs) or must not rely on app identity
+#    for authorization. Thus, to be safe, the default assumption for all added
+#    vendor services is that they treat all their clients as equally authorized
+#    to perform operations offered by the service.
+# 2. HAL servers contain code with higher incidence rate of security issues
+#    than system/core components and have access to lower layes of the stack
+#    (all the way down to hardware) thus increasing opportunities for bypassing
+#    the Android security model.
+neverallow all_untrusted_apps protected_hwservice:hwservice_manager find;
+neverallow all_untrusted_apps protected_service:service_manager find;
+
+# SELinux is not an API for untrusted apps to use
+neverallow all_untrusted_apps selinuxfs:file no_rw_file_perms;
+
+# Access to /proc/tty/drivers, to allow apps to determine if they
+# are running in an emulated environment.
+# b/33214085 b/33814662 b/33791054 b/33211769
+# https://github.com/strazzere/anti-emulator/blob/master/AntiEmulator/src/diff/strazzere/anti/emulator/FindEmulator.java
+# This will go away in a future Android release
+neverallow { all_untrusted_apps -untrusted_app_25 } proc_tty_drivers:file r_file_perms;
+neverallow all_untrusted_apps proc_tty_drivers:file ~r_file_perms;
+
+# Untrusted apps are not allowed to use cgroups.
+neverallow all_untrusted_apps cgroup:file *;
+neverallow all_untrusted_apps cgroup_v2:file *;
+
+# /mnt/sdcard symlink was supposed to have been removed in Gingerbread. Apps
+# must not use it.
+neverallow {
+  all_untrusted_apps
+  -untrusted_app_25
+  -untrusted_app_27
+} mnt_sdcard_file:lnk_file *;
+
+# Only privileged apps may find the incident service
+neverallow all_untrusted_apps incident_service:service_manager find;
+
+# Only privileged apps may find stats service
+neverallow all_untrusted_apps stats_service:service_manager find;
+
+# Do not allow untrusted app to read hidden system proprerties.
+# We do not include in the exclusions other normally untrusted applications such as mediaprovider
+#  due to the specific logging use cases.
+# Context: b/193912100
+neverallow {
+  all_untrusted_apps
+  -mediaprovider
+  -mediaprovider_app
+} { userdebug_or_eng_prop }:file read;
+
+# Do not allow untrusted app to access /dev/socket/mdnsd since U. The socket is
+# used to communicate to the mdnsd responder. The mdnsd responder will be
+# replaced by a java implementation which is integrated into the system server.
+# For untrusted apps running with API level 33-, they still have access to
+# /dev/socket/mdnsd for backward compatibility.
+neverallow {
+  all_untrusted_apps
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} mdnsd_socket:sock_file write;
+neverallow {
+  all_untrusted_apps
+  -untrusted_app_25
+  -untrusted_app_27
+  -untrusted_app_29
+  -untrusted_app_30
+  -untrusted_app_32
+} mdnsd:unix_stream_socket connectto;
+
+# Do not allow untrusted apps to use anonymous inodes. At the moment,
+# type transitions are the only way to distinguish between different
+# anon_inode usages like userfaultfd and io_uring. This prevents us from
+# creating a more fine-grained neverallow policy for each anon_inode usage.
+neverallow all_untrusted_apps domain:anon_inode *;
+
+# Do not allow untrusted app access to hidraw devices.
+neverallow all_untrusted_apps hidraw_device:chr_file *;
diff --git a/prebuilts/api/202504/private/app_zygote.te b/prebuilts/api/202504/private/app_zygote.te
new file mode 100644
index 0000000..b51f633
--- /dev/null
+++ b/prebuilts/api/202504/private/app_zygote.te
@@ -0,0 +1,182 @@
+typeattribute app_zygote coredomain;
+
+######
+###### Policy below is different from regular zygote-spawned apps
+######
+
+# Allow access to temporary files, which is normally permitted through
+# a domain macro.
+tmpfs_domain(app_zygote);
+
+# Set the UID/GID of the process.
+# This will be further limited to a range of isolated UIDs with seccomp.
+allow app_zygote self:global_capability_class_set { setgid setuid };
+# Drop capabilities from bounding set.
+allow app_zygote self:global_capability_class_set setpcap;
+# Switch SELinux context to isolated app domain.
+allow app_zygote self:process setcurrent;
+allow app_zygote isolated_app:process dyntransition;
+
+# For JIT
+allow app_zygote self:process execmem;
+
+# Allow exec mapping from tmpfs (memfds) for binary translation
+allow app_zygote app_zygote_tmpfs:file execute;
+
+# Allow app_zygote to stat the files that it opens. It must
+# be able to inspect them so that it can reopen them on fork
+# if necessary: b/30963384.
+allow app_zygote debugfs_trace_marker:file getattr;
+
+# get system_server process group
+allow app_zygote system_server:process getpgid;
+
+# Interaction between the app_zygote and its children.
+allow app_zygote isolated_app:process setpgid;
+
+# TODO (b/63631799) fix this access
+dontaudit app_zygote mnt_expand_file:dir getattr;
+
+# Get seapp_contexts
+allow app_zygote seapp_contexts_file:file r_file_perms;
+# Check validity of SELinux context before use.
+selinux_check_context(app_zygote)
+# Check SELinux permissions.
+selinux_check_access(app_zygote)
+
+# Read and inspect temporary files managed by zygote.
+allow app_zygote zygote_tmpfs:file { read getattr };
+
+######
+###### Policy below is shared with regular zygote-spawned apps
+######
+
+# Child of zygote.
+allow app_zygote zygote:fd use;
+allow app_zygote zygote:process sigchld;
+
+# For ART (read /data/dalvik-cache).
+r_dir_file(app_zygote, dalvikcache_data_file);
+allow app_zygote dalvikcache_data_file:file execute;
+
+# For ART (allow userfaultfd and related ioctls)
+userfaultfd_use(app_zygote)
+
+# Read /data/misc/apexdata/ to (get to com.android.art/dalvik-cache).
+allow app_zygote apex_module_data_file:dir search;
+# For ART APEX (read /data/misc/apexdata/com.android.art/dalvik-cache).
+r_dir_file(app_zygote, apex_art_data_file)
+
+# Allow reading/executing installed binaries to enable preloading
+# application data
+allow app_zygote apk_data_file:dir r_dir_perms;
+allow app_zygote apk_data_file:file { r_file_perms execute };
+
+# /oem accesses.
+allow app_zygote oemfs:dir search;
+
+# Allow app_zygote access to /vendor/overlay
+r_dir_file(app_zygote, vendor_overlay_file)
+# Allow app_zygote to read vendor_overlay_file from vendor apex as well
+allow app_zygote vendor_apex_metadata_file:dir { getattr search };
+
+allow app_zygote system_data_file:lnk_file r_file_perms;
+allow app_zygote system_data_file:file { getattr read map };
+
+# Send unsolicited message to system_server
+unix_socket_send(app_zygote, system_unsolzygote, system_server)
+
+# Allow the app_zygote to access the runtime feature flag properties.
+get_prop(app_zygote, device_config_runtime_native_prop)
+get_prop(app_zygote, device_config_runtime_native_boot_prop)
+
+# Allow app_zygote to access odsign verification status
+get_prop(app_zygote, odsign_prop)
+
+# /data/resource-cache
+allow app_zygote resourcecache_data_file:file r_file_perms;
+allow app_zygote resourcecache_data_file:dir r_dir_perms;
+
+#####
+##### Neverallow
+#####
+
+# Only permit transition to isolated_app.
+neverallow app_zygote { domain -isolated_app }:process dyntransition;
+
+# Only setcon() transitions, no exec() based transitions, except for crash_dump.
+neverallow app_zygote { domain -crash_dump }:process transition;
+
+# Must not exec() a program without changing domains.
+# Having said that, exec() above is not allowed.
+neverallow app_zygote *:file execute_no_trans;
+
+# The only way to enter this domain is for the zygote to fork a new
+# app_zygote child.
+neverallow { domain -zygote } app_zygote:process dyntransition;
+
+# Disallow write access to properties.
+neverallow app_zygote property_socket:sock_file write;
+neverallow app_zygote property_type:property_service set;
+
+# Should not have any access to data files.
+neverallow app_zygote app_data_file_type:file { rwx_file_perms };
+
+neverallow app_zygote {
+    service_manager_type
+    -activity_service
+    -webviewupdate_service
+}:service_manager find;
+
+# Isolated apps should not be able to access the driver directly.
+neverallow app_zygote gpu_device:chr_file { rwx_file_perms };
+
+# Do not allow app_zygote access to /cache.
+neverallow app_zygote cache_file:dir ~{ r_dir_perms };
+neverallow app_zygote cache_file:file ~{ read getattr };
+
+# Do not allow most socket access. This is socket_class_set, excluding unix_dgram_socket,
+# unix_stream_socket, and netlink_selinux_socket.
+neverallow app_zygote domain:{
+  socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket
+  appletalk_socket netlink_route_socket netlink_tcpdiag_socket
+  netlink_nflog_socket netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket
+  netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket
+  netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket
+  sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket
+  x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket
+  pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket
+  rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket
+} *;
+
+# Only allow app_zygote to talk to the logd socket, and su on eng/userdebug.
+# This is because cap_setuid/cap_setgid allow to forge uid/gid in
+# SCM_CREDENTIALS. Think twice before changing.
+neverallow app_zygote {
+  domain
+  -app_zygote
+  -logd
+  -system_server
+  userdebug_or_eng(`-su')
+}:unix_dgram_socket *;
+
+neverallow app_zygote {
+  domain
+  -app_zygote
+  -prng_seeder
+  userdebug_or_eng(`-su')
+}:unix_stream_socket *;
+
+# Never allow ptrace
+neverallow app_zygote *:process ptrace;
+
+# Do not allow access to Bluetooth-related system properties.
+# neverallow rules for Bluetooth-related data files are listed above.
+neverallow app_zygote {
+  bluetooth_a2dp_offload_prop
+  bluetooth_audio_hal_prop
+  bluetooth_prop
+  exported_bluetooth_prop
+}:file create_file_perms;
diff --git a/prebuilts/api/202504/private/art_boot.te b/prebuilts/api/202504/private/art_boot.te
new file mode 100644
index 0000000..0922931
--- /dev/null
+++ b/prebuilts/api/202504/private/art_boot.te
@@ -0,0 +1,13 @@
+# ART boot oneshot service
+type art_boot, domain, coredomain;
+type art_boot_exec, exec_type, file_type, system_file_type;
+
+init_daemon_domain(art_boot)
+
+# Allow query of device config properties, typically experiment flags.
+get_prop(art_boot, device_config_runtime_native_boot_prop)
+get_prop(art_boot, device_config_runtime_native_prop)
+
+# Allow ART to set its config properties at boot, mainly to be able to propagate
+# experiment flags to properties that only may change at boot.
+set_prop(art_boot, dalvik_config_prop_type)
diff --git a/prebuilts/api/202504/private/art_exec.te b/prebuilts/api/202504/private/art_exec.te
new file mode 100644
index 0000000..7f944f6
--- /dev/null
+++ b/prebuilts/api/202504/private/art_exec.te
@@ -0,0 +1,22 @@
+# A wrapper program that configures the process and executes a command.
+type art_exec, domain, coredomain;
+type art_exec_exec, system_file_type, exec_type, file_type;
+
+# Usually, this program is executed in the caller's domain. For example, it is
+# executed in the `artd` domain when artd calls it. Domain transition will take
+# place as soon as it executes other programs.
+# The only exception is when called by init. In this case, it's executed in its
+# own domain because init should never execute a program without changing to
+# another domain.
+init_daemon_domain(art_exec)
+
+# init calls this program to execute artd in a chroot environment for Pre-reboot
+# Dexopt.
+domain_auto_trans(art_exec, artd_exec, artd)
+
+# "sys_chroot" is for chroot'ing into the chroot environment, created by
+# dexopt_chroot_setup.
+allow art_exec self:global_capability_class_set sys_chroot;
+
+# Allow finding artd in the chroot dir for Pre-reboot Dexopt.
+allow art_exec pre_reboot_dexopt_file:dir search;
diff --git a/prebuilts/api/202504/private/artd.te b/prebuilts/api/202504/private/artd.te
new file mode 100644
index 0000000..15d7969
--- /dev/null
+++ b/prebuilts/api/202504/private/artd.te
@@ -0,0 +1,201 @@
+# ART service daemon.
+typeattribute artd coredomain;
+typeattribute artd mlstrustedsubject;
+type artd_exec, system_file_type, exec_type, file_type;
+type artd_tmpfs, file_type;
+
+# All types of artd subprocesses, which artd can kill.
+attribute artd_subprocess_type;
+
+# Allow artd to publish a binder service and make binder calls.
+binder_use(artd)
+add_service(artd, artd_service)
+add_service(artd, artd_pre_reboot_service)
+allow artd dumpstate:fifo_file { getattr write };
+allow artd dumpstate:fd use;
+
+init_daemon_domain(artd)
+
+# Allow query ART device config properties
+get_prop(artd, device_config_runtime_native_prop)
+get_prop(artd, device_config_runtime_native_boot_prop)
+
+# Access to "odsign.verification.success" for deciding whether to deny files in
+# the ART APEX data directory.
+get_prop(artd, odsign_prop)
+
+# Reading an APK opens a ZipArchive, which unpack to tmpfs.
+# Use tmpfs_domain() which will give tmpfs files created by artd their
+# own label, which differs from other labels created by other processes.
+# This allows to distinguish in policy files created by artd vs other
+# processes.
+tmpfs_domain(artd)
+
+# Allow testing userfaultfd support.
+userfaultfd_use(artd)
+
+# Read access to primary dex'es on writable partitions
+# ({/data,/mnt/expand/<volume-uuid>}/app/...).
+# Also allow creating the "oat" directory before restorecon.
+allow artd mnt_expand_file:dir { getattr search };
+allow artd apk_data_file:dir { rw_dir_perms create setattr relabelfrom };
+allow artd apk_data_file:file r_file_perms;
+allow artd apk_tmp_file:dir { rw_dir_perms create setattr relabelfrom };
+allow artd apk_tmp_file:file r_file_perms;
+
+# Read access to vendor APKs ({/vendor,/odm}/{app,priv-app}/...).
+r_dir_file(artd, vendor_app_file)
+
+# Read access to vendor overlay APKs ({/vendor,/odm,/oem,/apex/*}/overlay/...).
+allow artd oemfs:dir { getattr search };
+r_dir_file(artd, vendor_overlay_file)
+# Vendor overlay can be found in vendor apex
+allow artd vendor_apex_metadata_file:dir { getattr search };
+
+# Read access to vendor shared libraries ({/vendor,/odm}/framework/...).
+r_dir_file(artd, vendor_framework_file)
+
+# Read/write access to all compilation artifacts generated on device for apps'
+# primary dex'es. (/data/dalvik-cache/..., /data/app/.../oat/..., etc.)
+allow artd dalvikcache_data_file:dir { create_dir_perms relabelto };
+allow artd dalvikcache_data_file:file { create_file_perms relabelto };
+
+# Read access to the ART APEX data directory.
+# Needed for reading the boot image generated on device.
+allow artd apex_module_data_file:dir { getattr search };
+r_dir_file(artd, apex_art_data_file)
+
+# Read access to /apex/apex-info-list.xml
+# Needed for getting APEX versions.
+allow artd apex_info_file:file r_file_perms;
+
+# Allow getting root capabilities to bypass permission checks.
+# - "dac_override" and "dac_read_search" are for
+#   - reading secondary dex'es in app data directories (reading primary dex'es
+#     doesn't need root capabilities)
+#   - managing (CRUD) compilation artifacts in both APK directories for primary
+#     dex'es and in app data directories for secondary dex'es
+#   - managing (CRUD) profile files for both primary dex'es and secondary dex'es
+# - "fowner" is for adjusting the file permissions of compilation artifacts and
+#   profile files based on whether they include user data or not.
+# - "chown" is for transferring the ownership of compilation artifacts and
+#   profile files to the system or apps.
+allow artd self:global_capability_class_set { dac_override dac_read_search fowner chown };
+
+# Read/write access to profiles (/data/misc/profiles/{ref,cur}/...). Also allow
+# scanning /data/misc/profiles/cur, for cleaning up obsolete managed files.
+allow artd user_profile_root_file:dir r_dir_perms;
+allow artd user_profile_data_file:dir rw_dir_perms;
+allow artd user_profile_data_file:file create_file_perms;
+
+# Read/write access to secondary dex files, their profiles, and their
+# compilation artifacts
+# ({/data,/mnt/expand/<volume-uuid>}/{user,user_de}/<user-id>/<package-name>/...).
+allow artd app_data_file_type:dir { create_dir_perms relabelfrom relabelto };
+allow artd app_data_file_type:file { create_file_perms relabelfrom relabelto };
+
+# Allow symlinks for secondary dex files. This has be to restricted because
+# symlinks can cause various security issues. We allow "privapp_data_file" just
+# for GMS because so far we only see GMS using symlinks.
+allow artd privapp_data_file:lnk_file { getattr read };
+
+# Read access to SELinux context files, for restorecon.
+allow artd file_contexts_file:file r_file_perms;
+allow artd seapp_contexts_file:file r_file_perms;
+
+# Check validity of SELinux context, for restorecon.
+selinux_check_context(artd)
+
+# Allow scanning /, for cleaning up obsolete managed files.
+allow artd rootfs:dir r_dir_perms;
+
+# Allow scanning /data, for cleaning up obsolete managed files.
+allow artd system_data_root_file:dir r_dir_perms;
+
+# Allow scanning /mnt, for cleaning up obsolete managed files.
+allow artd tmpfs:dir r_dir_perms;
+
+# Allow scanning /mnt/expand, for cleaning up obsolete managed files.
+allow artd mnt_expand_file:dir r_dir_perms;
+
+# Allow scanning {/data,/mnt/expand/<volume-uuid>}/{user,user_de}, for cleaning
+# up obsolete managed files.
+allow artd system_userdir_file:dir r_dir_perms;
+
+# Allow scanning {/data,/mnt/expand/<volume-uuid>}/{user,user_de}/<user-id> and
+# /mnt/expand/<volume-uuid>, for cleaning up obsolete managed files.
+allow artd system_data_file:dir r_dir_perms;
+
+# Allow art_exec_exec to use the artd domain because it is a thin wrapper that
+# executes other binaries on behalf of artd. Domain transition will take place
+# as soon as art_exec_exec executes other binaries.
+allow artd art_exec_exec:file rx_file_perms;
+
+# Allow running other binaries in their own domains.
+domain_auto_trans(artd, profman_exec, profman)
+domain_auto_trans(artd, dex2oat_exec, dex2oat)
+
+# Allow sending sigkill to subprocesses.
+allow artd artd_subprocess_type:process sigkill;
+
+# Allow reading process info (/proc/<pid>/...).
+# This is needed for getting CPU time and wall time spent on subprocesses.
+r_dir_file(artd, profman);
+r_dir_file(artd, dex2oat);
+
+# Allow artd to reopen its own memfd.
+# artd needs to reopen a memfd with readonly in order to pass it to subprocesses
+# that don't have write permissions on memfds.
+allow artd artd_tmpfs:file open;
+
+# For Pre-reboot Dexopt.
+
+# Allow init to execute artd through art_exec.
+allow artd art_exec:fd use;
+
+# During Pre-reboot Dexopt, artd needs one more capability:
+# - "sys_admin" is for bind-mounting temp dirs at
+#   /data/misc/apexdata/com.android.art and /data/misc/odrefresh, to run
+#   odrefresh innocuously (in a way that doesn't affect the real boot images,
+#   metrics, etc.).
+allow artd self:global_capability_class_set sys_admin;
+
+# Allow running other binaries in their own domains.
+domain_auto_trans(artd, derive_classpath_exec, derive_classpath)
+domain_auto_trans(artd, odrefresh_exec, odrefresh)
+
+# Allow accessing Pre-reboot Dexopt files.
+allow artd pre_reboot_dexopt_file:dir { getattr search };
+
+# Allow reading /init.environ.rc in chroot, to extract env vars from it.
+allow artd rootfs:file { read open getattr };
+
+# Allow managing Pre-reboot Dexopt temp files.
+# The root of the temp dir that artd uses during Pre-reboot Dexopt is labeled
+# pre_reboot_dexopt_artd_file. Inside the temp dir, we create files and dirs and
+# relabel them after creation, so we need relabelfrom.
+allow artd pre_reboot_dexopt_artd_file:dir { create_dir_perms relabelfrom };
+allow artd pre_reboot_dexopt_artd_file:file { create_file_perms relabelfrom };
+
+# Allow bind-mounting at /data/misc/apexdata/com.android.art and
+# /data/misc/odrefresh and restorecon, to run odrefresh innocuously.
+allow artd { apex_art_data_file odrefresh_data_file }:dir relabelto;
+allow artd { apex_art_data_file odrefresh_data_file pre_reboot_dexopt_artd_file }:dir mounton;
+
+# Neverallow rules.
+
+# Never allow running other binaries without a domain transition.
+# The exception for art_exec_exec is explained above.
+neverallow artd ~{art_exec_exec}:file execute_no_trans;
+
+# Make sure artd_subprocess_type is complete, in a sense that it includes all
+# types of artd subprocesses.
+neverallow artd ~{artd_subprocess_type crash_dump}:process transition;
+
+# artd uses process groups to manage subprocesses and kill them. To ensure
+# successful kill, we need to prevent subprocesses from changing their
+# process groups or transitioning to other domains.
+# Transitioning crash_dump is allowed because it is transient and is only used
+# upon crashes.
+neverallow artd_subprocess_type self:process setpgid;
+neverallow artd_subprocess_type ~{artd_subprocess_type crash_dump}:process transition;
diff --git a/prebuilts/api/202504/private/asan_extract.te b/prebuilts/api/202504/private/asan_extract.te
new file mode 100644
index 0000000..8c8980c
--- /dev/null
+++ b/prebuilts/api/202504/private/asan_extract.te
@@ -0,0 +1,35 @@
+# type_transition must be private policy the domain_trans rules could stay
+# public, but conceptually should go with this
+# Technically not a daemon but we do want the transition from init domain to
+# asan_extract to occur.
+with_asan(`
+  typeattribute asan_extract coredomain;
+  init_daemon_domain(asan_extract)
+
+  # We need to signal a reboot when done.
+  set_prop(asan_extract, powerctl_prop)
+
+  # Allow asan_extract to execute itself using #!/system/bin/sh
+  allow asan_extract shell_exec:file rx_file_perms;
+
+  # We execute log, rm, gzip and tar.
+  allow asan_extract toolbox_exec:file rx_file_perms;
+  allow asan_extract system_file:file execute_no_trans;
+
+  # asan_extract deletes old /data/lib.
+  allow asan_extract system_file:dir { open read remove_name rmdir write };
+  allow asan_extract system_file:file unlink;
+
+  # asan_extract untars ASAN libraries into /data.
+  allow asan_extract system_data_file:dir create_dir_perms ;
+  allow asan_extract system_data_file:{ file lnk_file } create_file_perms ;
+
+  # Relabel the libraries with restorecon.
+  allow asan_extract file_contexts_file:file r_file_perms;
+  allow asan_extract system_data_file:{ dir file } relabelfrom;
+  allow asan_extract system_file:dir { relabelto setattr };
+  allow asan_extract system_file:file relabelto;
+
+  # Restorecon will actually already try to run with sanitized libraries (libpackagelistparser).
+  allow asan_extract system_data_file:file execute;
+')
diff --git a/prebuilts/api/202504/private/atrace.te b/prebuilts/api/202504/private/atrace.te
new file mode 100644
index 0000000..1712648
--- /dev/null
+++ b/prebuilts/api/202504/private/atrace.te
@@ -0,0 +1,81 @@
+# Domain for atrace process.
+# It is spawned either by traced_probes or by init for the boottrace service.
+
+type atrace_exec, exec_type, file_type, system_file_type;
+
+# boottrace services uses /data/misc/boottrace/categories
+allow atrace boottrace_data_file:dir search;
+allow atrace boottrace_data_file:file r_file_perms;
+
+# Allow atrace to access tracefs.
+allow atrace debugfs_tracing:dir r_dir_perms;
+allow atrace debugfs_tracing:file rw_file_perms;
+allow atrace debugfs_trace_marker:file getattr;
+
+# Allow atrace to write data when a pipe is used for stdout/stderr.
+# This is used by Perfetto to capture atrace stdout/stderr.
+allow atrace traced_probes:fd use;
+allow atrace traced_probes:fifo_file { getattr write };
+
+# atrace sets debug.atrace.* properties
+set_prop(atrace, debug_prop)
+
+# atrace pokes all the binder-enabled processes at startup with a
+# SYSPROPS_TRANSACTION, to tell them to reload the debug.atrace.* properties.
+
+# Allow discovery of binder services.
+allow atrace {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -dumpstate_service
+  -incident_service
+  -installd_service
+  -lpdump_service
+  -mdns_service
+  -netd_service
+  -stats_service
+  -tracingproxy_service
+  -vold_service
+  -default_android_service
+}:service_manager { find };
+allow atrace servicemanager:service_manager list;
+
+# Allow notifying the processes hosting specific binder services that
+# trace-related system properties have changed.
+binder_use(atrace)
+allow atrace surfaceflinger:binder call;
+allow atrace system_server:binder call;
+allow atrace cameraserver:binder call;
+
+# Similarly, on debug builds, allow specific HALs to be notified that
+# trace-related system properties have changed.
+userdebug_or_eng(`
+  # List HAL interfaces.
+  allow atrace hwservicemanager:hwservice_manager list;
+  # Notify the camera HAL.
+  hal_client_domain(atrace, hal_camera)
+  hal_client_domain(atrace, hal_vibrator)
+')
+
+# Remove logspam from notification attempts to non-allowlisted services.
+dontaudit atrace hwservice_manager_type:hwservice_manager find;
+dontaudit atrace service_manager_type:service_manager find;
+dontaudit atrace domain:binder call;
+
+# atrace can call atrace HAL
+hal_client_domain(atrace, hal_atrace)
+
+get_prop(atrace, hwservicemanager_prop)
+
+userdebug_or_eng(`
+  # atrace is generally invoked as a standalone binary from shell or perf
+  # daemons like Perfetto traced_probes. However, in userdebug builds, there is
+  # a further option to run atrace as an init daemon for boot tracing.
+  init_daemon_domain(atrace)
+
+  allow atrace debugfs_tracing_debug:dir r_dir_perms;
+  allow atrace debugfs_tracing_debug:file rw_file_perms;
+')
+
+dontaudit atrace debugfs_tracing_debug:file audit_access;
diff --git a/prebuilts/api/202504/private/attributes b/prebuilts/api/202504/private/attributes
new file mode 100644
index 0000000..93bf295
--- /dev/null
+++ b/prebuilts/api/202504/private/attributes
@@ -0,0 +1,46 @@
+hal_attribute(lazy_test);
+
+# This is applied to apps on vendor images with SDK <=30 only,
+# to exempt them from recent mls changes. It must not be applied
+# to any domain on newer system or vendor image.
+attribute mlsvendorcompat;
+
+# Attributes for property types having both system_property_type
+# and vendor_property_type. Such types are ill-formed because
+# property owner attributes must be exclusive.
+attribute system_and_vendor_property_type;
+expandattribute system_and_vendor_property_type false;
+
+# HALs
+until_board_api(202504, `
+    hal_attribute(mediaquality);
+')
+
+until_board_api(202504, `
+attribute unconstrained_vsock_violators;
+expandattribute unconstrained_vsock_violators false;
+')
+
+# All SDK sandbox domains
+attribute sdk_sandbox_all;
+# The SDK sandbox domains for the current SDK level.
+attribute sdk_sandbox_current;
+# Common to adbd and adbd_tradeinmode.
+attribute adbd_common;
+
+# Provides access to platform update services.
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+attribute update_provider;
+expandattribute update_provider false;
+
+until_board_api(202504, `
+    attribute tee_service_type;
+')
+
+until_board_api(202504, `
+    hal_attribute(vm_capabilities);
+')
+
+until_board_api(202504, `
+    hal_attribute(hwcrypto);
+')
diff --git a/prebuilts/api/202504/private/audioserver.te b/prebuilts/api/202504/private/audioserver.te
new file mode 100644
index 0000000..5aa8dde
--- /dev/null
+++ b/prebuilts/api/202504/private/audioserver.te
@@ -0,0 +1,115 @@
+# audioserver - audio services daemon
+type audioserver_exec, exec_type, file_type, system_file_type;
+typeattribute audioserver coredomain;
+
+init_daemon_domain(audioserver)
+tmpfs_domain(audioserver)
+
+r_dir_file(audioserver, sdcard_type)
+r_dir_file(audioserver, fuse)
+
+binder_use(audioserver)
+binder_call(audioserver, binderservicedomain)
+binder_call(audioserver, appdomain)
+binder_service(audioserver)
+
+hal_client_domain(audioserver, hal_allocator)
+# /system/lib64/hw for always-passthrough Allocator HAL ashmem / mapper .so
+r_dir_file(audioserver, system_file)
+
+hal_client_domain(audioserver, hal_audio)
+
+userdebug_or_eng(`
+  # used for TEE sink - pcm capture for debug.
+  allow audioserver media_data_file:dir create_dir_perms;
+  allow audioserver audioserver_data_file:dir create_dir_perms;
+  allow audioserver audioserver_data_file:file create_file_perms;
+
+  # ptrace to processes in the same domain for memory leak detection
+  allow audioserver self:process ptrace;
+')
+
+add_service(audioserver, audioserver_service)
+allow audioserver activity_service:service_manager find;
+allow audioserver appops_service:service_manager find;
+allow audioserver batterystats_service:service_manager find;
+allow audioserver external_vibrator_service:service_manager find;
+allow audioserver package_native_service:service_manager find;
+allow audioserver permission_service:service_manager find;
+allow audioserver permission_checker_service:service_manager find;
+allow audioserver power_service:service_manager find;
+allow audioserver scheduling_policy_service:service_manager find;
+allow audioserver mediametrics_service:service_manager find;
+allow audioserver sensor_privacy_service:service_manager find;
+allow audioserver soundtrigger_middleware_service:service_manager find;
+allow audioserver audio_service:service_manager find;
+allow audioserver virtual_device_native_service:service_manager find;
+
+# Allow read/write access to bluetooth-specific properties
+set_prop(audioserver, bluetooth_a2dp_offload_prop)
+set_prop(audioserver, bluetooth_audio_hal_prop)
+set_prop(audioserver, bluetooth_prop)
+set_prop(audioserver, exported_bluetooth_prop)
+
+# Grant access to audio files to audioserver
+allow audioserver audio_data_file:dir ra_dir_perms;
+allow audioserver audio_data_file:file create_file_perms;
+
+# allow access to ALSA MMAP FDs for AAudio API
+allow audioserver audio_device:chr_file { read write };
+
+not_full_treble(`allow audioserver audio_device:dir r_dir_perms;')
+not_full_treble(`allow audioserver audio_device:chr_file rw_file_perms;')
+
+# For A2DP bridge which is loaded directly into audioserver
+unix_socket_connect(audioserver, bluetooth, bluetooth)
+
+# Allow shell commands from ADB and shell for CTS testing/dumping
+allow audioserver adbd:fd use;
+allow audioserver adbd:unix_stream_socket { read write };
+allow audioserver shell:fifo_file { read write };
+
+# Allow shell commands from ADB for CTS testing/dumping
+userdebug_or_eng(`
+  allow audioserver su:fd use;
+  allow audioserver su:fifo_file { read write };
+  allow audioserver su:unix_stream_socket { read write };
+')
+
+# Allow write access to log tag property
+set_prop(audioserver, log_tag_prop);
+
+# Allow audioserver to signal audio HAL processes and dump their stacks.
+allow audioserver hal_audio_server:process signal;
+
+# Allow audioserver to access sensorservice.
+allow audioserver sensorservice_service:service_manager find;
+allow audioserver system_server:unix_stream_socket { read write };
+
+# Allow using wake locks
+wakelock_use(audioserver)
+
+# Allow reading audio config props, e.g. af.fast_track_multiplier
+get_prop(audioserver, audio_config_prop)
+get_prop(audioserver, system_audio_config_prop)
+
+###
+### neverallow rules
+###
+
+# audioserver should never execute any executable without a
+# domain transition
+neverallow audioserver { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow audioserver domain:{ udp_socket rawip_socket } *;
+neverallow audioserver { domain userdebug_or_eng(`-su') }:tcp_socket *;
diff --git a/prebuilts/api/202504/private/auditctl.te b/prebuilts/api/202504/private/auditctl.te
new file mode 100644
index 0000000..f634d3d
--- /dev/null
+++ b/prebuilts/api/202504/private/auditctl.te
@@ -0,0 +1,18 @@
+#
+# /system/bin/auditctl executed for logd
+#
+# Performs maintenance of the kernel auditing system, including
+# setting rate limits on SELinux denials.
+#
+
+type auditctl, domain, coredomain;
+type auditctl_exec, file_type, system_file_type, exec_type;
+
+# Uncomment the line below to put this domain into permissive
+# mode. This helps speed SELinux policy development.
+# userdebug_or_eng(`permissive auditctl;')
+
+init_daemon_domain(auditctl)
+
+allow auditctl self:global_capability_class_set audit_control;
+allow auditctl self:netlink_audit_socket { create_socket_perms_no_ioctl nlmsg_write };
diff --git a/prebuilts/api/202504/private/automotive_display_service.te b/prebuilts/api/202504/private/automotive_display_service.te
new file mode 100644
index 0000000..db20696
--- /dev/null
+++ b/prebuilts/api/202504/private/automotive_display_service.te
@@ -0,0 +1,44 @@
+# Display proxy service for Automotive
+type automotive_display_service, domain, coredomain;
+type automotive_display_service_exec, system_file_type, exec_type, file_type;
+
+typeattribute automotive_display_service automotive_display_service_server;
+
+# Allow to add a display service to the hwservicemanager
+add_hwservice(automotive_display_service, fwk_automotive_display_hwservice);
+
+# Allow init to launch automotive display service
+init_daemon_domain(automotive_display_service)
+
+# Allow to use Binder IPC for SurfaceFlinger.
+binder_use(automotive_display_service)
+
+# Allow to use HwBinder IPC for HAL implementations.
+hwbinder_use(automotive_display_service)
+hal_client_domain(automotive_display_service, hal_graphics_composer)
+hal_client_domain(automotive_display_service, hal_graphics_allocator)
+
+# Allow to read the target property.
+get_prop(automotive_display_service, hwservicemanager_prop)
+
+# Allow to find SurfaceFlinger.
+allow automotive_display_service surfaceflinger_service:service_manager find;
+
+# Allow client domain to do binder IPC to serverdomain.
+binder_call(automotive_display_service, surfaceflinger)
+
+# Allow to use a graphics mapper
+allow automotive_display_service hal_graphics_mapper_hwservice:hwservice_manager find;
+
+# Allow to use hidl token service
+allow automotive_display_service hidl_token_hwservice:hwservice_manager find;
+
+# Allow to access EGL files
+allow automotive_display_service gpu_device:chr_file rw_file_perms;
+allow automotive_display_service gpu_device:dir search;
+
+# Allow to add a service to the servicemanager
+add_service(automotive_display_service, fwk_automotive_display_service);
+
+# Allow to communicate with EVS services
+binder_call(automotive_display_service, hal_evs)
diff --git a/prebuilts/api/202504/private/bert_collector.te b/prebuilts/api/202504/private/bert_collector.te
new file mode 100644
index 0000000..b11bd76
--- /dev/null
+++ b/prebuilts/api/202504/private/bert_collector.te
@@ -0,0 +1,12 @@
+type bert_collector, domain, coredomain;
+type bert_collector_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(bert_collector)
+
+r_dir_file(bert_collector, sysfs_firmware_acpi_tables)
+
+binder_use(bert_collector)
+binder_call(bert_collector, system_server)
+
+allow bert_collector dropbox_service:service_manager find;
+allow bert_collector proc_version:file r_file_perms;
diff --git a/prebuilts/api/202504/private/binderservicedomain.te b/prebuilts/api/202504/private/binderservicedomain.te
new file mode 100644
index 0000000..b8ae9f4
--- /dev/null
+++ b/prebuilts/api/202504/private/binderservicedomain.te
@@ -0,0 +1,25 @@
+# Rules common to some specific binder service domains.
+# Deprecated. Consider granting the exact permissions required by your service.
+
+# Allow dumpstate and incidentd to collect information from binder services
+allow binderservicedomain { dumpstate incidentd }:fd use;
+allow binderservicedomain { dumpstate incidentd }:unix_stream_socket { read write getopt getattr };
+allow binderservicedomain { dumpstate incidentd }:fifo_file  { getattr write };
+allow binderservicedomain shell_data_file:file { getattr write };
+
+# Allow dumpsys to work from adb shell or the serial console
+allow binderservicedomain devpts:chr_file rw_file_perms;
+allow binderservicedomain console_device:chr_file rw_file_perms;
+
+# Receive and write to a pipe received over Binder from an app.
+allow binderservicedomain appdomain:fd use;
+allow binderservicedomain appdomain:fifo_file write;
+
+# allow all services to run permission checks
+allow binderservicedomain permission_service:service_manager find;
+
+allow binderservicedomain keystore:keystore2_key { delete get_info rebind use };
+
+use_keystore(binderservicedomain)
+# binderservicedomain is using apex_info via libvintf
+use_apex_info(binderservicedomain)
diff --git a/prebuilts/api/202504/private/blank_screen.te b/prebuilts/api/202504/private/blank_screen.te
new file mode 100644
index 0000000..20d50cc
--- /dev/null
+++ b/prebuilts/api/202504/private/blank_screen.te
@@ -0,0 +1,7 @@
+type blank_screen, domain, coredomain;
+type blank_screen_exec, exec_type, file_type, system_file_type;
+
+init_daemon_domain(blank_screen)
+
+# hal_light_client has access to hal_light_server
+hal_client_domain(blank_screen, hal_light)
diff --git a/prebuilts/api/202504/private/blkid.te b/prebuilts/api/202504/private/blkid.te
new file mode 100644
index 0000000..4e972ab
--- /dev/null
+++ b/prebuilts/api/202504/private/blkid.te
@@ -0,0 +1,22 @@
+# blkid called from vold
+
+typeattribute blkid coredomain;
+
+type blkid_exec, system_file_type, exec_type, file_type;
+
+# Allowed read-only access to encrypted devices to extract UUID/label
+allow blkid block_device:dir search;
+allow blkid userdata_block_device:blk_file r_file_perms;
+allow blkid dm_device:blk_file r_file_perms;
+
+# Allow stdin/out back to vold
+allow blkid vold:fd use;
+allow blkid vold:fifo_file { read write getattr };
+
+# For blkid launched through popen()
+allow blkid blkid_exec:file rx_file_perms;
+
+# Only allow entry from vold
+neverallow { domain -vold } blkid:process transition;
+neverallow * blkid:process dyntransition;
+neverallow blkid { file_type fs_type -blkid_exec -shell_exec }:file entrypoint;
diff --git a/prebuilts/api/202504/private/blkid_untrusted.te b/prebuilts/api/202504/private/blkid_untrusted.te
new file mode 100644
index 0000000..1256771
--- /dev/null
+++ b/prebuilts/api/202504/private/blkid_untrusted.te
@@ -0,0 +1,37 @@
+# blkid for untrusted block devices
+
+typeattribute blkid_untrusted coredomain;
+
+# Allowed read-only access to vold block devices to extract UUID/label
+allow blkid_untrusted block_device:dir search;
+allow blkid_untrusted vold_device:blk_file r_file_perms;
+
+# Allow stdin/out back to vold
+allow blkid_untrusted vold:fd use;
+allow blkid_untrusted vold:fifo_file { read write getattr };
+
+# For blkid launched through popen()
+allow blkid_untrusted blkid_exec:file rx_file_perms;
+
+###
+### neverallow rules
+###
+
+# Untrusted blkid should never be run on block devices holding sensitive data
+neverallow blkid_untrusted {
+  boot_block_device
+  frp_block_device
+  metadata_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdata_block_device
+  cache_block_device
+  dm_device
+}:blk_file no_rw_file_perms;
+
+# Only allow entry from vold via blkid binary
+neverallow { domain -vold } blkid_untrusted:process transition;
+neverallow * blkid_untrusted:process dyntransition;
+neverallow blkid_untrusted { file_type fs_type -blkid_exec -shell_exec }:file entrypoint;
diff --git a/prebuilts/api/202504/private/bluetooth.te b/prebuilts/api/202504/private/bluetooth.te
new file mode 100644
index 0000000..0b001e2
--- /dev/null
+++ b/prebuilts/api/202504/private/bluetooth.te
@@ -0,0 +1,98 @@
+# bluetooth app
+
+typeattribute bluetooth coredomain, mlstrustedsubject;
+
+app_domain(bluetooth)
+net_domain(bluetooth)
+
+# Socket creation under /data/misc/bluedroid.
+type_transition bluetooth bluetooth_data_file:sock_file bluetooth_socket;
+
+# Allow access to net_admin ioctls
+allowxperm bluetooth self:udp_socket ioctl priv_sock_ioctls;
+
+wakelock_use(bluetooth);
+
+# Data file accesses.
+allow bluetooth bluetooth_data_file:dir create_dir_perms;
+allow bluetooth bluetooth_data_file:notdevfile_class_set { create_file_perms link };
+allow bluetooth bluetooth_logs_data_file:dir rw_dir_perms;
+allow bluetooth bluetooth_logs_data_file:file create_file_perms;
+
+# Socket creation under /data/misc/bluedroid.
+allow bluetooth bluetooth_socket:sock_file create_file_perms;
+
+allow bluetooth self:global_capability_class_set net_admin;
+allow bluetooth self:global_capability2_class_set wake_alarm;
+
+# tethering
+allow bluetooth self:packet_socket create_socket_perms_no_ioctl;
+allow bluetooth self:global_capability_class_set { net_admin net_raw net_bind_service };
+allow bluetooth self:tun_socket create_socket_perms_no_ioctl;
+allow bluetooth tun_device:chr_file rw_file_perms;
+allowxperm bluetooth tun_device:chr_file ioctl { TUNGETIFF TUNSETIFF };
+allow bluetooth efs_file:dir search;
+
+# allow Bluetooth to access uhid device for HID profile
+allow bluetooth uhid_device:chr_file rw_file_perms;
+
+allow bluetooth gpu_device:chr_file rw_file_perms;
+allow bluetooth gpu_device:dir r_dir_perms;
+
+# proc access.
+allow bluetooth proc_bluetooth_writable:file rw_file_perms;
+
+# For Bluetooth to check what profile are available
+allow bluetooth proc_filesystems:file r_file_perms;
+get_prop(bluetooth, incremental_prop)
+
+# For Bluetooth to check security logging state
+get_prop(bluetooth, device_logging_prop)
+
+# Allow write access to bluetooth specific properties
+set_prop(bluetooth, binder_cache_bluetooth_server_prop);
+neverallow { domain -bluetooth -init }
+    binder_cache_bluetooth_server_prop:property_service set;
+set_prop(bluetooth, bluetooth_a2dp_offload_prop)
+set_prop(bluetooth, bluetooth_audio_hal_prop)
+set_prop(bluetooth, bluetooth_prop)
+set_prop(bluetooth, exported_bluetooth_prop)
+set_prop(bluetooth, pan_result_prop)
+
+allow bluetooth audioserver_service:service_manager find;
+allow bluetooth bluetooth_service:service_manager find;
+allow bluetooth drmserver_service:service_manager find;
+allow bluetooth mediaserver_service:service_manager find;
+allow bluetooth radio_service:service_manager find;
+allow bluetooth app_api_service:service_manager find;
+allow bluetooth system_api_service:service_manager find;
+allow bluetooth network_stack_service:service_manager find;
+allow bluetooth system_suspend_control_service:service_manager find;
+allow bluetooth hal_audio_service:service_manager find;
+
+# already open bugreport file descriptors may be shared with
+# the bluetooth process, from a file in
+# /data/data/com.android.shell/files/bugreports/bugreport-*.
+allow bluetooth shell_data_file:file read;
+
+# Bluetooth audio needs RT scheduling to meet deadlines, allow sys_nice
+allow bluetooth self:global_capability_class_set sys_nice;
+
+hal_client_domain(bluetooth, hal_bluetooth)
+hal_client_domain(bluetooth, hal_telephony)
+
+# Bluetooth A2DP offload requires binding with audio HAL
+hal_client_domain(bluetooth, hal_audio)
+
+read_runtime_log_tags(bluetooth)
+
+###
+### Neverallow rules
+###
+### These are things that the bluetooth app should NEVER be able to do
+###
+
+# Superuser capabilities.
+# Bluetooth requires net_{admin,raw,bind_service} and wake_alarm and block_suspend and sys_nice.
+neverallow bluetooth self:global_capability_class_set ~{ net_admin net_raw net_bind_service sys_nice};
+neverallow bluetooth self:global_capability2_class_set ~{ wake_alarm block_suspend };
diff --git a/prebuilts/api/202504/private/bluetoothdomain.te b/prebuilts/api/202504/private/bluetoothdomain.te
new file mode 100644
index 0000000..fe4f0e6
--- /dev/null
+++ b/prebuilts/api/202504/private/bluetoothdomain.te
@@ -0,0 +1,2 @@
+# Allow clients to use a socket provided by the bluetooth app.
+allow bluetoothdomain bluetooth:unix_stream_socket { getopt setopt getattr read write ioctl shutdown };
diff --git a/prebuilts/api/202504/private/bootanim.te b/prebuilts/api/202504/private/bootanim.te
new file mode 100644
index 0000000..fd3a09b
--- /dev/null
+++ b/prebuilts/api/202504/private/bootanim.te
@@ -0,0 +1,69 @@
+typeattribute bootanim coredomain;
+
+init_daemon_domain(bootanim)
+
+# b/68864350
+dontaudit bootanim unlabeled:dir search;
+
+# Bootanim should not be reading default vendor-defined properties.
+dontaudit bootanim vendor_default_prop:file read;
+
+# Read ro.boot.bootreason b/30654343
+get_prop(bootanim, bootloader_boot_reason_prop)
+
+get_prop(bootanim, bootanim_config_prop)
+
+# Allow updating boot animation status.
+set_prop(bootanim, bootanim_system_prop)
+
+# Allow accessing /data/misc/bootanim
+r_dir_file(bootanim, bootanim_data_file)
+
+# Allow accessing vendor apex for EGL/GLES
+allow bootanim vendor_apex_metadata_file:dir r_dir_perms;
+
+hal_client_domain(bootanim, hal_configstore)
+hal_client_domain(bootanim, hal_graphics_allocator)
+hal_client_domain(bootanim, hal_graphics_composer)
+
+binder_use(bootanim)
+binder_call(bootanim, surfaceflinger)
+binder_call(bootanim, audioserver)
+
+hwbinder_use(bootanim)
+
+allow bootanim gpu_device:chr_file rw_file_perms;
+allow bootanim gpu_device:dir r_dir_perms;
+allow bootanim sysfs_gpu:file r_file_perms;
+
+# /oem access
+allow bootanim oemfs:dir r_dir_perms;
+# boot animations on oem are stored with specific label
+allow bootanim bootanim_oem_file:file r_file_perms;
+
+allow bootanim audio_device:dir r_dir_perms;
+allow bootanim audio_device:chr_file rw_file_perms;
+
+allow bootanim audioserver_service:service_manager find;
+allow bootanim surfaceflinger_service:service_manager find;
+allow bootanim surfaceflinger:unix_stream_socket { read write };
+
+# Allow access to ion memory allocation device
+allow bootanim ion_device:chr_file rw_file_perms;
+
+# Allow access to DMA-BUF system heap
+allow bootanim dmabuf_system_heap_device:chr_file r_file_perms;
+
+allow bootanim hal_graphics_allocator:fd use;
+
+# Fences
+allow bootanim hal_graphics_composer:fd use;
+
+# Read access to pseudo filesystems.
+allow bootanim proc_meminfo:file r_file_perms;
+
+# System file accesses.
+allow bootanim system_file:dir r_dir_perms;
+
+# Allow bootanim to send information to statsd socket.
+unix_socket_send(bootanim, statsdw, statsd)
\ No newline at end of file
diff --git a/prebuilts/api/202504/private/bootstat.te b/prebuilts/api/202504/private/bootstat.te
new file mode 100644
index 0000000..9835940
--- /dev/null
+++ b/prebuilts/api/202504/private/bootstat.te
@@ -0,0 +1,68 @@
+typeattribute bootstat coredomain;
+
+init_daemon_domain(bootstat)
+
+# Collect metrics on boot time created by init
+get_prop(bootstat, boottime_prop)
+
+# Read/Write [persist.]sys.boot.reason and ro.boot.bootreason (write if empty)
+set_prop(bootstat, bootloader_boot_reason_prop)
+set_prop(bootstat, system_boot_reason_prop)
+set_prop(bootstat, last_boot_reason_prop)
+
+read_runtime_log_tags(bootstat)
+
+# Allow persistent storage in /data/misc/bootstat.
+allow bootstat bootstat_data_file:dir rw_dir_perms;
+allow bootstat bootstat_data_file:file create_file_perms;
+
+allow bootstat metadata_file:dir search;
+allow bootstat metadata_bootstat_file:dir rw_dir_perms;
+allow bootstat metadata_bootstat_file:file create_file_perms;
+
+# ToDo: TBI move access for the following to a system health HAL
+
+# Allow access to /sys/fs/pstore/ and syslog
+allow bootstat pstorefs:dir search;
+allow bootstat pstorefs:file r_file_perms;
+allow bootstat kernel:system syslog_read;
+
+# Allow access to reading the logs to read aspects of system health
+read_logd(bootstat)
+
+# Allow bootstat write to statsd.
+unix_socket_send(bootstat, statsdw, statsd)
+
+###
+### Neverallow rules
+###
+
+neverallow {
+  domain
+  -bootstat
+  -init
+} system_boot_reason_prop:property_service set;
+
+neverallow {
+  domain
+  -bootanim
+  -bootstat
+  -dumpstate
+  userdebug_or_eng(`-incidentd')
+  -init
+  -platform_app
+  -recovery
+  -shell
+  -system_server
+} { bootloader_boot_reason_prop last_boot_reason_prop }:file r_file_perms;
+# ... and refine, as these components should not set the last boot reason
+neverallow { bootanim recovery } last_boot_reason_prop:file r_file_perms;
+
+neverallow {
+  domain
+  -bootstat
+  -init
+  -system_server
+} { bootloader_boot_reason_prop last_boot_reason_prop }:property_service set;
+# ... and refine ... for a ro propertly no less ... keep this _tight_
+neverallow system_server bootloader_boot_reason_prop:property_service set;
diff --git a/prebuilts/api/202504/private/boringssl_self_test.te b/prebuilts/api/202504/private/boringssl_self_test.te
new file mode 100644
index 0000000..50fc1fc
--- /dev/null
+++ b/prebuilts/api/202504/private/boringssl_self_test.te
@@ -0,0 +1,74 @@
+# System and vendor domains for BoringSSL self test binaries.
+#
+# For FIPS compliance, all processes linked against libcrypto perform a startup
+# self test which computes a hash of the BoringSSL Crypto Module (BCM) and, at least once
+# per device boot, also run a series of Known Answer Tests (KAT) to verify functionality.
+#
+# The KATs are expensive, and to ensure they are run as few times as possible, they
+# are skipped if a marker file exists in /dev/boringssl/selftest whose name is
+# the hash of the BCM that was computed earlier.  The files are zero length and their contents
+# should never be read or written.  To avoid giving arbitrary processes access to /dev/boringssl
+# to create these marker files, there are dedicated self test binaries which this policy
+# gives access to and which are run during early-init.
+#
+# Due to build skew, the version of libcrypto in /vendor may have a different hash than
+# the system one.  To cater for this there are vendor variants of the self test binaries
+# which also have permission to write to the same files in /dev/boringssl.  In the case where
+# vendor and system libcrypto have the same hash, there will be a race to create the file,
+# but this is harmless.
+#
+# If the self tests fail, then the device should reboot into firmware and for this reason
+# the system boringssl_self_test domain needs to be in coredomain.  As vendor domains
+# are not allowed in coredomain, this means that the vendor self tests cannot trigger a
+# reboot.  However every binary linked against the vendor libcrypto will abort on startup,
+# so in practice the device will crash anyway in this unlikely scenario.
+
+# System boringssl_self_test domain
+type boringssl_self_test, domain, coredomain;
+type boringssl_self_test_exec, system_file_type, exec_type, file_type;
+
+# Vendor boringssl_self_test domain
+type vendor_boringssl_self_test, domain;
+type vendor_boringssl_self_test_exec, vendor_file_type, exec_type, file_type;
+
+# Switch to boringssl_self_test security domain when running boringssl_self_test_exec
+init_daemon_domain(boringssl_self_test)
+
+# Switch to vendor_boringssl_self_test security domain when running vendor_boringssl_self_test_exec
+init_daemon_domain(vendor_boringssl_self_test)
+
+# Marker files, common to both domains, indicating KAT have been performed on a particular libcrypto
+#
+# The files are zero length so there is no issue if both vendor and system code
+# try to create the same file simultaneously. One will succeed and the other will fail
+# silently, i.e. still indicate success.  Similar harmless naming collisions will happen in the
+# system domain e.g. when system and APEX copies of libcrypto are identical.
+type boringssl_self_test_marker, file_type;
+
+# Allow self test binaries to create/check for the existence of boringssl_self_test_marker files
+allow { boringssl_self_test vendor_boringssl_self_test }
+  boringssl_self_test_marker:file create_file_perms;
+allow { boringssl_self_test vendor_boringssl_self_test }
+  boringssl_self_test_marker:dir ra_dir_perms;
+
+# Allow self test binaries to write their stdout/stderr messages to kmsg_debug
+allow { boringssl_self_test vendor_boringssl_self_test }
+  kmsg_debug_device:chr_file { w_file_perms getattr ioctl };
+
+# No other process should be able to create marker files because their existence causes the
+# boringssl KAT to be skipped.
+neverallow {
+  domain
+  -vendor_boringssl_self_test
+  -boringssl_self_test
+  -init
+  -vendor_init
+} boringssl_self_test_marker:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -vendor_boringssl_self_test
+  -boringssl_self_test
+  -init
+  -vendor_init
+} boringssl_self_test_marker:dir write;
diff --git a/prebuilts/api/202504/private/bpfdomain.te b/prebuilts/api/202504/private/bpfdomain.te
new file mode 100644
index 0000000..7c8f5c0
--- /dev/null
+++ b/prebuilts/api/202504/private/bpfdomain.te
@@ -0,0 +1,25 @@
+# platform should have ownership of network attachpoints for BPF
+neverallow {
+  bpfdomain
+  -bpfloader
+  -netd
+  -netutils_wrapper
+  -network_stack
+  -system_server
+} self:global_capability_class_set { net_admin net_raw };
+
+# any domain which uses bpf is a bpfdomain
+neverallow { domain -bpfdomain } *:bpf *;
+
+allow bpfdomain fs_bpf:dir search;
+
+# genfscon doesn't seem to trigger during symlink creation,
+# and thus any created symlinks end up as 'fs_bpf:lnk_type',
+# however this feels like a kernel bug / missing feature,
+# so let's allow all bpffs_type's instead,
+# this will keep things working even if this is fixed.
+allow bpfdomain bpffs_type:lnk_file read;
+
+# Needed for //frameworks/libs/net:
+# common/native/bpf_headers/include/bpf/WaitForProgsLoaded.h
+get_prop(bpfdomain, bpf_progs_loaded_prop)
diff --git a/prebuilts/api/202504/private/bpfloader.te b/prebuilts/api/202504/private/bpfloader.te
new file mode 100644
index 0000000..7d8a706
--- /dev/null
+++ b/prebuilts/api/202504/private/bpfloader.te
@@ -0,0 +1,66 @@
+type bpfloader_exec, system_file_type, exec_type, file_type;
+
+typeattribute bpfloader bpfdomain;
+
+# allow bpfloader to write to the kernel log (starts early)
+allow bpfloader kmsg_device:chr_file w_file_perms;
+
+# These permissions are required to pin ebpf maps & programs.
+allow bpfloader bpffs_type:dir { add_name create open read remove_name search setattr write };
+allow bpfloader bpffs_type:file { create getattr read rename setattr };
+allow bpfloader bpffs_type:lnk_file { create getattr read };
+allow { bpffs_type -fs_bpf } fs_bpf:filesystem associate;
+
+# Allow bpfloader to create bpf maps and programs.
+allow bpfloader self:bpf { map_create map_read map_write prog_load prog_run };
+
+allow bpfloader self:capability { chown sys_admin net_admin };
+
+allow bpfloader sysfs_fs_fuse_bpf:file r_file_perms;
+
+allow bpfloader proc_bpf:file rw_file_perms;
+
+set_prop(bpfloader, bpf_progs_loaded_prop)
+
+allow bpfloader bpfloader_exec:file execute_no_trans;
+
+###
+### Neverallow rules
+###
+
+# Note: we don't care about getattr/mounton/search
+neverallow { domain            } bpffs_type:dir ~{ add_name create getattr mounton open read remove_name search setattr write };
+neverallow { domain -bpfloader } bpffs_type:dir { add_name create open read remove_name setattr write };
+
+neverallow { domain            } bpffs_type:file ~{ create getattr map open read rename setattr write };
+neverallow { domain -bpfloader } bpffs_type:file { create map open rename setattr };
+neverallow { domain -bpfloader -gpuservice -lmkd -mediaprovider_app -netd -netutils_wrapper                -system_server } fs_bpf:file               { getattr read };
+neverallow { domain -bpfloader                                                                                            } fs_bpf_loader:file        { getattr read };
+neverallow { domain -bpfloader                                                              -network_stack                } fs_bpf_net_private:file   { getattr read };
+neverallow { domain -bpfloader                                                              -network_stack -system_server } fs_bpf_net_shared:file    { getattr read };
+neverallow { domain -bpfloader                                      -netd                   -network_stack -system_server } fs_bpf_netd_readonly:file { getattr read };
+neverallow { domain -bpfloader                                      -netd -netutils_wrapper -network_stack -system_server } fs_bpf_netd_shared:file   { getattr read };
+neverallow { domain -bpfloader                                                              -network_stack                } fs_bpf_tethering:file     { getattr read };
+neverallow { domain -bpfloader                                                                                            -uprobestats } fs_bpf_uprobestats:file   { getattr read };
+neverallow { domain -bpfloader -gpuservice -lmkd                    -netd -netutils_wrapper -network_stack -system_server -uprobestats } { bpffs_type -fs_bpf_vendor }:file write;
+
+neverallow { domain -bpfloader } bpffs_type:lnk_file ~read;
+neverallow { domain -bpfdomain } bpffs_type:lnk_file read;
+
+neverallow { domain -bpfloader } *:bpf prog_load;
+neverallow { domain -bpfdomain } *:bpf { map_create map_read map_write prog_run };
+
+# 'fs_bpf_loader' is for internal use of the BpfLoader oneshot boot time process.
+neverallow { domain -bpfloader } fs_bpf_loader:bpf *;
+neverallow { domain -bpfloader } fs_bpf_loader:file *;
+
+neverallow { domain -bpfloader -init userdebug_or_eng(`-overlay_remounter') } bpfloader_exec:file { execute execute_no_trans };
+
+neverallow { coredomain -bpfloader -netd -netutils_wrapper } fs_bpf_vendor:file *;
+
+neverallow bpfloader *:{ tcp_socket udp_socket rawip_socket } *;
+
+# No domain should be allowed to ptrace bpfloader
+neverallow { domain userdebug_or_eng(`-llkd') } bpfloader:process ptrace;
+
+neverallow { domain -bpfloader } proc_bpf:file write;
diff --git a/prebuilts/api/202504/private/bufferhubd.te b/prebuilts/api/202504/private/bufferhubd.te
new file mode 100644
index 0000000..143c6b5
--- /dev/null
+++ b/prebuilts/api/202504/private/bufferhubd.te
@@ -0,0 +1,24 @@
+typeattribute bufferhubd coredomain;
+
+init_daemon_domain(bufferhubd)
+
+hal_client_domain(bufferhubd, hal_graphics_allocator)
+
+# TODO(b/112338294): remove these after migrate to Binder
+pdx_server(bufferhubd, bufferhub_client)
+pdx_client(bufferhubd, performance_client)
+
+# Access the GPU.
+allow bufferhubd gpu_device:chr_file rw_file_perms;
+
+# Access /dev/ion
+allow bufferhubd ion_device:chr_file r_file_perms;
+
+# Receive sync fence FDs from hal_omx_server. Note that hal_omx_server never directly
+# connects to bufferhubd via PDX. Instead, a VR app acts as a bridge between
+# those two: it talks to hal_omx_server via Binder and talks to bufferhubd via PDX.
+# Thus, there is no need to use pdx_client macro.
+allow bufferhubd hal_omx_server:fd use;
+
+# Codec2 is similar to OMX
+allow bufferhubd hal_codec2_server:fd use;
diff --git a/prebuilts/api/202504/private/bug_map b/prebuilts/api/202504/private/bug_map
new file mode 100644
index 0000000..a4873a7
--- /dev/null
+++ b/prebuilts/api/202504/private/bug_map
@@ -0,0 +1,35 @@
+crash_dump keystore process b/376065666
+dnsmasq netd fifo_file b/77868789
+dnsmasq netd unix_stream_socket b/77868789
+gmscore_app system_data_file dir b/146166941
+gmscore_app kernel security b/303319090
+init app_data_file file b/77873135
+init cache_file blk_file b/77873135
+init logpersist file b/77873135
+init nativetest_data_file dir b/77873135
+init pstorefs dir b/77873135
+init shell_data_file dir b/77873135
+init shell_data_file file b/77873135
+init shell_data_file lnk_file b/77873135
+init shell_data_file sock_file b/77873135
+init system_data_file chr_file b/77873135
+isolated_app privapp_data_file dir b/119596573
+isolated_app app_data_file dir b/120394782
+mediaextractor app_data_file file b/77923736
+mediaextractor radio_data_file file b/77923736
+mediaprovider cache_file blk_file b/77925342
+mediaprovider mnt_media_rw_file dir b/77925342
+mediaprovider shell_data_file dir b/77925342
+mediaswcodec ashmem_device chr_file b/142679232
+platform_app nfc_data_file dir b/74331887
+platform_app system_data_file dir b/306090533
+shell sysfs_net file b/329380904
+system_server overlayfs_file file b/142390309
+system_server sdcardfs file b/77856826
+system_server system_server capability b/228030183
+system_server zygote process b/77856826
+tombstone_transmit tombstone_transmit capability b/264420112
+untrusted_app untrusted_app netlink_route_socket b/155595000
+vold system_data_file file b/124108085
+zygote untrusted_app_25 process b/77925912
+zygote labeledfs filesystem b/170748799
diff --git a/prebuilts/api/202504/private/camera_service_server.te b/prebuilts/api/202504/private/camera_service_server.te
new file mode 100644
index 0000000..352e1b7
--- /dev/null
+++ b/prebuilts/api/202504/private/camera_service_server.te
@@ -0,0 +1 @@
+add_hwservice(camera_service_server, fwk_camera_hwservice)
diff --git a/prebuilts/api/202504/private/cameraserver.te b/prebuilts/api/202504/private/cameraserver.te
new file mode 100644
index 0000000..16c1f3d
--- /dev/null
+++ b/prebuilts/api/202504/private/cameraserver.te
@@ -0,0 +1,92 @@
+typeattribute cameraserver camera_service_server;
+typeattribute cameraserver coredomain;
+
+init_daemon_domain(cameraserver)
+tmpfs_domain(cameraserver)
+
+allow cameraserver gpu_device:chr_file rw_file_perms;
+allow cameraserver gpu_device:dir r_dir_perms;
+allow cameraserver virtual_camera:binder call;
+
+binder_use(cameraserver)
+binder_call(cameraserver, binderservicedomain)
+binder_call(cameraserver, appdomain)
+binder_service(cameraserver)
+
+hal_client_domain(cameraserver, hal_camera)
+allow cameraserver hal_camera_server:process signal;
+hal_client_domain(cameraserver, hal_graphics_allocator)
+
+allow cameraserver ion_device:chr_file rw_file_perms;
+allow cameraserver dmabuf_system_heap_device:chr_file r_file_perms;
+
+# Talk with graphics composer fences
+allow cameraserver hal_graphics_composer:fd use;
+
+add_service(cameraserver, cameraserver_service)
+add_service(cameraserver, fwk_camera_service)
+add_hwservice(cameraserver, fwk_camera_hwservice)
+
+allow cameraserver activity_service:service_manager find;
+allow cameraserver appops_service:service_manager find;
+allow cameraserver audioserver_service:service_manager find;
+allow cameraserver batterystats_service:service_manager find;
+allow cameraserver cameraproxy_service:service_manager find;
+allow cameraserver mediaserver_service:service_manager find;
+allow cameraserver package_native_service:service_manager find;
+allow cameraserver permission_checker_service:service_manager find;
+allow cameraserver processinfo_service:service_manager find;
+allow cameraserver scheduling_policy_service:service_manager find;
+allow cameraserver sensor_privacy_service:service_manager find;
+allow cameraserver surfaceflinger_service:service_manager find;
+
+allow cameraserver hidl_token_hwservice:hwservice_manager find;
+allow cameraserver hal_camera_service:service_manager find;
+allow cameraserver virtual_camera_service:service_manager find;
+
+# Allow to talk with surfaceflinger through unix stream socket
+allow cameraserver surfaceflinger:unix_stream_socket { read write };
+
+# Allow shell commands from ADB for CTS testing/dumping
+allow cameraserver adbd:fd use;
+allow cameraserver adbd:unix_stream_socket { read write };
+allow cameraserver shell:fd use;
+allow cameraserver shell:unix_stream_socket { read write };
+allow cameraserver shell:fifo_file { read write };
+
+# allow self to set SCHED_FIFO
+allow cameraserver self:global_capability_class_set sys_nice;
+
+# Allow to talk with media codec
+allow cameraserver mediametrics_service:service_manager find;
+hal_client_domain(cameraserver, hal_codec2)
+hal_client_domain(cameraserver, hal_omx)
+hal_client_domain(cameraserver, hal_allocator)
+
+# Allow shell commands from ADB for CTS testing/dumping
+userdebug_or_eng(`
+  allow cameraserver su:fd use;
+  allow cameraserver su:fifo_file { read write };
+  allow cameraserver su:unix_stream_socket { read write };
+')
+
+###
+### neverallow rules
+###
+
+# cameraserver should never execute any executable without a
+# domain transition
+neverallow cameraserver { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow cameraserver domain:{ udp_socket rawip_socket } *;
+neverallow cameraserver { domain userdebug_or_eng(`-su') }:tcp_socket *;
diff --git a/prebuilts/api/202504/private/canhalconfigurator.te b/prebuilts/api/202504/private/canhalconfigurator.te
new file mode 100644
index 0000000..5673ccd
--- /dev/null
+++ b/prebuilts/api/202504/private/canhalconfigurator.te
@@ -0,0 +1,10 @@
+type canhalconfigurator, domain, coredomain;
+type canhalconfigurator_exec, exec_type, system_file_type, file_type;
+init_daemon_domain(canhalconfigurator)
+
+# This allows the configurator to look up the CAN HAL controller via
+# hwservice_manager and communicate with it.
+hal_client_domain(canhalconfigurator, hal_can_controller)
+
+binder_use(canhalconfigurator)
+binder_call(hal_can_controller, canhalconfigurator)
diff --git a/prebuilts/api/202504/private/charger.te b/prebuilts/api/202504/private/charger.te
new file mode 100644
index 0000000..2d48a60
--- /dev/null
+++ b/prebuilts/api/202504/private/charger.te
@@ -0,0 +1,23 @@
+typeattribute charger coredomain;
+
+# The system charger is a client of HIDL health HAL.
+hal_client_domain(charger, hal_health)
+
+# charger needs to tell init to continue the boot
+# process when running in charger mode.
+# The system charger needs to be allowed to set these properties on legacy devices.
+set_prop(charger, system_prop)
+set_prop(charger, exported_system_prop)
+set_prop(charger, exported3_system_prop)
+
+# The system charger can read ro.charger.*
+get_prop(charger, charger_prop)
+
+compatible_property_only(`
+    neverallow {
+        domain
+        -init
+        -dumpstate
+        -charger
+    } charger_prop:file no_rw_file_perms;
+')
diff --git a/prebuilts/api/202504/private/charger_type.te b/prebuilts/api/202504/private/charger_type.te
new file mode 100644
index 0000000..d920a3d
--- /dev/null
+++ b/prebuilts/api/202504/private/charger_type.te
@@ -0,0 +1,76 @@
+# charger needs to tell init to continue the boot
+# process when running in charger mode.
+set_prop(charger_type, charger_status_prop)
+get_prop(charger_type, charger_config_prop)
+
+# get minui properties
+get_prop(charger_type, recovery_config_prop)
+
+# Write to /dev/kmsg
+allow charger_type kmsg_device:chr_file rw_file_perms;
+
+# Read access to pseudo filesystems.
+r_dir_file(charger_type, rootfs)
+r_dir_file(charger_type, cgroup)
+r_dir_file(charger_type, cgroup_v2)
+
+# Allow to read /sys/class/power_supply directory
+allow charger_type sysfs_type:dir r_dir_perms;
+
+allow charger_type self:global_capability_class_set {
+    sys_boot
+    sys_tty_config
+};
+
+wakelock_use(charger_type)
+
+allow charger_type self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+# Read/write to /sys/power/state
+allow charger_type sysfs_power:file rw_file_perms;
+
+r_dir_file(charger_type, sysfs_batteryinfo)
+
+# Read /sys/fs/pstore/console-ramoops
+# Don't worry about overly broad permissions for now, as there's
+# only one file in /sys/fs/pstore
+allow charger_type pstorefs:dir r_dir_perms;
+allow charger_type pstorefs:file r_file_perms;
+
+allow charger_type graphics_device:dir r_dir_perms;
+allow charger_type graphics_device:chr_file rw_file_perms;
+allow charger_type input_device:dir r_dir_perms;
+allow charger_type input_device:chr_file r_file_perms;
+allow charger_type tty_device:chr_file rw_file_perms;
+allow charger_type proc_sysrq:file rw_file_perms;
+
+### Neverallow rules for charger properties
+
+# charger_config_prop: Only init and vendor_init is allowed to set it
+neverallow {
+    domain
+    -init
+    -vendor_init
+} charger_config_prop:property_service set;
+
+# charger_status_prop: Only init, vendor_init, charger, and charger_vendor
+# are allowed to set it
+neverallow {
+    domain
+    -init
+    -vendor_init
+    -charger
+    -charger_vendor
+} charger_status_prop:property_service set;
+
+# Both charger_config_prop and charger_status_prop:
+# Only init, vendor_init, dumpstate, charger, and charger_vendor
+# are allowed to read it
+neverallow {
+    domain
+    -init
+    -dumpstate
+    -vendor_init
+    -charger
+    -charger_vendor
+} { charger_config_prop charger_status_prop }:file no_rw_file_perms;
diff --git a/prebuilts/api/202504/private/charger_vendor.te b/prebuilts/api/202504/private/charger_vendor.te
new file mode 100644
index 0000000..47bd198
--- /dev/null
+++ b/prebuilts/api/202504/private/charger_vendor.te
@@ -0,0 +1,3 @@
+hal_server_domain(charger_vendor, hal_health)
+
+typeattribute charger_vendor bpfdomain;
diff --git a/prebuilts/api/202504/private/clatd.te b/prebuilts/api/202504/private/clatd.te
new file mode 100644
index 0000000..cd024a7
--- /dev/null
+++ b/prebuilts/api/202504/private/clatd.te
@@ -0,0 +1,12 @@
+# 464xlat daemon
+type clatd, domain, coredomain;
+type clatd_exec, system_file_type, exec_type, file_type;
+
+net_domain(clatd)
+
+# Access objects inherited from system_server.
+allow clatd system_server:fd use;
+allow clatd system_server:packet_socket { read write };
+allow clatd system_server:rawip_socket { read write };
+
+allow clatd tun_device:chr_file rw_file_perms;
diff --git a/prebuilts/api/202504/private/compat/202404/202404.cil b/prebuilts/api/202504/private/compat/202404/202404.cil
new file mode 100644
index 0000000..e9c97e5
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/202404/202404.cil
@@ -0,0 +1,2794 @@
+;; This type may or may not already exist in vendor policy. Re-define it here (duplicate
+;; definitions in CIL will be ignored) - so we can reference it in 202404.cil.
+(type cgroup_desc_api_file)
+(type otapreopt_chroot)
+(type task_profiles_api_file)
+(type vendor_hidraw_device)
+(type virtual_fingerprint_hal_prop)
+(typeattributeset dev_type (vendor_hidraw_device))
+
+;; mapping information from ToT policy's types to 202404 policy's types.
+(expandtypeattribute (DockObserver_service_202404) true)
+(expandtypeattribute (IProxyService_service_202404) true)
+(expandtypeattribute (aac_drc_prop_202404) true)
+(expandtypeattribute (aaudio_config_prop_202404) true)
+(expandtypeattribute (ab_update_gki_prop_202404) true)
+(expandtypeattribute (accessibility_service_202404) true)
+(expandtypeattribute (account_service_202404) true)
+(expandtypeattribute (aconfig_storage_flags_metadata_file_202404) true)
+(expandtypeattribute (aconfig_storage_metadata_file_202404) true)
+(expandtypeattribute (activity_service_202404) true)
+(expandtypeattribute (activity_task_service_202404) true)
+(expandtypeattribute (adaptive_haptics_prop_202404) true)
+(expandtypeattribute (adb_data_file_202404) true)
+(expandtypeattribute (adb_keys_file_202404) true)
+(expandtypeattribute (adb_service_202404) true)
+(expandtypeattribute (adbd_202404) true)
+(expandtypeattribute (adbd_config_prop_202404) true)
+(expandtypeattribute (adbd_exec_202404) true)
+(expandtypeattribute (adbd_socket_202404) true)
+(expandtypeattribute (adservices_manager_service_202404) true)
+(expandtypeattribute (aidl_lazy_test_server_202404) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_202404) true)
+(expandtypeattribute (aidl_lazy_test_service_202404) true)
+(expandtypeattribute (alarm_service_202404) true)
+(expandtypeattribute (anr_data_file_202404) true)
+(expandtypeattribute (apc_service_202404) true)
+(expandtypeattribute (apex_data_file_202404) true)
+(expandtypeattribute (apex_info_file_202404) true)
+(expandtypeattribute (apex_metadata_file_202404) true)
+(expandtypeattribute (apex_mnt_dir_202404) true)
+(expandtypeattribute (apex_module_data_file_202404) true)
+(expandtypeattribute (apex_ota_reserved_file_202404) true)
+(expandtypeattribute (apex_ready_prop_202404) true)
+(expandtypeattribute (apex_rollback_data_file_202404) true)
+(expandtypeattribute (apex_service_202404) true)
+(expandtypeattribute (apex_system_server_data_file_202404) true)
+(expandtypeattribute (apexd_202404) true)
+(expandtypeattribute (apexd_config_prop_202404) true)
+(expandtypeattribute (apexd_exec_202404) true)
+(expandtypeattribute (apexd_prop_202404) true)
+(expandtypeattribute (apexd_select_prop_202404) true)
+(expandtypeattribute (apk_data_file_202404) true)
+(expandtypeattribute (apk_private_data_file_202404) true)
+(expandtypeattribute (apk_private_tmp_file_202404) true)
+(expandtypeattribute (apk_tmp_file_202404) true)
+(expandtypeattribute (apk_verity_prop_202404) true)
+(expandtypeattribute (app_binding_service_202404) true)
+(expandtypeattribute (app_data_file_202404) true)
+(expandtypeattribute (app_fuse_file_202404) true)
+(expandtypeattribute (app_fusefs_202404) true)
+(expandtypeattribute (app_hibernation_service_202404) true)
+(expandtypeattribute (app_integrity_service_202404) true)
+(expandtypeattribute (app_prediction_service_202404) true)
+(expandtypeattribute (app_search_service_202404) true)
+(expandtypeattribute (app_zygote_202404) true)
+(expandtypeattribute (app_zygote_tmpfs_202404) true)
+(expandtypeattribute (appcompat_data_file_202404) true)
+(expandtypeattribute (appdomain_tmpfs_202404) true)
+(expandtypeattribute (appops_service_202404) true)
+(expandtypeattribute (appwidget_service_202404) true)
+(expandtypeattribute (archive_service_202404) true)
+(expandtypeattribute (arm64_memtag_prop_202404) true)
+(expandtypeattribute (art_apex_dir_202404) true)
+(expandtypeattribute (artd_202404) true)
+(expandtypeattribute (artd_pre_reboot_service_202404) true)
+(expandtypeattribute (artd_service_202404) true)
+(expandtypeattribute (asec_apk_file_202404) true)
+(expandtypeattribute (asec_image_file_202404) true)
+(expandtypeattribute (asec_public_file_202404) true)
+(expandtypeattribute (ashmem_device_202404) true)
+(expandtypeattribute (ashmem_libcutils_device_202404) true)
+(expandtypeattribute (assetatlas_service_202404) true)
+(expandtypeattribute (atrace_202404) true)
+(expandtypeattribute (attestation_verification_service_202404) true)
+(expandtypeattribute (audio_config_prop_202404) true)
+(expandtypeattribute (audio_data_file_202404) true)
+(expandtypeattribute (audio_device_202404) true)
+(expandtypeattribute (audio_prop_202404) true)
+(expandtypeattribute (audio_service_202404) true)
+(expandtypeattribute (audiohal_data_file_202404) true)
+(expandtypeattribute (audioserver_202404) true)
+(expandtypeattribute (audioserver_data_file_202404) true)
+(expandtypeattribute (audioserver_service_202404) true)
+(expandtypeattribute (audioserver_tmpfs_202404) true)
+(expandtypeattribute (auth_service_202404) true)
+(expandtypeattribute (authorization_service_202404) true)
+(expandtypeattribute (autofill_service_202404) true)
+(expandtypeattribute (backup_data_file_202404) true)
+(expandtypeattribute (backup_service_202404) true)
+(expandtypeattribute (battery_service_202404) true)
+(expandtypeattribute (batteryproperties_service_202404) true)
+(expandtypeattribute (batterystats_service_202404) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_202404) true)
+(expandtypeattribute (binder_cache_system_server_prop_202404) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_202404) true)
+(expandtypeattribute (binder_calls_stats_service_202404) true)
+(expandtypeattribute (binder_device_202404) true)
+(expandtypeattribute (binderfs_202404) true)
+(expandtypeattribute (binderfs_features_202404) true)
+(expandtypeattribute (binderfs_logs_202404) true)
+(expandtypeattribute (binderfs_logs_proc_202404) true)
+(expandtypeattribute (binderfs_logs_stats_202404) true)
+(expandtypeattribute (binfmt_miscfs_202404) true)
+(expandtypeattribute (biometric_service_202404) true)
+(expandtypeattribute (blkid_202404) true)
+(expandtypeattribute (blkid_untrusted_202404) true)
+(expandtypeattribute (blob_store_service_202404) true)
+(expandtypeattribute (block_device_202404) true)
+(expandtypeattribute (bluetooth_202404) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_202404) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_202404) true)
+(expandtypeattribute (bluetooth_config_prop_202404) true)
+(expandtypeattribute (bluetooth_data_file_202404) true)
+(expandtypeattribute (bluetooth_efs_file_202404) true)
+(expandtypeattribute (bluetooth_logs_data_file_202404) true)
+(expandtypeattribute (bluetooth_manager_service_202404) true)
+(expandtypeattribute (bluetooth_prop_202404) true)
+(expandtypeattribute (bluetooth_service_202404) true)
+(expandtypeattribute (bluetooth_socket_202404) true)
+(expandtypeattribute (boot_block_device_202404) true)
+(expandtypeattribute (boot_status_prop_202404) true)
+(expandtypeattribute (bootanim_202404) true)
+(expandtypeattribute (bootanim_config_prop_202404) true)
+(expandtypeattribute (bootanim_exec_202404) true)
+(expandtypeattribute (bootanim_oem_file_202404) true)
+(expandtypeattribute (bootanim_system_prop_202404) true)
+(expandtypeattribute (bootchart_data_file_202404) true)
+(expandtypeattribute (bootloader_boot_reason_prop_202404) true)
+(expandtypeattribute (bootloader_prop_202404) true)
+(expandtypeattribute (bootstat_202404) true)
+(expandtypeattribute (bootstat_data_file_202404) true)
+(expandtypeattribute (bootstat_exec_202404) true)
+(expandtypeattribute (boottime_prop_202404) true)
+(expandtypeattribute (boottime_public_prop_202404) true)
+(expandtypeattribute (boottrace_data_file_202404) true)
+(expandtypeattribute (bpf_progs_loaded_prop_202404) true)
+(expandtypeattribute (bpfloader_202404) true)
+(expandtypeattribute (bq_config_prop_202404) true)
+(expandtypeattribute (broadcastradio_service_202404) true)
+(expandtypeattribute (bt_device_202404) true)
+(expandtypeattribute (bufferhubd_202404) true)
+(expandtypeattribute (bufferhubd_exec_202404) true)
+(expandtypeattribute (bugreport_service_202404) true)
+(expandtypeattribute (build_attestation_prop_202404) true)
+(expandtypeattribute (build_bootimage_prop_202404) true)
+(expandtypeattribute (build_config_prop_202404) true)
+(expandtypeattribute (build_odm_prop_202404) true)
+(expandtypeattribute (build_prop_202404) true)
+(expandtypeattribute (build_vendor_prop_202404) true)
+(expandtypeattribute (cache_backup_file_202404) true)
+(expandtypeattribute (cache_block_device_202404) true)
+(expandtypeattribute (cache_file_202404) true)
+(expandtypeattribute (cache_private_backup_file_202404) true)
+(expandtypeattribute (cache_recovery_file_202404) true)
+(expandtypeattribute (cacheinfo_service_202404) true)
+(expandtypeattribute (camera2_extensions_prop_202404) true)
+(expandtypeattribute (camera_calibration_prop_202404) true)
+(expandtypeattribute (camera_config_prop_202404) true)
+(expandtypeattribute (camera_data_file_202404) true)
+(expandtypeattribute (camera_device_202404) true)
+(expandtypeattribute (cameraproxy_service_202404) true)
+(expandtypeattribute (cameraserver_202404) true)
+(expandtypeattribute (cameraserver_exec_202404) true)
+(expandtypeattribute (cameraserver_service_202404) true)
+(expandtypeattribute (cameraserver_tmpfs_202404) true)
+(expandtypeattribute (camerax_extensions_prop_202404) true)
+(expandtypeattribute (cgroup_202404) true)
+(expandtypeattribute (cgroup_desc_api_file_202404) true)
+(expandtypeattribute (cgroup_desc_file_202404) true)
+(expandtypeattribute (cgroup_rc_file_202404) true)
+(expandtypeattribute (cgroup_v2_202404) true)
+(expandtypeattribute (charger_202404) true)
+(expandtypeattribute (charger_config_prop_202404) true)
+(expandtypeattribute (charger_exec_202404) true)
+(expandtypeattribute (charger_prop_202404) true)
+(expandtypeattribute (charger_status_prop_202404) true)
+(expandtypeattribute (charger_vendor_202404) true)
+(expandtypeattribute (clipboard_service_202404) true)
+(expandtypeattribute (cloudsearch_service_202404) true)
+(expandtypeattribute (codec2_config_prop_202404) true)
+(expandtypeattribute (cold_boot_done_prop_202404) true)
+(expandtypeattribute (color_display_service_202404) true)
+(expandtypeattribute (companion_device_service_202404) true)
+(expandtypeattribute (composd_vm_art_prop_202404) true)
+(expandtypeattribute (composd_vm_vendor_prop_202404) true)
+(expandtypeattribute (config_prop_202404) true)
+(expandtypeattribute (configfs_202404) true)
+(expandtypeattribute (connectivity_native_service_202404) true)
+(expandtypeattribute (connectivity_service_202404) true)
+(expandtypeattribute (connmetrics_service_202404) true)
+(expandtypeattribute (console_device_202404) true)
+(expandtypeattribute (consumer_ir_service_202404) true)
+(expandtypeattribute (content_capture_service_202404) true)
+(expandtypeattribute (content_service_202404) true)
+(expandtypeattribute (content_suggestions_service_202404) true)
+(expandtypeattribute (contexthub_service_202404) true)
+(expandtypeattribute (contextual_search_service_202404) true)
+(expandtypeattribute (coredump_file_202404) true)
+(expandtypeattribute (country_detector_service_202404) true)
+(expandtypeattribute (coverage_service_202404) true)
+(expandtypeattribute (cppreopt_prop_202404) true)
+(expandtypeattribute (cpu_monitor_service_202404) true)
+(expandtypeattribute (cpu_variant_prop_202404) true)
+(expandtypeattribute (cpuinfo_service_202404) true)
+(expandtypeattribute (crash_dump_202404) true)
+(expandtypeattribute (crash_dump_exec_202404) true)
+(expandtypeattribute (credential_service_202404) true)
+(expandtypeattribute (credstore_202404) true)
+(expandtypeattribute (credstore_data_file_202404) true)
+(expandtypeattribute (credstore_exec_202404) true)
+(expandtypeattribute (credstore_service_202404) true)
+(expandtypeattribute (crossprofileapps_service_202404) true)
+(expandtypeattribute (ctl_adbd_prop_202404) true)
+(expandtypeattribute (ctl_apexd_prop_202404) true)
+(expandtypeattribute (ctl_bootanim_prop_202404) true)
+(expandtypeattribute (ctl_bugreport_prop_202404) true)
+(expandtypeattribute (ctl_console_prop_202404) true)
+(expandtypeattribute (ctl_default_prop_202404) true)
+(expandtypeattribute (ctl_dumpstate_prop_202404) true)
+(expandtypeattribute (ctl_fuse_prop_202404) true)
+(expandtypeattribute (ctl_gsid_prop_202404) true)
+(expandtypeattribute (ctl_interface_restart_prop_202404) true)
+(expandtypeattribute (ctl_interface_start_prop_202404) true)
+(expandtypeattribute (ctl_interface_stop_prop_202404) true)
+(expandtypeattribute (ctl_mdnsd_prop_202404) true)
+(expandtypeattribute (ctl_restart_prop_202404) true)
+(expandtypeattribute (ctl_rildaemon_prop_202404) true)
+(expandtypeattribute (ctl_sigstop_prop_202404) true)
+(expandtypeattribute (ctl_start_prop_202404) true)
+(expandtypeattribute (ctl_stop_prop_202404) true)
+(expandtypeattribute (dalvik_config_prop_202404) true)
+(expandtypeattribute (dalvik_dynamic_config_prop_202404) true)
+(expandtypeattribute (dalvik_prop_202404) true)
+(expandtypeattribute (dalvik_runtime_prop_202404) true)
+(expandtypeattribute (dalvikcache_data_file_202404) true)
+(expandtypeattribute (dataloader_manager_service_202404) true)
+(expandtypeattribute (dbinfo_service_202404) true)
+(expandtypeattribute (dck_prop_202404) true)
+(expandtypeattribute (debug_prop_202404) true)
+(expandtypeattribute (debugfs_202404) true)
+(expandtypeattribute (debugfs_bootreceiver_tracing_202404) true)
+(expandtypeattribute (debugfs_kprobes_202404) true)
+(expandtypeattribute (debugfs_mm_events_tracing_202404) true)
+(expandtypeattribute (debugfs_mmc_202404) true)
+(expandtypeattribute (debugfs_restriction_prop_202404) true)
+(expandtypeattribute (debugfs_trace_marker_202404) true)
+(expandtypeattribute (debugfs_tracing_202404) true)
+(expandtypeattribute (debugfs_tracing_debug_202404) true)
+(expandtypeattribute (debugfs_tracing_instances_202404) true)
+(expandtypeattribute (debugfs_tracing_printk_formats_202404) true)
+(expandtypeattribute (debugfs_wakeup_sources_202404) true)
+(expandtypeattribute (debugfs_wifi_tracing_202404) true)
+(expandtypeattribute (debuggerd_prop_202404) true)
+(expandtypeattribute (default_android_hwservice_202404) true)
+(expandtypeattribute (default_android_service_202404) true)
+(expandtypeattribute (default_android_vndservice_202404) true)
+(expandtypeattribute (default_prop_202404) true)
+(expandtypeattribute (dev_cpu_variant_202404) true)
+(expandtypeattribute (device_202404) true)
+(expandtypeattribute (device_config_aconfig_flags_prop_202404) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_202404) true)
+(expandtypeattribute (device_config_boot_count_prop_202404) true)
+(expandtypeattribute (device_config_camera_native_prop_202404) true)
+(expandtypeattribute (device_config_edgetpu_native_prop_202404) true)
+(expandtypeattribute (device_config_input_native_boot_prop_202404) true)
+(expandtypeattribute (device_config_media_native_prop_202404) true)
+(expandtypeattribute (device_config_memory_safety_native_boot_prop_202404) true)
+(expandtypeattribute (device_config_memory_safety_native_prop_202404) true)
+(expandtypeattribute (device_config_netd_native_prop_202404) true)
+(expandtypeattribute (device_config_nnapi_native_prop_202404) true)
+(expandtypeattribute (device_config_reset_performed_prop_202404) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_202404) true)
+(expandtypeattribute (device_config_runtime_native_prop_202404) true)
+(expandtypeattribute (device_config_service_202404) true)
+(expandtypeattribute (device_config_surface_flinger_native_boot_prop_202404) true)
+(expandtypeattribute (device_config_updatable_service_202404) true)
+(expandtypeattribute (device_config_vendor_system_native_boot_prop_202404) true)
+(expandtypeattribute (device_config_vendor_system_native_prop_202404) true)
+(expandtypeattribute (device_identifiers_service_202404) true)
+(expandtypeattribute (device_logging_prop_202404) true)
+(expandtypeattribute (device_policy_service_202404) true)
+(expandtypeattribute (device_state_service_202404) true)
+(expandtypeattribute (deviceidle_service_202404) true)
+(expandtypeattribute (devicelock_service_202404) true)
+(expandtypeattribute (devicestoragemonitor_service_202404) true)
+(expandtypeattribute (devpts_202404) true)
+(expandtypeattribute (dexopt_chroot_setup_service_202404) true)
+(expandtypeattribute (dhcp_202404) true)
+(expandtypeattribute (dhcp_data_file_202404) true)
+(expandtypeattribute (dhcp_exec_202404) true)
+(expandtypeattribute (dhcp_prop_202404) true)
+(expandtypeattribute (diskstats_service_202404) true)
+(expandtypeattribute (display_service_202404) true)
+(expandtypeattribute (dm_device_202404) true)
+(expandtypeattribute (dm_user_device_202404) true)
+(expandtypeattribute (dmabuf_heap_device_202404) true)
+(expandtypeattribute (dmabuf_system_heap_device_202404) true)
+(expandtypeattribute (dmabuf_system_secure_heap_device_202404) true)
+(expandtypeattribute (dnsmasq_202404) true)
+(expandtypeattribute (dnsmasq_exec_202404) true)
+(expandtypeattribute (dnsproxyd_socket_202404) true)
+(expandtypeattribute (dnsresolver_service_202404) true)
+(expandtypeattribute (domain_verification_service_202404) true)
+(expandtypeattribute (dreams_service_202404) true)
+(expandtypeattribute (drm_data_file_202404) true)
+(expandtypeattribute (drm_forcel3_prop_202404) true)
+(expandtypeattribute (drm_service_config_prop_202404) true)
+(expandtypeattribute (drmserver_202404) true)
+(expandtypeattribute (drmserver_exec_202404) true)
+(expandtypeattribute (drmserver_service_202404) true)
+(expandtypeattribute (drmserver_socket_202404) true)
+(expandtypeattribute (dropbox_data_file_202404) true)
+(expandtypeattribute (dropbox_service_202404) true)
+(expandtypeattribute (dtbo_block_device_202404) true)
+(expandtypeattribute (dumpstate_202404) true)
+(expandtypeattribute (dumpstate_exec_202404) true)
+(expandtypeattribute (dumpstate_options_prop_202404) true)
+(expandtypeattribute (dumpstate_prop_202404) true)
+(expandtypeattribute (dumpstate_service_202404) true)
+(expandtypeattribute (dumpstate_socket_202404) true)
+(expandtypeattribute (dynamic_system_prop_202404) true)
+(expandtypeattribute (e2fs_202404) true)
+(expandtypeattribute (e2fs_exec_202404) true)
+(expandtypeattribute (ecm_enhanced_confirmation_service_202404) true)
+(expandtypeattribute (efs_file_202404) true)
+(expandtypeattribute (emergency_affordance_service_202404) true)
+(expandtypeattribute (ephemeral_app_202404) true)
+(expandtypeattribute (ethernet_service_202404) true)
+(expandtypeattribute (evsmanagerd_202404) true)
+(expandtypeattribute (evsmanagerd_service_202404) true)
+(expandtypeattribute (exfat_202404) true)
+(expandtypeattribute (exported3_system_prop_202404) true)
+(expandtypeattribute (exported_bluetooth_prop_202404) true)
+(expandtypeattribute (exported_camera_prop_202404) true)
+(expandtypeattribute (exported_config_prop_202404) true)
+(expandtypeattribute (exported_default_prop_202404) true)
+(expandtypeattribute (exported_dumpstate_prop_202404) true)
+(expandtypeattribute (exported_overlay_prop_202404) true)
+(expandtypeattribute (exported_pm_prop_202404) true)
+(expandtypeattribute (exported_secure_prop_202404) true)
+(expandtypeattribute (exported_system_prop_202404) true)
+(expandtypeattribute (external_vibrator_service_202404) true)
+(expandtypeattribute (extra_free_kbytes_202404) true)
+(expandtypeattribute (extra_free_kbytes_exec_202404) true)
+(expandtypeattribute (face_service_202404) true)
+(expandtypeattribute (face_vendor_data_file_202404) true)
+(expandtypeattribute (fastbootd_202404) true)
+(expandtypeattribute (ffs_config_prop_202404) true)
+(expandtypeattribute (ffs_control_prop_202404) true)
+(expandtypeattribute (file_contexts_file_202404) true)
+(expandtypeattribute (file_integrity_service_202404) true)
+(expandtypeattribute (fingerprint_prop_202404) true)
+(expandtypeattribute (fingerprint_service_202404) true)
+(expandtypeattribute (fingerprint_vendor_data_file_202404) true)
+(expandtypeattribute (fingerprintd_202404) true)
+(expandtypeattribute (fingerprintd_data_file_202404) true)
+(expandtypeattribute (fingerprintd_exec_202404) true)
+(expandtypeattribute (fingerprintd_service_202404) true)
+(expandtypeattribute (firstboot_prop_202404) true)
+(expandtypeattribute (flags_health_check_202404) true)
+(expandtypeattribute (flags_health_check_exec_202404) true)
+(expandtypeattribute (font_service_202404) true)
+(expandtypeattribute (framework_status_prop_202404) true)
+(expandtypeattribute (framework_watchdog_config_prop_202404) true)
+(expandtypeattribute (frp_block_device_202404) true)
+(expandtypeattribute (fs_bpf_202404) true)
+(expandtypeattribute (fs_bpf_tethering_202404) true)
+(expandtypeattribute (fs_bpf_vendor_202404) true)
+(expandtypeattribute (fsck_202404) true)
+(expandtypeattribute (fsck_exec_202404) true)
+(expandtypeattribute (fsck_untrusted_202404) true)
+(expandtypeattribute (fscklogs_202404) true)
+(expandtypeattribute (functionfs_202404) true)
+(expandtypeattribute (fuse_202404) true)
+(expandtypeattribute (fuse_device_202404) true)
+(expandtypeattribute (fuseblk_202404) true)
+(expandtypeattribute (fusectlfs_202404) true)
+(expandtypeattribute (future_pm_prop_202404) true)
+(expandtypeattribute (fwk_altitude_service_202404) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_202404) true)
+(expandtypeattribute (fwk_automotive_display_service_202404) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_202404) true)
+(expandtypeattribute (fwk_camera_hwservice_202404) true)
+(expandtypeattribute (fwk_camera_service_202404) true)
+(expandtypeattribute (fwk_display_hwservice_202404) true)
+(expandtypeattribute (fwk_scheduler_hwservice_202404) true)
+(expandtypeattribute (fwk_sensor_hwservice_202404) true)
+(expandtypeattribute (fwk_sensor_service_202404) true)
+(expandtypeattribute (fwk_stats_hwservice_202404) true)
+(expandtypeattribute (fwk_stats_service_202404) true)
+(expandtypeattribute (fwk_vibrator_control_service_202404) true)
+(expandtypeattribute (fwmarkd_socket_202404) true)
+(expandtypeattribute (game_mode_intervention_list_file_202404) true)
+(expandtypeattribute (game_service_202404) true)
+(expandtypeattribute (gatekeeper_data_file_202404) true)
+(expandtypeattribute (gatekeeper_service_202404) true)
+(expandtypeattribute (gatekeeperd_202404) true)
+(expandtypeattribute (gatekeeperd_exec_202404) true)
+(expandtypeattribute (gesture_prop_202404) true)
+(expandtypeattribute (gfxinfo_service_202404) true)
+(expandtypeattribute (gmscore_app_202404) true)
+(expandtypeattribute (gnss_device_202404) true)
+(expandtypeattribute (gnss_time_update_service_202404) true)
+(expandtypeattribute (gps_control_202404) true)
+(expandtypeattribute (gpu_device_202404) true)
+(expandtypeattribute (gpu_service_202404) true)
+(expandtypeattribute (gpuservice_202404) true)
+(expandtypeattribute (grammatical_inflection_service_202404) true)
+(expandtypeattribute (graphics_config_prop_202404) true)
+(expandtypeattribute (graphics_config_writable_prop_202404) true)
+(expandtypeattribute (graphics_device_202404) true)
+(expandtypeattribute (graphicsstats_service_202404) true)
+(expandtypeattribute (gsi_data_file_202404) true)
+(expandtypeattribute (gsi_metadata_file_202404) true)
+(expandtypeattribute (gsi_public_metadata_file_202404) true)
+(expandtypeattribute (gwp_asan_prop_202404) true)
+(expandtypeattribute (hal_atrace_hwservice_202404) true)
+(expandtypeattribute (hal_audio_hwservice_202404) true)
+(expandtypeattribute (hal_audio_service_202404) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_202404) true)
+(expandtypeattribute (hal_audiocontrol_service_202404) true)
+(expandtypeattribute (hal_authgraph_service_202404) true)
+(expandtypeattribute (hal_authsecret_hwservice_202404) true)
+(expandtypeattribute (hal_authsecret_service_202404) true)
+(expandtypeattribute (hal_bluetooth_hwservice_202404) true)
+(expandtypeattribute (hal_bluetooth_service_202404) true)
+(expandtypeattribute (hal_bootctl_hwservice_202404) true)
+(expandtypeattribute (hal_bootctl_service_202404) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_202404) true)
+(expandtypeattribute (hal_broadcastradio_service_202404) true)
+(expandtypeattribute (hal_camera_hwservice_202404) true)
+(expandtypeattribute (hal_camera_service_202404) true)
+(expandtypeattribute (hal_can_bus_hwservice_202404) true)
+(expandtypeattribute (hal_can_controller_hwservice_202404) true)
+(expandtypeattribute (hal_can_controller_service_202404) true)
+(expandtypeattribute (hal_cas_hwservice_202404) true)
+(expandtypeattribute (hal_cas_service_202404) true)
+(expandtypeattribute (hal_codec2_hwservice_202404) true)
+(expandtypeattribute (hal_codec2_service_202404) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_202404) true)
+(expandtypeattribute (hal_confirmationui_hwservice_202404) true)
+(expandtypeattribute (hal_confirmationui_service_202404) true)
+(expandtypeattribute (hal_contexthub_hwservice_202404) true)
+(expandtypeattribute (hal_contexthub_service_202404) true)
+(expandtypeattribute (hal_drm_hwservice_202404) true)
+(expandtypeattribute (hal_drm_service_202404) true)
+(expandtypeattribute (hal_dumpstate_config_prop_202404) true)
+(expandtypeattribute (hal_dumpstate_hwservice_202404) true)
+(expandtypeattribute (hal_dumpstate_service_202404) true)
+(expandtypeattribute (hal_evs_hwservice_202404) true)
+(expandtypeattribute (hal_evs_service_202404) true)
+(expandtypeattribute (hal_face_hwservice_202404) true)
+(expandtypeattribute (hal_face_service_202404) true)
+(expandtypeattribute (hal_fastboot_service_202404) true)
+(expandtypeattribute (hal_fingerprint_hwservice_202404) true)
+(expandtypeattribute (hal_fingerprint_service_202404) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_202404) true)
+(expandtypeattribute (hal_gatekeeper_service_202404) true)
+(expandtypeattribute (hal_gnss_hwservice_202404) true)
+(expandtypeattribute (hal_gnss_service_202404) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_202404) true)
+(expandtypeattribute (hal_graphics_allocator_service_202404) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_202404) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_202404) true)
+(expandtypeattribute (hal_graphics_composer_service_202404) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_202404) true)
+(expandtypeattribute (hal_graphics_mapper_service_202404) true)
+(expandtypeattribute (hal_health_hwservice_202404) true)
+(expandtypeattribute (hal_health_service_202404) true)
+(expandtypeattribute (hal_health_storage_hwservice_202404) true)
+(expandtypeattribute (hal_health_storage_service_202404) true)
+(expandtypeattribute (hal_identity_service_202404) true)
+(expandtypeattribute (hal_input_classifier_hwservice_202404) true)
+(expandtypeattribute (hal_input_processor_service_202404) true)
+(expandtypeattribute (hal_instrumentation_prop_202404) true)
+(expandtypeattribute (hal_ir_hwservice_202404) true)
+(expandtypeattribute (hal_ir_service_202404) true)
+(expandtypeattribute (hal_ivn_service_202404) true)
+(expandtypeattribute (hal_keymaster_hwservice_202404) true)
+(expandtypeattribute (hal_keymint_service_202404) true)
+(expandtypeattribute (hal_light_hwservice_202404) true)
+(expandtypeattribute (hal_light_service_202404) true)
+(expandtypeattribute (hal_lowpan_hwservice_202404) true)
+(expandtypeattribute (hal_macsec_service_202404) true)
+(expandtypeattribute (hal_memtrack_hwservice_202404) true)
+(expandtypeattribute (hal_memtrack_service_202404) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_202404) true)
+(expandtypeattribute (hal_neuralnetworks_service_202404) true)
+(expandtypeattribute (hal_nfc_hwservice_202404) true)
+(expandtypeattribute (hal_nfc_service_202404) true)
+(expandtypeattribute (hal_nlinterceptor_service_202404) true)
+(expandtypeattribute (hal_oemlock_hwservice_202404) true)
+(expandtypeattribute (hal_oemlock_service_202404) true)
+(expandtypeattribute (hal_omx_hwservice_202404) true)
+(expandtypeattribute (hal_power_hwservice_202404) true)
+(expandtypeattribute (hal_power_service_202404) true)
+(expandtypeattribute (hal_power_stats_hwservice_202404) true)
+(expandtypeattribute (hal_power_stats_service_202404) true)
+(expandtypeattribute (hal_radio_service_202404) true)
+(expandtypeattribute (hal_rebootescrow_service_202404) true)
+(expandtypeattribute (hal_remoteaccess_service_202404) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_avf_service_202404) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_202404) true)
+(expandtypeattribute (hal_renderscript_hwservice_202404) true)
+(expandtypeattribute (hal_secretkeeper_service_202404) true)
+(expandtypeattribute (hal_secure_element_hwservice_202404) true)
+(expandtypeattribute (hal_secure_element_service_202404) true)
+(expandtypeattribute (hal_secureclock_service_202404) true)
+(expandtypeattribute (hal_sensors_hwservice_202404) true)
+(expandtypeattribute (hal_sensors_service_202404) true)
+(expandtypeattribute (hal_sharedsecret_service_202404) true)
+(expandtypeattribute (hal_system_suspend_service_202404) true)
+(expandtypeattribute (hal_telephony_hwservice_202404) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_202404) true)
+(expandtypeattribute (hal_tetheroffload_service_202404) true)
+(expandtypeattribute (hal_thermal_hwservice_202404) true)
+(expandtypeattribute (hal_thermal_service_202404) true)
+(expandtypeattribute (hal_threadnetwork_service_202404) true)
+(expandtypeattribute (hal_tv_cec_hwservice_202404) true)
+(expandtypeattribute (hal_tv_hdmi_cec_service_202404) true)
+(expandtypeattribute (hal_tv_hdmi_connection_service_202404) true)
+(expandtypeattribute (hal_tv_hdmi_earc_service_202404) true)
+(expandtypeattribute (hal_tv_input_hwservice_202404) true)
+(expandtypeattribute (hal_tv_input_service_202404) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_202404) true)
+(expandtypeattribute (hal_tv_tuner_service_202404) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_202404) true)
+(expandtypeattribute (hal_usb_gadget_service_202404) true)
+(expandtypeattribute (hal_usb_hwservice_202404) true)
+(expandtypeattribute (hal_usb_service_202404) true)
+(expandtypeattribute (hal_uwb_service_202404) true)
+(expandtypeattribute (hal_vehicle_hwservice_202404) true)
+(expandtypeattribute (hal_vehicle_service_202404) true)
+(expandtypeattribute (hal_vibrator_hwservice_202404) true)
+(expandtypeattribute (hal_vibrator_service_202404) true)
+(expandtypeattribute (hal_vr_hwservice_202404) true)
+(expandtypeattribute (hal_weaver_hwservice_202404) true)
+(expandtypeattribute (hal_weaver_service_202404) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_202404) true)
+(expandtypeattribute (hal_wifi_hostapd_service_202404) true)
+(expandtypeattribute (hal_wifi_hwservice_202404) true)
+(expandtypeattribute (hal_wifi_service_202404) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_202404) true)
+(expandtypeattribute (hal_wifi_supplicant_service_202404) true)
+(expandtypeattribute (hardware_properties_service_202404) true)
+(expandtypeattribute (hardware_service_202404) true)
+(expandtypeattribute (hci_attach_dev_202404) true)
+(expandtypeattribute (hdmi_config_prop_202404) true)
+(expandtypeattribute (hdmi_control_service_202404) true)
+(expandtypeattribute (healthconnect_service_202404) true)
+(expandtypeattribute (healthd_202404) true)
+(expandtypeattribute (heapdump_data_file_202404) true)
+(expandtypeattribute (heapprofd_202404) true)
+(expandtypeattribute (heapprofd_enabled_prop_202404) true)
+(expandtypeattribute (heapprofd_prop_202404) true)
+(expandtypeattribute (heapprofd_socket_202404) true)
+(expandtypeattribute (hidl_allocator_hwservice_202404) true)
+(expandtypeattribute (hidl_base_hwservice_202404) true)
+(expandtypeattribute (hidl_manager_hwservice_202404) true)
+(expandtypeattribute (hidl_memory_hwservice_202404) true)
+(expandtypeattribute (hidl_token_hwservice_202404) true)
+(expandtypeattribute (hidraw_device_202404) true)
+(expandtypeattribute (hint_service_202404) true)
+(expandtypeattribute (hw_random_device_202404) true)
+(expandtypeattribute (hw_timeout_multiplier_prop_202404) true)
+(expandtypeattribute (hwbinder_device_202404) true)
+(expandtypeattribute (hwservice_contexts_file_202404) true)
+(expandtypeattribute (hwservicemanager_202404) true)
+(expandtypeattribute (hwservicemanager_exec_202404) true)
+(expandtypeattribute (hwservicemanager_prop_202404) true)
+(expandtypeattribute (hypervisor_prop_202404) true)
+(expandtypeattribute (hypervisor_restricted_prop_202404) true)
+(expandtypeattribute (icon_file_202404) true)
+(expandtypeattribute (idmap_202404) true)
+(expandtypeattribute (idmap_exec_202404) true)
+(expandtypeattribute (idmap_service_202404) true)
+(expandtypeattribute (iio_device_202404) true)
+(expandtypeattribute (imms_service_202404) true)
+(expandtypeattribute (incident_202404) true)
+(expandtypeattribute (incident_data_file_202404) true)
+(expandtypeattribute (incident_helper_202404) true)
+(expandtypeattribute (incident_service_202404) true)
+(expandtypeattribute (incidentd_202404) true)
+(expandtypeattribute (incremental_control_file_202404) true)
+(expandtypeattribute (incremental_prop_202404) true)
+(expandtypeattribute (incremental_service_202404) true)
+(expandtypeattribute (init_202404) true)
+(expandtypeattribute (init_exec_202404) true)
+(expandtypeattribute (init_service_status_prop_202404) true)
+(expandtypeattribute (init_tmpfs_202404) true)
+(expandtypeattribute (inotify_202404) true)
+(expandtypeattribute (input_device_202404) true)
+(expandtypeattribute (input_device_config_prop_202404) true)
+(expandtypeattribute (input_method_service_202404) true)
+(expandtypeattribute (input_service_202404) true)
+(expandtypeattribute (inputflinger_202404) true)
+(expandtypeattribute (inputflinger_exec_202404) true)
+(expandtypeattribute (inputflinger_service_202404) true)
+(expandtypeattribute (install_data_file_202404) true)
+(expandtypeattribute (installd_202404) true)
+(expandtypeattribute (installd_exec_202404) true)
+(expandtypeattribute (installd_service_202404) true)
+(expandtypeattribute (ion_device_202404) true)
+(expandtypeattribute (ipsec_service_202404) true)
+(expandtypeattribute (iris_service_202404) true)
+(expandtypeattribute (iris_vendor_data_file_202404) true)
+(expandtypeattribute (isolated_app_202404) true)
+(expandtypeattribute (isolated_compute_app_202404) true)
+(expandtypeattribute (jobscheduler_service_202404) true)
+(expandtypeattribute (kernel_202404) true)
+(expandtypeattribute (keychain_data_file_202404) true)
+(expandtypeattribute (keychord_device_202404) true)
+(expandtypeattribute (keyguard_config_prop_202404) true)
+(expandtypeattribute (keystore2_key_contexts_file_202404) true)
+(expandtypeattribute (keystore_202404) true)
+(expandtypeattribute (keystore_compat_hal_service_202404) true)
+(expandtypeattribute (keystore_config_prop_202404) true)
+(expandtypeattribute (keystore_data_file_202404) true)
+(expandtypeattribute (keystore_exec_202404) true)
+(expandtypeattribute (keystore_maintenance_service_202404) true)
+(expandtypeattribute (keystore_metrics_service_202404) true)
+(expandtypeattribute (keystore_service_202404) true)
+(expandtypeattribute (kmsg_debug_device_202404) true)
+(expandtypeattribute (kmsg_device_202404) true)
+(expandtypeattribute (labeledfs_202404) true)
+(expandtypeattribute (launcherapps_service_202404) true)
+(expandtypeattribute (legacy_permission_service_202404) true)
+(expandtypeattribute (legacykeystore_service_202404) true)
+(expandtypeattribute (libc_debug_prop_202404) true)
+(expandtypeattribute (light_service_202404) true)
+(expandtypeattribute (linkerconfig_file_202404) true)
+(expandtypeattribute (llkd_202404) true)
+(expandtypeattribute (llkd_exec_202404) true)
+(expandtypeattribute (llkd_prop_202404) true)
+(expandtypeattribute (lmkd_202404) true)
+(expandtypeattribute (lmkd_config_prop_202404) true)
+(expandtypeattribute (lmkd_exec_202404) true)
+(expandtypeattribute (lmkd_prop_202404) true)
+(expandtypeattribute (lmkd_socket_202404) true)
+(expandtypeattribute (locale_prop_202404) true)
+(expandtypeattribute (locale_service_202404) true)
+(expandtypeattribute (location_service_202404) true)
+(expandtypeattribute (location_time_zone_manager_service_202404) true)
+(expandtypeattribute (lock_settings_service_202404) true)
+(expandtypeattribute (log_prop_202404) true)
+(expandtypeattribute (log_tag_prop_202404) true)
+(expandtypeattribute (logcat_exec_202404) true)
+(expandtypeattribute (logd_202404) true)
+(expandtypeattribute (logd_exec_202404) true)
+(expandtypeattribute (logd_prop_202404) true)
+(expandtypeattribute (logd_socket_202404) true)
+(expandtypeattribute (logdr_socket_202404) true)
+(expandtypeattribute (logdw_socket_202404) true)
+(expandtypeattribute (logpersist_202404) true)
+(expandtypeattribute (logpersistd_logging_prop_202404) true)
+(expandtypeattribute (loop_control_device_202404) true)
+(expandtypeattribute (loop_device_202404) true)
+(expandtypeattribute (looper_stats_service_202404) true)
+(expandtypeattribute (lowpan_device_202404) true)
+(expandtypeattribute (lowpan_prop_202404) true)
+(expandtypeattribute (lpdump_service_202404) true)
+(expandtypeattribute (lpdumpd_prop_202404) true)
+(expandtypeattribute (mac_perms_file_202404) true)
+(expandtypeattribute (mdns_service_202404) true)
+(expandtypeattribute (mdns_socket_202404) true)
+(expandtypeattribute (mdnsd_202404) true)
+(expandtypeattribute (mdnsd_socket_202404) true)
+(expandtypeattribute (media_communication_service_202404) true)
+(expandtypeattribute (media_config_prop_202404) true)
+(expandtypeattribute (media_data_file_202404) true)
+(expandtypeattribute (media_metrics_service_202404) true)
+(expandtypeattribute (media_projection_service_202404) true)
+(expandtypeattribute (media_router_service_202404) true)
+(expandtypeattribute (media_rw_data_file_202404) true)
+(expandtypeattribute (media_session_service_202404) true)
+(expandtypeattribute (media_userdir_file_202404) true)
+(expandtypeattribute (media_variant_prop_202404) true)
+(expandtypeattribute (mediadrm_config_prop_202404) true)
+(expandtypeattribute (mediadrmserver_202404) true)
+(expandtypeattribute (mediadrmserver_exec_202404) true)
+(expandtypeattribute (mediadrmserver_service_202404) true)
+(expandtypeattribute (mediaextractor_202404) true)
+(expandtypeattribute (mediaextractor_exec_202404) true)
+(expandtypeattribute (mediaextractor_service_202404) true)
+(expandtypeattribute (mediaextractor_tmpfs_202404) true)
+(expandtypeattribute (mediametrics_202404) true)
+(expandtypeattribute (mediametrics_exec_202404) true)
+(expandtypeattribute (mediametrics_service_202404) true)
+(expandtypeattribute (mediaprovider_202404) true)
+(expandtypeattribute (mediaserver_202404) true)
+(expandtypeattribute (mediaserver_exec_202404) true)
+(expandtypeattribute (mediaserver_service_202404) true)
+(expandtypeattribute (mediaserver_tmpfs_202404) true)
+(expandtypeattribute (mediaswcodec_202404) true)
+(expandtypeattribute (mediaswcodec_exec_202404) true)
+(expandtypeattribute (mediatranscoding_202404) true)
+(expandtypeattribute (mediatranscoding_service_202404) true)
+(expandtypeattribute (meminfo_service_202404) true)
+(expandtypeattribute (memtrackproxy_service_202404) true)
+(expandtypeattribute (metadata_block_device_202404) true)
+(expandtypeattribute (metadata_bootstat_file_202404) true)
+(expandtypeattribute (metadata_file_202404) true)
+(expandtypeattribute (method_trace_data_file_202404) true)
+(expandtypeattribute (midi_service_202404) true)
+(expandtypeattribute (mirror_data_file_202404) true)
+(expandtypeattribute (misc_block_device_202404) true)
+(expandtypeattribute (misc_logd_file_202404) true)
+(expandtypeattribute (misc_user_data_file_202404) true)
+(expandtypeattribute (mm_events_config_prop_202404) true)
+(expandtypeattribute (mmc_prop_202404) true)
+(expandtypeattribute (mnt_expand_file_202404) true)
+(expandtypeattribute (mnt_media_rw_file_202404) true)
+(expandtypeattribute (mnt_media_rw_stub_file_202404) true)
+(expandtypeattribute (mnt_pass_through_file_202404) true)
+(expandtypeattribute (mnt_product_file_202404) true)
+(expandtypeattribute (mnt_sdcard_file_202404) true)
+(expandtypeattribute (mnt_user_file_202404) true)
+(expandtypeattribute (mnt_vendor_file_202404) true)
+(expandtypeattribute (mock_ota_prop_202404) true)
+(expandtypeattribute (modprobe_202404) true)
+(expandtypeattribute (module_sdkextensions_prop_202404) true)
+(expandtypeattribute (mount_service_202404) true)
+(expandtypeattribute (mqueue_202404) true)
+(expandtypeattribute (mtp_202404) true)
+(expandtypeattribute (mtp_device_202404) true)
+(expandtypeattribute (mtpd_socket_202404) true)
+(expandtypeattribute (music_recognition_service_202404) true)
+(expandtypeattribute (nativetest_data_file_202404) true)
+(expandtypeattribute (nearby_service_202404) true)
+(expandtypeattribute (net_data_file_202404) true)
+(expandtypeattribute (net_dns_prop_202404) true)
+(expandtypeattribute (net_radio_prop_202404) true)
+(expandtypeattribute (netd_202404) true)
+(expandtypeattribute (netd_exec_202404) true)
+(expandtypeattribute (netd_listener_service_202404) true)
+(expandtypeattribute (netd_service_202404) true)
+(expandtypeattribute (netif_202404) true)
+(expandtypeattribute (netpolicy_service_202404) true)
+(expandtypeattribute (netstats_service_202404) true)
+(expandtypeattribute (netutils_wrapper_202404) true)
+(expandtypeattribute (netutils_wrapper_exec_202404) true)
+(expandtypeattribute (network_management_service_202404) true)
+(expandtypeattribute (network_score_service_202404) true)
+(expandtypeattribute (network_stack_202404) true)
+(expandtypeattribute (network_stack_service_202404) true)
+(expandtypeattribute (network_time_update_service_202404) true)
+(expandtypeattribute (network_watchlist_data_file_202404) true)
+(expandtypeattribute (network_watchlist_service_202404) true)
+(expandtypeattribute (nfc_202404) true)
+(expandtypeattribute (nfc_data_file_202404) true)
+(expandtypeattribute (nfc_device_202404) true)
+(expandtypeattribute (nfc_logs_data_file_202404) true)
+(expandtypeattribute (nfc_prop_202404) true)
+(expandtypeattribute (nfc_service_202404) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_202404) true)
+(expandtypeattribute (node_202404) true)
+(expandtypeattribute (notification_service_202404) true)
+(expandtypeattribute (null_device_202404) true)
+(expandtypeattribute (oem_lock_service_202404) true)
+(expandtypeattribute (oem_unlock_prop_202404) true)
+(expandtypeattribute (oemfs_202404) true)
+(expandtypeattribute (ondevicepersonalization_system_service_202404) true)
+(expandtypeattribute (ot_daemon_service_202404) true)
+(expandtypeattribute (ot_daemon_socket_202404) true)
+(expandtypeattribute (ota_build_prop_202404) true)
+(expandtypeattribute (ota_data_file_202404) true)
+(expandtypeattribute (ota_metadata_file_202404) true)
+(expandtypeattribute (ota_package_file_202404) true)
+(expandtypeattribute (ota_prop_202404) true)
+(expandtypeattribute (otadexopt_service_202404) true)
+(expandtypeattribute (otapreopt_chroot_202404) true)
+(expandtypeattribute (overlay_prop_202404) true)
+(expandtypeattribute (overlay_service_202404) true)
+(expandtypeattribute (overlayfs_file_202404) true)
+(expandtypeattribute (owntty_device_202404) true)
+(expandtypeattribute (pac_proxy_service_202404) true)
+(expandtypeattribute (package_native_service_202404) true)
+(expandtypeattribute (package_service_202404) true)
+(expandtypeattribute (packagemanager_config_prop_202404) true)
+(expandtypeattribute (packages_list_file_202404) true)
+(expandtypeattribute (pan_result_prop_202404) true)
+(expandtypeattribute (password_slot_metadata_file_202404) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_202404) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_202404) true)
+(expandtypeattribute (pdx_bufferhub_dir_202404) true)
+(expandtypeattribute (pdx_display_client_channel_socket_202404) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_202404) true)
+(expandtypeattribute (pdx_display_dir_202404) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_202404) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_202404) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_202404) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_202404) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_202404) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_202404) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_202404) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_202404) true)
+(expandtypeattribute (pdx_performance_dir_202404) true)
+(expandtypeattribute (people_service_202404) true)
+(expandtypeattribute (perfetto_202404) true)
+(expandtypeattribute (performanced_202404) true)
+(expandtypeattribute (performanced_exec_202404) true)
+(expandtypeattribute (permission_checker_service_202404) true)
+(expandtypeattribute (permission_service_202404) true)
+(expandtypeattribute (permissionmgr_service_202404) true)
+(expandtypeattribute (permissive_mte_prop_202404) true)
+(expandtypeattribute (persist_debug_prop_202404) true)
+(expandtypeattribute (persist_vendor_debug_wifi_prop_202404) true)
+(expandtypeattribute (persist_wm_debug_prop_202404) true)
+(expandtypeattribute (persistent_data_block_service_202404) true)
+(expandtypeattribute (persistent_properties_ready_prop_202404) true)
+(expandtypeattribute (pinner_service_202404) true)
+(expandtypeattribute (pipefs_202404) true)
+(expandtypeattribute (platform_app_202404) true)
+(expandtypeattribute (platform_compat_service_202404) true)
+(expandtypeattribute (pm_archiving_enabled_prop_202404) true)
+(expandtypeattribute (pmsg_device_202404) true)
+(expandtypeattribute (port_202404) true)
+(expandtypeattribute (port_device_202404) true)
+(expandtypeattribute (postinstall_202404) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_202404) true)
+(expandtypeattribute (postinstall_file_202404) true)
+(expandtypeattribute (postinstall_mnt_dir_202404) true)
+(expandtypeattribute (power_debug_prop_202404) true)
+(expandtypeattribute (power_service_202404) true)
+(expandtypeattribute (powerctl_prop_202404) true)
+(expandtypeattribute (powerstats_service_202404) true)
+(expandtypeattribute (ppp_202404) true)
+(expandtypeattribute (preloads_data_file_202404) true)
+(expandtypeattribute (preloads_media_file_202404) true)
+(expandtypeattribute (prereboot_data_file_202404) true)
+(expandtypeattribute (print_service_202404) true)
+(expandtypeattribute (priv_app_202404) true)
+(expandtypeattribute (privapp_data_file_202404) true)
+(expandtypeattribute (prng_seeder_202404) true)
+(expandtypeattribute (proc_202404) true)
+(expandtypeattribute (proc_abi_202404) true)
+(expandtypeattribute (proc_asound_202404) true)
+(expandtypeattribute (proc_bluetooth_writable_202404) true)
+(expandtypeattribute (proc_bootconfig_202404) true)
+(expandtypeattribute (proc_bpf_202404) true)
+(expandtypeattribute (proc_buddyinfo_202404) true)
+(expandtypeattribute (proc_cmdline_202404) true)
+(expandtypeattribute (proc_cpu_alignment_202404) true)
+(expandtypeattribute (proc_cpuinfo_202404) true)
+(expandtypeattribute (proc_dirty_202404) true)
+(expandtypeattribute (proc_diskstats_202404) true)
+(expandtypeattribute (proc_drop_caches_202404) true)
+(expandtypeattribute (proc_extra_free_kbytes_202404) true)
+(expandtypeattribute (proc_filesystems_202404) true)
+(expandtypeattribute (proc_fs_verity_202404) true)
+(expandtypeattribute (proc_hostname_202404) true)
+(expandtypeattribute (proc_hung_task_202404) true)
+(expandtypeattribute (proc_interrupts_202404) true)
+(expandtypeattribute (proc_iomem_202404) true)
+(expandtypeattribute (proc_kallsyms_202404) true)
+(expandtypeattribute (proc_keys_202404) true)
+(expandtypeattribute (proc_kmsg_202404) true)
+(expandtypeattribute (proc_kpageflags_202404) true)
+(expandtypeattribute (proc_loadavg_202404) true)
+(expandtypeattribute (proc_locks_202404) true)
+(expandtypeattribute (proc_lowmemorykiller_202404) true)
+(expandtypeattribute (proc_max_map_count_202404) true)
+(expandtypeattribute (proc_meminfo_202404) true)
+(expandtypeattribute (proc_min_free_order_shift_202404) true)
+(expandtypeattribute (proc_misc_202404) true)
+(expandtypeattribute (proc_modules_202404) true)
+(expandtypeattribute (proc_mounts_202404) true)
+(expandtypeattribute (proc_net_202404) true)
+(expandtypeattribute (proc_net_tcp_udp_202404) true)
+(expandtypeattribute (proc_overcommit_memory_202404) true)
+(expandtypeattribute (proc_page_cluster_202404) true)
+(expandtypeattribute (proc_pagetypeinfo_202404) true)
+(expandtypeattribute (proc_panic_202404) true)
+(expandtypeattribute (proc_percpu_pagelist_high_fraction_202404) true)
+(expandtypeattribute (proc_perf_202404) true)
+(expandtypeattribute (proc_pid_max_202404) true)
+(expandtypeattribute (proc_pipe_conf_202404) true)
+(expandtypeattribute (proc_pressure_cpu_202404) true)
+(expandtypeattribute (proc_pressure_io_202404) true)
+(expandtypeattribute (proc_pressure_mem_202404) true)
+(expandtypeattribute (proc_qtaguid_ctrl_202404) true)
+(expandtypeattribute (proc_qtaguid_stat_202404) true)
+(expandtypeattribute (proc_random_202404) true)
+(expandtypeattribute (proc_sched_202404) true)
+(expandtypeattribute (proc_security_202404) true)
+(expandtypeattribute (proc_slabinfo_202404) true)
+(expandtypeattribute (proc_stat_202404) true)
+(expandtypeattribute (proc_swaps_202404) true)
+(expandtypeattribute (proc_sysrq_202404) true)
+(expandtypeattribute (proc_timer_202404) true)
+(expandtypeattribute (proc_tty_drivers_202404) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_202404) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_202404) true)
+(expandtypeattribute (proc_uid_cpupower_202404) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_202404) true)
+(expandtypeattribute (proc_uid_cputime_showstat_202404) true)
+(expandtypeattribute (proc_uid_io_stats_202404) true)
+(expandtypeattribute (proc_uid_procstat_set_202404) true)
+(expandtypeattribute (proc_uid_time_in_state_202404) true)
+(expandtypeattribute (proc_uptime_202404) true)
+(expandtypeattribute (proc_vendor_sched_202404) true)
+(expandtypeattribute (proc_version_202404) true)
+(expandtypeattribute (proc_vmallocinfo_202404) true)
+(expandtypeattribute (proc_vmstat_202404) true)
+(expandtypeattribute (proc_watermark_boost_factor_202404) true)
+(expandtypeattribute (proc_watermark_scale_factor_202404) true)
+(expandtypeattribute (proc_zoneinfo_202404) true)
+(expandtypeattribute (processinfo_service_202404) true)
+(expandtypeattribute (procstats_service_202404) true)
+(expandtypeattribute (profiling_service_202404) true)
+(expandtypeattribute (profman_202404) true)
+(expandtypeattribute (profman_dump_data_file_202404) true)
+(expandtypeattribute (profman_exec_202404) true)
+(expandtypeattribute (properties_device_202404) true)
+(expandtypeattribute (properties_serial_202404) true)
+(expandtypeattribute (property_contexts_file_202404) true)
+(expandtypeattribute (property_data_file_202404) true)
+(expandtypeattribute (property_info_202404) true)
+(expandtypeattribute (property_service_version_prop_202404) true)
+(expandtypeattribute (property_socket_202404) true)
+(expandtypeattribute (provisioned_prop_202404) true)
+(expandtypeattribute (pstorefs_202404) true)
+(expandtypeattribute (ptmx_device_202404) true)
+(expandtypeattribute (qemu_hw_prop_202404) true)
+(expandtypeattribute (qemu_sf_lcd_density_prop_202404) true)
+(expandtypeattribute (qtaguid_device_202404) true)
+(expandtypeattribute (quick_start_prop_202404) true)
+(expandtypeattribute (racoon_socket_202404) true)
+(expandtypeattribute (radio_202404) true)
+(expandtypeattribute (radio_control_prop_202404) true)
+(expandtypeattribute (radio_core_data_file_202404) true)
+(expandtypeattribute (radio_data_file_202404) true)
+(expandtypeattribute (radio_device_202404) true)
+(expandtypeattribute (radio_prop_202404) true)
+(expandtypeattribute (radio_service_202404) true)
+(expandtypeattribute (ram_device_202404) true)
+(expandtypeattribute (random_device_202404) true)
+(expandtypeattribute (reboot_readiness_service_202404) true)
+(expandtypeattribute (rebootescrow_hal_prop_202404) true)
+(expandtypeattribute (recovery_202404) true)
+(expandtypeattribute (recovery_block_device_202404) true)
+(expandtypeattribute (recovery_config_prop_202404) true)
+(expandtypeattribute (recovery_data_file_202404) true)
+(expandtypeattribute (recovery_persist_202404) true)
+(expandtypeattribute (recovery_persist_exec_202404) true)
+(expandtypeattribute (recovery_refresh_202404) true)
+(expandtypeattribute (recovery_refresh_exec_202404) true)
+(expandtypeattribute (recovery_service_202404) true)
+(expandtypeattribute (recovery_socket_202404) true)
+(expandtypeattribute (recovery_usb_config_prop_202404) true)
+(expandtypeattribute (registry_service_202404) true)
+(expandtypeattribute (remote_auth_service_202404) true)
+(expandtypeattribute (remote_provisioning_service_202404) true)
+(expandtypeattribute (repair_mode_metadata_file_202404) true)
+(expandtypeattribute (resourcecache_data_file_202404) true)
+(expandtypeattribute (resources_manager_service_202404) true)
+(expandtypeattribute (restorecon_prop_202404) true)
+(expandtypeattribute (restrictions_service_202404) true)
+(expandtypeattribute (retaildemo_prop_202404) true)
+(expandtypeattribute (rild_debug_socket_202404) true)
+(expandtypeattribute (rild_socket_202404) true)
+(expandtypeattribute (ringtone_file_202404) true)
+(expandtypeattribute (rkpdapp_202404) true)
+(expandtypeattribute (role_service_202404) true)
+(expandtypeattribute (rollback_service_202404) true)
+(expandtypeattribute (root_block_device_202404) true)
+(expandtypeattribute (rootdisk_sysdev_202404) true)
+(expandtypeattribute (rootfs_202404) true)
+(expandtypeattribute (rpmsg_device_202404) true)
+(expandtypeattribute (rs_202404) true)
+(expandtypeattribute (rs_exec_202404) true)
+(expandtypeattribute (rss_hwm_reset_202404) true)
+(expandtypeattribute (rtc_device_202404) true)
+(expandtypeattribute (rttmanager_service_202404) true)
+(expandtypeattribute (runas_202404) true)
+(expandtypeattribute (runas_app_202404) true)
+(expandtypeattribute (runas_exec_202404) true)
+(expandtypeattribute (runtime_event_log_tags_file_202404) true)
+(expandtypeattribute (runtime_service_202404) true)
+(expandtypeattribute (safemode_prop_202404) true)
+(expandtypeattribute (same_process_hal_file_202404) true)
+(expandtypeattribute (samplingprofiler_service_202404) true)
+(expandtypeattribute (scheduling_policy_service_202404) true)
+(expandtypeattribute (sdcard_block_device_202404) true)
+(expandtypeattribute (sdcardd_202404) true)
+(expandtypeattribute (sdcardd_exec_202404) true)
+(expandtypeattribute (sdcardfs_202404) true)
+(expandtypeattribute (sdk_sandbox_service_202404) true)
+(expandtypeattribute (seapp_contexts_file_202404) true)
+(expandtypeattribute (search_service_202404) true)
+(expandtypeattribute (search_ui_service_202404) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_202404) true)
+(expandtypeattribute (secure_element_202404) true)
+(expandtypeattribute (secure_element_device_202404) true)
+(expandtypeattribute (secure_element_service_202404) true)
+(expandtypeattribute (security_state_service_202404) true)
+(expandtypeattribute (securityfs_202404) true)
+(expandtypeattribute (selection_toolbar_service_202404) true)
+(expandtypeattribute (selinuxfs_202404) true)
+(expandtypeattribute (sendbug_config_prop_202404) true)
+(expandtypeattribute (sensitive_content_protection_service_202404) true)
+(expandtypeattribute (sensor_privacy_service_202404) true)
+(expandtypeattribute (sensors_device_202404) true)
+(expandtypeattribute (sensorservice_service_202404) true)
+(expandtypeattribute (sepolicy_file_202404) true)
+(expandtypeattribute (serial_device_202404) true)
+(expandtypeattribute (serial_service_202404) true)
+(expandtypeattribute (serialno_prop_202404) true)
+(expandtypeattribute (server_configurable_flags_data_file_202404) true)
+(expandtypeattribute (service_contexts_file_202404) true)
+(expandtypeattribute (service_manager_service_202404) true)
+(expandtypeattribute (service_manager_vndservice_202404) true)
+(expandtypeattribute (servicediscovery_service_202404) true)
+(expandtypeattribute (servicemanager_202404) true)
+(expandtypeattribute (servicemanager_exec_202404) true)
+(expandtypeattribute (servicemanager_prop_202404) true)
+(expandtypeattribute (settings_service_202404) true)
+(expandtypeattribute (setupwizard_mode_prop_202404) true)
+(expandtypeattribute (sgdisk_202404) true)
+(expandtypeattribute (sgdisk_exec_202404) true)
+(expandtypeattribute (shared_relro_202404) true)
+(expandtypeattribute (shared_relro_file_202404) true)
+(expandtypeattribute (shell_202404) true)
+(expandtypeattribute (shell_data_file_202404) true)
+(expandtypeattribute (shell_exec_202404) true)
+(expandtypeattribute (shell_prop_202404) true)
+(expandtypeattribute (shell_test_data_file_202404) true)
+(expandtypeattribute (shm_202404) true)
+(expandtypeattribute (shortcut_manager_icons_202404) true)
+(expandtypeattribute (shortcut_service_202404) true)
+(expandtypeattribute (shutdown_checkpoints_system_data_file_202404) true)
+(expandtypeattribute (simpleperf_202404) true)
+(expandtypeattribute (simpleperf_app_runner_202404) true)
+(expandtypeattribute (simpleperf_app_runner_exec_202404) true)
+(expandtypeattribute (slice_service_202404) true)
+(expandtypeattribute (slideshow_202404) true)
+(expandtypeattribute (smart_idle_maint_enabled_prop_202404) true)
+(expandtypeattribute (smartspace_service_202404) true)
+(expandtypeattribute (snapshotctl_log_data_file_202404) true)
+(expandtypeattribute (snapuserd_log_data_file_202404) true)
+(expandtypeattribute (snapuserd_proxy_socket_202404) true)
+(expandtypeattribute (snapuserd_socket_202404) true)
+(expandtypeattribute (soc_prop_202404) true)
+(expandtypeattribute (socket_device_202404) true)
+(expandtypeattribute (socket_hook_prop_202404) true)
+(expandtypeattribute (sockfs_202404) true)
+(expandtypeattribute (sota_prop_202404) true)
+(expandtypeattribute (soundtrigger_middleware_service_202404) true)
+(expandtypeattribute (speech_recognition_service_202404) true)
+(expandtypeattribute (sqlite_log_prop_202404) true)
+(expandtypeattribute (staged_install_file_202404) true)
+(expandtypeattribute (staging_data_file_202404) true)
+(expandtypeattribute (stats_config_data_file_202404) true)
+(expandtypeattribute (stats_data_file_202404) true)
+(expandtypeattribute (statsd_202404) true)
+(expandtypeattribute (statsd_exec_202404) true)
+(expandtypeattribute (statsdw_socket_202404) true)
+(expandtypeattribute (statusbar_service_202404) true)
+(expandtypeattribute (storage_config_prop_202404) true)
+(expandtypeattribute (storage_file_202404) true)
+(expandtypeattribute (storage_stub_file_202404) true)
+(expandtypeattribute (storaged_service_202404) true)
+(expandtypeattribute (storagemanager_config_prop_202404) true)
+(expandtypeattribute (storagestats_service_202404) true)
+(expandtypeattribute (su_202404) true)
+(expandtypeattribute (su_exec_202404) true)
+(expandtypeattribute (super_block_device_202404) true)
+(expandtypeattribute (surfaceflinger_202404) true)
+(expandtypeattribute (surfaceflinger_color_prop_202404) true)
+(expandtypeattribute (surfaceflinger_display_prop_202404) true)
+(expandtypeattribute (surfaceflinger_prop_202404) true)
+(expandtypeattribute (surfaceflinger_service_202404) true)
+(expandtypeattribute (surfaceflinger_tmpfs_202404) true)
+(expandtypeattribute (suspend_prop_202404) true)
+(expandtypeattribute (swap_block_device_202404) true)
+(expandtypeattribute (sysfs_202404) true)
+(expandtypeattribute (sysfs_android_usb_202404) true)
+(expandtypeattribute (sysfs_batteryinfo_202404) true)
+(expandtypeattribute (sysfs_bluetooth_writable_202404) true)
+(expandtypeattribute (sysfs_devfreq_cur_202404) true)
+(expandtypeattribute (sysfs_devfreq_dir_202404) true)
+(expandtypeattribute (sysfs_devices_block_202404) true)
+(expandtypeattribute (sysfs_devices_cs_etm_202404) true)
+(expandtypeattribute (sysfs_devices_system_cpu_202404) true)
+(expandtypeattribute (sysfs_dm_202404) true)
+(expandtypeattribute (sysfs_dm_verity_202404) true)
+(expandtypeattribute (sysfs_dma_heap_202404) true)
+(expandtypeattribute (sysfs_dmabuf_stats_202404) true)
+(expandtypeattribute (sysfs_dt_firmware_android_202404) true)
+(expandtypeattribute (sysfs_extcon_202404) true)
+(expandtypeattribute (sysfs_fs_ext4_features_202404) true)
+(expandtypeattribute (sysfs_fs_f2fs_202404) true)
+(expandtypeattribute (sysfs_fs_fuse_bpf_202404) true)
+(expandtypeattribute (sysfs_fs_fuse_features_202404) true)
+(expandtypeattribute (sysfs_fs_incfs_features_202404) true)
+(expandtypeattribute (sysfs_fs_incfs_metrics_202404) true)
+(expandtypeattribute (sysfs_gpu_202404) true)
+(expandtypeattribute (sysfs_hwrandom_202404) true)
+(expandtypeattribute (sysfs_ion_202404) true)
+(expandtypeattribute (sysfs_ipv4_202404) true)
+(expandtypeattribute (sysfs_kernel_notes_202404) true)
+(expandtypeattribute (sysfs_leds_202404) true)
+(expandtypeattribute (sysfs_loop_202404) true)
+(expandtypeattribute (sysfs_lowmemorykiller_202404) true)
+(expandtypeattribute (sysfs_lru_gen_enabled_202404) true)
+(expandtypeattribute (sysfs_net_202404) true)
+(expandtypeattribute (sysfs_nfc_power_writable_202404) true)
+(expandtypeattribute (sysfs_power_202404) true)
+(expandtypeattribute (sysfs_rtc_202404) true)
+(expandtypeattribute (sysfs_suspend_stats_202404) true)
+(expandtypeattribute (sysfs_switch_202404) true)
+(expandtypeattribute (sysfs_sync_on_suspend_202404) true)
+(expandtypeattribute (sysfs_thermal_202404) true)
+(expandtypeattribute (sysfs_transparent_hugepage_202404) true)
+(expandtypeattribute (sysfs_uhid_202404) true)
+(expandtypeattribute (sysfs_uio_202404) true)
+(expandtypeattribute (sysfs_usb_202404) true)
+(expandtypeattribute (sysfs_usermodehelper_202404) true)
+(expandtypeattribute (sysfs_vendor_sched_202404) true)
+(expandtypeattribute (sysfs_vibrator_202404) true)
+(expandtypeattribute (sysfs_wake_lock_202404) true)
+(expandtypeattribute (sysfs_wakeup_202404) true)
+(expandtypeattribute (sysfs_wakeup_reasons_202404) true)
+(expandtypeattribute (sysfs_wlan_fwpath_202404) true)
+(expandtypeattribute (sysfs_zram_202404) true)
+(expandtypeattribute (sysfs_zram_uevent_202404) true)
+(expandtypeattribute (system_app_202404) true)
+(expandtypeattribute (system_app_data_file_202404) true)
+(expandtypeattribute (system_app_service_202404) true)
+(expandtypeattribute (system_asan_options_file_202404) true)
+(expandtypeattribute (system_block_device_202404) true)
+(expandtypeattribute (system_boot_reason_prop_202404) true)
+(expandtypeattribute (system_bootstrap_lib_file_202404) true)
+(expandtypeattribute (system_config_service_202404) true)
+(expandtypeattribute (system_data_file_202404) true)
+(expandtypeattribute (system_data_root_file_202404) true)
+(expandtypeattribute (system_dlkm_file_202404) true)
+(expandtypeattribute (system_event_log_tags_file_202404) true)
+(expandtypeattribute (system_file_202404) true)
+(expandtypeattribute (system_group_file_202404) true)
+(expandtypeattribute (system_jvmti_agent_prop_202404) true)
+(expandtypeattribute (system_lib_file_202404) true)
+(expandtypeattribute (system_linker_config_file_202404) true)
+(expandtypeattribute (system_linker_exec_202404) true)
+(expandtypeattribute (system_lmk_prop_202404) true)
+(expandtypeattribute (system_ndebug_socket_202404) true)
+(expandtypeattribute (system_net_netd_hwservice_202404) true)
+(expandtypeattribute (system_net_netd_service_202404) true)
+(expandtypeattribute (system_passwd_file_202404) true)
+(expandtypeattribute (system_prop_202404) true)
+(expandtypeattribute (system_seccomp_policy_file_202404) true)
+(expandtypeattribute (system_security_cacerts_file_202404) true)
+(expandtypeattribute (system_server_202404) true)
+(expandtypeattribute (system_server_dumper_service_202404) true)
+(expandtypeattribute (system_server_tmpfs_202404) true)
+(expandtypeattribute (system_suspend_control_internal_service_202404) true)
+(expandtypeattribute (system_suspend_control_service_202404) true)
+(expandtypeattribute (system_suspend_hwservice_202404) true)
+(expandtypeattribute (system_trace_prop_202404) true)
+(expandtypeattribute (system_unsolzygote_socket_202404) true)
+(expandtypeattribute (system_update_service_202404) true)
+(expandtypeattribute (system_user_mode_emulation_prop_202404) true)
+(expandtypeattribute (system_userdir_file_202404) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_202404) true)
+(expandtypeattribute (system_wpa_socket_202404) true)
+(expandtypeattribute (system_zoneinfo_file_202404) true)
+(expandtypeattribute (systemkeys_data_file_202404) true)
+(expandtypeattribute (systemsound_config_prop_202404) true)
+(expandtypeattribute (tare_service_202404) true)
+(expandtypeattribute (task_profiles_api_file_202404) true)
+(expandtypeattribute (task_profiles_file_202404) true)
+(expandtypeattribute (task_service_202404) true)
+(expandtypeattribute (tcpdump_exec_202404) true)
+(expandtypeattribute (tee_202404) true)
+(expandtypeattribute (tee_data_file_202404) true)
+(expandtypeattribute (tee_device_202404) true)
+(expandtypeattribute (telecom_service_202404) true)
+(expandtypeattribute (telephony_config_prop_202404) true)
+(expandtypeattribute (telephony_status_prop_202404) true)
+(expandtypeattribute (test_boot_reason_prop_202404) true)
+(expandtypeattribute (test_harness_prop_202404) true)
+(expandtypeattribute (testharness_service_202404) true)
+(expandtypeattribute (tethering_service_202404) true)
+(expandtypeattribute (textclassification_service_202404) true)
+(expandtypeattribute (textclassifier_data_file_202404) true)
+(expandtypeattribute (textservices_service_202404) true)
+(expandtypeattribute (texttospeech_service_202404) true)
+(expandtypeattribute (theme_prop_202404) true)
+(expandtypeattribute (thermal_service_202404) true)
+(expandtypeattribute (threadnetwork_config_prop_202404) true)
+(expandtypeattribute (threadnetwork_service_202404) true)
+(expandtypeattribute (time_prop_202404) true)
+(expandtypeattribute (timedetector_service_202404) true)
+(expandtypeattribute (timezone_prop_202404) true)
+(expandtypeattribute (timezonedetector_service_202404) true)
+(expandtypeattribute (tmpfs_202404) true)
+(expandtypeattribute (tombstone_config_prop_202404) true)
+(expandtypeattribute (tombstone_data_file_202404) true)
+(expandtypeattribute (tombstone_wifi_data_file_202404) true)
+(expandtypeattribute (tombstoned_202404) true)
+(expandtypeattribute (tombstoned_crash_socket_202404) true)
+(expandtypeattribute (tombstoned_exec_202404) true)
+(expandtypeattribute (tombstoned_intercept_socket_202404) true)
+(expandtypeattribute (tombstoned_java_trace_socket_202404) true)
+(expandtypeattribute (toolbox_202404) true)
+(expandtypeattribute (toolbox_exec_202404) true)
+(expandtypeattribute (trace_data_file_202404) true)
+(expandtypeattribute (traced_202404) true)
+(expandtypeattribute (traced_consumer_socket_202404) true)
+(expandtypeattribute (traced_enabled_prop_202404) true)
+(expandtypeattribute (traced_lazy_prop_202404) true)
+(expandtypeattribute (traced_oome_heap_session_count_prop_202404) true)
+(expandtypeattribute (traced_perf_202404) true)
+(expandtypeattribute (traced_perf_socket_202404) true)
+(expandtypeattribute (traced_probes_202404) true)
+(expandtypeattribute (traced_producer_socket_202404) true)
+(expandtypeattribute (traced_tmpfs_202404) true)
+(expandtypeattribute (traceur_app_202404) true)
+(expandtypeattribute (translation_service_202404) true)
+(expandtypeattribute (trust_service_202404) true)
+(expandtypeattribute (tty_device_202404) true)
+(expandtypeattribute (tun_device_202404) true)
+(expandtypeattribute (tuner_config_prop_202404) true)
+(expandtypeattribute (tv_ad_service_202404) true)
+(expandtypeattribute (tv_iapp_service_202404) true)
+(expandtypeattribute (tv_input_service_202404) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_202404) true)
+(expandtypeattribute (ublk_block_device_202404) true)
+(expandtypeattribute (ublk_control_device_202404) true)
+(expandtypeattribute (ueventd_202404) true)
+(expandtypeattribute (ueventd_tmpfs_202404) true)
+(expandtypeattribute (uhid_device_202404) true)
+(expandtypeattribute (uimode_service_202404) true)
+(expandtypeattribute (uio_device_202404) true)
+(expandtypeattribute (uncrypt_202404) true)
+(expandtypeattribute (uncrypt_exec_202404) true)
+(expandtypeattribute (uncrypt_socket_202404) true)
+(expandtypeattribute (unencrypted_data_file_202404) true)
+(expandtypeattribute (unlabeled_202404) true)
+(expandtypeattribute (untrusted_app_202404) true)
+(expandtypeattribute (untrusted_app_25_202404) true)
+(expandtypeattribute (untrusted_app_27_202404) true)
+(expandtypeattribute (untrusted_app_29_202404) true)
+(expandtypeattribute (untrusted_app_30_202404) true)
+(expandtypeattribute (untrusted_app_32_202404) true)
+(expandtypeattribute (update_engine_202404) true)
+(expandtypeattribute (update_engine_data_file_202404) true)
+(expandtypeattribute (update_engine_exec_202404) true)
+(expandtypeattribute (update_engine_log_data_file_202404) true)
+(expandtypeattribute (update_engine_service_202404) true)
+(expandtypeattribute (update_engine_stable_service_202404) true)
+(expandtypeattribute (update_verifier_202404) true)
+(expandtypeattribute (update_verifier_exec_202404) true)
+(expandtypeattribute (updatelock_service_202404) true)
+(expandtypeattribute (uri_grants_service_202404) true)
+(expandtypeattribute (usagestats_service_202404) true)
+(expandtypeattribute (usb_config_prop_202404) true)
+(expandtypeattribute (usb_control_prop_202404) true)
+(expandtypeattribute (usb_device_202404) true)
+(expandtypeattribute (usb_prop_202404) true)
+(expandtypeattribute (usb_serial_device_202404) true)
+(expandtypeattribute (usb_service_202404) true)
+(expandtypeattribute (usb_uvc_enabled_prop_202404) true)
+(expandtypeattribute (usbaccessory_device_202404) true)
+(expandtypeattribute (usbd_202404) true)
+(expandtypeattribute (usbd_exec_202404) true)
+(expandtypeattribute (usbfs_202404) true)
+(expandtypeattribute (use_memfd_prop_202404) true)
+(expandtypeattribute (user_profile_data_file_202404) true)
+(expandtypeattribute (user_profile_root_file_202404) true)
+(expandtypeattribute (user_service_202404) true)
+(expandtypeattribute (userdata_block_device_202404) true)
+(expandtypeattribute (userdata_sysdev_202404) true)
+(expandtypeattribute (userdebug_or_eng_prop_202404) true)
+(expandtypeattribute (usermodehelper_202404) true)
+(expandtypeattribute (userspace_reboot_config_prop_202404) true)
+(expandtypeattribute (userspace_reboot_exported_prop_202404) true)
+(expandtypeattribute (userspace_reboot_metadata_file_202404) true)
+(expandtypeattribute (uwb_service_202404) true)
+(expandtypeattribute (vcn_management_service_202404) true)
+(expandtypeattribute (vd_device_202404) true)
+(expandtypeattribute (vdc_202404) true)
+(expandtypeattribute (vdc_exec_202404) true)
+(expandtypeattribute (vehicle_hal_prop_202404) true)
+(expandtypeattribute (vendor_apex_file_202404) true)
+(expandtypeattribute (vendor_apex_metadata_file_202404) true)
+(expandtypeattribute (vendor_app_file_202404) true)
+(expandtypeattribute (vendor_cgroup_desc_file_202404) true)
+(expandtypeattribute (vendor_configs_file_202404) true)
+(expandtypeattribute (vendor_data_file_202404) true)
+(expandtypeattribute (vendor_default_prop_202404) true)
+(expandtypeattribute (vendor_file_202404) true)
+(expandtypeattribute (vendor_framework_file_202404) true)
+(expandtypeattribute (vendor_hal_file_202404) true)
+(expandtypeattribute (vendor_idc_file_202404) true)
+(expandtypeattribute (vendor_init_202404) true)
+(expandtypeattribute (vendor_kernel_modules_202404) true)
+(expandtypeattribute (vendor_keychars_file_202404) true)
+(expandtypeattribute (vendor_keylayout_file_202404) true)
+(expandtypeattribute (vendor_microdroid_file_202404) true)
+(expandtypeattribute (vendor_misc_writer_202404) true)
+(expandtypeattribute (vendor_misc_writer_exec_202404) true)
+(expandtypeattribute (vendor_modprobe_202404) true)
+(expandtypeattribute (vendor_overlay_file_202404) true)
+(expandtypeattribute (vendor_public_framework_file_202404) true)
+(expandtypeattribute (vendor_public_lib_file_202404) true)
+(expandtypeattribute (vendor_security_patch_level_prop_202404) true)
+(expandtypeattribute (vendor_service_contexts_file_202404) true)
+(expandtypeattribute (vendor_shell_202404) true)
+(expandtypeattribute (vendor_shell_exec_202404) true)
+(expandtypeattribute (vendor_socket_hook_prop_202404) true)
+(expandtypeattribute (vendor_task_profiles_file_202404) true)
+(expandtypeattribute (vendor_toolbox_exec_202404) true)
+(expandtypeattribute (vendor_userdir_file_202404) true)
+(expandtypeattribute (vendor_uuid_mapping_config_file_202404) true)
+(expandtypeattribute (vendor_vm_data_file_202404) true)
+(expandtypeattribute (vendor_vm_file_202404) true)
+(expandtypeattribute (vfat_202404) true)
+(expandtypeattribute (vfio_device_202404) true)
+(expandtypeattribute (vibrator_manager_service_202404) true)
+(expandtypeattribute (vibrator_service_202404) true)
+(expandtypeattribute (video_device_202404) true)
+(expandtypeattribute (virtual_ab_prop_202404) true)
+(expandtypeattribute (virtual_camera_service_202404) true)
+(expandtypeattribute (virtual_device_native_service_202404) true)
+(expandtypeattribute (virtual_device_service_202404) true)
+(expandtypeattribute (virtual_face_hal_prop_202404) true)
+(expandtypeattribute (virtual_fingerprint_hal_prop_202404) true)
+(expandtypeattribute (virtual_touchpad_202404) true)
+(expandtypeattribute (virtual_touchpad_exec_202404) true)
+(expandtypeattribute (virtual_touchpad_service_202404) true)
+(expandtypeattribute (virtualization_service_202404) true)
+(expandtypeattribute (vndbinder_device_202404) true)
+(expandtypeattribute (vndk_prop_202404) true)
+(expandtypeattribute (vndk_sp_file_202404) true)
+(expandtypeattribute (vndservice_contexts_file_202404) true)
+(expandtypeattribute (vndservicemanager_202404) true)
+(expandtypeattribute (voiceinteraction_service_202404) true)
+(expandtypeattribute (vold_202404) true)
+(expandtypeattribute (vold_config_prop_202404) true)
+(expandtypeattribute (vold_data_file_202404) true)
+(expandtypeattribute (vold_device_202404) true)
+(expandtypeattribute (vold_exec_202404) true)
+(expandtypeattribute (vold_metadata_file_202404) true)
+(expandtypeattribute (vold_post_fs_data_prop_202404) true)
+(expandtypeattribute (vold_prepare_subdirs_202404) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_202404) true)
+(expandtypeattribute (vold_prop_202404) true)
+(expandtypeattribute (vold_service_202404) true)
+(expandtypeattribute (vold_status_prop_202404) true)
+(expandtypeattribute (vpn_data_file_202404) true)
+(expandtypeattribute (vpn_management_service_202404) true)
+(expandtypeattribute (vr_hwc_service_202404) true)
+(expandtypeattribute (vr_manager_service_202404) true)
+(expandtypeattribute (vrflinger_vsync_service_202404) true)
+(expandtypeattribute (vts_config_prop_202404) true)
+(expandtypeattribute (vts_status_prop_202404) true)
+(expandtypeattribute (wallpaper_effects_generation_service_202404) true)
+(expandtypeattribute (wallpaper_file_202404) true)
+(expandtypeattribute (wallpaper_service_202404) true)
+(expandtypeattribute (watchdog_device_202404) true)
+(expandtypeattribute (watchdog_metadata_file_202404) true)
+(expandtypeattribute (watchdogd_202404) true)
+(expandtypeattribute (watchdogd_exec_202404) true)
+(expandtypeattribute (webview_zygote_202404) true)
+(expandtypeattribute (webview_zygote_exec_202404) true)
+(expandtypeattribute (webview_zygote_tmpfs_202404) true)
+(expandtypeattribute (webviewupdate_service_202404) true)
+(expandtypeattribute (wifi_config_prop_202404) true)
+(expandtypeattribute (wifi_data_file_202404) true)
+(expandtypeattribute (wifi_hal_prop_202404) true)
+(expandtypeattribute (wifi_key_202404) true)
+(expandtypeattribute (wifi_log_prop_202404) true)
+(expandtypeattribute (wifi_prop_202404) true)
+(expandtypeattribute (wifi_service_202404) true)
+(expandtypeattribute (wifiaware_service_202404) true)
+(expandtypeattribute (wificond_202404) true)
+(expandtypeattribute (wificond_exec_202404) true)
+(expandtypeattribute (wifinl80211_service_202404) true)
+(expandtypeattribute (wifip2p_service_202404) true)
+(expandtypeattribute (wifiscanner_service_202404) true)
+(expandtypeattribute (window_service_202404) true)
+(expandtypeattribute (wpa_socket_202404) true)
+(expandtypeattribute (zero_device_202404) true)
+(expandtypeattribute (zoned_block_device_202404) true)
+(expandtypeattribute (zram_config_prop_202404) true)
+(expandtypeattribute (zram_control_prop_202404) true)
+(expandtypeattribute (zygote_202404) true)
+(expandtypeattribute (zygote_config_prop_202404) true)
+(expandtypeattribute (zygote_exec_202404) true)
+(expandtypeattribute (zygote_socket_202404) true)
+(expandtypeattribute (zygote_tmpfs_202404) true)
+(typeattributeset DockObserver_service_202404 (DockObserver_service))
+(typeattributeset IProxyService_service_202404 (IProxyService_service))
+(typeattributeset aac_drc_prop_202404 (aac_drc_prop))
+(typeattributeset aaudio_config_prop_202404 (aaudio_config_prop))
+(typeattributeset ab_update_gki_prop_202404 (ab_update_gki_prop))
+(typeattributeset accessibility_service_202404 (accessibility_service))
+(typeattributeset account_service_202404 (account_service))
+(typeattributeset aconfig_storage_flags_metadata_file_202404 (aconfig_storage_flags_metadata_file))
+(typeattributeset aconfig_storage_metadata_file_202404 (aconfig_storage_metadata_file))
+(typeattributeset activity_service_202404 (activity_service))
+(typeattributeset activity_task_service_202404 (activity_task_service))
+(typeattributeset adaptive_haptics_prop_202404 (adaptive_haptics_prop))
+(typeattributeset adb_data_file_202404 (adb_data_file))
+(typeattributeset adb_keys_file_202404 (adb_keys_file))
+(typeattributeset adb_service_202404 (adb_service))
+(typeattributeset adbd_202404 (adbd))
+(typeattributeset adbd_config_prop_202404 (adbd_config_prop))
+(typeattributeset adbd_exec_202404 (adbd_exec))
+(typeattributeset adbd_socket_202404 (adbd_socket))
+(typeattributeset adservices_manager_service_202404 (adservices_manager_service))
+(typeattributeset aidl_lazy_test_server_202404 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_202404 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_202404 (aidl_lazy_test_service))
+(typeattributeset alarm_service_202404 (alarm_service))
+(typeattributeset anr_data_file_202404 (anr_data_file))
+(typeattributeset apc_service_202404 (apc_service))
+(typeattributeset apex_data_file_202404 (apex_data_file))
+(typeattributeset apex_info_file_202404 (apex_info_file))
+(typeattributeset apex_metadata_file_202404 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_202404 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_202404 (apex_module_data_file))
+(typeattributeset apex_ota_reserved_file_202404 (apex_ota_reserved_file))
+(typeattributeset apex_ready_prop_202404 (apex_ready_prop))
+(typeattributeset apex_rollback_data_file_202404 (apex_rollback_data_file))
+(typeattributeset apex_service_202404 (apex_service))
+(typeattributeset apex_system_server_data_file_202404 (apex_system_server_data_file))
+(typeattributeset apexd_202404 (apexd))
+(typeattributeset apexd_config_prop_202404 (apexd_config_prop))
+(typeattributeset apexd_exec_202404 (apexd_exec))
+(typeattributeset apexd_prop_202404 (apexd_prop))
+(typeattributeset apexd_select_prop_202404 (apexd_select_prop))
+(typeattributeset apk_data_file_202404 (apk_data_file))
+(typeattributeset apk_private_data_file_202404 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_202404 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_202404 (apk_tmp_file))
+(typeattributeset apk_verity_prop_202404 (apk_verity_prop))
+(typeattributeset app_binding_service_202404 (app_binding_service))
+(typeattributeset app_data_file_202404 (app_data_file))
+(typeattributeset app_fuse_file_202404 (app_fuse_file))
+(typeattributeset app_fusefs_202404 (app_fusefs))
+(typeattributeset app_hibernation_service_202404 (app_hibernation_service))
+(typeattributeset app_integrity_service_202404 (app_integrity_service))
+(typeattributeset app_prediction_service_202404 (app_prediction_service))
+(typeattributeset app_search_service_202404 (app_search_service))
+(typeattributeset app_zygote_202404 (app_zygote))
+(typeattributeset app_zygote_tmpfs_202404 (app_zygote_tmpfs))
+(typeattributeset appcompat_data_file_202404 (appcompat_data_file))
+(typeattributeset appdomain_tmpfs_202404 (appdomain_tmpfs))
+(typeattributeset appops_service_202404 (appops_service))
+(typeattributeset appwidget_service_202404 (appwidget_service))
+(typeattributeset archive_service_202404 (archive_service))
+(typeattributeset arm64_memtag_prop_202404 (arm64_memtag_prop))
+(typeattributeset art_apex_dir_202404 (art_apex_dir))
+(typeattributeset artd_202404 (artd))
+(typeattributeset artd_pre_reboot_service_202404 (artd_pre_reboot_service))
+(typeattributeset artd_service_202404 (artd_service))
+(typeattributeset asec_apk_file_202404 (asec_apk_file))
+(typeattributeset asec_image_file_202404 (asec_image_file))
+(typeattributeset asec_public_file_202404 (asec_public_file))
+(typeattributeset ashmem_device_202404 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_202404 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_202404 (assetatlas_service))
+(typeattributeset atrace_202404 (atrace))
+(typeattributeset attestation_verification_service_202404 (attestation_verification_service))
+(typeattributeset audio_config_prop_202404 (audio_config_prop))
+(typeattributeset audio_data_file_202404 (audio_data_file))
+(typeattributeset audio_device_202404 (audio_device))
+(typeattributeset audio_prop_202404 (audio_prop))
+(typeattributeset audio_service_202404 (audio_service))
+(typeattributeset audiohal_data_file_202404 (audiohal_data_file))
+(typeattributeset audioserver_202404 (audioserver))
+(typeattributeset audioserver_data_file_202404 (audioserver_data_file))
+(typeattributeset audioserver_service_202404 (audioserver_service))
+(typeattributeset audioserver_tmpfs_202404 (audioserver_tmpfs))
+(typeattributeset auth_service_202404 (auth_service))
+(typeattributeset authorization_service_202404 (authorization_service))
+(typeattributeset autofill_service_202404 (autofill_service))
+(typeattributeset backup_data_file_202404 (backup_data_file))
+(typeattributeset backup_service_202404 (backup_service))
+(typeattributeset battery_service_202404 (battery_service))
+(typeattributeset batteryproperties_service_202404 (batteryproperties_service))
+(typeattributeset batterystats_service_202404 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_202404 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_202404 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_202404 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_202404 (binder_calls_stats_service))
+(typeattributeset binder_device_202404 (binder_device))
+(typeattributeset binderfs_202404 (binderfs))
+(typeattributeset binderfs_features_202404 (binderfs_features))
+(typeattributeset binderfs_logs_202404 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_202404 (binderfs_logs_proc))
+(typeattributeset binderfs_logs_stats_202404 (binderfs_logs_stats))
+(typeattributeset binfmt_miscfs_202404 (binfmt_miscfs))
+(typeattributeset biometric_service_202404 (biometric_service))
+(typeattributeset blkid_202404 (blkid))
+(typeattributeset blkid_untrusted_202404 (blkid_untrusted))
+(typeattributeset blob_store_service_202404 (blob_store_service))
+(typeattributeset block_device_202404 (block_device))
+(typeattributeset bluetooth_202404 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_202404 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_202404 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_config_prop_202404 (bluetooth_config_prop))
+(typeattributeset bluetooth_data_file_202404 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_202404 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_202404 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_202404 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_202404 (bluetooth_prop))
+(typeattributeset bluetooth_service_202404 (bluetooth_service))
+(typeattributeset bluetooth_socket_202404 (bluetooth_socket))
+(typeattributeset boot_block_device_202404 (boot_block_device))
+(typeattributeset boot_status_prop_202404 (boot_status_prop))
+(typeattributeset bootanim_202404 (bootanim))
+(typeattributeset bootanim_config_prop_202404 (bootanim_config_prop))
+(typeattributeset bootanim_exec_202404 (bootanim_exec))
+(typeattributeset bootanim_oem_file_202404 (bootanim_oem_file))
+(typeattributeset bootanim_system_prop_202404 (bootanim_system_prop))
+(typeattributeset bootchart_data_file_202404 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_202404 (bootloader_boot_reason_prop))
+(typeattributeset bootloader_prop_202404 (bootloader_prop))
+(typeattributeset bootstat_202404 (bootstat))
+(typeattributeset bootstat_data_file_202404 (bootstat_data_file))
+(typeattributeset bootstat_exec_202404 (bootstat_exec))
+(typeattributeset boottime_prop_202404 (boottime_prop))
+(typeattributeset boottime_public_prop_202404 (boottime_public_prop))
+(typeattributeset boottrace_data_file_202404 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_202404 (bpf_progs_loaded_prop))
+(typeattributeset bpfloader_202404 (bpfloader))
+(typeattributeset bq_config_prop_202404 (bq_config_prop))
+(typeattributeset broadcastradio_service_202404 (broadcastradio_service))
+(typeattributeset bt_device_202404 (bt_device))
+(typeattributeset bufferhubd_202404 (bufferhubd))
+(typeattributeset bufferhubd_exec_202404 (bufferhubd_exec))
+(typeattributeset bugreport_service_202404 (bugreport_service))
+(typeattributeset build_attestation_prop_202404 (build_attestation_prop))
+(typeattributeset build_bootimage_prop_202404 (build_bootimage_prop))
+(typeattributeset build_config_prop_202404 (build_config_prop))
+(typeattributeset build_odm_prop_202404 (build_odm_prop))
+(typeattributeset build_prop_202404 (build_prop))
+(typeattributeset build_vendor_prop_202404 (build_vendor_prop))
+(typeattributeset cache_backup_file_202404 (cache_backup_file))
+(typeattributeset cache_block_device_202404 (cache_block_device))
+(typeattributeset cache_file_202404 (cache_file))
+(typeattributeset cache_private_backup_file_202404 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_202404 (cache_recovery_file))
+(typeattributeset cacheinfo_service_202404 (cacheinfo_service))
+(typeattributeset camera2_extensions_prop_202404 (camera2_extensions_prop))
+(typeattributeset camera_calibration_prop_202404 (camera_calibration_prop))
+(typeattributeset camera_config_prop_202404 (camera_config_prop))
+(typeattributeset camera_data_file_202404 (camera_data_file))
+(typeattributeset camera_device_202404 (camera_device))
+(typeattributeset cameraproxy_service_202404 (cameraproxy_service))
+(typeattributeset cameraserver_202404 (cameraserver))
+(typeattributeset cameraserver_exec_202404 (cameraserver_exec))
+(typeattributeset cameraserver_service_202404 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_202404 (cameraserver_tmpfs))
+(typeattributeset camerax_extensions_prop_202404 (camerax_extensions_prop))
+(typeattributeset cgroup_202404 (cgroup))
+(typeattributeset cgroup_desc_api_file_202404 (cgroup_desc_api_file))
+(typeattributeset cgroup_desc_file_202404 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_202404 (cgroup_rc_file))
+(typeattributeset cgroup_v2_202404 (cgroup_v2))
+(typeattributeset charger_202404 (charger))
+(typeattributeset charger_config_prop_202404 (charger_config_prop))
+(typeattributeset charger_exec_202404 (charger_exec))
+(typeattributeset charger_prop_202404 (charger_prop))
+(typeattributeset charger_status_prop_202404 (charger_status_prop))
+(typeattributeset charger_vendor_202404 (charger_vendor))
+(typeattributeset clipboard_service_202404 (clipboard_service))
+(typeattributeset cloudsearch_service_202404 (cloudsearch_service))
+(typeattributeset codec2_config_prop_202404 (codec2_config_prop))
+(typeattributeset cold_boot_done_prop_202404 (cold_boot_done_prop))
+(typeattributeset color_display_service_202404 (color_display_service))
+(typeattributeset companion_device_service_202404 (companion_device_service))
+(typeattributeset composd_vm_art_prop_202404 (composd_vm_art_prop))
+(typeattributeset composd_vm_vendor_prop_202404 (composd_vm_vendor_prop))
+(typeattributeset config_prop_202404 (config_prop))
+(typeattributeset configfs_202404 (configfs))
+(typeattributeset connectivity_native_service_202404 (connectivity_native_service))
+(typeattributeset connectivity_service_202404 (connectivity_service))
+(typeattributeset connmetrics_service_202404 (connmetrics_service))
+(typeattributeset console_device_202404 (console_device))
+(typeattributeset consumer_ir_service_202404 (consumer_ir_service))
+(typeattributeset content_capture_service_202404 (content_capture_service))
+(typeattributeset content_service_202404 (content_service))
+(typeattributeset content_suggestions_service_202404 (content_suggestions_service))
+(typeattributeset contexthub_service_202404 (contexthub_service))
+(typeattributeset contextual_search_service_202404 (contextual_search_service))
+(typeattributeset coredump_file_202404 (coredump_file))
+(typeattributeset country_detector_service_202404 (country_detector_service))
+(typeattributeset coverage_service_202404 (coverage_service))
+(typeattributeset cppreopt_prop_202404 (cppreopt_prop))
+(typeattributeset cpu_monitor_service_202404 (cpu_monitor_service))
+(typeattributeset cpu_variant_prop_202404 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_202404 (cpuinfo_service))
+(typeattributeset crash_dump_202404 (crash_dump))
+(typeattributeset crash_dump_exec_202404 (crash_dump_exec))
+(typeattributeset credential_service_202404 (credential_service))
+(typeattributeset credstore_202404 (credstore))
+(typeattributeset credstore_data_file_202404 (credstore_data_file))
+(typeattributeset credstore_exec_202404 (credstore_exec))
+(typeattributeset credstore_service_202404 (credstore_service))
+(typeattributeset crossprofileapps_service_202404 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_202404 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_202404 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_202404 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_202404 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_202404 (ctl_console_prop))
+(typeattributeset ctl_default_prop_202404 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_202404 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_202404 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_202404 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_202404 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_202404 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_202404 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_202404 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_202404 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_202404 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_202404 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_202404 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_202404 (ctl_stop_prop))
+(typeattributeset dalvik_config_prop_202404 (dalvik_config_prop))
+(typeattributeset dalvik_dynamic_config_prop_202404 (dalvik_dynamic_config_prop))
+(typeattributeset dalvik_prop_202404 (dalvik_prop))
+(typeattributeset dalvik_runtime_prop_202404 (dalvik_runtime_prop))
+(typeattributeset dalvikcache_data_file_202404 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_202404 (dataloader_manager_service))
+(typeattributeset dbinfo_service_202404 (dbinfo_service))
+(typeattributeset dck_prop_202404 (dck_prop))
+(typeattributeset debug_prop_202404 (debug_prop))
+(typeattributeset debugfs_202404 (debugfs))
+(typeattributeset debugfs_bootreceiver_tracing_202404 (debugfs_bootreceiver_tracing))
+(typeattributeset debugfs_kprobes_202404 (debugfs_kprobes))
+(typeattributeset debugfs_mm_events_tracing_202404 (debugfs_mm_events_tracing))
+(typeattributeset debugfs_mmc_202404 (debugfs_mmc))
+(typeattributeset debugfs_restriction_prop_202404 (debugfs_restriction_prop))
+(typeattributeset debugfs_trace_marker_202404 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_202404 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_202404 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_202404 (debugfs_tracing_instances))
+(typeattributeset debugfs_tracing_printk_formats_202404 (debugfs_tracing_printk_formats))
+(typeattributeset debugfs_wakeup_sources_202404 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_202404 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_202404 (debuggerd_prop))
+(typeattributeset default_android_hwservice_202404 (default_android_hwservice))
+(typeattributeset default_android_service_202404 (default_android_service))
+(typeattributeset default_android_vndservice_202404 (default_android_vndservice))
+(typeattributeset default_prop_202404 (default_prop))
+(typeattributeset dev_cpu_variant_202404 (dev_cpu_variant))
+(typeattributeset device_202404 (device))
+(typeattributeset device_config_aconfig_flags_prop_202404 (device_config_aconfig_flags_prop))
+(typeattributeset device_config_activity_manager_native_boot_prop_202404 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_202404 (device_config_boot_count_prop))
+(typeattributeset device_config_camera_native_prop_202404 (device_config_camera_native_prop))
+(typeattributeset device_config_edgetpu_native_prop_202404 (device_config_edgetpu_native_prop))
+(typeattributeset device_config_input_native_boot_prop_202404 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_202404 (device_config_media_native_prop))
+(typeattributeset device_config_memory_safety_native_boot_prop_202404 (device_config_memory_safety_native_boot_prop))
+(typeattributeset device_config_memory_safety_native_prop_202404 (device_config_memory_safety_native_prop))
+(typeattributeset device_config_netd_native_prop_202404 (device_config_netd_native_prop))
+(typeattributeset device_config_nnapi_native_prop_202404 (device_config_nnapi_native_prop))
+(typeattributeset device_config_reset_performed_prop_202404 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_202404 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_202404 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_202404 (device_config_service))
+(typeattributeset device_config_surface_flinger_native_boot_prop_202404 (device_config_surface_flinger_native_boot_prop))
+(typeattributeset device_config_updatable_service_202404 (device_config_updatable_service))
+(typeattributeset device_config_vendor_system_native_boot_prop_202404 (device_config_vendor_system_native_boot_prop))
+(typeattributeset device_config_vendor_system_native_prop_202404 (device_config_vendor_system_native_prop))
+(typeattributeset device_identifiers_service_202404 (device_identifiers_service))
+(typeattributeset device_logging_prop_202404 (device_logging_prop))
+(typeattributeset device_policy_service_202404 (device_policy_service))
+(typeattributeset device_state_service_202404 (device_state_service))
+(typeattributeset deviceidle_service_202404 (deviceidle_service))
+(typeattributeset devicelock_service_202404 (devicelock_service))
+(typeattributeset devicestoragemonitor_service_202404 (devicestoragemonitor_service))
+(typeattributeset devpts_202404 (devpts))
+(typeattributeset dexopt_chroot_setup_service_202404 (dexopt_chroot_setup_service))
+(typeattributeset dhcp_202404 (dhcp))
+(typeattributeset dhcp_data_file_202404 (dhcp_data_file))
+(typeattributeset dhcp_exec_202404 (dhcp_exec))
+(typeattributeset dhcp_prop_202404 (dhcp_prop))
+(typeattributeset diskstats_service_202404 (diskstats_service))
+(typeattributeset display_service_202404 (display_service))
+(typeattributeset dm_device_202404 (dm_device))
+(typeattributeset dm_user_device_202404 (dm_user_device))
+(typeattributeset dmabuf_heap_device_202404 (dmabuf_heap_device))
+(typeattributeset dmabuf_system_heap_device_202404 (dmabuf_system_heap_device))
+(typeattributeset dmabuf_system_secure_heap_device_202404 (dmabuf_system_secure_heap_device))
+(typeattributeset dnsmasq_202404 (dnsmasq))
+(typeattributeset dnsmasq_exec_202404 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_202404 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_202404 (dnsresolver_service))
+(typeattributeset domain_verification_service_202404 (domain_verification_service))
+(typeattributeset dreams_service_202404 (dreams_service))
+(typeattributeset drm_data_file_202404 (drm_data_file))
+(typeattributeset drm_forcel3_prop_202404 (drm_forcel3_prop))
+(typeattributeset drm_service_config_prop_202404 (drm_service_config_prop))
+(typeattributeset drmserver_202404 (drmserver))
+(typeattributeset drmserver_exec_202404 (drmserver_exec))
+(typeattributeset drmserver_service_202404 (drmserver_service))
+(typeattributeset drmserver_socket_202404 (drmserver_socket))
+(typeattributeset dropbox_data_file_202404 (dropbox_data_file))
+(typeattributeset dropbox_service_202404 (dropbox_service))
+(typeattributeset dtbo_block_device_202404 (dtbo_block_device))
+(typeattributeset dumpstate_202404 (dumpstate))
+(typeattributeset dumpstate_exec_202404 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_202404 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_202404 (dumpstate_prop))
+(typeattributeset dumpstate_service_202404 (dumpstate_service))
+(typeattributeset dumpstate_socket_202404 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_202404 (dynamic_system_prop))
+(typeattributeset e2fs_202404 (e2fs))
+(typeattributeset e2fs_exec_202404 (e2fs_exec))
+(typeattributeset ecm_enhanced_confirmation_service_202404 (ecm_enhanced_confirmation_service))
+(typeattributeset efs_file_202404 (efs_file))
+(typeattributeset emergency_affordance_service_202404 (emergency_affordance_service))
+(typeattributeset ephemeral_app_202404 (ephemeral_app))
+(typeattributeset ethernet_service_202404 (ethernet_service))
+(typeattributeset evsmanagerd_202404 (evsmanagerd))
+(typeattributeset evsmanagerd_service_202404 (evsmanagerd_service))
+(typeattributeset exfat_202404 (exfat))
+(typeattributeset exported3_system_prop_202404 (exported3_system_prop))
+(typeattributeset exported_bluetooth_prop_202404 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_202404 (exported_camera_prop))
+(typeattributeset exported_config_prop_202404 (exported_config_prop))
+(typeattributeset exported_default_prop_202404 (exported_default_prop))
+(typeattributeset exported_dumpstate_prop_202404 (exported_dumpstate_prop))
+(typeattributeset exported_overlay_prop_202404 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_202404 (exported_pm_prop))
+(typeattributeset exported_secure_prop_202404 (exported_secure_prop))
+(typeattributeset exported_system_prop_202404 (exported_system_prop))
+(typeattributeset external_vibrator_service_202404 (external_vibrator_service))
+(typeattributeset extra_free_kbytes_202404 (extra_free_kbytes))
+(typeattributeset extra_free_kbytes_exec_202404 (extra_free_kbytes_exec))
+(typeattributeset face_service_202404 (face_service))
+(typeattributeset face_vendor_data_file_202404 (face_vendor_data_file))
+(typeattributeset fastbootd_202404 (fastbootd))
+(typeattributeset ffs_config_prop_202404 (ffs_config_prop))
+(typeattributeset ffs_control_prop_202404 (ffs_control_prop))
+(typeattributeset file_contexts_file_202404 (file_contexts_file))
+(typeattributeset file_integrity_service_202404 (file_integrity_service))
+(typeattributeset fingerprint_prop_202404 (fingerprint_prop))
+(typeattributeset fingerprint_service_202404 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_202404 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_202404 (fingerprintd))
+(typeattributeset fingerprintd_data_file_202404 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_202404 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_202404 (fingerprintd_service))
+(typeattributeset firstboot_prop_202404 (firstboot_prop))
+(typeattributeset flags_health_check_202404 (flags_health_check))
+(typeattributeset flags_health_check_exec_202404 (flags_health_check_exec))
+(typeattributeset font_service_202404 (font_service))
+(typeattributeset framework_status_prop_202404 (framework_status_prop))
+(typeattributeset framework_watchdog_config_prop_202404 (framework_watchdog_config_prop))
+(typeattributeset frp_block_device_202404 (frp_block_device))
+(typeattributeset fs_bpf_202404 (fs_bpf))
+(typeattributeset fs_bpf_tethering_202404 (fs_bpf_tethering))
+(typeattributeset fs_bpf_vendor_202404 (fs_bpf_vendor))
+(typeattributeset fsck_202404 (fsck))
+(typeattributeset fsck_exec_202404 (fsck_exec))
+(typeattributeset fsck_untrusted_202404 (fsck_untrusted))
+(typeattributeset fscklogs_202404 (fscklogs))
+(typeattributeset functionfs_202404 (functionfs))
+(typeattributeset fuse_202404 (fuse))
+(typeattributeset fuse_device_202404 (fuse_device))
+(typeattributeset fuseblk_202404 (fuseblk))
+(typeattributeset fusectlfs_202404 (fusectlfs))
+(typeattributeset future_pm_prop_202404 (future_pm_prop))
+(typeattributeset fwk_altitude_service_202404 (fwk_altitude_service))
+(typeattributeset fwk_automotive_display_hwservice_202404 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_automotive_display_service_202404 (fwk_automotive_display_service))
+(typeattributeset fwk_bufferhub_hwservice_202404 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_202404 (fwk_camera_hwservice))
+(typeattributeset fwk_camera_service_202404 (fwk_camera_service))
+(typeattributeset fwk_display_hwservice_202404 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_202404 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_202404 (fwk_sensor_hwservice))
+(typeattributeset fwk_sensor_service_202404 (fwk_sensor_service))
+(typeattributeset fwk_stats_hwservice_202404 (fwk_stats_hwservice))
+(typeattributeset fwk_stats_service_202404 (fwk_stats_service))
+(typeattributeset fwk_vibrator_control_service_202404 (fwk_vibrator_control_service))
+(typeattributeset fwmarkd_socket_202404 (fwmarkd_socket))
+(typeattributeset game_mode_intervention_list_file_202404 (game_mode_intervention_list_file))
+(typeattributeset game_service_202404 (game_service))
+(typeattributeset gatekeeper_data_file_202404 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_202404 (gatekeeper_service))
+(typeattributeset gatekeeperd_202404 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_202404 (gatekeeperd_exec))
+(typeattributeset gesture_prop_202404 (gesture_prop))
+(typeattributeset gfxinfo_service_202404 (gfxinfo_service))
+(typeattributeset gmscore_app_202404 (gmscore_app))
+(typeattributeset gnss_device_202404 (gnss_device))
+(typeattributeset gnss_time_update_service_202404 (gnss_time_update_service))
+(typeattributeset gps_control_202404 (gps_control))
+(typeattributeset gpu_device_202404 (gpu_device))
+(typeattributeset gpu_service_202404 (gpu_service))
+(typeattributeset gpuservice_202404 (gpuservice))
+(typeattributeset grammatical_inflection_service_202404 (grammatical_inflection_service))
+(typeattributeset graphics_config_prop_202404 (graphics_config_prop))
+(typeattributeset graphics_config_writable_prop_202404 (graphics_config_writable_prop))
+(typeattributeset graphics_device_202404 (graphics_device))
+(typeattributeset graphicsstats_service_202404 (graphicsstats_service))
+(typeattributeset gsi_data_file_202404 (gsi_data_file))
+(typeattributeset gsi_metadata_file_202404 (gsi_metadata_file))
+(typeattributeset gsi_public_metadata_file_202404 (gsi_public_metadata_file))
+(typeattributeset gwp_asan_prop_202404 (gwp_asan_prop))
+(typeattributeset hal_atrace_hwservice_202404 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_202404 (hal_audio_hwservice))
+(typeattributeset hal_audio_service_202404 (hal_audio_service))
+(typeattributeset hal_audiocontrol_hwservice_202404 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audiocontrol_service_202404 (hal_audiocontrol_service))
+(typeattributeset hal_authgraph_service_202404 (hal_authgraph_service))
+(typeattributeset hal_authsecret_hwservice_202404 (hal_authsecret_hwservice))
+(typeattributeset hal_authsecret_service_202404 (hal_authsecret_service))
+(typeattributeset hal_bluetooth_hwservice_202404 (hal_bluetooth_hwservice))
+(typeattributeset hal_bluetooth_service_202404 (hal_bluetooth_service))
+(typeattributeset hal_bootctl_hwservice_202404 (hal_bootctl_hwservice))
+(typeattributeset hal_bootctl_service_202404 (hal_bootctl_service))
+(typeattributeset hal_broadcastradio_hwservice_202404 (hal_broadcastradio_hwservice))
+(typeattributeset hal_broadcastradio_service_202404 (hal_broadcastradio_service))
+(typeattributeset hal_camera_hwservice_202404 (hal_camera_hwservice))
+(typeattributeset hal_camera_service_202404 (hal_camera_service))
+(typeattributeset hal_can_bus_hwservice_202404 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_202404 (hal_can_controller_hwservice))
+(typeattributeset hal_can_controller_service_202404 (hal_can_controller_service))
+(typeattributeset hal_cas_hwservice_202404 (hal_cas_hwservice))
+(typeattributeset hal_cas_service_202404 (hal_cas_service))
+(typeattributeset hal_codec2_hwservice_202404 (hal_codec2_hwservice))
+(typeattributeset hal_codec2_service_202404 (hal_codec2_service))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_202404 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_202404 (hal_confirmationui_hwservice))
+(typeattributeset hal_confirmationui_service_202404 (hal_confirmationui_service))
+(typeattributeset hal_contexthub_hwservice_202404 (hal_contexthub_hwservice))
+(typeattributeset hal_contexthub_service_202404 (hal_contexthub_service))
+(typeattributeset hal_drm_hwservice_202404 (hal_drm_hwservice))
+(typeattributeset hal_drm_service_202404 (hal_drm_service))
+(typeattributeset hal_dumpstate_config_prop_202404 (hal_dumpstate_config_prop))
+(typeattributeset hal_dumpstate_hwservice_202404 (hal_dumpstate_hwservice))
+(typeattributeset hal_dumpstate_service_202404 (hal_dumpstate_service))
+(typeattributeset hal_evs_hwservice_202404 (hal_evs_hwservice))
+(typeattributeset hal_evs_service_202404 (hal_evs_service))
+(typeattributeset hal_face_hwservice_202404 (hal_face_hwservice))
+(typeattributeset hal_face_service_202404 (hal_face_service))
+(typeattributeset hal_fastboot_service_202404 (hal_fastboot_service))
+(typeattributeset hal_fingerprint_hwservice_202404 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_202404 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_202404 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gatekeeper_service_202404 (hal_gatekeeper_service))
+(typeattributeset hal_gnss_hwservice_202404 (hal_gnss_hwservice))
+(typeattributeset hal_gnss_service_202404 (hal_gnss_service))
+(typeattributeset hal_graphics_allocator_hwservice_202404 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_allocator_service_202404 (hal_graphics_allocator_service))
+(typeattributeset hal_graphics_composer_hwservice_202404 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_202404 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_composer_service_202404 (hal_graphics_composer_service))
+(typeattributeset hal_graphics_mapper_hwservice_202404 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_graphics_mapper_service_202404 (hal_graphics_mapper_service))
+(typeattributeset hal_health_hwservice_202404 (hal_health_hwservice))
+(typeattributeset hal_health_service_202404 (hal_health_service))
+(typeattributeset hal_health_storage_hwservice_202404 (hal_health_storage_hwservice))
+(typeattributeset hal_health_storage_service_202404 (hal_health_storage_service))
+(typeattributeset hal_identity_service_202404 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_202404 (hal_input_classifier_hwservice))
+(typeattributeset hal_input_processor_service_202404 (hal_input_processor_service))
+(typeattributeset hal_instrumentation_prop_202404 (hal_instrumentation_prop))
+(typeattributeset hal_ir_hwservice_202404 (hal_ir_hwservice))
+(typeattributeset hal_ir_service_202404 (hal_ir_service))
+(typeattributeset hal_ivn_service_202404 (hal_ivn_service))
+(typeattributeset hal_keymaster_hwservice_202404 (hal_keymaster_hwservice))
+(typeattributeset hal_keymint_service_202404 (hal_keymint_service))
+(typeattributeset hal_light_hwservice_202404 (hal_light_hwservice))
+(typeattributeset hal_light_service_202404 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_202404 (hal_lowpan_hwservice))
+(typeattributeset hal_macsec_service_202404 (hal_macsec_service))
+(typeattributeset hal_memtrack_hwservice_202404 (hal_memtrack_hwservice))
+(typeattributeset hal_memtrack_service_202404 (hal_memtrack_service))
+(typeattributeset hal_neuralnetworks_hwservice_202404 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_neuralnetworks_service_202404 (hal_neuralnetworks_service))
+(typeattributeset hal_nfc_hwservice_202404 (hal_nfc_hwservice))
+(typeattributeset hal_nfc_service_202404 (hal_nfc_service))
+(typeattributeset hal_nlinterceptor_service_202404 (hal_nlinterceptor_service))
+(typeattributeset hal_oemlock_hwservice_202404 (hal_oemlock_hwservice))
+(typeattributeset hal_oemlock_service_202404 (hal_oemlock_service))
+(typeattributeset hal_omx_hwservice_202404 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_202404 (hal_power_hwservice))
+(typeattributeset hal_power_service_202404 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_202404 (hal_power_stats_hwservice))
+(typeattributeset hal_power_stats_service_202404 (hal_power_stats_service))
+(typeattributeset hal_radio_service_202404 (hal_radio_service))
+(typeattributeset hal_rebootescrow_service_202404 (hal_rebootescrow_service))
+(typeattributeset hal_remoteaccess_service_202404 (hal_remoteaccess_service))
+(typeattributeset hal_remotelyprovisionedcomponent_avf_service_202404 (hal_remotelyprovisionedcomponent_avf_service))
+(typeattributeset hal_remotelyprovisionedcomponent_service_202404 (hal_remotelyprovisionedcomponent_service))
+(typeattributeset hal_renderscript_hwservice_202404 (hal_renderscript_hwservice))
+(typeattributeset hal_secretkeeper_service_202404 (hal_secretkeeper_service))
+(typeattributeset hal_secure_element_hwservice_202404 (hal_secure_element_hwservice))
+(typeattributeset hal_secure_element_service_202404 (hal_secure_element_service))
+(typeattributeset hal_secureclock_service_202404 (hal_secureclock_service))
+(typeattributeset hal_sensors_hwservice_202404 (hal_sensors_hwservice))
+(typeattributeset hal_sensors_service_202404 (hal_sensors_service))
+(typeattributeset hal_sharedsecret_service_202404 (hal_sharedsecret_service))
+(typeattributeset hal_system_suspend_service_202404 (hal_system_suspend_service))
+(typeattributeset hal_telephony_hwservice_202404 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_202404 (hal_tetheroffload_hwservice))
+(typeattributeset hal_tetheroffload_service_202404 (hal_tetheroffload_service))
+(typeattributeset hal_thermal_hwservice_202404 (hal_thermal_hwservice))
+(typeattributeset hal_thermal_service_202404 (hal_thermal_service))
+(typeattributeset hal_threadnetwork_service_202404 (hal_threadnetwork_service))
+(typeattributeset hal_tv_cec_hwservice_202404 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_hdmi_cec_service_202404 (hal_tv_hdmi_cec_service))
+(typeattributeset hal_tv_hdmi_connection_service_202404 (hal_tv_hdmi_connection_service))
+(typeattributeset hal_tv_hdmi_earc_service_202404 (hal_tv_hdmi_earc_service))
+(typeattributeset hal_tv_input_hwservice_202404 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_input_service_202404 (hal_tv_input_service))
+(typeattributeset hal_tv_tuner_hwservice_202404 (hal_tv_tuner_hwservice))
+(typeattributeset hal_tv_tuner_service_202404 (hal_tv_tuner_service))
+(typeattributeset hal_usb_gadget_hwservice_202404 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_gadget_service_202404 (hal_usb_gadget_service))
+(typeattributeset hal_usb_hwservice_202404 (hal_usb_hwservice))
+(typeattributeset hal_usb_service_202404 (hal_usb_service))
+(typeattributeset hal_uwb_service_202404 (hal_uwb_service))
+(typeattributeset hal_vehicle_hwservice_202404 (hal_vehicle_hwservice))
+(typeattributeset hal_vehicle_service_202404 (hal_vehicle_service))
+(typeattributeset hal_vibrator_hwservice_202404 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_202404 (hal_vibrator_service))
+(typeattributeset hal_vr_hwservice_202404 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_202404 (hal_weaver_hwservice))
+(typeattributeset hal_weaver_service_202404 (hal_weaver_service))
+(typeattributeset hal_wifi_hostapd_hwservice_202404 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hostapd_service_202404 (hal_wifi_hostapd_service))
+(typeattributeset hal_wifi_hwservice_202404 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_service_202404 (hal_wifi_service))
+(typeattributeset hal_wifi_supplicant_hwservice_202404 (hal_wifi_supplicant_hwservice))
+(typeattributeset hal_wifi_supplicant_service_202404 (hal_wifi_supplicant_service))
+(typeattributeset hardware_properties_service_202404 (hardware_properties_service))
+(typeattributeset hardware_service_202404 (hardware_service))
+(typeattributeset hci_attach_dev_202404 (hci_attach_dev))
+(typeattributeset hdmi_config_prop_202404 (hdmi_config_prop))
+(typeattributeset hdmi_control_service_202404 (hdmi_control_service))
+(typeattributeset healthconnect_service_202404 (healthconnect_service))
+(typeattributeset healthd_202404 (healthd))
+(typeattributeset heapdump_data_file_202404 (heapdump_data_file))
+(typeattributeset heapprofd_202404 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_202404 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_202404 (heapprofd_prop))
+(typeattributeset heapprofd_socket_202404 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_202404 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_202404 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_202404 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_202404 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_202404 (hidl_token_hwservice))
+(typeattributeset hidraw_device_202404 (hidraw_device vendor_hidraw_device))
+(typeattributeset hint_service_202404 (hint_service))
+(typeattributeset hw_random_device_202404 (hw_random_device))
+(typeattributeset hw_timeout_multiplier_prop_202404 (hw_timeout_multiplier_prop))
+(typeattributeset hwbinder_device_202404 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_202404 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_202404 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_202404 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_202404 (hwservicemanager_prop))
+(typeattributeset hypervisor_prop_202404 (hypervisor_prop))
+(typeattributeset hypervisor_restricted_prop_202404 (hypervisor_restricted_prop))
+(typeattributeset icon_file_202404 (icon_file))
+(typeattributeset idmap_202404 (idmap))
+(typeattributeset idmap_exec_202404 (idmap_exec))
+(typeattributeset idmap_service_202404 (idmap_service))
+(typeattributeset iio_device_202404 (iio_device))
+(typeattributeset imms_service_202404 (imms_service))
+(typeattributeset incident_202404 (incident))
+(typeattributeset incident_data_file_202404 (incident_data_file))
+(typeattributeset incident_helper_202404 (incident_helper))
+(typeattributeset incident_service_202404 (incident_service))
+(typeattributeset incidentd_202404 (incidentd))
+(typeattributeset incremental_control_file_202404 (incremental_control_file))
+(typeattributeset incremental_prop_202404 (incremental_prop))
+(typeattributeset incremental_service_202404 (incremental_service))
+(typeattributeset init_202404 (init))
+(typeattributeset init_exec_202404 (init_exec))
+(typeattributeset init_service_status_prop_202404 (init_service_status_prop))
+(typeattributeset init_tmpfs_202404 (init_tmpfs))
+(typeattributeset inotify_202404 (inotify))
+(typeattributeset input_device_202404 (input_device))
+(typeattributeset input_device_config_prop_202404 (input_device_config_prop))
+(typeattributeset input_method_service_202404 (input_method_service))
+(typeattributeset input_service_202404 (input_service))
+(typeattributeset inputflinger_202404 (inputflinger))
+(typeattributeset inputflinger_exec_202404 (inputflinger_exec))
+(typeattributeset inputflinger_service_202404 (inputflinger_service))
+(typeattributeset install_data_file_202404 (install_data_file))
+(typeattributeset installd_202404 (installd))
+(typeattributeset installd_exec_202404 (installd_exec))
+(typeattributeset installd_service_202404 (installd_service))
+(typeattributeset ion_device_202404 (ion_device))
+(typeattributeset ipsec_service_202404 (ipsec_service))
+(typeattributeset iris_service_202404 (iris_service))
+(typeattributeset iris_vendor_data_file_202404 (iris_vendor_data_file))
+(typeattributeset isolated_app_202404 (isolated_app))
+(typeattributeset isolated_compute_app_202404 (isolated_compute_app))
+(typeattributeset jobscheduler_service_202404 (jobscheduler_service))
+(typeattributeset kernel_202404 (kernel))
+(typeattributeset keychain_data_file_202404 (keychain_data_file))
+(typeattributeset keychord_device_202404 (keychord_device))
+(typeattributeset keyguard_config_prop_202404 (keyguard_config_prop))
+(typeattributeset keystore2_key_contexts_file_202404 (keystore2_key_contexts_file))
+(typeattributeset keystore_202404 (keystore))
+(typeattributeset keystore_compat_hal_service_202404 (keystore_compat_hal_service))
+(typeattributeset keystore_config_prop_202404 (keystore_config_prop))
+(typeattributeset keystore_data_file_202404 (keystore_data_file))
+(typeattributeset keystore_exec_202404 (keystore_exec))
+(typeattributeset keystore_maintenance_service_202404 (keystore_maintenance_service))
+(typeattributeset keystore_metrics_service_202404 (keystore_metrics_service))
+(typeattributeset keystore_service_202404 (keystore_service))
+(typeattributeset kmsg_debug_device_202404 (kmsg_debug_device))
+(typeattributeset kmsg_device_202404 (kmsg_device))
+(typeattributeset labeledfs_202404 (labeledfs))
+(typeattributeset launcherapps_service_202404 (launcherapps_service))
+(typeattributeset legacy_permission_service_202404 (legacy_permission_service))
+(typeattributeset legacykeystore_service_202404 (legacykeystore_service))
+(typeattributeset libc_debug_prop_202404 (libc_debug_prop))
+(typeattributeset light_service_202404 (light_service))
+(typeattributeset linkerconfig_file_202404 (linkerconfig_file))
+(typeattributeset llkd_202404 (llkd))
+(typeattributeset llkd_exec_202404 (llkd_exec))
+(typeattributeset llkd_prop_202404 (llkd_prop))
+(typeattributeset lmkd_202404 (lmkd))
+(typeattributeset lmkd_config_prop_202404 (lmkd_config_prop))
+(typeattributeset lmkd_exec_202404 (lmkd_exec))
+(typeattributeset lmkd_prop_202404 (lmkd_prop))
+(typeattributeset lmkd_socket_202404 (lmkd_socket))
+(typeattributeset locale_prop_202404 (locale_prop))
+(typeattributeset locale_service_202404 (locale_service))
+(typeattributeset location_service_202404 (location_service))
+(typeattributeset location_time_zone_manager_service_202404 (location_time_zone_manager_service))
+(typeattributeset lock_settings_service_202404 (lock_settings_service))
+(typeattributeset log_prop_202404 (log_prop))
+(typeattributeset log_tag_prop_202404 (log_tag_prop))
+(typeattributeset logcat_exec_202404 (logcat_exec))
+(typeattributeset logd_202404 (logd))
+(typeattributeset logd_exec_202404 (logd_exec))
+(typeattributeset logd_prop_202404 (logd_prop))
+(typeattributeset logd_socket_202404 (logd_socket))
+(typeattributeset logdr_socket_202404 (logdr_socket))
+(typeattributeset logdw_socket_202404 (logdw_socket))
+(typeattributeset logpersist_202404 (logpersist))
+(typeattributeset logpersistd_logging_prop_202404 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_202404 (loop_control_device))
+(typeattributeset loop_device_202404 (loop_device))
+(typeattributeset looper_stats_service_202404 (looper_stats_service))
+(typeattributeset lowpan_device_202404 (lowpan_device))
+(typeattributeset lowpan_prop_202404 (lowpan_prop))
+(typeattributeset lpdump_service_202404 (lpdump_service))
+(typeattributeset lpdumpd_prop_202404 (lpdumpd_prop))
+(typeattributeset mac_perms_file_202404 (mac_perms_file))
+(typeattributeset mdns_service_202404 (mdns_service))
+(typeattributeset mdns_socket_202404 (mdns_socket))
+(typeattributeset mdnsd_202404 (mdnsd))
+(typeattributeset mdnsd_socket_202404 (mdnsd_socket))
+(typeattributeset media_communication_service_202404 (media_communication_service))
+(typeattributeset media_config_prop_202404 (media_config_prop))
+(typeattributeset media_data_file_202404 (media_data_file))
+(typeattributeset media_metrics_service_202404 (media_metrics_service))
+(typeattributeset media_projection_service_202404 (media_projection_service))
+(typeattributeset media_router_service_202404 (media_router_service))
+(typeattributeset media_rw_data_file_202404 (media_rw_data_file))
+(typeattributeset media_session_service_202404 (media_session_service))
+(typeattributeset media_userdir_file_202404 (media_userdir_file))
+(typeattributeset media_variant_prop_202404 (media_variant_prop))
+(typeattributeset mediadrm_config_prop_202404 (mediadrm_config_prop))
+(typeattributeset mediadrmserver_202404 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_202404 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_202404 (mediadrmserver_service))
+(typeattributeset mediaextractor_202404 (mediaextractor))
+(typeattributeset mediaextractor_exec_202404 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_202404 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_202404 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_202404 (mediametrics))
+(typeattributeset mediametrics_exec_202404 (mediametrics_exec))
+(typeattributeset mediametrics_service_202404 (mediametrics_service))
+(typeattributeset mediaprovider_202404 (mediaprovider))
+(typeattributeset mediaserver_202404 (mediaserver))
+(typeattributeset mediaserver_exec_202404 (mediaserver_exec))
+(typeattributeset mediaserver_service_202404 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_202404 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_202404 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_202404 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_202404 (mediatranscoding))
+(typeattributeset mediatranscoding_service_202404 (mediatranscoding_service))
+(typeattributeset meminfo_service_202404 (meminfo_service))
+(typeattributeset memtrackproxy_service_202404 (memtrackproxy_service))
+(typeattributeset metadata_block_device_202404 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_202404 (metadata_bootstat_file))
+(typeattributeset metadata_file_202404 (metadata_file))
+(typeattributeset method_trace_data_file_202404 (method_trace_data_file))
+(typeattributeset midi_service_202404 (midi_service))
+(typeattributeset mirror_data_file_202404 (mirror_data_file))
+(typeattributeset misc_block_device_202404 (misc_block_device))
+(typeattributeset misc_logd_file_202404 (misc_logd_file))
+(typeattributeset misc_user_data_file_202404 (misc_user_data_file))
+(typeattributeset mm_events_config_prop_202404 (mm_events_config_prop))
+(typeattributeset mmc_prop_202404 (mmc_prop))
+(typeattributeset mnt_expand_file_202404 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_202404 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_202404 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_202404 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_202404 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_202404 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_202404 (mnt_user_file))
+(typeattributeset mnt_vendor_file_202404 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_202404 (mock_ota_prop))
+(typeattributeset modprobe_202404 (modprobe))
+(typeattributeset module_sdkextensions_prop_202404 (module_sdkextensions_prop))
+(typeattributeset mount_service_202404 (mount_service))
+(typeattributeset mqueue_202404 (mqueue))
+(typeattributeset mtp_202404 (mtp))
+(typeattributeset mtp_device_202404 (mtp_device))
+(typeattributeset mtpd_socket_202404 (mtpd_socket))
+(typeattributeset music_recognition_service_202404 (music_recognition_service))
+(typeattributeset nativetest_data_file_202404 (nativetest_data_file))
+(typeattributeset nearby_service_202404 (nearby_service))
+(typeattributeset net_data_file_202404 (net_data_file))
+(typeattributeset net_dns_prop_202404 (net_dns_prop))
+(typeattributeset net_radio_prop_202404 (net_radio_prop))
+(typeattributeset netd_202404 (netd))
+(typeattributeset netd_exec_202404 (netd_exec))
+(typeattributeset netd_listener_service_202404 (netd_listener_service))
+(typeattributeset netd_service_202404 (netd_service))
+(typeattributeset netif_202404 (netif))
+(typeattributeset netpolicy_service_202404 (netpolicy_service))
+(typeattributeset netstats_service_202404 (netstats_service))
+(typeattributeset netutils_wrapper_202404 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_202404 (netutils_wrapper_exec))
+(typeattributeset network_management_service_202404 (network_management_service))
+(typeattributeset network_score_service_202404 (network_score_service))
+(typeattributeset network_stack_202404 (network_stack))
+(typeattributeset network_stack_service_202404 (network_stack_service))
+(typeattributeset network_time_update_service_202404 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_202404 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_202404 (network_watchlist_service))
+(typeattributeset nfc_202404 (nfc))
+(typeattributeset nfc_data_file_202404 (nfc_data_file))
+(typeattributeset nfc_device_202404 (nfc_device))
+(typeattributeset nfc_logs_data_file_202404 (nfc_logs_data_file))
+(typeattributeset nfc_prop_202404 (nfc_prop))
+(typeattributeset nfc_service_202404 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_202404 (nnapi_ext_deny_product_prop))
+(typeattributeset node_202404 (node))
+(typeattributeset notification_service_202404 (notification_service))
+(typeattributeset null_device_202404 (null_device))
+(typeattributeset oem_lock_service_202404 (oem_lock_service))
+(typeattributeset oem_unlock_prop_202404 (oem_unlock_prop))
+(typeattributeset oemfs_202404 (oemfs))
+(typeattributeset ondevicepersonalization_system_service_202404 (ondevicepersonalization_system_service))
+(typeattributeset ot_daemon_service_202404 (ot_daemon_service))
+(typeattributeset ot_daemon_socket_202404 (ot_daemon_socket))
+(typeattributeset ota_build_prop_202404 (ota_build_prop))
+(typeattributeset ota_data_file_202404 (ota_data_file))
+(typeattributeset ota_metadata_file_202404 (ota_metadata_file))
+(typeattributeset ota_package_file_202404 (ota_package_file))
+(typeattributeset ota_prop_202404 (ota_prop))
+(typeattributeset otadexopt_service_202404 (otadexopt_service))
+(typeattributeset otapreopt_chroot_202404 (otapreopt_chroot))
+(typeattributeset overlay_prop_202404 (overlay_prop))
+(typeattributeset overlay_service_202404 (overlay_service))
+(typeattributeset overlayfs_file_202404 (overlayfs_file))
+(typeattributeset owntty_device_202404 (owntty_device))
+(typeattributeset pac_proxy_service_202404 (pac_proxy_service))
+(typeattributeset package_native_service_202404 (package_native_service))
+(typeattributeset package_service_202404 (package_service))
+(typeattributeset packagemanager_config_prop_202404 (packagemanager_config_prop))
+(typeattributeset packages_list_file_202404 (packages_list_file))
+(typeattributeset pan_result_prop_202404 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_202404 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_202404 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_202404 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_202404 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_202404 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_202404 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_202404 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_202404 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_202404 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_202404 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_202404 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_202404 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_202404 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_202404 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_202404 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_202404 (pdx_performance_dir))
+(typeattributeset people_service_202404 (people_service))
+(typeattributeset perfetto_202404 (perfetto))
+(typeattributeset performanced_202404 (performanced))
+(typeattributeset performanced_exec_202404 (performanced_exec))
+(typeattributeset permission_checker_service_202404 (permission_checker_service))
+(typeattributeset permission_service_202404 (permission_service))
+(typeattributeset permissionmgr_service_202404 (permissionmgr_service))
+(typeattributeset permissive_mte_prop_202404 (permissive_mte_prop))
+(typeattributeset persist_debug_prop_202404 (persist_debug_prop))
+(typeattributeset persist_vendor_debug_wifi_prop_202404 (persist_vendor_debug_wifi_prop))
+(typeattributeset persist_wm_debug_prop_202404 (persist_wm_debug_prop))
+(typeattributeset persistent_data_block_service_202404 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_202404 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_202404 (pinner_service))
+(typeattributeset pipefs_202404 (pipefs))
+(typeattributeset platform_app_202404 (platform_app))
+(typeattributeset platform_compat_service_202404 (platform_compat_service))
+(typeattributeset pm_archiving_enabled_prop_202404 (pm_archiving_enabled_prop))
+(typeattributeset pmsg_device_202404 (pmsg_device))
+(typeattributeset port_202404 (port))
+(typeattributeset port_device_202404 (port_device))
+(typeattributeset postinstall_202404 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_202404 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_202404 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_202404 (postinstall_mnt_dir))
+(typeattributeset power_debug_prop_202404 (power_debug_prop))
+(typeattributeset power_service_202404 (power_service))
+(typeattributeset powerctl_prop_202404 (powerctl_prop))
+(typeattributeset powerstats_service_202404 (powerstats_service))
+(typeattributeset ppp_202404 (ppp))
+(typeattributeset preloads_data_file_202404 (preloads_data_file))
+(typeattributeset preloads_media_file_202404 (preloads_media_file))
+(typeattributeset prereboot_data_file_202404 (prereboot_data_file))
+(typeattributeset print_service_202404 (print_service))
+(typeattributeset priv_app_202404 (priv_app))
+(typeattributeset privapp_data_file_202404 (privapp_data_file))
+(typeattributeset prng_seeder_202404 (prng_seeder))
+(typeattributeset proc_202404 (proc))
+(typeattributeset proc_abi_202404 (proc_abi))
+(typeattributeset proc_asound_202404 (proc_asound))
+(typeattributeset proc_bluetooth_writable_202404 (proc_bluetooth_writable))
+(typeattributeset proc_bootconfig_202404 (proc_bootconfig))
+(typeattributeset proc_bpf_202404 (proc_bpf))
+(typeattributeset proc_buddyinfo_202404 (proc_buddyinfo))
+(typeattributeset proc_cmdline_202404 (proc_cmdline))
+(typeattributeset proc_cpu_alignment_202404 (proc_cpu_alignment))
+(typeattributeset proc_cpuinfo_202404 (proc_cpuinfo))
+(typeattributeset proc_dirty_202404 (proc_dirty))
+(typeattributeset proc_diskstats_202404 (proc_diskstats))
+(typeattributeset proc_drop_caches_202404 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_202404 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_202404 (proc_filesystems))
+(typeattributeset proc_fs_verity_202404 (proc_fs_verity))
+(typeattributeset proc_hostname_202404 (proc_hostname))
+(typeattributeset proc_hung_task_202404 (proc_hung_task))
+(typeattributeset proc_interrupts_202404 (proc_interrupts))
+(typeattributeset proc_iomem_202404 (proc_iomem))
+(typeattributeset proc_kallsyms_202404 (proc_kallsyms))
+(typeattributeset proc_keys_202404 (proc_keys))
+(typeattributeset proc_kmsg_202404 (proc_kmsg))
+(typeattributeset proc_kpageflags_202404 (proc_kpageflags))
+(typeattributeset proc_loadavg_202404 (proc_loadavg))
+(typeattributeset proc_locks_202404 (proc_locks))
+(typeattributeset proc_lowmemorykiller_202404 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_202404 (proc_max_map_count))
+(typeattributeset proc_meminfo_202404 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_202404 (proc_min_free_order_shift))
+(typeattributeset proc_misc_202404 (proc_misc))
+(typeattributeset proc_modules_202404 (proc_modules))
+(typeattributeset proc_mounts_202404 (proc_mounts))
+(typeattributeset proc_net_202404 (proc_net))
+(typeattributeset proc_net_tcp_udp_202404 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_202404 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_202404 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_202404 (proc_pagetypeinfo))
+(typeattributeset proc_panic_202404 (proc_panic))
+(typeattributeset proc_percpu_pagelist_high_fraction_202404 (proc_percpu_pagelist_high_fraction))
+(typeattributeset proc_perf_202404 (proc_perf))
+(typeattributeset proc_pid_max_202404 (proc_pid_max))
+(typeattributeset proc_pipe_conf_202404 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_202404 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_202404 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_202404 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_202404 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_202404 (proc_qtaguid_stat))
+(typeattributeset proc_random_202404 (proc_random))
+(typeattributeset proc_sched_202404 (proc_sched))
+(typeattributeset proc_security_202404 (proc_security))
+(typeattributeset proc_slabinfo_202404 (proc_slabinfo))
+(typeattributeset proc_stat_202404 (proc_stat))
+(typeattributeset proc_swaps_202404 (proc_swaps))
+(typeattributeset proc_sysrq_202404 (proc_sysrq))
+(typeattributeset proc_timer_202404 (proc_timer))
+(typeattributeset proc_tty_drivers_202404 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_202404 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_202404 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_202404 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_202404 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_202404 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_202404 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_202404 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_202404 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_202404 (proc_uptime))
+(typeattributeset proc_vendor_sched_202404 (proc_vendor_sched))
+(typeattributeset proc_version_202404 (proc_version))
+(typeattributeset proc_vmallocinfo_202404 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_202404 (proc_vmstat))
+(typeattributeset proc_watermark_boost_factor_202404 (proc_watermark_boost_factor))
+(typeattributeset proc_watermark_scale_factor_202404 (proc_watermark_scale_factor))
+(typeattributeset proc_zoneinfo_202404 (proc_zoneinfo))
+(typeattributeset processinfo_service_202404 (processinfo_service))
+(typeattributeset procstats_service_202404 (procstats_service))
+(typeattributeset profiling_service_202404 (profiling_service))
+(typeattributeset profman_202404 (profman))
+(typeattributeset profman_dump_data_file_202404 (profman_dump_data_file))
+(typeattributeset profman_exec_202404 (profman_exec))
+(typeattributeset properties_device_202404 (properties_device))
+(typeattributeset properties_serial_202404 (properties_serial))
+(typeattributeset property_contexts_file_202404 (property_contexts_file))
+(typeattributeset property_data_file_202404 (property_data_file))
+(typeattributeset property_info_202404 (property_info))
+(typeattributeset property_service_version_prop_202404 (property_service_version_prop))
+(typeattributeset property_socket_202404 (property_socket))
+(typeattributeset provisioned_prop_202404 (provisioned_prop))
+(typeattributeset pstorefs_202404 (pstorefs))
+(typeattributeset ptmx_device_202404 (ptmx_device))
+(typeattributeset qemu_hw_prop_202404 (qemu_hw_prop))
+(typeattributeset qemu_sf_lcd_density_prop_202404 (qemu_sf_lcd_density_prop))
+(typeattributeset qtaguid_device_202404 (qtaguid_device))
+(typeattributeset quick_start_prop_202404 (quick_start_prop))
+(typeattributeset racoon_socket_202404 (racoon_socket))
+(typeattributeset radio_202404 (radio))
+(typeattributeset radio_control_prop_202404 (radio_control_prop))
+(typeattributeset radio_core_data_file_202404 (radio_core_data_file))
+(typeattributeset radio_data_file_202404 (radio_data_file))
+(typeattributeset radio_device_202404 (radio_device))
+(typeattributeset radio_prop_202404 (radio_prop))
+(typeattributeset radio_service_202404 (radio_service))
+(typeattributeset ram_device_202404 (ram_device))
+(typeattributeset random_device_202404 (random_device))
+(typeattributeset reboot_readiness_service_202404 (reboot_readiness_service))
+(typeattributeset rebootescrow_hal_prop_202404 (rebootescrow_hal_prop))
+(typeattributeset recovery_202404 (recovery))
+(typeattributeset recovery_block_device_202404 (recovery_block_device))
+(typeattributeset recovery_config_prop_202404 (recovery_config_prop))
+(typeattributeset recovery_data_file_202404 (recovery_data_file))
+(typeattributeset recovery_persist_202404 (recovery_persist))
+(typeattributeset recovery_persist_exec_202404 (recovery_persist_exec))
+(typeattributeset recovery_refresh_202404 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_202404 (recovery_refresh_exec))
+(typeattributeset recovery_service_202404 (recovery_service))
+(typeattributeset recovery_socket_202404 (recovery_socket))
+(typeattributeset recovery_usb_config_prop_202404 (recovery_usb_config_prop))
+(typeattributeset registry_service_202404 (registry_service))
+(typeattributeset remote_auth_service_202404 (remote_auth_service))
+(typeattributeset remote_provisioning_service_202404 (remote_provisioning_service))
+(typeattributeset repair_mode_metadata_file_202404 (repair_mode_metadata_file))
+(typeattributeset resourcecache_data_file_202404 (resourcecache_data_file))
+(typeattributeset resources_manager_service_202404 (resources_manager_service))
+(typeattributeset restorecon_prop_202404 (restorecon_prop))
+(typeattributeset restrictions_service_202404 (restrictions_service))
+(typeattributeset retaildemo_prop_202404 (retaildemo_prop))
+(typeattributeset rild_debug_socket_202404 (rild_debug_socket))
+(typeattributeset rild_socket_202404 (rild_socket))
+(typeattributeset ringtone_file_202404 (ringtone_file))
+(typeattributeset rkpdapp_202404 (rkpdapp))
+(typeattributeset role_service_202404 (role_service))
+(typeattributeset rollback_service_202404 (rollback_service))
+(typeattributeset root_block_device_202404 (root_block_device))
+(typeattributeset rootdisk_sysdev_202404 (rootdisk_sysdev))
+(typeattributeset rootfs_202404 (rootfs))
+(typeattributeset rpmsg_device_202404 (rpmsg_device))
+(typeattributeset rs_202404 (rs))
+(typeattributeset rs_exec_202404 (rs_exec))
+(typeattributeset rss_hwm_reset_202404 (rss_hwm_reset))
+(typeattributeset rtc_device_202404 (rtc_device))
+(typeattributeset rttmanager_service_202404 (rttmanager_service))
+(typeattributeset runas_202404 (runas))
+(typeattributeset runas_app_202404 (runas_app))
+(typeattributeset runas_exec_202404 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_202404 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_202404 (runtime_service))
+(typeattributeset safemode_prop_202404 (safemode_prop))
+(typeattributeset same_process_hal_file_202404 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_202404 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_202404 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_202404 (sdcard_block_device))
+(typeattributeset sdcardd_202404 (sdcardd))
+(typeattributeset sdcardd_exec_202404 (sdcardd_exec))
+(typeattributeset sdcardfs_202404 (sdcardfs))
+(typeattributeset sdk_sandbox_service_202404 (sdk_sandbox_service))
+(typeattributeset seapp_contexts_file_202404 (seapp_contexts_file))
+(typeattributeset search_service_202404 (search_service))
+(typeattributeset search_ui_service_202404 (search_ui_service))
+(typeattributeset sec_key_att_app_id_provider_service_202404 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_202404 (secure_element))
+(typeattributeset secure_element_device_202404 (secure_element_device))
+(typeattributeset secure_element_service_202404 (secure_element_service))
+(typeattributeset security_state_service_202404 (security_state_service))
+(typeattributeset securityfs_202404 (securityfs))
+(typeattributeset selection_toolbar_service_202404 (selection_toolbar_service))
+(typeattributeset selinuxfs_202404 (selinuxfs))
+(typeattributeset sendbug_config_prop_202404 (sendbug_config_prop))
+(typeattributeset sensitive_content_protection_service_202404 (sensitive_content_protection_service))
+(typeattributeset sensor_privacy_service_202404 (sensor_privacy_service))
+(typeattributeset sensors_device_202404 (sensors_device))
+(typeattributeset sensorservice_service_202404 (sensorservice_service))
+(typeattributeset sepolicy_file_202404 (sepolicy_file))
+(typeattributeset serial_device_202404 (serial_device))
+(typeattributeset serial_service_202404 (serial_service))
+(typeattributeset serialno_prop_202404 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_202404 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_202404 (service_contexts_file))
+(typeattributeset service_manager_service_202404 (service_manager_service))
+(typeattributeset service_manager_vndservice_202404 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_202404 (servicediscovery_service))
+(typeattributeset servicemanager_202404 (servicemanager))
+(typeattributeset servicemanager_exec_202404 (servicemanager_exec))
+(typeattributeset servicemanager_prop_202404 (servicemanager_prop))
+(typeattributeset settings_service_202404 (settings_service))
+(typeattributeset setupwizard_mode_prop_202404 (setupwizard_mode_prop))
+(typeattributeset sgdisk_202404 (sgdisk))
+(typeattributeset sgdisk_exec_202404 (sgdisk_exec))
+(typeattributeset shared_relro_202404 (shared_relro))
+(typeattributeset shared_relro_file_202404 (shared_relro_file))
+(typeattributeset shell_202404 (shell))
+(typeattributeset shell_data_file_202404 (shell_data_file))
+(typeattributeset shell_exec_202404 (shell_exec))
+(typeattributeset shell_prop_202404 (shell_prop))
+(typeattributeset shell_test_data_file_202404 (shell_test_data_file))
+(typeattributeset shm_202404 (shm))
+(typeattributeset shortcut_manager_icons_202404 (shortcut_manager_icons))
+(typeattributeset shortcut_service_202404 (shortcut_service))
+(typeattributeset shutdown_checkpoints_system_data_file_202404 (shutdown_checkpoints_system_data_file))
+(typeattributeset simpleperf_202404 (simpleperf))
+(typeattributeset simpleperf_app_runner_202404 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_202404 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_202404 (slice_service))
+(typeattributeset slideshow_202404 (slideshow))
+(typeattributeset smart_idle_maint_enabled_prop_202404 (smart_idle_maint_enabled_prop))
+(typeattributeset smartspace_service_202404 (smartspace_service))
+(typeattributeset snapshotctl_log_data_file_202404 (snapshotctl_log_data_file))
+(typeattributeset snapuserd_log_data_file_202404 (snapuserd_log_data_file))
+(typeattributeset snapuserd_proxy_socket_202404 (snapuserd_proxy_socket))
+(typeattributeset snapuserd_socket_202404 (snapuserd_socket))
+(typeattributeset soc_prop_202404 (soc_prop))
+(typeattributeset socket_device_202404 (socket_device))
+(typeattributeset socket_hook_prop_202404 (socket_hook_prop))
+(typeattributeset sockfs_202404 (sockfs))
+(typeattributeset sota_prop_202404 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_202404 (soundtrigger_middleware_service))
+(typeattributeset speech_recognition_service_202404 (speech_recognition_service))
+(typeattributeset sqlite_log_prop_202404 (sqlite_log_prop))
+(typeattributeset staged_install_file_202404 (staged_install_file))
+(typeattributeset staging_data_file_202404 (staging_data_file))
+(typeattributeset stats_config_data_file_202404 (stats_config_data_file))
+(typeattributeset stats_data_file_202404 (stats_data_file))
+(typeattributeset statsd_202404 (statsd))
+(typeattributeset statsd_exec_202404 (statsd_exec))
+(typeattributeset statsdw_socket_202404 (statsdw_socket))
+(typeattributeset statusbar_service_202404 (statusbar_service))
+(typeattributeset storage_config_prop_202404 (storage_config_prop))
+(typeattributeset storage_file_202404 (storage_file))
+(typeattributeset storage_stub_file_202404 (storage_stub_file))
+(typeattributeset storaged_service_202404 (storaged_service))
+(typeattributeset storagemanager_config_prop_202404 (storagemanager_config_prop))
+(typeattributeset storagestats_service_202404 (storagestats_service))
+(typeattributeset su_202404 (su))
+(typeattributeset su_exec_202404 (su_exec))
+(typeattributeset super_block_device_202404 (super_block_device))
+(typeattributeset surfaceflinger_202404 (surfaceflinger))
+(typeattributeset surfaceflinger_color_prop_202404 (surfaceflinger_color_prop))
+(typeattributeset surfaceflinger_display_prop_202404 (surfaceflinger_display_prop))
+(typeattributeset surfaceflinger_prop_202404 (surfaceflinger_prop))
+(typeattributeset surfaceflinger_service_202404 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_202404 (surfaceflinger_tmpfs))
+(typeattributeset suspend_prop_202404 (suspend_prop))
+(typeattributeset swap_block_device_202404 (swap_block_device))
+(typeattributeset sysfs_202404 (sysfs sysfs_mem_sleep sysfs_udc))
+(typeattributeset sysfs_android_usb_202404 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_202404 (sysfs_batteryinfo))
+(typeattributeset sysfs_bluetooth_writable_202404 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devfreq_cur_202404 (sysfs_devfreq_cur))
+(typeattributeset sysfs_devfreq_dir_202404 (sysfs_devfreq_dir))
+(typeattributeset sysfs_devices_block_202404 (sysfs_devices_block))
+(typeattributeset sysfs_devices_cs_etm_202404 (sysfs_devices_cs_etm))
+(typeattributeset sysfs_devices_system_cpu_202404 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_202404 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_202404 (sysfs_dm_verity))
+(typeattributeset sysfs_dma_heap_202404 (sysfs_dma_heap))
+(typeattributeset sysfs_dmabuf_stats_202404 (sysfs_dmabuf_stats))
+(typeattributeset sysfs_dt_firmware_android_202404 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_202404 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_202404 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_202404 (sysfs_fs_f2fs))
+(typeattributeset sysfs_fs_fuse_bpf_202404 (sysfs_fs_fuse_bpf))
+(typeattributeset sysfs_fs_fuse_features_202404 (sysfs_fs_fuse_features))
+(typeattributeset sysfs_fs_incfs_features_202404 (sysfs_fs_incfs_features))
+(typeattributeset sysfs_fs_incfs_metrics_202404 (sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_gpu_202404 (sysfs_gpu))
+(typeattributeset sysfs_hwrandom_202404 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_202404 (sysfs_ion))
+(typeattributeset sysfs_ipv4_202404 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_202404 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_202404 (sysfs_leds))
+(typeattributeset sysfs_loop_202404 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_202404 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_lru_gen_enabled_202404 (sysfs_lru_gen_enabled))
+(typeattributeset sysfs_net_202404 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_202404 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_202404 (sysfs_power))
+(typeattributeset sysfs_rtc_202404 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_202404 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_202404 (sysfs_switch))
+(typeattributeset sysfs_sync_on_suspend_202404 (sysfs_sync_on_suspend))
+(typeattributeset sysfs_thermal_202404 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_202404 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uhid_202404 (sysfs_uhid))
+(typeattributeset sysfs_uio_202404 (sysfs_uio))
+(typeattributeset sysfs_usb_202404 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_202404 (sysfs_usermodehelper))
+(typeattributeset sysfs_vendor_sched_202404 (sysfs_vendor_sched))
+(typeattributeset sysfs_vibrator_202404 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_202404 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_202404 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_202404 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_202404 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_202404 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_202404 (sysfs_zram_uevent))
+(typeattributeset system_app_202404 (system_app))
+(typeattributeset system_app_data_file_202404 (system_app_data_file))
+(typeattributeset system_app_service_202404 (system_app_service))
+(typeattributeset system_asan_options_file_202404 (system_asan_options_file))
+(typeattributeset system_block_device_202404 (system_block_device))
+(typeattributeset system_boot_reason_prop_202404 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_202404 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_202404 (system_config_service))
+(typeattributeset system_data_file_202404 (system_data_file))
+(typeattributeset system_data_root_file_202404 (system_data_root_file))
+(typeattributeset system_dlkm_file_202404 (system_dlkm_file))
+(typeattributeset system_event_log_tags_file_202404 (system_event_log_tags_file))
+(typeattributeset system_file_202404 (system_file))
+(typeattributeset system_group_file_202404 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_202404 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_202404 (system_lib_file))
+(typeattributeset system_linker_config_file_202404 (system_linker_config_file))
+(typeattributeset system_linker_exec_202404 (system_linker_exec))
+(typeattributeset system_lmk_prop_202404 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_202404 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_202404 (system_net_netd_hwservice))
+(typeattributeset system_net_netd_service_202404 (system_net_netd_service))
+(typeattributeset system_passwd_file_202404 (system_passwd_file))
+(typeattributeset system_prop_202404 (system_prop))
+(typeattributeset system_seccomp_policy_file_202404 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_202404 (system_security_cacerts_file))
+(typeattributeset system_server_202404 (system_server))
+(typeattributeset system_server_dumper_service_202404 (system_server_dumper_service))
+(typeattributeset system_server_tmpfs_202404 (system_server_tmpfs))
+(typeattributeset system_suspend_control_internal_service_202404 (system_suspend_control_internal_service))
+(typeattributeset system_suspend_control_service_202404 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_202404 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_202404 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_202404 (system_unsolzygote_socket))
+(typeattributeset system_update_service_202404 (system_update_service))
+(typeattributeset system_user_mode_emulation_prop_202404 (system_user_mode_emulation_prop))
+(typeattributeset system_userdir_file_202404 (system_userdir_file))
+(typeattributeset system_wifi_keystore_hwservice_202404 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_202404 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_202404 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_202404 (systemkeys_data_file))
+(typeattributeset systemsound_config_prop_202404 (systemsound_config_prop))
+(typeattributeset tare_service_202404 (tare_service))
+(typeattributeset task_profiles_api_file_202404 (task_profiles_api_file))
+(typeattributeset task_profiles_file_202404 (task_profiles_file))
+(typeattributeset task_service_202404 (task_service))
+(typeattributeset tcpdump_exec_202404 (tcpdump_exec))
+(typeattributeset tee_202404 (tee))
+(typeattributeset tee_data_file_202404 (tee_data_file))
+(typeattributeset tee_device_202404 (tee_device))
+(typeattributeset telecom_service_202404 (telecom_service))
+(typeattributeset telephony_config_prop_202404 (telephony_config_prop))
+(typeattributeset telephony_status_prop_202404 (telephony_status_prop))
+(typeattributeset test_boot_reason_prop_202404 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_202404 (test_harness_prop))
+(typeattributeset testharness_service_202404 (testharness_service))
+(typeattributeset tethering_service_202404 (tethering_service))
+(typeattributeset textclassification_service_202404 (textclassification_service))
+(typeattributeset textclassifier_data_file_202404 (textclassifier_data_file))
+(typeattributeset textservices_service_202404 (textservices_service))
+(typeattributeset texttospeech_service_202404 (texttospeech_service))
+(typeattributeset theme_prop_202404 (theme_prop))
+(typeattributeset thermal_service_202404 (thermal_service))
+(typeattributeset threadnetwork_config_prop_202404 (threadnetwork_config_prop))
+(typeattributeset threadnetwork_service_202404 (threadnetwork_service))
+(typeattributeset time_prop_202404 (time_prop))
+(typeattributeset timedetector_service_202404 (timedetector_service))
+(typeattributeset timezone_prop_202404 (timezone_prop))
+(typeattributeset timezonedetector_service_202404 (timezonedetector_service))
+(typeattributeset tmpfs_202404 (tmpfs))
+(typeattributeset tombstone_config_prop_202404 (tombstone_config_prop))
+(typeattributeset tombstone_data_file_202404 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_202404 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_202404 (tombstoned))
+(typeattributeset tombstoned_crash_socket_202404 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_202404 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_202404 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_202404 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_202404 (toolbox))
+(typeattributeset toolbox_exec_202404 (toolbox_exec))
+(typeattributeset trace_data_file_202404 (trace_data_file))
+(typeattributeset traced_202404 (traced))
+(typeattributeset traced_consumer_socket_202404 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_202404 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_202404 (traced_lazy_prop))
+(typeattributeset traced_oome_heap_session_count_prop_202404 (traced_oome_heap_session_count_prop))
+(typeattributeset traced_perf_202404 (traced_perf))
+(typeattributeset traced_perf_socket_202404 (traced_perf_socket))
+(typeattributeset traced_probes_202404 (traced_probes))
+(typeattributeset traced_producer_socket_202404 (traced_producer_socket))
+(typeattributeset traced_tmpfs_202404 (traced_tmpfs))
+(typeattributeset traceur_app_202404 (traceur_app))
+(typeattributeset translation_service_202404 (translation_service))
+(typeattributeset trust_service_202404 (trust_service))
+(typeattributeset tty_device_202404 (tty_device))
+(typeattributeset tun_device_202404 (tun_device))
+(typeattributeset tuner_config_prop_202404 (tuner_config_prop))
+(typeattributeset tv_ad_service_202404 (tv_ad_service))
+(typeattributeset tv_iapp_service_202404 (tv_iapp_service))
+(typeattributeset tv_input_service_202404 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_202404 (tv_tuner_resource_mgr_service))
+(typeattributeset ublk_block_device_202404 (ublk_block_device))
+(typeattributeset ublk_control_device_202404 (ublk_control_device))
+(typeattributeset ueventd_202404 (ueventd))
+(typeattributeset ueventd_tmpfs_202404 (ueventd_tmpfs))
+(typeattributeset uhid_device_202404 (uhid_device))
+(typeattributeset uimode_service_202404 (uimode_service))
+(typeattributeset uio_device_202404 (uio_device))
+(typeattributeset uncrypt_202404 (uncrypt))
+(typeattributeset uncrypt_exec_202404 (uncrypt_exec))
+(typeattributeset uncrypt_socket_202404 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_202404 (unencrypted_data_file))
+(typeattributeset unlabeled_202404 (unlabeled))
+(typeattributeset untrusted_app_202404 (untrusted_app))
+(typeattributeset untrusted_app_25_202404 (untrusted_app_25))
+(typeattributeset untrusted_app_27_202404 (untrusted_app_27))
+(typeattributeset untrusted_app_29_202404 (untrusted_app_29))
+(typeattributeset untrusted_app_30_202404 (untrusted_app_30))
+(typeattributeset untrusted_app_32_202404 (untrusted_app_32))
+(typeattributeset update_engine_202404 (update_engine))
+(typeattributeset update_engine_data_file_202404 (update_engine_data_file))
+(typeattributeset update_engine_exec_202404 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_202404 (update_engine_log_data_file))
+(typeattributeset update_engine_service_202404 (update_engine_service))
+(typeattributeset update_engine_stable_service_202404 (update_engine_stable_service))
+(typeattributeset update_verifier_202404 (update_verifier))
+(typeattributeset update_verifier_exec_202404 (update_verifier_exec))
+(typeattributeset updatelock_service_202404 (updatelock_service))
+(typeattributeset uri_grants_service_202404 (uri_grants_service))
+(typeattributeset usagestats_service_202404 (usagestats_service))
+(typeattributeset usb_config_prop_202404 (usb_config_prop))
+(typeattributeset usb_control_prop_202404 (usb_control_prop))
+(typeattributeset usb_device_202404 (usb_device))
+(typeattributeset usb_prop_202404 (usb_prop))
+(typeattributeset usb_serial_device_202404 (usb_serial_device))
+(typeattributeset usb_service_202404 (usb_service))
+(typeattributeset usb_uvc_enabled_prop_202404 (usb_uvc_enabled_prop))
+(typeattributeset usbaccessory_device_202404 (usbaccessory_device))
+(typeattributeset usbd_202404 (usbd))
+(typeattributeset usbd_exec_202404 (usbd_exec))
+(typeattributeset usbfs_202404 (usbfs))
+(typeattributeset use_memfd_prop_202404 (use_memfd_prop))
+(typeattributeset user_profile_data_file_202404 (user_profile_data_file))
+(typeattributeset user_profile_root_file_202404 (user_profile_root_file))
+(typeattributeset user_service_202404 (user_service))
+(typeattributeset userdata_block_device_202404 (userdata_block_device))
+(typeattributeset userdata_sysdev_202404 (userdata_sysdev))
+(typeattributeset userdebug_or_eng_prop_202404 (userdebug_or_eng_prop))
+(typeattributeset usermodehelper_202404 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_202404 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_202404 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_metadata_file_202404 (userspace_reboot_metadata_file))
+(typeattributeset uwb_service_202404 (uwb_service))
+(typeattributeset vcn_management_service_202404 (vcn_management_service))
+(typeattributeset vd_device_202404 (vd_device))
+(typeattributeset vdc_202404 (vdc))
+(typeattributeset vdc_exec_202404 (vdc_exec))
+(typeattributeset vehicle_hal_prop_202404 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_202404 (vendor_apex_file))
+(typeattributeset vendor_apex_metadata_file_202404 (vendor_apex_metadata_file))
+(typeattributeset vendor_app_file_202404 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_202404 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_202404 (vendor_configs_file))
+(typeattributeset vendor_data_file_202404 (vendor_data_file))
+(typeattributeset vendor_default_prop_202404 (vendor_default_prop))
+(typeattributeset vendor_file_202404 (vendor_file vendor_boot_ota_file))
+(typeattributeset vendor_framework_file_202404 (vendor_framework_file))
+(typeattributeset vendor_hal_file_202404 (vendor_hal_file))
+(typeattributeset vendor_idc_file_202404 (vendor_idc_file))
+(typeattributeset vendor_init_202404 (vendor_init))
+(typeattributeset vendor_kernel_modules_202404 (vendor_kernel_modules))
+(typeattributeset vendor_keychars_file_202404 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_202404 (vendor_keylayout_file))
+(typeattributeset vendor_microdroid_file_202404 (vendor_microdroid_file))
+(typeattributeset vendor_misc_writer_202404 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_202404 (vendor_misc_writer_exec))
+(typeattributeset vendor_modprobe_202404 (vendor_modprobe))
+(typeattributeset vendor_overlay_file_202404 (vendor_overlay_file))
+(typeattributeset vendor_public_framework_file_202404 (vendor_public_framework_file))
+(typeattributeset vendor_public_lib_file_202404 (vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_202404 (vendor_security_patch_level_prop))
+(typeattributeset vendor_service_contexts_file_202404 (vendor_service_contexts_file))
+(typeattributeset vendor_shell_202404 (vendor_shell))
+(typeattributeset vendor_shell_exec_202404 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_202404 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_202404 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_202404 (vendor_toolbox_exec))
+(typeattributeset vendor_userdir_file_202404 (vendor_userdir_file))
+(typeattributeset vendor_uuid_mapping_config_file_202404 (vendor_uuid_mapping_config_file))
+(typeattributeset vendor_vm_data_file_202404 (vendor_vm_data_file))
+(typeattributeset vendor_vm_file_202404 (vendor_vm_file))
+(typeattributeset vfat_202404 (vfat))
+(typeattributeset vfio_device_202404 (vfio_device))
+(typeattributeset vibrator_manager_service_202404 (vibrator_manager_service))
+(typeattributeset vibrator_service_202404 (vibrator_service))
+(typeattributeset video_device_202404 (video_device))
+(typeattributeset virtual_ab_prop_202404 (virtual_ab_prop))
+(typeattributeset virtual_camera_service_202404 (virtual_camera_service))
+(typeattributeset virtual_device_native_service_202404 (virtual_device_native_service))
+(typeattributeset virtual_device_service_202404 (virtual_device_service))
+(typeattributeset virtual_face_hal_prop_202404 (virtual_face_hal_prop virtual_face_prop))
+(typeattributeset virtual_fingerprint_hal_prop_202404 (virtual_fingerprint_hal_prop virtual_fingerprint_prop))
+(typeattributeset virtual_touchpad_202404 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_202404 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_202404 (virtual_touchpad_service))
+(typeattributeset virtualization_service_202404 (virtualization_service))
+(typeattributeset vndbinder_device_202404 (vndbinder_device))
+(typeattributeset vndk_prop_202404 (vndk_prop))
+(typeattributeset vndk_sp_file_202404 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_202404 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_202404 (vndservicemanager))
+(typeattributeset voiceinteraction_service_202404 (voiceinteraction_service))
+(typeattributeset vold_202404 (vold))
+(typeattributeset vold_config_prop_202404 (vold_config_prop))
+(typeattributeset vold_data_file_202404 (vold_data_file))
+(typeattributeset vold_device_202404 (vold_device))
+(typeattributeset vold_exec_202404 (vold_exec))
+(typeattributeset vold_metadata_file_202404 (vold_metadata_file))
+(typeattributeset vold_post_fs_data_prop_202404 (vold_post_fs_data_prop))
+(typeattributeset vold_prepare_subdirs_202404 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_202404 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_202404 (vold_prop))
+(typeattributeset vold_service_202404 (vold_service))
+(typeattributeset vold_status_prop_202404 (vold_status_prop))
+(typeattributeset vpn_data_file_202404 (vpn_data_file))
+(typeattributeset vpn_management_service_202404 (vpn_management_service))
+(typeattributeset vr_hwc_service_202404 (vr_hwc_service))
+(typeattributeset vr_manager_service_202404 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_202404 (vrflinger_vsync_service))
+(typeattributeset vts_config_prop_202404 (vts_config_prop))
+(typeattributeset vts_status_prop_202404 (vts_status_prop))
+(typeattributeset wallpaper_effects_generation_service_202404 (wallpaper_effects_generation_service))
+(typeattributeset wallpaper_file_202404 (wallpaper_file))
+(typeattributeset wallpaper_service_202404 (wallpaper_service))
+(typeattributeset watchdog_device_202404 (watchdog_device))
+(typeattributeset watchdog_metadata_file_202404 (watchdog_metadata_file))
+(typeattributeset watchdogd_202404 (watchdogd))
+(typeattributeset watchdogd_exec_202404 (watchdogd_exec))
+(typeattributeset webview_zygote_202404 (webview_zygote))
+(typeattributeset webview_zygote_exec_202404 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_202404 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_202404 (webviewupdate_service))
+(typeattributeset wifi_config_prop_202404 (wifi_config_prop))
+(typeattributeset wifi_data_file_202404 (wifi_data_file))
+(typeattributeset wifi_hal_prop_202404 (wifi_hal_prop))
+(typeattributeset wifi_key_202404 (wifi_key))
+(typeattributeset wifi_log_prop_202404 (wifi_log_prop))
+(typeattributeset wifi_prop_202404 (wifi_prop))
+(typeattributeset wifi_service_202404 (wifi_service))
+(typeattributeset wifiaware_service_202404 (wifiaware_service))
+(typeattributeset wificond_202404 (wificond))
+(typeattributeset wificond_exec_202404 (wificond_exec))
+(typeattributeset wifinl80211_service_202404 (wifinl80211_service))
+(typeattributeset wifip2p_service_202404 (wifip2p_service))
+(typeattributeset wifiscanner_service_202404 (wifiscanner_service))
+(typeattributeset window_service_202404 (window_service))
+(typeattributeset wpa_socket_202404 (wpa_socket))
+(typeattributeset zero_device_202404 (zero_device))
+(typeattributeset zoned_block_device_202404 (zoned_block_device))
+(typeattributeset zram_config_prop_202404 (zram_config_prop))
+(typeattributeset zram_control_prop_202404 (zram_control_prop))
+(typeattributeset zygote_202404 (zygote))
+(typeattributeset zygote_config_prop_202404 (zygote_config_prop))
+(typeattributeset zygote_exec_202404 (zygote_exec))
+(typeattributeset zygote_socket_202404 (zygote_socket))
+(typeattributeset zygote_tmpfs_202404 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/202404/202404.compat.cil b/prebuilts/api/202504/private/compat/202404/202404.compat.cil
new file mode 100644
index 0000000..e155b28
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/202404/202404.compat.cil
@@ -0,0 +1,3 @@
+;; complement CIL file for compatibility between ToT policy and 202404 vendors.
+;; will be compiled along with other normal policy files, on 202404 vendors.
+;;
diff --git a/prebuilts/api/202504/private/compat/202404/202404.ignore.cil b/prebuilts/api/202504/private/compat/202404/202404.ignore.cil
new file mode 100644
index 0000000..224c49b
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/202404/202404.ignore.cil
@@ -0,0 +1,43 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 202404 policy.  Thus, we do not need to map these types to
+;;   previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    app_function_service
+    binderfs_logs_transaction_history
+    binderfs_logs_transactions
+    bluetooth_finder_prop
+    crosvm
+    drm_config_prop
+    early_virtmgr
+    early_virtmgr_exec
+    enable_16k_pages_prop
+    forensic_service
+    fstype_prop
+    fwk_vold_service
+    hal_mediaquality_service
+    hal_vm_capabilities_service
+    intrusion_detection_service
+    media_quality_service
+    proc_cgroups
+    proc_compaction_proactiveness
+    profcollectd_etr_prop
+    ranging_service
+    supervision_service
+    sysfs_cma
+    sysfs_firmware_acpi_tables
+    tee_service_contexts_file
+    trusty_security_vm_sys_vendor_prop
+    virtual_camera
+    virtual_camera_exec
+    virtual_face
+    virtual_face_exec
+    virtual_fingerprint
+    virtual_fingerprint_exec
+    virtualizationmanager
+    virtualizationmanager_exec
+    wifi_mainline_supplicant_service
+    wifi_usd_service
+  ))
diff --git a/prebuilts/api/202504/private/compat/29.0/29.0.cil b/prebuilts/api/202504/private/compat/29.0/29.0.cil
new file mode 100644
index 0000000..408cf33
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/29.0/29.0.cil
@@ -0,0 +1,1987 @@
+;; types removed from current policy
+(type ashmemd)
+(type clatd_exec)
+(type clatd)
+(type exported_audio_prop)
+(type exported_dalvik_prop)
+(type exported_vold_prop)
+(type exported2_config_prop)
+(type exported2_vold_prop)
+(type hal_wifi_offload_hwservice)
+(type install_recovery_exec)
+(type install_recovery)
+(type mediacodec_service)
+(type perfprofd_data_file)
+(type perfprofd_service)
+(type sysfs_mac_address)
+(type wificond_service)
+
+;; mapping information from ToT policy's types to 29.0 policy's types.
+(expandtypeattribute (accessibility_service_29_0) true)
+(expandtypeattribute (account_service_29_0) true)
+(expandtypeattribute (activity_service_29_0) true)
+(expandtypeattribute (activity_task_service_29_0) true)
+(expandtypeattribute (adbd_29_0) true)
+(expandtypeattribute (adb_data_file_29_0) true)
+(expandtypeattribute (adbd_exec_29_0) true)
+(expandtypeattribute (adbd_socket_29_0) true)
+(expandtypeattribute (adb_keys_file_29_0) true)
+(expandtypeattribute (adb_service_29_0) true)
+(expandtypeattribute (alarm_service_29_0) true)
+(expandtypeattribute (anr_data_file_29_0) true)
+(expandtypeattribute (apexd_29_0) true)
+(expandtypeattribute (apex_data_file_29_0) true)
+(expandtypeattribute (apexd_exec_29_0) true)
+(expandtypeattribute (apexd_prop_29_0) true)
+(expandtypeattribute (apex_metadata_file_29_0) true)
+(expandtypeattribute (apex_mnt_dir_29_0) true)
+(expandtypeattribute (apex_service_29_0) true)
+(expandtypeattribute (apk_data_file_29_0) true)
+(expandtypeattribute (apk_private_data_file_29_0) true)
+(expandtypeattribute (apk_private_tmp_file_29_0) true)
+(expandtypeattribute (apk_tmp_file_29_0) true)
+(expandtypeattribute (app_binding_service_29_0) true)
+(expandtypeattribute (app_data_file_29_0) true)
+(expandtypeattribute (appdomain_tmpfs_29_0) true)
+(expandtypeattribute (app_fuse_file_29_0) true)
+(expandtypeattribute (app_fusefs_29_0) true)
+(expandtypeattribute (appops_service_29_0) true)
+(expandtypeattribute (app_prediction_service_29_0) true)
+(expandtypeattribute (appwidget_service_29_0) true)
+(expandtypeattribute (app_zygote_29_0) true)
+(expandtypeattribute (app_zygote_tmpfs_29_0) true)
+(expandtypeattribute (asec_apk_file_29_0) true)
+(expandtypeattribute (asec_image_file_29_0) true)
+(expandtypeattribute (asec_public_file_29_0) true)
+(expandtypeattribute (ashmemd_29_0) true)
+(expandtypeattribute (ashmem_device_29_0) true)
+(expandtypeattribute (assetatlas_service_29_0) true)
+(expandtypeattribute (audio_data_file_29_0) true)
+(expandtypeattribute (audio_device_29_0) true)
+(expandtypeattribute (audiohal_data_file_29_0) true)
+(expandtypeattribute (audio_prop_29_0) true)
+(expandtypeattribute (audioserver_29_0) true)
+(expandtypeattribute (audioserver_data_file_29_0) true)
+(expandtypeattribute (audioserver_service_29_0) true)
+(expandtypeattribute (audioserver_tmpfs_29_0) true)
+(expandtypeattribute (audio_service_29_0) true)
+(expandtypeattribute (autofill_service_29_0) true)
+(expandtypeattribute (backup_data_file_29_0) true)
+(expandtypeattribute (backup_service_29_0) true)
+(expandtypeattribute (batteryproperties_service_29_0) true)
+(expandtypeattribute (battery_service_29_0) true)
+(expandtypeattribute (batterystats_service_29_0) true)
+(expandtypeattribute (binder_calls_stats_service_29_0) true)
+(expandtypeattribute (binder_device_29_0) true)
+(expandtypeattribute (binfmt_miscfs_29_0) true)
+(expandtypeattribute (biometric_service_29_0) true)
+(expandtypeattribute (blkid_29_0) true)
+(expandtypeattribute (blkid_untrusted_29_0) true)
+(expandtypeattribute (block_device_29_0) true)
+(expandtypeattribute (bluetooth_29_0) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_29_0) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_29_0) true)
+(expandtypeattribute (bluetooth_data_file_29_0) true)
+(expandtypeattribute (bluetooth_efs_file_29_0) true)
+(expandtypeattribute (bluetooth_logs_data_file_29_0) true)
+(expandtypeattribute (bluetooth_manager_service_29_0) true)
+(expandtypeattribute (bluetooth_prop_29_0) true)
+(expandtypeattribute (bluetooth_service_29_0) true)
+(expandtypeattribute (bluetooth_socket_29_0) true)
+(expandtypeattribute (bootanim_29_0) true)
+(expandtypeattribute (bootanim_exec_29_0) true)
+(expandtypeattribute (boot_block_device_29_0) true)
+(expandtypeattribute (bootchart_data_file_29_0) true)
+(expandtypeattribute (bootloader_boot_reason_prop_29_0) true)
+(expandtypeattribute (bootstat_29_0) true)
+(expandtypeattribute (bootstat_data_file_29_0) true)
+(expandtypeattribute (bootstat_exec_29_0) true)
+(expandtypeattribute (boottime_prop_29_0) true)
+(expandtypeattribute (boottrace_data_file_29_0) true)
+(expandtypeattribute (bpf_progs_loaded_prop_29_0) true)
+(expandtypeattribute (broadcastradio_service_29_0) true)
+(expandtypeattribute (bufferhubd_29_0) true)
+(expandtypeattribute (bufferhubd_exec_29_0) true)
+(expandtypeattribute (bugreport_service_29_0) true)
+(expandtypeattribute (cache_backup_file_29_0) true)
+(expandtypeattribute (cache_block_device_29_0) true)
+(expandtypeattribute (cache_file_29_0) true)
+(expandtypeattribute (cache_private_backup_file_29_0) true)
+(expandtypeattribute (cache_recovery_file_29_0) true)
+(expandtypeattribute (camera_data_file_29_0) true)
+(expandtypeattribute (camera_device_29_0) true)
+(expandtypeattribute (cameraproxy_service_29_0) true)
+(expandtypeattribute (cameraserver_29_0) true)
+(expandtypeattribute (cameraserver_exec_29_0) true)
+(expandtypeattribute (cameraserver_service_29_0) true)
+(expandtypeattribute (cameraserver_tmpfs_29_0) true)
+(expandtypeattribute (cgroup_29_0) true)
+(expandtypeattribute (cgroup_bpf_29_0) true)
+(expandtypeattribute (cgroup_desc_file_29_0) true)
+(expandtypeattribute (cgroup_rc_file_29_0) true)
+(expandtypeattribute (charger_29_0) true)
+(expandtypeattribute (charger_exec_29_0) true)
+(expandtypeattribute (clatd_29_0) true)
+(expandtypeattribute (clatd_exec_29_0) true)
+(expandtypeattribute (clipboard_service_29_0) true)
+(expandtypeattribute (color_display_service_29_0) true)
+(expandtypeattribute (companion_device_service_29_0) true)
+(expandtypeattribute (configfs_29_0) true)
+(expandtypeattribute (config_prop_29_0) true)
+(expandtypeattribute (connectivity_service_29_0) true)
+(expandtypeattribute (connmetrics_service_29_0) true)
+(expandtypeattribute (console_device_29_0) true)
+(expandtypeattribute (consumer_ir_service_29_0) true)
+(expandtypeattribute (content_capture_service_29_0) true)
+(expandtypeattribute (content_service_29_0) true)
+(expandtypeattribute (content_suggestions_service_29_0) true)
+(expandtypeattribute (contexthub_service_29_0) true)
+(expandtypeattribute (coredump_file_29_0) true)
+(expandtypeattribute (country_detector_service_29_0) true)
+(expandtypeattribute (coverage_service_29_0) true)
+(expandtypeattribute (cppreopt_prop_29_0) true)
+(expandtypeattribute (cpuinfo_service_29_0) true)
+(expandtypeattribute (cpu_variant_prop_29_0) true)
+(expandtypeattribute (crash_dump_29_0) true)
+(expandtypeattribute (crash_dump_exec_29_0) true)
+(expandtypeattribute (crossprofileapps_service_29_0) true)
+(expandtypeattribute (ctl_adbd_prop_29_0) true)
+(expandtypeattribute (ctl_bootanim_prop_29_0) true)
+(expandtypeattribute (ctl_bugreport_prop_29_0) true)
+(expandtypeattribute (ctl_console_prop_29_0) true)
+(expandtypeattribute (ctl_default_prop_29_0) true)
+(expandtypeattribute (ctl_dumpstate_prop_29_0) true)
+(expandtypeattribute (ctl_fuse_prop_29_0) true)
+(expandtypeattribute (ctl_gsid_prop_29_0) true)
+(expandtypeattribute (ctl_interface_restart_prop_29_0) true)
+(expandtypeattribute (ctl_interface_start_prop_29_0) true)
+(expandtypeattribute (ctl_interface_stop_prop_29_0) true)
+(expandtypeattribute (ctl_mdnsd_prop_29_0) true)
+(expandtypeattribute (ctl_restart_prop_29_0) true)
+(expandtypeattribute (ctl_rildaemon_prop_29_0) true)
+(expandtypeattribute (ctl_sigstop_prop_29_0) true)
+(expandtypeattribute (ctl_start_prop_29_0) true)
+(expandtypeattribute (ctl_stop_prop_29_0) true)
+(expandtypeattribute (dalvikcache_data_file_29_0) true)
+(expandtypeattribute (dalvik_prop_29_0) true)
+(expandtypeattribute (dbinfo_service_29_0) true)
+(expandtypeattribute (debugfs_29_0) true)
+(expandtypeattribute (debugfs_mmc_29_0) true)
+(expandtypeattribute (debugfs_trace_marker_29_0) true)
+(expandtypeattribute (debugfs_tracing_29_0) true)
+(expandtypeattribute (debugfs_tracing_debug_29_0) true)
+(expandtypeattribute (debugfs_tracing_instances_29_0) true)
+(expandtypeattribute (debugfs_wakeup_sources_29_0) true)
+(expandtypeattribute (debugfs_wifi_tracing_29_0) true)
+(expandtypeattribute (debuggerd_prop_29_0) true)
+(expandtypeattribute (debug_prop_29_0) true)
+(expandtypeattribute (default_android_hwservice_29_0) true)
+(expandtypeattribute (default_android_service_29_0) true)
+(expandtypeattribute (default_android_vndservice_29_0) true)
+(expandtypeattribute (default_prop_29_0) true)
+(expandtypeattribute (dev_cpu_variant_29_0) true)
+(expandtypeattribute (device_29_0) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_29_0) true)
+(expandtypeattribute (device_config_boot_count_prop_29_0) true)
+(expandtypeattribute (device_config_input_native_boot_prop_29_0) true)
+(expandtypeattribute (device_config_media_native_prop_29_0) true)
+(expandtypeattribute (device_config_netd_native_prop_29_0) true)
+(expandtypeattribute (device_config_reset_performed_prop_29_0) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_29_0) true)
+(expandtypeattribute (device_config_runtime_native_prop_29_0) true)
+(expandtypeattribute (device_config_service_29_0) true)
+(expandtypeattribute (device_identifiers_service_29_0) true)
+(expandtypeattribute (deviceidle_service_29_0) true)
+(expandtypeattribute (device_logging_prop_29_0) true)
+(expandtypeattribute (device_policy_service_29_0) true)
+(expandtypeattribute (devicestoragemonitor_service_29_0) true)
+(expandtypeattribute (devpts_29_0) true)
+(expandtypeattribute (dhcp_29_0) true)
+(expandtypeattribute (dhcp_data_file_29_0) true)
+(expandtypeattribute (dhcp_exec_29_0) true)
+(expandtypeattribute (dhcp_prop_29_0) true)
+(expandtypeattribute (diskstats_service_29_0) true)
+(expandtypeattribute (display_service_29_0) true)
+(expandtypeattribute (dm_device_29_0) true)
+(expandtypeattribute (dnsmasq_29_0) true)
+(expandtypeattribute (dnsmasq_exec_29_0) true)
+(expandtypeattribute (dnsproxyd_socket_29_0) true)
+(expandtypeattribute (dnsresolver_service_29_0) true)
+(expandtypeattribute (DockObserver_service_29_0) true)
+(expandtypeattribute (dreams_service_29_0) true)
+(expandtypeattribute (drm_data_file_29_0) true)
+(expandtypeattribute (drmserver_29_0) true)
+(expandtypeattribute (drmserver_exec_29_0) true)
+(expandtypeattribute (drmserver_service_29_0) true)
+(expandtypeattribute (drmserver_socket_29_0) true)
+(expandtypeattribute (dropbox_data_file_29_0) true)
+(expandtypeattribute (dropbox_service_29_0) true)
+(expandtypeattribute (dumpstate_29_0) true)
+(expandtypeattribute (dumpstate_exec_29_0) true)
+(expandtypeattribute (dumpstate_options_prop_29_0) true)
+(expandtypeattribute (dumpstate_prop_29_0) true)
+(expandtypeattribute (dumpstate_service_29_0) true)
+(expandtypeattribute (dumpstate_socket_29_0) true)
+(expandtypeattribute (dynamic_system_prop_29_0) true)
+(expandtypeattribute (e2fs_29_0) true)
+(expandtypeattribute (e2fs_exec_29_0) true)
+(expandtypeattribute (efs_file_29_0) true)
+(expandtypeattribute (ephemeral_app_29_0) true)
+(expandtypeattribute (ethernet_service_29_0) true)
+(expandtypeattribute (exfat_29_0) true)
+(expandtypeattribute (exported2_config_prop_29_0) true)
+(expandtypeattribute (exported2_default_prop_29_0) true)
+(expandtypeattribute (exported2_radio_prop_29_0) true)
+(expandtypeattribute (exported2_system_prop_29_0) true)
+(expandtypeattribute (exported2_vold_prop_29_0) true)
+(expandtypeattribute (exported3_default_prop_29_0) true)
+(expandtypeattribute (exported3_radio_prop_29_0) true)
+(expandtypeattribute (exported3_system_prop_29_0) true)
+(expandtypeattribute (exported_audio_prop_29_0) true)
+(expandtypeattribute (exported_bluetooth_prop_29_0) true)
+(expandtypeattribute (exported_config_prop_29_0) true)
+(expandtypeattribute (exported_dalvik_prop_29_0) true)
+(expandtypeattribute (exported_default_prop_29_0) true)
+(expandtypeattribute (exported_dumpstate_prop_29_0) true)
+(expandtypeattribute (exported_ffs_prop_29_0) true)
+(expandtypeattribute (exported_fingerprint_prop_29_0) true)
+(expandtypeattribute (exported_overlay_prop_29_0) true)
+(expandtypeattribute (exported_pm_prop_29_0) true)
+(expandtypeattribute (exported_radio_prop_29_0) true)
+(expandtypeattribute (exported_secure_prop_29_0) true)
+(expandtypeattribute (exported_system_prop_29_0) true)
+(expandtypeattribute (exported_system_radio_prop_29_0) true)
+(expandtypeattribute (exported_vold_prop_29_0) true)
+(expandtypeattribute (exported_wifi_prop_29_0) true)
+(expandtypeattribute (external_vibrator_service_29_0) true)
+(expandtypeattribute (face_service_29_0) true)
+(expandtypeattribute (face_vendor_data_file_29_0) true)
+(expandtypeattribute (fastbootd_29_0) true)
+(expandtypeattribute (ffs_prop_29_0) true)
+(expandtypeattribute (file_contexts_file_29_0) true)
+(expandtypeattribute (fingerprintd_29_0) true)
+(expandtypeattribute (fingerprintd_data_file_29_0) true)
+(expandtypeattribute (fingerprintd_exec_29_0) true)
+(expandtypeattribute (fingerprintd_service_29_0) true)
+(expandtypeattribute (fingerprint_prop_29_0) true)
+(expandtypeattribute (fingerprint_service_29_0) true)
+(expandtypeattribute (fingerprint_vendor_data_file_29_0) true)
+(expandtypeattribute (firstboot_prop_29_0) true)
+(expandtypeattribute (flags_health_check_29_0) true)
+(expandtypeattribute (flags_health_check_exec_29_0) true)
+(expandtypeattribute (font_service_29_0) true)
+(expandtypeattribute (frp_block_device_29_0) true)
+(expandtypeattribute (fs_bpf_29_0) true)
+(expandtypeattribute (fsck_29_0) true)
+(expandtypeattribute (fsck_exec_29_0) true)
+(expandtypeattribute (fscklogs_29_0) true)
+(expandtypeattribute (fsck_untrusted_29_0) true)
+(expandtypeattribute (functionfs_29_0) true)
+(expandtypeattribute (fuse_29_0) true)
+(expandtypeattribute (fuse_device_29_0) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_29_0) true)
+(expandtypeattribute (fwk_camera_hwservice_29_0) true)
+(expandtypeattribute (fwk_display_hwservice_29_0) true)
+(expandtypeattribute (fwk_scheduler_hwservice_29_0) true)
+(expandtypeattribute (fwk_sensor_hwservice_29_0) true)
+(expandtypeattribute (fwk_stats_hwservice_29_0) true)
+(expandtypeattribute (fwmarkd_socket_29_0) true)
+(expandtypeattribute (gatekeeperd_29_0) true)
+(expandtypeattribute (gatekeeper_data_file_29_0) true)
+(expandtypeattribute (gatekeeperd_exec_29_0) true)
+(expandtypeattribute (gatekeeper_service_29_0) true)
+(expandtypeattribute (gfxinfo_service_29_0) true)
+(expandtypeattribute (gps_control_29_0) true)
+(expandtypeattribute (gpu_device_29_0) true)
+(expandtypeattribute (gpu_service_29_0) true)
+(expandtypeattribute (gpuservice_29_0) true)
+(expandtypeattribute (graphics_device_29_0) true)
+(expandtypeattribute (graphicsstats_service_29_0) true)
+(expandtypeattribute (gsi_data_file_29_0) true)
+(expandtypeattribute (gsid_prop_29_0) true)
+(expandtypeattribute (gsi_metadata_file_29_0) true)
+(expandtypeattribute (hal_atrace_hwservice_29_0) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_29_0) true)
+(expandtypeattribute (hal_audio_hwservice_29_0) true)
+(expandtypeattribute (hal_authsecret_hwservice_29_0) true)
+(expandtypeattribute (hal_bluetooth_hwservice_29_0) true)
+(expandtypeattribute (hal_bootctl_hwservice_29_0) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_29_0) true)
+(expandtypeattribute (hal_camera_hwservice_29_0) true)
+(expandtypeattribute (hal_cas_hwservice_29_0) true)
+(expandtypeattribute (hal_codec2_hwservice_29_0) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_29_0) true)
+(expandtypeattribute (hal_confirmationui_hwservice_29_0) true)
+(expandtypeattribute (hal_contexthub_hwservice_29_0) true)
+(expandtypeattribute (hal_drm_hwservice_29_0) true)
+(expandtypeattribute (hal_dumpstate_hwservice_29_0) true)
+(expandtypeattribute (hal_evs_hwservice_29_0) true)
+(expandtypeattribute (hal_face_hwservice_29_0) true)
+(expandtypeattribute (hal_fingerprint_hwservice_29_0) true)
+(expandtypeattribute (hal_fingerprint_service_29_0) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_29_0) true)
+(expandtypeattribute (hal_gnss_hwservice_29_0) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_29_0) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_29_0) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_29_0) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_29_0) true)
+(expandtypeattribute (hal_health_hwservice_29_0) true)
+(expandtypeattribute (hal_health_storage_hwservice_29_0) true)
+(expandtypeattribute (hal_input_classifier_hwservice_29_0) true)
+(expandtypeattribute (hal_ir_hwservice_29_0) true)
+(expandtypeattribute (hal_keymaster_hwservice_29_0) true)
+(expandtypeattribute (hal_light_hwservice_29_0) true)
+(expandtypeattribute (hal_lowpan_hwservice_29_0) true)
+(expandtypeattribute (hal_memtrack_hwservice_29_0) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_29_0) true)
+(expandtypeattribute (hal_nfc_hwservice_29_0) true)
+(expandtypeattribute (hal_oemlock_hwservice_29_0) true)
+(expandtypeattribute (hal_omx_hwservice_29_0) true)
+(expandtypeattribute (hal_power_hwservice_29_0) true)
+(expandtypeattribute (hal_power_stats_hwservice_29_0) true)
+(expandtypeattribute (hal_renderscript_hwservice_29_0) true)
+(expandtypeattribute (hal_secure_element_hwservice_29_0) true)
+(expandtypeattribute (hal_sensors_hwservice_29_0) true)
+(expandtypeattribute (hal_telephony_hwservice_29_0) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_29_0) true)
+(expandtypeattribute (hal_thermal_hwservice_29_0) true)
+(expandtypeattribute (hal_tv_cec_hwservice_29_0) true)
+(expandtypeattribute (hal_tv_input_hwservice_29_0) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_29_0) true)
+(expandtypeattribute (hal_usb_hwservice_29_0) true)
+(expandtypeattribute (hal_vehicle_hwservice_29_0) true)
+(expandtypeattribute (hal_vibrator_hwservice_29_0) true)
+(expandtypeattribute (hal_vr_hwservice_29_0) true)
+(expandtypeattribute (hal_weaver_hwservice_29_0) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_29_0) true)
+(expandtypeattribute (hal_wifi_hwservice_29_0) true)
+(expandtypeattribute (hal_wifi_offload_hwservice_29_0) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_29_0) true)
+(expandtypeattribute (hardware_properties_service_29_0) true)
+(expandtypeattribute (hardware_service_29_0) true)
+(expandtypeattribute (hci_attach_dev_29_0) true)
+(expandtypeattribute (hdmi_control_service_29_0) true)
+(expandtypeattribute (healthd_29_0) true)
+(expandtypeattribute (healthd_exec_29_0) true)
+(expandtypeattribute (heapdump_data_file_29_0) true)
+(expandtypeattribute (heapprofd_29_0) true)
+(expandtypeattribute (heapprofd_enabled_prop_29_0) true)
+(expandtypeattribute (heapprofd_prop_29_0) true)
+(expandtypeattribute (heapprofd_socket_29_0) true)
+(expandtypeattribute (hidl_allocator_hwservice_29_0) true)
+(expandtypeattribute (hidl_base_hwservice_29_0) true)
+(expandtypeattribute (hidl_manager_hwservice_29_0) true)
+(expandtypeattribute (hidl_memory_hwservice_29_0) true)
+(expandtypeattribute (hidl_token_hwservice_29_0) true)
+(expandtypeattribute (hwbinder_device_29_0) true)
+(expandtypeattribute (hw_random_device_29_0) true)
+(expandtypeattribute (hwservice_contexts_file_29_0) true)
+(expandtypeattribute (hwservicemanager_29_0) true)
+(expandtypeattribute (hwservicemanager_exec_29_0) true)
+(expandtypeattribute (hwservicemanager_prop_29_0) true)
+(expandtypeattribute (icon_file_29_0) true)
+(expandtypeattribute (idmap_29_0) true)
+(expandtypeattribute (idmap_exec_29_0) true)
+(expandtypeattribute (idmap_service_29_0) true)
+(expandtypeattribute (iio_device_29_0) true)
+(expandtypeattribute (imms_service_29_0) true)
+(expandtypeattribute (incident_29_0) true)
+(expandtypeattribute (incidentd_29_0) true)
+(expandtypeattribute (incident_data_file_29_0) true)
+(expandtypeattribute (incident_helper_29_0) true)
+(expandtypeattribute (incident_service_29_0) true)
+(expandtypeattribute (init_29_0) true)
+(expandtypeattribute (init_exec_29_0) true)
+(expandtypeattribute (init_tmpfs_29_0) true)
+(expandtypeattribute (inotify_29_0) true)
+(expandtypeattribute (input_device_29_0) true)
+(expandtypeattribute (inputflinger_29_0) true)
+(expandtypeattribute (inputflinger_exec_29_0) true)
+(expandtypeattribute (inputflinger_service_29_0) true)
+(expandtypeattribute (input_method_service_29_0) true)
+(expandtypeattribute (input_service_29_0) true)
+(expandtypeattribute (installd_29_0) true)
+(expandtypeattribute (install_data_file_29_0) true)
+(expandtypeattribute (installd_exec_29_0) true)
+(expandtypeattribute (installd_service_29_0) true)
+(expandtypeattribute (install_recovery_29_0) true)
+(expandtypeattribute (install_recovery_exec_29_0) true)
+(expandtypeattribute (ion_device_29_0) true)
+(expandtypeattribute (iorapd_29_0) true)
+(expandtypeattribute (iorapd_data_file_29_0) true)
+(expandtypeattribute (iorapd_exec_29_0) true)
+(expandtypeattribute (iorapd_service_29_0) true)
+(expandtypeattribute (iorapd_tmpfs_29_0) true)
+(expandtypeattribute (IProxyService_service_29_0) true)
+(expandtypeattribute (ipsec_service_29_0) true)
+(expandtypeattribute (iris_service_29_0) true)
+(expandtypeattribute (iris_vendor_data_file_29_0) true)
+(expandtypeattribute (isolated_app_29_0) true)
+(expandtypeattribute (jobscheduler_service_29_0) true)
+(expandtypeattribute (kernel_29_0) true)
+(expandtypeattribute (keychain_data_file_29_0) true)
+(expandtypeattribute (keychord_device_29_0) true)
+(expandtypeattribute (keystore_29_0) true)
+(expandtypeattribute (keystore_data_file_29_0) true)
+(expandtypeattribute (keystore_exec_29_0) true)
+(expandtypeattribute (keystore_service_29_0) true)
+(expandtypeattribute (kmsg_debug_device_29_0) true)
+(expandtypeattribute (kmsg_device_29_0) true)
+(expandtypeattribute (labeledfs_29_0) true)
+(expandtypeattribute (last_boot_reason_prop_29_0) true)
+(expandtypeattribute (launcherapps_service_29_0) true)
+(expandtypeattribute (llkd_29_0) true)
+(expandtypeattribute (llkd_exec_29_0) true)
+(expandtypeattribute (llkd_prop_29_0) true)
+(expandtypeattribute (lmkd_29_0) true)
+(expandtypeattribute (lmkd_exec_29_0) true)
+(expandtypeattribute (lmkd_socket_29_0) true)
+(expandtypeattribute (location_service_29_0) true)
+(expandtypeattribute (lock_settings_service_29_0) true)
+(expandtypeattribute (logcat_exec_29_0) true)
+(expandtypeattribute (logd_29_0) true)
+(expandtypeattribute (logd_exec_29_0) true)
+(expandtypeattribute (logd_prop_29_0) true)
+(expandtypeattribute (logdr_socket_29_0) true)
+(expandtypeattribute (logd_socket_29_0) true)
+(expandtypeattribute (logdw_socket_29_0) true)
+(expandtypeattribute (logpersist_29_0) true)
+(expandtypeattribute (logpersistd_logging_prop_29_0) true)
+(expandtypeattribute (log_prop_29_0) true)
+(expandtypeattribute (log_tag_prop_29_0) true)
+(expandtypeattribute (loop_control_device_29_0) true)
+(expandtypeattribute (loop_device_29_0) true)
+(expandtypeattribute (looper_stats_service_29_0) true)
+(expandtypeattribute (lowpan_device_29_0) true)
+(expandtypeattribute (lowpan_prop_29_0) true)
+(expandtypeattribute (lowpan_service_29_0) true)
+(expandtypeattribute (lpdumpd_prop_29_0) true)
+(expandtypeattribute (lpdump_service_29_0) true)
+(expandtypeattribute (mac_perms_file_29_0) true)
+(expandtypeattribute (mdnsd_29_0) true)
+(expandtypeattribute (mdnsd_socket_29_0) true)
+(expandtypeattribute (mdns_socket_29_0) true)
+(expandtypeattribute (mediacodec_service_29_0) true)
+(expandtypeattribute (media_data_file_29_0) true)
+(expandtypeattribute (mediadrmserver_29_0) true)
+(expandtypeattribute (mediadrmserver_exec_29_0) true)
+(expandtypeattribute (mediadrmserver_service_29_0) true)
+(expandtypeattribute (mediaextractor_29_0) true)
+(expandtypeattribute (mediaextractor_exec_29_0) true)
+(expandtypeattribute (mediaextractor_service_29_0) true)
+(expandtypeattribute (mediaextractor_tmpfs_29_0) true)
+(expandtypeattribute (mediametrics_29_0) true)
+(expandtypeattribute (mediametrics_exec_29_0) true)
+(expandtypeattribute (mediametrics_service_29_0) true)
+(expandtypeattribute (media_projection_service_29_0) true)
+(expandtypeattribute (mediaprovider_29_0) true)
+(expandtypeattribute (media_router_service_29_0) true)
+(expandtypeattribute (media_rw_data_file_29_0) true)
+(expandtypeattribute (mediaserver_29_0) true)
+(expandtypeattribute (mediaserver_exec_29_0) true)
+(expandtypeattribute (mediaserver_service_29_0) true)
+(expandtypeattribute (mediaserver_tmpfs_29_0) true)
+(expandtypeattribute (media_session_service_29_0) true)
+(expandtypeattribute (mediaswcodec_29_0) true)
+(expandtypeattribute (mediaswcodec_exec_29_0) true)
+(expandtypeattribute (meminfo_service_29_0) true)
+(expandtypeattribute (metadata_block_device_29_0) true)
+(expandtypeattribute (metadata_file_29_0) true)
+(expandtypeattribute (method_trace_data_file_29_0) true)
+(expandtypeattribute (midi_service_29_0) true)
+(expandtypeattribute (misc_block_device_29_0) true)
+(expandtypeattribute (misc_logd_file_29_0) true)
+(expandtypeattribute (misc_user_data_file_29_0) true)
+(expandtypeattribute (mmc_prop_29_0) true)
+(expandtypeattribute (mnt_expand_file_29_0) true)
+(expandtypeattribute (mnt_media_rw_file_29_0) true)
+(expandtypeattribute (mnt_media_rw_stub_file_29_0) true)
+(expandtypeattribute (mnt_product_file_29_0) true)
+(expandtypeattribute (mnt_user_file_29_0) true)
+(expandtypeattribute (mnt_vendor_file_29_0) true)
+(expandtypeattribute (modprobe_29_0) true)
+(expandtypeattribute (mount_service_29_0) true)
+(expandtypeattribute (mqueue_29_0) true)
+(expandtypeattribute (mtp_29_0) true)
+(expandtypeattribute (mtp_device_29_0) true)
+(expandtypeattribute (mtpd_socket_29_0) true)
+(expandtypeattribute (mtp_exec_29_0) true)
+(expandtypeattribute (nativetest_data_file_29_0) true)
+(expandtypeattribute (netd_29_0) true)
+(expandtypeattribute (net_data_file_29_0) true)
+(expandtypeattribute (netd_exec_29_0) true)
+(expandtypeattribute (netd_listener_service_29_0) true)
+(expandtypeattribute (net_dns_prop_29_0) true)
+(expandtypeattribute (netd_service_29_0) true)
+(expandtypeattribute (netd_stable_secret_prop_29_0) true)
+(expandtypeattribute (netif_29_0) true)
+(expandtypeattribute (netpolicy_service_29_0) true)
+(expandtypeattribute (net_radio_prop_29_0) true)
+(expandtypeattribute (netstats_service_29_0) true)
+(expandtypeattribute (netutils_wrapper_29_0) true)
+(expandtypeattribute (netutils_wrapper_exec_29_0) true)
+(expandtypeattribute (network_management_service_29_0) true)
+(expandtypeattribute (network_score_service_29_0) true)
+(expandtypeattribute (network_stack_29_0) true)
+(expandtypeattribute (network_stack_service_29_0) true)
+(expandtypeattribute (network_time_update_service_29_0) true)
+(expandtypeattribute (network_watchlist_data_file_29_0) true)
+(expandtypeattribute (network_watchlist_service_29_0) true)
+(expandtypeattribute (nfc_29_0) true)
+(expandtypeattribute (nfc_data_file_29_0) true)
+(expandtypeattribute (nfc_device_29_0) true)
+(expandtypeattribute (nfc_prop_29_0) true)
+(expandtypeattribute (nfc_service_29_0) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_29_0) true)
+(expandtypeattribute (node_29_0) true)
+(expandtypeattribute (nonplat_service_contexts_file_29_0) true)
+(expandtypeattribute (notification_service_29_0) true)
+(expandtypeattribute (null_device_29_0) true)
+(expandtypeattribute (oemfs_29_0) true)
+(expandtypeattribute (oem_lock_service_29_0) true)
+(expandtypeattribute (ota_data_file_29_0) true)
+(expandtypeattribute (otadexopt_service_29_0) true)
+(expandtypeattribute (ota_package_file_29_0) true)
+(expandtypeattribute (overlayfs_file_29_0) true)
+(expandtypeattribute (overlay_prop_29_0) true)
+(expandtypeattribute (overlay_service_29_0) true)
+(expandtypeattribute (owntty_device_29_0) true)
+(expandtypeattribute (package_native_service_29_0) true)
+(expandtypeattribute (package_service_29_0) true)
+(expandtypeattribute (packages_list_file_29_0) true)
+(expandtypeattribute (pan_result_prop_29_0) true)
+(expandtypeattribute (password_slot_metadata_file_29_0) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_29_0) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_29_0) true)
+(expandtypeattribute (pdx_bufferhub_dir_29_0) true)
+(expandtypeattribute (pdx_display_client_channel_socket_29_0) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_29_0) true)
+(expandtypeattribute (pdx_display_dir_29_0) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_29_0) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_29_0) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_29_0) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_29_0) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_29_0) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_29_0) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_29_0) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_29_0) true)
+(expandtypeattribute (pdx_performance_dir_29_0) true)
+(expandtypeattribute (perfetto_29_0) true)
+(expandtypeattribute (performanced_29_0) true)
+(expandtypeattribute (performanced_exec_29_0) true)
+(expandtypeattribute (permissionmgr_service_29_0) true)
+(expandtypeattribute (permission_service_29_0) true)
+(expandtypeattribute (persist_debug_prop_29_0) true)
+(expandtypeattribute (persistent_data_block_service_29_0) true)
+(expandtypeattribute (persistent_properties_ready_prop_29_0) true)
+(expandtypeattribute (pinner_service_29_0) true)
+(expandtypeattribute (pipefs_29_0) true)
+(expandtypeattribute (platform_app_29_0) true)
+(expandtypeattribute (pm_prop_29_0) true)
+(expandtypeattribute (pmsg_device_29_0) true)
+(expandtypeattribute (port_29_0) true)
+(expandtypeattribute (port_device_29_0) true)
+(expandtypeattribute (postinstall_29_0) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_29_0) true)
+(expandtypeattribute (postinstall_file_29_0) true)
+(expandtypeattribute (postinstall_mnt_dir_29_0) true)
+(expandtypeattribute (powerctl_prop_29_0) true)
+(expandtypeattribute (power_service_29_0) true)
+(expandtypeattribute (ppp_29_0) true)
+(expandtypeattribute (ppp_device_29_0) true)
+(expandtypeattribute (ppp_exec_29_0) true)
+(expandtypeattribute (preloads_data_file_29_0) true)
+(expandtypeattribute (preloads_media_file_29_0) true)
+(expandtypeattribute (print_service_29_0) true)
+(expandtypeattribute (priv_app_29_0) true)
+(expandtypeattribute (privapp_data_file_29_0) true)
+(expandtypeattribute (proc_29_0) true)
+(expandtypeattribute (proc_abi_29_0) true)
+(expandtypeattribute (proc_asound_29_0) true)
+(expandtypeattribute (proc_bluetooth_writable_29_0) true)
+(expandtypeattribute (proc_buddyinfo_29_0) true)
+(expandtypeattribute (proc_cmdline_29_0) true)
+(expandtypeattribute (proc_cpuinfo_29_0) true)
+(expandtypeattribute (proc_dirty_29_0) true)
+(expandtypeattribute (proc_diskstats_29_0) true)
+(expandtypeattribute (proc_drop_caches_29_0) true)
+(expandtypeattribute (processinfo_service_29_0) true)
+(expandtypeattribute (proc_extra_free_kbytes_29_0) true)
+(expandtypeattribute (proc_filesystems_29_0) true)
+(expandtypeattribute (proc_fs_verity_29_0) true)
+(expandtypeattribute (proc_hostname_29_0) true)
+(expandtypeattribute (proc_hung_task_29_0) true)
+(expandtypeattribute (proc_interrupts_29_0) true)
+(expandtypeattribute (proc_iomem_29_0) true)
+(expandtypeattribute (proc_keys_29_0) true)
+(expandtypeattribute (proc_kmsg_29_0) true)
+(expandtypeattribute (proc_loadavg_29_0) true)
+(expandtypeattribute (proc_max_map_count_29_0) true)
+(expandtypeattribute (proc_meminfo_29_0) true)
+(expandtypeattribute (proc_min_free_order_shift_29_0) true)
+(expandtypeattribute (proc_misc_29_0) true)
+(expandtypeattribute (proc_modules_29_0) true)
+(expandtypeattribute (proc_mounts_29_0) true)
+(expandtypeattribute (proc_net_29_0) true)
+(expandtypeattribute (proc_net_tcp_udp_29_0) true)
+(expandtypeattribute (proc_overcommit_memory_29_0) true)
+(expandtypeattribute (proc_page_cluster_29_0) true)
+(expandtypeattribute (proc_pagetypeinfo_29_0) true)
+(expandtypeattribute (proc_panic_29_0) true)
+(expandtypeattribute (proc_perf_29_0) true)
+(expandtypeattribute (proc_pid_max_29_0) true)
+(expandtypeattribute (proc_pipe_conf_29_0) true)
+(expandtypeattribute (proc_pressure_cpu_29_0) true)
+(expandtypeattribute (proc_pressure_io_29_0) true)
+(expandtypeattribute (proc_pressure_mem_29_0) true)
+(expandtypeattribute (proc_qtaguid_ctrl_29_0) true)
+(expandtypeattribute (proc_qtaguid_stat_29_0) true)
+(expandtypeattribute (proc_random_29_0) true)
+(expandtypeattribute (proc_sched_29_0) true)
+(expandtypeattribute (proc_security_29_0) true)
+(expandtypeattribute (proc_slabinfo_29_0) true)
+(expandtypeattribute (proc_stat_29_0) true)
+(expandtypeattribute (procstats_service_29_0) true)
+(expandtypeattribute (proc_swaps_29_0) true)
+(expandtypeattribute (proc_sysrq_29_0) true)
+(expandtypeattribute (proc_timer_29_0) true)
+(expandtypeattribute (proc_tty_drivers_29_0) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_29_0) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_29_0) true)
+(expandtypeattribute (proc_uid_cpupower_29_0) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_29_0) true)
+(expandtypeattribute (proc_uid_cputime_showstat_29_0) true)
+(expandtypeattribute (proc_uid_io_stats_29_0) true)
+(expandtypeattribute (proc_uid_procstat_set_29_0) true)
+(expandtypeattribute (proc_uid_time_in_state_29_0) true)
+(expandtypeattribute (proc_uptime_29_0) true)
+(expandtypeattribute (proc_version_29_0) true)
+(expandtypeattribute (proc_vmallocinfo_29_0) true)
+(expandtypeattribute (proc_vmstat_29_0) true)
+(expandtypeattribute (proc_zoneinfo_29_0) true)
+(expandtypeattribute (profman_29_0) true)
+(expandtypeattribute (profman_dump_data_file_29_0) true)
+(expandtypeattribute (profman_exec_29_0) true)
+(expandtypeattribute (properties_device_29_0) true)
+(expandtypeattribute (properties_serial_29_0) true)
+(expandtypeattribute (property_contexts_file_29_0) true)
+(expandtypeattribute (property_data_file_29_0) true)
+(expandtypeattribute (property_info_29_0) true)
+(expandtypeattribute (property_socket_29_0) true)
+(expandtypeattribute (pstorefs_29_0) true)
+(expandtypeattribute (ptmx_device_29_0) true)
+(expandtypeattribute (qtaguid_device_29_0) true)
+(expandtypeattribute (racoon_29_0) true)
+(expandtypeattribute (racoon_exec_29_0) true)
+(expandtypeattribute (racoon_socket_29_0) true)
+(expandtypeattribute (radio_29_0) true)
+(expandtypeattribute (radio_data_file_29_0) true)
+(expandtypeattribute (radio_device_29_0) true)
+(expandtypeattribute (radio_prop_29_0) true)
+(expandtypeattribute (radio_service_29_0) true)
+(expandtypeattribute (ram_device_29_0) true)
+(expandtypeattribute (random_device_29_0) true)
+(expandtypeattribute (recovery_29_0) true)
+(expandtypeattribute (recovery_block_device_29_0) true)
+(expandtypeattribute (recovery_data_file_29_0) true)
+(expandtypeattribute (recovery_persist_29_0) true)
+(expandtypeattribute (recovery_persist_exec_29_0) true)
+(expandtypeattribute (recovery_refresh_29_0) true)
+(expandtypeattribute (recovery_refresh_exec_29_0) true)
+(expandtypeattribute (recovery_service_29_0) true)
+(expandtypeattribute (recovery_socket_29_0) true)
+(expandtypeattribute (registry_service_29_0) true)
+(expandtypeattribute (resourcecache_data_file_29_0) true)
+(expandtypeattribute (restorecon_prop_29_0) true)
+(expandtypeattribute (restrictions_service_29_0) true)
+(expandtypeattribute (rild_debug_socket_29_0) true)
+(expandtypeattribute (rild_socket_29_0) true)
+(expandtypeattribute (ringtone_file_29_0) true)
+(expandtypeattribute (role_service_29_0) true)
+(expandtypeattribute (rollback_service_29_0) true)
+(expandtypeattribute (root_block_device_29_0) true)
+(expandtypeattribute (rootfs_29_0) true)
+(expandtypeattribute (rpmsg_device_29_0) true)
+(expandtypeattribute (rs_29_0) true)
+(expandtypeattribute (rs_exec_29_0) true)
+(expandtypeattribute (rss_hwm_reset_29_0) true)
+(expandtypeattribute (rtc_device_29_0) true)
+(expandtypeattribute (rttmanager_service_29_0) true)
+(expandtypeattribute (runas_29_0) true)
+(expandtypeattribute (runas_app_29_0) true)
+(expandtypeattribute (runas_exec_29_0) true)
+(expandtypeattribute (runtime_event_log_tags_file_29_0) true)
+(expandtypeattribute (runtime_service_29_0) true)
+(expandtypeattribute (safemode_prop_29_0) true)
+(expandtypeattribute (same_process_hal_file_29_0) true)
+(expandtypeattribute (samplingprofiler_service_29_0) true)
+(expandtypeattribute (scheduling_policy_service_29_0) true)
+(expandtypeattribute (sdcard_block_device_29_0) true)
+(expandtypeattribute (sdcardd_29_0) true)
+(expandtypeattribute (sdcardd_exec_29_0) true)
+(expandtypeattribute (sdcardfs_29_0) true)
+(expandtypeattribute (seapp_contexts_file_29_0) true)
+(expandtypeattribute (search_service_29_0) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_29_0) true)
+(expandtypeattribute (secure_element_29_0) true)
+(expandtypeattribute (secure_element_device_29_0) true)
+(expandtypeattribute (secure_element_service_29_0) true)
+(expandtypeattribute (selinuxfs_29_0) true)
+(expandtypeattribute (sensor_privacy_service_29_0) true)
+(expandtypeattribute (sensors_device_29_0) true)
+(expandtypeattribute (sensorservice_service_29_0) true)
+(expandtypeattribute (sepolicy_file_29_0) true)
+(expandtypeattribute (serial_device_29_0) true)
+(expandtypeattribute (serialno_prop_29_0) true)
+(expandtypeattribute (serial_service_29_0) true)
+(expandtypeattribute (server_configurable_flags_data_file_29_0) true)
+(expandtypeattribute (service_contexts_file_29_0) true)
+(expandtypeattribute (servicediscovery_service_29_0) true)
+(expandtypeattribute (servicemanager_29_0) true)
+(expandtypeattribute (servicemanager_exec_29_0) true)
+(expandtypeattribute (settings_service_29_0) true)
+(expandtypeattribute (sgdisk_29_0) true)
+(expandtypeattribute (sgdisk_exec_29_0) true)
+(expandtypeattribute (shared_relro_29_0) true)
+(expandtypeattribute (shared_relro_file_29_0) true)
+(expandtypeattribute (shell_29_0) true)
+(expandtypeattribute (shell_data_file_29_0) true)
+(expandtypeattribute (shell_exec_29_0) true)
+(expandtypeattribute (shell_prop_29_0) true)
+(expandtypeattribute (shm_29_0) true)
+(expandtypeattribute (shortcut_manager_icons_29_0) true)
+(expandtypeattribute (shortcut_service_29_0) true)
+(expandtypeattribute (simpleperf_app_runner_29_0) true)
+(expandtypeattribute (simpleperf_app_runner_exec_29_0) true)
+(expandtypeattribute (slice_service_29_0) true)
+(expandtypeattribute (slideshow_29_0) true)
+(expandtypeattribute (socket_device_29_0) true)
+(expandtypeattribute (sockfs_29_0) true)
+(expandtypeattribute (staging_data_file_29_0) true)
+(expandtypeattribute (statsd_29_0) true)
+(expandtypeattribute (stats_data_file_29_0) true)
+(expandtypeattribute (statsd_exec_29_0) true)
+(expandtypeattribute (statsdw_socket_29_0) true)
+(expandtypeattribute (statusbar_service_29_0) true)
+(expandtypeattribute (storaged_service_29_0) true)
+(expandtypeattribute (storage_file_29_0) true)
+(expandtypeattribute (storagestats_service_29_0) true)
+(expandtypeattribute (storage_stub_file_29_0) true)
+(expandtypeattribute (su_29_0) true)
+(expandtypeattribute (su_exec_29_0) true)
+(expandtypeattribute (super_block_device_29_0) true)
+(expandtypeattribute (surfaceflinger_29_0) true)
+(expandtypeattribute (surfaceflinger_service_29_0) true)
+(expandtypeattribute (surfaceflinger_tmpfs_29_0) true)
+(expandtypeattribute (swap_block_device_29_0) true)
+(expandtypeattribute (sysfs_29_0) true)
+(expandtypeattribute (sysfs_android_usb_29_0) true)
+(expandtypeattribute (sysfs_batteryinfo_29_0) true)
+(expandtypeattribute (sysfs_bluetooth_writable_29_0) true)
+(expandtypeattribute (sysfs_devices_block_29_0) true)
+(expandtypeattribute (sysfs_devices_system_cpu_29_0) true)
+(expandtypeattribute (sysfs_dm_29_0) true)
+(expandtypeattribute (sysfs_dt_firmware_android_29_0) true)
+(expandtypeattribute (sysfs_extcon_29_0) true)
+(expandtypeattribute (sysfs_fs_ext4_features_29_0) true)
+(expandtypeattribute (sysfs_fs_f2fs_29_0) true)
+(expandtypeattribute (sysfs_hwrandom_29_0) true)
+(expandtypeattribute (sysfs_ipv4_29_0) true)
+(expandtypeattribute (sysfs_kernel_notes_29_0) true)
+(expandtypeattribute (sysfs_leds_29_0) true)
+(expandtypeattribute (sysfs_loop_29_0) true)
+(expandtypeattribute (sysfs_lowmemorykiller_29_0) true)
+(expandtypeattribute (sysfs_mac_address_29_0) true)
+(expandtypeattribute (sysfs_net_29_0) true)
+(expandtypeattribute (sysfs_nfc_power_writable_29_0) true)
+(expandtypeattribute (sysfs_power_29_0) true)
+(expandtypeattribute (sysfs_rtc_29_0) true)
+(expandtypeattribute (sysfs_switch_29_0) true)
+(expandtypeattribute (sysfs_thermal_29_0) true)
+(expandtypeattribute (sysfs_transparent_hugepage_29_0) true)
+(expandtypeattribute (sysfs_uio_29_0) true)
+(expandtypeattribute (sysfs_usb_29_0) true)
+(expandtypeattribute (sysfs_usermodehelper_29_0) true)
+(expandtypeattribute (sysfs_vibrator_29_0) true)
+(expandtypeattribute (sysfs_wake_lock_29_0) true)
+(expandtypeattribute (sysfs_wakeup_reasons_29_0) true)
+(expandtypeattribute (sysfs_wlan_fwpath_29_0) true)
+(expandtypeattribute (sysfs_zram_29_0) true)
+(expandtypeattribute (sysfs_zram_uevent_29_0) true)
+(expandtypeattribute (system_app_29_0) true)
+(expandtypeattribute (system_app_data_file_29_0) true)
+(expandtypeattribute (system_app_service_29_0) true)
+(expandtypeattribute (system_asan_options_file_29_0) true)
+(expandtypeattribute (system_block_device_29_0) true)
+(expandtypeattribute (system_boot_reason_prop_29_0) true)
+(expandtypeattribute (system_bootstrap_lib_file_29_0) true)
+(expandtypeattribute (system_data_file_29_0) true)
+(expandtypeattribute (system_event_log_tags_file_29_0) true)
+(expandtypeattribute (system_file_29_0) true)
+(expandtypeattribute (systemkeys_data_file_29_0) true)
+(expandtypeattribute (system_lib_file_29_0) true)
+(expandtypeattribute (system_linker_config_file_29_0) true)
+(expandtypeattribute (system_linker_exec_29_0) true)
+(expandtypeattribute (system_lmk_prop_29_0) true)
+(expandtypeattribute (system_ndebug_socket_29_0) true)
+(expandtypeattribute (system_net_netd_hwservice_29_0) true)
+(expandtypeattribute (system_prop_29_0) true)
+(expandtypeattribute (system_radio_prop_29_0) true)
+(expandtypeattribute (system_seccomp_policy_file_29_0) true)
+(expandtypeattribute (system_security_cacerts_file_29_0) true)
+(expandtypeattribute (system_server_29_0) true)
+(expandtypeattribute (system_server_tmpfs_29_0) true)
+(expandtypeattribute (system_suspend_control_service_29_0) true)
+(expandtypeattribute (system_suspend_hwservice_29_0) true)
+(expandtypeattribute (system_trace_prop_29_0) true)
+(expandtypeattribute (system_update_service_29_0) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_29_0) true)
+(expandtypeattribute (system_wpa_socket_29_0) true)
+(expandtypeattribute (system_zoneinfo_file_29_0) true)
+(expandtypeattribute (task_profiles_file_29_0) true)
+(expandtypeattribute (task_service_29_0) true)
+(expandtypeattribute (tcpdump_exec_29_0) true)
+(expandtypeattribute (tee_29_0) true)
+(expandtypeattribute (tee_data_file_29_0) true)
+(expandtypeattribute (tee_device_29_0) true)
+(expandtypeattribute (telecom_service_29_0) true)
+(expandtypeattribute (test_boot_reason_prop_29_0) true)
+(expandtypeattribute (test_harness_prop_29_0) true)
+(expandtypeattribute (testharness_service_29_0) true)
+(expandtypeattribute (textclassification_service_29_0) true)
+(expandtypeattribute (textclassifier_data_file_29_0) true)
+(expandtypeattribute (textservices_service_29_0) true)
+(expandtypeattribute (thermalcallback_hwservice_29_0) true)
+(expandtypeattribute (thermal_service_29_0) true)
+(expandtypeattribute (timedetector_service_29_0) true)
+(expandtypeattribute (time_prop_29_0) true)
+(expandtypeattribute (timezone_service_29_0) true)
+(expandtypeattribute (tmpfs_29_0) true)
+(expandtypeattribute (tombstoned_29_0) true)
+(expandtypeattribute (tombstone_data_file_29_0) true)
+(expandtypeattribute (tombstoned_crash_socket_29_0) true)
+(expandtypeattribute (tombstoned_exec_29_0) true)
+(expandtypeattribute (tombstoned_intercept_socket_29_0) true)
+(expandtypeattribute (tombstoned_java_trace_socket_29_0) true)
+(expandtypeattribute (tombstone_wifi_data_file_29_0) true)
+(expandtypeattribute (toolbox_29_0) true)
+(expandtypeattribute (toolbox_exec_29_0) true)
+(expandtypeattribute (traced_29_0) true)
+(expandtypeattribute (trace_data_file_29_0) true)
+(expandtypeattribute (traced_consumer_socket_29_0) true)
+(expandtypeattribute (traced_enabled_prop_29_0) true)
+(expandtypeattribute (traced_lazy_prop_29_0) true)
+(expandtypeattribute (traced_probes_29_0) true)
+(expandtypeattribute (traced_producer_socket_29_0) true)
+(expandtypeattribute (traceur_app_29_0) true)
+(expandtypeattribute (trust_service_29_0) true)
+(expandtypeattribute (tty_device_29_0) true)
+(expandtypeattribute (tun_device_29_0) true)
+(expandtypeattribute (tv_input_service_29_0) true)
+(expandtypeattribute (tzdatacheck_29_0) true)
+(expandtypeattribute (tzdatacheck_exec_29_0) true)
+(expandtypeattribute (ueventd_29_0) true)
+(expandtypeattribute (ueventd_tmpfs_29_0) true)
+(expandtypeattribute (uhid_device_29_0) true)
+(expandtypeattribute (uimode_service_29_0) true)
+(expandtypeattribute (uio_device_29_0) true)
+(expandtypeattribute (uncrypt_29_0) true)
+(expandtypeattribute (uncrypt_exec_29_0) true)
+(expandtypeattribute (uncrypt_socket_29_0) true)
+(expandtypeattribute (unencrypted_data_file_29_0) true)
+(expandtypeattribute (unlabeled_29_0) true)
+(expandtypeattribute (untrusted_app_25_29_0) true)
+(expandtypeattribute (untrusted_app_27_29_0) true)
+(expandtypeattribute (untrusted_app_29_0) true)
+(expandtypeattribute (update_engine_29_0) true)
+(expandtypeattribute (update_engine_data_file_29_0) true)
+(expandtypeattribute (update_engine_exec_29_0) true)
+(expandtypeattribute (update_engine_log_data_file_29_0) true)
+(expandtypeattribute (update_engine_service_29_0) true)
+(expandtypeattribute (updatelock_service_29_0) true)
+(expandtypeattribute (update_verifier_29_0) true)
+(expandtypeattribute (update_verifier_exec_29_0) true)
+(expandtypeattribute (uri_grants_service_29_0) true)
+(expandtypeattribute (usagestats_service_29_0) true)
+(expandtypeattribute (usbaccessory_device_29_0) true)
+(expandtypeattribute (usbd_29_0) true)
+(expandtypeattribute (usb_device_29_0) true)
+(expandtypeattribute (usbd_exec_29_0) true)
+(expandtypeattribute (usbfs_29_0) true)
+(expandtypeattribute (usb_service_29_0) true)
+(expandtypeattribute (use_memfd_prop_29_0) true)
+(expandtypeattribute (userdata_block_device_29_0) true)
+(expandtypeattribute (usermodehelper_29_0) true)
+(expandtypeattribute (user_profile_data_file_29_0) true)
+(expandtypeattribute (user_service_29_0) true)
+(expandtypeattribute (vdc_29_0) true)
+(expandtypeattribute (vdc_exec_29_0) true)
+(expandtypeattribute (vendor_app_file_29_0) true)
+(expandtypeattribute (vendor_cgroup_desc_file_29_0) true)
+(expandtypeattribute (vendor_configs_file_29_0) true)
+(expandtypeattribute (vendor_data_file_29_0) true)
+(expandtypeattribute (vendor_default_prop_29_0) true)
+(expandtypeattribute (vendor_file_29_0) true)
+(expandtypeattribute (vendor_framework_file_29_0) true)
+(expandtypeattribute (vendor_hal_file_29_0) true)
+(expandtypeattribute (vendor_idc_file_29_0) true)
+(expandtypeattribute (vendor_init_29_0) true)
+(expandtypeattribute (vendor_keychars_file_29_0) true)
+(expandtypeattribute (vendor_keylayout_file_29_0) true)
+(expandtypeattribute (vendor_overlay_file_29_0) true)
+(expandtypeattribute (vendor_public_lib_file_29_0) true)
+(expandtypeattribute (vendor_security_patch_level_prop_29_0) true)
+(expandtypeattribute (vendor_shell_29_0) true)
+(expandtypeattribute (vendor_shell_exec_29_0) true)
+(expandtypeattribute (vendor_task_profiles_file_29_0) true)
+(expandtypeattribute (vendor_toolbox_exec_29_0) true)
+(expandtypeattribute (vfat_29_0) true)
+(expandtypeattribute (vibrator_service_29_0) true)
+(expandtypeattribute (video_device_29_0) true)
+(expandtypeattribute (virtual_touchpad_29_0) true)
+(expandtypeattribute (virtual_touchpad_exec_29_0) true)
+(expandtypeattribute (virtual_touchpad_service_29_0) true)
+(expandtypeattribute (vndbinder_device_29_0) true)
+(expandtypeattribute (vndk_sp_file_29_0) true)
+(expandtypeattribute (vndservice_contexts_file_29_0) true)
+(expandtypeattribute (vndservicemanager_29_0) true)
+(expandtypeattribute (voiceinteraction_service_29_0) true)
+(expandtypeattribute (vold_29_0) true)
+(expandtypeattribute (vold_data_file_29_0) true)
+(expandtypeattribute (vold_device_29_0) true)
+(expandtypeattribute (vold_exec_29_0) true)
+(expandtypeattribute (vold_metadata_file_29_0) true)
+(expandtypeattribute (vold_prepare_subdirs_29_0) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_29_0) true)
+(expandtypeattribute (vold_prop_29_0) true)
+(expandtypeattribute (vold_service_29_0) true)
+(expandtypeattribute (vpn_data_file_29_0) true)
+(expandtypeattribute (vrflinger_vsync_service_29_0) true)
+(expandtypeattribute (vr_hwc_29_0) true)
+(expandtypeattribute (vr_hwc_exec_29_0) true)
+(expandtypeattribute (vr_hwc_service_29_0) true)
+(expandtypeattribute (vr_manager_service_29_0) true)
+(expandtypeattribute (wallpaper_file_29_0) true)
+(expandtypeattribute (wallpaper_service_29_0) true)
+(expandtypeattribute (watchdogd_29_0) true)
+(expandtypeattribute (watchdog_device_29_0) true)
+(expandtypeattribute (watchdogd_exec_29_0) true)
+(expandtypeattribute (webviewupdate_service_29_0) true)
+(expandtypeattribute (webview_zygote_29_0) true)
+(expandtypeattribute (webview_zygote_exec_29_0) true)
+(expandtypeattribute (webview_zygote_tmpfs_29_0) true)
+(expandtypeattribute (wifiaware_service_29_0) true)
+(expandtypeattribute (wificond_29_0) true)
+(expandtypeattribute (wificond_exec_29_0) true)
+(expandtypeattribute (wificond_service_29_0) true)
+(expandtypeattribute (wifi_data_file_29_0) true)
+(expandtypeattribute (wifi_log_prop_29_0) true)
+(expandtypeattribute (wifip2p_service_29_0) true)
+(expandtypeattribute (wifi_prop_29_0) true)
+(expandtypeattribute (wifiscanner_service_29_0) true)
+(expandtypeattribute (wifi_service_29_0) true)
+(expandtypeattribute (window_service_29_0) true)
+(expandtypeattribute (wpantund_29_0) true)
+(expandtypeattribute (wpantund_exec_29_0) true)
+(expandtypeattribute (wpantund_service_29_0) true)
+(expandtypeattribute (wpa_socket_29_0) true)
+(expandtypeattribute (zero_device_29_0) true)
+(expandtypeattribute (zoneinfo_data_file_29_0) true)
+(expandtypeattribute (zygote_29_0) true)
+(expandtypeattribute (zygote_exec_29_0) true)
+(expandtypeattribute (zygote_socket_29_0) true)
+(expandtypeattribute (zygote_tmpfs_29_0) true)
+(typeattributeset accessibility_service_29_0 (accessibility_service))
+(typeattributeset account_service_29_0 (account_service))
+(typeattributeset activity_service_29_0 (activity_service))
+(typeattributeset activity_task_service_29_0 (activity_task_service))
+(typeattributeset adbd_29_0 (adbd))
+(typeattributeset adb_data_file_29_0 (adb_data_file))
+(typeattributeset adbd_exec_29_0 (adbd_exec))
+(typeattributeset adbd_socket_29_0 (adbd_socket))
+(typeattributeset adb_keys_file_29_0 (adb_keys_file))
+(typeattributeset adb_service_29_0 (adb_service))
+(typeattributeset alarm_service_29_0 (alarm_service))
+(typeattributeset anr_data_file_29_0 (anr_data_file))
+(typeattributeset apexd_29_0 (apexd))
+(typeattributeset apex_data_file_29_0 (apex_data_file))
+(typeattributeset apexd_exec_29_0 (apexd_exec))
+(typeattributeset apexd_prop_29_0 (apexd_prop))
+(typeattributeset apex_metadata_file_29_0 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_29_0 (apex_mnt_dir))
+(typeattributeset apex_service_29_0 (apex_service))
+(typeattributeset apk_data_file_29_0 (apk_data_file))
+(typeattributeset apk_private_data_file_29_0 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_29_0 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_29_0 (apk_tmp_file))
+(typeattributeset app_binding_service_29_0 (app_binding_service))
+(typeattributeset app_data_file_29_0 (app_data_file))
+(typeattributeset appdomain_tmpfs_29_0 (appdomain_tmpfs))
+(typeattributeset app_fuse_file_29_0 (app_fuse_file))
+(typeattributeset app_fusefs_29_0 (app_fusefs))
+(typeattributeset appops_service_29_0 (appops_service))
+(typeattributeset app_prediction_service_29_0 (app_prediction_service))
+(typeattributeset appwidget_service_29_0 (appwidget_service))
+(typeattributeset app_zygote_29_0 (app_zygote))
+(typeattributeset app_zygote_tmpfs_29_0 (app_zygote_tmpfs))
+(typeattributeset asec_apk_file_29_0 (asec_apk_file))
+(typeattributeset asec_image_file_29_0 (asec_image_file))
+(typeattributeset asec_public_file_29_0 (asec_public_file))
+(typeattributeset ashmemd_29_0 (ashmemd))
+(typeattributeset ashmem_device_29_0 (ashmem_device))
+(typeattributeset assetatlas_service_29_0 (assetatlas_service))
+(typeattributeset audio_data_file_29_0 (audio_data_file))
+(typeattributeset audio_device_29_0 (audio_device))
+(typeattributeset audiohal_data_file_29_0 (audiohal_data_file))
+(typeattributeset audio_prop_29_0 (audio_prop))
+(typeattributeset audioserver_29_0 (audioserver))
+(typeattributeset audioserver_data_file_29_0 (audioserver_data_file))
+(typeattributeset audioserver_service_29_0 (audioserver_service))
+(typeattributeset audioserver_tmpfs_29_0 (audioserver_tmpfs))
+(typeattributeset audio_service_29_0 (audio_service))
+(typeattributeset autofill_service_29_0 (autofill_service))
+(typeattributeset backup_data_file_29_0 (backup_data_file))
+(typeattributeset backup_service_29_0 (backup_service))
+(typeattributeset batteryproperties_service_29_0 (batteryproperties_service))
+(typeattributeset battery_service_29_0 (battery_service))
+(typeattributeset batterystats_service_29_0 (batterystats_service))
+(typeattributeset binder_calls_stats_service_29_0 (binder_calls_stats_service))
+(typeattributeset binder_device_29_0 (binder_device))
+(typeattributeset binfmt_miscfs_29_0 (binfmt_miscfs))
+(typeattributeset biometric_service_29_0 (biometric_service))
+(typeattributeset blkid_29_0 (blkid))
+(typeattributeset blkid_untrusted_29_0 (blkid_untrusted))
+(typeattributeset block_device_29_0 (block_device))
+(typeattributeset bluetooth_29_0 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_29_0 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_29_0 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_data_file_29_0 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_29_0 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_29_0 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_29_0 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_29_0 (bluetooth_prop))
+(typeattributeset bluetooth_service_29_0 (bluetooth_service))
+(typeattributeset bluetooth_socket_29_0 (bluetooth_socket))
+(typeattributeset bootanim_29_0 (bootanim))
+(typeattributeset bootanim_exec_29_0 (bootanim_exec))
+(typeattributeset boot_block_device_29_0 (boot_block_device))
+(typeattributeset bootchart_data_file_29_0 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_29_0 (bootloader_boot_reason_prop))
+(typeattributeset bootstat_29_0 (bootstat))
+(typeattributeset bootstat_data_file_29_0 (bootstat_data_file))
+(typeattributeset bootstat_exec_29_0 (bootstat_exec))
+(typeattributeset boottime_prop_29_0 (boottime_prop))
+(typeattributeset boottrace_data_file_29_0 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_29_0 (bpf_progs_loaded_prop))
+(typeattributeset broadcastradio_service_29_0 (broadcastradio_service))
+(typeattributeset bufferhubd_29_0 (bufferhubd))
+(typeattributeset bufferhubd_exec_29_0 (bufferhubd_exec))
+(typeattributeset bugreport_service_29_0 (bugreport_service))
+(typeattributeset cache_backup_file_29_0 (cache_backup_file))
+(typeattributeset cache_block_device_29_0 (cache_block_device))
+(typeattributeset cache_file_29_0 (cache_file))
+(typeattributeset cache_private_backup_file_29_0 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_29_0 (cache_recovery_file))
+(typeattributeset camera_data_file_29_0 (camera_data_file))
+(typeattributeset camera_device_29_0 (camera_device))
+(typeattributeset cameraproxy_service_29_0 (cameraproxy_service))
+(typeattributeset cameraserver_29_0 (cameraserver))
+(typeattributeset cameraserver_exec_29_0 (cameraserver_exec))
+(typeattributeset cameraserver_service_29_0 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_29_0 (cameraserver_tmpfs))
+(typeattributeset cgroup_29_0 (cgroup))
+(typeattributeset cgroup_bpf_29_0 (cgroup_bpf))
+(typeattributeset cgroup_desc_file_29_0 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_29_0 (cgroup_rc_file))
+(typeattributeset charger_29_0 (charger))
+(typeattributeset charger_exec_29_0 (charger_exec))
+(typeattributeset clatd_29_0 (clatd))
+(typeattributeset clatd_exec_29_0 (clatd_exec))
+(typeattributeset clipboard_service_29_0 (clipboard_service))
+(typeattributeset color_display_service_29_0 (color_display_service))
+(typeattributeset companion_device_service_29_0 (companion_device_service))
+(typeattributeset configfs_29_0 (configfs))
+(typeattributeset config_prop_29_0 (config_prop))
+(typeattributeset connectivity_service_29_0 (connectivity_service))
+(typeattributeset connmetrics_service_29_0 (connmetrics_service))
+(typeattributeset console_device_29_0 (console_device))
+(typeattributeset consumer_ir_service_29_0 (consumer_ir_service))
+(typeattributeset content_capture_service_29_0 (content_capture_service))
+(typeattributeset content_service_29_0 (content_service))
+(typeattributeset content_suggestions_service_29_0 (content_suggestions_service))
+(typeattributeset contexthub_service_29_0 (contexthub_service))
+(typeattributeset coredump_file_29_0 (coredump_file))
+(typeattributeset country_detector_service_29_0 (country_detector_service))
+(typeattributeset coverage_service_29_0 (coverage_service))
+(typeattributeset cppreopt_prop_29_0 (cppreopt_prop))
+(typeattributeset cpuinfo_service_29_0 (cpuinfo_service))
+(typeattributeset cpu_variant_prop_29_0 (cpu_variant_prop))
+(typeattributeset crash_dump_29_0 (crash_dump))
+(typeattributeset crash_dump_exec_29_0 (crash_dump_exec))
+(typeattributeset crossprofileapps_service_29_0 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_29_0 (ctl_adbd_prop))
+(typeattributeset ctl_bootanim_prop_29_0 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_29_0 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_29_0 (ctl_console_prop))
+(typeattributeset ctl_default_prop_29_0 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_29_0 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_29_0 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_29_0 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_29_0 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_29_0 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_29_0 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_29_0 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_29_0 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_29_0 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_29_0 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_29_0 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_29_0 (ctl_stop_prop))
+(typeattributeset dalvikcache_data_file_29_0 (dalvikcache_data_file))
+(typeattributeset dalvik_prop_29_0 (dalvik_prop))
+(typeattributeset dbinfo_service_29_0 (dbinfo_service))
+(typeattributeset debugfs_29_0 (debugfs))
+(typeattributeset debugfs_mmc_29_0 (debugfs_mmc))
+(typeattributeset debugfs_trace_marker_29_0 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_29_0 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_29_0 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_29_0 (debugfs_tracing_instances))
+(typeattributeset debugfs_wakeup_sources_29_0 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_29_0 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_29_0 (debuggerd_prop))
+(typeattributeset debug_prop_29_0 (debug_prop))
+(typeattributeset default_android_hwservice_29_0 (default_android_hwservice))
+(typeattributeset default_android_service_29_0 (default_android_service))
+(typeattributeset default_android_vndservice_29_0 (default_android_vndservice))
+(typeattributeset default_prop_29_0 (default_prop apk_verity_prop))
+(typeattributeset dev_cpu_variant_29_0 (dev_cpu_variant))
+(typeattributeset device_29_0 (device))
+(typeattributeset device_config_activity_manager_native_boot_prop_29_0 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_29_0 (device_config_boot_count_prop))
+(typeattributeset device_config_input_native_boot_prop_29_0 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_29_0 (device_config_media_native_prop))
+(typeattributeset device_config_netd_native_prop_29_0 (device_config_netd_native_prop))
+(typeattributeset device_config_reset_performed_prop_29_0 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_29_0 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_29_0 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_29_0 (device_config_service))
+(typeattributeset device_identifiers_service_29_0 (device_identifiers_service))
+(typeattributeset deviceidle_service_29_0 (deviceidle_service))
+(typeattributeset device_logging_prop_29_0 (device_logging_prop))
+(typeattributeset device_policy_service_29_0 (device_policy_service))
+(typeattributeset devicestoragemonitor_service_29_0 (devicestoragemonitor_service))
+(typeattributeset devpts_29_0 (devpts))
+(typeattributeset dhcp_29_0 (dhcp))
+(typeattributeset dhcp_data_file_29_0 (dhcp_data_file))
+(typeattributeset dhcp_exec_29_0 (dhcp_exec))
+(typeattributeset dhcp_prop_29_0 (dhcp_prop))
+(typeattributeset diskstats_service_29_0 (diskstats_service))
+(typeattributeset display_service_29_0 (display_service))
+(typeattributeset dm_device_29_0 (dm_device))
+(typeattributeset dnsmasq_29_0 (dnsmasq))
+(typeattributeset dnsmasq_exec_29_0 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_29_0 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_29_0 (dnsresolver_service))
+(typeattributeset DockObserver_service_29_0 (DockObserver_service))
+(typeattributeset dreams_service_29_0 (dreams_service))
+(typeattributeset drm_data_file_29_0 (drm_data_file))
+(typeattributeset drmserver_29_0 (drmserver))
+(typeattributeset drmserver_exec_29_0 (drmserver_exec))
+(typeattributeset drmserver_service_29_0 (drmserver_service))
+(typeattributeset drmserver_socket_29_0 (drmserver_socket))
+(typeattributeset dropbox_data_file_29_0 (dropbox_data_file))
+(typeattributeset dropbox_service_29_0 (dropbox_service))
+(typeattributeset dumpstate_29_0 (dumpstate))
+(typeattributeset dumpstate_exec_29_0 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_29_0 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_29_0 (dumpstate_prop))
+(typeattributeset dumpstate_service_29_0 (dumpstate_service))
+(typeattributeset dumpstate_socket_29_0 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_29_0 (dynamic_system_prop))
+(typeattributeset e2fs_29_0 (e2fs))
+(typeattributeset e2fs_exec_29_0 (e2fs_exec))
+(typeattributeset efs_file_29_0 (efs_file))
+(typeattributeset ephemeral_app_29_0 (ephemeral_app))
+(typeattributeset ethernet_service_29_0 (ethernet_service))
+(typeattributeset exfat_29_0 (exfat))
+(typeattributeset exported2_config_prop_29_0 (exported2_config_prop systemsound_config_prop))
+(typeattributeset exported2_default_prop_29_0 (exported2_default_prop))
+(typeattributeset exported2_radio_prop_29_0 (exported2_radio_prop))
+(typeattributeset exported2_system_prop_29_0
+  ( exported2_system_prop
+    surfaceflinger_color_prop))
+(typeattributeset exported2_vold_prop_29_0
+  ( exported2_vold_prop
+    vold_config_prop
+    vold_post_fs_data_prop))
+(typeattributeset exported3_default_prop_29_0 (exported3_default_prop lmkd_config_prop))
+(typeattributeset exported3_radio_prop_29_0 (exported3_radio_prop))
+(typeattributeset exported3_system_prop_29_0 (exported3_system_prop boot_status_prop))
+(typeattributeset exported_audio_prop_29_0 (exported_audio_prop audio_config_prop))
+(typeattributeset exported_bluetooth_prop_29_0 (exported_bluetooth_prop))
+(typeattributeset exported_config_prop_29_0 (exported_config_prop))
+(typeattributeset exported_dalvik_prop_29_0 (exported_dalvik_prop dalvik_config_prop))
+(typeattributeset exported_default_prop_29_0
+  ( exported_default_prop
+    surfaceflinger_prop
+    vndk_prop))
+(typeattributeset exported_dumpstate_prop_29_0 (exported_dumpstate_prop))
+(typeattributeset exported_ffs_prop_29_0 (exported_ffs_prop))
+(typeattributeset exported_fingerprint_prop_29_0 (exported_fingerprint_prop))
+(typeattributeset exported_overlay_prop_29_0 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_29_0 (exported_pm_prop))
+(typeattributeset exported_radio_prop_29_0 (exported_radio_prop))
+(typeattributeset exported_secure_prop_29_0 (exported_secure_prop))
+(typeattributeset exported_system_prop_29_0 (exported_system_prop))
+(typeattributeset exported_system_radio_prop_29_0 (exported_system_radio_prop))
+(typeattributeset exported_vold_prop_29_0 (exported_vold_prop vold_status_prop))
+(typeattributeset exported_wifi_prop_29_0 (exported_wifi_prop))
+(typeattributeset external_vibrator_service_29_0 (external_vibrator_service))
+(typeattributeset face_service_29_0 (face_service))
+(typeattributeset face_vendor_data_file_29_0 (face_vendor_data_file))
+(typeattributeset fastbootd_29_0 (fastbootd))
+(typeattributeset ffs_prop_29_0 (ffs_prop))
+(typeattributeset file_contexts_file_29_0 (file_contexts_file))
+(typeattributeset fingerprintd_29_0 (fingerprintd))
+(typeattributeset fingerprintd_data_file_29_0 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_29_0 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_29_0 (fingerprintd_service))
+(typeattributeset fingerprint_prop_29_0 (fingerprint_prop))
+(typeattributeset fingerprint_service_29_0 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_29_0 (fingerprint_vendor_data_file))
+(typeattributeset firstboot_prop_29_0 (firstboot_prop))
+(typeattributeset flags_health_check_29_0 (flags_health_check))
+(typeattributeset flags_health_check_exec_29_0 (flags_health_check_exec))
+(typeattributeset font_service_29_0 (font_service))
+(typeattributeset frp_block_device_29_0 (frp_block_device))
+(typeattributeset fs_bpf_29_0 (fs_bpf))
+(typeattributeset fsck_29_0 (fsck))
+(typeattributeset fsck_exec_29_0 (fsck_exec))
+(typeattributeset fscklogs_29_0 (fscklogs))
+(typeattributeset fsck_untrusted_29_0 (fsck_untrusted))
+(typeattributeset functionfs_29_0 (functionfs))
+(typeattributeset fuse_29_0 (fuse))
+(typeattributeset fuse_device_29_0 (fuse_device))
+(typeattributeset fwk_bufferhub_hwservice_29_0 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_29_0 (fwk_camera_hwservice))
+(typeattributeset fwk_display_hwservice_29_0 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_29_0 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_29_0 (fwk_sensor_hwservice))
+(typeattributeset fwk_stats_hwservice_29_0 (fwk_stats_hwservice))
+(typeattributeset fwmarkd_socket_29_0 (fwmarkd_socket))
+(typeattributeset gatekeeperd_29_0 (gatekeeperd))
+(typeattributeset gatekeeper_data_file_29_0 (gatekeeper_data_file))
+(typeattributeset gatekeeperd_exec_29_0 (gatekeeperd_exec))
+(typeattributeset gatekeeper_service_29_0 (gatekeeper_service))
+(typeattributeset gfxinfo_service_29_0 (gfxinfo_service))
+(typeattributeset gps_control_29_0 (gps_control))
+(typeattributeset gpu_device_29_0 (gpu_device))
+(typeattributeset gpu_service_29_0 (gpu_service))
+(typeattributeset gpuservice_29_0 (gpuservice))
+(typeattributeset graphics_device_29_0 (graphics_device))
+(typeattributeset graphicsstats_service_29_0 (graphicsstats_service))
+(typeattributeset gsi_data_file_29_0 (gsi_data_file))
+(typeattributeset gsid_prop_29_0 (gsid_prop))
+(typeattributeset gsi_metadata_file_29_0 (gsi_metadata_file))
+(typeattributeset hal_atrace_hwservice_29_0 (hal_atrace_hwservice))
+(typeattributeset hal_audiocontrol_hwservice_29_0 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audio_hwservice_29_0 (hal_audio_hwservice))
+(typeattributeset hal_authsecret_hwservice_29_0 (hal_authsecret_hwservice))
+(typeattributeset hal_bluetooth_hwservice_29_0 (hal_bluetooth_hwservice))
+(typeattributeset hal_bootctl_hwservice_29_0 (hal_bootctl_hwservice))
+(typeattributeset hal_broadcastradio_hwservice_29_0 (hal_broadcastradio_hwservice))
+(typeattributeset hal_camera_hwservice_29_0 (hal_camera_hwservice))
+(typeattributeset hal_cas_hwservice_29_0 (hal_cas_hwservice))
+(typeattributeset hal_codec2_hwservice_29_0 (hal_codec2_hwservice))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_29_0 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_29_0 (hal_confirmationui_hwservice))
+(typeattributeset hal_contexthub_hwservice_29_0 (hal_contexthub_hwservice))
+(typeattributeset hal_drm_hwservice_29_0 (hal_drm_hwservice))
+(typeattributeset hal_dumpstate_hwservice_29_0 (hal_dumpstate_hwservice))
+(typeattributeset hal_evs_hwservice_29_0 (hal_evs_hwservice))
+(typeattributeset hal_face_hwservice_29_0 (hal_face_hwservice))
+(typeattributeset hal_fingerprint_hwservice_29_0 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_29_0 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_29_0 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gnss_hwservice_29_0 (hal_gnss_hwservice))
+(typeattributeset hal_graphics_allocator_hwservice_29_0 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_composer_hwservice_29_0 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_29_0 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_mapper_hwservice_29_0 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_health_hwservice_29_0 (hal_health_hwservice))
+(typeattributeset hal_health_storage_hwservice_29_0 (hal_health_storage_hwservice))
+(typeattributeset hal_input_classifier_hwservice_29_0 (hal_input_classifier_hwservice))
+(typeattributeset hal_ir_hwservice_29_0 (hal_ir_hwservice))
+(typeattributeset hal_keymaster_hwservice_29_0 (hal_keymaster_hwservice))
+(typeattributeset hal_light_hwservice_29_0 (hal_light_hwservice))
+(typeattributeset hal_lowpan_hwservice_29_0 (hal_lowpan_hwservice))
+(typeattributeset hal_memtrack_hwservice_29_0 (hal_memtrack_hwservice))
+(typeattributeset hal_neuralnetworks_hwservice_29_0 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_nfc_hwservice_29_0 (hal_nfc_hwservice))
+(typeattributeset hal_oemlock_hwservice_29_0 (hal_oemlock_hwservice))
+(typeattributeset hal_omx_hwservice_29_0 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_29_0 (hal_power_hwservice))
+(typeattributeset hal_power_stats_hwservice_29_0 (hal_power_stats_hwservice))
+(typeattributeset hal_renderscript_hwservice_29_0 (hal_renderscript_hwservice))
+(typeattributeset hal_secure_element_hwservice_29_0 (hal_secure_element_hwservice))
+(typeattributeset hal_sensors_hwservice_29_0 (hal_sensors_hwservice))
+(typeattributeset hal_telephony_hwservice_29_0 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_29_0 (hal_tetheroffload_hwservice))
+(typeattributeset hal_thermal_hwservice_29_0 (hal_thermal_hwservice))
+(typeattributeset hal_tv_cec_hwservice_29_0 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_input_hwservice_29_0 (hal_tv_input_hwservice))
+(typeattributeset hal_usb_gadget_hwservice_29_0 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_hwservice_29_0 (hal_usb_hwservice))
+(typeattributeset hal_vehicle_hwservice_29_0 (hal_vehicle_hwservice))
+(typeattributeset hal_vibrator_hwservice_29_0 (hal_vibrator_hwservice))
+(typeattributeset hal_vr_hwservice_29_0 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_29_0 (hal_weaver_hwservice))
+(typeattributeset hal_wifi_hostapd_hwservice_29_0 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hwservice_29_0 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_offload_hwservice_29_0 (hal_wifi_offload_hwservice))
+(typeattributeset hal_wifi_supplicant_hwservice_29_0 (hal_wifi_supplicant_hwservice))
+(typeattributeset hardware_properties_service_29_0 (hardware_properties_service))
+(typeattributeset hardware_service_29_0 (hardware_service))
+(typeattributeset hci_attach_dev_29_0 (hci_attach_dev))
+(typeattributeset hdmi_control_service_29_0 (hdmi_control_service))
+(typeattributeset healthd_29_0 (healthd))
+(typeattributeset healthd_exec_29_0 (healthd_exec))
+(typeattributeset heapdump_data_file_29_0 (heapdump_data_file))
+(typeattributeset heapprofd_29_0 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_29_0 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_29_0 (heapprofd_prop))
+(typeattributeset heapprofd_socket_29_0 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_29_0 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_29_0 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_29_0 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_29_0 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_29_0 (hidl_token_hwservice))
+(typeattributeset hwbinder_device_29_0 (hwbinder_device))
+(typeattributeset hw_random_device_29_0 (hw_random_device))
+(typeattributeset hwservice_contexts_file_29_0 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_29_0 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_29_0 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_29_0 (hwservicemanager_prop))
+(typeattributeset icon_file_29_0 (icon_file))
+(typeattributeset idmap_29_0 (idmap))
+(typeattributeset idmap_exec_29_0 (idmap_exec))
+(typeattributeset idmap_service_29_0 (idmap_service))
+(typeattributeset iio_device_29_0 (iio_device))
+(typeattributeset imms_service_29_0 (imms_service))
+(typeattributeset incident_29_0 (incident))
+(typeattributeset incidentd_29_0 (incidentd))
+(typeattributeset incident_data_file_29_0 (incident_data_file))
+(typeattributeset incident_helper_29_0 (incident_helper))
+(typeattributeset incident_service_29_0 (incident_service))
+(typeattributeset init_29_0 (init))
+(typeattributeset init_exec_29_0 (init_exec))
+(typeattributeset init_tmpfs_29_0 (init_tmpfs))
+(typeattributeset inotify_29_0 (inotify))
+(typeattributeset input_device_29_0 (input_device))
+(typeattributeset inputflinger_29_0 (inputflinger))
+(typeattributeset inputflinger_exec_29_0 (inputflinger_exec))
+(typeattributeset inputflinger_service_29_0 (inputflinger_service))
+(typeattributeset input_method_service_29_0 (input_method_service))
+(typeattributeset input_service_29_0 (input_service))
+(typeattributeset installd_29_0 (installd))
+(typeattributeset install_data_file_29_0 (install_data_file))
+(typeattributeset installd_exec_29_0 (installd_exec))
+(typeattributeset installd_service_29_0 (installd_service))
+(typeattributeset install_recovery_29_0 (install_recovery))
+(typeattributeset install_recovery_exec_29_0 (install_recovery_exec))
+(typeattributeset ion_device_29_0 (ion_device))
+(typeattributeset iorapd_29_0 (iorapd))
+(typeattributeset iorapd_data_file_29_0 (iorapd_data_file))
+(typeattributeset iorapd_exec_29_0 (iorapd_exec))
+(typeattributeset iorapd_service_29_0 (iorapd_service))
+(typeattributeset iorapd_tmpfs_29_0 (iorapd_tmpfs))
+(typeattributeset IProxyService_service_29_0 (IProxyService_service))
+(typeattributeset ipsec_service_29_0 (ipsec_service))
+(typeattributeset iris_service_29_0 (iris_service))
+(typeattributeset iris_vendor_data_file_29_0 (iris_vendor_data_file))
+(typeattributeset isolated_app_29_0 (isolated_app))
+(typeattributeset jobscheduler_service_29_0 (jobscheduler_service))
+(typeattributeset kernel_29_0 (kernel))
+(typeattributeset keychain_data_file_29_0 (keychain_data_file))
+(typeattributeset keychord_device_29_0 (keychord_device))
+(typeattributeset keystore_29_0 (keystore))
+(typeattributeset keystore_data_file_29_0 (keystore_data_file))
+(typeattributeset keystore_exec_29_0 (keystore_exec))
+(typeattributeset keystore_service_29_0 (keystore_service))
+(typeattributeset kmsg_debug_device_29_0 (kmsg_debug_device))
+(typeattributeset kmsg_device_29_0 (kmsg_device))
+(typeattributeset labeledfs_29_0 (labeledfs))
+(typeattributeset last_boot_reason_prop_29_0 (last_boot_reason_prop))
+(typeattributeset launcherapps_service_29_0 (launcherapps_service))
+(typeattributeset llkd_29_0 (llkd))
+(typeattributeset llkd_exec_29_0 (llkd_exec))
+(typeattributeset llkd_prop_29_0 (llkd_prop))
+(typeattributeset lmkd_29_0 (lmkd))
+(typeattributeset lmkd_exec_29_0 (lmkd_exec))
+(typeattributeset lmkd_socket_29_0 (lmkd_socket))
+(typeattributeset location_service_29_0 (location_service))
+(typeattributeset lock_settings_service_29_0 (lock_settings_service))
+(typeattributeset logcat_exec_29_0 (logcat_exec))
+(typeattributeset logd_29_0 (logd))
+(typeattributeset logd_exec_29_0 (logd_exec))
+(typeattributeset logd_prop_29_0 (logd_prop))
+(typeattributeset logdr_socket_29_0 (logdr_socket))
+(typeattributeset logd_socket_29_0 (logd_socket))
+(typeattributeset logdw_socket_29_0 (logdw_socket))
+(typeattributeset logpersist_29_0 (logpersist))
+(typeattributeset logpersistd_logging_prop_29_0 (logpersistd_logging_prop))
+(typeattributeset log_prop_29_0 (log_prop))
+(typeattributeset log_tag_prop_29_0 (log_tag_prop))
+(typeattributeset loop_control_device_29_0 (loop_control_device))
+(typeattributeset loop_device_29_0 (loop_device))
+(typeattributeset looper_stats_service_29_0 (looper_stats_service))
+(typeattributeset lowpan_device_29_0 (lowpan_device))
+(typeattributeset lowpan_prop_29_0 (lowpan_prop))
+(typeattributeset lowpan_service_29_0 (lowpan_service))
+(typeattributeset lpdumpd_prop_29_0 (lpdumpd_prop))
+(typeattributeset lpdump_service_29_0 (lpdump_service))
+(typeattributeset mac_perms_file_29_0 (mac_perms_file))
+(typeattributeset mdnsd_29_0 (mdnsd))
+(typeattributeset mdnsd_socket_29_0 (mdnsd_socket))
+(typeattributeset mdns_socket_29_0 (mdns_socket))
+(typeattributeset mediacodec_service_29_0 (mediacodec_service))
+(typeattributeset media_data_file_29_0 (media_data_file))
+(typeattributeset mediadrmserver_29_0 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_29_0 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_29_0 (mediadrmserver_service))
+(typeattributeset mediaextractor_29_0 (mediaextractor))
+(typeattributeset mediaextractor_exec_29_0 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_29_0 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_29_0 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_29_0 (mediametrics))
+(typeattributeset mediametrics_exec_29_0 (mediametrics_exec))
+(typeattributeset mediametrics_service_29_0 (mediametrics_service))
+(typeattributeset media_projection_service_29_0 (media_projection_service))
+(typeattributeset mediaprovider_29_0 (mediaprovider))
+(typeattributeset media_router_service_29_0 (media_router_service))
+(typeattributeset media_rw_data_file_29_0 (media_rw_data_file))
+(typeattributeset mediaserver_29_0 (mediaserver))
+(typeattributeset mediaserver_exec_29_0 (mediaserver_exec))
+(typeattributeset mediaserver_service_29_0 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_29_0 (mediaserver_tmpfs))
+(typeattributeset media_session_service_29_0 (media_session_service))
+(typeattributeset mediaswcodec_29_0 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_29_0 (mediaswcodec_exec))
+(typeattributeset meminfo_service_29_0 (meminfo_service))
+(typeattributeset metadata_block_device_29_0 (metadata_block_device))
+(typeattributeset metadata_file_29_0 (metadata_file))
+(typeattributeset method_trace_data_file_29_0 (method_trace_data_file))
+(typeattributeset midi_service_29_0 (midi_service))
+(typeattributeset misc_block_device_29_0 (misc_block_device))
+(typeattributeset misc_logd_file_29_0 (misc_logd_file))
+(typeattributeset misc_user_data_file_29_0 (misc_user_data_file))
+(typeattributeset mmc_prop_29_0 (mmc_prop))
+(typeattributeset mnt_expand_file_29_0 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_29_0 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_29_0 (mnt_media_rw_stub_file))
+(typeattributeset mnt_product_file_29_0 (mnt_product_file))
+(typeattributeset mnt_user_file_29_0 (mnt_user_file))
+(typeattributeset mnt_vendor_file_29_0 (mnt_vendor_file))
+(typeattributeset modprobe_29_0 (modprobe))
+(typeattributeset mount_service_29_0 (mount_service))
+(typeattributeset mqueue_29_0 (mqueue))
+(typeattributeset mtp_29_0 (mtp))
+(typeattributeset mtp_device_29_0 (mtp_device))
+(typeattributeset mtpd_socket_29_0 (mtpd_socket))
+(typeattributeset mtp_exec_29_0 (mtp_exec))
+(typeattributeset nativetest_data_file_29_0 (nativetest_data_file))
+(typeattributeset netd_29_0 (netd))
+(typeattributeset net_data_file_29_0 (net_data_file))
+(typeattributeset netd_exec_29_0 (netd_exec))
+(typeattributeset netd_listener_service_29_0 (netd_listener_service))
+(typeattributeset net_dns_prop_29_0 (net_dns_prop))
+(typeattributeset netd_service_29_0 (netd_service))
+(typeattributeset netd_stable_secret_prop_29_0 (netd_stable_secret_prop))
+(typeattributeset netif_29_0 (netif))
+(typeattributeset netpolicy_service_29_0 (netpolicy_service))
+(typeattributeset net_radio_prop_29_0 (net_radio_prop))
+(typeattributeset netstats_service_29_0 (netstats_service))
+(typeattributeset netutils_wrapper_29_0 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_29_0 (netutils_wrapper_exec))
+(typeattributeset network_management_service_29_0 (network_management_service))
+(typeattributeset network_score_service_29_0 (network_score_service))
+(typeattributeset network_stack_29_0 (network_stack))
+(typeattributeset network_stack_service_29_0 (network_stack_service))
+(typeattributeset network_time_update_service_29_0 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_29_0 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_29_0 (network_watchlist_service))
+(typeattributeset nfc_29_0 (nfc))
+(typeattributeset nfc_data_file_29_0 (nfc_data_file))
+(typeattributeset nfc_device_29_0 (nfc_device))
+(typeattributeset nfc_prop_29_0 (nfc_prop))
+(typeattributeset nfc_service_29_0 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_29_0 (nnapi_ext_deny_product_prop))
+(typeattributeset node_29_0 (node))
+(typeattributeset nonplat_service_contexts_file_29_0 (nonplat_service_contexts_file))
+(typeattributeset notification_service_29_0 (notification_service))
+(typeattributeset null_device_29_0 (null_device))
+(typeattributeset oemfs_29_0 (oemfs))
+(typeattributeset oem_lock_service_29_0 (oem_lock_service))
+(typeattributeset ota_data_file_29_0 (ota_data_file))
+(typeattributeset otadexopt_service_29_0 (otadexopt_service))
+(typeattributeset ota_package_file_29_0 (ota_package_file))
+(typeattributeset overlayfs_file_29_0 (overlayfs_file))
+(typeattributeset overlay_prop_29_0 (overlay_prop))
+(typeattributeset overlay_service_29_0 (overlay_service))
+(typeattributeset owntty_device_29_0 (owntty_device))
+(typeattributeset package_native_service_29_0 (package_native_service))
+(typeattributeset package_service_29_0 (package_service))
+(typeattributeset packages_list_file_29_0 (packages_list_file))
+(typeattributeset pan_result_prop_29_0 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_29_0 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_29_0 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_29_0 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_29_0 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_29_0 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_29_0 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_29_0 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_29_0 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_29_0 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_29_0 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_29_0 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_29_0 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_29_0 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_29_0 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_29_0 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_29_0 (pdx_performance_dir))
+(typeattributeset perfetto_29_0 (perfetto))
+(typeattributeset performanced_29_0 (performanced))
+(typeattributeset performanced_exec_29_0 (performanced_exec))
+(typeattributeset permissionmgr_service_29_0 (permissionmgr_service))
+(typeattributeset permission_service_29_0 (permission_service))
+(typeattributeset persist_debug_prop_29_0 (persist_debug_prop))
+(typeattributeset persistent_data_block_service_29_0 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_29_0 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_29_0 (pinner_service))
+(typeattributeset pipefs_29_0 (pipefs))
+(typeattributeset platform_app_29_0 (platform_app))
+(typeattributeset pm_prop_29_0 (pm_prop))
+(typeattributeset pmsg_device_29_0 (pmsg_device))
+(typeattributeset port_29_0 (port))
+(typeattributeset port_device_29_0 (port_device))
+(typeattributeset postinstall_29_0 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_29_0 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_29_0 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_29_0 (postinstall_mnt_dir))
+(typeattributeset powerctl_prop_29_0 (powerctl_prop))
+(typeattributeset power_service_29_0 (power_service))
+(typeattributeset ppp_29_0 (ppp))
+(typeattributeset ppp_device_29_0 (ppp_device))
+(typeattributeset ppp_exec_29_0 (ppp_exec))
+(typeattributeset preloads_data_file_29_0 (preloads_data_file))
+(typeattributeset preloads_media_file_29_0 (preloads_media_file))
+(typeattributeset print_service_29_0 (print_service))
+(typeattributeset priv_app_29_0 (priv_app))
+(typeattributeset privapp_data_file_29_0 (privapp_data_file))
+(typeattributeset proc_29_0
+  ( proc
+    proc_kpageflags
+    proc_lowmemorykiller
+    proc_watermark_scale_factor))
+(typeattributeset proc_abi_29_0 (proc_abi))
+(typeattributeset proc_asound_29_0 (proc_asound))
+(typeattributeset proc_bluetooth_writable_29_0 (proc_bluetooth_writable))
+(typeattributeset proc_buddyinfo_29_0 (proc_buddyinfo))
+(typeattributeset proc_cmdline_29_0 (proc_cmdline))
+(typeattributeset proc_cpuinfo_29_0 (proc_cpuinfo))
+(typeattributeset proc_dirty_29_0 (proc_dirty))
+(typeattributeset proc_diskstats_29_0 (proc_diskstats))
+(typeattributeset proc_drop_caches_29_0 (proc_drop_caches))
+(typeattributeset processinfo_service_29_0 (processinfo_service))
+(typeattributeset proc_extra_free_kbytes_29_0 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_29_0 (proc_filesystems))
+(typeattributeset proc_fs_verity_29_0 (proc_fs_verity))
+(typeattributeset proc_hostname_29_0 (proc_hostname))
+(typeattributeset proc_hung_task_29_0 (proc_hung_task))
+(typeattributeset proc_interrupts_29_0 (proc_interrupts))
+(typeattributeset proc_iomem_29_0 (proc_iomem))
+(typeattributeset proc_keys_29_0 (proc_keys))
+(typeattributeset proc_kmsg_29_0 (proc_kmsg))
+(typeattributeset proc_loadavg_29_0 (proc_loadavg))
+(typeattributeset proc_max_map_count_29_0 (proc_max_map_count))
+(typeattributeset proc_meminfo_29_0 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_29_0 (proc_min_free_order_shift))
+(typeattributeset proc_misc_29_0 (proc_misc))
+(typeattributeset proc_modules_29_0 (proc_modules))
+(typeattributeset proc_mounts_29_0 (proc_mounts))
+(typeattributeset proc_net_29_0 (proc_net))
+(typeattributeset proc_net_tcp_udp_29_0 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_29_0 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_29_0 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_29_0 (proc_pagetypeinfo))
+(typeattributeset proc_panic_29_0 (proc_panic))
+(typeattributeset proc_perf_29_0 (proc_perf))
+(typeattributeset proc_pid_max_29_0 (proc_pid_max))
+(typeattributeset proc_pipe_conf_29_0 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_29_0 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_29_0 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_29_0 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_29_0 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_29_0 (proc_qtaguid_stat))
+(typeattributeset proc_random_29_0 (proc_random))
+(typeattributeset proc_sched_29_0 (proc_sched))
+(typeattributeset proc_security_29_0 (proc_security))
+(typeattributeset proc_slabinfo_29_0 (proc_slabinfo))
+(typeattributeset proc_stat_29_0 (proc_stat))
+(typeattributeset procstats_service_29_0 (procstats_service))
+(typeattributeset proc_swaps_29_0 (proc_swaps))
+(typeattributeset proc_sysrq_29_0 (proc_sysrq))
+(typeattributeset proc_timer_29_0 (proc_timer))
+(typeattributeset proc_tty_drivers_29_0 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_29_0 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_29_0 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_29_0 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_29_0 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_29_0 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_29_0 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_29_0 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_29_0 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_29_0 (proc_uptime))
+(typeattributeset proc_version_29_0 (proc_version))
+(typeattributeset proc_vmallocinfo_29_0 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_29_0 (proc_vmstat))
+(typeattributeset proc_zoneinfo_29_0 (proc_zoneinfo))
+(typeattributeset profman_29_0 (profman))
+(typeattributeset profman_dump_data_file_29_0 (profman_dump_data_file))
+(typeattributeset profman_exec_29_0 (profman_exec))
+(typeattributeset properties_device_29_0 (properties_device))
+(typeattributeset properties_serial_29_0 (properties_serial))
+(typeattributeset property_contexts_file_29_0 (property_contexts_file))
+(typeattributeset property_data_file_29_0 (property_data_file))
+(typeattributeset property_info_29_0 (property_info))
+(typeattributeset property_socket_29_0 (property_socket))
+(typeattributeset pstorefs_29_0 (pstorefs))
+(typeattributeset ptmx_device_29_0 (ptmx_device))
+(typeattributeset qtaguid_device_29_0 (qtaguid_device))
+(typeattributeset racoon_29_0 (racoon))
+(typeattributeset racoon_exec_29_0 (racoon_exec))
+(typeattributeset racoon_socket_29_0 (racoon_socket))
+(typeattributeset radio_29_0 (radio))
+(typeattributeset radio_data_file_29_0 (radio_data_file))
+(typeattributeset radio_device_29_0 (radio_device))
+(typeattributeset radio_prop_29_0 (radio_prop))
+(typeattributeset radio_service_29_0 (radio_service))
+(typeattributeset ram_device_29_0 (ram_device))
+(typeattributeset random_device_29_0 (random_device))
+(typeattributeset recovery_29_0 (recovery))
+(typeattributeset recovery_block_device_29_0 (recovery_block_device))
+(typeattributeset recovery_data_file_29_0 (recovery_data_file))
+(typeattributeset recovery_persist_29_0 (recovery_persist))
+(typeattributeset recovery_persist_exec_29_0 (recovery_persist_exec))
+(typeattributeset recovery_refresh_29_0 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_29_0 (recovery_refresh_exec))
+(typeattributeset recovery_service_29_0 (recovery_service))
+(typeattributeset recovery_socket_29_0 (recovery_socket))
+(typeattributeset registry_service_29_0 (registry_service))
+(typeattributeset resourcecache_data_file_29_0 (resourcecache_data_file))
+(typeattributeset restorecon_prop_29_0 (restorecon_prop))
+(typeattributeset restrictions_service_29_0 (restrictions_service))
+(typeattributeset rild_debug_socket_29_0 (rild_debug_socket))
+(typeattributeset rild_socket_29_0 (rild_socket))
+(typeattributeset ringtone_file_29_0 (ringtone_file))
+(typeattributeset role_service_29_0 (role_service))
+(typeattributeset rollback_service_29_0 (rollback_service))
+(typeattributeset root_block_device_29_0 (root_block_device))
+(typeattributeset rootfs_29_0 (rootfs))
+(typeattributeset rpmsg_device_29_0 (rpmsg_device))
+(typeattributeset rs_29_0 (rs))
+(typeattributeset rs_exec_29_0 (rs_exec))
+(typeattributeset rss_hwm_reset_29_0 (rss_hwm_reset))
+(typeattributeset rtc_device_29_0 (rtc_device))
+(typeattributeset rttmanager_service_29_0 (rttmanager_service))
+(typeattributeset runas_29_0 (runas))
+(typeattributeset runas_app_29_0 (runas_app))
+(typeattributeset runas_exec_29_0 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_29_0 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_29_0 (runtime_service))
+(typeattributeset safemode_prop_29_0 (safemode_prop))
+(typeattributeset same_process_hal_file_29_0 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_29_0 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_29_0 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_29_0 (sdcard_block_device))
+(typeattributeset sdcardd_29_0 (sdcardd))
+(typeattributeset sdcardd_exec_29_0 (sdcardd_exec))
+(typeattributeset sdcardfs_29_0 (sdcardfs))
+(typeattributeset seapp_contexts_file_29_0 (seapp_contexts_file))
+(typeattributeset search_service_29_0 (search_service))
+(typeattributeset sec_key_att_app_id_provider_service_29_0 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_29_0 (secure_element))
+(typeattributeset secure_element_device_29_0 (secure_element_device))
+(typeattributeset secure_element_service_29_0 (secure_element_service))
+(typeattributeset selinuxfs_29_0 (selinuxfs))
+(typeattributeset sensor_privacy_service_29_0 (sensor_privacy_service))
+(typeattributeset sensors_device_29_0 (sensors_device))
+(typeattributeset sensorservice_service_29_0 (sensorservice_service))
+(typeattributeset sepolicy_file_29_0 (sepolicy_file))
+(typeattributeset serial_device_29_0 (serial_device))
+(typeattributeset serialno_prop_29_0 (serialno_prop))
+(typeattributeset serial_service_29_0 (serial_service))
+(typeattributeset server_configurable_flags_data_file_29_0 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_29_0 (service_contexts_file))
+(typeattributeset servicediscovery_service_29_0 (servicediscovery_service))
+(typeattributeset servicemanager_29_0 (servicemanager))
+(typeattributeset servicemanager_exec_29_0 (servicemanager_exec))
+(typeattributeset settings_service_29_0 (settings_service))
+(typeattributeset sgdisk_29_0 (sgdisk))
+(typeattributeset sgdisk_exec_29_0 (sgdisk_exec))
+(typeattributeset shared_relro_29_0 (shared_relro))
+(typeattributeset shared_relro_file_29_0 (shared_relro_file))
+(typeattributeset shell_29_0 (shell))
+(typeattributeset shell_data_file_29_0 (shell_data_file))
+(typeattributeset shell_exec_29_0 (shell_exec))
+(typeattributeset shell_prop_29_0 (shell_prop))
+(typeattributeset shm_29_0 (shm))
+(typeattributeset shortcut_manager_icons_29_0 (shortcut_manager_icons))
+(typeattributeset shortcut_service_29_0 (shortcut_service))
+(typeattributeset simpleperf_app_runner_29_0 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_29_0 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_29_0 (slice_service))
+(typeattributeset slideshow_29_0 (slideshow))
+(typeattributeset socket_device_29_0 (socket_device))
+(typeattributeset sockfs_29_0 (sockfs))
+(typeattributeset staging_data_file_29_0 (staging_data_file))
+(typeattributeset statsd_29_0 (statsd))
+(typeattributeset stats_data_file_29_0 (stats_data_file))
+(typeattributeset statsd_exec_29_0 (statsd_exec))
+(typeattributeset statsdw_socket_29_0 (statsdw_socket))
+(typeattributeset statusbar_service_29_0 (statusbar_service))
+(typeattributeset storaged_service_29_0 (storaged_service))
+(typeattributeset storage_file_29_0 (storage_file))
+(typeattributeset storagestats_service_29_0 (storagestats_service))
+(typeattributeset storage_stub_file_29_0 (storage_stub_file))
+(typeattributeset su_29_0 (su))
+(typeattributeset su_exec_29_0 (su_exec))
+(typeattributeset super_block_device_29_0 (super_block_device))
+(typeattributeset surfaceflinger_29_0 (surfaceflinger))
+(typeattributeset surfaceflinger_service_29_0 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_29_0 (surfaceflinger_tmpfs))
+(typeattributeset swap_block_device_29_0 (swap_block_device))
+(typeattributeset sysfs_29_0
+  ( sysfs
+    sysfs_ion
+    sysfs_suspend_stats
+    sysfs_wakeup))
+(typeattributeset sysfs_android_usb_29_0 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_29_0 (sysfs_batteryinfo))
+(typeattributeset sysfs_bluetooth_writable_29_0 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devices_block_29_0 (sysfs_devices_block))
+(typeattributeset sysfs_devices_system_cpu_29_0 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_29_0 (sysfs_dm))
+(typeattributeset sysfs_dt_firmware_android_29_0 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_29_0 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_29_0 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_29_0 (sysfs_fs_f2fs))
+(typeattributeset sysfs_hwrandom_29_0 (sysfs_hwrandom))
+(typeattributeset sysfs_ipv4_29_0 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_29_0 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_29_0 (sysfs_leds))
+(typeattributeset sysfs_loop_29_0 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_29_0 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_mac_address_29_0 (sysfs_mac_address))
+(typeattributeset sysfs_net_29_0 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_29_0 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_29_0 (sysfs_power))
+(typeattributeset sysfs_rtc_29_0 (sysfs_rtc))
+(typeattributeset sysfs_switch_29_0 (sysfs_switch))
+(typeattributeset sysfs_thermal_29_0 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_29_0 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uio_29_0 (sysfs_uio))
+(typeattributeset sysfs_usb_29_0 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_29_0 (sysfs_usermodehelper))
+(typeattributeset sysfs_vibrator_29_0 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_29_0 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_reasons_29_0 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_29_0 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_29_0 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_29_0 (sysfs_zram_uevent))
+(typeattributeset system_app_29_0 (system_app))
+(typeattributeset system_app_data_file_29_0 (system_app_data_file))
+(typeattributeset system_app_service_29_0 (system_app_service))
+(typeattributeset system_asan_options_file_29_0 (system_asan_options_file))
+(typeattributeset system_block_device_29_0 (system_block_device))
+(typeattributeset system_boot_reason_prop_29_0 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_29_0 (system_bootstrap_lib_file))
+(typeattributeset system_data_file_29_0 (system_data_file system_data_root_file))
+(typeattributeset system_event_log_tags_file_29_0 (system_event_log_tags_file))
+(typeattributeset system_file_29_0 (system_file))
+(typeattributeset systemkeys_data_file_29_0 (systemkeys_data_file))
+(typeattributeset system_lib_file_29_0 (system_lib_file))
+(typeattributeset system_linker_config_file_29_0 (system_linker_config_file))
+(typeattributeset system_linker_exec_29_0 (system_linker_exec))
+(typeattributeset system_lmk_prop_29_0 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_29_0 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_29_0 (system_net_netd_hwservice))
+(typeattributeset system_prop_29_0 (system_prop))
+(typeattributeset system_radio_prop_29_0 (system_radio_prop))
+(typeattributeset system_seccomp_policy_file_29_0 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_29_0 (system_security_cacerts_file))
+(typeattributeset system_server_29_0 (system_server))
+(typeattributeset system_server_tmpfs_29_0 (system_server_tmpfs))
+(typeattributeset system_suspend_control_service_29_0 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_29_0 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_29_0 (system_trace_prop))
+(typeattributeset system_update_service_29_0 (system_update_service))
+(typeattributeset system_wifi_keystore_hwservice_29_0 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_29_0 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_29_0 (system_zoneinfo_file))
+(typeattributeset task_profiles_file_29_0 (task_profiles_file))
+(typeattributeset task_service_29_0 (task_service))
+(typeattributeset tcpdump_exec_29_0 (tcpdump_exec))
+(typeattributeset tee_29_0 (tee))
+(typeattributeset tee_data_file_29_0 (tee_data_file))
+(typeattributeset tee_device_29_0 (tee_device))
+(typeattributeset telecom_service_29_0 (telecom_service))
+(typeattributeset test_boot_reason_prop_29_0 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_29_0 (test_harness_prop))
+(typeattributeset testharness_service_29_0 (testharness_service))
+(typeattributeset textclassification_service_29_0 (textclassification_service))
+(typeattributeset textclassifier_data_file_29_0 (textclassifier_data_file))
+(typeattributeset textservices_service_29_0 (textservices_service))
+(typeattributeset thermalcallback_hwservice_29_0 (thermalcallback_hwservice))
+(typeattributeset thermal_service_29_0 (thermal_service))
+(typeattributeset timedetector_service_29_0 (timedetector_service))
+(typeattributeset time_prop_29_0 (time_prop))
+(typeattributeset timezone_service_29_0 (timezone_service))
+(typeattributeset tmpfs_29_0
+  ( mnt_sdcard_file
+    tmpfs))
+(typeattributeset tombstoned_29_0 (tombstoned))
+(typeattributeset tombstone_data_file_29_0 (tombstone_data_file))
+(typeattributeset tombstoned_crash_socket_29_0 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_29_0 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_29_0 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_29_0 (tombstoned_java_trace_socket))
+(typeattributeset tombstone_wifi_data_file_29_0 (tombstone_wifi_data_file))
+(typeattributeset toolbox_29_0 (toolbox))
+(typeattributeset toolbox_exec_29_0 (toolbox_exec))
+(typeattributeset traced_29_0 (traced))
+(typeattributeset trace_data_file_29_0 (trace_data_file))
+(typeattributeset traced_consumer_socket_29_0 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_29_0 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_29_0 (traced_lazy_prop))
+(typeattributeset traced_probes_29_0 (traced_probes))
+(typeattributeset traced_producer_socket_29_0 (traced_producer_socket))
+(typeattributeset traceur_app_29_0 (traceur_app))
+(typeattributeset trust_service_29_0 (trust_service))
+(typeattributeset tty_device_29_0 (tty_device))
+(typeattributeset tun_device_29_0 (tun_device))
+(typeattributeset tv_input_service_29_0 (tv_input_service))
+(typeattributeset tzdatacheck_29_0 (tzdatacheck))
+(typeattributeset tzdatacheck_exec_29_0 (tzdatacheck_exec))
+(typeattributeset ueventd_29_0 (ueventd))
+(typeattributeset ueventd_tmpfs_29_0 (ueventd_tmpfs))
+(typeattributeset uhid_device_29_0 (uhid_device))
+(typeattributeset uimode_service_29_0 (uimode_service))
+(typeattributeset uio_device_29_0 (uio_device))
+(typeattributeset uncrypt_29_0 (uncrypt))
+(typeattributeset uncrypt_exec_29_0 (uncrypt_exec))
+(typeattributeset uncrypt_socket_29_0 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_29_0 (unencrypted_data_file))
+(typeattributeset unlabeled_29_0 (unlabeled))
+(typeattributeset untrusted_app_25_29_0 (untrusted_app_25))
+(typeattributeset untrusted_app_27_29_0 (untrusted_app_27))
+(typeattributeset untrusted_app_29_0 (untrusted_app))
+(typeattributeset update_engine_29_0 (update_engine))
+(typeattributeset update_engine_data_file_29_0 (update_engine_data_file))
+(typeattributeset update_engine_exec_29_0 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_29_0 (update_engine_log_data_file))
+(typeattributeset update_engine_service_29_0 (update_engine_service))
+(typeattributeset updatelock_service_29_0 (updatelock_service))
+(typeattributeset update_verifier_29_0 (update_verifier))
+(typeattributeset update_verifier_exec_29_0 (update_verifier_exec))
+(typeattributeset uri_grants_service_29_0 (uri_grants_service))
+(typeattributeset usagestats_service_29_0 (usagestats_service))
+(typeattributeset usbaccessory_device_29_0 (usbaccessory_device))
+(typeattributeset usbd_29_0 (usbd))
+(typeattributeset usb_device_29_0 (usb_device))
+(typeattributeset usbd_exec_29_0 (usbd_exec))
+(typeattributeset usbfs_29_0 (usbfs))
+(typeattributeset usb_service_29_0 (usb_service))
+(typeattributeset use_memfd_prop_29_0 (use_memfd_prop))
+(typeattributeset userdata_block_device_29_0 (userdata_block_device))
+(typeattributeset usermodehelper_29_0 (usermodehelper))
+(typeattributeset user_profile_data_file_29_0 (user_profile_data_file))
+(typeattributeset user_service_29_0 (user_service))
+(typeattributeset vdc_29_0 (vdc))
+(typeattributeset vdc_exec_29_0 (vdc_exec))
+(typeattributeset vendor_app_file_29_0 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_29_0 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_29_0 (vendor_configs_file))
+(typeattributeset vendor_data_file_29_0 (vendor_data_file))
+(typeattributeset vendor_default_prop_29_0 (vendor_default_prop))
+(typeattributeset vendor_file_29_0 (vendor_file))
+(typeattributeset vendor_framework_file_29_0 (vendor_framework_file))
+(typeattributeset vendor_hal_file_29_0 (vendor_hal_file))
+(typeattributeset vendor_idc_file_29_0 (vendor_idc_file))
+(typeattributeset vendor_init_29_0 (vendor_init))
+(typeattributeset vendor_keychars_file_29_0 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_29_0 (vendor_keylayout_file))
+(typeattributeset vendor_overlay_file_29_0 (vendor_overlay_file))
+(typeattributeset vendor_public_lib_file_29_0
+    ( vendor_public_framework_file
+      vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_29_0 (vendor_security_patch_level_prop))
+(typeattributeset vendor_shell_29_0 (vendor_shell))
+(typeattributeset vendor_shell_exec_29_0 (vendor_shell_exec))
+(typeattributeset vendor_task_profiles_file_29_0 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_29_0 (vendor_toolbox_exec))
+(typeattributeset vfat_29_0 (vfat))
+(typeattributeset vibrator_service_29_0 (vibrator_service))
+(typeattributeset video_device_29_0 (video_device))
+(typeattributeset virtual_touchpad_29_0 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_29_0 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_29_0 (virtual_touchpad_service))
+(typeattributeset vndbinder_device_29_0 (vndbinder_device))
+(typeattributeset vndk_sp_file_29_0 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_29_0 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_29_0 (vndservicemanager))
+(typeattributeset voiceinteraction_service_29_0 (voiceinteraction_service))
+(typeattributeset vold_29_0 (vold))
+(typeattributeset vold_data_file_29_0 (vold_data_file))
+(typeattributeset vold_device_29_0 (vold_device))
+(typeattributeset vold_exec_29_0 (vold_exec))
+(typeattributeset vold_metadata_file_29_0 (vold_metadata_file))
+(typeattributeset vold_prepare_subdirs_29_0 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_29_0 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_29_0 (vold_prop))
+(typeattributeset vold_service_29_0 (vold_service))
+(typeattributeset vpn_data_file_29_0 (vpn_data_file))
+(typeattributeset vrflinger_vsync_service_29_0 (vrflinger_vsync_service))
+(typeattributeset vr_hwc_29_0 (vr_hwc))
+(typeattributeset vr_hwc_exec_29_0 (vr_hwc_exec))
+(typeattributeset vr_hwc_service_29_0 (vr_hwc_service))
+(typeattributeset vr_manager_service_29_0 (vr_manager_service))
+(typeattributeset wallpaper_file_29_0 (wallpaper_file))
+(typeattributeset wallpaper_service_29_0 (wallpaper_service))
+(typeattributeset watchdogd_29_0 (watchdogd))
+(typeattributeset watchdog_device_29_0 (watchdog_device))
+(typeattributeset watchdogd_exec_29_0 (watchdogd_exec))
+(typeattributeset webviewupdate_service_29_0 (webviewupdate_service))
+(typeattributeset webview_zygote_29_0 (webview_zygote))
+(typeattributeset webview_zygote_exec_29_0 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_29_0 (webview_zygote_tmpfs))
+(typeattributeset wifiaware_service_29_0 (wifiaware_service))
+(typeattributeset wificond_29_0 (wificond))
+(typeattributeset wificond_exec_29_0 (wificond_exec))
+(typeattributeset wificond_service_29_0 (wificond_service wifinl80211_service))
+(typeattributeset wifi_data_file_29_0 (wifi_data_file))
+(typeattributeset wifi_log_prop_29_0 (wifi_log_prop))
+(typeattributeset wifip2p_service_29_0 (wifip2p_service))
+(typeattributeset wifi_prop_29_0 (wifi_prop))
+(typeattributeset wifiscanner_service_29_0 (wifiscanner_service))
+(typeattributeset wifi_service_29_0 (wifi_service))
+(typeattributeset window_service_29_0 (window_service))
+(typeattributeset wpantund_29_0 (wpantund))
+(typeattributeset wpantund_exec_29_0 (wpantund_exec))
+(typeattributeset wpantund_service_29_0 (wpantund_service))
+(typeattributeset wpa_socket_29_0 (wpa_socket))
+(typeattributeset zero_device_29_0 (zero_device))
+(typeattributeset zoneinfo_data_file_29_0 (zoneinfo_data_file))
+(typeattributeset zygote_29_0 (zygote))
+(typeattributeset zygote_exec_29_0 (zygote_exec))
+(typeattributeset zygote_socket_29_0 (zygote_socket))
+(typeattributeset zygote_tmpfs_29_0 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/29.0/29.0.compat.cil b/prebuilts/api/202504/private/compat/29.0/29.0.compat.cil
new file mode 100644
index 0000000..2d37de6
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/29.0/29.0.compat.cil
@@ -0,0 +1,38 @@
+;; complement CIL file for compatibility between ToT policy and 29.0 vendors.
+;; will be compiled along with other normal policy files, on 29.0 vendors.
+;;
+
+(typeattribute vendordomain)
+(typeattributeset vendordomain ((and (domain) ((not (coredomain))))))
+(allow vendordomain self (netlink_route_socket (nlmsg_readpriv)))
+
+(typeattributeset mlsvendorcompat (and appdomain vendordomain))
+(allow mlsvendorcompat app_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mlsvendorcompat app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mlsvendorcompat privapp_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mlsvendorcompat privapp_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+
+;; permission for devices (older than S) where debugfs restriction doesn't apply.
+(typeattribute debugfs_file_type)
+(typeattributeset debugfs_file_type (and debugfs_type file_type))
+(typeattribute debugfs_fs_type)
+(typeattributeset debugfs_fs_type (and debugfs_type fs_type))
+
+(allow dumpstate debugfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate debugfs_mmc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate debugfs_wakeup_sources (file (ioctl read getattr lock map open watch watch_reads)))
+(auditallow dumpstate debugfs (file (ioctl read getattr lock map open watch watch_reads)))
+
+(allow init debugfs (dir (getattr relabelfrom)))
+(allow init debugfs (file (getattr relabelfrom)))
+(allow init debugfs (lnk_file (getattr relabelfrom)))
+(allow init debugfs_file_type (file (create getattr open read write setattr relabelfrom unlink map)))
+(allow init debugfs_fs_type (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget watch)))
+(allow init debugfs_type (dir (getattr relabelto)))
+(allow init debugfs_type (file (getattr relabelto)))
+(allow init debugfs_type (lnk_file (getattr relabelto)))
+
+(allow system_server debugfs_wakeup_sources (file (ioctl read getattr lock map open watch watch_reads)))
+
+(allow vendor_init debugfs_file_type (file (create getattr open read write setattr relabelfrom unlink map)))
+(allow vendor_init debugfs_fs_type (file (open read setattr map)))
diff --git a/prebuilts/api/202504/private/compat/29.0/29.0.ignore.cil b/prebuilts/api/202504/private/compat/29.0/29.0.ignore.cil
new file mode 100644
index 0000000..e40888d
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/29.0/29.0.ignore.cil
@@ -0,0 +1,130 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 29.0 policy.  Thus, we do not need to map
+;;   these types to previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    aidl_lazy_test_server
+    aidl_lazy_test_server_exec
+    aidl_lazy_test_service
+    adbd_prop
+    apex_module_data_file
+    apex_permission_data_file
+    apex_rollback_data_file
+    apex_wifi_data_file
+    app_integrity_service
+    app_search_service
+    auth_service
+    automotive_display_service
+    automotive_display_service_exec
+    ashmem_libcutils_device
+    blob_store_service
+    binder_cache_bluetooth_server_prop
+    binder_cache_system_server_prop
+    binder_cache_telephony_server_prop
+    binderfs
+    binderfs_logs
+    binderfs_logs_proc
+    boringssl_self_test
+    bq_config_prop
+    cacheinfo_service
+    charger_prop
+    cold_boot_done_prop
+    credstore
+    credstore_data_file
+    credstore_exec
+    credstore_service
+    platform_compat_service
+    ctl_apexd_prop
+    dataloader_manager_service
+    device_config_storage_native_boot_prop
+    device_config_sys_traced_prop
+    device_config_window_manager_native_boot_prop
+    device_config_configuration_prop
+    emergency_affordance_service
+    exported_camera_prop
+    fastbootd_protocol_prop
+    file_integrity_service
+    fwk_automotive_display_hwservice
+    fusectlfs
+    gmscore_app
+    gnss_device
+    graphics_config_prop
+    hal_can_bus_hwservice
+    hal_can_controller_hwservice
+    hal_identity_service
+    hal_light_service
+    hal_power_service
+    hal_rebootescrow_service
+    hal_tv_tuner_hwservice
+    hal_vibrator_service
+    incremental_control_file
+    incremental_prop
+    incremental_service
+    init_perf_lsm_hooks_prop
+    init_svc_debug_prop
+    iorap_inode2filename
+    iorap_inode2filename_data_file
+    iorap_inode2filename_exec
+    iorap_inode2filename_tmpfs
+    iorap_prefetcherd
+    iorap_prefetcherd_data_file
+    iorap_prefetcherd_exec
+    iorap_prefetcherd_tmpfs
+    mediatranscoding_service
+    mediatranscoding
+    mediatranscoding_exec
+    mediatranscoding_tmpfs
+    mirror_data_file
+    light_service
+    linkerconfig_file
+    lmkd_prop
+    media_variant_prop
+    metadata_bootstat_file
+    mnt_pass_through_file
+    mock_ota_prop
+    module_sdkextensions_prop
+    ota_metadata_file
+    ota_prop
+    prereboot_data_file
+    art_apex_dir
+    rebootescrow_hal_prop
+    securityfs
+    service_manager_service
+    service_manager_vndservice
+    simpleperf
+    snapshotctl_log_data_file
+    socket_hook_prop
+    soundtrigger_middleware_service
+    staged_install_file
+    storage_config_prop
+    surfaceflinger_display_prop
+    sysfs_dm_verity
+    system_adbd_prop
+    system_config_service
+    system_group_file
+    system_jvmti_agent_prop
+    system_passwd_file
+    system_unsolzygote_socket
+    tethering_service
+    traced_perf
+    traced_perf_enabled_prop
+    traced_perf_socket
+    timezonedetector_service
+    untrusted_app_29
+    usb_serial_device
+    userspace_reboot_config_prop
+    userspace_reboot_exported_prop
+    userspace_reboot_log_prop
+    userspace_reboot_test_prop
+    vehicle_hal_prop
+    tv_tuner_resource_mgr_service
+    vendor_apex_file
+    vendor_boringssl_self_test
+    vendor_install_recovery
+    vendor_install_recovery_exec
+    vendor_service_contexts_file
+    vendor_socket_hook_prop
+    vendor_socket_hook_prop
+    virtual_ab_prop))
diff --git a/prebuilts/api/202504/private/compat/30.0/30.0.cil b/prebuilts/api/202504/private/compat/30.0/30.0.cil
new file mode 100644
index 0000000..f95488c
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/30.0/30.0.cil
@@ -0,0 +1,2284 @@
+;; types removed from current policy
+(type adbd_prop)
+(type cgroup_bpf)
+(type device_config_configuration_prop)
+(type device_config_storage_native_boot_prop)
+(type device_config_sys_traced_prop)
+(type device_config_window_manager_native_boot_prop)
+(type exported_audio_prop)
+(type exported_dalvik_prop)
+(type exported_ffs_prop)
+(type exported_fingerprint_prop)
+(type exported_radio_prop)
+(type exported_system_radio_prop)
+(type exported_vold_prop)
+(type exported_wifi_prop)
+(type exported2_config_prop)
+(type exported2_default_prop)
+(type exported2_radio_prop)
+(type exported2_system_prop)
+(type exported2_vold_prop)
+(type exported3_default_prop)
+(type exported3_radio_prop)
+(type ffs_prop)
+(type gsid_prop)
+(type init_perf_lsm_hooks_prop)
+(type init_svc_debug_prop)
+(type last_boot_reason_prop)
+(type mediatranscoding_exec)
+(type netd_stable_secret_prop)
+(type pm_prop)
+(type system_adbd_prop)
+(type system_radio_prop)
+(type thermalcallback_hwservice)
+(type traced_perf_enabled_prop)
+(type userspace_reboot_log_prop)
+(type userspace_reboot_test_prop)
+
+(typeattribute binder_in_vendor_violators)
+
+;; mapping information from ToT policy's types to 30.0 policy's types.
+(expandtypeattribute (DockObserver_service_30_0) true)
+(expandtypeattribute (IProxyService_service_30_0) true)
+(expandtypeattribute (accessibility_service_30_0) true)
+(expandtypeattribute (account_service_30_0) true)
+(expandtypeattribute (activity_service_30_0) true)
+(expandtypeattribute (activity_task_service_30_0) true)
+(expandtypeattribute (adb_data_file_30_0) true)
+(expandtypeattribute (adb_keys_file_30_0) true)
+(expandtypeattribute (adb_service_30_0) true)
+(expandtypeattribute (adbd_30_0) true)
+(expandtypeattribute (adbd_exec_30_0) true)
+(expandtypeattribute (adbd_prop_30_0) true)
+(expandtypeattribute (adbd_socket_30_0) true)
+(expandtypeattribute (aidl_lazy_test_server_30_0) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_30_0) true)
+(expandtypeattribute (aidl_lazy_test_service_30_0) true)
+(expandtypeattribute (alarm_service_30_0) true)
+(expandtypeattribute (anr_data_file_30_0) true)
+(expandtypeattribute (apex_data_file_30_0) true)
+(expandtypeattribute (apex_metadata_file_30_0) true)
+(expandtypeattribute (apex_mnt_dir_30_0) true)
+(expandtypeattribute (apex_module_data_file_30_0) true)
+(expandtypeattribute (apex_permission_data_file_30_0) true)
+(expandtypeattribute (apex_rollback_data_file_30_0) true)
+(expandtypeattribute (apex_service_30_0) true)
+(expandtypeattribute (apex_wifi_data_file_30_0) true)
+(expandtypeattribute (apexd_30_0) true)
+(expandtypeattribute (apexd_exec_30_0) true)
+(expandtypeattribute (apexd_prop_30_0) true)
+(expandtypeattribute (apk_data_file_30_0) true)
+(expandtypeattribute (apk_private_data_file_30_0) true)
+(expandtypeattribute (apk_private_tmp_file_30_0) true)
+(expandtypeattribute (apk_tmp_file_30_0) true)
+(expandtypeattribute (apk_verity_prop_30_0) true)
+(expandtypeattribute (app_binding_service_30_0) true)
+(expandtypeattribute (app_data_file_30_0) true)
+(expandtypeattribute (app_fuse_file_30_0) true)
+(expandtypeattribute (app_fusefs_30_0) true)
+(expandtypeattribute (app_integrity_service_30_0) true)
+(expandtypeattribute (app_prediction_service_30_0) true)
+(expandtypeattribute (app_search_service_30_0) true)
+(expandtypeattribute (app_zygote_30_0) true)
+(expandtypeattribute (app_zygote_tmpfs_30_0) true)
+(expandtypeattribute (appdomain_tmpfs_30_0) true)
+(expandtypeattribute (appops_service_30_0) true)
+(expandtypeattribute (appwidget_service_30_0) true)
+(expandtypeattribute (art_apex_dir_30_0) true)
+(expandtypeattribute (asec_apk_file_30_0) true)
+(expandtypeattribute (asec_image_file_30_0) true)
+(expandtypeattribute (asec_public_file_30_0) true)
+(expandtypeattribute (ashmem_device_30_0) true)
+(expandtypeattribute (ashmem_libcutils_device_30_0) true)
+(expandtypeattribute (assetatlas_service_30_0) true)
+(expandtypeattribute (audio_data_file_30_0) true)
+(expandtypeattribute (audio_device_30_0) true)
+(expandtypeattribute (audio_prop_30_0) true)
+(expandtypeattribute (audio_service_30_0) true)
+(expandtypeattribute (audiohal_data_file_30_0) true)
+(expandtypeattribute (audioserver_30_0) true)
+(expandtypeattribute (audioserver_data_file_30_0) true)
+(expandtypeattribute (audioserver_service_30_0) true)
+(expandtypeattribute (audioserver_tmpfs_30_0) true)
+(expandtypeattribute (auth_service_30_0) true)
+(expandtypeattribute (autofill_service_30_0) true)
+(expandtypeattribute (backup_data_file_30_0) true)
+(expandtypeattribute (backup_service_30_0) true)
+(expandtypeattribute (battery_service_30_0) true)
+(expandtypeattribute (batteryproperties_service_30_0) true)
+(expandtypeattribute (batterystats_service_30_0) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_30_0) true)
+(expandtypeattribute (binder_cache_system_server_prop_30_0) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_30_0) true)
+(expandtypeattribute (binder_calls_stats_service_30_0) true)
+(expandtypeattribute (binder_device_30_0) true)
+(expandtypeattribute (binderfs_30_0) true)
+(expandtypeattribute (binderfs_logs_30_0) true)
+(expandtypeattribute (binderfs_logs_proc_30_0) true)
+(expandtypeattribute (binfmt_miscfs_30_0) true)
+(expandtypeattribute (biometric_service_30_0) true)
+(expandtypeattribute (blkid_30_0) true)
+(expandtypeattribute (blkid_untrusted_30_0) true)
+(expandtypeattribute (blob_store_service_30_0) true)
+(expandtypeattribute (block_device_30_0) true)
+(expandtypeattribute (bluetooth_30_0) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_30_0) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_30_0) true)
+(expandtypeattribute (bluetooth_data_file_30_0) true)
+(expandtypeattribute (bluetooth_efs_file_30_0) true)
+(expandtypeattribute (bluetooth_logs_data_file_30_0) true)
+(expandtypeattribute (bluetooth_manager_service_30_0) true)
+(expandtypeattribute (bluetooth_prop_30_0) true)
+(expandtypeattribute (bluetooth_service_30_0) true)
+(expandtypeattribute (bluetooth_socket_30_0) true)
+(expandtypeattribute (boot_block_device_30_0) true)
+(expandtypeattribute (bootanim_30_0) true)
+(expandtypeattribute (bootanim_exec_30_0) true)
+(expandtypeattribute (bootchart_data_file_30_0) true)
+(expandtypeattribute (bootloader_boot_reason_prop_30_0) true)
+(expandtypeattribute (bootstat_30_0) true)
+(expandtypeattribute (bootstat_data_file_30_0) true)
+(expandtypeattribute (bootstat_exec_30_0) true)
+(expandtypeattribute (boottime_prop_30_0) true)
+(expandtypeattribute (boottime_public_prop_30_0) true)
+(expandtypeattribute (boottrace_data_file_30_0) true)
+(expandtypeattribute (bpf_progs_loaded_prop_30_0) true)
+(expandtypeattribute (bq_config_prop_30_0) true)
+(expandtypeattribute (broadcastradio_service_30_0) true)
+(expandtypeattribute (bufferhubd_30_0) true)
+(expandtypeattribute (bufferhubd_exec_30_0) true)
+(expandtypeattribute (bugreport_service_30_0) true)
+(expandtypeattribute (cache_backup_file_30_0) true)
+(expandtypeattribute (cache_block_device_30_0) true)
+(expandtypeattribute (cache_file_30_0) true)
+(expandtypeattribute (cache_private_backup_file_30_0) true)
+(expandtypeattribute (cache_recovery_file_30_0) true)
+(expandtypeattribute (camera_data_file_30_0) true)
+(expandtypeattribute (camera_device_30_0) true)
+(expandtypeattribute (cameraproxy_service_30_0) true)
+(expandtypeattribute (cameraserver_30_0) true)
+(expandtypeattribute (cameraserver_exec_30_0) true)
+(expandtypeattribute (cameraserver_service_30_0) true)
+(expandtypeattribute (cameraserver_tmpfs_30_0) true)
+(expandtypeattribute (cgroup_30_0) true)
+(expandtypeattribute (cgroup_bpf_30_0) true)
+(expandtypeattribute (cgroup_desc_file_30_0) true)
+(expandtypeattribute (cgroup_rc_file_30_0) true)
+(expandtypeattribute (charger_30_0) true)
+(expandtypeattribute (charger_exec_30_0) true)
+(expandtypeattribute (charger_prop_30_0) true)
+(expandtypeattribute (clipboard_service_30_0) true)
+(expandtypeattribute (cold_boot_done_prop_30_0) true)
+(expandtypeattribute (color_display_service_30_0) true)
+(expandtypeattribute (companion_device_service_30_0) true)
+(expandtypeattribute (config_prop_30_0) true)
+(expandtypeattribute (configfs_30_0) true)
+(expandtypeattribute (connectivity_service_30_0) true)
+(expandtypeattribute (connmetrics_service_30_0) true)
+(expandtypeattribute (console_device_30_0) true)
+(expandtypeattribute (consumer_ir_service_30_0) true)
+(expandtypeattribute (content_capture_service_30_0) true)
+(expandtypeattribute (content_service_30_0) true)
+(expandtypeattribute (content_suggestions_service_30_0) true)
+(expandtypeattribute (contexthub_service_30_0) true)
+(expandtypeattribute (coredump_file_30_0) true)
+(expandtypeattribute (country_detector_service_30_0) true)
+(expandtypeattribute (coverage_service_30_0) true)
+(expandtypeattribute (cppreopt_prop_30_0) true)
+(expandtypeattribute (cpu_variant_prop_30_0) true)
+(expandtypeattribute (cpuinfo_service_30_0) true)
+(expandtypeattribute (crash_dump_30_0) true)
+(expandtypeattribute (crash_dump_exec_30_0) true)
+(expandtypeattribute (credstore_30_0) true)
+(expandtypeattribute (credstore_data_file_30_0) true)
+(expandtypeattribute (credstore_exec_30_0) true)
+(expandtypeattribute (credstore_service_30_0) true)
+(expandtypeattribute (crossprofileapps_service_30_0) true)
+(expandtypeattribute (ctl_adbd_prop_30_0) true)
+(expandtypeattribute (ctl_apexd_prop_30_0) true)
+(expandtypeattribute (ctl_bootanim_prop_30_0) true)
+(expandtypeattribute (ctl_bugreport_prop_30_0) true)
+(expandtypeattribute (ctl_console_prop_30_0) true)
+(expandtypeattribute (ctl_default_prop_30_0) true)
+(expandtypeattribute (ctl_dumpstate_prop_30_0) true)
+(expandtypeattribute (ctl_fuse_prop_30_0) true)
+(expandtypeattribute (ctl_gsid_prop_30_0) true)
+(expandtypeattribute (ctl_interface_restart_prop_30_0) true)
+(expandtypeattribute (ctl_interface_start_prop_30_0) true)
+(expandtypeattribute (ctl_interface_stop_prop_30_0) true)
+(expandtypeattribute (ctl_mdnsd_prop_30_0) true)
+(expandtypeattribute (ctl_restart_prop_30_0) true)
+(expandtypeattribute (ctl_rildaemon_prop_30_0) true)
+(expandtypeattribute (ctl_sigstop_prop_30_0) true)
+(expandtypeattribute (ctl_start_prop_30_0) true)
+(expandtypeattribute (ctl_stop_prop_30_0) true)
+(expandtypeattribute (dalvik_prop_30_0) true)
+(expandtypeattribute (dalvikcache_data_file_30_0) true)
+(expandtypeattribute (dataloader_manager_service_30_0) true)
+(expandtypeattribute (dbinfo_service_30_0) true)
+(expandtypeattribute (debug_prop_30_0) true)
+(expandtypeattribute (debugfs_30_0) true)
+(expandtypeattribute (debugfs_mmc_30_0) true)
+(expandtypeattribute (debugfs_trace_marker_30_0) true)
+(expandtypeattribute (debugfs_tracing_30_0) true)
+(expandtypeattribute (debugfs_tracing_debug_30_0) true)
+(expandtypeattribute (debugfs_tracing_instances_30_0) true)
+(expandtypeattribute (debugfs_wakeup_sources_30_0) true)
+(expandtypeattribute (debugfs_wifi_tracing_30_0) true)
+(expandtypeattribute (debuggerd_prop_30_0) true)
+(expandtypeattribute (default_android_hwservice_30_0) true)
+(expandtypeattribute (default_android_service_30_0) true)
+(expandtypeattribute (default_android_vndservice_30_0) true)
+(expandtypeattribute (default_prop_30_0) true)
+(expandtypeattribute (dev_cpu_variant_30_0) true)
+(expandtypeattribute (device_30_0) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_30_0) true)
+(expandtypeattribute (device_config_boot_count_prop_30_0) true)
+(expandtypeattribute (device_config_configuration_prop_30_0) true)
+(expandtypeattribute (device_config_input_native_boot_prop_30_0) true)
+(expandtypeattribute (device_config_media_native_prop_30_0) true)
+(expandtypeattribute (device_config_netd_native_prop_30_0) true)
+(expandtypeattribute (device_config_reset_performed_prop_30_0) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_30_0) true)
+(expandtypeattribute (device_config_runtime_native_prop_30_0) true)
+(expandtypeattribute (device_config_service_30_0) true)
+(expandtypeattribute (device_config_storage_native_boot_prop_30_0) true)
+(expandtypeattribute (device_config_sys_traced_prop_30_0) true)
+(expandtypeattribute (device_config_window_manager_native_boot_prop_30_0) true)
+(expandtypeattribute (device_identifiers_service_30_0) true)
+(expandtypeattribute (device_logging_prop_30_0) true)
+(expandtypeattribute (device_policy_service_30_0) true)
+(expandtypeattribute (deviceidle_service_30_0) true)
+(expandtypeattribute (devicestoragemonitor_service_30_0) true)
+(expandtypeattribute (devpts_30_0) true)
+(expandtypeattribute (dhcp_30_0) true)
+(expandtypeattribute (dhcp_data_file_30_0) true)
+(expandtypeattribute (dhcp_exec_30_0) true)
+(expandtypeattribute (dhcp_prop_30_0) true)
+(expandtypeattribute (diskstats_service_30_0) true)
+(expandtypeattribute (display_service_30_0) true)
+(expandtypeattribute (dm_device_30_0) true)
+(expandtypeattribute (dnsmasq_30_0) true)
+(expandtypeattribute (dnsmasq_exec_30_0) true)
+(expandtypeattribute (dnsproxyd_socket_30_0) true)
+(expandtypeattribute (dnsresolver_service_30_0) true)
+(expandtypeattribute (dreams_service_30_0) true)
+(expandtypeattribute (drm_data_file_30_0) true)
+(expandtypeattribute (drmserver_30_0) true)
+(expandtypeattribute (drmserver_exec_30_0) true)
+(expandtypeattribute (drmserver_service_30_0) true)
+(expandtypeattribute (drmserver_socket_30_0) true)
+(expandtypeattribute (dropbox_data_file_30_0) true)
+(expandtypeattribute (dropbox_service_30_0) true)
+(expandtypeattribute (dumpstate_30_0) true)
+(expandtypeattribute (dumpstate_exec_30_0) true)
+(expandtypeattribute (dumpstate_options_prop_30_0) true)
+(expandtypeattribute (dumpstate_prop_30_0) true)
+(expandtypeattribute (dumpstate_service_30_0) true)
+(expandtypeattribute (dumpstate_socket_30_0) true)
+(expandtypeattribute (dynamic_system_prop_30_0) true)
+(expandtypeattribute (e2fs_30_0) true)
+(expandtypeattribute (e2fs_exec_30_0) true)
+(expandtypeattribute (efs_file_30_0) true)
+(expandtypeattribute (emergency_affordance_service_30_0) true)
+(expandtypeattribute (ephemeral_app_30_0) true)
+(expandtypeattribute (ethernet_service_30_0) true)
+(expandtypeattribute (exfat_30_0) true)
+(expandtypeattribute (exported2_config_prop_30_0) true)
+(expandtypeattribute (exported2_default_prop_30_0) true)
+(expandtypeattribute (exported2_radio_prop_30_0) true)
+(expandtypeattribute (exported2_system_prop_30_0) true)
+(expandtypeattribute (exported2_vold_prop_30_0) true)
+(expandtypeattribute (exported3_default_prop_30_0) true)
+(expandtypeattribute (exported3_radio_prop_30_0) true)
+(expandtypeattribute (exported3_system_prop_30_0) true)
+(expandtypeattribute (exported_audio_prop_30_0) true)
+(expandtypeattribute (exported_bluetooth_prop_30_0) true)
+(expandtypeattribute (exported_camera_prop_30_0) true)
+(expandtypeattribute (exported_config_prop_30_0) true)
+(expandtypeattribute (exported_dalvik_prop_30_0) true)
+(expandtypeattribute (exported_default_prop_30_0) true)
+(expandtypeattribute (exported_dumpstate_prop_30_0) true)
+(expandtypeattribute (exported_ffs_prop_30_0) true)
+(expandtypeattribute (exported_fingerprint_prop_30_0) true)
+(expandtypeattribute (exported_overlay_prop_30_0) true)
+(expandtypeattribute (exported_pm_prop_30_0) true)
+(expandtypeattribute (exported_radio_prop_30_0) true)
+(expandtypeattribute (exported_secure_prop_30_0) true)
+(expandtypeattribute (exported_system_prop_30_0) true)
+(expandtypeattribute (exported_system_radio_prop_30_0) true)
+(expandtypeattribute (exported_vold_prop_30_0) true)
+(expandtypeattribute (exported_wifi_prop_30_0) true)
+(expandtypeattribute (external_vibrator_service_30_0) true)
+(expandtypeattribute (face_service_30_0) true)
+(expandtypeattribute (face_vendor_data_file_30_0) true)
+(expandtypeattribute (fastbootd_30_0) true)
+(expandtypeattribute (ffs_prop_30_0) true)
+(expandtypeattribute (file_contexts_file_30_0) true)
+(expandtypeattribute (file_integrity_service_30_0) true)
+(expandtypeattribute (fingerprint_service_30_0) true)
+(expandtypeattribute (fingerprint_vendor_data_file_30_0) true)
+(expandtypeattribute (fingerprintd_30_0) true)
+(expandtypeattribute (fingerprintd_data_file_30_0) true)
+(expandtypeattribute (fingerprintd_exec_30_0) true)
+(expandtypeattribute (fingerprintd_service_30_0) true)
+(expandtypeattribute (firstboot_prop_30_0) true)
+(expandtypeattribute (flags_health_check_30_0) true)
+(expandtypeattribute (flags_health_check_exec_30_0) true)
+(expandtypeattribute (font_service_30_0) true)
+(expandtypeattribute (frp_block_device_30_0) true)
+(expandtypeattribute (fs_bpf_30_0) true)
+(expandtypeattribute (fsck_30_0) true)
+(expandtypeattribute (fsck_exec_30_0) true)
+(expandtypeattribute (fsck_untrusted_30_0) true)
+(expandtypeattribute (fscklogs_30_0) true)
+(expandtypeattribute (functionfs_30_0) true)
+(expandtypeattribute (fuse_30_0) true)
+(expandtypeattribute (fuse_device_30_0) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_30_0) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_30_0) true)
+(expandtypeattribute (fwk_camera_hwservice_30_0) true)
+(expandtypeattribute (fwk_display_hwservice_30_0) true)
+(expandtypeattribute (fwk_scheduler_hwservice_30_0) true)
+(expandtypeattribute (fwk_sensor_hwservice_30_0) true)
+(expandtypeattribute (fwk_stats_hwservice_30_0) true)
+(expandtypeattribute (fwmarkd_socket_30_0) true)
+(expandtypeattribute (gatekeeper_data_file_30_0) true)
+(expandtypeattribute (gatekeeper_service_30_0) true)
+(expandtypeattribute (gatekeeperd_30_0) true)
+(expandtypeattribute (gatekeeperd_exec_30_0) true)
+(expandtypeattribute (gfxinfo_service_30_0) true)
+(expandtypeattribute (gmscore_app_30_0) true)
+(expandtypeattribute (gps_control_30_0) true)
+(expandtypeattribute (gpu_device_30_0) true)
+(expandtypeattribute (gpu_service_30_0) true)
+(expandtypeattribute (gpuservice_30_0) true)
+(expandtypeattribute (graphics_device_30_0) true)
+(expandtypeattribute (graphicsstats_service_30_0) true)
+(expandtypeattribute (gsi_data_file_30_0) true)
+(expandtypeattribute (gsi_metadata_file_30_0) true)
+(expandtypeattribute (gsid_prop_30_0) true)
+(expandtypeattribute (hal_atrace_hwservice_30_0) true)
+(expandtypeattribute (hal_audio_hwservice_30_0) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_30_0) true)
+(expandtypeattribute (hal_authsecret_hwservice_30_0) true)
+(expandtypeattribute (hal_bluetooth_hwservice_30_0) true)
+(expandtypeattribute (hal_bootctl_hwservice_30_0) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_30_0) true)
+(expandtypeattribute (hal_camera_hwservice_30_0) true)
+(expandtypeattribute (hal_can_bus_hwservice_30_0) true)
+(expandtypeattribute (hal_can_controller_hwservice_30_0) true)
+(expandtypeattribute (hal_cas_hwservice_30_0) true)
+(expandtypeattribute (hal_codec2_hwservice_30_0) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_30_0) true)
+(expandtypeattribute (hal_confirmationui_hwservice_30_0) true)
+(expandtypeattribute (hal_contexthub_hwservice_30_0) true)
+(expandtypeattribute (hal_drm_hwservice_30_0) true)
+(expandtypeattribute (hal_dumpstate_hwservice_30_0) true)
+(expandtypeattribute (hal_evs_hwservice_30_0) true)
+(expandtypeattribute (hal_face_hwservice_30_0) true)
+(expandtypeattribute (hal_fingerprint_hwservice_30_0) true)
+(expandtypeattribute (hal_fingerprint_service_30_0) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_30_0) true)
+(expandtypeattribute (hal_gnss_hwservice_30_0) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_30_0) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_30_0) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_30_0) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_30_0) true)
+(expandtypeattribute (hal_health_hwservice_30_0) true)
+(expandtypeattribute (hal_health_storage_hwservice_30_0) true)
+(expandtypeattribute (hal_identity_service_30_0) true)
+(expandtypeattribute (hal_input_classifier_hwservice_30_0) true)
+(expandtypeattribute (hal_ir_hwservice_30_0) true)
+(expandtypeattribute (hal_keymaster_hwservice_30_0) true)
+(expandtypeattribute (hal_light_hwservice_30_0) true)
+(expandtypeattribute (hal_light_service_30_0) true)
+(expandtypeattribute (hal_lowpan_hwservice_30_0) true)
+(expandtypeattribute (hal_memtrack_hwservice_30_0) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_30_0) true)
+(expandtypeattribute (hal_nfc_hwservice_30_0) true)
+(expandtypeattribute (hal_oemlock_hwservice_30_0) true)
+(expandtypeattribute (hal_omx_hwservice_30_0) true)
+(expandtypeattribute (hal_power_hwservice_30_0) true)
+(expandtypeattribute (hal_power_service_30_0) true)
+(expandtypeattribute (hal_power_stats_hwservice_30_0) true)
+(expandtypeattribute (hal_rebootescrow_service_30_0) true)
+(expandtypeattribute (hal_renderscript_hwservice_30_0) true)
+(expandtypeattribute (hal_secure_element_hwservice_30_0) true)
+(expandtypeattribute (hal_sensors_hwservice_30_0) true)
+(expandtypeattribute (hal_telephony_hwservice_30_0) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_30_0) true)
+(expandtypeattribute (hal_thermal_hwservice_30_0) true)
+(expandtypeattribute (hal_tv_cec_hwservice_30_0) true)
+(expandtypeattribute (hal_tv_input_hwservice_30_0) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_30_0) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_30_0) true)
+(expandtypeattribute (hal_usb_hwservice_30_0) true)
+(expandtypeattribute (hal_vehicle_hwservice_30_0) true)
+(expandtypeattribute (hal_vibrator_hwservice_30_0) true)
+(expandtypeattribute (hal_vibrator_service_30_0) true)
+(expandtypeattribute (hal_vr_hwservice_30_0) true)
+(expandtypeattribute (hal_weaver_hwservice_30_0) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_30_0) true)
+(expandtypeattribute (hal_wifi_hwservice_30_0) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_30_0) true)
+(expandtypeattribute (hardware_properties_service_30_0) true)
+(expandtypeattribute (hardware_service_30_0) true)
+(expandtypeattribute (hci_attach_dev_30_0) true)
+(expandtypeattribute (hdmi_control_service_30_0) true)
+(expandtypeattribute (healthd_30_0) true)
+(expandtypeattribute (healthd_exec_30_0) true)
+(expandtypeattribute (heapdump_data_file_30_0) true)
+(expandtypeattribute (heapprofd_30_0) true)
+(expandtypeattribute (heapprofd_enabled_prop_30_0) true)
+(expandtypeattribute (heapprofd_prop_30_0) true)
+(expandtypeattribute (heapprofd_socket_30_0) true)
+(expandtypeattribute (hidl_allocator_hwservice_30_0) true)
+(expandtypeattribute (hidl_base_hwservice_30_0) true)
+(expandtypeattribute (hidl_manager_hwservice_30_0) true)
+(expandtypeattribute (hidl_memory_hwservice_30_0) true)
+(expandtypeattribute (hidl_token_hwservice_30_0) true)
+(expandtypeattribute (hw_random_device_30_0) true)
+(expandtypeattribute (hwbinder_device_30_0) true)
+(expandtypeattribute (hwservice_contexts_file_30_0) true)
+(expandtypeattribute (hwservicemanager_30_0) true)
+(expandtypeattribute (hwservicemanager_exec_30_0) true)
+(expandtypeattribute (hwservicemanager_prop_30_0) true)
+(expandtypeattribute (icon_file_30_0) true)
+(expandtypeattribute (idmap_30_0) true)
+(expandtypeattribute (idmap_exec_30_0) true)
+(expandtypeattribute (idmap_service_30_0) true)
+(expandtypeattribute (iio_device_30_0) true)
+(expandtypeattribute (imms_service_30_0) true)
+(expandtypeattribute (incident_30_0) true)
+(expandtypeattribute (incident_data_file_30_0) true)
+(expandtypeattribute (incident_helper_30_0) true)
+(expandtypeattribute (incident_service_30_0) true)
+(expandtypeattribute (incidentd_30_0) true)
+(expandtypeattribute (incremental_control_file_30_0) true)
+(expandtypeattribute (incremental_prop_30_0) true)
+(expandtypeattribute (incremental_service_30_0) true)
+(expandtypeattribute (init_30_0) true)
+(expandtypeattribute (init_exec_30_0) true)
+(expandtypeattribute (init_perf_lsm_hooks_prop_30_0) true)
+(expandtypeattribute (init_svc_debug_prop_30_0) true)
+(expandtypeattribute (init_tmpfs_30_0) true)
+(expandtypeattribute (inotify_30_0) true)
+(expandtypeattribute (input_device_30_0) true)
+(expandtypeattribute (input_method_service_30_0) true)
+(expandtypeattribute (input_service_30_0) true)
+(expandtypeattribute (inputflinger_30_0) true)
+(expandtypeattribute (inputflinger_exec_30_0) true)
+(expandtypeattribute (inputflinger_service_30_0) true)
+(expandtypeattribute (install_data_file_30_0) true)
+(expandtypeattribute (installd_30_0) true)
+(expandtypeattribute (installd_exec_30_0) true)
+(expandtypeattribute (installd_service_30_0) true)
+(expandtypeattribute (ion_device_30_0) true)
+(expandtypeattribute (iorap_inode2filename_30_0) true)
+(expandtypeattribute (iorap_inode2filename_exec_30_0) true)
+(expandtypeattribute (iorap_inode2filename_tmpfs_30_0) true)
+(expandtypeattribute (iorap_prefetcherd_30_0) true)
+(expandtypeattribute (iorap_prefetcherd_exec_30_0) true)
+(expandtypeattribute (iorap_prefetcherd_tmpfs_30_0) true)
+(expandtypeattribute (iorapd_30_0) true)
+(expandtypeattribute (iorapd_data_file_30_0) true)
+(expandtypeattribute (iorapd_exec_30_0) true)
+(expandtypeattribute (iorapd_service_30_0) true)
+(expandtypeattribute (iorapd_tmpfs_30_0) true)
+(expandtypeattribute (ipsec_service_30_0) true)
+(expandtypeattribute (iris_service_30_0) true)
+(expandtypeattribute (iris_vendor_data_file_30_0) true)
+(expandtypeattribute (isolated_app_30_0) true)
+(expandtypeattribute (jobscheduler_service_30_0) true)
+(expandtypeattribute (kernel_30_0) true)
+(expandtypeattribute (keychain_data_file_30_0) true)
+(expandtypeattribute (keychord_device_30_0) true)
+(expandtypeattribute (keystore_30_0) true)
+(expandtypeattribute (keystore_data_file_30_0) true)
+(expandtypeattribute (keystore_exec_30_0) true)
+(expandtypeattribute (keystore_service_30_0) true)
+(expandtypeattribute (kmsg_debug_device_30_0) true)
+(expandtypeattribute (kmsg_device_30_0) true)
+(expandtypeattribute (labeledfs_30_0) true)
+(expandtypeattribute (last_boot_reason_prop_30_0) true)
+(expandtypeattribute (launcherapps_service_30_0) true)
+(expandtypeattribute (light_service_30_0) true)
+(expandtypeattribute (linkerconfig_file_30_0) true)
+(expandtypeattribute (llkd_30_0) true)
+(expandtypeattribute (llkd_exec_30_0) true)
+(expandtypeattribute (llkd_prop_30_0) true)
+(expandtypeattribute (lmkd_30_0) true)
+(expandtypeattribute (lmkd_exec_30_0) true)
+(expandtypeattribute (lmkd_prop_30_0) true)
+(expandtypeattribute (lmkd_socket_30_0) true)
+(expandtypeattribute (location_service_30_0) true)
+(expandtypeattribute (lock_settings_service_30_0) true)
+(expandtypeattribute (log_prop_30_0) true)
+(expandtypeattribute (log_tag_prop_30_0) true)
+(expandtypeattribute (logcat_exec_30_0) true)
+(expandtypeattribute (logd_30_0) true)
+(expandtypeattribute (logd_exec_30_0) true)
+(expandtypeattribute (logd_prop_30_0) true)
+(expandtypeattribute (logd_socket_30_0) true)
+(expandtypeattribute (logdr_socket_30_0) true)
+(expandtypeattribute (logdw_socket_30_0) true)
+(expandtypeattribute (logpersist_30_0) true)
+(expandtypeattribute (logpersistd_logging_prop_30_0) true)
+(expandtypeattribute (loop_control_device_30_0) true)
+(expandtypeattribute (loop_device_30_0) true)
+(expandtypeattribute (looper_stats_service_30_0) true)
+(expandtypeattribute (lowpan_device_30_0) true)
+(expandtypeattribute (lowpan_prop_30_0) true)
+(expandtypeattribute (lowpan_service_30_0) true)
+(expandtypeattribute (lpdump_service_30_0) true)
+(expandtypeattribute (lpdumpd_prop_30_0) true)
+(expandtypeattribute (mac_perms_file_30_0) true)
+(expandtypeattribute (mdns_socket_30_0) true)
+(expandtypeattribute (mdnsd_30_0) true)
+(expandtypeattribute (mdnsd_socket_30_0) true)
+(expandtypeattribute (media_data_file_30_0) true)
+(expandtypeattribute (media_projection_service_30_0) true)
+(expandtypeattribute (media_router_service_30_0) true)
+(expandtypeattribute (media_rw_data_file_30_0) true)
+(expandtypeattribute (media_session_service_30_0) true)
+(expandtypeattribute (media_variant_prop_30_0) true)
+(expandtypeattribute (mediadrmserver_30_0) true)
+(expandtypeattribute (mediadrmserver_exec_30_0) true)
+(expandtypeattribute (mediadrmserver_service_30_0) true)
+(expandtypeattribute (mediaextractor_30_0) true)
+(expandtypeattribute (mediaextractor_exec_30_0) true)
+(expandtypeattribute (mediaextractor_service_30_0) true)
+(expandtypeattribute (mediaextractor_tmpfs_30_0) true)
+(expandtypeattribute (mediametrics_30_0) true)
+(expandtypeattribute (mediametrics_exec_30_0) true)
+(expandtypeattribute (mediametrics_service_30_0) true)
+(expandtypeattribute (mediaprovider_30_0) true)
+(expandtypeattribute (mediaserver_30_0) true)
+(expandtypeattribute (mediaserver_exec_30_0) true)
+(expandtypeattribute (mediaserver_service_30_0) true)
+(expandtypeattribute (mediaserver_tmpfs_30_0) true)
+(expandtypeattribute (mediaswcodec_30_0) true)
+(expandtypeattribute (mediaswcodec_exec_30_0) true)
+(expandtypeattribute (mediatranscoding_30_0) true)
+(expandtypeattribute (mediatranscoding_exec_30_0) true)
+(expandtypeattribute (mediatranscoding_service_30_0) true)
+(expandtypeattribute (meminfo_service_30_0) true)
+(expandtypeattribute (metadata_block_device_30_0) true)
+(expandtypeattribute (metadata_bootstat_file_30_0) true)
+(expandtypeattribute (metadata_file_30_0) true)
+(expandtypeattribute (method_trace_data_file_30_0) true)
+(expandtypeattribute (midi_service_30_0) true)
+(expandtypeattribute (mirror_data_file_30_0) true)
+(expandtypeattribute (misc_block_device_30_0) true)
+(expandtypeattribute (misc_logd_file_30_0) true)
+(expandtypeattribute (misc_user_data_file_30_0) true)
+(expandtypeattribute (mmc_prop_30_0) true)
+(expandtypeattribute (mnt_expand_file_30_0) true)
+(expandtypeattribute (mnt_media_rw_file_30_0) true)
+(expandtypeattribute (mnt_media_rw_stub_file_30_0) true)
+(expandtypeattribute (mnt_pass_through_file_30_0) true)
+(expandtypeattribute (mnt_product_file_30_0) true)
+(expandtypeattribute (mnt_sdcard_file_30_0) true)
+(expandtypeattribute (mnt_user_file_30_0) true)
+(expandtypeattribute (mnt_vendor_file_30_0) true)
+(expandtypeattribute (mock_ota_prop_30_0) true)
+(expandtypeattribute (modprobe_30_0) true)
+(expandtypeattribute (module_sdkextensions_prop_30_0) true)
+(expandtypeattribute (mount_service_30_0) true)
+(expandtypeattribute (mqueue_30_0) true)
+(expandtypeattribute (mtp_30_0) true)
+(expandtypeattribute (mtp_device_30_0) true)
+(expandtypeattribute (mtp_exec_30_0) true)
+(expandtypeattribute (mtpd_socket_30_0) true)
+(expandtypeattribute (nativetest_data_file_30_0) true)
+(expandtypeattribute (net_data_file_30_0) true)
+(expandtypeattribute (net_dns_prop_30_0) true)
+(expandtypeattribute (net_radio_prop_30_0) true)
+(expandtypeattribute (netd_30_0) true)
+(expandtypeattribute (netd_exec_30_0) true)
+(expandtypeattribute (netd_listener_service_30_0) true)
+(expandtypeattribute (netd_service_30_0) true)
+(expandtypeattribute (netd_stable_secret_prop_30_0) true)
+(expandtypeattribute (netif_30_0) true)
+(expandtypeattribute (netpolicy_service_30_0) true)
+(expandtypeattribute (netstats_service_30_0) true)
+(expandtypeattribute (netutils_wrapper_30_0) true)
+(expandtypeattribute (netutils_wrapper_exec_30_0) true)
+(expandtypeattribute (network_management_service_30_0) true)
+(expandtypeattribute (network_score_service_30_0) true)
+(expandtypeattribute (network_stack_30_0) true)
+(expandtypeattribute (network_stack_service_30_0) true)
+(expandtypeattribute (network_time_update_service_30_0) true)
+(expandtypeattribute (network_watchlist_data_file_30_0) true)
+(expandtypeattribute (network_watchlist_service_30_0) true)
+(expandtypeattribute (nfc_30_0) true)
+(expandtypeattribute (nfc_data_file_30_0) true)
+(expandtypeattribute (nfc_device_30_0) true)
+(expandtypeattribute (nfc_prop_30_0) true)
+(expandtypeattribute (nfc_service_30_0) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_30_0) true)
+(expandtypeattribute (node_30_0) true)
+(expandtypeattribute (nonplat_service_contexts_file_30_0) true)
+(expandtypeattribute (notification_service_30_0) true)
+(expandtypeattribute (null_device_30_0) true)
+(expandtypeattribute (oem_lock_service_30_0) true)
+(expandtypeattribute (oemfs_30_0) true)
+(expandtypeattribute (ota_data_file_30_0) true)
+(expandtypeattribute (ota_metadata_file_30_0) true)
+(expandtypeattribute (ota_package_file_30_0) true)
+(expandtypeattribute (ota_prop_30_0) true)
+(expandtypeattribute (otadexopt_service_30_0) true)
+(expandtypeattribute (overlay_prop_30_0) true)
+(expandtypeattribute (overlay_service_30_0) true)
+(expandtypeattribute (overlayfs_file_30_0) true)
+(expandtypeattribute (owntty_device_30_0) true)
+(expandtypeattribute (package_native_service_30_0) true)
+(expandtypeattribute (package_service_30_0) true)
+(expandtypeattribute (packages_list_file_30_0) true)
+(expandtypeattribute (pan_result_prop_30_0) true)
+(expandtypeattribute (password_slot_metadata_file_30_0) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_30_0) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_30_0) true)
+(expandtypeattribute (pdx_bufferhub_dir_30_0) true)
+(expandtypeattribute (pdx_display_client_channel_socket_30_0) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_30_0) true)
+(expandtypeattribute (pdx_display_dir_30_0) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_30_0) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_30_0) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_30_0) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_30_0) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_30_0) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_30_0) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_30_0) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_30_0) true)
+(expandtypeattribute (pdx_performance_dir_30_0) true)
+(expandtypeattribute (perfetto_30_0) true)
+(expandtypeattribute (performanced_30_0) true)
+(expandtypeattribute (performanced_exec_30_0) true)
+(expandtypeattribute (permission_service_30_0) true)
+(expandtypeattribute (permissionmgr_service_30_0) true)
+(expandtypeattribute (persist_debug_prop_30_0) true)
+(expandtypeattribute (persistent_data_block_service_30_0) true)
+(expandtypeattribute (persistent_properties_ready_prop_30_0) true)
+(expandtypeattribute (pinner_service_30_0) true)
+(expandtypeattribute (pipefs_30_0) true)
+(expandtypeattribute (platform_app_30_0) true)
+(expandtypeattribute (platform_compat_service_30_0) true)
+(expandtypeattribute (pm_prop_30_0) true)
+(expandtypeattribute (pmsg_device_30_0) true)
+(expandtypeattribute (port_30_0) true)
+(expandtypeattribute (port_device_30_0) true)
+(expandtypeattribute (postinstall_30_0) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_30_0) true)
+(expandtypeattribute (postinstall_file_30_0) true)
+(expandtypeattribute (postinstall_mnt_dir_30_0) true)
+(expandtypeattribute (power_service_30_0) true)
+(expandtypeattribute (powerctl_prop_30_0) true)
+(expandtypeattribute (ppp_30_0) true)
+(expandtypeattribute (ppp_device_30_0) true)
+(expandtypeattribute (ppp_exec_30_0) true)
+(expandtypeattribute (preloads_data_file_30_0) true)
+(expandtypeattribute (preloads_media_file_30_0) true)
+(expandtypeattribute (prereboot_data_file_30_0) true)
+(expandtypeattribute (print_service_30_0) true)
+(expandtypeattribute (priv_app_30_0) true)
+(expandtypeattribute (privapp_data_file_30_0) true)
+(expandtypeattribute (proc_30_0) true)
+(expandtypeattribute (proc_abi_30_0) true)
+(expandtypeattribute (proc_asound_30_0) true)
+(expandtypeattribute (proc_bluetooth_writable_30_0) true)
+(expandtypeattribute (proc_buddyinfo_30_0) true)
+(expandtypeattribute (proc_cmdline_30_0) true)
+(expandtypeattribute (proc_cpuinfo_30_0) true)
+(expandtypeattribute (proc_dirty_30_0) true)
+(expandtypeattribute (proc_diskstats_30_0) true)
+(expandtypeattribute (proc_drop_caches_30_0) true)
+(expandtypeattribute (proc_extra_free_kbytes_30_0) true)
+(expandtypeattribute (proc_filesystems_30_0) true)
+(expandtypeattribute (proc_fs_verity_30_0) true)
+(expandtypeattribute (proc_hostname_30_0) true)
+(expandtypeattribute (proc_hung_task_30_0) true)
+(expandtypeattribute (proc_interrupts_30_0) true)
+(expandtypeattribute (proc_iomem_30_0) true)
+(expandtypeattribute (proc_keys_30_0) true)
+(expandtypeattribute (proc_kmsg_30_0) true)
+(expandtypeattribute (proc_kpageflags_30_0) true)
+(expandtypeattribute (proc_loadavg_30_0) true)
+(expandtypeattribute (proc_lowmemorykiller_30_0) true)
+(expandtypeattribute (proc_max_map_count_30_0) true)
+(expandtypeattribute (proc_meminfo_30_0) true)
+(expandtypeattribute (proc_min_free_order_shift_30_0) true)
+(expandtypeattribute (proc_misc_30_0) true)
+(expandtypeattribute (proc_modules_30_0) true)
+(expandtypeattribute (proc_mounts_30_0) true)
+(expandtypeattribute (proc_net_30_0) true)
+(expandtypeattribute (proc_net_tcp_udp_30_0) true)
+(expandtypeattribute (proc_overcommit_memory_30_0) true)
+(expandtypeattribute (proc_page_cluster_30_0) true)
+(expandtypeattribute (proc_pagetypeinfo_30_0) true)
+(expandtypeattribute (proc_panic_30_0) true)
+(expandtypeattribute (proc_perf_30_0) true)
+(expandtypeattribute (proc_pid_max_30_0) true)
+(expandtypeattribute (proc_pipe_conf_30_0) true)
+(expandtypeattribute (proc_pressure_cpu_30_0) true)
+(expandtypeattribute (proc_pressure_io_30_0) true)
+(expandtypeattribute (proc_pressure_mem_30_0) true)
+(expandtypeattribute (proc_qtaguid_ctrl_30_0) true)
+(expandtypeattribute (proc_qtaguid_stat_30_0) true)
+(expandtypeattribute (proc_random_30_0) true)
+(expandtypeattribute (proc_sched_30_0) true)
+(expandtypeattribute (proc_security_30_0) true)
+(expandtypeattribute (proc_slabinfo_30_0) true)
+(expandtypeattribute (proc_stat_30_0) true)
+(expandtypeattribute (proc_swaps_30_0) true)
+(expandtypeattribute (proc_sysrq_30_0) true)
+(expandtypeattribute (proc_timer_30_0) true)
+(expandtypeattribute (proc_tty_drivers_30_0) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_30_0) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_30_0) true)
+(expandtypeattribute (proc_uid_cpupower_30_0) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_30_0) true)
+(expandtypeattribute (proc_uid_cputime_showstat_30_0) true)
+(expandtypeattribute (proc_uid_io_stats_30_0) true)
+(expandtypeattribute (proc_uid_procstat_set_30_0) true)
+(expandtypeattribute (proc_uid_time_in_state_30_0) true)
+(expandtypeattribute (proc_uptime_30_0) true)
+(expandtypeattribute (proc_version_30_0) true)
+(expandtypeattribute (proc_vmallocinfo_30_0) true)
+(expandtypeattribute (proc_vmstat_30_0) true)
+(expandtypeattribute (proc_zoneinfo_30_0) true)
+(expandtypeattribute (processinfo_service_30_0) true)
+(expandtypeattribute (procstats_service_30_0) true)
+(expandtypeattribute (profman_30_0) true)
+(expandtypeattribute (profman_dump_data_file_30_0) true)
+(expandtypeattribute (profman_exec_30_0) true)
+(expandtypeattribute (properties_device_30_0) true)
+(expandtypeattribute (properties_serial_30_0) true)
+(expandtypeattribute (property_contexts_file_30_0) true)
+(expandtypeattribute (property_data_file_30_0) true)
+(expandtypeattribute (property_info_30_0) true)
+(expandtypeattribute (property_socket_30_0) true)
+(expandtypeattribute (pstorefs_30_0) true)
+(expandtypeattribute (ptmx_device_30_0) true)
+(expandtypeattribute (qtaguid_device_30_0) true)
+(expandtypeattribute (racoon_30_0) true)
+(expandtypeattribute (racoon_exec_30_0) true)
+(expandtypeattribute (racoon_socket_30_0) true)
+(expandtypeattribute (radio_30_0) true)
+(expandtypeattribute (radio_data_file_30_0) true)
+(expandtypeattribute (radio_device_30_0) true)
+(expandtypeattribute (radio_prop_30_0) true)
+(expandtypeattribute (radio_service_30_0) true)
+(expandtypeattribute (ram_device_30_0) true)
+(expandtypeattribute (random_device_30_0) true)
+(expandtypeattribute (rebootescrow_hal_prop_30_0) true)
+(expandtypeattribute (recovery_30_0) true)
+(expandtypeattribute (recovery_block_device_30_0) true)
+(expandtypeattribute (recovery_data_file_30_0) true)
+(expandtypeattribute (recovery_persist_30_0) true)
+(expandtypeattribute (recovery_persist_exec_30_0) true)
+(expandtypeattribute (recovery_refresh_30_0) true)
+(expandtypeattribute (recovery_refresh_exec_30_0) true)
+(expandtypeattribute (recovery_service_30_0) true)
+(expandtypeattribute (recovery_socket_30_0) true)
+(expandtypeattribute (registry_service_30_0) true)
+(expandtypeattribute (resourcecache_data_file_30_0) true)
+(expandtypeattribute (restorecon_prop_30_0) true)
+(expandtypeattribute (restrictions_service_30_0) true)
+(expandtypeattribute (rild_debug_socket_30_0) true)
+(expandtypeattribute (rild_socket_30_0) true)
+(expandtypeattribute (ringtone_file_30_0) true)
+(expandtypeattribute (role_service_30_0) true)
+(expandtypeattribute (rollback_service_30_0) true)
+(expandtypeattribute (root_block_device_30_0) true)
+(expandtypeattribute (rootfs_30_0) true)
+(expandtypeattribute (rpmsg_device_30_0) true)
+(expandtypeattribute (rs_30_0) true)
+(expandtypeattribute (rs_exec_30_0) true)
+(expandtypeattribute (rss_hwm_reset_30_0) true)
+(expandtypeattribute (rtc_device_30_0) true)
+(expandtypeattribute (rttmanager_service_30_0) true)
+(expandtypeattribute (runas_30_0) true)
+(expandtypeattribute (runas_app_30_0) true)
+(expandtypeattribute (runas_exec_30_0) true)
+(expandtypeattribute (runtime_event_log_tags_file_30_0) true)
+(expandtypeattribute (runtime_service_30_0) true)
+(expandtypeattribute (safemode_prop_30_0) true)
+(expandtypeattribute (same_process_hal_file_30_0) true)
+(expandtypeattribute (samplingprofiler_service_30_0) true)
+(expandtypeattribute (scheduling_policy_service_30_0) true)
+(expandtypeattribute (sdcard_block_device_30_0) true)
+(expandtypeattribute (sdcardd_30_0) true)
+(expandtypeattribute (sdcardd_exec_30_0) true)
+(expandtypeattribute (sdcardfs_30_0) true)
+(expandtypeattribute (seapp_contexts_file_30_0) true)
+(expandtypeattribute (search_service_30_0) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_30_0) true)
+(expandtypeattribute (secure_element_30_0) true)
+(expandtypeattribute (secure_element_device_30_0) true)
+(expandtypeattribute (secure_element_service_30_0) true)
+(expandtypeattribute (securityfs_30_0) true)
+(expandtypeattribute (selinuxfs_30_0) true)
+(expandtypeattribute (sensor_privacy_service_30_0) true)
+(expandtypeattribute (sensors_device_30_0) true)
+(expandtypeattribute (sensorservice_service_30_0) true)
+(expandtypeattribute (sepolicy_file_30_0) true)
+(expandtypeattribute (serial_device_30_0) true)
+(expandtypeattribute (serial_service_30_0) true)
+(expandtypeattribute (serialno_prop_30_0) true)
+(expandtypeattribute (server_configurable_flags_data_file_30_0) true)
+(expandtypeattribute (service_contexts_file_30_0) true)
+(expandtypeattribute (service_manager_service_30_0) true)
+(expandtypeattribute (service_manager_vndservice_30_0) true)
+(expandtypeattribute (servicediscovery_service_30_0) true)
+(expandtypeattribute (servicemanager_30_0) true)
+(expandtypeattribute (servicemanager_exec_30_0) true)
+(expandtypeattribute (settings_service_30_0) true)
+(expandtypeattribute (sgdisk_30_0) true)
+(expandtypeattribute (sgdisk_exec_30_0) true)
+(expandtypeattribute (shared_relro_30_0) true)
+(expandtypeattribute (shared_relro_file_30_0) true)
+(expandtypeattribute (shell_30_0) true)
+(expandtypeattribute (shell_data_file_30_0) true)
+(expandtypeattribute (shell_exec_30_0) true)
+(expandtypeattribute (shell_prop_30_0) true)
+(expandtypeattribute (shm_30_0) true)
+(expandtypeattribute (shortcut_manager_icons_30_0) true)
+(expandtypeattribute (shortcut_service_30_0) true)
+(expandtypeattribute (simpleperf_30_0) true)
+(expandtypeattribute (simpleperf_app_runner_30_0) true)
+(expandtypeattribute (simpleperf_app_runner_exec_30_0) true)
+(expandtypeattribute (slice_service_30_0) true)
+(expandtypeattribute (slideshow_30_0) true)
+(expandtypeattribute (snapshotctl_log_data_file_30_0) true)
+(expandtypeattribute (socket_device_30_0) true)
+(expandtypeattribute (socket_hook_prop_30_0) true)
+(expandtypeattribute (sockfs_30_0) true)
+(expandtypeattribute (sota_prop_30_0) true)
+(expandtypeattribute (soundtrigger_middleware_service_30_0) true)
+(expandtypeattribute (staging_data_file_30_0) true)
+(expandtypeattribute (stats_data_file_30_0) true)
+(expandtypeattribute (statsd_30_0) true)
+(expandtypeattribute (statsd_exec_30_0) true)
+(expandtypeattribute (statsdw_socket_30_0) true)
+(expandtypeattribute (statusbar_service_30_0) true)
+(expandtypeattribute (storage_config_prop_30_0) true)
+(expandtypeattribute (storage_file_30_0) true)
+(expandtypeattribute (storage_stub_file_30_0) true)
+(expandtypeattribute (storaged_service_30_0) true)
+(expandtypeattribute (storagestats_service_30_0) true)
+(expandtypeattribute (su_30_0) true)
+(expandtypeattribute (su_exec_30_0) true)
+(expandtypeattribute (super_block_device_30_0) true)
+(expandtypeattribute (surfaceflinger_30_0) true)
+(expandtypeattribute (surfaceflinger_service_30_0) true)
+(expandtypeattribute (surfaceflinger_tmpfs_30_0) true)
+(expandtypeattribute (swap_block_device_30_0) true)
+(expandtypeattribute (sysfs_30_0) true)
+(expandtypeattribute (sysfs_android_usb_30_0) true)
+(expandtypeattribute (sysfs_batteryinfo_30_0) true)
+(expandtypeattribute (sysfs_bluetooth_writable_30_0) true)
+(expandtypeattribute (sysfs_devices_block_30_0) true)
+(expandtypeattribute (sysfs_devices_system_cpu_30_0) true)
+(expandtypeattribute (sysfs_dm_30_0) true)
+(expandtypeattribute (sysfs_dm_verity_30_0) true)
+(expandtypeattribute (sysfs_dt_firmware_android_30_0) true)
+(expandtypeattribute (sysfs_extcon_30_0) true)
+(expandtypeattribute (sysfs_fs_ext4_features_30_0) true)
+(expandtypeattribute (sysfs_fs_f2fs_30_0) true)
+(expandtypeattribute (sysfs_hwrandom_30_0) true)
+(expandtypeattribute (sysfs_ion_30_0) true)
+(expandtypeattribute (sysfs_ipv4_30_0) true)
+(expandtypeattribute (sysfs_kernel_notes_30_0) true)
+(expandtypeattribute (sysfs_leds_30_0) true)
+(expandtypeattribute (sysfs_loop_30_0) true)
+(expandtypeattribute (sysfs_lowmemorykiller_30_0) true)
+(expandtypeattribute (sysfs_net_30_0) true)
+(expandtypeattribute (sysfs_nfc_power_writable_30_0) true)
+(expandtypeattribute (sysfs_power_30_0) true)
+(expandtypeattribute (sysfs_rtc_30_0) true)
+(expandtypeattribute (sysfs_suspend_stats_30_0) true)
+(expandtypeattribute (sysfs_switch_30_0) true)
+(expandtypeattribute (sysfs_thermal_30_0) true)
+(expandtypeattribute (sysfs_transparent_hugepage_30_0) true)
+(expandtypeattribute (sysfs_uio_30_0) true)
+(expandtypeattribute (sysfs_usb_30_0) true)
+(expandtypeattribute (sysfs_usermodehelper_30_0) true)
+(expandtypeattribute (sysfs_vibrator_30_0) true)
+(expandtypeattribute (sysfs_wake_lock_30_0) true)
+(expandtypeattribute (sysfs_wakeup_30_0) true)
+(expandtypeattribute (sysfs_wakeup_reasons_30_0) true)
+(expandtypeattribute (sysfs_wlan_fwpath_30_0) true)
+(expandtypeattribute (sysfs_zram_30_0) true)
+(expandtypeattribute (sysfs_zram_uevent_30_0) true)
+(expandtypeattribute (system_adbd_prop_30_0) true)
+(expandtypeattribute (system_app_30_0) true)
+(expandtypeattribute (system_app_data_file_30_0) true)
+(expandtypeattribute (system_app_service_30_0) true)
+(expandtypeattribute (system_asan_options_file_30_0) true)
+(expandtypeattribute (system_block_device_30_0) true)
+(expandtypeattribute (system_boot_reason_prop_30_0) true)
+(expandtypeattribute (system_bootstrap_lib_file_30_0) true)
+(expandtypeattribute (system_config_service_30_0) true)
+(expandtypeattribute (system_data_file_30_0) true)
+(expandtypeattribute (system_data_root_file_30_0) true)
+(expandtypeattribute (system_event_log_tags_file_30_0) true)
+(expandtypeattribute (system_file_30_0) true)
+(expandtypeattribute (system_group_file_30_0) true)
+(expandtypeattribute (system_jvmti_agent_prop_30_0) true)
+(expandtypeattribute (system_lib_file_30_0) true)
+(expandtypeattribute (system_linker_config_file_30_0) true)
+(expandtypeattribute (system_linker_exec_30_0) true)
+(expandtypeattribute (system_lmk_prop_30_0) true)
+(expandtypeattribute (system_ndebug_socket_30_0) true)
+(expandtypeattribute (system_net_netd_hwservice_30_0) true)
+(expandtypeattribute (system_passwd_file_30_0) true)
+(expandtypeattribute (system_prop_30_0) true)
+(expandtypeattribute (system_radio_prop_30_0) true)
+(expandtypeattribute (system_seccomp_policy_file_30_0) true)
+(expandtypeattribute (system_security_cacerts_file_30_0) true)
+(expandtypeattribute (system_server_30_0) true)
+(expandtypeattribute (system_server_tmpfs_30_0) true)
+(expandtypeattribute (system_suspend_control_service_30_0) true)
+(expandtypeattribute (system_suspend_hwservice_30_0) true)
+(expandtypeattribute (system_trace_prop_30_0) true)
+(expandtypeattribute (system_unsolzygote_socket_30_0) true)
+(expandtypeattribute (system_update_service_30_0) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_30_0) true)
+(expandtypeattribute (system_wpa_socket_30_0) true)
+(expandtypeattribute (system_zoneinfo_file_30_0) true)
+(expandtypeattribute (systemkeys_data_file_30_0) true)
+(expandtypeattribute (task_profiles_file_30_0) true)
+(expandtypeattribute (task_service_30_0) true)
+(expandtypeattribute (tcpdump_exec_30_0) true)
+(expandtypeattribute (tee_30_0) true)
+(expandtypeattribute (tee_data_file_30_0) true)
+(expandtypeattribute (tee_device_30_0) true)
+(expandtypeattribute (telecom_service_30_0) true)
+(expandtypeattribute (test_boot_reason_prop_30_0) true)
+(expandtypeattribute (test_harness_prop_30_0) true)
+(expandtypeattribute (testharness_service_30_0) true)
+(expandtypeattribute (tethering_service_30_0) true)
+(expandtypeattribute (textclassification_service_30_0) true)
+(expandtypeattribute (textclassifier_data_file_30_0) true)
+(expandtypeattribute (textservices_service_30_0) true)
+(expandtypeattribute (theme_prop_30_0) true)
+(expandtypeattribute (thermal_service_30_0) true)
+(expandtypeattribute (thermalcallback_hwservice_30_0) true)
+(expandtypeattribute (time_prop_30_0) true)
+(expandtypeattribute (timedetector_service_30_0) true)
+(expandtypeattribute (timezone_service_30_0) true)
+(expandtypeattribute (timezonedetector_service_30_0) true)
+(expandtypeattribute (tmpfs_30_0) true)
+(expandtypeattribute (tombstone_data_file_30_0) true)
+(expandtypeattribute (tombstone_wifi_data_file_30_0) true)
+(expandtypeattribute (tombstoned_30_0) true)
+(expandtypeattribute (tombstoned_crash_socket_30_0) true)
+(expandtypeattribute (tombstoned_exec_30_0) true)
+(expandtypeattribute (tombstoned_intercept_socket_30_0) true)
+(expandtypeattribute (tombstoned_java_trace_socket_30_0) true)
+(expandtypeattribute (toolbox_30_0) true)
+(expandtypeattribute (toolbox_exec_30_0) true)
+(expandtypeattribute (trace_data_file_30_0) true)
+(expandtypeattribute (traced_30_0) true)
+(expandtypeattribute (traced_consumer_socket_30_0) true)
+(expandtypeattribute (traced_enabled_prop_30_0) true)
+(expandtypeattribute (traced_lazy_prop_30_0) true)
+(expandtypeattribute (traced_perf_30_0) true)
+(expandtypeattribute (traced_perf_enabled_prop_30_0) true)
+(expandtypeattribute (traced_perf_socket_30_0) true)
+(expandtypeattribute (traced_probes_30_0) true)
+(expandtypeattribute (traced_producer_socket_30_0) true)
+(expandtypeattribute (traceur_app_30_0) true)
+(expandtypeattribute (trust_service_30_0) true)
+(expandtypeattribute (tty_device_30_0) true)
+(expandtypeattribute (tun_device_30_0) true)
+(expandtypeattribute (tv_input_service_30_0) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_30_0) true)
+(expandtypeattribute (tzdatacheck_30_0) true)
+(expandtypeattribute (tzdatacheck_exec_30_0) true)
+(expandtypeattribute (ueventd_30_0) true)
+(expandtypeattribute (ueventd_tmpfs_30_0) true)
+(expandtypeattribute (uhid_device_30_0) true)
+(expandtypeattribute (uimode_service_30_0) true)
+(expandtypeattribute (uio_device_30_0) true)
+(expandtypeattribute (uncrypt_30_0) true)
+(expandtypeattribute (uncrypt_exec_30_0) true)
+(expandtypeattribute (uncrypt_socket_30_0) true)
+(expandtypeattribute (unencrypted_data_file_30_0) true)
+(expandtypeattribute (unlabeled_30_0) true)
+(expandtypeattribute (untrusted_app_25_30_0) true)
+(expandtypeattribute (untrusted_app_27_30_0) true)
+(expandtypeattribute (untrusted_app_29_30_0) true)
+(expandtypeattribute (untrusted_app_30_0) true)
+(expandtypeattribute (update_engine_30_0) true)
+(expandtypeattribute (update_engine_data_file_30_0) true)
+(expandtypeattribute (update_engine_exec_30_0) true)
+(expandtypeattribute (update_engine_log_data_file_30_0) true)
+(expandtypeattribute (update_engine_service_30_0) true)
+(expandtypeattribute (update_verifier_30_0) true)
+(expandtypeattribute (update_verifier_exec_30_0) true)
+(expandtypeattribute (updatelock_service_30_0) true)
+(expandtypeattribute (uri_grants_service_30_0) true)
+(expandtypeattribute (usagestats_service_30_0) true)
+(expandtypeattribute (usb_device_30_0) true)
+(expandtypeattribute (usb_serial_device_30_0) true)
+(expandtypeattribute (usb_service_30_0) true)
+(expandtypeattribute (usbaccessory_device_30_0) true)
+(expandtypeattribute (usbd_30_0) true)
+(expandtypeattribute (usbd_exec_30_0) true)
+(expandtypeattribute (usbfs_30_0) true)
+(expandtypeattribute (use_memfd_prop_30_0) true)
+(expandtypeattribute (user_profile_data_file_30_0) true)
+(expandtypeattribute (user_service_30_0) true)
+(expandtypeattribute (userdata_block_device_30_0) true)
+(expandtypeattribute (usermodehelper_30_0) true)
+(expandtypeattribute (userspace_reboot_config_prop_30_0) true)
+(expandtypeattribute (userspace_reboot_exported_prop_30_0) true)
+(expandtypeattribute (userspace_reboot_log_prop_30_0) true)
+(expandtypeattribute (userspace_reboot_test_prop_30_0) true)
+(expandtypeattribute (vdc_30_0) true)
+(expandtypeattribute (vdc_exec_30_0) true)
+(expandtypeattribute (vehicle_hal_prop_30_0) true)
+(expandtypeattribute (vendor_apex_file_30_0) true)
+(expandtypeattribute (vendor_app_file_30_0) true)
+(expandtypeattribute (vendor_cgroup_desc_file_30_0) true)
+(expandtypeattribute (vendor_configs_file_30_0) true)
+(expandtypeattribute (vendor_data_file_30_0) true)
+(expandtypeattribute (vendor_default_prop_30_0) true)
+(expandtypeattribute (vendor_file_30_0) true)
+(expandtypeattribute (vendor_framework_file_30_0) true)
+(expandtypeattribute (vendor_hal_file_30_0) true)
+(expandtypeattribute (vendor_idc_file_30_0) true)
+(expandtypeattribute (vendor_init_30_0) true)
+(expandtypeattribute (vendor_keychars_file_30_0) true)
+(expandtypeattribute (vendor_keylayout_file_30_0) true)
+(expandtypeattribute (vendor_misc_writer_30_0) true)
+(expandtypeattribute (vendor_misc_writer_exec_30_0) true)
+(expandtypeattribute (vendor_overlay_file_30_0) true)
+(expandtypeattribute (vendor_public_lib_file_30_0) true)
+(expandtypeattribute (vendor_security_patch_level_prop_30_0) true)
+(expandtypeattribute (vendor_shell_30_0) true)
+(expandtypeattribute (vendor_shell_exec_30_0) true)
+(expandtypeattribute (vendor_socket_hook_prop_30_0) true)
+(expandtypeattribute (vendor_task_profiles_file_30_0) true)
+(expandtypeattribute (vendor_toolbox_exec_30_0) true)
+(expandtypeattribute (vfat_30_0) true)
+(expandtypeattribute (vibrator_service_30_0) true)
+(expandtypeattribute (video_device_30_0) true)
+(expandtypeattribute (virtual_ab_prop_30_0) true)
+(expandtypeattribute (virtual_touchpad_30_0) true)
+(expandtypeattribute (virtual_touchpad_exec_30_0) true)
+(expandtypeattribute (virtual_touchpad_service_30_0) true)
+(expandtypeattribute (vndbinder_device_30_0) true)
+(expandtypeattribute (vndk_prop_30_0) true)
+(expandtypeattribute (vndk_sp_file_30_0) true)
+(expandtypeattribute (vndservice_contexts_file_30_0) true)
+(expandtypeattribute (vndservicemanager_30_0) true)
+(expandtypeattribute (voiceinteraction_service_30_0) true)
+(expandtypeattribute (vold_30_0) true)
+(expandtypeattribute (vold_data_file_30_0) true)
+(expandtypeattribute (vold_device_30_0) true)
+(expandtypeattribute (vold_exec_30_0) true)
+(expandtypeattribute (vold_metadata_file_30_0) true)
+(expandtypeattribute (vold_prepare_subdirs_30_0) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_30_0) true)
+(expandtypeattribute (vold_prop_30_0) true)
+(expandtypeattribute (vold_service_30_0) true)
+(expandtypeattribute (vpn_data_file_30_0) true)
+(expandtypeattribute (vr_hwc_30_0) true)
+(expandtypeattribute (vr_hwc_exec_30_0) true)
+(expandtypeattribute (vr_hwc_service_30_0) true)
+(expandtypeattribute (vr_manager_service_30_0) true)
+(expandtypeattribute (vrflinger_vsync_service_30_0) true)
+(expandtypeattribute (wallpaper_file_30_0) true)
+(expandtypeattribute (wallpaper_service_30_0) true)
+(expandtypeattribute (watchdog_device_30_0) true)
+(expandtypeattribute (watchdogd_30_0) true)
+(expandtypeattribute (watchdogd_exec_30_0) true)
+(expandtypeattribute (webview_zygote_30_0) true)
+(expandtypeattribute (webview_zygote_exec_30_0) true)
+(expandtypeattribute (webview_zygote_tmpfs_30_0) true)
+(expandtypeattribute (webviewupdate_service_30_0) true)
+(expandtypeattribute (wifi_data_file_30_0) true)
+(expandtypeattribute (wifi_log_prop_30_0) true)
+(expandtypeattribute (wifi_prop_30_0) true)
+(expandtypeattribute (wifi_service_30_0) true)
+(expandtypeattribute (wifiaware_service_30_0) true)
+(expandtypeattribute (wificond_30_0) true)
+(expandtypeattribute (wificond_exec_30_0) true)
+(expandtypeattribute (wifinl80211_service_30_0) true)
+(expandtypeattribute (wifip2p_service_30_0) true)
+(expandtypeattribute (wifiscanner_service_30_0) true)
+(expandtypeattribute (window_service_30_0) true)
+(expandtypeattribute (wpa_socket_30_0) true)
+(expandtypeattribute (wpantund_30_0) true)
+(expandtypeattribute (wpantund_exec_30_0) true)
+(expandtypeattribute (wpantund_service_30_0) true)
+(expandtypeattribute (zero_device_30_0) true)
+(expandtypeattribute (zoneinfo_data_file_30_0) true)
+(expandtypeattribute (zygote_30_0) true)
+(expandtypeattribute (zygote_exec_30_0) true)
+(expandtypeattribute (zygote_socket_30_0) true)
+(expandtypeattribute (zygote_tmpfs_30_0) true)
+(typeattributeset DockObserver_service_30_0 (DockObserver_service))
+(typeattributeset IProxyService_service_30_0 (IProxyService_service))
+(typeattributeset accessibility_service_30_0 (accessibility_service))
+(typeattributeset account_service_30_0 (account_service))
+(typeattributeset activity_service_30_0 (activity_service))
+(typeattributeset activity_task_service_30_0 (activity_task_service))
+(typeattributeset adb_data_file_30_0 (adb_data_file))
+(typeattributeset adb_keys_file_30_0 (adb_keys_file))
+(typeattributeset adb_service_30_0 (adb_service))
+(typeattributeset adbd_30_0 (adbd))
+(typeattributeset adbd_exec_30_0 (adbd_exec))
+(typeattributeset adbd_prop_30_0 (adbd_prop))
+(typeattributeset adbd_socket_30_0 (adbd_socket))
+(typeattributeset aidl_lazy_test_server_30_0 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_30_0 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_30_0 (aidl_lazy_test_service))
+(typeattributeset alarm_service_30_0 (alarm_service))
+(typeattributeset anr_data_file_30_0 (anr_data_file))
+(typeattributeset apex_data_file_30_0 (apex_data_file))
+(typeattributeset apex_metadata_file_30_0 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_30_0 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_30_0 (apex_module_data_file))
+(typeattributeset apex_permission_data_file_30_0 (apex_permission_data_file))
+(typeattributeset apex_rollback_data_file_30_0 (apex_rollback_data_file))
+(typeattributeset apex_service_30_0 (apex_service))
+(typeattributeset apex_wifi_data_file_30_0 (apex_wifi_data_file))
+(typeattributeset apexd_30_0 (apexd))
+(typeattributeset apexd_exec_30_0 (apexd_exec))
+(typeattributeset apexd_prop_30_0 (apexd_prop))
+(typeattributeset apk_data_file_30_0 (apk_data_file))
+(typeattributeset apk_private_data_file_30_0 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_30_0 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_30_0 (apk_tmp_file))
+(typeattributeset apk_verity_prop_30_0 (apk_verity_prop))
+(typeattributeset app_binding_service_30_0 (app_binding_service))
+(typeattributeset app_data_file_30_0 (app_data_file))
+(typeattributeset app_fuse_file_30_0 (app_fuse_file))
+(typeattributeset app_fusefs_30_0 (app_fusefs))
+(typeattributeset app_integrity_service_30_0 (app_integrity_service))
+(typeattributeset app_prediction_service_30_0 (app_prediction_service))
+(typeattributeset app_search_service_30_0 (app_search_service))
+(typeattributeset app_zygote_30_0 (app_zygote))
+(typeattributeset app_zygote_tmpfs_30_0 (app_zygote_tmpfs))
+(typeattributeset appdomain_tmpfs_30_0 (appdomain_tmpfs))
+(typeattributeset appops_service_30_0 (appops_service))
+(typeattributeset appwidget_service_30_0 (appwidget_service))
+(typeattributeset art_apex_dir_30_0 (art_apex_dir))
+(typeattributeset asec_apk_file_30_0 (asec_apk_file))
+(typeattributeset asec_image_file_30_0 (asec_image_file))
+(typeattributeset asec_public_file_30_0 (asec_public_file))
+(typeattributeset ashmem_device_30_0 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_30_0 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_30_0 (assetatlas_service))
+(typeattributeset audio_data_file_30_0 (audio_data_file))
+(typeattributeset audio_device_30_0 (audio_device))
+(typeattributeset audio_prop_30_0 (audio_prop))
+(typeattributeset audio_service_30_0 (audio_service))
+(typeattributeset audiohal_data_file_30_0 (audiohal_data_file))
+(typeattributeset audioserver_30_0 (audioserver))
+(typeattributeset audioserver_data_file_30_0 (audioserver_data_file))
+(typeattributeset audioserver_service_30_0 (audioserver_service))
+(typeattributeset audioserver_tmpfs_30_0 (audioserver_tmpfs))
+(typeattributeset auth_service_30_0 (auth_service))
+(typeattributeset autofill_service_30_0 (autofill_service))
+(typeattributeset backup_data_file_30_0 (backup_data_file))
+(typeattributeset backup_service_30_0 (backup_service))
+(typeattributeset battery_service_30_0 (battery_service))
+(typeattributeset batteryproperties_service_30_0 (batteryproperties_service))
+(typeattributeset batterystats_service_30_0 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_30_0 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_30_0 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_30_0 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_30_0 (binder_calls_stats_service))
+(typeattributeset binder_device_30_0 (binder_device))
+(typeattributeset binderfs_30_0 (binderfs))
+(typeattributeset binderfs_logs_30_0 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_30_0 (binderfs_logs_proc))
+(typeattributeset binfmt_miscfs_30_0 (binfmt_miscfs))
+(typeattributeset biometric_service_30_0 (biometric_service))
+(typeattributeset blkid_30_0 (blkid))
+(typeattributeset blkid_untrusted_30_0 (blkid_untrusted))
+(typeattributeset blob_store_service_30_0 (blob_store_service))
+(typeattributeset block_device_30_0 (block_device))
+(typeattributeset bluetooth_30_0 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_30_0 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_30_0 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_data_file_30_0 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_30_0 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_30_0 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_30_0 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_30_0 (bluetooth_prop))
+(typeattributeset bluetooth_service_30_0 (bluetooth_service))
+(typeattributeset bluetooth_socket_30_0 (bluetooth_socket))
+(typeattributeset boot_block_device_30_0 (boot_block_device))
+(typeattributeset bootanim_30_0 (bootanim))
+(typeattributeset bootanim_exec_30_0 (bootanim_exec))
+(typeattributeset bootchart_data_file_30_0 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_30_0 (bootloader_boot_reason_prop))
+(typeattributeset bootstat_30_0 (bootstat))
+(typeattributeset bootstat_data_file_30_0 (bootstat_data_file))
+(typeattributeset bootstat_exec_30_0 (bootstat_exec))
+(typeattributeset boottime_prop_30_0 (boottime_prop))
+(typeattributeset boottime_public_prop_30_0 (boottime_public_prop))
+(typeattributeset boottrace_data_file_30_0 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_30_0 (bpf_progs_loaded_prop))
+(typeattributeset bq_config_prop_30_0 (bq_config_prop))
+(typeattributeset broadcastradio_service_30_0 (broadcastradio_service))
+(typeattributeset bufferhubd_30_0 (bufferhubd))
+(typeattributeset bufferhubd_exec_30_0 (bufferhubd_exec))
+(typeattributeset bugreport_service_30_0 (bugreport_service))
+(typeattributeset cache_backup_file_30_0 (cache_backup_file))
+(typeattributeset cache_block_device_30_0 (cache_block_device))
+(typeattributeset cache_file_30_0 (cache_file))
+(typeattributeset cache_private_backup_file_30_0 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_30_0 (cache_recovery_file))
+(typeattributeset camera_data_file_30_0 (camera_data_file))
+(typeattributeset camera_device_30_0 (camera_device))
+(typeattributeset cameraproxy_service_30_0 (cameraproxy_service))
+(typeattributeset cameraserver_30_0 (cameraserver))
+(typeattributeset cameraserver_exec_30_0 (cameraserver_exec))
+(typeattributeset cameraserver_service_30_0 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_30_0 (cameraserver_tmpfs))
+(typeattributeset cgroup_30_0 (cgroup))
+(typeattributeset cgroup_bpf_30_0 (cgroup_bpf))
+(typeattributeset cgroup_desc_file_30_0 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_30_0 (cgroup_rc_file))
+(typeattributeset charger_30_0 (charger))
+(typeattributeset charger_exec_30_0 (charger_exec))
+(typeattributeset charger_prop_30_0 (charger_prop))
+(typeattributeset clipboard_service_30_0 (clipboard_service))
+(typeattributeset cold_boot_done_prop_30_0 (cold_boot_done_prop))
+(typeattributeset color_display_service_30_0 (color_display_service))
+(typeattributeset companion_device_service_30_0 (companion_device_service))
+(typeattributeset config_prop_30_0 (config_prop))
+(typeattributeset configfs_30_0 (configfs))
+(typeattributeset connectivity_service_30_0 (connectivity_service))
+(typeattributeset connmetrics_service_30_0 (connmetrics_service))
+(typeattributeset console_device_30_0 (console_device))
+(typeattributeset consumer_ir_service_30_0 (consumer_ir_service))
+(typeattributeset content_capture_service_30_0 (content_capture_service))
+(typeattributeset content_service_30_0 (content_service))
+(typeattributeset content_suggestions_service_30_0 (content_suggestions_service))
+(typeattributeset contexthub_service_30_0 (contexthub_service))
+(typeattributeset coredump_file_30_0 (coredump_file))
+(typeattributeset country_detector_service_30_0 (country_detector_service))
+(typeattributeset coverage_service_30_0 (coverage_service))
+(typeattributeset cppreopt_prop_30_0 (cppreopt_prop))
+(typeattributeset cpu_variant_prop_30_0 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_30_0 (cpuinfo_service))
+(typeattributeset crash_dump_30_0 (crash_dump))
+(typeattributeset crash_dump_exec_30_0 (crash_dump_exec))
+(typeattributeset credstore_30_0 (credstore))
+(typeattributeset credstore_data_file_30_0 (credstore_data_file))
+(typeattributeset credstore_exec_30_0 (credstore_exec))
+(typeattributeset credstore_service_30_0 (credstore_service))
+(typeattributeset crossprofileapps_service_30_0 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_30_0 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_30_0 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_30_0 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_30_0 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_30_0 (ctl_console_prop))
+(typeattributeset ctl_default_prop_30_0 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_30_0 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_30_0 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_30_0 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_30_0 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_30_0 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_30_0 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_30_0 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_30_0 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_30_0 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_30_0 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_30_0 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_30_0 (ctl_stop_prop))
+(typeattributeset dalvik_prop_30_0 (dalvik_prop))
+(typeattributeset dalvikcache_data_file_30_0 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_30_0 (dataloader_manager_service))
+(typeattributeset dbinfo_service_30_0 (dbinfo_service))
+(typeattributeset debug_prop_30_0 (debug_prop))
+(typeattributeset debugfs_30_0 (debugfs))
+(typeattributeset debugfs_mmc_30_0 (debugfs_mmc))
+(typeattributeset debugfs_trace_marker_30_0 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_30_0 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_30_0 (debugfs_tracing_debug
+                                              debugfs_tracing_printk_formats))
+(typeattributeset debugfs_tracing_instances_30_0 (debugfs_tracing_instances))
+(typeattributeset debugfs_wakeup_sources_30_0 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_30_0 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_30_0 (debuggerd_prop))
+(typeattributeset default_android_hwservice_30_0 (default_android_hwservice))
+(typeattributeset default_android_service_30_0 (default_android_service))
+(typeattributeset default_android_vndservice_30_0 (default_android_vndservice))
+(typeattributeset default_prop_30_0 (
+    default_prop
+    audio_config_prop
+    build_config_prop
+    suspend_prop
+    init_service_status_private_prop
+    setupwizard_prop
+    sqlite_log_prop
+    verity_status_prop
+    zygote_wrap_prop
+))
+(typeattributeset dev_cpu_variant_30_0 (dev_cpu_variant))
+(typeattributeset device_30_0 (device))
+(typeattributeset device_config_activity_manager_native_boot_prop_30_0 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_30_0 (device_config_boot_count_prop))
+(typeattributeset device_config_configuration_prop_30_0 (device_config_configuration_prop))
+(typeattributeset device_config_input_native_boot_prop_30_0 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_30_0 (device_config_media_native_prop))
+(typeattributeset device_config_netd_native_prop_30_0 (device_config_netd_native_prop))
+(typeattributeset device_config_reset_performed_prop_30_0 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_30_0 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_30_0 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_30_0 (device_config_service))
+(typeattributeset device_config_storage_native_boot_prop_30_0 (device_config_storage_native_boot_prop))
+(typeattributeset device_config_sys_traced_prop_30_0 (device_config_sys_traced_prop))
+(typeattributeset device_config_window_manager_native_boot_prop_30_0 (device_config_window_manager_native_boot_prop))
+(typeattributeset device_identifiers_service_30_0 (device_identifiers_service))
+(typeattributeset device_logging_prop_30_0 (device_logging_prop))
+(typeattributeset device_policy_service_30_0 (device_policy_service))
+(typeattributeset deviceidle_service_30_0 (deviceidle_service))
+(typeattributeset devicestoragemonitor_service_30_0 (devicestoragemonitor_service))
+(typeattributeset devpts_30_0 (devpts))
+(typeattributeset dhcp_30_0 (dhcp))
+(typeattributeset dhcp_data_file_30_0 (dhcp_data_file))
+(typeattributeset dhcp_exec_30_0 (dhcp_exec))
+(typeattributeset dhcp_prop_30_0 (dhcp_prop))
+(typeattributeset diskstats_service_30_0 (diskstats_service))
+(typeattributeset display_service_30_0 (display_service))
+(typeattributeset dm_device_30_0 (dm_device))
+(typeattributeset dnsmasq_30_0 (dnsmasq))
+(typeattributeset dnsmasq_exec_30_0 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_30_0 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_30_0 (dnsresolver_service))
+(typeattributeset dreams_service_30_0 (dreams_service))
+(typeattributeset drm_data_file_30_0 (drm_data_file))
+(typeattributeset drmserver_30_0 (drmserver))
+(typeattributeset drmserver_exec_30_0 (drmserver_exec))
+(typeattributeset drmserver_service_30_0 (drmserver_service))
+(typeattributeset drmserver_socket_30_0 (drmserver_socket))
+(typeattributeset dropbox_data_file_30_0 (dropbox_data_file))
+(typeattributeset dropbox_service_30_0 (dropbox_service))
+(typeattributeset dumpstate_30_0 (dumpstate))
+(typeattributeset dumpstate_exec_30_0 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_30_0 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_30_0 (dumpstate_prop))
+(typeattributeset dumpstate_service_30_0 (dumpstate_service))
+(typeattributeset dumpstate_socket_30_0 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_30_0 (dynamic_system_prop))
+(typeattributeset e2fs_30_0 (e2fs))
+(typeattributeset e2fs_exec_30_0 (e2fs_exec))
+(typeattributeset efs_file_30_0 (efs_file))
+(typeattributeset emergency_affordance_service_30_0 (emergency_affordance_service))
+(typeattributeset ephemeral_app_30_0 (ephemeral_app))
+(typeattributeset ethernet_service_30_0 (ethernet_service))
+(typeattributeset exfat_30_0 (exfat))
+(typeattributeset exported2_config_prop_30_0 (exported2_config_prop systemsound_config_prop))
+(typeattributeset exported2_default_prop_30_0
+  ( exported2_default_prop
+    aac_drc_prop
+    bootloader_prop
+    build_prop
+    hal_instrumentation_prop
+    init_service_status_prop
+    libc_debug_prop
+    property_service_version_prop))
+(typeattributeset exported2_radio_prop_30_0 (exported2_radio_prop))
+(typeattributeset exported2_system_prop_30_0
+  ( exported2_system_prop
+    dalvik_runtime_prop
+    surfaceflinger_color_prop
+    zram_control_prop))
+(typeattributeset exported2_vold_prop_30_0
+  ( exported2_vold_prop
+    vold_config_prop
+    vold_post_fs_data_prop))
+(typeattributeset exported3_default_prop_30_0
+  ( exported3_default_prop
+    camera_calibration_prop
+    camera_config_prop
+    charger_config_prop
+    drm_service_config_prop
+    hdmi_config_prop
+    keyguard_config_prop
+    lmkd_config_prop
+    media_config_prop
+    mediadrm_config_prop
+    oem_unlock_prop
+    packagemanager_config_prop
+    recovery_config_prop
+    sendbug_config_prop
+    storagemanager_config_prop
+    telephony_config_prop
+    tombstone_config_prop
+    vts_status_prop
+    wifi_config_prop
+    zram_config_prop))
+(typeattributeset exported3_radio_prop_30_0 (exported3_radio_prop radio_control_prop))
+(typeattributeset exported3_system_prop_30_0
+  ( exported3_system_prop
+    boot_status_prop
+    provisioned_prop
+    retaildemo_prop))
+(typeattributeset exported_audio_prop_30_0 (exported_audio_prop audio_config_prop))
+(typeattributeset exported_bluetooth_prop_30_0 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_30_0 (exported_camera_prop))
+(typeattributeset exported_config_prop_30_0 (exported_config_prop))
+(typeattributeset exported_dalvik_prop_30_0 (exported_dalvik_prop dalvik_config_prop))
+(typeattributeset exported_default_prop_30_0
+  ( exported_default_prop
+    aaudio_config_prop
+    build_bootimage_prop
+    build_odm_prop
+    build_vendor_prop
+    surfaceflinger_prop
+    vts_config_prop))
+(typeattributeset exported_dumpstate_prop_30_0 (exported_dumpstate_prop))
+(typeattributeset exported_ffs_prop_30_0
+  ( exported_ffs_prop
+    ffs_config_prop
+    ffs_control_prop))
+(typeattributeset exported_fingerprint_prop_30_0 (exported_fingerprint_prop fingerprint_prop))
+(typeattributeset exported_overlay_prop_30_0 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_30_0 (exported_pm_prop))
+(typeattributeset exported_radio_prop_30_0 (exported_radio_prop telephony_status_prop))
+(typeattributeset exported_secure_prop_30_0 (exported_secure_prop))
+(typeattributeset exported_system_prop_30_0 (exported_system_prop charger_status_prop))
+(typeattributeset exported_system_prop_30_0 (exported_system_prop bootanim_system_prop))
+
+(typeattributeset exported_system_radio_prop_30_0
+  ( exported_system_radio_prop
+    usb_config_prop
+    usb_control_prop))
+(typeattributeset exported_vold_prop_30_0 (exported_vold_prop vold_status_prop))
+(typeattributeset exported_wifi_prop_30_0 (exported_wifi_prop wifi_hal_prop))
+(typeattributeset external_vibrator_service_30_0 (external_vibrator_service))
+(typeattributeset face_service_30_0 (face_service))
+(typeattributeset face_vendor_data_file_30_0 (face_vendor_data_file))
+(typeattributeset fastbootd_30_0 (fastbootd))
+(typeattributeset ffs_prop_30_0 (ffs_prop))
+(typeattributeset file_contexts_file_30_0 (file_contexts_file))
+(typeattributeset file_integrity_service_30_0 (file_integrity_service))
+(typeattributeset fingerprint_service_30_0 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_30_0 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_30_0 (fingerprintd))
+(typeattributeset fingerprintd_data_file_30_0 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_30_0 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_30_0 (fingerprintd_service))
+(typeattributeset firstboot_prop_30_0 (firstboot_prop))
+(typeattributeset flags_health_check_30_0 (flags_health_check))
+(typeattributeset flags_health_check_exec_30_0 (flags_health_check_exec))
+(typeattributeset font_service_30_0 (font_service))
+(typeattributeset frp_block_device_30_0 (frp_block_device))
+(typeattributeset fs_bpf_30_0 (fs_bpf))
+(typeattributeset fsck_30_0 (fsck))
+(typeattributeset fsck_exec_30_0 (fsck_exec))
+(typeattributeset fsck_untrusted_30_0 (fsck_untrusted))
+(typeattributeset fscklogs_30_0 (fscklogs))
+(typeattributeset functionfs_30_0 (functionfs))
+(typeattributeset fuse_30_0 (fuse))
+(typeattributeset fuse_device_30_0 (fuse_device))
+(typeattributeset fwk_automotive_display_hwservice_30_0 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_bufferhub_hwservice_30_0 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_30_0 (fwk_camera_hwservice))
+(typeattributeset fwk_display_hwservice_30_0 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_30_0 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_30_0 (fwk_sensor_hwservice))
+(typeattributeset fwk_stats_hwservice_30_0 (fwk_stats_hwservice))
+(typeattributeset fwmarkd_socket_30_0 (fwmarkd_socket))
+(typeattributeset gatekeeper_data_file_30_0 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_30_0 (gatekeeper_service))
+(typeattributeset gatekeeperd_30_0 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_30_0 (gatekeeperd_exec))
+(typeattributeset gfxinfo_service_30_0 (gfxinfo_service))
+(typeattributeset gmscore_app_30_0 (gmscore_app))
+(typeattributeset gps_control_30_0 (gps_control))
+(typeattributeset gpu_device_30_0 (gpu_device))
+(typeattributeset gpu_service_30_0 (gpu_service))
+(typeattributeset gpuservice_30_0 (gpuservice))
+(typeattributeset graphics_device_30_0 (graphics_device))
+(typeattributeset graphicsstats_service_30_0 (graphicsstats_service))
+(typeattributeset gsi_data_file_30_0 (gsi_data_file))
+(typeattributeset gsi_metadata_file_30_0
+  ( gsi_metadata_file
+    gsi_public_metadata_file))
+(typeattributeset gsid_prop_30_0 (gsid_prop))
+(typeattributeset hal_atrace_hwservice_30_0 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_30_0 (hal_audio_hwservice))
+(typeattributeset hal_audiocontrol_hwservice_30_0 (hal_audiocontrol_hwservice))
+(typeattributeset hal_authsecret_hwservice_30_0 (hal_authsecret_hwservice))
+(typeattributeset hal_bluetooth_hwservice_30_0 (hal_bluetooth_hwservice))
+(typeattributeset hal_bootctl_hwservice_30_0 (hal_bootctl_hwservice))
+(typeattributeset hal_broadcastradio_hwservice_30_0 (hal_broadcastradio_hwservice))
+(typeattributeset hal_camera_hwservice_30_0 (hal_camera_hwservice))
+(typeattributeset hal_can_bus_hwservice_30_0 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_30_0 (hal_can_controller_hwservice))
+(typeattributeset hal_cas_hwservice_30_0 (hal_cas_hwservice))
+(typeattributeset hal_codec2_hwservice_30_0 (hal_codec2_hwservice))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_30_0 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_30_0 (hal_confirmationui_hwservice))
+(typeattributeset hal_contexthub_hwservice_30_0 (hal_contexthub_hwservice))
+(typeattributeset hal_drm_hwservice_30_0 (hal_drm_hwservice))
+(typeattributeset hal_dumpstate_hwservice_30_0 (hal_dumpstate_hwservice))
+(typeattributeset hal_evs_hwservice_30_0 (hal_evs_hwservice))
+(typeattributeset hal_face_hwservice_30_0 (hal_face_hwservice))
+(typeattributeset hal_fingerprint_hwservice_30_0 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_30_0 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_30_0 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gnss_hwservice_30_0 (hal_gnss_hwservice))
+(typeattributeset hal_graphics_allocator_hwservice_30_0 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_composer_hwservice_30_0 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_30_0 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_mapper_hwservice_30_0 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_health_hwservice_30_0 (hal_health_hwservice))
+(typeattributeset hal_health_storage_hwservice_30_0 (hal_health_storage_hwservice))
+(typeattributeset hal_identity_service_30_0 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_30_0 (hal_input_classifier_hwservice))
+(typeattributeset hal_ir_hwservice_30_0 (hal_ir_hwservice))
+(typeattributeset hal_keymaster_hwservice_30_0 (hal_keymaster_hwservice))
+(typeattributeset hal_light_hwservice_30_0 (hal_light_hwservice))
+(typeattributeset hal_light_service_30_0 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_30_0 (hal_lowpan_hwservice))
+(typeattributeset hal_memtrack_hwservice_30_0 (hal_memtrack_hwservice))
+(typeattributeset hal_neuralnetworks_hwservice_30_0 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_nfc_hwservice_30_0 (hal_nfc_hwservice))
+(typeattributeset hal_oemlock_hwservice_30_0 (hal_oemlock_hwservice))
+(typeattributeset hal_omx_hwservice_30_0 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_30_0 (hal_power_hwservice))
+(typeattributeset hal_power_service_30_0 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_30_0 (hal_power_stats_hwservice))
+(typeattributeset hal_rebootescrow_service_30_0 (hal_rebootescrow_service))
+(typeattributeset hal_renderscript_hwservice_30_0 (hal_renderscript_hwservice))
+(typeattributeset hal_secure_element_hwservice_30_0 (hal_secure_element_hwservice))
+(typeattributeset hal_sensors_hwservice_30_0 (hal_sensors_hwservice))
+(typeattributeset hal_telephony_hwservice_30_0 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_30_0 (hal_tetheroffload_hwservice))
+(typeattributeset hal_thermal_hwservice_30_0 (hal_thermal_hwservice))
+(typeattributeset hal_tv_cec_hwservice_30_0 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_input_hwservice_30_0 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_tuner_hwservice_30_0 (hal_tv_tuner_hwservice))
+(typeattributeset hal_usb_gadget_hwservice_30_0 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_hwservice_30_0 (hal_usb_hwservice))
+(typeattributeset hal_vehicle_hwservice_30_0 (hal_vehicle_hwservice))
+(typeattributeset hal_vibrator_hwservice_30_0 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_30_0 (hal_vibrator_service))
+(typeattributeset hal_vr_hwservice_30_0 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_30_0 (hal_weaver_hwservice))
+(typeattributeset hal_wifi_hostapd_hwservice_30_0 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hwservice_30_0 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_supplicant_hwservice_30_0 (hal_wifi_supplicant_hwservice))
+(typeattributeset hardware_properties_service_30_0 (hardware_properties_service))
+(typeattributeset hardware_service_30_0 (hardware_service))
+(typeattributeset hci_attach_dev_30_0 (hci_attach_dev))
+(typeattributeset hdmi_control_service_30_0 (hdmi_control_service))
+(typeattributeset healthd_30_0 (healthd))
+(typeattributeset healthd_exec_30_0 (healthd_exec))
+(typeattributeset heapdump_data_file_30_0 (heapdump_data_file))
+(typeattributeset heapprofd_30_0 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_30_0 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_30_0 (heapprofd_prop))
+(typeattributeset heapprofd_socket_30_0 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_30_0 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_30_0 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_30_0 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_30_0 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_30_0 (hidl_token_hwservice))
+(typeattributeset hw_random_device_30_0 (hw_random_device))
+(typeattributeset hwbinder_device_30_0 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_30_0 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_30_0 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_30_0 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_30_0 (hwservicemanager_prop))
+(typeattributeset icon_file_30_0 (icon_file))
+(typeattributeset idmap_30_0 (idmap))
+(typeattributeset idmap_exec_30_0 (idmap_exec))
+(typeattributeset idmap_service_30_0 (idmap_service))
+(typeattributeset iio_device_30_0 (iio_device))
+(typeattributeset imms_service_30_0 (imms_service))
+(typeattributeset incident_30_0 (incident))
+(typeattributeset incident_data_file_30_0 (incident_data_file))
+(typeattributeset incident_helper_30_0 (incident_helper))
+(typeattributeset incident_service_30_0 (incident_service))
+(typeattributeset incidentd_30_0 (incidentd))
+(typeattributeset incremental_control_file_30_0 (incremental_control_file))
+(typeattributeset incremental_prop_30_0 (incremental_prop))
+(typeattributeset incremental_service_30_0 (incremental_service))
+(typeattributeset init_30_0 (init))
+(typeattributeset init_exec_30_0 (init_exec))
+(typeattributeset init_perf_lsm_hooks_prop_30_0 (init_perf_lsm_hooks_prop))
+(typeattributeset init_svc_debug_prop_30_0 (init_svc_debug_prop))
+(typeattributeset init_tmpfs_30_0 (init_tmpfs))
+(typeattributeset inotify_30_0 (inotify))
+(typeattributeset input_device_30_0 (input_device))
+(typeattributeset input_method_service_30_0 (input_method_service))
+(typeattributeset input_service_30_0 (input_service))
+(typeattributeset inputflinger_30_0 (inputflinger))
+(typeattributeset inputflinger_exec_30_0 (inputflinger_exec))
+(typeattributeset inputflinger_service_30_0 (inputflinger_service))
+(typeattributeset install_data_file_30_0 (install_data_file))
+(typeattributeset installd_30_0 (installd))
+(typeattributeset installd_exec_30_0 (installd_exec))
+(typeattributeset installd_service_30_0 (installd_service))
+(typeattributeset ion_device_30_0 (ion_device))
+(typeattributeset iorap_inode2filename_30_0 (iorap_inode2filename))
+(typeattributeset iorap_inode2filename_exec_30_0 (iorap_inode2filename_exec))
+(typeattributeset iorap_inode2filename_tmpfs_30_0 (iorap_inode2filename_tmpfs))
+(typeattributeset iorap_prefetcherd_30_0 (iorap_prefetcherd))
+(typeattributeset iorap_prefetcherd_exec_30_0 (iorap_prefetcherd_exec))
+(typeattributeset iorap_prefetcherd_tmpfs_30_0 (iorap_prefetcherd_tmpfs))
+(typeattributeset iorapd_30_0 (iorapd))
+(typeattributeset iorapd_data_file_30_0 (iorapd_data_file))
+(typeattributeset iorapd_exec_30_0 (iorapd_exec))
+(typeattributeset iorapd_service_30_0 (iorapd_service))
+(typeattributeset iorapd_tmpfs_30_0 (iorapd_tmpfs))
+(typeattributeset ipsec_service_30_0 (ipsec_service))
+(typeattributeset iris_service_30_0 (iris_service))
+(typeattributeset iris_vendor_data_file_30_0 (iris_vendor_data_file))
+(typeattributeset isolated_app_30_0 (isolated_app))
+(typeattributeset jobscheduler_service_30_0 (jobscheduler_service))
+(typeattributeset kernel_30_0 (kernel))
+(typeattributeset keychain_data_file_30_0 (keychain_data_file))
+(typeattributeset keychord_device_30_0 (keychord_device))
+(typeattributeset keystore_30_0 (keystore))
+(typeattributeset keystore_data_file_30_0 (keystore_data_file))
+(typeattributeset keystore_exec_30_0 (keystore_exec))
+(typeattributeset keystore_service_30_0 (keystore_service))
+(typeattributeset kmsg_debug_device_30_0 (kmsg_debug_device))
+(typeattributeset kmsg_device_30_0 (kmsg_device))
+(typeattributeset labeledfs_30_0 (labeledfs))
+(typeattributeset last_boot_reason_prop_30_0 (last_boot_reason_prop))
+(typeattributeset launcherapps_service_30_0 (launcherapps_service))
+(typeattributeset light_service_30_0 (light_service))
+(typeattributeset linkerconfig_file_30_0 (linkerconfig_file))
+(typeattributeset llkd_30_0 (llkd))
+(typeattributeset llkd_exec_30_0 (llkd_exec))
+(typeattributeset llkd_prop_30_0 (llkd_prop))
+(typeattributeset lmkd_30_0 (lmkd))
+(typeattributeset lmkd_exec_30_0 (lmkd_exec))
+(typeattributeset lmkd_prop_30_0 (lmkd_prop))
+(typeattributeset lmkd_socket_30_0 (lmkd_socket))
+(typeattributeset location_service_30_0 (location_service))
+(typeattributeset lock_settings_service_30_0 (lock_settings_service))
+(typeattributeset log_prop_30_0 (log_prop))
+(typeattributeset log_tag_prop_30_0 (log_tag_prop))
+(typeattributeset logcat_exec_30_0 (logcat_exec))
+(typeattributeset logd_30_0 (logd))
+(typeattributeset logd_exec_30_0 (logd_exec))
+(typeattributeset logd_prop_30_0 (logd_prop))
+(typeattributeset logd_socket_30_0 (logd_socket))
+(typeattributeset logdr_socket_30_0 (logdr_socket))
+(typeattributeset logdw_socket_30_0 (logdw_socket))
+(typeattributeset logpersist_30_0 (logpersist))
+(typeattributeset logpersistd_logging_prop_30_0 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_30_0 (loop_control_device))
+(typeattributeset loop_device_30_0 (loop_device))
+(typeattributeset looper_stats_service_30_0 (looper_stats_service))
+(typeattributeset lowpan_device_30_0 (lowpan_device))
+(typeattributeset lowpan_prop_30_0 (lowpan_prop))
+(typeattributeset lowpan_service_30_0 (lowpan_service))
+(typeattributeset lpdump_service_30_0 (lpdump_service))
+(typeattributeset lpdumpd_prop_30_0 (lpdumpd_prop))
+(typeattributeset mac_perms_file_30_0 (mac_perms_file))
+(typeattributeset mdns_socket_30_0 (mdns_socket))
+(typeattributeset mdnsd_30_0 (mdnsd))
+(typeattributeset mdnsd_socket_30_0 (mdnsd_socket))
+(typeattributeset media_data_file_30_0 (media_data_file))
+(typeattributeset media_projection_service_30_0 (media_projection_service))
+(typeattributeset media_router_service_30_0 (media_router_service))
+(typeattributeset media_rw_data_file_30_0 (media_rw_data_file))
+(typeattributeset media_session_service_30_0 (media_session_service))
+(typeattributeset media_variant_prop_30_0 (media_variant_prop))
+(typeattributeset mediadrmserver_30_0 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_30_0 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_30_0 (mediadrmserver_service))
+(typeattributeset mediaextractor_30_0 (mediaextractor))
+(typeattributeset mediaextractor_exec_30_0 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_30_0 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_30_0 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_30_0 (mediametrics))
+(typeattributeset mediametrics_exec_30_0 (mediametrics_exec))
+(typeattributeset mediametrics_service_30_0 (mediametrics_service))
+(typeattributeset mediaprovider_30_0 (mediaprovider))
+(typeattributeset mediaserver_30_0 (mediaserver))
+(typeattributeset mediaserver_exec_30_0 (mediaserver_exec))
+(typeattributeset mediaserver_service_30_0 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_30_0 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_30_0 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_30_0 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_30_0 (mediatranscoding))
+(typeattributeset mediatranscoding_exec_30_0 (mediatranscoding_exec))
+(typeattributeset mediatranscoding_service_30_0 (mediatranscoding_service))
+(typeattributeset meminfo_service_30_0 (meminfo_service))
+(typeattributeset metadata_block_device_30_0 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_30_0 (metadata_bootstat_file))
+(typeattributeset metadata_file_30_0 (metadata_file))
+(typeattributeset method_trace_data_file_30_0 (method_trace_data_file))
+(typeattributeset midi_service_30_0 (midi_service))
+(typeattributeset mirror_data_file_30_0 (mirror_data_file))
+(typeattributeset misc_block_device_30_0 (misc_block_device))
+(typeattributeset misc_logd_file_30_0 (misc_logd_file))
+(typeattributeset misc_user_data_file_30_0 (misc_user_data_file))
+(typeattributeset mmc_prop_30_0 (mmc_prop))
+(typeattributeset mnt_expand_file_30_0 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_30_0 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_30_0 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_30_0 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_30_0 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_30_0 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_30_0 (mnt_user_file))
+(typeattributeset mnt_vendor_file_30_0 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_30_0 (mock_ota_prop))
+(typeattributeset modprobe_30_0 (modprobe))
+(typeattributeset module_sdkextensions_prop_30_0 (module_sdkextensions_prop))
+(typeattributeset mount_service_30_0 (mount_service))
+(typeattributeset mqueue_30_0 (mqueue))
+(typeattributeset mtp_30_0 (mtp))
+(typeattributeset mtp_device_30_0 (mtp_device))
+(typeattributeset mtp_exec_30_0 (mtp_exec))
+(typeattributeset mtpd_socket_30_0 (mtpd_socket))
+(typeattributeset nativetest_data_file_30_0 (nativetest_data_file))
+(typeattributeset net_data_file_30_0 (net_data_file))
+(typeattributeset net_dns_prop_30_0 (net_dns_prop))
+(typeattributeset net_radio_prop_30_0 (net_radio_prop))
+(typeattributeset netd_30_0 (netd))
+(typeattributeset netd_exec_30_0 (netd_exec))
+(typeattributeset netd_listener_service_30_0 (netd_listener_service))
+(typeattributeset netd_service_30_0 (netd_service))
+(typeattributeset netd_stable_secret_prop_30_0 (netd_stable_secret_prop))
+(typeattributeset netif_30_0 (netif))
+(typeattributeset netpolicy_service_30_0 (netpolicy_service))
+(typeattributeset netstats_service_30_0 (netstats_service))
+(typeattributeset netutils_wrapper_30_0 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_30_0 (netutils_wrapper_exec))
+(typeattributeset network_management_service_30_0 (network_management_service))
+(typeattributeset network_score_service_30_0 (network_score_service))
+(typeattributeset network_stack_30_0 (network_stack))
+(typeattributeset network_stack_service_30_0 (network_stack_service))
+(typeattributeset network_time_update_service_30_0 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_30_0 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_30_0 (network_watchlist_service))
+(typeattributeset nfc_30_0 (nfc))
+(typeattributeset nfc_data_file_30_0 (nfc_data_file))
+(typeattributeset nfc_device_30_0 (nfc_device))
+(typeattributeset nfc_prop_30_0 (nfc_prop))
+(typeattributeset nfc_service_30_0 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_30_0 (nnapi_ext_deny_product_prop))
+(typeattributeset node_30_0 (node))
+(typeattributeset nonplat_service_contexts_file_30_0 (nonplat_service_contexts_file))
+(typeattributeset notification_service_30_0 (notification_service))
+(typeattributeset null_device_30_0 (null_device))
+(typeattributeset oem_lock_service_30_0 (oem_lock_service))
+(typeattributeset oemfs_30_0 (oemfs))
+(typeattributeset ota_data_file_30_0 (ota_data_file))
+(typeattributeset ota_metadata_file_30_0 (ota_metadata_file))
+(typeattributeset ota_package_file_30_0 (ota_package_file))
+(typeattributeset ota_prop_30_0 (ota_prop))
+(typeattributeset otadexopt_service_30_0 (otadexopt_service))
+(typeattributeset overlay_prop_30_0 (overlay_prop))
+(typeattributeset overlay_service_30_0 (overlay_service))
+(typeattributeset overlayfs_file_30_0 (overlayfs_file))
+(typeattributeset owntty_device_30_0 (owntty_device))
+(typeattributeset package_native_service_30_0 (package_native_service))
+(typeattributeset package_service_30_0 (package_service))
+(typeattributeset packages_list_file_30_0 (packages_list_file))
+(typeattributeset pan_result_prop_30_0 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_30_0 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_30_0 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_30_0 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_30_0 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_30_0 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_30_0 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_30_0 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_30_0 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_30_0 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_30_0 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_30_0 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_30_0 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_30_0 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_30_0 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_30_0 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_30_0 (pdx_performance_dir))
+(typeattributeset perfetto_30_0 (perfetto))
+(typeattributeset performanced_30_0 (performanced))
+(typeattributeset performanced_exec_30_0 (performanced_exec))
+(typeattributeset permission_service_30_0 (permission_service))
+(typeattributeset permissionmgr_service_30_0 (permissionmgr_service))
+(typeattributeset persist_debug_prop_30_0 (persist_debug_prop))
+(typeattributeset persistent_data_block_service_30_0 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_30_0 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_30_0 (pinner_service))
+(typeattributeset pipefs_30_0 (pipefs))
+(typeattributeset platform_app_30_0 (platform_app))
+(typeattributeset platform_compat_service_30_0 (platform_compat_service))
+(typeattributeset pm_prop_30_0 (pm_prop))
+(typeattributeset pmsg_device_30_0 (pmsg_device))
+(typeattributeset port_30_0 (port))
+(typeattributeset port_device_30_0 (port_device))
+(typeattributeset postinstall_30_0 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_30_0 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_30_0 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_30_0 (postinstall_mnt_dir))
+(typeattributeset power_service_30_0 (power_service))
+(typeattributeset powerctl_prop_30_0 (powerctl_prop))
+(typeattributeset ppp_30_0 (ppp))
+(typeattributeset ppp_device_30_0 (ppp_device))
+(typeattributeset ppp_exec_30_0 (ppp_exec))
+(typeattributeset preloads_data_file_30_0 (preloads_data_file))
+(typeattributeset preloads_media_file_30_0 (preloads_media_file))
+(typeattributeset prereboot_data_file_30_0 (prereboot_data_file))
+(typeattributeset print_service_30_0 (print_service))
+(typeattributeset priv_app_30_0 (priv_app))
+(typeattributeset privapp_data_file_30_0 (privapp_data_file))
+(typeattributeset proc_30_0
+  ( proc
+    proc_bootconfig
+    proc_watermark_scale_factor))
+(typeattributeset proc_abi_30_0 (proc_abi))
+(typeattributeset proc_asound_30_0 (proc_asound))
+(typeattributeset proc_bluetooth_writable_30_0 (proc_bluetooth_writable))
+(typeattributeset proc_buddyinfo_30_0 (proc_buddyinfo))
+(typeattributeset proc_cmdline_30_0 (proc_cmdline))
+(typeattributeset proc_cpuinfo_30_0 (proc_cpuinfo))
+(typeattributeset proc_dirty_30_0 (proc_dirty))
+(typeattributeset proc_diskstats_30_0 (proc_diskstats))
+(typeattributeset proc_drop_caches_30_0 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_30_0 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_30_0 (proc_filesystems))
+(typeattributeset proc_fs_verity_30_0 (proc_fs_verity))
+(typeattributeset proc_hostname_30_0 (proc_hostname))
+(typeattributeset proc_hung_task_30_0 (proc_hung_task))
+(typeattributeset proc_interrupts_30_0 (proc_interrupts))
+(typeattributeset proc_iomem_30_0 (proc_iomem))
+(typeattributeset proc_keys_30_0 (proc_keys))
+(typeattributeset proc_kmsg_30_0 (proc_kmsg))
+(typeattributeset proc_kpageflags_30_0 (proc_kpageflags))
+(typeattributeset proc_loadavg_30_0 (proc_loadavg))
+(typeattributeset proc_lowmemorykiller_30_0 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_30_0 (proc_max_map_count))
+(typeattributeset proc_meminfo_30_0 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_30_0 (proc_min_free_order_shift))
+(typeattributeset proc_misc_30_0 (proc_misc))
+(typeattributeset proc_modules_30_0 (proc_modules))
+(typeattributeset proc_mounts_30_0 (proc_mounts))
+(typeattributeset proc_net_30_0 (proc_net))
+(typeattributeset proc_net_tcp_udp_30_0 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_30_0 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_30_0 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_30_0 (proc_pagetypeinfo))
+(typeattributeset proc_panic_30_0 (proc_panic))
+(typeattributeset proc_perf_30_0 (proc_perf))
+(typeattributeset proc_pid_max_30_0 (proc_pid_max))
+(typeattributeset proc_pipe_conf_30_0 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_30_0 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_30_0 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_30_0 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_30_0 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_30_0 (proc_qtaguid_stat))
+(typeattributeset proc_random_30_0 (proc_random))
+(typeattributeset proc_sched_30_0 (proc_sched))
+(typeattributeset proc_security_30_0 (proc_security))
+(typeattributeset proc_slabinfo_30_0 (proc_slabinfo))
+(typeattributeset proc_stat_30_0 (proc_stat))
+(typeattributeset proc_swaps_30_0 (proc_swaps))
+(typeattributeset proc_sysrq_30_0 (proc_sysrq))
+(typeattributeset proc_timer_30_0 (proc_timer))
+(typeattributeset proc_tty_drivers_30_0 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_30_0 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_30_0 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_30_0 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_30_0 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_30_0 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_30_0 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_30_0 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_30_0 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_30_0 (proc_uptime))
+(typeattributeset proc_version_30_0 (proc_version))
+(typeattributeset proc_vmallocinfo_30_0 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_30_0 (proc_vmstat))
+(typeattributeset proc_zoneinfo_30_0 (proc_zoneinfo))
+(typeattributeset processinfo_service_30_0 (processinfo_service))
+(typeattributeset procstats_service_30_0 (procstats_service))
+(typeattributeset profman_30_0 (profman))
+(typeattributeset profman_dump_data_file_30_0 (profman_dump_data_file))
+(typeattributeset profman_exec_30_0 (profman_exec))
+(typeattributeset properties_device_30_0 (properties_device))
+(typeattributeset properties_serial_30_0 (properties_serial))
+(typeattributeset property_contexts_file_30_0 (property_contexts_file))
+(typeattributeset property_data_file_30_0 (property_data_file))
+(typeattributeset property_info_30_0 (property_info))
+(typeattributeset property_socket_30_0 (property_socket))
+(typeattributeset pstorefs_30_0 (pstorefs))
+(typeattributeset ptmx_device_30_0 (ptmx_device))
+(typeattributeset qtaguid_device_30_0 (qtaguid_device))
+(typeattributeset racoon_30_0 (racoon))
+(typeattributeset racoon_exec_30_0 (racoon_exec))
+(typeattributeset racoon_socket_30_0 (racoon_socket))
+(typeattributeset radio_30_0 (radio))
+(typeattributeset radio_data_file_30_0 (radio_data_file))
+(typeattributeset radio_device_30_0 (radio_device))
+(typeattributeset radio_prop_30_0 (radio_prop))
+(typeattributeset radio_service_30_0 (radio_service))
+(typeattributeset ram_device_30_0 (ram_device))
+(typeattributeset random_device_30_0 (random_device))
+(typeattributeset rebootescrow_hal_prop_30_0 (rebootescrow_hal_prop))
+(typeattributeset recovery_30_0 (recovery))
+(typeattributeset recovery_block_device_30_0 (recovery_block_device))
+(typeattributeset recovery_data_file_30_0 (recovery_data_file))
+(typeattributeset recovery_persist_30_0 (recovery_persist))
+(typeattributeset recovery_persist_exec_30_0 (recovery_persist_exec))
+(typeattributeset recovery_refresh_30_0 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_30_0 (recovery_refresh_exec))
+(typeattributeset recovery_service_30_0 (recovery_service))
+(typeattributeset recovery_socket_30_0 (recovery_socket))
+(typeattributeset registry_service_30_0 (registry_service))
+(typeattributeset resourcecache_data_file_30_0 (resourcecache_data_file))
+(typeattributeset restorecon_prop_30_0 (restorecon_prop))
+(typeattributeset restrictions_service_30_0 (restrictions_service))
+(typeattributeset rild_debug_socket_30_0 (rild_debug_socket))
+(typeattributeset rild_socket_30_0 (rild_socket))
+(typeattributeset ringtone_file_30_0 (ringtone_file))
+(typeattributeset role_service_30_0 (role_service))
+(typeattributeset rollback_service_30_0 (rollback_service))
+(typeattributeset root_block_device_30_0 (root_block_device))
+(typeattributeset rootfs_30_0 (rootfs))
+(typeattributeset rpmsg_device_30_0 (rpmsg_device))
+(typeattributeset rs_30_0 (rs))
+(typeattributeset rs_exec_30_0 (rs_exec))
+(typeattributeset rss_hwm_reset_30_0 (rss_hwm_reset))
+(typeattributeset rtc_device_30_0 (rtc_device))
+(typeattributeset rttmanager_service_30_0 (rttmanager_service))
+(typeattributeset runas_30_0 (runas))
+(typeattributeset runas_app_30_0 (runas_app))
+(typeattributeset runas_exec_30_0 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_30_0 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_30_0 (runtime_service))
+(typeattributeset safemode_prop_30_0 (safemode_prop))
+(typeattributeset same_process_hal_file_30_0 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_30_0 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_30_0 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_30_0 (sdcard_block_device))
+(typeattributeset sdcardd_30_0 (sdcardd))
+(typeattributeset sdcardd_exec_30_0 (sdcardd_exec))
+(typeattributeset sdcardfs_30_0 (sdcardfs))
+(typeattributeset seapp_contexts_file_30_0 (seapp_contexts_file))
+(typeattributeset search_service_30_0 (search_service))
+(typeattributeset sec_key_att_app_id_provider_service_30_0 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_30_0 (secure_element))
+(typeattributeset secure_element_device_30_0 (secure_element_device))
+(typeattributeset secure_element_service_30_0 (secure_element_service))
+(typeattributeset securityfs_30_0 (securityfs))
+(typeattributeset selinuxfs_30_0 (selinuxfs))
+(typeattributeset sensor_privacy_service_30_0 (sensor_privacy_service))
+(typeattributeset sensors_device_30_0 (sensors_device))
+(typeattributeset sensorservice_service_30_0 (sensorservice_service))
+(typeattributeset sepolicy_file_30_0 (sepolicy_file))
+(typeattributeset serial_device_30_0 (serial_device))
+(typeattributeset serial_service_30_0 (serial_service))
+(typeattributeset serialno_prop_30_0 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_30_0 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_30_0 (service_contexts_file))
+(typeattributeset service_manager_service_30_0 (service_manager_service))
+(typeattributeset service_manager_vndservice_30_0 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_30_0 (servicediscovery_service))
+(typeattributeset servicemanager_30_0 (servicemanager))
+(typeattributeset servicemanager_exec_30_0 (servicemanager_exec))
+(typeattributeset settings_service_30_0 (settings_service))
+(typeattributeset sgdisk_30_0 (sgdisk))
+(typeattributeset sgdisk_exec_30_0 (sgdisk_exec))
+(typeattributeset shared_relro_30_0 (shared_relro))
+(typeattributeset shared_relro_file_30_0 (shared_relro_file))
+(typeattributeset shell_30_0 (shell))
+(typeattributeset shell_data_file_30_0 (shell_data_file))
+(typeattributeset shell_exec_30_0 (shell_exec))
+(typeattributeset shell_prop_30_0 (shell_prop))
+(typeattributeset shm_30_0 (shm))
+(typeattributeset shortcut_manager_icons_30_0 (shortcut_manager_icons))
+(typeattributeset shortcut_service_30_0 (shortcut_service))
+(typeattributeset simpleperf_30_0 (simpleperf))
+(typeattributeset simpleperf_app_runner_30_0 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_30_0 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_30_0 (slice_service))
+(typeattributeset slideshow_30_0 (slideshow))
+(typeattributeset snapshotctl_log_data_file_30_0 (snapshotctl_log_data_file))
+(typeattributeset socket_device_30_0 (socket_device))
+(typeattributeset socket_hook_prop_30_0 (socket_hook_prop))
+(typeattributeset sockfs_30_0 (sockfs))
+(typeattributeset sota_prop_30_0 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_30_0 (soundtrigger_middleware_service))
+(typeattributeset staging_data_file_30_0 (staging_data_file))
+(typeattributeset stats_data_file_30_0 (stats_data_file))
+(typeattributeset statsd_30_0 (statsd))
+(typeattributeset statsd_exec_30_0 (statsd_exec))
+(typeattributeset statsdw_socket_30_0 (statsdw_socket))
+(typeattributeset statusbar_service_30_0 (statusbar_service))
+(typeattributeset storage_config_prop_30_0 (storage_config_prop))
+(typeattributeset storage_file_30_0 (storage_file))
+(typeattributeset storage_stub_file_30_0 (storage_stub_file))
+(typeattributeset storaged_service_30_0 (storaged_service))
+(typeattributeset storagestats_service_30_0 (storagestats_service))
+(typeattributeset su_30_0 (su))
+(typeattributeset su_exec_30_0 (su_exec))
+(typeattributeset super_block_device_30_0 (super_block_device))
+(typeattributeset surfaceflinger_30_0 (surfaceflinger))
+(typeattributeset surfaceflinger_service_30_0 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_30_0 (surfaceflinger_tmpfs))
+(typeattributeset swap_block_device_30_0 (swap_block_device))
+(typeattributeset sysfs_30_0 (sysfs sysfs_fs_incfs_features))
+(typeattributeset sysfs_30_0 (sysfs sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_android_usb_30_0 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_30_0 (sysfs_batteryinfo))
+(typeattributeset sysfs_bluetooth_writable_30_0 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devices_block_30_0 (sysfs_devices_block))
+(typeattributeset sysfs_devices_system_cpu_30_0 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_30_0 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_30_0 (sysfs_dm_verity))
+(typeattributeset sysfs_dt_firmware_android_30_0 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_30_0 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_30_0 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_30_0 (sysfs_fs_f2fs))
+(typeattributeset sysfs_hwrandom_30_0 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_30_0 (sysfs_ion))
+(typeattributeset sysfs_ipv4_30_0 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_30_0 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_30_0 (sysfs_leds))
+(typeattributeset sysfs_loop_30_0 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_30_0 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_net_30_0 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_30_0 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_30_0 (sysfs_power))
+(typeattributeset sysfs_rtc_30_0 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_30_0 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_30_0 (sysfs_switch))
+(typeattributeset sysfs_thermal_30_0 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_30_0 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uio_30_0 (sysfs_uio))
+(typeattributeset sysfs_usb_30_0 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_30_0 (sysfs_usermodehelper))
+(typeattributeset sysfs_vibrator_30_0 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_30_0 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_30_0 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_30_0 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_30_0 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_30_0 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_30_0 (sysfs_zram_uevent))
+(typeattributeset system_adbd_prop_30_0 (system_adbd_prop))
+(typeattributeset system_app_30_0 (system_app))
+(typeattributeset system_app_data_file_30_0 (system_app_data_file))
+(typeattributeset system_app_service_30_0 (system_app_service))
+(typeattributeset system_asan_options_file_30_0 (system_asan_options_file))
+(typeattributeset system_block_device_30_0 (system_block_device))
+(typeattributeset system_boot_reason_prop_30_0 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_30_0 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_30_0 (system_config_service))
+(typeattributeset system_data_file_30_0 (system_data_file))
+(typeattributeset system_data_root_file_30_0 (system_data_root_file))
+(typeattributeset system_event_log_tags_file_30_0 (system_event_log_tags_file))
+(typeattributeset system_file_30_0 (system_file))
+(typeattributeset system_group_file_30_0 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_30_0 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_30_0 (system_lib_file))
+(typeattributeset system_linker_config_file_30_0 (system_linker_config_file))
+(typeattributeset system_linker_exec_30_0 (system_linker_exec))
+(typeattributeset system_lmk_prop_30_0 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_30_0 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_30_0 (system_net_netd_hwservice))
+(typeattributeset system_passwd_file_30_0 (system_passwd_file))
+(typeattributeset system_prop_30_0 (system_prop))
+(typeattributeset system_radio_prop_30_0 (system_radio_prop usb_prop))
+(typeattributeset system_seccomp_policy_file_30_0 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_30_0 (system_security_cacerts_file))
+(typeattributeset system_server_30_0 (system_server))
+(typeattributeset system_server_tmpfs_30_0 (system_server_tmpfs))
+(typeattributeset system_suspend_control_service_30_0 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_30_0 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_30_0 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_30_0 (system_unsolzygote_socket))
+(typeattributeset system_update_service_30_0 (system_update_service))
+(typeattributeset system_wifi_keystore_hwservice_30_0 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_30_0 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_30_0 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_30_0 (systemkeys_data_file))
+(typeattributeset task_profiles_file_30_0 (task_profiles_file))
+(typeattributeset task_service_30_0 (task_service))
+(typeattributeset tcpdump_exec_30_0 (tcpdump_exec))
+(typeattributeset tee_30_0 (tee))
+(typeattributeset tee_data_file_30_0 (tee_data_file))
+(typeattributeset tee_device_30_0 (tee_device))
+(typeattributeset telecom_service_30_0 (telecom_service))
+(typeattributeset test_boot_reason_prop_30_0 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_30_0 (test_harness_prop))
+(typeattributeset testharness_service_30_0 (testharness_service))
+(typeattributeset tethering_service_30_0 (tethering_service))
+(typeattributeset textclassification_service_30_0 (textclassification_service))
+(typeattributeset textclassifier_data_file_30_0 (textclassifier_data_file))
+(typeattributeset textservices_service_30_0 (textservices_service))
+(typeattributeset theme_prop_30_0 (theme_prop))
+(typeattributeset thermal_service_30_0 (thermal_service))
+(typeattributeset thermalcallback_hwservice_30_0 (thermalcallback_hwservice))
+(typeattributeset time_prop_30_0 (time_prop))
+(typeattributeset timedetector_service_30_0 (timedetector_service))
+(typeattributeset timezone_service_30_0 (timezone_service))
+(typeattributeset timezonedetector_service_30_0 (timezonedetector_service))
+(typeattributeset tmpfs_30_0 (tmpfs))
+(typeattributeset tombstone_data_file_30_0 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_30_0 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_30_0 (tombstoned))
+(typeattributeset tombstoned_crash_socket_30_0 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_30_0 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_30_0 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_30_0 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_30_0 (toolbox))
+(typeattributeset toolbox_exec_30_0 (toolbox_exec))
+(typeattributeset trace_data_file_30_0 (trace_data_file))
+(typeattributeset traced_30_0 (traced))
+(typeattributeset traced_consumer_socket_30_0 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_30_0 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_30_0 (traced_lazy_prop))
+(typeattributeset traced_perf_30_0 (traced_perf))
+(typeattributeset traced_perf_enabled_prop_30_0 (traced_perf_enabled_prop))
+(typeattributeset traced_perf_socket_30_0 (traced_perf_socket))
+(typeattributeset traced_probes_30_0 (traced_probes))
+(typeattributeset traced_producer_socket_30_0 (traced_producer_socket))
+(typeattributeset traceur_app_30_0 (traceur_app))
+(typeattributeset trust_service_30_0 (trust_service))
+(typeattributeset tty_device_30_0 (tty_device))
+(typeattributeset tun_device_30_0 (tun_device))
+(typeattributeset tv_input_service_30_0 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_30_0 (tv_tuner_resource_mgr_service))
+(typeattributeset tzdatacheck_30_0 (tzdatacheck))
+(typeattributeset tzdatacheck_exec_30_0 (tzdatacheck_exec))
+(typeattributeset ueventd_30_0 (ueventd))
+(typeattributeset ueventd_tmpfs_30_0 (ueventd_tmpfs))
+(typeattributeset uhid_device_30_0 (uhid_device))
+(typeattributeset uimode_service_30_0 (uimode_service))
+(typeattributeset uio_device_30_0 (uio_device))
+(typeattributeset uncrypt_30_0 (uncrypt))
+(typeattributeset uncrypt_exec_30_0 (uncrypt_exec))
+(typeattributeset uncrypt_socket_30_0 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_30_0 (unencrypted_data_file))
+(typeattributeset unlabeled_30_0 (unlabeled))
+(typeattributeset untrusted_app_25_30_0 (untrusted_app_25))
+(typeattributeset untrusted_app_27_30_0 (untrusted_app_27))
+(typeattributeset untrusted_app_29_30_0 (untrusted_app_29))
+(typeattributeset untrusted_app_30_0 (untrusted_app))
+(typeattributeset update_engine_30_0 (update_engine))
+(typeattributeset update_engine_data_file_30_0 (update_engine_data_file))
+(typeattributeset update_engine_exec_30_0 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_30_0 (update_engine_log_data_file))
+(typeattributeset update_engine_service_30_0 (update_engine_service))
+(typeattributeset update_verifier_30_0 (update_verifier))
+(typeattributeset update_verifier_exec_30_0 (update_verifier_exec))
+(typeattributeset updatelock_service_30_0 (updatelock_service))
+(typeattributeset uri_grants_service_30_0 (uri_grants_service))
+(typeattributeset usagestats_service_30_0 (usagestats_service))
+(typeattributeset usb_device_30_0 (usb_device))
+(typeattributeset usb_serial_device_30_0 (usb_serial_device))
+(typeattributeset usb_service_30_0 (usb_service))
+(typeattributeset usbaccessory_device_30_0 (usbaccessory_device))
+(typeattributeset usbd_30_0 (usbd))
+(typeattributeset usbd_exec_30_0 (usbd_exec))
+(typeattributeset usbfs_30_0 (usbfs))
+(typeattributeset use_memfd_prop_30_0 (use_memfd_prop))
+(typeattributeset user_profile_data_file_30_0
+  ( user_profile_data_file
+    user_profile_root_file
+))
+(typeattributeset user_service_30_0 (user_service))
+(typeattributeset userdata_block_device_30_0 (userdata_block_device))
+(typeattributeset usermodehelper_30_0 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_30_0 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_30_0 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_log_prop_30_0 (userspace_reboot_log_prop))
+(typeattributeset userspace_reboot_test_prop_30_0 (userspace_reboot_test_prop))
+(typeattributeset vdc_30_0 (vdc))
+(typeattributeset vdc_exec_30_0 (vdc_exec))
+(typeattributeset vehicle_hal_prop_30_0 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_30_0 (vendor_apex_file))
+(typeattributeset vendor_app_file_30_0 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_30_0 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_30_0 (vendor_configs_file))
+(typeattributeset vendor_data_file_30_0 (vendor_data_file))
+(typeattributeset vendor_default_prop_30_0 (vendor_default_prop))
+(typeattributeset vendor_file_30_0 (vendor_file))
+(typeattributeset vendor_framework_file_30_0 (vendor_framework_file))
+(typeattributeset vendor_hal_file_30_0 (vendor_hal_file))
+(typeattributeset vendor_idc_file_30_0 (vendor_idc_file))
+(typeattributeset vendor_init_30_0 (vendor_init))
+(typeattributeset vendor_keychars_file_30_0 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_30_0 (vendor_keylayout_file))
+(typeattributeset vendor_misc_writer_30_0 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_30_0 (vendor_misc_writer_exec))
+(typeattributeset vendor_overlay_file_30_0 (vendor_overlay_file))
+(typeattributeset vendor_public_lib_file_30_0
+    ( vendor_public_framework_file
+      vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_30_0 (vendor_security_patch_level_prop))
+(typeattributeset vendor_shell_30_0 (vendor_shell))
+(typeattributeset vendor_shell_exec_30_0 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_30_0 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_30_0 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_30_0 (vendor_toolbox_exec))
+(typeattributeset vfat_30_0 (vfat))
+(typeattributeset vibrator_service_30_0 (vibrator_service))
+(typeattributeset video_device_30_0 (video_device))
+(typeattributeset virtual_ab_prop_30_0 (virtual_ab_prop))
+(typeattributeset virtual_touchpad_30_0 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_30_0 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_30_0 (virtual_touchpad_service))
+(typeattributeset vndbinder_device_30_0 (vndbinder_device))
+(typeattributeset vndk_prop_30_0 (vndk_prop))
+(typeattributeset vndk_sp_file_30_0 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_30_0 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_30_0 (vndservicemanager))
+(typeattributeset voiceinteraction_service_30_0 (voiceinteraction_service))
+(typeattributeset vold_30_0 (vold))
+(typeattributeset vold_data_file_30_0 (vold_data_file))
+(typeattributeset vold_device_30_0 (vold_device))
+(typeattributeset vold_exec_30_0 (vold_exec))
+(typeattributeset vold_metadata_file_30_0 (vold_metadata_file))
+(typeattributeset vold_prepare_subdirs_30_0 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_30_0 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_30_0 (vold_prop))
+(typeattributeset vold_service_30_0 (vold_service))
+(typeattributeset vpn_data_file_30_0 (vpn_data_file))
+(typeattributeset vr_hwc_30_0 (vr_hwc))
+(typeattributeset vr_hwc_exec_30_0 (vr_hwc_exec))
+(typeattributeset vr_hwc_service_30_0 (vr_hwc_service))
+(typeattributeset vr_manager_service_30_0 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_30_0 (vrflinger_vsync_service))
+(typeattributeset wallpaper_file_30_0 (wallpaper_file))
+(typeattributeset wallpaper_service_30_0 (wallpaper_service))
+(typeattributeset watchdog_device_30_0 (watchdog_device))
+(typeattributeset watchdogd_30_0 (watchdogd))
+(typeattributeset watchdogd_exec_30_0 (watchdogd_exec))
+(typeattributeset webview_zygote_30_0 (webview_zygote))
+(typeattributeset webview_zygote_exec_30_0 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_30_0 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_30_0 (webviewupdate_service))
+(typeattributeset wifi_data_file_30_0 (wifi_data_file))
+(typeattributeset wifi_log_prop_30_0 (wifi_log_prop))
+(typeattributeset wifi_prop_30_0 (wifi_prop))
+(typeattributeset wifi_service_30_0 (wifi_service))
+(typeattributeset wifiaware_service_30_0 (wifiaware_service))
+(typeattributeset wificond_30_0 (wificond))
+(typeattributeset wificond_exec_30_0 (wificond_exec))
+(typeattributeset wifinl80211_service_30_0 (wifinl80211_service))
+(typeattributeset wifip2p_service_30_0 (wifip2p_service))
+(typeattributeset wifiscanner_service_30_0 (wifiscanner_service))
+(typeattributeset window_service_30_0 (window_service))
+(typeattributeset wpa_socket_30_0 (wpa_socket))
+(typeattributeset wpantund_30_0 (wpantund))
+(typeattributeset wpantund_exec_30_0 (wpantund_exec))
+(typeattributeset wpantund_service_30_0 (wpantund_service))
+(typeattributeset zero_device_30_0 (zero_device))
+(typeattributeset zoneinfo_data_file_30_0 (zoneinfo_data_file))
+(typeattributeset zygote_30_0 (zygote))
+(typeattributeset zygote_exec_30_0 (zygote_exec))
+(typeattributeset zygote_socket_30_0 (zygote_socket))
+(typeattributeset zygote_tmpfs_30_0 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/30.0/30.0.compat.cil b/prebuilts/api/202504/private/compat/30.0/30.0.compat.cil
new file mode 100644
index 0000000..c9c5f47
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/30.0/30.0.compat.cil
@@ -0,0 +1,39 @@
+;; complement CIL file for compatibility between ToT policy and 30.0 vendors.
+;; will be compiled along with other normal policy files, on 30.0 vendors.
+;;
+
+(typeattribute vendordomain)
+(typeattributeset vendordomain ((and (domain) ((not (coredomain))))))
+
+;; TODO: Once 30.0 is no longer supported for vendor images,
+;; mlsvendorcompat can be completely from the system policy.
+(typeattributeset mlsvendorcompat (and appdomain vendordomain))
+(allow mlsvendorcompat app_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mlsvendorcompat app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow mlsvendorcompat privapp_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(allow mlsvendorcompat privapp_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+
+;; permission for devices (older than S) where debugfs restriction doesn't apply.
+(typeattribute debugfs_file_type)
+(typeattributeset debugfs_file_type (and debugfs_type file_type))
+(typeattribute debugfs_fs_type)
+(typeattributeset debugfs_fs_type (and debugfs_type fs_type))
+
+(allow dumpstate debugfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate debugfs_mmc (file (ioctl read getattr lock map open watch watch_reads)))
+(allow dumpstate debugfs_wakeup_sources (file (ioctl read getattr lock map open watch watch_reads)))
+(auditallow dumpstate debugfs (file (ioctl read getattr lock map open watch watch_reads)))
+
+(allow init debugfs (dir (getattr relabelfrom)))
+(allow init debugfs (file (getattr relabelfrom)))
+(allow init debugfs (lnk_file (getattr relabelfrom)))
+(allow init debugfs_file_type (file (create getattr open read write setattr relabelfrom unlink map)))
+(allow init debugfs_fs_type (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget watch)))
+(allow init debugfs_type (dir (getattr relabelto)))
+(allow init debugfs_type (file (getattr relabelto)))
+(allow init debugfs_type (lnk_file (getattr relabelto)))
+
+(allow system_server debugfs_wakeup_sources (file (ioctl read getattr lock map open watch watch_reads)))
+
+(allow vendor_init debugfs_file_type (file (create getattr open read write setattr relabelfrom unlink map)))
+(allow vendor_init debugfs_fs_type (file (open read setattr map)))
diff --git a/prebuilts/api/202504/private/compat/30.0/30.0.ignore.cil b/prebuilts/api/202504/private/compat/30.0/30.0.ignore.cil
new file mode 100644
index 0000000..1d3b389
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/30.0/30.0.ignore.cil
@@ -0,0 +1,159 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 30.0 policy.  Thus, we do not need to map
+;;   these types to previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    ab_update_gki_prop
+    adbd_config_prop
+    apc_service
+    apex_appsearch_data_file
+    apex_art_data_file
+    apex_art_staging_data_file
+    apex_info_file
+    apex_ota_reserved_file
+    apex_scheduling_data_file
+    apex_system_server_data_file
+    apexd_config_prop
+    app_hibernation_service
+    appcompat_data_file
+    arm64_memtag_prop
+    artd
+    artd_exec
+    artd_service
+    atrace
+    authorization_service
+    bootanim_config_prop
+    camerax_extensions_prop
+    cgroup_desc_api_file
+    cgroup_v2
+    codec2_config_prop
+    ctl_snapuserd_prop
+    dck_prop
+    debugfs_kprobes
+    debugfs_mm_events_tracing
+    debugfs_bootreceiver_tracing
+    debugfs_restriction_prop
+    device_config_profcollect_native_boot_prop
+    device_config_connectivity_prop
+    device_config_swcodec_native_prop
+    device_state_service
+    dm_user_device
+    dmabuf_heap_device
+    dmabuf_system_heap_device
+    dmabuf_system_secure_heap_device
+    domain_verification_service
+    dumpstate_tmpfs
+    framework_watchdog_config_prop
+    fs_bpf_tethering
+    fwk_stats_service
+    game_service
+    font_data_file
+    gki_apex_prepostinstall
+    gki_apex_prepostinstall_exec
+    hal_audio_service
+    hal_authsecret_service
+    hal_audiocontrol_service
+    hal_face_service
+    hal_fingerprint_service
+    hal_health_storage_service
+    hal_memtrack_service
+    hal_oemlock_service
+    hint_service
+    gnss_device
+    gnss_time_update_service
+    hal_dumpstate_config_prop
+    hal_gnss_service
+    hal_keymint_service
+    hal_neuralnetworks_service
+    hal_power_stats_service
+    hal_remotelyprovisionedcomponent_service
+    hal_secureclock_service
+    hal_sharedsecret_service
+    hal_uwb_service
+    hal_weaver_service
+    hw_timeout_multiplier_prop
+    keystore_compat_hal_service
+    keystore_maintenance_service
+    keystore_metrics_service
+    keystore2_key_contexts_file
+    legacy_permission_service
+    legacykeystore_service
+    location_time_zone_manager_service
+    media_communication_service
+    media_metrics_service
+    mediatuner_exec
+    mediatuner_service
+    mediatuner
+    mediatranscoding_tmpfs
+    memtrackproxy_service
+    mm_events_config_prop
+    music_recognition_service
+    nfc_logs_data_file
+    odrefresh
+    odrefresh_exec
+    odsign
+    odsign_data_file
+    odsign_exec
+    otapreopt_chroot
+    pac_proxy_service
+    permission_checker_service
+    people_service
+    persist_vendor_debug_wifi_prop
+    postinstall_dexopt_exec
+    postinstall_device_mnt_dir
+    postinstall_product_mnt_dir
+    postinstall_vendor_mnt_dir
+    power_debug_prop
+    powerstats_service
+    proc_kallsyms
+    proc_locks
+    profcollectd
+    profcollectd_data_file
+    profcollectd_exec
+    profcollectd_node_id_prop
+    profcollectd_service
+    qemu_hw_prop
+    qemu_sf_lcd_density_prop
+    radio_core_data_file
+    reboot_readiness_service
+    remote_prov_app
+    remoteprovisioning_service
+    resolver_service
+    search_ui_service
+    shell_test_data_file
+    smartspace_service
+    snapuserd
+    snapuserd_exec
+    snapuserd_socket
+    soc_prop
+    speech_recognition_service
+    sysfs_block
+    sysfs_devfreq_cur
+    sysfs_devfreq_dir
+    sysfs_devices_cs_etm
+    sysfs_dma_heap
+    sysfs_dmabuf_stats
+    sysfs_uhid
+    system_server_dumper_service
+    system_suspend_control_internal_service
+    task_profiles_api_file
+    texttospeech_service
+    traced_tmpfs
+    translation_service
+    update_engine_stable_service
+    userdata_sysdev
+    userspace_reboot_metadata_file
+    uwb_service
+    vcn_management_service
+    vd_device
+    vendor_kernel_modules
+    vendor_modprobe
+    vendor_uuid_mapping_config_file
+    vibrator_manager_service
+    virtualization_service
+    vpn_management_service
+    watchdog_metadata_file
+    wifi_key
+    zygote_config_prop))
diff --git a/prebuilts/api/202504/private/compat/31.0/31.0.cil b/prebuilts/api/202504/private/compat/31.0/31.0.cil
new file mode 100644
index 0000000..b0df314
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/31.0/31.0.cil
@@ -0,0 +1,2490 @@
+;; types removed from current policy
+(type apex_appsearch_data_file)
+(type apex_permission_data_file)
+(type apex_scheduling_data_file)
+(type apex_wifi_data_file)
+(type healthd_exec)
+(type nonplat_service_contexts_file)
+(type sysfs_block)
+(type vr_hwc)
+(type vr_hwc_exec)
+
+;; mapping information from ToT policy's types to 31.0 policy's types.
+(expandtypeattribute (DockObserver_service_31_0) true)
+(expandtypeattribute (IProxyService_service_31_0) true)
+(expandtypeattribute (aac_drc_prop_31_0) true)
+(expandtypeattribute (aaudio_config_prop_31_0) true)
+(expandtypeattribute (ab_update_gki_prop_31_0) true)
+(expandtypeattribute (accessibility_service_31_0) true)
+(expandtypeattribute (account_service_31_0) true)
+(expandtypeattribute (activity_service_31_0) true)
+(expandtypeattribute (activity_task_service_31_0) true)
+(expandtypeattribute (adb_data_file_31_0) true)
+(expandtypeattribute (adb_keys_file_31_0) true)
+(expandtypeattribute (adb_service_31_0) true)
+(expandtypeattribute (adbd_31_0) true)
+(expandtypeattribute (adbd_config_prop_31_0) true)
+(expandtypeattribute (adbd_exec_31_0) true)
+(expandtypeattribute (adbd_socket_31_0) true)
+(expandtypeattribute (aidl_lazy_test_server_31_0) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_31_0) true)
+(expandtypeattribute (aidl_lazy_test_service_31_0) true)
+(expandtypeattribute (alarm_service_31_0) true)
+(expandtypeattribute (anr_data_file_31_0) true)
+(expandtypeattribute (apc_service_31_0) true)
+(expandtypeattribute (apex_appsearch_data_file_31_0) true)
+(expandtypeattribute (apex_data_file_31_0) true)
+(expandtypeattribute (apex_info_file_31_0) true)
+(expandtypeattribute (apex_metadata_file_31_0) true)
+(expandtypeattribute (apex_mnt_dir_31_0) true)
+(expandtypeattribute (apex_module_data_file_31_0) true)
+(expandtypeattribute (apex_ota_reserved_file_31_0) true)
+(expandtypeattribute (apex_permission_data_file_31_0) true)
+(expandtypeattribute (apex_rollback_data_file_31_0) true)
+(expandtypeattribute (apex_scheduling_data_file_31_0) true)
+(expandtypeattribute (apex_service_31_0) true)
+(expandtypeattribute (apex_wifi_data_file_31_0) true)
+(expandtypeattribute (apexd_31_0) true)
+(expandtypeattribute (apexd_config_prop_31_0) true)
+(expandtypeattribute (apexd_exec_31_0) true)
+(expandtypeattribute (apexd_prop_31_0) true)
+(expandtypeattribute (apk_data_file_31_0) true)
+(expandtypeattribute (apk_private_data_file_31_0) true)
+(expandtypeattribute (apk_private_tmp_file_31_0) true)
+(expandtypeattribute (apk_tmp_file_31_0) true)
+(expandtypeattribute (apk_verity_prop_31_0) true)
+(expandtypeattribute (app_binding_service_31_0) true)
+(expandtypeattribute (app_data_file_31_0) true)
+(expandtypeattribute (app_fuse_file_31_0) true)
+(expandtypeattribute (app_fusefs_31_0) true)
+(expandtypeattribute (app_hibernation_service_31_0) true)
+(expandtypeattribute (app_integrity_service_31_0) true)
+(expandtypeattribute (app_prediction_service_31_0) true)
+(expandtypeattribute (app_search_service_31_0) true)
+(expandtypeattribute (app_zygote_31_0) true)
+(expandtypeattribute (app_zygote_tmpfs_31_0) true)
+(expandtypeattribute (appcompat_data_file_31_0) true)
+(expandtypeattribute (appdomain_tmpfs_31_0) true)
+(expandtypeattribute (appops_service_31_0) true)
+(expandtypeattribute (appwidget_service_31_0) true)
+(expandtypeattribute (arm64_memtag_prop_31_0) true)
+(expandtypeattribute (art_apex_dir_31_0) true)
+(expandtypeattribute (asec_apk_file_31_0) true)
+(expandtypeattribute (asec_image_file_31_0) true)
+(expandtypeattribute (asec_public_file_31_0) true)
+(expandtypeattribute (ashmem_device_31_0) true)
+(expandtypeattribute (ashmem_libcutils_device_31_0) true)
+(expandtypeattribute (assetatlas_service_31_0) true)
+(expandtypeattribute (atrace_31_0) true)
+(expandtypeattribute (audio_config_prop_31_0) true)
+(expandtypeattribute (audio_data_file_31_0) true)
+(expandtypeattribute (audio_device_31_0) true)
+(expandtypeattribute (audio_prop_31_0) true)
+(expandtypeattribute (audio_service_31_0) true)
+(expandtypeattribute (audiohal_data_file_31_0) true)
+(expandtypeattribute (audioserver_31_0) true)
+(expandtypeattribute (audioserver_data_file_31_0) true)
+(expandtypeattribute (audioserver_service_31_0) true)
+(expandtypeattribute (audioserver_tmpfs_31_0) true)
+(expandtypeattribute (auth_service_31_0) true)
+(expandtypeattribute (authorization_service_31_0) true)
+(expandtypeattribute (autofill_service_31_0) true)
+(expandtypeattribute (backup_data_file_31_0) true)
+(expandtypeattribute (backup_service_31_0) true)
+(expandtypeattribute (battery_service_31_0) true)
+(expandtypeattribute (batteryproperties_service_31_0) true)
+(expandtypeattribute (batterystats_service_31_0) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_31_0) true)
+(expandtypeattribute (binder_cache_system_server_prop_31_0) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_31_0) true)
+(expandtypeattribute (binder_calls_stats_service_31_0) true)
+(expandtypeattribute (binder_device_31_0) true)
+(expandtypeattribute (binderfs_31_0) true)
+(expandtypeattribute (binderfs_logs_31_0) true)
+(expandtypeattribute (binderfs_logs_proc_31_0) true)
+(expandtypeattribute (binfmt_miscfs_31_0) true)
+(expandtypeattribute (biometric_service_31_0) true)
+(expandtypeattribute (blkid_31_0) true)
+(expandtypeattribute (blkid_untrusted_31_0) true)
+(expandtypeattribute (blob_store_service_31_0) true)
+(expandtypeattribute (block_device_31_0) true)
+(expandtypeattribute (bluetooth_31_0) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_31_0) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_31_0) true)
+(expandtypeattribute (bluetooth_data_file_31_0) true)
+(expandtypeattribute (bluetooth_efs_file_31_0) true)
+(expandtypeattribute (bluetooth_logs_data_file_31_0) true)
+(expandtypeattribute (bluetooth_manager_service_31_0) true)
+(expandtypeattribute (bluetooth_prop_31_0) true)
+(expandtypeattribute (bluetooth_service_31_0) true)
+(expandtypeattribute (bluetooth_socket_31_0) true)
+(expandtypeattribute (boot_block_device_31_0) true)
+(expandtypeattribute (boot_status_prop_31_0) true)
+(expandtypeattribute (bootanim_31_0) true)
+(expandtypeattribute (bootanim_config_prop_31_0) true)
+(expandtypeattribute (bootanim_exec_31_0) true)
+(expandtypeattribute (bootanim_system_prop_31_0) true)
+(expandtypeattribute (bootchart_data_file_31_0) true)
+(expandtypeattribute (bootloader_boot_reason_prop_31_0) true)
+(expandtypeattribute (bootloader_prop_31_0) true)
+(expandtypeattribute (bootstat_31_0) true)
+(expandtypeattribute (bootstat_data_file_31_0) true)
+(expandtypeattribute (bootstat_exec_31_0) true)
+(expandtypeattribute (boottime_prop_31_0) true)
+(expandtypeattribute (boottime_public_prop_31_0) true)
+(expandtypeattribute (boottrace_data_file_31_0) true)
+(expandtypeattribute (bpf_progs_loaded_prop_31_0) true)
+(expandtypeattribute (bq_config_prop_31_0) true)
+(expandtypeattribute (broadcastradio_service_31_0) true)
+(expandtypeattribute (bufferhubd_31_0) true)
+(expandtypeattribute (bufferhubd_exec_31_0) true)
+(expandtypeattribute (bugreport_service_31_0) true)
+(expandtypeattribute (build_bootimage_prop_31_0) true)
+(expandtypeattribute (build_config_prop_31_0) true)
+(expandtypeattribute (build_odm_prop_31_0) true)
+(expandtypeattribute (build_prop_31_0) true)
+(expandtypeattribute (build_vendor_prop_31_0) true)
+(expandtypeattribute (cache_backup_file_31_0) true)
+(expandtypeattribute (cache_block_device_31_0) true)
+(expandtypeattribute (cache_file_31_0) true)
+(expandtypeattribute (cache_private_backup_file_31_0) true)
+(expandtypeattribute (cache_recovery_file_31_0) true)
+(expandtypeattribute (cacheinfo_service_31_0) true)
+(expandtypeattribute (camera2_extensions_prop_31_0) true)
+(expandtypeattribute (camera_calibration_prop_31_0) true)
+(expandtypeattribute (camera_config_prop_31_0) true)
+(expandtypeattribute (camera_data_file_31_0) true)
+(expandtypeattribute (camera_device_31_0) true)
+(expandtypeattribute (cameraproxy_service_31_0) true)
+(expandtypeattribute (cameraserver_31_0) true)
+(expandtypeattribute (cameraserver_exec_31_0) true)
+(expandtypeattribute (cameraserver_service_31_0) true)
+(expandtypeattribute (cameraserver_tmpfs_31_0) true)
+(expandtypeattribute (camerax_extensions_prop_31_0) true)
+(expandtypeattribute (cgroup_31_0) true)
+(expandtypeattribute (cgroup_desc_api_file_31_0) true)
+(expandtypeattribute (cgroup_desc_file_31_0) true)
+(expandtypeattribute (cgroup_rc_file_31_0) true)
+(expandtypeattribute (cgroup_v2_31_0) true)
+(expandtypeattribute (charger_31_0) true)
+(expandtypeattribute (charger_config_prop_31_0) true)
+(expandtypeattribute (charger_exec_31_0) true)
+(expandtypeattribute (charger_prop_31_0) true)
+(expandtypeattribute (charger_status_prop_31_0) true)
+(expandtypeattribute (clipboard_service_31_0) true)
+(expandtypeattribute (codec2_config_prop_31_0) true)
+(expandtypeattribute (cold_boot_done_prop_31_0) true)
+(expandtypeattribute (color_display_service_31_0) true)
+(expandtypeattribute (companion_device_service_31_0) true)
+(expandtypeattribute (config_prop_31_0) true)
+(expandtypeattribute (configfs_31_0) true)
+(expandtypeattribute (connectivity_service_31_0) true)
+(expandtypeattribute (connmetrics_service_31_0) true)
+(expandtypeattribute (console_device_31_0) true)
+(expandtypeattribute (consumer_ir_service_31_0) true)
+(expandtypeattribute (content_capture_service_31_0) true)
+(expandtypeattribute (content_service_31_0) true)
+(expandtypeattribute (content_suggestions_service_31_0) true)
+(expandtypeattribute (contexthub_service_31_0) true)
+(expandtypeattribute (coredump_file_31_0) true)
+(expandtypeattribute (country_detector_service_31_0) true)
+(expandtypeattribute (coverage_service_31_0) true)
+(expandtypeattribute (cppreopt_prop_31_0) true)
+(expandtypeattribute (cpu_variant_prop_31_0) true)
+(expandtypeattribute (cpuinfo_service_31_0) true)
+(expandtypeattribute (crash_dump_31_0) true)
+(expandtypeattribute (crash_dump_exec_31_0) true)
+(expandtypeattribute (credstore_31_0) true)
+(expandtypeattribute (credstore_data_file_31_0) true)
+(expandtypeattribute (credstore_exec_31_0) true)
+(expandtypeattribute (credstore_service_31_0) true)
+(expandtypeattribute (crossprofileapps_service_31_0) true)
+(expandtypeattribute (ctl_adbd_prop_31_0) true)
+(expandtypeattribute (ctl_apexd_prop_31_0) true)
+(expandtypeattribute (ctl_bootanim_prop_31_0) true)
+(expandtypeattribute (ctl_bugreport_prop_31_0) true)
+(expandtypeattribute (ctl_console_prop_31_0) true)
+(expandtypeattribute (ctl_default_prop_31_0) true)
+(expandtypeattribute (ctl_dumpstate_prop_31_0) true)
+(expandtypeattribute (ctl_fuse_prop_31_0) true)
+(expandtypeattribute (ctl_gsid_prop_31_0) true)
+(expandtypeattribute (ctl_interface_restart_prop_31_0) true)
+(expandtypeattribute (ctl_interface_start_prop_31_0) true)
+(expandtypeattribute (ctl_interface_stop_prop_31_0) true)
+(expandtypeattribute (ctl_mdnsd_prop_31_0) true)
+(expandtypeattribute (ctl_restart_prop_31_0) true)
+(expandtypeattribute (ctl_rildaemon_prop_31_0) true)
+(expandtypeattribute (ctl_sigstop_prop_31_0) true)
+(expandtypeattribute (ctl_start_prop_31_0) true)
+(expandtypeattribute (ctl_stop_prop_31_0) true)
+(expandtypeattribute (dalvik_config_prop_31_0) true)
+(expandtypeattribute (dalvik_prop_31_0) true)
+(expandtypeattribute (dalvik_runtime_prop_31_0) true)
+(expandtypeattribute (dalvikcache_data_file_31_0) true)
+(expandtypeattribute (dataloader_manager_service_31_0) true)
+(expandtypeattribute (dbinfo_service_31_0) true)
+(expandtypeattribute (dck_prop_31_0) true)
+(expandtypeattribute (debug_prop_31_0) true)
+(expandtypeattribute (debugfs_31_0) true)
+(expandtypeattribute (debugfs_bootreceiver_tracing_31_0) true)
+(expandtypeattribute (debugfs_kprobes_31_0) true)
+(expandtypeattribute (debugfs_mm_events_tracing_31_0) true)
+(expandtypeattribute (debugfs_mmc_31_0) true)
+(expandtypeattribute (debugfs_restriction_prop_31_0) true)
+(expandtypeattribute (debugfs_trace_marker_31_0) true)
+(expandtypeattribute (debugfs_tracing_31_0) true)
+(expandtypeattribute (debugfs_tracing_debug_31_0) true)
+(expandtypeattribute (debugfs_tracing_instances_31_0) true)
+(expandtypeattribute (debugfs_tracing_printk_formats_31_0) true)
+(expandtypeattribute (debugfs_wakeup_sources_31_0) true)
+(expandtypeattribute (debugfs_wifi_tracing_31_0) true)
+(expandtypeattribute (debuggerd_prop_31_0) true)
+(expandtypeattribute (default_android_hwservice_31_0) true)
+(expandtypeattribute (default_android_service_31_0) true)
+(expandtypeattribute (default_android_vndservice_31_0) true)
+(expandtypeattribute (default_prop_31_0) true)
+(expandtypeattribute (dev_cpu_variant_31_0) true)
+(expandtypeattribute (device_31_0) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_31_0) true)
+(expandtypeattribute (device_config_boot_count_prop_31_0) true)
+(expandtypeattribute (device_config_input_native_boot_prop_31_0) true)
+(expandtypeattribute (device_config_media_native_prop_31_0) true)
+(expandtypeattribute (device_config_netd_native_prop_31_0) true)
+(expandtypeattribute (device_config_reset_performed_prop_31_0) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_31_0) true)
+(expandtypeattribute (device_config_runtime_native_prop_31_0) true)
+(expandtypeattribute (device_config_service_31_0) true)
+(expandtypeattribute (device_identifiers_service_31_0) true)
+(expandtypeattribute (device_logging_prop_31_0) true)
+(expandtypeattribute (device_policy_service_31_0) true)
+(expandtypeattribute (device_state_service_31_0) true)
+(expandtypeattribute (deviceidle_service_31_0) true)
+(expandtypeattribute (devicestoragemonitor_service_31_0) true)
+(expandtypeattribute (devpts_31_0) true)
+(expandtypeattribute (dhcp_31_0) true)
+(expandtypeattribute (dhcp_data_file_31_0) true)
+(expandtypeattribute (dhcp_exec_31_0) true)
+(expandtypeattribute (dhcp_prop_31_0) true)
+(expandtypeattribute (diskstats_service_31_0) true)
+(expandtypeattribute (display_service_31_0) true)
+(expandtypeattribute (dm_device_31_0) true)
+(expandtypeattribute (dm_user_device_31_0) true)
+(expandtypeattribute (dmabuf_heap_device_31_0) true)
+(expandtypeattribute (dmabuf_system_heap_device_31_0) true)
+(expandtypeattribute (dmabuf_system_secure_heap_device_31_0) true)
+(expandtypeattribute (dnsmasq_31_0) true)
+(expandtypeattribute (dnsmasq_exec_31_0) true)
+(expandtypeattribute (dnsproxyd_socket_31_0) true)
+(expandtypeattribute (dnsresolver_service_31_0) true)
+(expandtypeattribute (domain_verification_service_31_0) true)
+(expandtypeattribute (dreams_service_31_0) true)
+(expandtypeattribute (drm_data_file_31_0) true)
+(expandtypeattribute (drm_service_config_prop_31_0) true)
+(expandtypeattribute (drmserver_31_0) true)
+(expandtypeattribute (drmserver_exec_31_0) true)
+(expandtypeattribute (drmserver_service_31_0) true)
+(expandtypeattribute (drmserver_socket_31_0) true)
+(expandtypeattribute (dropbox_data_file_31_0) true)
+(expandtypeattribute (dropbox_service_31_0) true)
+(expandtypeattribute (dumpstate_31_0) true)
+(expandtypeattribute (dumpstate_exec_31_0) true)
+(expandtypeattribute (dumpstate_options_prop_31_0) true)
+(expandtypeattribute (dumpstate_prop_31_0) true)
+(expandtypeattribute (dumpstate_service_31_0) true)
+(expandtypeattribute (dumpstate_socket_31_0) true)
+(expandtypeattribute (dynamic_system_prop_31_0) true)
+(expandtypeattribute (e2fs_31_0) true)
+(expandtypeattribute (e2fs_exec_31_0) true)
+(expandtypeattribute (efs_file_31_0) true)
+(expandtypeattribute (emergency_affordance_service_31_0) true)
+(expandtypeattribute (ephemeral_app_31_0) true)
+(expandtypeattribute (ethernet_service_31_0) true)
+(expandtypeattribute (exfat_31_0) true)
+(expandtypeattribute (exported3_system_prop_31_0) true)
+(expandtypeattribute (exported_bluetooth_prop_31_0) true)
+(expandtypeattribute (exported_camera_prop_31_0) true)
+(expandtypeattribute (exported_config_prop_31_0) true)
+(expandtypeattribute (exported_default_prop_31_0) true)
+(expandtypeattribute (exported_dumpstate_prop_31_0) true)
+(expandtypeattribute (exported_overlay_prop_31_0) true)
+(expandtypeattribute (exported_pm_prop_31_0) true)
+(expandtypeattribute (exported_secure_prop_31_0) true)
+(expandtypeattribute (exported_system_prop_31_0) true)
+(expandtypeattribute (external_vibrator_service_31_0) true)
+(expandtypeattribute (face_service_31_0) true)
+(expandtypeattribute (face_vendor_data_file_31_0) true)
+(expandtypeattribute (fastbootd_31_0) true)
+(expandtypeattribute (ffs_config_prop_31_0) true)
+(expandtypeattribute (ffs_control_prop_31_0) true)
+(expandtypeattribute (file_contexts_file_31_0) true)
+(expandtypeattribute (file_integrity_service_31_0) true)
+(expandtypeattribute (fingerprint_prop_31_0) true)
+(expandtypeattribute (fingerprint_service_31_0) true)
+(expandtypeattribute (fingerprint_vendor_data_file_31_0) true)
+(expandtypeattribute (fingerprintd_31_0) true)
+(expandtypeattribute (fingerprintd_data_file_31_0) true)
+(expandtypeattribute (fingerprintd_exec_31_0) true)
+(expandtypeattribute (fingerprintd_service_31_0) true)
+(expandtypeattribute (firstboot_prop_31_0) true)
+(expandtypeattribute (flags_health_check_31_0) true)
+(expandtypeattribute (flags_health_check_exec_31_0) true)
+(expandtypeattribute (font_service_31_0) true)
+(expandtypeattribute (framework_watchdog_config_prop_31_0) true)
+(expandtypeattribute (frp_block_device_31_0) true)
+(expandtypeattribute (fs_bpf_31_0) true)
+(expandtypeattribute (fs_bpf_tethering_31_0) true)
+(expandtypeattribute (fsck_31_0) true)
+(expandtypeattribute (fsck_exec_31_0) true)
+(expandtypeattribute (fsck_untrusted_31_0) true)
+(expandtypeattribute (fscklogs_31_0) true)
+(expandtypeattribute (functionfs_31_0) true)
+(expandtypeattribute (fuse_31_0) true)
+(expandtypeattribute (fuse_device_31_0) true)
+(expandtypeattribute (fusectlfs_31_0) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_31_0) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_31_0) true)
+(expandtypeattribute (fwk_camera_hwservice_31_0) true)
+(expandtypeattribute (fwk_display_hwservice_31_0) true)
+(expandtypeattribute (fwk_scheduler_hwservice_31_0) true)
+(expandtypeattribute (fwk_sensor_hwservice_31_0) true)
+(expandtypeattribute (fwk_stats_hwservice_31_0) true)
+(expandtypeattribute (fwk_stats_service_31_0) true)
+(expandtypeattribute (fwmarkd_socket_31_0) true)
+(expandtypeattribute (game_service_31_0) true)
+(expandtypeattribute (gatekeeper_data_file_31_0) true)
+(expandtypeattribute (gatekeeper_service_31_0) true)
+(expandtypeattribute (gatekeeperd_31_0) true)
+(expandtypeattribute (gatekeeperd_exec_31_0) true)
+(expandtypeattribute (gfxinfo_service_31_0) true)
+(expandtypeattribute (gmscore_app_31_0) true)
+(expandtypeattribute (gnss_device_31_0) true)
+(expandtypeattribute (gnss_time_update_service_31_0) true)
+(expandtypeattribute (gps_control_31_0) true)
+(expandtypeattribute (gpu_device_31_0) true)
+(expandtypeattribute (gpu_service_31_0) true)
+(expandtypeattribute (gpuservice_31_0) true)
+(expandtypeattribute (graphics_config_prop_31_0) true)
+(expandtypeattribute (graphics_device_31_0) true)
+(expandtypeattribute (graphicsstats_service_31_0) true)
+(expandtypeattribute (gsi_data_file_31_0) true)
+(expandtypeattribute (gsi_metadata_file_31_0) true)
+(expandtypeattribute (gsi_public_metadata_file_31_0) true)
+(expandtypeattribute (hal_atrace_hwservice_31_0) true)
+(expandtypeattribute (hal_audio_hwservice_31_0) true)
+(expandtypeattribute (hal_audio_service_31_0) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_31_0) true)
+(expandtypeattribute (hal_audiocontrol_service_31_0) true)
+(expandtypeattribute (hal_authsecret_hwservice_31_0) true)
+(expandtypeattribute (hal_authsecret_service_31_0) true)
+(expandtypeattribute (hal_bluetooth_hwservice_31_0) true)
+(expandtypeattribute (hal_bootctl_hwservice_31_0) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_31_0) true)
+(expandtypeattribute (hal_camera_hwservice_31_0) true)
+(expandtypeattribute (hal_can_bus_hwservice_31_0) true)
+(expandtypeattribute (hal_can_controller_hwservice_31_0) true)
+(expandtypeattribute (hal_cas_hwservice_31_0) true)
+(expandtypeattribute (hal_codec2_hwservice_31_0) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_31_0) true)
+(expandtypeattribute (hal_confirmationui_hwservice_31_0) true)
+(expandtypeattribute (hal_contexthub_hwservice_31_0) true)
+(expandtypeattribute (hal_drm_hwservice_31_0) true)
+(expandtypeattribute (hal_dumpstate_config_prop_31_0) true)
+(expandtypeattribute (hal_dumpstate_hwservice_31_0) true)
+(expandtypeattribute (hal_evs_hwservice_31_0) true)
+(expandtypeattribute (hal_face_hwservice_31_0) true)
+(expandtypeattribute (hal_face_service_31_0) true)
+(expandtypeattribute (hal_fingerprint_hwservice_31_0) true)
+(expandtypeattribute (hal_fingerprint_service_31_0) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_31_0) true)
+(expandtypeattribute (hal_gnss_hwservice_31_0) true)
+(expandtypeattribute (hal_gnss_service_31_0) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_31_0) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_31_0) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_31_0) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_31_0) true)
+(expandtypeattribute (hal_health_hwservice_31_0) true)
+(expandtypeattribute (hal_health_storage_hwservice_31_0) true)
+(expandtypeattribute (hal_health_storage_service_31_0) true)
+(expandtypeattribute (hal_identity_service_31_0) true)
+(expandtypeattribute (hal_input_classifier_hwservice_31_0) true)
+(expandtypeattribute (hal_instrumentation_prop_31_0) true)
+(expandtypeattribute (hal_ir_hwservice_31_0) true)
+(expandtypeattribute (hal_keymaster_hwservice_31_0) true)
+(expandtypeattribute (hal_keymint_service_31_0) true)
+(expandtypeattribute (hal_light_hwservice_31_0) true)
+(expandtypeattribute (hal_light_service_31_0) true)
+(expandtypeattribute (hal_lowpan_hwservice_31_0) true)
+(expandtypeattribute (hal_memtrack_hwservice_31_0) true)
+(expandtypeattribute (hal_memtrack_service_31_0) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_31_0) true)
+(expandtypeattribute (hal_neuralnetworks_service_31_0) true)
+(expandtypeattribute (hal_nfc_hwservice_31_0) true)
+(expandtypeattribute (hal_oemlock_hwservice_31_0) true)
+(expandtypeattribute (hal_oemlock_service_31_0) true)
+(expandtypeattribute (hal_omx_hwservice_31_0) true)
+(expandtypeattribute (hal_power_hwservice_31_0) true)
+(expandtypeattribute (hal_power_service_31_0) true)
+(expandtypeattribute (hal_power_stats_hwservice_31_0) true)
+(expandtypeattribute (hal_power_stats_service_31_0) true)
+(expandtypeattribute (hal_rebootescrow_service_31_0) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_31_0) true)
+(expandtypeattribute (hal_renderscript_hwservice_31_0) true)
+(expandtypeattribute (hal_secure_element_hwservice_31_0) true)
+(expandtypeattribute (hal_secureclock_service_31_0) true)
+(expandtypeattribute (hal_sensors_hwservice_31_0) true)
+(expandtypeattribute (hal_sharedsecret_service_31_0) true)
+(expandtypeattribute (hal_telephony_hwservice_31_0) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_31_0) true)
+(expandtypeattribute (hal_thermal_hwservice_31_0) true)
+(expandtypeattribute (hal_tv_cec_hwservice_31_0) true)
+(expandtypeattribute (hal_tv_input_hwservice_31_0) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_31_0) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_31_0) true)
+(expandtypeattribute (hal_usb_hwservice_31_0) true)
+(expandtypeattribute (hal_vehicle_hwservice_31_0) true)
+(expandtypeattribute (hal_vibrator_hwservice_31_0) true)
+(expandtypeattribute (hal_vibrator_service_31_0) true)
+(expandtypeattribute (hal_vr_hwservice_31_0) true)
+(expandtypeattribute (hal_weaver_hwservice_31_0) true)
+(expandtypeattribute (hal_weaver_service_31_0) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_31_0) true)
+(expandtypeattribute (hal_wifi_hwservice_31_0) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_31_0) true)
+(expandtypeattribute (hardware_properties_service_31_0) true)
+(expandtypeattribute (hardware_service_31_0) true)
+(expandtypeattribute (hci_attach_dev_31_0) true)
+(expandtypeattribute (hdmi_config_prop_31_0) true)
+(expandtypeattribute (hdmi_control_service_31_0) true)
+(expandtypeattribute (healthd_31_0) true)
+(expandtypeattribute (healthd_exec_31_0) true)
+(expandtypeattribute (heapdump_data_file_31_0) true)
+(expandtypeattribute (heapprofd_31_0) true)
+(expandtypeattribute (heapprofd_enabled_prop_31_0) true)
+(expandtypeattribute (heapprofd_prop_31_0) true)
+(expandtypeattribute (heapprofd_socket_31_0) true)
+(expandtypeattribute (hidl_allocator_hwservice_31_0) true)
+(expandtypeattribute (hidl_base_hwservice_31_0) true)
+(expandtypeattribute (hidl_manager_hwservice_31_0) true)
+(expandtypeattribute (hidl_memory_hwservice_31_0) true)
+(expandtypeattribute (hidl_token_hwservice_31_0) true)
+(expandtypeattribute (hint_service_31_0) true)
+(expandtypeattribute (hw_random_device_31_0) true)
+(expandtypeattribute (hw_timeout_multiplier_prop_31_0) true)
+(expandtypeattribute (hwbinder_device_31_0) true)
+(expandtypeattribute (hwservice_contexts_file_31_0) true)
+(expandtypeattribute (hwservicemanager_31_0) true)
+(expandtypeattribute (hwservicemanager_exec_31_0) true)
+(expandtypeattribute (hwservicemanager_prop_31_0) true)
+(expandtypeattribute (icon_file_31_0) true)
+(expandtypeattribute (idmap_31_0) true)
+(expandtypeattribute (idmap_exec_31_0) true)
+(expandtypeattribute (idmap_service_31_0) true)
+(expandtypeattribute (iio_device_31_0) true)
+(expandtypeattribute (imms_service_31_0) true)
+(expandtypeattribute (incident_31_0) true)
+(expandtypeattribute (incident_data_file_31_0) true)
+(expandtypeattribute (incident_helper_31_0) true)
+(expandtypeattribute (incident_service_31_0) true)
+(expandtypeattribute (incidentd_31_0) true)
+(expandtypeattribute (incremental_control_file_31_0) true)
+(expandtypeattribute (incremental_prop_31_0) true)
+(expandtypeattribute (incremental_service_31_0) true)
+(expandtypeattribute (init_31_0) true)
+(expandtypeattribute (init_exec_31_0) true)
+(expandtypeattribute (init_service_status_prop_31_0) true)
+(expandtypeattribute (init_tmpfs_31_0) true)
+(expandtypeattribute (inotify_31_0) true)
+(expandtypeattribute (input_device_31_0) true)
+(expandtypeattribute (input_method_service_31_0) true)
+(expandtypeattribute (input_service_31_0) true)
+(expandtypeattribute (inputflinger_31_0) true)
+(expandtypeattribute (inputflinger_exec_31_0) true)
+(expandtypeattribute (inputflinger_service_31_0) true)
+(expandtypeattribute (install_data_file_31_0) true)
+(expandtypeattribute (installd_31_0) true)
+(expandtypeattribute (installd_exec_31_0) true)
+(expandtypeattribute (installd_service_31_0) true)
+(expandtypeattribute (ion_device_31_0) true)
+(expandtypeattribute (iorap_inode2filename_31_0) true)
+(expandtypeattribute (iorap_inode2filename_exec_31_0) true)
+(expandtypeattribute (iorap_inode2filename_tmpfs_31_0) true)
+(expandtypeattribute (iorap_prefetcherd_31_0) true)
+(expandtypeattribute (iorap_prefetcherd_exec_31_0) true)
+(expandtypeattribute (iorap_prefetcherd_tmpfs_31_0) true)
+(expandtypeattribute (iorapd_31_0) true)
+(expandtypeattribute (iorapd_data_file_31_0) true)
+(expandtypeattribute (iorapd_exec_31_0) true)
+(expandtypeattribute (iorapd_service_31_0) true)
+(expandtypeattribute (iorapd_tmpfs_31_0) true)
+(expandtypeattribute (ipsec_service_31_0) true)
+(expandtypeattribute (iris_service_31_0) true)
+(expandtypeattribute (iris_vendor_data_file_31_0) true)
+(expandtypeattribute (isolated_app_31_0) true)
+(expandtypeattribute (jobscheduler_service_31_0) true)
+(expandtypeattribute (kernel_31_0) true)
+(expandtypeattribute (keychain_data_file_31_0) true)
+(expandtypeattribute (keychord_device_31_0) true)
+(expandtypeattribute (keyguard_config_prop_31_0) true)
+(expandtypeattribute (keystore2_key_contexts_file_31_0) true)
+(expandtypeattribute (keystore_31_0) true)
+(expandtypeattribute (keystore_compat_hal_service_31_0) true)
+(expandtypeattribute (keystore_data_file_31_0) true)
+(expandtypeattribute (keystore_exec_31_0) true)
+(expandtypeattribute (keystore_maintenance_service_31_0) true)
+(expandtypeattribute (keystore_metrics_service_31_0) true)
+(expandtypeattribute (keystore_service_31_0) true)
+(expandtypeattribute (kmsg_debug_device_31_0) true)
+(expandtypeattribute (kmsg_device_31_0) true)
+(expandtypeattribute (labeledfs_31_0) true)
+(expandtypeattribute (launcherapps_service_31_0) true)
+(expandtypeattribute (legacy_permission_service_31_0) true)
+(expandtypeattribute (legacykeystore_service_31_0) true)
+(expandtypeattribute (libc_debug_prop_31_0) true)
+(expandtypeattribute (light_service_31_0) true)
+(expandtypeattribute (linkerconfig_file_31_0) true)
+(expandtypeattribute (llkd_31_0) true)
+(expandtypeattribute (llkd_exec_31_0) true)
+(expandtypeattribute (llkd_prop_31_0) true)
+(expandtypeattribute (lmkd_31_0) true)
+(expandtypeattribute (lmkd_config_prop_31_0) true)
+(expandtypeattribute (lmkd_exec_31_0) true)
+(expandtypeattribute (lmkd_prop_31_0) true)
+(expandtypeattribute (lmkd_socket_31_0) true)
+(expandtypeattribute (location_service_31_0) true)
+(expandtypeattribute (location_time_zone_manager_service_31_0) true)
+(expandtypeattribute (lock_settings_service_31_0) true)
+(expandtypeattribute (log_prop_31_0) true)
+(expandtypeattribute (log_tag_prop_31_0) true)
+(expandtypeattribute (logcat_exec_31_0) true)
+(expandtypeattribute (logd_31_0) true)
+(expandtypeattribute (logd_exec_31_0) true)
+(expandtypeattribute (logd_prop_31_0) true)
+(expandtypeattribute (logd_socket_31_0) true)
+(expandtypeattribute (logdr_socket_31_0) true)
+(expandtypeattribute (logdw_socket_31_0) true)
+(expandtypeattribute (logpersist_31_0) true)
+(expandtypeattribute (logpersistd_logging_prop_31_0) true)
+(expandtypeattribute (loop_control_device_31_0) true)
+(expandtypeattribute (loop_device_31_0) true)
+(expandtypeattribute (looper_stats_service_31_0) true)
+(expandtypeattribute (lowpan_device_31_0) true)
+(expandtypeattribute (lowpan_prop_31_0) true)
+(expandtypeattribute (lowpan_service_31_0) true)
+(expandtypeattribute (lpdump_service_31_0) true)
+(expandtypeattribute (lpdumpd_prop_31_0) true)
+(expandtypeattribute (mac_perms_file_31_0) true)
+(expandtypeattribute (mdns_socket_31_0) true)
+(expandtypeattribute (mdnsd_31_0) true)
+(expandtypeattribute (mdnsd_socket_31_0) true)
+(expandtypeattribute (media_communication_service_31_0) true)
+(expandtypeattribute (media_config_prop_31_0) true)
+(expandtypeattribute (media_data_file_31_0) true)
+(expandtypeattribute (media_metrics_service_31_0) true)
+(expandtypeattribute (media_projection_service_31_0) true)
+(expandtypeattribute (media_router_service_31_0) true)
+(expandtypeattribute (media_rw_data_file_31_0) true)
+(expandtypeattribute (media_session_service_31_0) true)
+(expandtypeattribute (media_variant_prop_31_0) true)
+(expandtypeattribute (mediadrm_config_prop_31_0) true)
+(expandtypeattribute (mediadrmserver_31_0) true)
+(expandtypeattribute (mediadrmserver_exec_31_0) true)
+(expandtypeattribute (mediadrmserver_service_31_0) true)
+(expandtypeattribute (mediaextractor_31_0) true)
+(expandtypeattribute (mediaextractor_exec_31_0) true)
+(expandtypeattribute (mediaextractor_service_31_0) true)
+(expandtypeattribute (mediaextractor_tmpfs_31_0) true)
+(expandtypeattribute (mediametrics_31_0) true)
+(expandtypeattribute (mediametrics_exec_31_0) true)
+(expandtypeattribute (mediametrics_service_31_0) true)
+(expandtypeattribute (mediaprovider_31_0) true)
+(expandtypeattribute (mediaserver_31_0) true)
+(expandtypeattribute (mediaserver_exec_31_0) true)
+(expandtypeattribute (mediaserver_service_31_0) true)
+(expandtypeattribute (mediaserver_tmpfs_31_0) true)
+(expandtypeattribute (mediaswcodec_31_0) true)
+(expandtypeattribute (mediaswcodec_exec_31_0) true)
+(expandtypeattribute (mediatranscoding_service_31_0) true)
+(expandtypeattribute (meminfo_service_31_0) true)
+(expandtypeattribute (memtrackproxy_service_31_0) true)
+(expandtypeattribute (metadata_block_device_31_0) true)
+(expandtypeattribute (metadata_bootstat_file_31_0) true)
+(expandtypeattribute (metadata_file_31_0) true)
+(expandtypeattribute (method_trace_data_file_31_0) true)
+(expandtypeattribute (midi_service_31_0) true)
+(expandtypeattribute (mirror_data_file_31_0) true)
+(expandtypeattribute (misc_block_device_31_0) true)
+(expandtypeattribute (misc_logd_file_31_0) true)
+(expandtypeattribute (misc_user_data_file_31_0) true)
+(expandtypeattribute (mm_events_config_prop_31_0) true)
+(expandtypeattribute (mmc_prop_31_0) true)
+(expandtypeattribute (mnt_expand_file_31_0) true)
+(expandtypeattribute (mnt_media_rw_file_31_0) true)
+(expandtypeattribute (mnt_media_rw_stub_file_31_0) true)
+(expandtypeattribute (mnt_pass_through_file_31_0) true)
+(expandtypeattribute (mnt_product_file_31_0) true)
+(expandtypeattribute (mnt_sdcard_file_31_0) true)
+(expandtypeattribute (mnt_user_file_31_0) true)
+(expandtypeattribute (mnt_vendor_file_31_0) true)
+(expandtypeattribute (mock_ota_prop_31_0) true)
+(expandtypeattribute (modprobe_31_0) true)
+(expandtypeattribute (module_sdkextensions_prop_31_0) true)
+(expandtypeattribute (mount_service_31_0) true)
+(expandtypeattribute (mqueue_31_0) true)
+(expandtypeattribute (mtp_31_0) true)
+(expandtypeattribute (mtp_device_31_0) true)
+(expandtypeattribute (mtp_exec_31_0) true)
+(expandtypeattribute (mtpd_socket_31_0) true)
+(expandtypeattribute (music_recognition_service_31_0) true)
+(expandtypeattribute (nativetest_data_file_31_0) true)
+(expandtypeattribute (net_data_file_31_0) true)
+(expandtypeattribute (net_dns_prop_31_0) true)
+(expandtypeattribute (net_radio_prop_31_0) true)
+(expandtypeattribute (netd_31_0) true)
+(expandtypeattribute (netd_exec_31_0) true)
+(expandtypeattribute (netd_listener_service_31_0) true)
+(expandtypeattribute (netd_service_31_0) true)
+(expandtypeattribute (netif_31_0) true)
+(expandtypeattribute (netpolicy_service_31_0) true)
+(expandtypeattribute (netstats_service_31_0) true)
+(expandtypeattribute (netutils_wrapper_31_0) true)
+(expandtypeattribute (netutils_wrapper_exec_31_0) true)
+(expandtypeattribute (network_management_service_31_0) true)
+(expandtypeattribute (network_score_service_31_0) true)
+(expandtypeattribute (network_stack_31_0) true)
+(expandtypeattribute (network_stack_service_31_0) true)
+(expandtypeattribute (network_time_update_service_31_0) true)
+(expandtypeattribute (network_watchlist_data_file_31_0) true)
+(expandtypeattribute (network_watchlist_service_31_0) true)
+(expandtypeattribute (nfc_31_0) true)
+(expandtypeattribute (nfc_data_file_31_0) true)
+(expandtypeattribute (nfc_device_31_0) true)
+(expandtypeattribute (nfc_logs_data_file_31_0) true)
+(expandtypeattribute (nfc_prop_31_0) true)
+(expandtypeattribute (nfc_service_31_0) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_31_0) true)
+(expandtypeattribute (node_31_0) true)
+(expandtypeattribute (nonplat_service_contexts_file_31_0) true)
+(expandtypeattribute (notification_service_31_0) true)
+(expandtypeattribute (null_device_31_0) true)
+(expandtypeattribute (oem_lock_service_31_0) true)
+(expandtypeattribute (oem_unlock_prop_31_0) true)
+(expandtypeattribute (oemfs_31_0) true)
+(expandtypeattribute (ota_data_file_31_0) true)
+(expandtypeattribute (ota_metadata_file_31_0) true)
+(expandtypeattribute (ota_package_file_31_0) true)
+(expandtypeattribute (ota_prop_31_0) true)
+(expandtypeattribute (otadexopt_service_31_0) true)
+(expandtypeattribute (otapreopt_chroot_31_0) true)
+(expandtypeattribute (overlay_prop_31_0) true)
+(expandtypeattribute (overlay_service_31_0) true)
+(expandtypeattribute (overlayfs_file_31_0) true)
+(expandtypeattribute (owntty_device_31_0) true)
+(expandtypeattribute (pac_proxy_service_31_0) true)
+(expandtypeattribute (package_native_service_31_0) true)
+(expandtypeattribute (package_service_31_0) true)
+(expandtypeattribute (packagemanager_config_prop_31_0) true)
+(expandtypeattribute (packages_list_file_31_0) true)
+(expandtypeattribute (pan_result_prop_31_0) true)
+(expandtypeattribute (password_slot_metadata_file_31_0) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_31_0) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_31_0) true)
+(expandtypeattribute (pdx_bufferhub_dir_31_0) true)
+(expandtypeattribute (pdx_display_client_channel_socket_31_0) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_31_0) true)
+(expandtypeattribute (pdx_display_dir_31_0) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_31_0) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_31_0) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_31_0) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_31_0) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_31_0) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_31_0) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_31_0) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_31_0) true)
+(expandtypeattribute (pdx_performance_dir_31_0) true)
+(expandtypeattribute (people_service_31_0) true)
+(expandtypeattribute (perfetto_31_0) true)
+(expandtypeattribute (performanced_31_0) true)
+(expandtypeattribute (performanced_exec_31_0) true)
+(expandtypeattribute (permission_checker_service_31_0) true)
+(expandtypeattribute (permission_service_31_0) true)
+(expandtypeattribute (permissionmgr_service_31_0) true)
+(expandtypeattribute (persist_debug_prop_31_0) true)
+(expandtypeattribute (persist_vendor_debug_wifi_prop_31_0) true)
+(expandtypeattribute (persistent_data_block_service_31_0) true)
+(expandtypeattribute (persistent_properties_ready_prop_31_0) true)
+(expandtypeattribute (pinner_service_31_0) true)
+(expandtypeattribute (pipefs_31_0) true)
+(expandtypeattribute (platform_app_31_0) true)
+(expandtypeattribute (platform_compat_service_31_0) true)
+(expandtypeattribute (pmsg_device_31_0) true)
+(expandtypeattribute (port_31_0) true)
+(expandtypeattribute (port_device_31_0) true)
+(expandtypeattribute (postinstall_31_0) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_31_0) true)
+(expandtypeattribute (postinstall_file_31_0) true)
+(expandtypeattribute (postinstall_mnt_dir_31_0) true)
+(expandtypeattribute (power_debug_prop_31_0) true)
+(expandtypeattribute (power_service_31_0) true)
+(expandtypeattribute (powerctl_prop_31_0) true)
+(expandtypeattribute (powerstats_service_31_0) true)
+(expandtypeattribute (ppp_31_0) true)
+(expandtypeattribute (ppp_device_31_0) true)
+(expandtypeattribute (ppp_exec_31_0) true)
+(expandtypeattribute (preloads_data_file_31_0) true)
+(expandtypeattribute (preloads_media_file_31_0) true)
+(expandtypeattribute (prereboot_data_file_31_0) true)
+(expandtypeattribute (print_service_31_0) true)
+(expandtypeattribute (priv_app_31_0) true)
+(expandtypeattribute (privapp_data_file_31_0) true)
+(expandtypeattribute (proc_31_0) true)
+(expandtypeattribute (proc_abi_31_0) true)
+(expandtypeattribute (proc_asound_31_0) true)
+(expandtypeattribute (proc_bluetooth_writable_31_0) true)
+(expandtypeattribute (proc_bootconfig_31_0) true)
+(expandtypeattribute (proc_buddyinfo_31_0) true)
+(expandtypeattribute (proc_cmdline_31_0) true)
+(expandtypeattribute (proc_cpuinfo_31_0) true)
+(expandtypeattribute (proc_dirty_31_0) true)
+(expandtypeattribute (proc_diskstats_31_0) true)
+(expandtypeattribute (proc_drop_caches_31_0) true)
+(expandtypeattribute (proc_extra_free_kbytes_31_0) true)
+(expandtypeattribute (proc_filesystems_31_0) true)
+(expandtypeattribute (proc_fs_verity_31_0) true)
+(expandtypeattribute (proc_hostname_31_0) true)
+(expandtypeattribute (proc_hung_task_31_0) true)
+(expandtypeattribute (proc_interrupts_31_0) true)
+(expandtypeattribute (proc_iomem_31_0) true)
+(expandtypeattribute (proc_kallsyms_31_0) true)
+(expandtypeattribute (proc_keys_31_0) true)
+(expandtypeattribute (proc_kmsg_31_0) true)
+(expandtypeattribute (proc_kpageflags_31_0) true)
+(expandtypeattribute (proc_loadavg_31_0) true)
+(expandtypeattribute (proc_locks_31_0) true)
+(expandtypeattribute (proc_lowmemorykiller_31_0) true)
+(expandtypeattribute (proc_max_map_count_31_0) true)
+(expandtypeattribute (proc_meminfo_31_0) true)
+(expandtypeattribute (proc_min_free_order_shift_31_0) true)
+(expandtypeattribute (proc_misc_31_0) true)
+(expandtypeattribute (proc_modules_31_0) true)
+(expandtypeattribute (proc_mounts_31_0) true)
+(expandtypeattribute (proc_net_31_0) true)
+(expandtypeattribute (proc_net_tcp_udp_31_0) true)
+(expandtypeattribute (proc_overcommit_memory_31_0) true)
+(expandtypeattribute (proc_page_cluster_31_0) true)
+(expandtypeattribute (proc_pagetypeinfo_31_0) true)
+(expandtypeattribute (proc_panic_31_0) true)
+(expandtypeattribute (proc_perf_31_0) true)
+(expandtypeattribute (proc_pid_max_31_0) true)
+(expandtypeattribute (proc_pipe_conf_31_0) true)
+(expandtypeattribute (proc_pressure_cpu_31_0) true)
+(expandtypeattribute (proc_pressure_io_31_0) true)
+(expandtypeattribute (proc_pressure_mem_31_0) true)
+(expandtypeattribute (proc_qtaguid_ctrl_31_0) true)
+(expandtypeattribute (proc_qtaguid_stat_31_0) true)
+(expandtypeattribute (proc_random_31_0) true)
+(expandtypeattribute (proc_sched_31_0) true)
+(expandtypeattribute (proc_security_31_0) true)
+(expandtypeattribute (proc_slabinfo_31_0) true)
+(expandtypeattribute (proc_stat_31_0) true)
+(expandtypeattribute (proc_swaps_31_0) true)
+(expandtypeattribute (proc_sysrq_31_0) true)
+(expandtypeattribute (proc_timer_31_0) true)
+(expandtypeattribute (proc_tty_drivers_31_0) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_31_0) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_31_0) true)
+(expandtypeattribute (proc_uid_cpupower_31_0) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_31_0) true)
+(expandtypeattribute (proc_uid_cputime_showstat_31_0) true)
+(expandtypeattribute (proc_uid_io_stats_31_0) true)
+(expandtypeattribute (proc_uid_procstat_set_31_0) true)
+(expandtypeattribute (proc_uid_time_in_state_31_0) true)
+(expandtypeattribute (proc_uptime_31_0) true)
+(expandtypeattribute (proc_vendor_sched_31_0) true)
+(expandtypeattribute (proc_version_31_0) true)
+(expandtypeattribute (proc_vmallocinfo_31_0) true)
+(expandtypeattribute (proc_vmstat_31_0) true)
+(expandtypeattribute (proc_zoneinfo_31_0) true)
+(expandtypeattribute (processinfo_service_31_0) true)
+(expandtypeattribute (procstats_service_31_0) true)
+(expandtypeattribute (profman_31_0) true)
+(expandtypeattribute (profman_dump_data_file_31_0) true)
+(expandtypeattribute (profman_exec_31_0) true)
+(expandtypeattribute (properties_device_31_0) true)
+(expandtypeattribute (properties_serial_31_0) true)
+(expandtypeattribute (property_contexts_file_31_0) true)
+(expandtypeattribute (property_data_file_31_0) true)
+(expandtypeattribute (property_info_31_0) true)
+(expandtypeattribute (property_service_version_prop_31_0) true)
+(expandtypeattribute (property_socket_31_0) true)
+(expandtypeattribute (provisioned_prop_31_0) true)
+(expandtypeattribute (pstorefs_31_0) true)
+(expandtypeattribute (ptmx_device_31_0) true)
+(expandtypeattribute (qemu_hw_prop_31_0) true)
+(expandtypeattribute (qemu_sf_lcd_density_prop_31_0) true)
+(expandtypeattribute (qtaguid_device_31_0) true)
+(expandtypeattribute (racoon_31_0) true)
+(expandtypeattribute (racoon_exec_31_0) true)
+(expandtypeattribute (racoon_socket_31_0) true)
+(expandtypeattribute (radio_31_0) true)
+(expandtypeattribute (radio_control_prop_31_0) true)
+(expandtypeattribute (radio_core_data_file_31_0) true)
+(expandtypeattribute (radio_data_file_31_0) true)
+(expandtypeattribute (radio_device_31_0) true)
+(expandtypeattribute (radio_prop_31_0) true)
+(expandtypeattribute (radio_service_31_0) true)
+(expandtypeattribute (ram_device_31_0) true)
+(expandtypeattribute (random_device_31_0) true)
+(expandtypeattribute (reboot_readiness_service_31_0) true)
+(expandtypeattribute (rebootescrow_hal_prop_31_0) true)
+(expandtypeattribute (recovery_31_0) true)
+(expandtypeattribute (recovery_block_device_31_0) true)
+(expandtypeattribute (recovery_config_prop_31_0) true)
+(expandtypeattribute (recovery_data_file_31_0) true)
+(expandtypeattribute (recovery_persist_31_0) true)
+(expandtypeattribute (recovery_persist_exec_31_0) true)
+(expandtypeattribute (recovery_refresh_31_0) true)
+(expandtypeattribute (recovery_refresh_exec_31_0) true)
+(expandtypeattribute (recovery_service_31_0) true)
+(expandtypeattribute (recovery_socket_31_0) true)
+(expandtypeattribute (registry_service_31_0) true)
+(expandtypeattribute (remoteprovisioning_service_31_0) true)
+(expandtypeattribute (resourcecache_data_file_31_0) true)
+(expandtypeattribute (restorecon_prop_31_0) true)
+(expandtypeattribute (restrictions_service_31_0) true)
+(expandtypeattribute (retaildemo_prop_31_0) true)
+(expandtypeattribute (rild_debug_socket_31_0) true)
+(expandtypeattribute (rild_socket_31_0) true)
+(expandtypeattribute (ringtone_file_31_0) true)
+(expandtypeattribute (role_service_31_0) true)
+(expandtypeattribute (rollback_service_31_0) true)
+(expandtypeattribute (root_block_device_31_0) true)
+(expandtypeattribute (rootfs_31_0) true)
+(expandtypeattribute (rpmsg_device_31_0) true)
+(expandtypeattribute (rs_31_0) true)
+(expandtypeattribute (rs_exec_31_0) true)
+(expandtypeattribute (rss_hwm_reset_31_0) true)
+(expandtypeattribute (rtc_device_31_0) true)
+(expandtypeattribute (rttmanager_service_31_0) true)
+(expandtypeattribute (runas_31_0) true)
+(expandtypeattribute (runas_app_31_0) true)
+(expandtypeattribute (runas_exec_31_0) true)
+(expandtypeattribute (runtime_event_log_tags_file_31_0) true)
+(expandtypeattribute (runtime_service_31_0) true)
+(expandtypeattribute (safemode_prop_31_0) true)
+(expandtypeattribute (same_process_hal_file_31_0) true)
+(expandtypeattribute (samplingprofiler_service_31_0) true)
+(expandtypeattribute (scheduling_policy_service_31_0) true)
+(expandtypeattribute (sdcard_block_device_31_0) true)
+(expandtypeattribute (sdcardd_31_0) true)
+(expandtypeattribute (sdcardd_exec_31_0) true)
+(expandtypeattribute (sdcardfs_31_0) true)
+(expandtypeattribute (seapp_contexts_file_31_0) true)
+(expandtypeattribute (search_service_31_0) true)
+(expandtypeattribute (search_ui_service_31_0) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_31_0) true)
+(expandtypeattribute (secure_element_31_0) true)
+(expandtypeattribute (secure_element_device_31_0) true)
+(expandtypeattribute (secure_element_service_31_0) true)
+(expandtypeattribute (securityfs_31_0) true)
+(expandtypeattribute (selinuxfs_31_0) true)
+(expandtypeattribute (sendbug_config_prop_31_0) true)
+(expandtypeattribute (sensor_privacy_service_31_0) true)
+(expandtypeattribute (sensors_device_31_0) true)
+(expandtypeattribute (sensorservice_service_31_0) true)
+(expandtypeattribute (sepolicy_file_31_0) true)
+(expandtypeattribute (serial_device_31_0) true)
+(expandtypeattribute (serial_service_31_0) true)
+(expandtypeattribute (serialno_prop_31_0) true)
+(expandtypeattribute (server_configurable_flags_data_file_31_0) true)
+(expandtypeattribute (service_contexts_file_31_0) true)
+(expandtypeattribute (service_manager_service_31_0) true)
+(expandtypeattribute (service_manager_vndservice_31_0) true)
+(expandtypeattribute (servicediscovery_service_31_0) true)
+(expandtypeattribute (servicemanager_31_0) true)
+(expandtypeattribute (servicemanager_exec_31_0) true)
+(expandtypeattribute (settings_service_31_0) true)
+(expandtypeattribute (sgdisk_31_0) true)
+(expandtypeattribute (sgdisk_exec_31_0) true)
+(expandtypeattribute (shared_relro_31_0) true)
+(expandtypeattribute (shared_relro_file_31_0) true)
+(expandtypeattribute (shell_31_0) true)
+(expandtypeattribute (shell_data_file_31_0) true)
+(expandtypeattribute (shell_exec_31_0) true)
+(expandtypeattribute (shell_prop_31_0) true)
+(expandtypeattribute (shell_test_data_file_31_0) true)
+(expandtypeattribute (shm_31_0) true)
+(expandtypeattribute (shortcut_manager_icons_31_0) true)
+(expandtypeattribute (shortcut_service_31_0) true)
+(expandtypeattribute (simpleperf_31_0) true)
+(expandtypeattribute (simpleperf_app_runner_31_0) true)
+(expandtypeattribute (simpleperf_app_runner_exec_31_0) true)
+(expandtypeattribute (slice_service_31_0) true)
+(expandtypeattribute (slideshow_31_0) true)
+(expandtypeattribute (smartspace_service_31_0) true)
+(expandtypeattribute (snapshotctl_log_data_file_31_0) true)
+(expandtypeattribute (snapuserd_socket_31_0) true)
+(expandtypeattribute (soc_prop_31_0) true)
+(expandtypeattribute (socket_device_31_0) true)
+(expandtypeattribute (socket_hook_prop_31_0) true)
+(expandtypeattribute (sockfs_31_0) true)
+(expandtypeattribute (sota_prop_31_0) true)
+(expandtypeattribute (soundtrigger_middleware_service_31_0) true)
+(expandtypeattribute (speech_recognition_service_31_0) true)
+(expandtypeattribute (sqlite_log_prop_31_0) true)
+(expandtypeattribute (staged_install_file_31_0) true)
+(expandtypeattribute (staging_data_file_31_0) true)
+(expandtypeattribute (stats_data_file_31_0) true)
+(expandtypeattribute (statsd_31_0) true)
+(expandtypeattribute (statsd_exec_31_0) true)
+(expandtypeattribute (statsdw_socket_31_0) true)
+(expandtypeattribute (statusbar_service_31_0) true)
+(expandtypeattribute (storage_config_prop_31_0) true)
+(expandtypeattribute (storage_file_31_0) true)
+(expandtypeattribute (storage_stub_file_31_0) true)
+(expandtypeattribute (storaged_service_31_0) true)
+(expandtypeattribute (storagemanager_config_prop_31_0) true)
+(expandtypeattribute (storagestats_service_31_0) true)
+(expandtypeattribute (su_31_0) true)
+(expandtypeattribute (su_exec_31_0) true)
+(expandtypeattribute (super_block_device_31_0) true)
+(expandtypeattribute (surfaceflinger_31_0) true)
+(expandtypeattribute (surfaceflinger_color_prop_31_0) true)
+(expandtypeattribute (surfaceflinger_display_prop_31_0) true)
+(expandtypeattribute (surfaceflinger_prop_31_0) true)
+(expandtypeattribute (surfaceflinger_service_31_0) true)
+(expandtypeattribute (surfaceflinger_tmpfs_31_0) true)
+(expandtypeattribute (suspend_prop_31_0) true)
+(expandtypeattribute (swap_block_device_31_0) true)
+(expandtypeattribute (sysfs_31_0) true)
+(expandtypeattribute (sysfs_android_usb_31_0) true)
+(expandtypeattribute (sysfs_batteryinfo_31_0) true)
+(expandtypeattribute (sysfs_block_31_0) true)
+(expandtypeattribute (sysfs_bluetooth_writable_31_0) true)
+(expandtypeattribute (sysfs_devfreq_cur_31_0) true)
+(expandtypeattribute (sysfs_devfreq_dir_31_0) true)
+(expandtypeattribute (sysfs_devices_block_31_0) true)
+(expandtypeattribute (sysfs_devices_cs_etm_31_0) true)
+(expandtypeattribute (sysfs_devices_system_cpu_31_0) true)
+(expandtypeattribute (sysfs_dm_31_0) true)
+(expandtypeattribute (sysfs_dm_verity_31_0) true)
+(expandtypeattribute (sysfs_dma_heap_31_0) true)
+(expandtypeattribute (sysfs_dmabuf_stats_31_0) true)
+(expandtypeattribute (sysfs_dt_firmware_android_31_0) true)
+(expandtypeattribute (sysfs_extcon_31_0) true)
+(expandtypeattribute (sysfs_fs_ext4_features_31_0) true)
+(expandtypeattribute (sysfs_fs_f2fs_31_0) true)
+(expandtypeattribute (sysfs_fs_incfs_features_31_0) true)
+(expandtypeattribute (sysfs_fs_incfs_metrics_31_0) true)
+(expandtypeattribute (sysfs_hwrandom_31_0) true)
+(expandtypeattribute (sysfs_ion_31_0) true)
+(expandtypeattribute (sysfs_ipv4_31_0) true)
+(expandtypeattribute (sysfs_kernel_notes_31_0) true)
+(expandtypeattribute (sysfs_leds_31_0) true)
+(expandtypeattribute (sysfs_loop_31_0) true)
+(expandtypeattribute (sysfs_lowmemorykiller_31_0) true)
+(expandtypeattribute (sysfs_net_31_0) true)
+(expandtypeattribute (sysfs_nfc_power_writable_31_0) true)
+(expandtypeattribute (sysfs_power_31_0) true)
+(expandtypeattribute (sysfs_rtc_31_0) true)
+(expandtypeattribute (sysfs_suspend_stats_31_0) true)
+(expandtypeattribute (sysfs_switch_31_0) true)
+(expandtypeattribute (sysfs_thermal_31_0) true)
+(expandtypeattribute (sysfs_transparent_hugepage_31_0) true)
+(expandtypeattribute (sysfs_uhid_31_0) true)
+(expandtypeattribute (sysfs_uio_31_0) true)
+(expandtypeattribute (sysfs_usb_31_0) true)
+(expandtypeattribute (sysfs_usermodehelper_31_0) true)
+(expandtypeattribute (sysfs_vendor_sched_31_0) true)
+(expandtypeattribute (sysfs_vibrator_31_0) true)
+(expandtypeattribute (sysfs_wake_lock_31_0) true)
+(expandtypeattribute (sysfs_wakeup_31_0) true)
+(expandtypeattribute (sysfs_wakeup_reasons_31_0) true)
+(expandtypeattribute (sysfs_wlan_fwpath_31_0) true)
+(expandtypeattribute (sysfs_zram_31_0) true)
+(expandtypeattribute (sysfs_zram_uevent_31_0) true)
+(expandtypeattribute (system_app_31_0) true)
+(expandtypeattribute (system_app_data_file_31_0) true)
+(expandtypeattribute (system_app_service_31_0) true)
+(expandtypeattribute (system_asan_options_file_31_0) true)
+(expandtypeattribute (system_block_device_31_0) true)
+(expandtypeattribute (system_boot_reason_prop_31_0) true)
+(expandtypeattribute (system_bootstrap_lib_file_31_0) true)
+(expandtypeattribute (system_config_service_31_0) true)
+(expandtypeattribute (system_data_file_31_0) true)
+(expandtypeattribute (system_data_root_file_31_0) true)
+(expandtypeattribute (system_event_log_tags_file_31_0) true)
+(expandtypeattribute (system_file_31_0) true)
+(expandtypeattribute (system_group_file_31_0) true)
+(expandtypeattribute (system_jvmti_agent_prop_31_0) true)
+(expandtypeattribute (system_lib_file_31_0) true)
+(expandtypeattribute (system_linker_config_file_31_0) true)
+(expandtypeattribute (system_linker_exec_31_0) true)
+(expandtypeattribute (system_lmk_prop_31_0) true)
+(expandtypeattribute (system_ndebug_socket_31_0) true)
+(expandtypeattribute (system_net_netd_hwservice_31_0) true)
+(expandtypeattribute (system_passwd_file_31_0) true)
+(expandtypeattribute (system_prop_31_0) true)
+(expandtypeattribute (system_seccomp_policy_file_31_0) true)
+(expandtypeattribute (system_security_cacerts_file_31_0) true)
+(expandtypeattribute (system_server_31_0) true)
+(expandtypeattribute (system_server_dumper_service_31_0) true)
+(expandtypeattribute (system_server_tmpfs_31_0) true)
+(expandtypeattribute (system_suspend_control_internal_service_31_0) true)
+(expandtypeattribute (system_suspend_control_service_31_0) true)
+(expandtypeattribute (system_suspend_hwservice_31_0) true)
+(expandtypeattribute (system_trace_prop_31_0) true)
+(expandtypeattribute (system_unsolzygote_socket_31_0) true)
+(expandtypeattribute (system_update_service_31_0) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_31_0) true)
+(expandtypeattribute (system_wpa_socket_31_0) true)
+(expandtypeattribute (system_zoneinfo_file_31_0) true)
+(expandtypeattribute (systemkeys_data_file_31_0) true)
+(expandtypeattribute (systemsound_config_prop_31_0) true)
+(expandtypeattribute (task_profiles_api_file_31_0) true)
+(expandtypeattribute (task_profiles_file_31_0) true)
+(expandtypeattribute (task_service_31_0) true)
+(expandtypeattribute (tcpdump_exec_31_0) true)
+(expandtypeattribute (tee_31_0) true)
+(expandtypeattribute (tee_data_file_31_0) true)
+(expandtypeattribute (tee_device_31_0) true)
+(expandtypeattribute (telecom_service_31_0) true)
+(expandtypeattribute (telephony_config_prop_31_0) true)
+(expandtypeattribute (telephony_status_prop_31_0) true)
+(expandtypeattribute (test_boot_reason_prop_31_0) true)
+(expandtypeattribute (test_harness_prop_31_0) true)
+(expandtypeattribute (testharness_service_31_0) true)
+(expandtypeattribute (tethering_service_31_0) true)
+(expandtypeattribute (textclassification_service_31_0) true)
+(expandtypeattribute (textclassifier_data_file_31_0) true)
+(expandtypeattribute (textservices_service_31_0) true)
+(expandtypeattribute (texttospeech_service_31_0) true)
+(expandtypeattribute (theme_prop_31_0) true)
+(expandtypeattribute (thermal_service_31_0) true)
+(expandtypeattribute (time_prop_31_0) true)
+(expandtypeattribute (timedetector_service_31_0) true)
+(expandtypeattribute (timezone_service_31_0) true)
+(expandtypeattribute (timezonedetector_service_31_0) true)
+(expandtypeattribute (tmpfs_31_0) true)
+(expandtypeattribute (tombstone_config_prop_31_0) true)
+(expandtypeattribute (tombstone_data_file_31_0) true)
+(expandtypeattribute (tombstone_wifi_data_file_31_0) true)
+(expandtypeattribute (tombstoned_31_0) true)
+(expandtypeattribute (tombstoned_crash_socket_31_0) true)
+(expandtypeattribute (tombstoned_exec_31_0) true)
+(expandtypeattribute (tombstoned_intercept_socket_31_0) true)
+(expandtypeattribute (tombstoned_java_trace_socket_31_0) true)
+(expandtypeattribute (toolbox_31_0) true)
+(expandtypeattribute (toolbox_exec_31_0) true)
+(expandtypeattribute (trace_data_file_31_0) true)
+(expandtypeattribute (traced_31_0) true)
+(expandtypeattribute (traced_consumer_socket_31_0) true)
+(expandtypeattribute (traced_enabled_prop_31_0) true)
+(expandtypeattribute (traced_lazy_prop_31_0) true)
+(expandtypeattribute (traced_perf_31_0) true)
+(expandtypeattribute (traced_perf_socket_31_0) true)
+(expandtypeattribute (traced_probes_31_0) true)
+(expandtypeattribute (traced_producer_socket_31_0) true)
+(expandtypeattribute (traced_tmpfs_31_0) true)
+(expandtypeattribute (traceur_app_31_0) true)
+(expandtypeattribute (translation_service_31_0) true)
+(expandtypeattribute (trust_service_31_0) true)
+(expandtypeattribute (tty_device_31_0) true)
+(expandtypeattribute (tun_device_31_0) true)
+(expandtypeattribute (tv_input_service_31_0) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_31_0) true)
+(expandtypeattribute (tzdatacheck_31_0) true)
+(expandtypeattribute (tzdatacheck_exec_31_0) true)
+(expandtypeattribute (ueventd_31_0) true)
+(expandtypeattribute (ueventd_tmpfs_31_0) true)
+(expandtypeattribute (uhid_device_31_0) true)
+(expandtypeattribute (uimode_service_31_0) true)
+(expandtypeattribute (uio_device_31_0) true)
+(expandtypeattribute (uncrypt_31_0) true)
+(expandtypeattribute (uncrypt_exec_31_0) true)
+(expandtypeattribute (uncrypt_socket_31_0) true)
+(expandtypeattribute (unencrypted_data_file_31_0) true)
+(expandtypeattribute (unlabeled_31_0) true)
+(expandtypeattribute (untrusted_app_25_31_0) true)
+(expandtypeattribute (untrusted_app_27_31_0) true)
+(expandtypeattribute (untrusted_app_29_31_0) true)
+(expandtypeattribute (untrusted_app_31_0) true)
+(expandtypeattribute (update_engine_31_0) true)
+(expandtypeattribute (update_engine_data_file_31_0) true)
+(expandtypeattribute (update_engine_exec_31_0) true)
+(expandtypeattribute (update_engine_log_data_file_31_0) true)
+(expandtypeattribute (update_engine_service_31_0) true)
+(expandtypeattribute (update_engine_stable_service_31_0) true)
+(expandtypeattribute (update_verifier_31_0) true)
+(expandtypeattribute (update_verifier_exec_31_0) true)
+(expandtypeattribute (updatelock_service_31_0) true)
+(expandtypeattribute (uri_grants_service_31_0) true)
+(expandtypeattribute (usagestats_service_31_0) true)
+(expandtypeattribute (usb_config_prop_31_0) true)
+(expandtypeattribute (usb_control_prop_31_0) true)
+(expandtypeattribute (usb_device_31_0) true)
+(expandtypeattribute (usb_prop_31_0) true)
+(expandtypeattribute (usb_serial_device_31_0) true)
+(expandtypeattribute (usb_service_31_0) true)
+(expandtypeattribute (usbaccessory_device_31_0) true)
+(expandtypeattribute (usbd_31_0) true)
+(expandtypeattribute (usbd_exec_31_0) true)
+(expandtypeattribute (usbfs_31_0) true)
+(expandtypeattribute (use_memfd_prop_31_0) true)
+(expandtypeattribute (user_profile_data_file_31_0) true)
+(expandtypeattribute (user_profile_root_file_31_0) true)
+(expandtypeattribute (user_service_31_0) true)
+(expandtypeattribute (userdata_block_device_31_0) true)
+(expandtypeattribute (userdata_sysdev_31_0) true)
+(expandtypeattribute (usermodehelper_31_0) true)
+(expandtypeattribute (userspace_reboot_config_prop_31_0) true)
+(expandtypeattribute (userspace_reboot_exported_prop_31_0) true)
+(expandtypeattribute (userspace_reboot_metadata_file_31_0) true)
+(expandtypeattribute (uwb_service_31_0) true)
+(expandtypeattribute (vcn_management_service_31_0) true)
+(expandtypeattribute (vd_device_31_0) true)
+(expandtypeattribute (vdc_31_0) true)
+(expandtypeattribute (vdc_exec_31_0) true)
+(expandtypeattribute (vehicle_hal_prop_31_0) true)
+(expandtypeattribute (vendor_apex_file_31_0) true)
+(expandtypeattribute (vendor_app_file_31_0) true)
+(expandtypeattribute (vendor_cgroup_desc_file_31_0) true)
+(expandtypeattribute (vendor_configs_file_31_0) true)
+(expandtypeattribute (vendor_data_file_31_0) true)
+(expandtypeattribute (vendor_default_prop_31_0) true)
+(expandtypeattribute (vendor_file_31_0) true)
+(expandtypeattribute (vendor_framework_file_31_0) true)
+(expandtypeattribute (vendor_hal_file_31_0) true)
+(expandtypeattribute (vendor_idc_file_31_0) true)
+(expandtypeattribute (vendor_init_31_0) true)
+(expandtypeattribute (vendor_kernel_modules_31_0) true)
+(expandtypeattribute (vendor_keychars_file_31_0) true)
+(expandtypeattribute (vendor_keylayout_file_31_0) true)
+(expandtypeattribute (vendor_misc_writer_31_0) true)
+(expandtypeattribute (vendor_misc_writer_exec_31_0) true)
+(expandtypeattribute (vendor_modprobe_31_0) true)
+(expandtypeattribute (vendor_overlay_file_31_0) true)
+(expandtypeattribute (vendor_public_framework_file_31_0) true)
+(expandtypeattribute (vendor_public_lib_file_31_0) true)
+(expandtypeattribute (vendor_security_patch_level_prop_31_0) true)
+(expandtypeattribute (vendor_service_contexts_file_31_0) true)
+(expandtypeattribute (vendor_shell_31_0) true)
+(expandtypeattribute (vendor_shell_exec_31_0) true)
+(expandtypeattribute (vendor_socket_hook_prop_31_0) true)
+(expandtypeattribute (vendor_task_profiles_file_31_0) true)
+(expandtypeattribute (vendor_toolbox_exec_31_0) true)
+(expandtypeattribute (vfat_31_0) true)
+(expandtypeattribute (vibrator_manager_service_31_0) true)
+(expandtypeattribute (vibrator_service_31_0) true)
+(expandtypeattribute (video_device_31_0) true)
+(expandtypeattribute (virtual_ab_prop_31_0) true)
+(expandtypeattribute (virtual_touchpad_31_0) true)
+(expandtypeattribute (virtual_touchpad_exec_31_0) true)
+(expandtypeattribute (virtual_touchpad_service_31_0) true)
+(expandtypeattribute (virtualization_service_31_0) true)
+(expandtypeattribute (vndbinder_device_31_0) true)
+(expandtypeattribute (vndk_prop_31_0) true)
+(expandtypeattribute (vndk_sp_file_31_0) true)
+(expandtypeattribute (vndservice_contexts_file_31_0) true)
+(expandtypeattribute (vndservicemanager_31_0) true)
+(expandtypeattribute (voiceinteraction_service_31_0) true)
+(expandtypeattribute (vold_31_0) true)
+(expandtypeattribute (vold_config_prop_31_0) true)
+(expandtypeattribute (vold_data_file_31_0) true)
+(expandtypeattribute (vold_device_31_0) true)
+(expandtypeattribute (vold_exec_31_0) true)
+(expandtypeattribute (vold_metadata_file_31_0) true)
+(expandtypeattribute (vold_post_fs_data_prop_31_0) true)
+(expandtypeattribute (vold_prepare_subdirs_31_0) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_31_0) true)
+(expandtypeattribute (vold_prop_31_0) true)
+(expandtypeattribute (vold_service_31_0) true)
+(expandtypeattribute (vold_status_prop_31_0) true)
+(expandtypeattribute (vpn_data_file_31_0) true)
+(expandtypeattribute (vpn_management_service_31_0) true)
+(expandtypeattribute (vr_hwc_31_0) true)
+(expandtypeattribute (vr_hwc_exec_31_0) true)
+(expandtypeattribute (vr_hwc_service_31_0) true)
+(expandtypeattribute (vr_manager_service_31_0) true)
+(expandtypeattribute (vrflinger_vsync_service_31_0) true)
+(expandtypeattribute (vts_config_prop_31_0) true)
+(expandtypeattribute (vts_status_prop_31_0) true)
+(expandtypeattribute (wallpaper_file_31_0) true)
+(expandtypeattribute (wallpaper_service_31_0) true)
+(expandtypeattribute (watchdog_device_31_0) true)
+(expandtypeattribute (watchdog_metadata_file_31_0) true)
+(expandtypeattribute (watchdogd_31_0) true)
+(expandtypeattribute (watchdogd_exec_31_0) true)
+(expandtypeattribute (webview_zygote_31_0) true)
+(expandtypeattribute (webview_zygote_exec_31_0) true)
+(expandtypeattribute (webview_zygote_tmpfs_31_0) true)
+(expandtypeattribute (webviewupdate_service_31_0) true)
+(expandtypeattribute (wifi_config_prop_31_0) true)
+(expandtypeattribute (wifi_data_file_31_0) true)
+(expandtypeattribute (wifi_hal_prop_31_0) true)
+(expandtypeattribute (wifi_key_31_0) true)
+(expandtypeattribute (wifi_log_prop_31_0) true)
+(expandtypeattribute (wifi_prop_31_0) true)
+(expandtypeattribute (wifi_service_31_0) true)
+(expandtypeattribute (wifiaware_service_31_0) true)
+(expandtypeattribute (wificond_31_0) true)
+(expandtypeattribute (wificond_exec_31_0) true)
+(expandtypeattribute (wifinl80211_service_31_0) true)
+(expandtypeattribute (wifip2p_service_31_0) true)
+(expandtypeattribute (wifiscanner_service_31_0) true)
+(expandtypeattribute (window_service_31_0) true)
+(expandtypeattribute (wpa_socket_31_0) true)
+(expandtypeattribute (wpantund_31_0) true)
+(expandtypeattribute (wpantund_exec_31_0) true)
+(expandtypeattribute (wpantund_service_31_0) true)
+(expandtypeattribute (zero_device_31_0) true)
+(expandtypeattribute (zoneinfo_data_file_31_0) true)
+(expandtypeattribute (zram_config_prop_31_0) true)
+(expandtypeattribute (zram_control_prop_31_0) true)
+(expandtypeattribute (zygote_31_0) true)
+(expandtypeattribute (zygote_config_prop_31_0) true)
+(expandtypeattribute (zygote_exec_31_0) true)
+(expandtypeattribute (zygote_socket_31_0) true)
+(expandtypeattribute (zygote_tmpfs_31_0) true)
+(typeattributeset DockObserver_service_31_0 (DockObserver_service))
+(typeattributeset IProxyService_service_31_0 (IProxyService_service))
+(typeattributeset aac_drc_prop_31_0 (aac_drc_prop))
+(typeattributeset aaudio_config_prop_31_0 (aaudio_config_prop))
+(typeattributeset ab_update_gki_prop_31_0 (ab_update_gki_prop))
+(typeattributeset accessibility_service_31_0 (accessibility_service))
+(typeattributeset account_service_31_0 (account_service))
+(typeattributeset activity_service_31_0 (activity_service))
+(typeattributeset activity_task_service_31_0 (activity_task_service))
+(typeattributeset adb_data_file_31_0 (adb_data_file))
+(typeattributeset adb_keys_file_31_0 (adb_keys_file))
+(typeattributeset adb_service_31_0 (adb_service))
+(typeattributeset adbd_31_0 (adbd))
+(typeattributeset adbd_config_prop_31_0 (adbd_config_prop))
+(typeattributeset adbd_exec_31_0 (adbd_exec))
+(typeattributeset adbd_socket_31_0 (adbd_socket))
+(typeattributeset aidl_lazy_test_server_31_0 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_31_0 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_31_0 (aidl_lazy_test_service))
+(typeattributeset alarm_service_31_0 (alarm_service))
+(typeattributeset anr_data_file_31_0 (anr_data_file))
+(typeattributeset apc_service_31_0 (apc_service))
+(typeattributeset apex_appsearch_data_file_31_0 (apex_appsearch_data_file apex_system_server_data_file))
+(typeattributeset apex_data_file_31_0 (apex_data_file))
+(typeattributeset apex_info_file_31_0 (apex_info_file))
+(typeattributeset apex_metadata_file_31_0 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_31_0 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_31_0 (apex_module_data_file))
+(typeattributeset apex_ota_reserved_file_31_0 (apex_ota_reserved_file))
+(typeattributeset apex_permission_data_file_31_0 (apex_permission_data_file apex_system_server_data_file))
+(typeattributeset apex_rollback_data_file_31_0 (apex_rollback_data_file))
+(typeattributeset apex_scheduling_data_file_31_0 (apex_scheduling_data_file apex_system_server_data_file))
+(typeattributeset apex_service_31_0 (apex_service))
+(typeattributeset apex_wifi_data_file_31_0 (apex_wifi_data_file apex_system_server_data_file))
+(typeattributeset apexd_31_0 (apexd))
+(typeattributeset apexd_config_prop_31_0 (apexd_config_prop))
+(typeattributeset apexd_exec_31_0 (apexd_exec))
+(typeattributeset apexd_prop_31_0 (apexd_prop))
+(typeattributeset apk_data_file_31_0 (apk_data_file))
+(typeattributeset apk_private_data_file_31_0 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_31_0 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_31_0 (apk_tmp_file))
+(typeattributeset apk_verity_prop_31_0 (apk_verity_prop))
+(typeattributeset app_binding_service_31_0 (app_binding_service))
+(typeattributeset app_data_file_31_0 (app_data_file))
+(typeattributeset app_fuse_file_31_0 (app_fuse_file))
+(typeattributeset app_fusefs_31_0 (app_fusefs))
+(typeattributeset app_hibernation_service_31_0 (app_hibernation_service))
+(typeattributeset app_integrity_service_31_0 (app_integrity_service))
+(typeattributeset app_prediction_service_31_0 (app_prediction_service))
+(typeattributeset app_search_service_31_0 (app_search_service))
+(typeattributeset app_zygote_31_0 (app_zygote))
+(typeattributeset app_zygote_tmpfs_31_0 (app_zygote_tmpfs))
+(typeattributeset appcompat_data_file_31_0 (appcompat_data_file))
+(typeattributeset appdomain_tmpfs_31_0 (appdomain_tmpfs))
+(typeattributeset appops_service_31_0 (appops_service))
+(typeattributeset appwidget_service_31_0 (appwidget_service))
+(typeattributeset arm64_memtag_prop_31_0 (arm64_memtag_prop))
+(typeattributeset art_apex_dir_31_0 (art_apex_dir))
+(typeattributeset asec_apk_file_31_0 (asec_apk_file))
+(typeattributeset asec_image_file_31_0 (asec_image_file))
+(typeattributeset asec_public_file_31_0 (asec_public_file))
+(typeattributeset ashmem_device_31_0 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_31_0 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_31_0 (assetatlas_service))
+(typeattributeset atrace_31_0 (atrace))
+(typeattributeset audio_config_prop_31_0 (audio_config_prop))
+(typeattributeset audio_data_file_31_0 (audio_data_file))
+(typeattributeset audio_device_31_0 (audio_device))
+(typeattributeset audio_prop_31_0 (audio_prop))
+(typeattributeset audio_service_31_0 (audio_service))
+(typeattributeset audiohal_data_file_31_0 (audiohal_data_file))
+(typeattributeset audioserver_31_0 (audioserver))
+(typeattributeset audioserver_data_file_31_0 (audioserver_data_file))
+(typeattributeset audioserver_service_31_0 (audioserver_service))
+(typeattributeset audioserver_tmpfs_31_0 (audioserver_tmpfs))
+(typeattributeset auth_service_31_0 (auth_service))
+(typeattributeset authorization_service_31_0 (authorization_service))
+(typeattributeset autofill_service_31_0 (autofill_service))
+(typeattributeset backup_data_file_31_0 (backup_data_file))
+(typeattributeset backup_service_31_0 (backup_service))
+(typeattributeset battery_service_31_0 (battery_service))
+(typeattributeset batteryproperties_service_31_0 (batteryproperties_service))
+(typeattributeset batterystats_service_31_0 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_31_0 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_31_0 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_31_0 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_31_0 (binder_calls_stats_service))
+(typeattributeset binder_device_31_0 (binder_device))
+(typeattributeset binderfs_31_0 (binderfs))
+(typeattributeset binderfs_logs_31_0 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_31_0 (binderfs_logs_proc))
+(typeattributeset binfmt_miscfs_31_0 (binfmt_miscfs))
+(typeattributeset biometric_service_31_0 (biometric_service))
+(typeattributeset blkid_31_0 (blkid))
+(typeattributeset blkid_untrusted_31_0 (blkid_untrusted))
+(typeattributeset blob_store_service_31_0 (blob_store_service))
+(typeattributeset block_device_31_0 (block_device))
+(typeattributeset bluetooth_31_0 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_31_0 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_31_0 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_data_file_31_0 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_31_0 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_31_0 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_31_0 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_31_0 (bluetooth_prop))
+(typeattributeset bluetooth_service_31_0 (bluetooth_service))
+(typeattributeset bluetooth_socket_31_0 (bluetooth_socket))
+(typeattributeset boot_block_device_31_0 (boot_block_device))
+(typeattributeset boot_status_prop_31_0 (boot_status_prop))
+(typeattributeset bootanim_31_0 (bootanim))
+(typeattributeset bootanim_config_prop_31_0 (bootanim_config_prop))
+(typeattributeset bootanim_exec_31_0 (bootanim_exec))
+(typeattributeset bootanim_system_prop_31_0 (bootanim_system_prop))
+(typeattributeset bootchart_data_file_31_0 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_31_0 (bootloader_boot_reason_prop))
+(typeattributeset bootloader_prop_31_0 (bootloader_prop))
+(typeattributeset bootstat_31_0 (bootstat))
+(typeattributeset bootstat_data_file_31_0 (bootstat_data_file))
+(typeattributeset bootstat_exec_31_0 (bootstat_exec))
+(typeattributeset boottime_prop_31_0 (boottime_prop))
+(typeattributeset boottime_public_prop_31_0 (boottime_public_prop))
+(typeattributeset boottrace_data_file_31_0 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_31_0 (bpf_progs_loaded_prop))
+(typeattributeset bq_config_prop_31_0 (bq_config_prop))
+(typeattributeset broadcastradio_service_31_0 (broadcastradio_service))
+(typeattributeset bufferhubd_31_0 (bufferhubd))
+(typeattributeset bufferhubd_exec_31_0 (bufferhubd_exec))
+(typeattributeset bugreport_service_31_0 (bugreport_service))
+(typeattributeset build_bootimage_prop_31_0 (build_bootimage_prop))
+(typeattributeset build_config_prop_31_0 (build_config_prop))
+(typeattributeset build_odm_prop_31_0 (build_odm_prop))
+(typeattributeset build_prop_31_0 (build_prop))
+(typeattributeset build_vendor_prop_31_0 (build_vendor_prop))
+(typeattributeset cache_backup_file_31_0 (cache_backup_file))
+(typeattributeset cache_block_device_31_0 (cache_block_device))
+(typeattributeset cache_file_31_0 (cache_file))
+(typeattributeset cache_private_backup_file_31_0 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_31_0 (cache_recovery_file))
+(typeattributeset cacheinfo_service_31_0 (cacheinfo_service))
+(typeattributeset camera2_extensions_prop_31_0 (camera2_extensions_prop))
+(typeattributeset camera_calibration_prop_31_0 (camera_calibration_prop))
+(typeattributeset camera_config_prop_31_0 (camera_config_prop))
+(typeattributeset camera_data_file_31_0 (camera_data_file))
+(typeattributeset camera_device_31_0 (camera_device))
+(typeattributeset cameraproxy_service_31_0 (cameraproxy_service))
+(typeattributeset cameraserver_31_0 (cameraserver))
+(typeattributeset cameraserver_exec_31_0 (cameraserver_exec))
+(typeattributeset cameraserver_service_31_0 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_31_0 (cameraserver_tmpfs))
+(typeattributeset camerax_extensions_prop_31_0 (camerax_extensions_prop))
+(typeattributeset cgroup_31_0 (cgroup))
+(typeattributeset cgroup_desc_api_file_31_0 (cgroup_desc_api_file))
+(typeattributeset cgroup_desc_file_31_0 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_31_0 (cgroup_rc_file))
+(typeattributeset cgroup_v2_31_0 (cgroup_v2))
+(typeattributeset charger_31_0 (charger))
+(typeattributeset charger_config_prop_31_0 (charger_config_prop))
+(typeattributeset charger_exec_31_0 (charger_exec))
+(typeattributeset charger_prop_31_0 (charger_prop))
+(typeattributeset charger_status_prop_31_0 (charger_status_prop))
+(typeattributeset clipboard_service_31_0 (clipboard_service))
+(typeattributeset codec2_config_prop_31_0 (codec2_config_prop))
+(typeattributeset cold_boot_done_prop_31_0 (cold_boot_done_prop))
+(typeattributeset color_display_service_31_0 (color_display_service))
+(typeattributeset companion_device_service_31_0 (companion_device_service))
+(typeattributeset config_prop_31_0 (config_prop))
+(typeattributeset configfs_31_0 (configfs))
+(typeattributeset connectivity_service_31_0 (connectivity_service))
+(typeattributeset connmetrics_service_31_0 (connmetrics_service))
+(typeattributeset console_device_31_0 (console_device))
+(typeattributeset consumer_ir_service_31_0 (consumer_ir_service))
+(typeattributeset content_capture_service_31_0 (content_capture_service))
+(typeattributeset content_service_31_0 (content_service))
+(typeattributeset content_suggestions_service_31_0 (content_suggestions_service))
+(typeattributeset contexthub_service_31_0 (contexthub_service))
+(typeattributeset coredump_file_31_0 (coredump_file))
+(typeattributeset country_detector_service_31_0 (country_detector_service))
+(typeattributeset coverage_service_31_0 (coverage_service))
+(typeattributeset cppreopt_prop_31_0 (cppreopt_prop))
+(typeattributeset cpu_variant_prop_31_0 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_31_0 (cpuinfo_service))
+(typeattributeset crash_dump_31_0 (crash_dump))
+(typeattributeset crash_dump_exec_31_0 (crash_dump_exec))
+(typeattributeset credstore_31_0 (credstore))
+(typeattributeset credstore_data_file_31_0 (credstore_data_file))
+(typeattributeset credstore_exec_31_0 (credstore_exec))
+(typeattributeset credstore_service_31_0 (credstore_service))
+(typeattributeset crossprofileapps_service_31_0 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_31_0 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_31_0 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_31_0 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_31_0 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_31_0 (ctl_console_prop))
+(typeattributeset ctl_default_prop_31_0 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_31_0 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_31_0 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_31_0 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_31_0 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_31_0 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_31_0 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_31_0 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_31_0 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_31_0 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_31_0 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_31_0 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_31_0 (ctl_stop_prop))
+(typeattributeset dalvik_config_prop_31_0 (dalvik_config_prop))
+(typeattributeset dalvik_prop_31_0 (dalvik_prop))
+(typeattributeset dalvik_runtime_prop_31_0 (dalvik_runtime_prop))
+(typeattributeset dalvikcache_data_file_31_0 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_31_0 (dataloader_manager_service))
+(typeattributeset dbinfo_service_31_0 (dbinfo_service))
+(typeattributeset dck_prop_31_0 (dck_prop))
+(typeattributeset debug_prop_31_0 (debug_prop))
+(typeattributeset debugfs_31_0 (debugfs))
+(typeattributeset debugfs_bootreceiver_tracing_31_0 (debugfs_bootreceiver_tracing))
+(typeattributeset debugfs_kprobes_31_0 (debugfs_kprobes))
+(typeattributeset debugfs_mm_events_tracing_31_0 (debugfs_mm_events_tracing))
+(typeattributeset debugfs_mmc_31_0 (debugfs_mmc))
+(typeattributeset debugfs_restriction_prop_31_0 (debugfs_restriction_prop))
+(typeattributeset debugfs_trace_marker_31_0 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_31_0 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_31_0 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_31_0 (debugfs_tracing_instances))
+(typeattributeset debugfs_tracing_printk_formats_31_0 (debugfs_tracing_printk_formats))
+(typeattributeset debugfs_wakeup_sources_31_0 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_31_0 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_31_0 (debuggerd_prop))
+(typeattributeset default_android_hwservice_31_0 (default_android_hwservice))
+(typeattributeset default_android_service_31_0 (default_android_service))
+(typeattributeset default_android_vndservice_31_0 (default_android_vndservice))
+(typeattributeset default_prop_31_0 (default_prop))
+(typeattributeset dev_cpu_variant_31_0 (dev_cpu_variant))
+(typeattributeset device_31_0 (device))
+(typeattributeset device_config_activity_manager_native_boot_prop_31_0 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_31_0 (device_config_boot_count_prop))
+(typeattributeset device_config_input_native_boot_prop_31_0 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_31_0 (device_config_media_native_prop))
+(typeattributeset device_config_netd_native_prop_31_0 (device_config_netd_native_prop))
+(typeattributeset device_config_reset_performed_prop_31_0 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_31_0 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_31_0 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_31_0 (device_config_service))
+(typeattributeset device_identifiers_service_31_0 (device_identifiers_service))
+(typeattributeset device_logging_prop_31_0 (device_logging_prop))
+(typeattributeset device_policy_service_31_0 (device_policy_service))
+(typeattributeset device_state_service_31_0 (device_state_service))
+(typeattributeset deviceidle_service_31_0 (deviceidle_service))
+(typeattributeset devicestoragemonitor_service_31_0 (devicestoragemonitor_service))
+(typeattributeset devpts_31_0 (devpts))
+(typeattributeset dhcp_31_0 (dhcp))
+(typeattributeset dhcp_data_file_31_0 (dhcp_data_file))
+(typeattributeset dhcp_exec_31_0 (dhcp_exec))
+(typeattributeset dhcp_prop_31_0 (dhcp_prop))
+(typeattributeset diskstats_service_31_0 (diskstats_service))
+(typeattributeset display_service_31_0 (display_service))
+(typeattributeset dm_device_31_0 (dm_device))
+(typeattributeset dm_user_device_31_0 (dm_user_device))
+(typeattributeset dmabuf_heap_device_31_0 (dmabuf_heap_device))
+(typeattributeset dmabuf_system_heap_device_31_0 (dmabuf_system_heap_device))
+(typeattributeset dmabuf_system_secure_heap_device_31_0 (dmabuf_system_secure_heap_device))
+(typeattributeset dnsmasq_31_0 (dnsmasq))
+(typeattributeset dnsmasq_exec_31_0 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_31_0 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_31_0 (dnsresolver_service))
+(typeattributeset domain_verification_service_31_0 (domain_verification_service))
+(typeattributeset dreams_service_31_0 (dreams_service))
+(typeattributeset drm_data_file_31_0 (drm_data_file))
+(typeattributeset drm_service_config_prop_31_0 (drm_service_config_prop))
+(typeattributeset drmserver_31_0 (drmserver))
+(typeattributeset drmserver_exec_31_0 (drmserver_exec))
+(typeattributeset drmserver_service_31_0 (drmserver_service))
+(typeattributeset drmserver_socket_31_0 (drmserver_socket))
+(typeattributeset dropbox_data_file_31_0 (dropbox_data_file))
+(typeattributeset dropbox_service_31_0 (dropbox_service))
+(typeattributeset dumpstate_31_0 (dumpstate))
+(typeattributeset dumpstate_exec_31_0 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_31_0 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_31_0 (dumpstate_prop))
+(typeattributeset dumpstate_service_31_0 (dumpstate_service))
+(typeattributeset dumpstate_socket_31_0 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_31_0 (dynamic_system_prop))
+(typeattributeset e2fs_31_0 (e2fs))
+(typeattributeset e2fs_exec_31_0 (e2fs_exec))
+(typeattributeset efs_file_31_0 (efs_file))
+(typeattributeset emergency_affordance_service_31_0 (emergency_affordance_service))
+(typeattributeset ephemeral_app_31_0 (ephemeral_app))
+(typeattributeset ethernet_service_31_0 (ethernet_service))
+(typeattributeset exfat_31_0 (exfat))
+(typeattributeset exported3_system_prop_31_0 (exported3_system_prop))
+(typeattributeset exported_bluetooth_prop_31_0 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_31_0 (exported_camera_prop))
+(typeattributeset exported_config_prop_31_0 (exported_config_prop))
+(typeattributeset exported_default_prop_31_0 (exported_default_prop))
+(typeattributeset exported_dumpstate_prop_31_0 (exported_dumpstate_prop))
+(typeattributeset exported_overlay_prop_31_0 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_31_0 (exported_pm_prop))
+(typeattributeset exported_secure_prop_31_0 (exported_secure_prop))
+(typeattributeset exported_system_prop_31_0 (exported_system_prop))
+(typeattributeset external_vibrator_service_31_0 (external_vibrator_service))
+(typeattributeset face_service_31_0 (face_service))
+(typeattributeset face_vendor_data_file_31_0 (face_vendor_data_file))
+(typeattributeset fastbootd_31_0 (fastbootd))
+(typeattributeset ffs_config_prop_31_0 (ffs_config_prop))
+(typeattributeset ffs_control_prop_31_0 (ffs_control_prop))
+(typeattributeset file_contexts_file_31_0 (file_contexts_file))
+(typeattributeset file_integrity_service_31_0 (file_integrity_service))
+(typeattributeset fingerprint_prop_31_0 (fingerprint_prop))
+(typeattributeset fingerprint_service_31_0 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_31_0 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_31_0 (fingerprintd))
+(typeattributeset fingerprintd_data_file_31_0 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_31_0 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_31_0 (fingerprintd_service))
+(typeattributeset firstboot_prop_31_0 (firstboot_prop))
+(typeattributeset flags_health_check_31_0 (flags_health_check))
+(typeattributeset flags_health_check_exec_31_0 (flags_health_check_exec))
+(typeattributeset font_service_31_0 (font_service))
+(typeattributeset framework_watchdog_config_prop_31_0 (framework_watchdog_config_prop))
+(typeattributeset frp_block_device_31_0 (frp_block_device))
+(typeattributeset fs_bpf_31_0 (fs_bpf))
+(typeattributeset fs_bpf_tethering_31_0 (fs_bpf_tethering))
+(typeattributeset fsck_31_0 (fsck))
+(typeattributeset fsck_exec_31_0 (fsck_exec))
+(typeattributeset fsck_untrusted_31_0 (fsck_untrusted))
+(typeattributeset fscklogs_31_0 (fscklogs))
+(typeattributeset functionfs_31_0 (functionfs))
+(typeattributeset fuse_31_0 (fuse))
+(typeattributeset fuse_device_31_0 (fuse_device))
+(typeattributeset fusectlfs_31_0 (fusectlfs))
+(typeattributeset fwk_automotive_display_hwservice_31_0 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_bufferhub_hwservice_31_0 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_31_0 (fwk_camera_hwservice))
+(typeattributeset fwk_display_hwservice_31_0 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_31_0 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_31_0 (fwk_sensor_hwservice))
+(typeattributeset fwk_stats_hwservice_31_0 (fwk_stats_hwservice))
+(typeattributeset fwk_stats_service_31_0 (fwk_stats_service))
+(typeattributeset fwmarkd_socket_31_0 (fwmarkd_socket))
+(typeattributeset game_service_31_0 (game_service))
+(typeattributeset gatekeeper_data_file_31_0 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_31_0 (gatekeeper_service))
+(typeattributeset gatekeeperd_31_0 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_31_0 (gatekeeperd_exec))
+(typeattributeset gfxinfo_service_31_0 (gfxinfo_service))
+(typeattributeset gmscore_app_31_0 (gmscore_app))
+(typeattributeset gnss_device_31_0 (gnss_device))
+(typeattributeset gnss_time_update_service_31_0 (gnss_time_update_service))
+(typeattributeset gps_control_31_0 (gps_control))
+(typeattributeset gpu_device_31_0 (gpu_device))
+(typeattributeset gpu_service_31_0 (gpu_service))
+(typeattributeset gpuservice_31_0 (gpuservice))
+(typeattributeset graphics_config_prop_31_0 (graphics_config_prop))
+(typeattributeset graphics_device_31_0 (graphics_device))
+(typeattributeset graphicsstats_service_31_0 (graphicsstats_service))
+(typeattributeset gsi_data_file_31_0 (gsi_data_file))
+(typeattributeset gsi_metadata_file_31_0 (gsi_metadata_file))
+(typeattributeset gsi_public_metadata_file_31_0 (gsi_public_metadata_file))
+(typeattributeset hal_atrace_hwservice_31_0 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_31_0 (hal_audio_hwservice))
+(typeattributeset hal_audio_service_31_0 (hal_audio_service))
+(typeattributeset hal_audiocontrol_hwservice_31_0 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audiocontrol_service_31_0 (hal_audiocontrol_service))
+(typeattributeset hal_authsecret_hwservice_31_0 (hal_authsecret_hwservice))
+(typeattributeset hal_authsecret_service_31_0 (hal_authsecret_service))
+(typeattributeset hal_bluetooth_hwservice_31_0 (hal_bluetooth_hwservice))
+(typeattributeset hal_bootctl_hwservice_31_0 (hal_bootctl_hwservice))
+(typeattributeset hal_broadcastradio_hwservice_31_0 (hal_broadcastradio_hwservice))
+(typeattributeset hal_camera_hwservice_31_0 (hal_camera_hwservice))
+(typeattributeset hal_can_bus_hwservice_31_0 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_31_0 (hal_can_controller_hwservice))
+(typeattributeset hal_cas_hwservice_31_0 (hal_cas_hwservice))
+(typeattributeset hal_codec2_hwservice_31_0 (hal_codec2_hwservice))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_31_0 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_31_0 (hal_confirmationui_hwservice))
+(typeattributeset hal_contexthub_hwservice_31_0 (hal_contexthub_hwservice))
+(typeattributeset hal_drm_hwservice_31_0 (hal_drm_hwservice))
+(typeattributeset hal_dumpstate_config_prop_31_0 (hal_dumpstate_config_prop))
+(typeattributeset hal_dumpstate_hwservice_31_0 (hal_dumpstate_hwservice))
+(typeattributeset hal_evs_hwservice_31_0 (hal_evs_hwservice))
+(typeattributeset hal_face_hwservice_31_0 (hal_face_hwservice))
+(typeattributeset hal_face_service_31_0 (hal_face_service))
+(typeattributeset hal_fingerprint_hwservice_31_0 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_31_0 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_31_0 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gnss_hwservice_31_0 (hal_gnss_hwservice))
+(typeattributeset hal_gnss_service_31_0 (hal_gnss_service))
+(typeattributeset hal_graphics_allocator_hwservice_31_0 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_composer_hwservice_31_0 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_31_0 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_mapper_hwservice_31_0 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_health_hwservice_31_0 (hal_health_hwservice))
+(typeattributeset hal_health_storage_hwservice_31_0 (hal_health_storage_hwservice))
+(typeattributeset hal_health_storage_service_31_0 (hal_health_storage_service))
+(typeattributeset hal_identity_service_31_0 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_31_0 (hal_input_classifier_hwservice))
+(typeattributeset hal_instrumentation_prop_31_0 (hal_instrumentation_prop))
+(typeattributeset hal_ir_hwservice_31_0 (hal_ir_hwservice))
+(typeattributeset hal_keymaster_hwservice_31_0 (hal_keymaster_hwservice))
+(typeattributeset hal_keymint_service_31_0 (hal_keymint_service))
+(typeattributeset hal_light_hwservice_31_0 (hal_light_hwservice))
+(typeattributeset hal_light_service_31_0 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_31_0 (hal_lowpan_hwservice))
+(typeattributeset hal_memtrack_hwservice_31_0 (hal_memtrack_hwservice))
+(typeattributeset hal_memtrack_service_31_0 (hal_memtrack_service))
+(typeattributeset hal_neuralnetworks_hwservice_31_0 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_neuralnetworks_service_31_0 (hal_neuralnetworks_service))
+(typeattributeset hal_nfc_hwservice_31_0 (hal_nfc_hwservice))
+(typeattributeset hal_oemlock_hwservice_31_0 (hal_oemlock_hwservice))
+(typeattributeset hal_oemlock_service_31_0 (hal_oemlock_service))
+(typeattributeset hal_omx_hwservice_31_0 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_31_0 (hal_power_hwservice))
+(typeattributeset hal_power_service_31_0 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_31_0 (hal_power_stats_hwservice))
+(typeattributeset hal_power_stats_service_31_0 (hal_power_stats_service))
+(typeattributeset hal_rebootescrow_service_31_0 (hal_rebootescrow_service))
+(typeattributeset hal_remotelyprovisionedcomponent_service_31_0 (hal_remotelyprovisionedcomponent_service))
+(typeattributeset hal_renderscript_hwservice_31_0 (hal_renderscript_hwservice))
+(typeattributeset hal_secure_element_hwservice_31_0 (hal_secure_element_hwservice))
+(typeattributeset hal_secureclock_service_31_0 (hal_secureclock_service))
+(typeattributeset hal_sensors_hwservice_31_0 (hal_sensors_hwservice))
+(typeattributeset hal_sharedsecret_service_31_0 (hal_sharedsecret_service))
+(typeattributeset hal_telephony_hwservice_31_0 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_31_0 (hal_tetheroffload_hwservice))
+(typeattributeset hal_thermal_hwservice_31_0 (hal_thermal_hwservice))
+(typeattributeset hal_tv_cec_hwservice_31_0 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_input_hwservice_31_0 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_tuner_hwservice_31_0 (hal_tv_tuner_hwservice))
+(typeattributeset hal_usb_gadget_hwservice_31_0 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_hwservice_31_0 (hal_usb_hwservice))
+(typeattributeset hal_vehicle_hwservice_31_0 (hal_vehicle_hwservice))
+(typeattributeset hal_vibrator_hwservice_31_0 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_31_0 (hal_vibrator_service))
+(typeattributeset hal_vr_hwservice_31_0 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_31_0 (hal_weaver_hwservice))
+(typeattributeset hal_weaver_service_31_0 (hal_weaver_service))
+(typeattributeset hal_wifi_hostapd_hwservice_31_0 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hwservice_31_0 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_supplicant_hwservice_31_0 (hal_wifi_supplicant_hwservice))
+(typeattributeset hardware_properties_service_31_0 (hardware_properties_service))
+(typeattributeset hardware_service_31_0 (hardware_service))
+(typeattributeset hci_attach_dev_31_0 (hci_attach_dev))
+(typeattributeset hdmi_config_prop_31_0 (hdmi_config_prop))
+(typeattributeset hdmi_control_service_31_0 (hdmi_control_service))
+(typeattributeset healthd_31_0 (healthd))
+(typeattributeset healthd_exec_31_0 (healthd_exec))
+(typeattributeset heapdump_data_file_31_0 (heapdump_data_file))
+(typeattributeset heapprofd_31_0 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_31_0 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_31_0 (heapprofd_prop))
+(typeattributeset heapprofd_socket_31_0 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_31_0 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_31_0 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_31_0 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_31_0 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_31_0 (hidl_token_hwservice))
+(typeattributeset hint_service_31_0 (hint_service))
+(typeattributeset hw_random_device_31_0 (hw_random_device))
+(typeattributeset hw_timeout_multiplier_prop_31_0 (hw_timeout_multiplier_prop))
+(typeattributeset hwbinder_device_31_0 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_31_0 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_31_0 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_31_0 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_31_0 (hwservicemanager_prop))
+(typeattributeset icon_file_31_0 (icon_file))
+(typeattributeset idmap_31_0 (idmap))
+(typeattributeset idmap_exec_31_0 (idmap_exec))
+(typeattributeset idmap_service_31_0 (idmap_service))
+(typeattributeset iio_device_31_0 (iio_device))
+(typeattributeset imms_service_31_0 (imms_service))
+(typeattributeset incident_31_0 (incident))
+(typeattributeset incident_data_file_31_0 (incident_data_file))
+(typeattributeset incident_helper_31_0 (incident_helper))
+(typeattributeset incident_service_31_0 (incident_service))
+(typeattributeset incidentd_31_0 (incidentd))
+(typeattributeset incremental_control_file_31_0 (incremental_control_file))
+(typeattributeset incremental_prop_31_0 (incremental_prop))
+(typeattributeset incremental_service_31_0 (incremental_service))
+(typeattributeset init_31_0 (init))
+(typeattributeset init_exec_31_0 (init_exec))
+(typeattributeset init_service_status_prop_31_0 (init_service_status_prop))
+(typeattributeset init_tmpfs_31_0 (init_tmpfs))
+(typeattributeset inotify_31_0 (inotify))
+(typeattributeset input_device_31_0 (input_device))
+(typeattributeset input_method_service_31_0 (input_method_service))
+(typeattributeset input_service_31_0 (input_service))
+(typeattributeset inputflinger_31_0 (inputflinger))
+(typeattributeset inputflinger_exec_31_0 (inputflinger_exec))
+(typeattributeset inputflinger_service_31_0 (inputflinger_service))
+(typeattributeset install_data_file_31_0 (install_data_file))
+(typeattributeset installd_31_0 (installd))
+(typeattributeset installd_exec_31_0 (installd_exec))
+(typeattributeset installd_service_31_0 (installd_service))
+(typeattributeset ion_device_31_0 (ion_device))
+(typeattributeset iorap_inode2filename_31_0 (iorap_inode2filename))
+(typeattributeset iorap_inode2filename_exec_31_0 (iorap_inode2filename_exec))
+(typeattributeset iorap_inode2filename_tmpfs_31_0 (iorap_inode2filename_tmpfs))
+(typeattributeset iorap_prefetcherd_31_0 (iorap_prefetcherd))
+(typeattributeset iorap_prefetcherd_exec_31_0 (iorap_prefetcherd_exec))
+(typeattributeset iorap_prefetcherd_tmpfs_31_0 (iorap_prefetcherd_tmpfs))
+(typeattributeset iorapd_31_0 (iorapd))
+(typeattributeset iorapd_data_file_31_0 (iorapd_data_file))
+(typeattributeset iorapd_exec_31_0 (iorapd_exec))
+(typeattributeset iorapd_service_31_0 (iorapd_service))
+(typeattributeset iorapd_tmpfs_31_0 (iorapd_tmpfs))
+(typeattributeset ipsec_service_31_0 (ipsec_service))
+(typeattributeset iris_service_31_0 (iris_service))
+(typeattributeset iris_vendor_data_file_31_0 (iris_vendor_data_file))
+(typeattributeset isolated_app_31_0 (isolated_app))
+(typeattributeset jobscheduler_service_31_0 (jobscheduler_service))
+(typeattributeset kernel_31_0 (kernel))
+(typeattributeset keychain_data_file_31_0 (keychain_data_file))
+(typeattributeset keychord_device_31_0 (keychord_device))
+(typeattributeset keyguard_config_prop_31_0 (keyguard_config_prop))
+(typeattributeset keystore2_key_contexts_file_31_0 (keystore2_key_contexts_file))
+(typeattributeset keystore_31_0 (keystore))
+(typeattributeset keystore_compat_hal_service_31_0 (keystore_compat_hal_service))
+(typeattributeset keystore_data_file_31_0 (keystore_data_file))
+(typeattributeset keystore_exec_31_0 (keystore_exec))
+(typeattributeset keystore_maintenance_service_31_0 (keystore_maintenance_service))
+(typeattributeset keystore_metrics_service_31_0 (keystore_metrics_service))
+(typeattributeset keystore_service_31_0 (keystore_service))
+(typeattributeset kmsg_debug_device_31_0 (kmsg_debug_device))
+(typeattributeset kmsg_device_31_0 (kmsg_device))
+(typeattributeset labeledfs_31_0 (labeledfs))
+(typeattributeset launcherapps_service_31_0 (launcherapps_service))
+(typeattributeset legacy_permission_service_31_0 (legacy_permission_service))
+(typeattributeset legacykeystore_service_31_0 (legacykeystore_service))
+(typeattributeset libc_debug_prop_31_0 (libc_debug_prop))
+(typeattributeset light_service_31_0 (light_service))
+(typeattributeset linkerconfig_file_31_0 (linkerconfig_file))
+(typeattributeset llkd_31_0 (llkd))
+(typeattributeset llkd_exec_31_0 (llkd_exec))
+(typeattributeset llkd_prop_31_0 (llkd_prop))
+(typeattributeset lmkd_31_0 (lmkd))
+(typeattributeset lmkd_config_prop_31_0 (lmkd_config_prop))
+(typeattributeset lmkd_exec_31_0 (lmkd_exec))
+(typeattributeset lmkd_prop_31_0 (lmkd_prop))
+(typeattributeset lmkd_socket_31_0 (lmkd_socket))
+(typeattributeset location_service_31_0 (location_service))
+(typeattributeset location_time_zone_manager_service_31_0 (location_time_zone_manager_service))
+(typeattributeset lock_settings_service_31_0 (lock_settings_service))
+(typeattributeset log_prop_31_0 (log_prop))
+(typeattributeset log_tag_prop_31_0 (log_tag_prop))
+(typeattributeset logcat_exec_31_0 (logcat_exec))
+(typeattributeset logd_31_0 (logd))
+(typeattributeset logd_exec_31_0 (logd_exec))
+(typeattributeset logd_prop_31_0 (logd_prop))
+(typeattributeset logd_socket_31_0 (logd_socket))
+(typeattributeset logdr_socket_31_0 (logdr_socket))
+(typeattributeset logdw_socket_31_0 (logdw_socket))
+(typeattributeset logpersist_31_0 (logpersist))
+(typeattributeset logpersistd_logging_prop_31_0 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_31_0 (loop_control_device))
+(typeattributeset loop_device_31_0 (loop_device))
+(typeattributeset looper_stats_service_31_0 (looper_stats_service))
+(typeattributeset lowpan_device_31_0 (lowpan_device))
+(typeattributeset lowpan_prop_31_0 (lowpan_prop))
+(typeattributeset lowpan_service_31_0 (lowpan_service))
+(typeattributeset lpdump_service_31_0 (lpdump_service))
+(typeattributeset lpdumpd_prop_31_0 (lpdumpd_prop))
+(typeattributeset mac_perms_file_31_0 (mac_perms_file))
+(typeattributeset mdns_socket_31_0 (mdns_socket))
+(typeattributeset mdnsd_31_0 (mdnsd))
+(typeattributeset mdnsd_socket_31_0 (mdnsd_socket))
+(typeattributeset media_communication_service_31_0 (media_communication_service))
+(typeattributeset media_config_prop_31_0 (media_config_prop))
+(typeattributeset media_data_file_31_0 (media_data_file))
+(typeattributeset media_metrics_service_31_0 (media_metrics_service))
+(typeattributeset media_projection_service_31_0 (media_projection_service))
+(typeattributeset media_router_service_31_0 (media_router_service))
+(typeattributeset media_rw_data_file_31_0 (media_rw_data_file))
+(typeattributeset media_session_service_31_0 (media_session_service))
+(typeattributeset media_variant_prop_31_0 (media_variant_prop))
+(typeattributeset mediadrm_config_prop_31_0 (mediadrm_config_prop))
+(typeattributeset mediadrmserver_31_0 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_31_0 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_31_0 (mediadrmserver_service))
+(typeattributeset mediaextractor_31_0 (mediaextractor))
+(typeattributeset mediaextractor_exec_31_0 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_31_0 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_31_0 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_31_0 (mediametrics))
+(typeattributeset mediametrics_exec_31_0 (mediametrics_exec))
+(typeattributeset mediametrics_service_31_0 (mediametrics_service))
+(typeattributeset mediaprovider_31_0 (mediaprovider))
+(typeattributeset mediaserver_31_0 (mediaserver))
+(typeattributeset mediaserver_exec_31_0 (mediaserver_exec))
+(typeattributeset mediaserver_service_31_0 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_31_0 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_31_0 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_31_0 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_service_31_0 (mediatranscoding_service))
+(typeattributeset meminfo_service_31_0 (meminfo_service))
+(typeattributeset memtrackproxy_service_31_0 (memtrackproxy_service))
+(typeattributeset metadata_block_device_31_0 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_31_0 (metadata_bootstat_file))
+(typeattributeset metadata_file_31_0 (metadata_file))
+(typeattributeset method_trace_data_file_31_0 (method_trace_data_file))
+(typeattributeset midi_service_31_0 (midi_service))
+(typeattributeset mirror_data_file_31_0 (mirror_data_file))
+(typeattributeset misc_block_device_31_0 (misc_block_device))
+(typeattributeset misc_logd_file_31_0 (misc_logd_file))
+(typeattributeset misc_user_data_file_31_0 (misc_user_data_file))
+(typeattributeset mm_events_config_prop_31_0 (mm_events_config_prop))
+(typeattributeset mmc_prop_31_0 (mmc_prop))
+(typeattributeset mnt_expand_file_31_0 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_31_0 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_31_0 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_31_0 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_31_0 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_31_0 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_31_0 (mnt_user_file))
+(typeattributeset mnt_vendor_file_31_0 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_31_0 (mock_ota_prop))
+(typeattributeset modprobe_31_0 (modprobe))
+(typeattributeset module_sdkextensions_prop_31_0 (module_sdkextensions_prop))
+(typeattributeset mount_service_31_0 (mount_service))
+(typeattributeset mqueue_31_0 (mqueue))
+(typeattributeset mtp_31_0 (mtp))
+(typeattributeset mtp_device_31_0 (mtp_device))
+(typeattributeset mtp_exec_31_0 (mtp_exec))
+(typeattributeset mtpd_socket_31_0 (mtpd_socket))
+(typeattributeset music_recognition_service_31_0 (music_recognition_service))
+(typeattributeset nativetest_data_file_31_0 (nativetest_data_file))
+(typeattributeset net_data_file_31_0 (net_data_file))
+(typeattributeset net_dns_prop_31_0 (net_dns_prop))
+(typeattributeset net_radio_prop_31_0 (net_radio_prop))
+(typeattributeset netd_31_0 (netd))
+(typeattributeset netd_exec_31_0 (netd_exec))
+(typeattributeset netd_listener_service_31_0 (netd_listener_service))
+(typeattributeset netd_service_31_0 (netd_service))
+(typeattributeset netif_31_0 (netif))
+(typeattributeset netpolicy_service_31_0 (netpolicy_service))
+(typeattributeset netstats_service_31_0 (netstats_service))
+(typeattributeset netutils_wrapper_31_0 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_31_0 (netutils_wrapper_exec))
+(typeattributeset network_management_service_31_0 (network_management_service))
+(typeattributeset network_score_service_31_0 (network_score_service))
+(typeattributeset network_stack_31_0 (network_stack))
+(typeattributeset network_stack_service_31_0 (network_stack_service))
+(typeattributeset network_time_update_service_31_0 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_31_0 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_31_0 (network_watchlist_service))
+(typeattributeset nfc_31_0 (nfc))
+(typeattributeset nfc_data_file_31_0 (nfc_data_file))
+(typeattributeset nfc_device_31_0 (nfc_device))
+(typeattributeset nfc_logs_data_file_31_0 (nfc_logs_data_file))
+(typeattributeset nfc_prop_31_0 (nfc_prop))
+(typeattributeset nfc_service_31_0 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_31_0 (nnapi_ext_deny_product_prop))
+(typeattributeset node_31_0 (node))
+(typeattributeset nonplat_service_contexts_file_31_0 (nonplat_service_contexts_file))
+(typeattributeset notification_service_31_0 (notification_service))
+(typeattributeset null_device_31_0 (null_device))
+(typeattributeset oem_lock_service_31_0 (oem_lock_service))
+(typeattributeset oem_unlock_prop_31_0 (oem_unlock_prop))
+(typeattributeset oemfs_31_0 (oemfs))
+(typeattributeset ota_data_file_31_0 (ota_data_file))
+(typeattributeset ota_metadata_file_31_0 (ota_metadata_file))
+(typeattributeset ota_package_file_31_0 (ota_package_file))
+(typeattributeset ota_prop_31_0 (ota_prop))
+(typeattributeset otadexopt_service_31_0 (otadexopt_service))
+(typeattributeset otapreopt_chroot_31_0 (otapreopt_chroot))
+(typeattributeset overlay_prop_31_0 (overlay_prop))
+(typeattributeset overlay_service_31_0 (overlay_service))
+(typeattributeset overlayfs_file_31_0 (overlayfs_file))
+(typeattributeset owntty_device_31_0 (owntty_device))
+(typeattributeset pac_proxy_service_31_0 (pac_proxy_service))
+(typeattributeset package_native_service_31_0 (package_native_service))
+(typeattributeset package_service_31_0 (package_service))
+(typeattributeset packagemanager_config_prop_31_0 (packagemanager_config_prop))
+(typeattributeset packages_list_file_31_0 (packages_list_file))
+(typeattributeset pan_result_prop_31_0 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_31_0 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_31_0 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_31_0 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_31_0 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_31_0 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_31_0 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_31_0 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_31_0 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_31_0 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_31_0 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_31_0 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_31_0 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_31_0 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_31_0 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_31_0 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_31_0 (pdx_performance_dir))
+(typeattributeset people_service_31_0 (people_service))
+(typeattributeset perfetto_31_0 (perfetto))
+(typeattributeset performanced_31_0 (performanced))
+(typeattributeset performanced_exec_31_0 (performanced_exec))
+(typeattributeset permission_checker_service_31_0 (permission_checker_service))
+(typeattributeset permission_service_31_0 (permission_service))
+(typeattributeset permissionmgr_service_31_0 (permissionmgr_service))
+(typeattributeset persist_debug_prop_31_0 (persist_debug_prop))
+(typeattributeset persist_vendor_debug_wifi_prop_31_0 (persist_vendor_debug_wifi_prop))
+(typeattributeset persistent_data_block_service_31_0 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_31_0 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_31_0 (pinner_service))
+(typeattributeset pipefs_31_0 (pipefs))
+(typeattributeset platform_app_31_0 (platform_app))
+(typeattributeset platform_compat_service_31_0 (platform_compat_service))
+(typeattributeset pmsg_device_31_0 (pmsg_device))
+(typeattributeset port_31_0 (port))
+(typeattributeset port_device_31_0 (port_device))
+(typeattributeset postinstall_31_0 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_31_0 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_31_0 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_31_0 (postinstall_mnt_dir))
+(typeattributeset power_debug_prop_31_0 (power_debug_prop))
+(typeattributeset power_service_31_0 (power_service))
+(typeattributeset powerctl_prop_31_0 (powerctl_prop))
+(typeattributeset powerstats_service_31_0 (powerstats_service))
+(typeattributeset ppp_31_0 (ppp))
+(typeattributeset ppp_device_31_0 (ppp_device))
+(typeattributeset ppp_exec_31_0 (ppp_exec))
+(typeattributeset preloads_data_file_31_0 (preloads_data_file))
+(typeattributeset preloads_media_file_31_0 (preloads_media_file))
+(typeattributeset prereboot_data_file_31_0 (prereboot_data_file))
+(typeattributeset print_service_31_0 (print_service))
+(typeattributeset priv_app_31_0 (priv_app))
+(typeattributeset privapp_data_file_31_0 (privapp_data_file))
+(typeattributeset proc_31_0
+  ( proc
+    proc_bpf
+    proc_cpu_alignment
+    proc_watermark_scale_factor
+))
+(typeattributeset proc_abi_31_0 (proc_abi))
+(typeattributeset proc_asound_31_0 (proc_asound))
+(typeattributeset proc_bluetooth_writable_31_0 (proc_bluetooth_writable))
+(typeattributeset proc_bootconfig_31_0 (proc_bootconfig))
+(typeattributeset proc_buddyinfo_31_0 (proc_buddyinfo))
+(typeattributeset proc_cmdline_31_0 (proc_cmdline))
+(typeattributeset proc_cpuinfo_31_0 (proc_cpuinfo))
+(typeattributeset proc_dirty_31_0 (proc_dirty))
+(typeattributeset proc_diskstats_31_0 (proc_diskstats))
+(typeattributeset proc_drop_caches_31_0 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_31_0 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_31_0 (proc_filesystems))
+(typeattributeset proc_fs_verity_31_0 (proc_fs_verity))
+(typeattributeset proc_hostname_31_0 (proc_hostname))
+(typeattributeset proc_hung_task_31_0 (proc_hung_task))
+(typeattributeset proc_interrupts_31_0 (proc_interrupts))
+(typeattributeset proc_iomem_31_0 (proc_iomem))
+(typeattributeset proc_kallsyms_31_0 (proc_kallsyms))
+(typeattributeset proc_keys_31_0 (proc_keys))
+(typeattributeset proc_kmsg_31_0 (proc_kmsg))
+(typeattributeset proc_kpageflags_31_0 (proc_kpageflags))
+(typeattributeset proc_loadavg_31_0 (proc_loadavg))
+(typeattributeset proc_locks_31_0 (proc_locks))
+(typeattributeset proc_lowmemorykiller_31_0 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_31_0 (proc_max_map_count))
+(typeattributeset proc_meminfo_31_0 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_31_0 (proc_min_free_order_shift))
+(typeattributeset proc_misc_31_0 (proc_misc))
+(typeattributeset proc_modules_31_0 (proc_modules))
+(typeattributeset proc_mounts_31_0 (proc_mounts))
+(typeattributeset proc_net_31_0
+  ( proc_bpf
+    proc_net
+))
+(typeattributeset proc_net_tcp_udp_31_0 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_31_0 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_31_0 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_31_0 (proc_pagetypeinfo))
+(typeattributeset proc_panic_31_0 (proc_panic))
+(typeattributeset proc_perf_31_0 (proc_perf))
+(typeattributeset proc_pid_max_31_0 (proc_pid_max))
+(typeattributeset proc_pipe_conf_31_0 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_31_0 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_31_0 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_31_0 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_31_0 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_31_0 (proc_qtaguid_stat))
+(typeattributeset proc_random_31_0 (proc_random))
+(typeattributeset proc_sched_31_0 (proc_sched))
+(typeattributeset proc_security_31_0 (proc_security))
+(typeattributeset proc_slabinfo_31_0 (proc_slabinfo))
+(typeattributeset proc_stat_31_0 (proc_stat))
+(typeattributeset proc_swaps_31_0 (proc_swaps))
+(typeattributeset proc_sysrq_31_0 (proc_sysrq))
+(typeattributeset proc_timer_31_0 (proc_timer))
+(typeattributeset proc_tty_drivers_31_0 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_31_0 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_31_0 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_31_0 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_31_0 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_31_0 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_31_0 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_31_0 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_31_0 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_31_0 (proc_uptime))
+(typeattributeset proc_vendor_sched_31_0 (proc_vendor_sched))
+(typeattributeset proc_version_31_0 (proc_version))
+(typeattributeset proc_vmallocinfo_31_0 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_31_0 (proc_vmstat))
+(typeattributeset proc_zoneinfo_31_0 (proc_zoneinfo))
+(typeattributeset processinfo_service_31_0 (processinfo_service))
+(typeattributeset procstats_service_31_0 (procstats_service))
+(typeattributeset profman_31_0 (profman))
+(typeattributeset profman_dump_data_file_31_0 (profman_dump_data_file))
+(typeattributeset profman_exec_31_0 (profman_exec))
+(typeattributeset properties_device_31_0 (properties_device))
+(typeattributeset properties_serial_31_0 (properties_serial))
+(typeattributeset property_contexts_file_31_0 (property_contexts_file))
+(typeattributeset property_data_file_31_0 (property_data_file))
+(typeattributeset property_info_31_0 (property_info))
+(typeattributeset property_service_version_prop_31_0 (property_service_version_prop))
+(typeattributeset property_socket_31_0 (property_socket))
+(typeattributeset provisioned_prop_31_0 (provisioned_prop))
+(typeattributeset pstorefs_31_0 (pstorefs))
+(typeattributeset ptmx_device_31_0 (ptmx_device))
+(typeattributeset qemu_hw_prop_31_0 (qemu_hw_prop))
+(typeattributeset qemu_sf_lcd_density_prop_31_0 (qemu_sf_lcd_density_prop))
+(typeattributeset qtaguid_device_31_0 (qtaguid_device))
+(typeattributeset racoon_31_0 (racoon))
+(typeattributeset racoon_exec_31_0 (racoon_exec))
+(typeattributeset racoon_socket_31_0 (racoon_socket))
+(typeattributeset radio_31_0 (radio))
+(typeattributeset radio_control_prop_31_0 (radio_control_prop))
+(typeattributeset radio_core_data_file_31_0 (radio_core_data_file))
+(typeattributeset radio_data_file_31_0 (radio_data_file))
+(typeattributeset radio_device_31_0 (radio_device))
+(typeattributeset radio_prop_31_0 (radio_prop))
+(typeattributeset radio_service_31_0 (radio_service))
+(typeattributeset ram_device_31_0 (ram_device))
+(typeattributeset random_device_31_0 (random_device))
+(typeattributeset reboot_readiness_service_31_0 (reboot_readiness_service))
+(typeattributeset rebootescrow_hal_prop_31_0 (rebootescrow_hal_prop))
+(typeattributeset recovery_31_0 (recovery))
+(typeattributeset recovery_block_device_31_0 (recovery_block_device))
+(typeattributeset recovery_config_prop_31_0 (recovery_config_prop))
+(typeattributeset recovery_data_file_31_0 (recovery_data_file))
+(typeattributeset recovery_persist_31_0 (recovery_persist))
+(typeattributeset recovery_persist_exec_31_0 (recovery_persist_exec))
+(typeattributeset recovery_refresh_31_0 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_31_0 (recovery_refresh_exec))
+(typeattributeset recovery_service_31_0 (recovery_service))
+(typeattributeset recovery_socket_31_0 (recovery_socket))
+(typeattributeset registry_service_31_0 (registry_service))
+(typeattributeset remoteprovisioning_service_31_0 (remoteprovisioning_service))
+(typeattributeset resourcecache_data_file_31_0 (resourcecache_data_file))
+(typeattributeset restorecon_prop_31_0 (restorecon_prop))
+(typeattributeset restrictions_service_31_0 (restrictions_service))
+(typeattributeset retaildemo_prop_31_0 (retaildemo_prop))
+(typeattributeset rild_debug_socket_31_0 (rild_debug_socket))
+(typeattributeset rild_socket_31_0 (rild_socket))
+(typeattributeset ringtone_file_31_0 (ringtone_file))
+(typeattributeset role_service_31_0 (role_service))
+(typeattributeset rollback_service_31_0 (rollback_service))
+(typeattributeset root_block_device_31_0 (root_block_device))
+(typeattributeset rootfs_31_0 (rootfs))
+(typeattributeset rpmsg_device_31_0 (rpmsg_device))
+(typeattributeset rs_31_0 (rs))
+(typeattributeset rs_exec_31_0 (rs_exec))
+(typeattributeset rss_hwm_reset_31_0 (rss_hwm_reset))
+(typeattributeset rtc_device_31_0 (rtc_device))
+(typeattributeset rttmanager_service_31_0 (rttmanager_service))
+(typeattributeset runas_31_0 (runas))
+(typeattributeset runas_app_31_0 (runas_app))
+(typeattributeset runas_exec_31_0 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_31_0 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_31_0 (runtime_service))
+(typeattributeset safemode_prop_31_0 (safemode_prop))
+(typeattributeset same_process_hal_file_31_0 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_31_0 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_31_0 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_31_0 (sdcard_block_device))
+(typeattributeset sdcardd_31_0 (sdcardd))
+(typeattributeset sdcardd_exec_31_0 (sdcardd_exec))
+(typeattributeset sdcardfs_31_0 (sdcardfs))
+(typeattributeset seapp_contexts_file_31_0 (seapp_contexts_file))
+(typeattributeset search_service_31_0 (search_service))
+(typeattributeset search_ui_service_31_0 (search_ui_service))
+(typeattributeset sec_key_att_app_id_provider_service_31_0 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_31_0 (secure_element))
+(typeattributeset secure_element_device_31_0 (secure_element_device))
+(typeattributeset secure_element_service_31_0 (secure_element_service))
+(typeattributeset securityfs_31_0 (securityfs))
+(typeattributeset selinuxfs_31_0 (selinuxfs))
+(typeattributeset sendbug_config_prop_31_0 (sendbug_config_prop))
+(typeattributeset sensor_privacy_service_31_0 (sensor_privacy_service))
+(typeattributeset sensors_device_31_0 (sensors_device))
+(typeattributeset sensorservice_service_31_0 (sensorservice_service))
+(typeattributeset sepolicy_file_31_0 (sepolicy_file))
+(typeattributeset serial_device_31_0 (serial_device))
+(typeattributeset serial_service_31_0 (serial_service))
+(typeattributeset serialno_prop_31_0 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_31_0 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_31_0 (service_contexts_file))
+(typeattributeset service_manager_service_31_0 (service_manager_service))
+(typeattributeset service_manager_vndservice_31_0 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_31_0 (servicediscovery_service))
+(typeattributeset servicemanager_31_0 (servicemanager))
+(typeattributeset servicemanager_exec_31_0 (servicemanager_exec))
+(typeattributeset settings_service_31_0 (settings_service))
+(typeattributeset sgdisk_31_0 (sgdisk))
+(typeattributeset sgdisk_exec_31_0 (sgdisk_exec))
+(typeattributeset shared_relro_31_0 (shared_relro))
+(typeattributeset shared_relro_file_31_0 (shared_relro_file))
+(typeattributeset shell_31_0 (shell))
+(typeattributeset shell_data_file_31_0 (shell_data_file))
+(typeattributeset shell_exec_31_0 (shell_exec))
+(typeattributeset shell_prop_31_0 (shell_prop))
+(typeattributeset shell_test_data_file_31_0 (shell_test_data_file))
+(typeattributeset shm_31_0 (shm))
+(typeattributeset shortcut_manager_icons_31_0 (shortcut_manager_icons))
+(typeattributeset shortcut_service_31_0 (shortcut_service))
+(typeattributeset simpleperf_31_0 (simpleperf))
+(typeattributeset simpleperf_app_runner_31_0 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_31_0 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_31_0 (slice_service))
+(typeattributeset slideshow_31_0 (slideshow))
+(typeattributeset smartspace_service_31_0 (smartspace_service))
+(typeattributeset snapshotctl_log_data_file_31_0 (snapshotctl_log_data_file))
+(typeattributeset snapuserd_socket_31_0 (snapuserd_socket))
+(typeattributeset soc_prop_31_0 (soc_prop))
+(typeattributeset socket_device_31_0 (socket_device))
+(typeattributeset socket_hook_prop_31_0 (socket_hook_prop))
+(typeattributeset sockfs_31_0 (sockfs))
+(typeattributeset sota_prop_31_0 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_31_0 (soundtrigger_middleware_service))
+(typeattributeset speech_recognition_service_31_0 (speech_recognition_service))
+(typeattributeset sqlite_log_prop_31_0 (sqlite_log_prop))
+(typeattributeset staged_install_file_31_0 (staged_install_file))
+(typeattributeset staging_data_file_31_0 (staging_data_file))
+(typeattributeset stats_data_file_31_0 (stats_data_file))
+(typeattributeset statsd_31_0 (statsd))
+(typeattributeset statsd_exec_31_0 (statsd_exec))
+(typeattributeset statsdw_socket_31_0 (statsdw_socket))
+(typeattributeset statusbar_service_31_0 (statusbar_service))
+(typeattributeset storage_config_prop_31_0 (storage_config_prop))
+(typeattributeset storage_file_31_0 (storage_file))
+(typeattributeset storage_stub_file_31_0 (storage_stub_file))
+(typeattributeset storaged_service_31_0 (storaged_service))
+(typeattributeset storagemanager_config_prop_31_0 (storagemanager_config_prop))
+(typeattributeset storagestats_service_31_0 (storagestats_service))
+(typeattributeset su_31_0 (su))
+(typeattributeset su_exec_31_0 (su_exec))
+(typeattributeset super_block_device_31_0 (super_block_device))
+(typeattributeset surfaceflinger_31_0 (surfaceflinger))
+(typeattributeset surfaceflinger_color_prop_31_0 (surfaceflinger_color_prop))
+(typeattributeset surfaceflinger_display_prop_31_0 (surfaceflinger_display_prop))
+(typeattributeset surfaceflinger_prop_31_0 (surfaceflinger_prop))
+(typeattributeset surfaceflinger_service_31_0 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_31_0 (surfaceflinger_tmpfs))
+(typeattributeset suspend_prop_31_0 (suspend_prop))
+(typeattributeset swap_block_device_31_0 (swap_block_device))
+(typeattributeset sysfs_31_0 (sysfs))
+(typeattributeset sysfs_android_usb_31_0 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_31_0 (sysfs_batteryinfo))
+(typeattributeset sysfs_block_31_0 (sysfs_block))
+(typeattributeset sysfs_bluetooth_writable_31_0 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devfreq_cur_31_0 (sysfs_devfreq_cur))
+(typeattributeset sysfs_devfreq_dir_31_0 (sysfs_devfreq_dir))
+(typeattributeset sysfs_devices_block_31_0 (sysfs_devices_block))
+(typeattributeset sysfs_devices_cs_etm_31_0 (sysfs_devices_cs_etm))
+(typeattributeset sysfs_devices_system_cpu_31_0 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_31_0 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_31_0 (sysfs_dm_verity))
+(typeattributeset sysfs_dma_heap_31_0 (sysfs_dma_heap))
+(typeattributeset sysfs_dmabuf_stats_31_0 (sysfs_dmabuf_stats))
+(typeattributeset sysfs_dt_firmware_android_31_0 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_31_0 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_31_0 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_31_0 (sysfs_fs_f2fs))
+(typeattributeset sysfs_fs_incfs_features_31_0 (sysfs_fs_incfs_features))
+(typeattributeset sysfs_fs_incfs_metrics_31_0 (sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_hwrandom_31_0 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_31_0 (sysfs_ion))
+(typeattributeset sysfs_ipv4_31_0 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_31_0 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_31_0 (sysfs_leds))
+(typeattributeset sysfs_loop_31_0 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_31_0 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_net_31_0 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_31_0 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_31_0 (sysfs_power))
+(typeattributeset sysfs_rtc_31_0 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_31_0 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_31_0 (sysfs_switch))
+(typeattributeset sysfs_thermal_31_0 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_31_0 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uhid_31_0 (sysfs_uhid))
+(typeattributeset sysfs_uio_31_0 (sysfs_uio))
+(typeattributeset sysfs_usb_31_0 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_31_0 (sysfs_usermodehelper))
+(typeattributeset sysfs_vendor_sched_31_0 (sysfs_vendor_sched))
+(typeattributeset sysfs_vibrator_31_0 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_31_0 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_31_0 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_31_0 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_31_0 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_31_0 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_31_0 (sysfs_zram_uevent))
+(typeattributeset system_app_31_0 (system_app))
+(typeattributeset system_app_data_file_31_0 (system_app_data_file))
+(typeattributeset system_app_service_31_0 (system_app_service))
+(typeattributeset system_asan_options_file_31_0 (system_asan_options_file))
+(typeattributeset system_block_device_31_0 (system_block_device))
+(typeattributeset system_boot_reason_prop_31_0 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_31_0 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_31_0 (system_config_service))
+(typeattributeset system_data_file_31_0 (system_data_file))
+(typeattributeset system_data_root_file_31_0 (system_data_root_file))
+(typeattributeset system_event_log_tags_file_31_0 (system_event_log_tags_file))
+(typeattributeset system_file_31_0 (system_file))
+(typeattributeset system_group_file_31_0 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_31_0 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_31_0 (system_lib_file))
+(typeattributeset system_linker_config_file_31_0 (system_linker_config_file))
+(typeattributeset system_linker_exec_31_0 (system_linker_exec))
+(typeattributeset system_lmk_prop_31_0 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_31_0 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_31_0 (system_net_netd_hwservice))
+(typeattributeset system_passwd_file_31_0 (system_passwd_file))
+(typeattributeset system_prop_31_0 (system_prop))
+(typeattributeset system_seccomp_policy_file_31_0 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_31_0 (system_security_cacerts_file))
+(typeattributeset system_server_31_0 (system_server))
+(typeattributeset system_server_dumper_service_31_0 (system_server_dumper_service))
+(typeattributeset system_server_tmpfs_31_0 (system_server_tmpfs))
+(typeattributeset system_suspend_control_internal_service_31_0 (system_suspend_control_internal_service))
+(typeattributeset system_suspend_control_service_31_0 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_31_0 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_31_0 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_31_0 (system_unsolzygote_socket))
+(typeattributeset system_update_service_31_0 (system_update_service))
+(typeattributeset system_wifi_keystore_hwservice_31_0 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_31_0 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_31_0 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_31_0 (systemkeys_data_file))
+(typeattributeset systemsound_config_prop_31_0 (systemsound_config_prop))
+(typeattributeset task_profiles_api_file_31_0 (task_profiles_api_file))
+(typeattributeset task_profiles_file_31_0 (task_profiles_file))
+(typeattributeset task_service_31_0 (task_service))
+(typeattributeset tcpdump_exec_31_0 (tcpdump_exec))
+(typeattributeset tee_31_0 (tee))
+(typeattributeset tee_data_file_31_0 (tee_data_file))
+(typeattributeset tee_device_31_0 (tee_device))
+(typeattributeset telecom_service_31_0 (telecom_service))
+(typeattributeset telephony_config_prop_31_0 (telephony_config_prop))
+(typeattributeset telephony_status_prop_31_0 (telephony_status_prop))
+(typeattributeset test_boot_reason_prop_31_0 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_31_0 (test_harness_prop))
+(typeattributeset testharness_service_31_0 (testharness_service))
+(typeattributeset tethering_service_31_0 (tethering_service))
+(typeattributeset textclassification_service_31_0 (textclassification_service))
+(typeattributeset textclassifier_data_file_31_0 (textclassifier_data_file))
+(typeattributeset textservices_service_31_0 (textservices_service))
+(typeattributeset texttospeech_service_31_0 (texttospeech_service))
+(typeattributeset theme_prop_31_0 (theme_prop))
+(typeattributeset thermal_service_31_0 (thermal_service))
+(typeattributeset time_prop_31_0 (time_prop))
+(typeattributeset timedetector_service_31_0 (timedetector_service))
+(typeattributeset timezone_service_31_0 (timezone_service))
+(typeattributeset timezonedetector_service_31_0 (timezonedetector_service))
+(typeattributeset tmpfs_31_0 (tmpfs))
+(typeattributeset tombstone_config_prop_31_0 (tombstone_config_prop))
+(typeattributeset tombstone_data_file_31_0 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_31_0 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_31_0 (tombstoned))
+(typeattributeset tombstoned_crash_socket_31_0 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_31_0 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_31_0 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_31_0 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_31_0 (toolbox))
+(typeattributeset toolbox_exec_31_0 (toolbox_exec))
+(typeattributeset trace_data_file_31_0 (trace_data_file))
+(typeattributeset traced_31_0 (traced))
+(typeattributeset traced_consumer_socket_31_0 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_31_0 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_31_0 (traced_lazy_prop))
+(typeattributeset traced_perf_31_0 (traced_perf))
+(typeattributeset traced_perf_socket_31_0 (traced_perf_socket))
+(typeattributeset traced_probes_31_0 (traced_probes))
+(typeattributeset traced_producer_socket_31_0 (traced_producer_socket))
+(typeattributeset traced_tmpfs_31_0 (traced_tmpfs))
+(typeattributeset traceur_app_31_0 (traceur_app))
+(typeattributeset translation_service_31_0 (translation_service))
+(typeattributeset trust_service_31_0 (trust_service))
+(typeattributeset tty_device_31_0 (tty_device))
+(typeattributeset tun_device_31_0 (tun_device))
+(typeattributeset tv_input_service_31_0 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_31_0 (tv_tuner_resource_mgr_service))
+(typeattributeset tzdatacheck_31_0 (tzdatacheck))
+(typeattributeset tzdatacheck_exec_31_0 (tzdatacheck_exec))
+(typeattributeset ueventd_31_0 (ueventd))
+(typeattributeset ueventd_tmpfs_31_0 (ueventd_tmpfs))
+(typeattributeset uhid_device_31_0 (uhid_device))
+(typeattributeset uimode_service_31_0 (uimode_service))
+(typeattributeset uio_device_31_0 (uio_device))
+(typeattributeset uncrypt_31_0 (uncrypt))
+(typeattributeset uncrypt_exec_31_0 (uncrypt_exec))
+(typeattributeset uncrypt_socket_31_0 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_31_0 (unencrypted_data_file))
+(typeattributeset unlabeled_31_0 (unlabeled))
+(typeattributeset untrusted_app_25_31_0 (untrusted_app_25))
+(typeattributeset untrusted_app_27_31_0 (untrusted_app_27))
+(typeattributeset untrusted_app_29_31_0 (untrusted_app_29))
+(typeattributeset untrusted_app_31_0 (untrusted_app))
+(typeattributeset update_engine_31_0 (update_engine))
+(typeattributeset update_engine_data_file_31_0 (update_engine_data_file))
+(typeattributeset update_engine_exec_31_0 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_31_0 (update_engine_log_data_file))
+(typeattributeset update_engine_service_31_0 (update_engine_service))
+(typeattributeset update_engine_stable_service_31_0 (update_engine_stable_service))
+(typeattributeset update_verifier_31_0 (update_verifier))
+(typeattributeset update_verifier_exec_31_0 (update_verifier_exec))
+(typeattributeset updatelock_service_31_0 (updatelock_service))
+(typeattributeset uri_grants_service_31_0 (uri_grants_service))
+(typeattributeset usagestats_service_31_0 (usagestats_service))
+(typeattributeset usb_config_prop_31_0 (usb_config_prop))
+(typeattributeset usb_control_prop_31_0 (usb_control_prop))
+(typeattributeset usb_device_31_0 (usb_device))
+(typeattributeset usb_prop_31_0 (usb_prop))
+(typeattributeset usb_serial_device_31_0 (usb_serial_device))
+(typeattributeset usb_service_31_0 (usb_service))
+(typeattributeset usbaccessory_device_31_0 (usbaccessory_device))
+(typeattributeset usbd_31_0 (usbd))
+(typeattributeset usbd_exec_31_0 (usbd_exec))
+(typeattributeset usbfs_31_0 (usbfs))
+(typeattributeset use_memfd_prop_31_0 (use_memfd_prop))
+(typeattributeset user_profile_data_file_31_0 (user_profile_data_file))
+(typeattributeset user_profile_root_file_31_0 (user_profile_root_file))
+(typeattributeset user_service_31_0 (user_service))
+(typeattributeset userdata_block_device_31_0 (userdata_block_device))
+(typeattributeset userdata_sysdev_31_0 (userdata_sysdev))
+(typeattributeset usermodehelper_31_0 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_31_0 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_31_0 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_metadata_file_31_0 (userspace_reboot_metadata_file))
+(typeattributeset uwb_service_31_0 (uwb_service))
+(typeattributeset vcn_management_service_31_0 (vcn_management_service))
+(typeattributeset vd_device_31_0 (vd_device))
+(typeattributeset vdc_31_0 (vdc))
+(typeattributeset vdc_exec_31_0 (vdc_exec))
+(typeattributeset vehicle_hal_prop_31_0 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_31_0 (vendor_apex_file))
+(typeattributeset vendor_app_file_31_0 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_31_0 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_31_0 (vendor_configs_file))
+(typeattributeset vendor_data_file_31_0 (vendor_data_file))
+(typeattributeset vendor_default_prop_31_0 (vendor_default_prop))
+(typeattributeset vendor_file_31_0 (vendor_file))
+(typeattributeset vendor_framework_file_31_0 (vendor_framework_file))
+(typeattributeset vendor_hal_file_31_0 (vendor_hal_file))
+(typeattributeset vendor_idc_file_31_0 (vendor_idc_file))
+(typeattributeset vendor_init_31_0 (vendor_init))
+(typeattributeset vendor_kernel_modules_31_0 (vendor_kernel_modules))
+(typeattributeset vendor_keychars_file_31_0 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_31_0 (vendor_keylayout_file))
+(typeattributeset vendor_misc_writer_31_0 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_31_0 (vendor_misc_writer_exec))
+(typeattributeset vendor_modprobe_31_0 (vendor_modprobe))
+(typeattributeset vendor_overlay_file_31_0 (vendor_overlay_file))
+(typeattributeset vendor_public_framework_file_31_0 (vendor_public_framework_file))
+(typeattributeset vendor_public_lib_file_31_0 (vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_31_0 (vendor_security_patch_level_prop))
+(typeattributeset vendor_service_contexts_file_31_0 (vendor_service_contexts_file))
+(typeattributeset vendor_shell_31_0 (vendor_shell))
+(typeattributeset vendor_shell_exec_31_0 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_31_0 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_31_0 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_31_0 (vendor_toolbox_exec))
+(typeattributeset vfat_31_0 (vfat))
+(typeattributeset vibrator_manager_service_31_0 (vibrator_manager_service))
+(typeattributeset vibrator_service_31_0 (vibrator_service))
+(typeattributeset video_device_31_0 (video_device))
+(typeattributeset virtual_ab_prop_31_0 (virtual_ab_prop))
+(typeattributeset virtual_touchpad_31_0 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_31_0 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_31_0 (virtual_touchpad_service))
+(typeattributeset virtualization_service_31_0 (virtualization_service))
+(typeattributeset vndbinder_device_31_0 (vndbinder_device))
+(typeattributeset vndk_prop_31_0 (vndk_prop))
+(typeattributeset vndk_sp_file_31_0 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_31_0 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_31_0 (vndservicemanager))
+(typeattributeset voiceinteraction_service_31_0 (voiceinteraction_service))
+(typeattributeset vold_31_0 (vold))
+(typeattributeset vold_config_prop_31_0 (vold_config_prop))
+(typeattributeset vold_data_file_31_0 (vold_data_file))
+(typeattributeset vold_device_31_0 (vold_device))
+(typeattributeset vold_exec_31_0 (vold_exec))
+(typeattributeset vold_metadata_file_31_0 (vold_metadata_file))
+(typeattributeset vold_post_fs_data_prop_31_0 (vold_post_fs_data_prop))
+(typeattributeset vold_prepare_subdirs_31_0 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_31_0 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_31_0 (vold_prop))
+(typeattributeset vold_service_31_0 (vold_service))
+(typeattributeset vold_status_prop_31_0 (vold_status_prop))
+(typeattributeset vpn_data_file_31_0 (vpn_data_file))
+(typeattributeset vpn_management_service_31_0 (vpn_management_service))
+(typeattributeset vr_hwc_31_0 (vr_hwc))
+(typeattributeset vr_hwc_exec_31_0 (vr_hwc_exec))
+(typeattributeset vr_hwc_service_31_0 (vr_hwc_service))
+(typeattributeset vr_manager_service_31_0 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_31_0 (vrflinger_vsync_service))
+(typeattributeset vts_config_prop_31_0 (vts_config_prop))
+(typeattributeset vts_status_prop_31_0 (vts_status_prop))
+(typeattributeset wallpaper_file_31_0 (wallpaper_file))
+(typeattributeset wallpaper_service_31_0 (wallpaper_service))
+(typeattributeset watchdog_device_31_0 (watchdog_device))
+(typeattributeset watchdog_metadata_file_31_0 (watchdog_metadata_file))
+(typeattributeset watchdogd_31_0 (watchdogd))
+(typeattributeset watchdogd_exec_31_0 (watchdogd_exec))
+(typeattributeset webview_zygote_31_0 (webview_zygote))
+(typeattributeset webview_zygote_exec_31_0 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_31_0 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_31_0 (webviewupdate_service))
+(typeattributeset wifi_config_prop_31_0 (wifi_config_prop))
+(typeattributeset wifi_data_file_31_0 (wifi_data_file))
+(typeattributeset wifi_hal_prop_31_0 (wifi_hal_prop))
+(typeattributeset wifi_key_31_0 (wifi_key))
+(typeattributeset wifi_log_prop_31_0 (wifi_log_prop))
+(typeattributeset wifi_prop_31_0 (wifi_prop))
+(typeattributeset wifi_service_31_0 (wifi_service))
+(typeattributeset wifiaware_service_31_0 (wifiaware_service))
+(typeattributeset wificond_31_0 (wificond))
+(typeattributeset wificond_exec_31_0 (wificond_exec))
+(typeattributeset wifinl80211_service_31_0 (wifinl80211_service))
+(typeattributeset wifip2p_service_31_0 (wifip2p_service))
+(typeattributeset wifiscanner_service_31_0 (wifiscanner_service))
+(typeattributeset window_service_31_0 (window_service))
+(typeattributeset wpa_socket_31_0 (wpa_socket))
+(typeattributeset wpantund_31_0 (wpantund))
+(typeattributeset wpantund_exec_31_0 (wpantund_exec))
+(typeattributeset wpantund_service_31_0 (wpantund_service))
+(typeattributeset zero_device_31_0 (zero_device))
+(typeattributeset zoneinfo_data_file_31_0 (zoneinfo_data_file))
+(typeattributeset zram_config_prop_31_0 (zram_config_prop))
+(typeattributeset zram_control_prop_31_0 (zram_control_prop))
+(typeattributeset zygote_31_0 (zygote))
+(typeattributeset zygote_config_prop_31_0 (zygote_config_prop))
+(typeattributeset zygote_exec_31_0 (zygote_exec))
+(typeattributeset zygote_socket_31_0 (zygote_socket))
+(typeattributeset zygote_tmpfs_31_0 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/31.0/31.0.compat.cil b/prebuilts/api/202504/private/compat/31.0/31.0.compat.cil
new file mode 100644
index 0000000..787c92a
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/31.0/31.0.compat.cil
@@ -0,0 +1,3 @@
+;; complement CIL file for compatibility between ToT policy and 31.0 vendors.
+;; will be compiled along with other normal policy files, on 31.0 vendors.
+;;
diff --git a/prebuilts/api/202504/private/compat/31.0/31.0.ignore.cil b/prebuilts/api/202504/private/compat/31.0/31.0.ignore.cil
new file mode 100644
index 0000000..0e39f3e
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/31.0/31.0.ignore.cil
@@ -0,0 +1,52 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 31.0 policy.  Thus, we do not need to map
+;;   these types to previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    apexd_select_prop
+    artd_service
+    attestation_verification_service
+    camera2_extensions_prop
+    communal_service
+    device_config_nnapi_native_prop
+    dice_maintenance_service
+    dice_node_service
+    diced
+    diced_exec
+    extra_free_kbytes
+    extra_free_kbytes_exec
+    hal_contexthub_service
+    hal_dice_service
+    hal_dumpstate_service
+    hal_graphics_composer_service
+    hal_health_service
+    hal_radio_service
+    hal_sensors_service
+    hal_system_suspend_service
+    hal_tv_tuner_service
+    hal_uwb_service
+    hal_uwb_vendor_service
+    hal_wifi_hostapd_service
+    hal_wifi_supplicant_service
+    hal_nlinterceptor_service
+    hypervisor_prop
+    locale_service
+    power_stats_service
+    snapuserd_prop
+    snapuserd_proxy_socket
+    tare_service
+    transformer_service
+    proc_watermark_boost_factor
+    untrusted_app_30
+    proc_vendor_sched
+    sdk_sandbox_service
+    sysfs_fs_fuse_bpf
+    sysfs_vendor_sched
+    tv_iapp_service
+    vendor_uuid_mapping_config_file
+    vendor_vm_file
+    vendor_vm_data_file
+    virtual_device_service
+  ))
diff --git a/prebuilts/api/202504/private/compat/32.0/32.0.cil b/prebuilts/api/202504/private/compat/32.0/32.0.cil
new file mode 100644
index 0000000..171f0ad
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/32.0/32.0.cil
@@ -0,0 +1,2487 @@
+;; types removed from current policy
+(type apex_appsearch_data_file)
+(type apex_permission_data_file)
+(type apex_scheduling_data_file)
+(type apex_wifi_data_file)
+(type healthd_exec)
+(type nonplat_service_contexts_file)
+(type sysfs_block)
+(type vr_hwc)
+(type vr_hwc_exec)
+
+;; mapping information from ToT policy's types to 32.0 policy's types.
+(expandtypeattribute (DockObserver_service_32_0) true)
+(expandtypeattribute (IProxyService_service_32_0) true)
+(expandtypeattribute (aac_drc_prop_32_0) true)
+(expandtypeattribute (aaudio_config_prop_32_0) true)
+(expandtypeattribute (ab_update_gki_prop_32_0) true)
+(expandtypeattribute (accessibility_service_32_0) true)
+(expandtypeattribute (account_service_32_0) true)
+(expandtypeattribute (activity_service_32_0) true)
+(expandtypeattribute (activity_task_service_32_0) true)
+(expandtypeattribute (adb_data_file_32_0) true)
+(expandtypeattribute (adb_keys_file_32_0) true)
+(expandtypeattribute (adb_service_32_0) true)
+(expandtypeattribute (adbd_32_0) true)
+(expandtypeattribute (adbd_config_prop_32_0) true)
+(expandtypeattribute (adbd_exec_32_0) true)
+(expandtypeattribute (adbd_socket_32_0) true)
+(expandtypeattribute (aidl_lazy_test_server_32_0) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_32_0) true)
+(expandtypeattribute (aidl_lazy_test_service_32_0) true)
+(expandtypeattribute (alarm_service_32_0) true)
+(expandtypeattribute (anr_data_file_32_0) true)
+(expandtypeattribute (apc_service_32_0) true)
+(expandtypeattribute (apex_appsearch_data_file_32_0) true)
+(expandtypeattribute (apex_data_file_32_0) true)
+(expandtypeattribute (apex_info_file_32_0) true)
+(expandtypeattribute (apex_metadata_file_32_0) true)
+(expandtypeattribute (apex_mnt_dir_32_0) true)
+(expandtypeattribute (apex_module_data_file_32_0) true)
+(expandtypeattribute (apex_ota_reserved_file_32_0) true)
+(expandtypeattribute (apex_permission_data_file_32_0) true)
+(expandtypeattribute (apex_rollback_data_file_32_0) true)
+(expandtypeattribute (apex_scheduling_data_file_32_0) true)
+(expandtypeattribute (apex_service_32_0) true)
+(expandtypeattribute (apex_wifi_data_file_32_0) true)
+(expandtypeattribute (apexd_32_0) true)
+(expandtypeattribute (apexd_config_prop_32_0) true)
+(expandtypeattribute (apexd_exec_32_0) true)
+(expandtypeattribute (apexd_prop_32_0) true)
+(expandtypeattribute (apk_data_file_32_0) true)
+(expandtypeattribute (apk_private_data_file_32_0) true)
+(expandtypeattribute (apk_private_tmp_file_32_0) true)
+(expandtypeattribute (apk_tmp_file_32_0) true)
+(expandtypeattribute (apk_verity_prop_32_0) true)
+(expandtypeattribute (app_binding_service_32_0) true)
+(expandtypeattribute (app_data_file_32_0) true)
+(expandtypeattribute (app_fuse_file_32_0) true)
+(expandtypeattribute (app_fusefs_32_0) true)
+(expandtypeattribute (app_hibernation_service_32_0) true)
+(expandtypeattribute (app_integrity_service_32_0) true)
+(expandtypeattribute (app_prediction_service_32_0) true)
+(expandtypeattribute (app_search_service_32_0) true)
+(expandtypeattribute (app_zygote_32_0) true)
+(expandtypeattribute (app_zygote_tmpfs_32_0) true)
+(expandtypeattribute (appcompat_data_file_32_0) true)
+(expandtypeattribute (appdomain_tmpfs_32_0) true)
+(expandtypeattribute (appops_service_32_0) true)
+(expandtypeattribute (appwidget_service_32_0) true)
+(expandtypeattribute (arm64_memtag_prop_32_0) true)
+(expandtypeattribute (art_apex_dir_32_0) true)
+(expandtypeattribute (asec_apk_file_32_0) true)
+(expandtypeattribute (asec_image_file_32_0) true)
+(expandtypeattribute (asec_public_file_32_0) true)
+(expandtypeattribute (ashmem_device_32_0) true)
+(expandtypeattribute (ashmem_libcutils_device_32_0) true)
+(expandtypeattribute (assetatlas_service_32_0) true)
+(expandtypeattribute (atrace_32_0) true)
+(expandtypeattribute (audio_config_prop_32_0) true)
+(expandtypeattribute (audio_data_file_32_0) true)
+(expandtypeattribute (audio_device_32_0) true)
+(expandtypeattribute (audio_prop_32_0) true)
+(expandtypeattribute (audio_service_32_0) true)
+(expandtypeattribute (audiohal_data_file_32_0) true)
+(expandtypeattribute (audioserver_32_0) true)
+(expandtypeattribute (audioserver_data_file_32_0) true)
+(expandtypeattribute (audioserver_service_32_0) true)
+(expandtypeattribute (audioserver_tmpfs_32_0) true)
+(expandtypeattribute (auth_service_32_0) true)
+(expandtypeattribute (authorization_service_32_0) true)
+(expandtypeattribute (autofill_service_32_0) true)
+(expandtypeattribute (backup_data_file_32_0) true)
+(expandtypeattribute (backup_service_32_0) true)
+(expandtypeattribute (battery_service_32_0) true)
+(expandtypeattribute (batteryproperties_service_32_0) true)
+(expandtypeattribute (batterystats_service_32_0) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_32_0) true)
+(expandtypeattribute (binder_cache_system_server_prop_32_0) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_32_0) true)
+(expandtypeattribute (binder_calls_stats_service_32_0) true)
+(expandtypeattribute (binder_device_32_0) true)
+(expandtypeattribute (binderfs_32_0) true)
+(expandtypeattribute (binderfs_logs_32_0) true)
+(expandtypeattribute (binderfs_logs_proc_32_0) true)
+(expandtypeattribute (binfmt_miscfs_32_0) true)
+(expandtypeattribute (biometric_service_32_0) true)
+(expandtypeattribute (blkid_32_0) true)
+(expandtypeattribute (blkid_untrusted_32_0) true)
+(expandtypeattribute (blob_store_service_32_0) true)
+(expandtypeattribute (block_device_32_0) true)
+(expandtypeattribute (bluetooth_32_0) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_32_0) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_32_0) true)
+(expandtypeattribute (bluetooth_data_file_32_0) true)
+(expandtypeattribute (bluetooth_efs_file_32_0) true)
+(expandtypeattribute (bluetooth_logs_data_file_32_0) true)
+(expandtypeattribute (bluetooth_manager_service_32_0) true)
+(expandtypeattribute (bluetooth_prop_32_0) true)
+(expandtypeattribute (bluetooth_service_32_0) true)
+(expandtypeattribute (bluetooth_socket_32_0) true)
+(expandtypeattribute (boot_block_device_32_0) true)
+(expandtypeattribute (boot_status_prop_32_0) true)
+(expandtypeattribute (bootanim_32_0) true)
+(expandtypeattribute (bootanim_config_prop_32_0) true)
+(expandtypeattribute (bootanim_exec_32_0) true)
+(expandtypeattribute (bootanim_system_prop_32_0) true)
+(expandtypeattribute (bootchart_data_file_32_0) true)
+(expandtypeattribute (bootloader_boot_reason_prop_32_0) true)
+(expandtypeattribute (bootloader_prop_32_0) true)
+(expandtypeattribute (bootstat_32_0) true)
+(expandtypeattribute (bootstat_data_file_32_0) true)
+(expandtypeattribute (bootstat_exec_32_0) true)
+(expandtypeattribute (boottime_prop_32_0) true)
+(expandtypeattribute (boottime_public_prop_32_0) true)
+(expandtypeattribute (boottrace_data_file_32_0) true)
+(expandtypeattribute (bpf_progs_loaded_prop_32_0) true)
+(expandtypeattribute (bq_config_prop_32_0) true)
+(expandtypeattribute (broadcastradio_service_32_0) true)
+(expandtypeattribute (bufferhubd_32_0) true)
+(expandtypeattribute (bufferhubd_exec_32_0) true)
+(expandtypeattribute (bugreport_service_32_0) true)
+(expandtypeattribute (build_bootimage_prop_32_0) true)
+(expandtypeattribute (build_config_prop_32_0) true)
+(expandtypeattribute (build_odm_prop_32_0) true)
+(expandtypeattribute (build_prop_32_0) true)
+(expandtypeattribute (build_vendor_prop_32_0) true)
+(expandtypeattribute (cache_backup_file_32_0) true)
+(expandtypeattribute (cache_block_device_32_0) true)
+(expandtypeattribute (cache_file_32_0) true)
+(expandtypeattribute (cache_private_backup_file_32_0) true)
+(expandtypeattribute (cache_recovery_file_32_0) true)
+(expandtypeattribute (cacheinfo_service_32_0) true)
+(expandtypeattribute (camera2_extensions_prop_32_0) true)
+(expandtypeattribute (camera_calibration_prop_32_0) true)
+(expandtypeattribute (camera_config_prop_32_0) true)
+(expandtypeattribute (camera_data_file_32_0) true)
+(expandtypeattribute (camera_device_32_0) true)
+(expandtypeattribute (cameraproxy_service_32_0) true)
+(expandtypeattribute (cameraserver_32_0) true)
+(expandtypeattribute (cameraserver_exec_32_0) true)
+(expandtypeattribute (cameraserver_service_32_0) true)
+(expandtypeattribute (cameraserver_tmpfs_32_0) true)
+(expandtypeattribute (camerax_extensions_prop_32_0) true)
+(expandtypeattribute (cgroup_32_0) true)
+(expandtypeattribute (cgroup_desc_api_file_32_0) true)
+(expandtypeattribute (cgroup_desc_file_32_0) true)
+(expandtypeattribute (cgroup_rc_file_32_0) true)
+(expandtypeattribute (cgroup_v2_32_0) true)
+(expandtypeattribute (charger_32_0) true)
+(expandtypeattribute (charger_config_prop_32_0) true)
+(expandtypeattribute (charger_exec_32_0) true)
+(expandtypeattribute (charger_prop_32_0) true)
+(expandtypeattribute (charger_status_prop_32_0) true)
+(expandtypeattribute (clipboard_service_32_0) true)
+(expandtypeattribute (codec2_config_prop_32_0) true)
+(expandtypeattribute (cold_boot_done_prop_32_0) true)
+(expandtypeattribute (color_display_service_32_0) true)
+(expandtypeattribute (companion_device_service_32_0) true)
+(expandtypeattribute (config_prop_32_0) true)
+(expandtypeattribute (configfs_32_0) true)
+(expandtypeattribute (connectivity_service_32_0) true)
+(expandtypeattribute (connmetrics_service_32_0) true)
+(expandtypeattribute (console_device_32_0) true)
+(expandtypeattribute (consumer_ir_service_32_0) true)
+(expandtypeattribute (content_capture_service_32_0) true)
+(expandtypeattribute (content_service_32_0) true)
+(expandtypeattribute (content_suggestions_service_32_0) true)
+(expandtypeattribute (contexthub_service_32_0) true)
+(expandtypeattribute (coredump_file_32_0) true)
+(expandtypeattribute (country_detector_service_32_0) true)
+(expandtypeattribute (coverage_service_32_0) true)
+(expandtypeattribute (cppreopt_prop_32_0) true)
+(expandtypeattribute (cpu_variant_prop_32_0) true)
+(expandtypeattribute (cpuinfo_service_32_0) true)
+(expandtypeattribute (crash_dump_32_0) true)
+(expandtypeattribute (crash_dump_exec_32_0) true)
+(expandtypeattribute (credstore_32_0) true)
+(expandtypeattribute (credstore_data_file_32_0) true)
+(expandtypeattribute (credstore_exec_32_0) true)
+(expandtypeattribute (credstore_service_32_0) true)
+(expandtypeattribute (crossprofileapps_service_32_0) true)
+(expandtypeattribute (ctl_adbd_prop_32_0) true)
+(expandtypeattribute (ctl_apexd_prop_32_0) true)
+(expandtypeattribute (ctl_bootanim_prop_32_0) true)
+(expandtypeattribute (ctl_bugreport_prop_32_0) true)
+(expandtypeattribute (ctl_console_prop_32_0) true)
+(expandtypeattribute (ctl_default_prop_32_0) true)
+(expandtypeattribute (ctl_dumpstate_prop_32_0) true)
+(expandtypeattribute (ctl_fuse_prop_32_0) true)
+(expandtypeattribute (ctl_gsid_prop_32_0) true)
+(expandtypeattribute (ctl_interface_restart_prop_32_0) true)
+(expandtypeattribute (ctl_interface_start_prop_32_0) true)
+(expandtypeattribute (ctl_interface_stop_prop_32_0) true)
+(expandtypeattribute (ctl_mdnsd_prop_32_0) true)
+(expandtypeattribute (ctl_restart_prop_32_0) true)
+(expandtypeattribute (ctl_rildaemon_prop_32_0) true)
+(expandtypeattribute (ctl_sigstop_prop_32_0) true)
+(expandtypeattribute (ctl_start_prop_32_0) true)
+(expandtypeattribute (ctl_stop_prop_32_0) true)
+(expandtypeattribute (dalvik_config_prop_32_0) true)
+(expandtypeattribute (dalvik_prop_32_0) true)
+(expandtypeattribute (dalvik_runtime_prop_32_0) true)
+(expandtypeattribute (dalvikcache_data_file_32_0) true)
+(expandtypeattribute (dataloader_manager_service_32_0) true)
+(expandtypeattribute (dbinfo_service_32_0) true)
+(expandtypeattribute (dck_prop_32_0) true)
+(expandtypeattribute (debug_prop_32_0) true)
+(expandtypeattribute (debugfs_32_0) true)
+(expandtypeattribute (debugfs_bootreceiver_tracing_32_0) true)
+(expandtypeattribute (debugfs_kprobes_32_0) true)
+(expandtypeattribute (debugfs_mm_events_tracing_32_0) true)
+(expandtypeattribute (debugfs_mmc_32_0) true)
+(expandtypeattribute (debugfs_restriction_prop_32_0) true)
+(expandtypeattribute (debugfs_trace_marker_32_0) true)
+(expandtypeattribute (debugfs_tracing_32_0) true)
+(expandtypeattribute (debugfs_tracing_debug_32_0) true)
+(expandtypeattribute (debugfs_tracing_instances_32_0) true)
+(expandtypeattribute (debugfs_tracing_printk_formats_32_0) true)
+(expandtypeattribute (debugfs_wakeup_sources_32_0) true)
+(expandtypeattribute (debugfs_wifi_tracing_32_0) true)
+(expandtypeattribute (debuggerd_prop_32_0) true)
+(expandtypeattribute (default_android_hwservice_32_0) true)
+(expandtypeattribute (default_android_service_32_0) true)
+(expandtypeattribute (default_android_vndservice_32_0) true)
+(expandtypeattribute (default_prop_32_0) true)
+(expandtypeattribute (dev_cpu_variant_32_0) true)
+(expandtypeattribute (device_32_0) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_32_0) true)
+(expandtypeattribute (device_config_boot_count_prop_32_0) true)
+(expandtypeattribute (device_config_input_native_boot_prop_32_0) true)
+(expandtypeattribute (device_config_media_native_prop_32_0) true)
+(expandtypeattribute (device_config_netd_native_prop_32_0) true)
+(expandtypeattribute (device_config_reset_performed_prop_32_0) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_32_0) true)
+(expandtypeattribute (device_config_runtime_native_prop_32_0) true)
+(expandtypeattribute (device_config_service_32_0) true)
+(expandtypeattribute (device_identifiers_service_32_0) true)
+(expandtypeattribute (device_logging_prop_32_0) true)
+(expandtypeattribute (device_policy_service_32_0) true)
+(expandtypeattribute (device_state_service_32_0) true)
+(expandtypeattribute (deviceidle_service_32_0) true)
+(expandtypeattribute (devicestoragemonitor_service_32_0) true)
+(expandtypeattribute (devpts_32_0) true)
+(expandtypeattribute (dhcp_32_0) true)
+(expandtypeattribute (dhcp_data_file_32_0) true)
+(expandtypeattribute (dhcp_exec_32_0) true)
+(expandtypeattribute (dhcp_prop_32_0) true)
+(expandtypeattribute (diskstats_service_32_0) true)
+(expandtypeattribute (display_service_32_0) true)
+(expandtypeattribute (dm_device_32_0) true)
+(expandtypeattribute (dm_user_device_32_0) true)
+(expandtypeattribute (dmabuf_heap_device_32_0) true)
+(expandtypeattribute (dmabuf_system_heap_device_32_0) true)
+(expandtypeattribute (dmabuf_system_secure_heap_device_32_0) true)
+(expandtypeattribute (dnsmasq_32_0) true)
+(expandtypeattribute (dnsmasq_exec_32_0) true)
+(expandtypeattribute (dnsproxyd_socket_32_0) true)
+(expandtypeattribute (dnsresolver_service_32_0) true)
+(expandtypeattribute (domain_verification_service_32_0) true)
+(expandtypeattribute (dreams_service_32_0) true)
+(expandtypeattribute (drm_data_file_32_0) true)
+(expandtypeattribute (drm_service_config_prop_32_0) true)
+(expandtypeattribute (drmserver_32_0) true)
+(expandtypeattribute (drmserver_exec_32_0) true)
+(expandtypeattribute (drmserver_service_32_0) true)
+(expandtypeattribute (drmserver_socket_32_0) true)
+(expandtypeattribute (dropbox_data_file_32_0) true)
+(expandtypeattribute (dropbox_service_32_0) true)
+(expandtypeattribute (dumpstate_32_0) true)
+(expandtypeattribute (dumpstate_exec_32_0) true)
+(expandtypeattribute (dumpstate_options_prop_32_0) true)
+(expandtypeattribute (dumpstate_prop_32_0) true)
+(expandtypeattribute (dumpstate_service_32_0) true)
+(expandtypeattribute (dumpstate_socket_32_0) true)
+(expandtypeattribute (dynamic_system_prop_32_0) true)
+(expandtypeattribute (e2fs_32_0) true)
+(expandtypeattribute (e2fs_exec_32_0) true)
+(expandtypeattribute (efs_file_32_0) true)
+(expandtypeattribute (emergency_affordance_service_32_0) true)
+(expandtypeattribute (ephemeral_app_32_0) true)
+(expandtypeattribute (ethernet_service_32_0) true)
+(expandtypeattribute (exfat_32_0) true)
+(expandtypeattribute (exported3_system_prop_32_0) true)
+(expandtypeattribute (exported_bluetooth_prop_32_0) true)
+(expandtypeattribute (exported_camera_prop_32_0) true)
+(expandtypeattribute (exported_config_prop_32_0) true)
+(expandtypeattribute (exported_default_prop_32_0) true)
+(expandtypeattribute (exported_dumpstate_prop_32_0) true)
+(expandtypeattribute (exported_overlay_prop_32_0) true)
+(expandtypeattribute (exported_pm_prop_32_0) true)
+(expandtypeattribute (exported_secure_prop_32_0) true)
+(expandtypeattribute (exported_system_prop_32_0) true)
+(expandtypeattribute (external_vibrator_service_32_0) true)
+(expandtypeattribute (face_service_32_0) true)
+(expandtypeattribute (face_vendor_data_file_32_0) true)
+(expandtypeattribute (fastbootd_32_0) true)
+(expandtypeattribute (ffs_config_prop_32_0) true)
+(expandtypeattribute (ffs_control_prop_32_0) true)
+(expandtypeattribute (file_contexts_file_32_0) true)
+(expandtypeattribute (file_integrity_service_32_0) true)
+(expandtypeattribute (fingerprint_prop_32_0) true)
+(expandtypeattribute (fingerprint_service_32_0) true)
+(expandtypeattribute (fingerprint_vendor_data_file_32_0) true)
+(expandtypeattribute (fingerprintd_32_0) true)
+(expandtypeattribute (fingerprintd_data_file_32_0) true)
+(expandtypeattribute (fingerprintd_exec_32_0) true)
+(expandtypeattribute (fingerprintd_service_32_0) true)
+(expandtypeattribute (firstboot_prop_32_0) true)
+(expandtypeattribute (flags_health_check_32_0) true)
+(expandtypeattribute (flags_health_check_exec_32_0) true)
+(expandtypeattribute (font_service_32_0) true)
+(expandtypeattribute (framework_watchdog_config_prop_32_0) true)
+(expandtypeattribute (frp_block_device_32_0) true)
+(expandtypeattribute (fs_bpf_32_0) true)
+(expandtypeattribute (fs_bpf_tethering_32_0) true)
+(expandtypeattribute (fsck_32_0) true)
+(expandtypeattribute (fsck_exec_32_0) true)
+(expandtypeattribute (fsck_untrusted_32_0) true)
+(expandtypeattribute (fscklogs_32_0) true)
+(expandtypeattribute (functionfs_32_0) true)
+(expandtypeattribute (fuse_32_0) true)
+(expandtypeattribute (fuse_device_32_0) true)
+(expandtypeattribute (fusectlfs_32_0) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_32_0) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_32_0) true)
+(expandtypeattribute (fwk_camera_hwservice_32_0) true)
+(expandtypeattribute (fwk_display_hwservice_32_0) true)
+(expandtypeattribute (fwk_scheduler_hwservice_32_0) true)
+(expandtypeattribute (fwk_sensor_hwservice_32_0) true)
+(expandtypeattribute (fwk_stats_hwservice_32_0) true)
+(expandtypeattribute (fwk_stats_service_32_0) true)
+(expandtypeattribute (fwmarkd_socket_32_0) true)
+(expandtypeattribute (game_service_32_0) true)
+(expandtypeattribute (gatekeeper_data_file_32_0) true)
+(expandtypeattribute (gatekeeper_service_32_0) true)
+(expandtypeattribute (gatekeeperd_32_0) true)
+(expandtypeattribute (gatekeeperd_exec_32_0) true)
+(expandtypeattribute (gfxinfo_service_32_0) true)
+(expandtypeattribute (gmscore_app_32_0) true)
+(expandtypeattribute (gnss_device_32_0) true)
+(expandtypeattribute (gnss_time_update_service_32_0) true)
+(expandtypeattribute (gps_control_32_0) true)
+(expandtypeattribute (gpu_device_32_0) true)
+(expandtypeattribute (gpu_service_32_0) true)
+(expandtypeattribute (gpuservice_32_0) true)
+(expandtypeattribute (graphics_config_prop_32_0) true)
+(expandtypeattribute (graphics_device_32_0) true)
+(expandtypeattribute (graphicsstats_service_32_0) true)
+(expandtypeattribute (gsi_data_file_32_0) true)
+(expandtypeattribute (gsi_metadata_file_32_0) true)
+(expandtypeattribute (gsi_public_metadata_file_32_0) true)
+(expandtypeattribute (hal_atrace_hwservice_32_0) true)
+(expandtypeattribute (hal_audio_hwservice_32_0) true)
+(expandtypeattribute (hal_audio_service_32_0) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_32_0) true)
+(expandtypeattribute (hal_audiocontrol_service_32_0) true)
+(expandtypeattribute (hal_authsecret_hwservice_32_0) true)
+(expandtypeattribute (hal_authsecret_service_32_0) true)
+(expandtypeattribute (hal_bluetooth_hwservice_32_0) true)
+(expandtypeattribute (hal_bootctl_hwservice_32_0) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_32_0) true)
+(expandtypeattribute (hal_camera_hwservice_32_0) true)
+(expandtypeattribute (hal_can_bus_hwservice_32_0) true)
+(expandtypeattribute (hal_can_controller_hwservice_32_0) true)
+(expandtypeattribute (hal_cas_hwservice_32_0) true)
+(expandtypeattribute (hal_codec2_hwservice_32_0) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_32_0) true)
+(expandtypeattribute (hal_confirmationui_hwservice_32_0) true)
+(expandtypeattribute (hal_contexthub_hwservice_32_0) true)
+(expandtypeattribute (hal_drm_hwservice_32_0) true)
+(expandtypeattribute (hal_dumpstate_config_prop_32_0) true)
+(expandtypeattribute (hal_dumpstate_hwservice_32_0) true)
+(expandtypeattribute (hal_evs_hwservice_32_0) true)
+(expandtypeattribute (hal_face_hwservice_32_0) true)
+(expandtypeattribute (hal_face_service_32_0) true)
+(expandtypeattribute (hal_fingerprint_hwservice_32_0) true)
+(expandtypeattribute (hal_fingerprint_service_32_0) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_32_0) true)
+(expandtypeattribute (hal_gnss_hwservice_32_0) true)
+(expandtypeattribute (hal_gnss_service_32_0) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_32_0) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_32_0) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_32_0) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_32_0) true)
+(expandtypeattribute (hal_health_hwservice_32_0) true)
+(expandtypeattribute (hal_health_storage_hwservice_32_0) true)
+(expandtypeattribute (hal_health_storage_service_32_0) true)
+(expandtypeattribute (hal_identity_service_32_0) true)
+(expandtypeattribute (hal_input_classifier_hwservice_32_0) true)
+(expandtypeattribute (hal_instrumentation_prop_32_0) true)
+(expandtypeattribute (hal_ir_hwservice_32_0) true)
+(expandtypeattribute (hal_keymaster_hwservice_32_0) true)
+(expandtypeattribute (hal_keymint_service_32_0) true)
+(expandtypeattribute (hal_light_hwservice_32_0) true)
+(expandtypeattribute (hal_light_service_32_0) true)
+(expandtypeattribute (hal_lowpan_hwservice_32_0) true)
+(expandtypeattribute (hal_memtrack_hwservice_32_0) true)
+(expandtypeattribute (hal_memtrack_service_32_0) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_32_0) true)
+(expandtypeattribute (hal_neuralnetworks_service_32_0) true)
+(expandtypeattribute (hal_nfc_hwservice_32_0) true)
+(expandtypeattribute (hal_oemlock_hwservice_32_0) true)
+(expandtypeattribute (hal_oemlock_service_32_0) true)
+(expandtypeattribute (hal_omx_hwservice_32_0) true)
+(expandtypeattribute (hal_power_hwservice_32_0) true)
+(expandtypeattribute (hal_power_service_32_0) true)
+(expandtypeattribute (hal_power_stats_hwservice_32_0) true)
+(expandtypeattribute (hal_power_stats_service_32_0) true)
+(expandtypeattribute (hal_rebootescrow_service_32_0) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_32_0) true)
+(expandtypeattribute (hal_renderscript_hwservice_32_0) true)
+(expandtypeattribute (hal_secure_element_hwservice_32_0) true)
+(expandtypeattribute (hal_secureclock_service_32_0) true)
+(expandtypeattribute (hal_sensors_hwservice_32_0) true)
+(expandtypeattribute (hal_sharedsecret_service_32_0) true)
+(expandtypeattribute (hal_telephony_hwservice_32_0) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_32_0) true)
+(expandtypeattribute (hal_thermal_hwservice_32_0) true)
+(expandtypeattribute (hal_tv_cec_hwservice_32_0) true)
+(expandtypeattribute (hal_tv_input_hwservice_32_0) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_32_0) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_32_0) true)
+(expandtypeattribute (hal_usb_hwservice_32_0) true)
+(expandtypeattribute (hal_vehicle_hwservice_32_0) true)
+(expandtypeattribute (hal_vibrator_hwservice_32_0) true)
+(expandtypeattribute (hal_vibrator_service_32_0) true)
+(expandtypeattribute (hal_vr_hwservice_32_0) true)
+(expandtypeattribute (hal_weaver_hwservice_32_0) true)
+(expandtypeattribute (hal_weaver_service_32_0) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_32_0) true)
+(expandtypeattribute (hal_wifi_hwservice_32_0) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_32_0) true)
+(expandtypeattribute (hardware_properties_service_32_0) true)
+(expandtypeattribute (hardware_service_32_0) true)
+(expandtypeattribute (hci_attach_dev_32_0) true)
+(expandtypeattribute (hdmi_config_prop_32_0) true)
+(expandtypeattribute (hdmi_control_service_32_0) true)
+(expandtypeattribute (healthd_32_0) true)
+(expandtypeattribute (healthd_exec_32_0) true)
+(expandtypeattribute (heapdump_data_file_32_0) true)
+(expandtypeattribute (heapprofd_32_0) true)
+(expandtypeattribute (heapprofd_enabled_prop_32_0) true)
+(expandtypeattribute (heapprofd_prop_32_0) true)
+(expandtypeattribute (heapprofd_socket_32_0) true)
+(expandtypeattribute (hidl_allocator_hwservice_32_0) true)
+(expandtypeattribute (hidl_base_hwservice_32_0) true)
+(expandtypeattribute (hidl_manager_hwservice_32_0) true)
+(expandtypeattribute (hidl_memory_hwservice_32_0) true)
+(expandtypeattribute (hidl_token_hwservice_32_0) true)
+(expandtypeattribute (hint_service_32_0) true)
+(expandtypeattribute (hw_random_device_32_0) true)
+(expandtypeattribute (hw_timeout_multiplier_prop_32_0) true)
+(expandtypeattribute (hwbinder_device_32_0) true)
+(expandtypeattribute (hwservice_contexts_file_32_0) true)
+(expandtypeattribute (hwservicemanager_32_0) true)
+(expandtypeattribute (hwservicemanager_exec_32_0) true)
+(expandtypeattribute (hwservicemanager_prop_32_0) true)
+(expandtypeattribute (hypervisor_prop_32_0) true)
+(expandtypeattribute (icon_file_32_0) true)
+(expandtypeattribute (idmap_32_0) true)
+(expandtypeattribute (idmap_exec_32_0) true)
+(expandtypeattribute (idmap_service_32_0) true)
+(expandtypeattribute (iio_device_32_0) true)
+(expandtypeattribute (imms_service_32_0) true)
+(expandtypeattribute (incident_32_0) true)
+(expandtypeattribute (incident_data_file_32_0) true)
+(expandtypeattribute (incident_helper_32_0) true)
+(expandtypeattribute (incident_service_32_0) true)
+(expandtypeattribute (incidentd_32_0) true)
+(expandtypeattribute (incremental_control_file_32_0) true)
+(expandtypeattribute (incremental_prop_32_0) true)
+(expandtypeattribute (incremental_service_32_0) true)
+(expandtypeattribute (init_32_0) true)
+(expandtypeattribute (init_exec_32_0) true)
+(expandtypeattribute (init_service_status_prop_32_0) true)
+(expandtypeattribute (init_tmpfs_32_0) true)
+(expandtypeattribute (inotify_32_0) true)
+(expandtypeattribute (input_device_32_0) true)
+(expandtypeattribute (input_method_service_32_0) true)
+(expandtypeattribute (input_service_32_0) true)
+(expandtypeattribute (inputflinger_32_0) true)
+(expandtypeattribute (inputflinger_exec_32_0) true)
+(expandtypeattribute (inputflinger_service_32_0) true)
+(expandtypeattribute (install_data_file_32_0) true)
+(expandtypeattribute (installd_32_0) true)
+(expandtypeattribute (installd_exec_32_0) true)
+(expandtypeattribute (installd_service_32_0) true)
+(expandtypeattribute (ion_device_32_0) true)
+(expandtypeattribute (iorap_inode2filename_32_0) true)
+(expandtypeattribute (iorap_inode2filename_exec_32_0) true)
+(expandtypeattribute (iorap_inode2filename_tmpfs_32_0) true)
+(expandtypeattribute (iorap_prefetcherd_32_0) true)
+(expandtypeattribute (iorap_prefetcherd_exec_32_0) true)
+(expandtypeattribute (iorap_prefetcherd_tmpfs_32_0) true)
+(expandtypeattribute (iorapd_32_0) true)
+(expandtypeattribute (iorapd_data_file_32_0) true)
+(expandtypeattribute (iorapd_exec_32_0) true)
+(expandtypeattribute (iorapd_service_32_0) true)
+(expandtypeattribute (iorapd_tmpfs_32_0) true)
+(expandtypeattribute (ipsec_service_32_0) true)
+(expandtypeattribute (iris_service_32_0) true)
+(expandtypeattribute (iris_vendor_data_file_32_0) true)
+(expandtypeattribute (isolated_app_32_0) true)
+(expandtypeattribute (jobscheduler_service_32_0) true)
+(expandtypeattribute (kernel_32_0) true)
+(expandtypeattribute (keychain_data_file_32_0) true)
+(expandtypeattribute (keychord_device_32_0) true)
+(expandtypeattribute (keyguard_config_prop_32_0) true)
+(expandtypeattribute (keystore2_key_contexts_file_32_0) true)
+(expandtypeattribute (keystore_32_0) true)
+(expandtypeattribute (keystore_compat_hal_service_32_0) true)
+(expandtypeattribute (keystore_data_file_32_0) true)
+(expandtypeattribute (keystore_exec_32_0) true)
+(expandtypeattribute (keystore_maintenance_service_32_0) true)
+(expandtypeattribute (keystore_metrics_service_32_0) true)
+(expandtypeattribute (keystore_service_32_0) true)
+(expandtypeattribute (kmsg_debug_device_32_0) true)
+(expandtypeattribute (kmsg_device_32_0) true)
+(expandtypeattribute (labeledfs_32_0) true)
+(expandtypeattribute (launcherapps_service_32_0) true)
+(expandtypeattribute (legacy_permission_service_32_0) true)
+(expandtypeattribute (legacykeystore_service_32_0) true)
+(expandtypeattribute (libc_debug_prop_32_0) true)
+(expandtypeattribute (light_service_32_0) true)
+(expandtypeattribute (linkerconfig_file_32_0) true)
+(expandtypeattribute (llkd_32_0) true)
+(expandtypeattribute (llkd_exec_32_0) true)
+(expandtypeattribute (llkd_prop_32_0) true)
+(expandtypeattribute (lmkd_32_0) true)
+(expandtypeattribute (lmkd_config_prop_32_0) true)
+(expandtypeattribute (lmkd_exec_32_0) true)
+(expandtypeattribute (lmkd_prop_32_0) true)
+(expandtypeattribute (lmkd_socket_32_0) true)
+(expandtypeattribute (location_service_32_0) true)
+(expandtypeattribute (location_time_zone_manager_service_32_0) true)
+(expandtypeattribute (lock_settings_service_32_0) true)
+(expandtypeattribute (log_prop_32_0) true)
+(expandtypeattribute (log_tag_prop_32_0) true)
+(expandtypeattribute (logcat_exec_32_0) true)
+(expandtypeattribute (logd_32_0) true)
+(expandtypeattribute (logd_exec_32_0) true)
+(expandtypeattribute (logd_prop_32_0) true)
+(expandtypeattribute (logd_socket_32_0) true)
+(expandtypeattribute (logdr_socket_32_0) true)
+(expandtypeattribute (logdw_socket_32_0) true)
+(expandtypeattribute (logpersist_32_0) true)
+(expandtypeattribute (logpersistd_logging_prop_32_0) true)
+(expandtypeattribute (loop_control_device_32_0) true)
+(expandtypeattribute (loop_device_32_0) true)
+(expandtypeattribute (looper_stats_service_32_0) true)
+(expandtypeattribute (lowpan_device_32_0) true)
+(expandtypeattribute (lowpan_prop_32_0) true)
+(expandtypeattribute (lowpan_service_32_0) true)
+(expandtypeattribute (lpdump_service_32_0) true)
+(expandtypeattribute (lpdumpd_prop_32_0) true)
+(expandtypeattribute (mac_perms_file_32_0) true)
+(expandtypeattribute (mdns_socket_32_0) true)
+(expandtypeattribute (mdnsd_32_0) true)
+(expandtypeattribute (mdnsd_socket_32_0) true)
+(expandtypeattribute (media_communication_service_32_0) true)
+(expandtypeattribute (media_config_prop_32_0) true)
+(expandtypeattribute (media_data_file_32_0) true)
+(expandtypeattribute (media_metrics_service_32_0) true)
+(expandtypeattribute (media_projection_service_32_0) true)
+(expandtypeattribute (media_router_service_32_0) true)
+(expandtypeattribute (media_rw_data_file_32_0) true)
+(expandtypeattribute (media_session_service_32_0) true)
+(expandtypeattribute (media_variant_prop_32_0) true)
+(expandtypeattribute (mediadrm_config_prop_32_0) true)
+(expandtypeattribute (mediadrmserver_32_0) true)
+(expandtypeattribute (mediadrmserver_exec_32_0) true)
+(expandtypeattribute (mediadrmserver_service_32_0) true)
+(expandtypeattribute (mediaextractor_32_0) true)
+(expandtypeattribute (mediaextractor_exec_32_0) true)
+(expandtypeattribute (mediaextractor_service_32_0) true)
+(expandtypeattribute (mediaextractor_tmpfs_32_0) true)
+(expandtypeattribute (mediametrics_32_0) true)
+(expandtypeattribute (mediametrics_exec_32_0) true)
+(expandtypeattribute (mediametrics_service_32_0) true)
+(expandtypeattribute (mediaprovider_32_0) true)
+(expandtypeattribute (mediaserver_32_0) true)
+(expandtypeattribute (mediaserver_exec_32_0) true)
+(expandtypeattribute (mediaserver_service_32_0) true)
+(expandtypeattribute (mediaserver_tmpfs_32_0) true)
+(expandtypeattribute (mediaswcodec_32_0) true)
+(expandtypeattribute (mediaswcodec_exec_32_0) true)
+(expandtypeattribute (mediatranscoding_service_32_0) true)
+(expandtypeattribute (meminfo_service_32_0) true)
+(expandtypeattribute (memtrackproxy_service_32_0) true)
+(expandtypeattribute (metadata_block_device_32_0) true)
+(expandtypeattribute (metadata_bootstat_file_32_0) true)
+(expandtypeattribute (metadata_file_32_0) true)
+(expandtypeattribute (method_trace_data_file_32_0) true)
+(expandtypeattribute (midi_service_32_0) true)
+(expandtypeattribute (mirror_data_file_32_0) true)
+(expandtypeattribute (misc_block_device_32_0) true)
+(expandtypeattribute (misc_logd_file_32_0) true)
+(expandtypeattribute (misc_user_data_file_32_0) true)
+(expandtypeattribute (mm_events_config_prop_32_0) true)
+(expandtypeattribute (mmc_prop_32_0) true)
+(expandtypeattribute (mnt_expand_file_32_0) true)
+(expandtypeattribute (mnt_media_rw_file_32_0) true)
+(expandtypeattribute (mnt_media_rw_stub_file_32_0) true)
+(expandtypeattribute (mnt_pass_through_file_32_0) true)
+(expandtypeattribute (mnt_product_file_32_0) true)
+(expandtypeattribute (mnt_sdcard_file_32_0) true)
+(expandtypeattribute (mnt_user_file_32_0) true)
+(expandtypeattribute (mnt_vendor_file_32_0) true)
+(expandtypeattribute (mock_ota_prop_32_0) true)
+(expandtypeattribute (modprobe_32_0) true)
+(expandtypeattribute (module_sdkextensions_prop_32_0) true)
+(expandtypeattribute (mount_service_32_0) true)
+(expandtypeattribute (mqueue_32_0) true)
+(expandtypeattribute (mtp_32_0) true)
+(expandtypeattribute (mtp_device_32_0) true)
+(expandtypeattribute (mtp_exec_32_0) true)
+(expandtypeattribute (mtpd_socket_32_0) true)
+(expandtypeattribute (music_recognition_service_32_0) true)
+(expandtypeattribute (nativetest_data_file_32_0) true)
+(expandtypeattribute (net_data_file_32_0) true)
+(expandtypeattribute (net_dns_prop_32_0) true)
+(expandtypeattribute (net_radio_prop_32_0) true)
+(expandtypeattribute (netd_32_0) true)
+(expandtypeattribute (netd_exec_32_0) true)
+(expandtypeattribute (netd_listener_service_32_0) true)
+(expandtypeattribute (netd_service_32_0) true)
+(expandtypeattribute (netif_32_0) true)
+(expandtypeattribute (netpolicy_service_32_0) true)
+(expandtypeattribute (netstats_service_32_0) true)
+(expandtypeattribute (netutils_wrapper_32_0) true)
+(expandtypeattribute (netutils_wrapper_exec_32_0) true)
+(expandtypeattribute (network_management_service_32_0) true)
+(expandtypeattribute (network_score_service_32_0) true)
+(expandtypeattribute (network_stack_32_0) true)
+(expandtypeattribute (network_stack_service_32_0) true)
+(expandtypeattribute (network_time_update_service_32_0) true)
+(expandtypeattribute (network_watchlist_data_file_32_0) true)
+(expandtypeattribute (network_watchlist_service_32_0) true)
+(expandtypeattribute (nfc_32_0) true)
+(expandtypeattribute (nfc_data_file_32_0) true)
+(expandtypeattribute (nfc_device_32_0) true)
+(expandtypeattribute (nfc_logs_data_file_32_0) true)
+(expandtypeattribute (nfc_prop_32_0) true)
+(expandtypeattribute (nfc_service_32_0) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_32_0) true)
+(expandtypeattribute (node_32_0) true)
+(expandtypeattribute (nonplat_service_contexts_file_32_0) true)
+(expandtypeattribute (notification_service_32_0) true)
+(expandtypeattribute (null_device_32_0) true)
+(expandtypeattribute (oem_lock_service_32_0) true)
+(expandtypeattribute (oem_unlock_prop_32_0) true)
+(expandtypeattribute (oemfs_32_0) true)
+(expandtypeattribute (ota_data_file_32_0) true)
+(expandtypeattribute (ota_metadata_file_32_0) true)
+(expandtypeattribute (ota_package_file_32_0) true)
+(expandtypeattribute (ota_prop_32_0) true)
+(expandtypeattribute (otadexopt_service_32_0) true)
+(expandtypeattribute (otapreopt_chroot_32_0) true)
+(expandtypeattribute (overlay_prop_32_0) true)
+(expandtypeattribute (overlay_service_32_0) true)
+(expandtypeattribute (overlayfs_file_32_0) true)
+(expandtypeattribute (owntty_device_32_0) true)
+(expandtypeattribute (pac_proxy_service_32_0) true)
+(expandtypeattribute (package_native_service_32_0) true)
+(expandtypeattribute (package_service_32_0) true)
+(expandtypeattribute (packagemanager_config_prop_32_0) true)
+(expandtypeattribute (packages_list_file_32_0) true)
+(expandtypeattribute (pan_result_prop_32_0) true)
+(expandtypeattribute (password_slot_metadata_file_32_0) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_32_0) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_32_0) true)
+(expandtypeattribute (pdx_bufferhub_dir_32_0) true)
+(expandtypeattribute (pdx_display_client_channel_socket_32_0) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_32_0) true)
+(expandtypeattribute (pdx_display_dir_32_0) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_32_0) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_32_0) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_32_0) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_32_0) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_32_0) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_32_0) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_32_0) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_32_0) true)
+(expandtypeattribute (pdx_performance_dir_32_0) true)
+(expandtypeattribute (people_service_32_0) true)
+(expandtypeattribute (perfetto_32_0) true)
+(expandtypeattribute (performanced_32_0) true)
+(expandtypeattribute (performanced_exec_32_0) true)
+(expandtypeattribute (permission_checker_service_32_0) true)
+(expandtypeattribute (permission_service_32_0) true)
+(expandtypeattribute (permissionmgr_service_32_0) true)
+(expandtypeattribute (persist_debug_prop_32_0) true)
+(expandtypeattribute (persist_vendor_debug_wifi_prop_32_0) true)
+(expandtypeattribute (persistent_data_block_service_32_0) true)
+(expandtypeattribute (persistent_properties_ready_prop_32_0) true)
+(expandtypeattribute (pinner_service_32_0) true)
+(expandtypeattribute (pipefs_32_0) true)
+(expandtypeattribute (platform_app_32_0) true)
+(expandtypeattribute (platform_compat_service_32_0) true)
+(expandtypeattribute (pmsg_device_32_0) true)
+(expandtypeattribute (port_32_0) true)
+(expandtypeattribute (port_device_32_0) true)
+(expandtypeattribute (postinstall_32_0) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_32_0) true)
+(expandtypeattribute (postinstall_file_32_0) true)
+(expandtypeattribute (postinstall_mnt_dir_32_0) true)
+(expandtypeattribute (power_debug_prop_32_0) true)
+(expandtypeattribute (power_service_32_0) true)
+(expandtypeattribute (powerctl_prop_32_0) true)
+(expandtypeattribute (powerstats_service_32_0) true)
+(expandtypeattribute (ppp_32_0) true)
+(expandtypeattribute (ppp_device_32_0) true)
+(expandtypeattribute (ppp_exec_32_0) true)
+(expandtypeattribute (preloads_data_file_32_0) true)
+(expandtypeattribute (preloads_media_file_32_0) true)
+(expandtypeattribute (prereboot_data_file_32_0) true)
+(expandtypeattribute (print_service_32_0) true)
+(expandtypeattribute (priv_app_32_0) true)
+(expandtypeattribute (privapp_data_file_32_0) true)
+(expandtypeattribute (proc_32_0) true)
+(expandtypeattribute (proc_abi_32_0) true)
+(expandtypeattribute (proc_asound_32_0) true)
+(expandtypeattribute (proc_bluetooth_writable_32_0) true)
+(expandtypeattribute (proc_bootconfig_32_0) true)
+(expandtypeattribute (proc_buddyinfo_32_0) true)
+(expandtypeattribute (proc_cmdline_32_0) true)
+(expandtypeattribute (proc_cpuinfo_32_0) true)
+(expandtypeattribute (proc_dirty_32_0) true)
+(expandtypeattribute (proc_diskstats_32_0) true)
+(expandtypeattribute (proc_drop_caches_32_0) true)
+(expandtypeattribute (proc_extra_free_kbytes_32_0) true)
+(expandtypeattribute (proc_filesystems_32_0) true)
+(expandtypeattribute (proc_fs_verity_32_0) true)
+(expandtypeattribute (proc_hostname_32_0) true)
+(expandtypeattribute (proc_hung_task_32_0) true)
+(expandtypeattribute (proc_interrupts_32_0) true)
+(expandtypeattribute (proc_iomem_32_0) true)
+(expandtypeattribute (proc_kallsyms_32_0) true)
+(expandtypeattribute (proc_keys_32_0) true)
+(expandtypeattribute (proc_kmsg_32_0) true)
+(expandtypeattribute (proc_kpageflags_32_0) true)
+(expandtypeattribute (proc_loadavg_32_0) true)
+(expandtypeattribute (proc_locks_32_0) true)
+(expandtypeattribute (proc_lowmemorykiller_32_0) true)
+(expandtypeattribute (proc_max_map_count_32_0) true)
+(expandtypeattribute (proc_meminfo_32_0) true)
+(expandtypeattribute (proc_min_free_order_shift_32_0) true)
+(expandtypeattribute (proc_misc_32_0) true)
+(expandtypeattribute (proc_modules_32_0) true)
+(expandtypeattribute (proc_mounts_32_0) true)
+(expandtypeattribute (proc_net_32_0) true)
+(expandtypeattribute (proc_net_tcp_udp_32_0) true)
+(expandtypeattribute (proc_overcommit_memory_32_0) true)
+(expandtypeattribute (proc_page_cluster_32_0) true)
+(expandtypeattribute (proc_pagetypeinfo_32_0) true)
+(expandtypeattribute (proc_panic_32_0) true)
+(expandtypeattribute (proc_perf_32_0) true)
+(expandtypeattribute (proc_pid_max_32_0) true)
+(expandtypeattribute (proc_pipe_conf_32_0) true)
+(expandtypeattribute (proc_pressure_cpu_32_0) true)
+(expandtypeattribute (proc_pressure_io_32_0) true)
+(expandtypeattribute (proc_pressure_mem_32_0) true)
+(expandtypeattribute (proc_qtaguid_ctrl_32_0) true)
+(expandtypeattribute (proc_qtaguid_stat_32_0) true)
+(expandtypeattribute (proc_random_32_0) true)
+(expandtypeattribute (proc_sched_32_0) true)
+(expandtypeattribute (proc_security_32_0) true)
+(expandtypeattribute (proc_slabinfo_32_0) true)
+(expandtypeattribute (proc_stat_32_0) true)
+(expandtypeattribute (proc_swaps_32_0) true)
+(expandtypeattribute (proc_sysrq_32_0) true)
+(expandtypeattribute (proc_timer_32_0) true)
+(expandtypeattribute (proc_tty_drivers_32_0) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_32_0) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_32_0) true)
+(expandtypeattribute (proc_uid_cpupower_32_0) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_32_0) true)
+(expandtypeattribute (proc_uid_cputime_showstat_32_0) true)
+(expandtypeattribute (proc_uid_io_stats_32_0) true)
+(expandtypeattribute (proc_uid_procstat_set_32_0) true)
+(expandtypeattribute (proc_uid_time_in_state_32_0) true)
+(expandtypeattribute (proc_uptime_32_0) true)
+(expandtypeattribute (proc_vendor_sched_32_0) true)
+(expandtypeattribute (proc_version_32_0) true)
+(expandtypeattribute (proc_vmallocinfo_32_0) true)
+(expandtypeattribute (proc_vmstat_32_0) true)
+(expandtypeattribute (proc_zoneinfo_32_0) true)
+(expandtypeattribute (processinfo_service_32_0) true)
+(expandtypeattribute (procstats_service_32_0) true)
+(expandtypeattribute (profman_32_0) true)
+(expandtypeattribute (profman_dump_data_file_32_0) true)
+(expandtypeattribute (profman_exec_32_0) true)
+(expandtypeattribute (properties_device_32_0) true)
+(expandtypeattribute (properties_serial_32_0) true)
+(expandtypeattribute (property_contexts_file_32_0) true)
+(expandtypeattribute (property_data_file_32_0) true)
+(expandtypeattribute (property_info_32_0) true)
+(expandtypeattribute (property_service_version_prop_32_0) true)
+(expandtypeattribute (property_socket_32_0) true)
+(expandtypeattribute (provisioned_prop_32_0) true)
+(expandtypeattribute (pstorefs_32_0) true)
+(expandtypeattribute (ptmx_device_32_0) true)
+(expandtypeattribute (qemu_hw_prop_32_0) true)
+(expandtypeattribute (qemu_sf_lcd_density_prop_32_0) true)
+(expandtypeattribute (qtaguid_device_32_0) true)
+(expandtypeattribute (racoon_32_0) true)
+(expandtypeattribute (racoon_exec_32_0) true)
+(expandtypeattribute (racoon_socket_32_0) true)
+(expandtypeattribute (radio_32_0) true)
+(expandtypeattribute (radio_control_prop_32_0) true)
+(expandtypeattribute (radio_core_data_file_32_0) true)
+(expandtypeattribute (radio_data_file_32_0) true)
+(expandtypeattribute (radio_device_32_0) true)
+(expandtypeattribute (radio_prop_32_0) true)
+(expandtypeattribute (radio_service_32_0) true)
+(expandtypeattribute (ram_device_32_0) true)
+(expandtypeattribute (random_device_32_0) true)
+(expandtypeattribute (reboot_readiness_service_32_0) true)
+(expandtypeattribute (rebootescrow_hal_prop_32_0) true)
+(expandtypeattribute (recovery_32_0) true)
+(expandtypeattribute (recovery_block_device_32_0) true)
+(expandtypeattribute (recovery_config_prop_32_0) true)
+(expandtypeattribute (recovery_data_file_32_0) true)
+(expandtypeattribute (recovery_persist_32_0) true)
+(expandtypeattribute (recovery_persist_exec_32_0) true)
+(expandtypeattribute (recovery_refresh_32_0) true)
+(expandtypeattribute (recovery_refresh_exec_32_0) true)
+(expandtypeattribute (recovery_service_32_0) true)
+(expandtypeattribute (recovery_socket_32_0) true)
+(expandtypeattribute (registry_service_32_0) true)
+(expandtypeattribute (remoteprovisioning_service_32_0) true)
+(expandtypeattribute (resourcecache_data_file_32_0) true)
+(expandtypeattribute (restorecon_prop_32_0) true)
+(expandtypeattribute (restrictions_service_32_0) true)
+(expandtypeattribute (retaildemo_prop_32_0) true)
+(expandtypeattribute (rild_debug_socket_32_0) true)
+(expandtypeattribute (rild_socket_32_0) true)
+(expandtypeattribute (ringtone_file_32_0) true)
+(expandtypeattribute (role_service_32_0) true)
+(expandtypeattribute (rollback_service_32_0) true)
+(expandtypeattribute (root_block_device_32_0) true)
+(expandtypeattribute (rootfs_32_0) true)
+(expandtypeattribute (rpmsg_device_32_0) true)
+(expandtypeattribute (rs_32_0) true)
+(expandtypeattribute (rs_exec_32_0) true)
+(expandtypeattribute (rss_hwm_reset_32_0) true)
+(expandtypeattribute (rtc_device_32_0) true)
+(expandtypeattribute (rttmanager_service_32_0) true)
+(expandtypeattribute (runas_32_0) true)
+(expandtypeattribute (runas_app_32_0) true)
+(expandtypeattribute (runas_exec_32_0) true)
+(expandtypeattribute (runtime_event_log_tags_file_32_0) true)
+(expandtypeattribute (runtime_service_32_0) true)
+(expandtypeattribute (safemode_prop_32_0) true)
+(expandtypeattribute (same_process_hal_file_32_0) true)
+(expandtypeattribute (samplingprofiler_service_32_0) true)
+(expandtypeattribute (scheduling_policy_service_32_0) true)
+(expandtypeattribute (sdcard_block_device_32_0) true)
+(expandtypeattribute (sdcardd_32_0) true)
+(expandtypeattribute (sdcardd_exec_32_0) true)
+(expandtypeattribute (sdcardfs_32_0) true)
+(expandtypeattribute (seapp_contexts_file_32_0) true)
+(expandtypeattribute (search_service_32_0) true)
+(expandtypeattribute (search_ui_service_32_0) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_32_0) true)
+(expandtypeattribute (secure_element_32_0) true)
+(expandtypeattribute (secure_element_device_32_0) true)
+(expandtypeattribute (secure_element_service_32_0) true)
+(expandtypeattribute (securityfs_32_0) true)
+(expandtypeattribute (selinuxfs_32_0) true)
+(expandtypeattribute (sendbug_config_prop_32_0) true)
+(expandtypeattribute (sensor_privacy_service_32_0) true)
+(expandtypeattribute (sensors_device_32_0) true)
+(expandtypeattribute (sensorservice_service_32_0) true)
+(expandtypeattribute (sepolicy_file_32_0) true)
+(expandtypeattribute (serial_device_32_0) true)
+(expandtypeattribute (serial_service_32_0) true)
+(expandtypeattribute (serialno_prop_32_0) true)
+(expandtypeattribute (server_configurable_flags_data_file_32_0) true)
+(expandtypeattribute (service_contexts_file_32_0) true)
+(expandtypeattribute (service_manager_service_32_0) true)
+(expandtypeattribute (service_manager_vndservice_32_0) true)
+(expandtypeattribute (servicediscovery_service_32_0) true)
+(expandtypeattribute (servicemanager_32_0) true)
+(expandtypeattribute (servicemanager_exec_32_0) true)
+(expandtypeattribute (settings_service_32_0) true)
+(expandtypeattribute (sgdisk_32_0) true)
+(expandtypeattribute (sgdisk_exec_32_0) true)
+(expandtypeattribute (shared_relro_32_0) true)
+(expandtypeattribute (shared_relro_file_32_0) true)
+(expandtypeattribute (shell_32_0) true)
+(expandtypeattribute (shell_data_file_32_0) true)
+(expandtypeattribute (shell_exec_32_0) true)
+(expandtypeattribute (shell_prop_32_0) true)
+(expandtypeattribute (shell_test_data_file_32_0) true)
+(expandtypeattribute (shm_32_0) true)
+(expandtypeattribute (shortcut_manager_icons_32_0) true)
+(expandtypeattribute (shortcut_service_32_0) true)
+(expandtypeattribute (simpleperf_32_0) true)
+(expandtypeattribute (simpleperf_app_runner_32_0) true)
+(expandtypeattribute (simpleperf_app_runner_exec_32_0) true)
+(expandtypeattribute (slice_service_32_0) true)
+(expandtypeattribute (slideshow_32_0) true)
+(expandtypeattribute (smartspace_service_32_0) true)
+(expandtypeattribute (snapshotctl_log_data_file_32_0) true)
+(expandtypeattribute (snapuserd_socket_32_0) true)
+(expandtypeattribute (soc_prop_32_0) true)
+(expandtypeattribute (socket_device_32_0) true)
+(expandtypeattribute (socket_hook_prop_32_0) true)
+(expandtypeattribute (sockfs_32_0) true)
+(expandtypeattribute (sota_prop_32_0) true)
+(expandtypeattribute (soundtrigger_middleware_service_32_0) true)
+(expandtypeattribute (speech_recognition_service_32_0) true)
+(expandtypeattribute (sqlite_log_prop_32_0) true)
+(expandtypeattribute (staged_install_file_32_0) true)
+(expandtypeattribute (staging_data_file_32_0) true)
+(expandtypeattribute (stats_data_file_32_0) true)
+(expandtypeattribute (statsd_32_0) true)
+(expandtypeattribute (statsd_exec_32_0) true)
+(expandtypeattribute (statsdw_socket_32_0) true)
+(expandtypeattribute (statusbar_service_32_0) true)
+(expandtypeattribute (storage_config_prop_32_0) true)
+(expandtypeattribute (storage_file_32_0) true)
+(expandtypeattribute (storage_stub_file_32_0) true)
+(expandtypeattribute (storaged_service_32_0) true)
+(expandtypeattribute (storagemanager_config_prop_32_0) true)
+(expandtypeattribute (storagestats_service_32_0) true)
+(expandtypeattribute (su_32_0) true)
+(expandtypeattribute (su_exec_32_0) true)
+(expandtypeattribute (super_block_device_32_0) true)
+(expandtypeattribute (surfaceflinger_32_0) true)
+(expandtypeattribute (surfaceflinger_color_prop_32_0) true)
+(expandtypeattribute (surfaceflinger_display_prop_32_0) true)
+(expandtypeattribute (surfaceflinger_prop_32_0) true)
+(expandtypeattribute (surfaceflinger_service_32_0) true)
+(expandtypeattribute (surfaceflinger_tmpfs_32_0) true)
+(expandtypeattribute (suspend_prop_32_0) true)
+(expandtypeattribute (swap_block_device_32_0) true)
+(expandtypeattribute (sysfs_32_0) true)
+(expandtypeattribute (sysfs_android_usb_32_0) true)
+(expandtypeattribute (sysfs_batteryinfo_32_0) true)
+(expandtypeattribute (sysfs_block_32_0) true)
+(expandtypeattribute (sysfs_bluetooth_writable_32_0) true)
+(expandtypeattribute (sysfs_devfreq_cur_32_0) true)
+(expandtypeattribute (sysfs_devfreq_dir_32_0) true)
+(expandtypeattribute (sysfs_devices_block_32_0) true)
+(expandtypeattribute (sysfs_devices_cs_etm_32_0) true)
+(expandtypeattribute (sysfs_devices_system_cpu_32_0) true)
+(expandtypeattribute (sysfs_dm_32_0) true)
+(expandtypeattribute (sysfs_dm_verity_32_0) true)
+(expandtypeattribute (sysfs_dma_heap_32_0) true)
+(expandtypeattribute (sysfs_dmabuf_stats_32_0) true)
+(expandtypeattribute (sysfs_dt_firmware_android_32_0) true)
+(expandtypeattribute (sysfs_extcon_32_0) true)
+(expandtypeattribute (sysfs_fs_ext4_features_32_0) true)
+(expandtypeattribute (sysfs_fs_f2fs_32_0) true)
+(expandtypeattribute (sysfs_fs_incfs_features_32_0) true)
+(expandtypeattribute (sysfs_fs_incfs_metrics_32_0) true)
+(expandtypeattribute (sysfs_hwrandom_32_0) true)
+(expandtypeattribute (sysfs_ion_32_0) true)
+(expandtypeattribute (sysfs_ipv4_32_0) true)
+(expandtypeattribute (sysfs_kernel_notes_32_0) true)
+(expandtypeattribute (sysfs_leds_32_0) true)
+(expandtypeattribute (sysfs_loop_32_0) true)
+(expandtypeattribute (sysfs_lowmemorykiller_32_0) true)
+(expandtypeattribute (sysfs_net_32_0) true)
+(expandtypeattribute (sysfs_nfc_power_writable_32_0) true)
+(expandtypeattribute (sysfs_power_32_0) true)
+(expandtypeattribute (sysfs_rtc_32_0) true)
+(expandtypeattribute (sysfs_suspend_stats_32_0) true)
+(expandtypeattribute (sysfs_switch_32_0) true)
+(expandtypeattribute (sysfs_thermal_32_0) true)
+(expandtypeattribute (sysfs_transparent_hugepage_32_0) true)
+(expandtypeattribute (sysfs_uhid_32_0) true)
+(expandtypeattribute (sysfs_uio_32_0) true)
+(expandtypeattribute (sysfs_usb_32_0) true)
+(expandtypeattribute (sysfs_usermodehelper_32_0) true)
+(expandtypeattribute (sysfs_vendor_sched_32_0) true)
+(expandtypeattribute (sysfs_vibrator_32_0) true)
+(expandtypeattribute (sysfs_wake_lock_32_0) true)
+(expandtypeattribute (sysfs_wakeup_32_0) true)
+(expandtypeattribute (sysfs_wakeup_reasons_32_0) true)
+(expandtypeattribute (sysfs_wlan_fwpath_32_0) true)
+(expandtypeattribute (sysfs_zram_32_0) true)
+(expandtypeattribute (sysfs_zram_uevent_32_0) true)
+(expandtypeattribute (system_app_32_0) true)
+(expandtypeattribute (system_app_data_file_32_0) true)
+(expandtypeattribute (system_app_service_32_0) true)
+(expandtypeattribute (system_asan_options_file_32_0) true)
+(expandtypeattribute (system_block_device_32_0) true)
+(expandtypeattribute (system_boot_reason_prop_32_0) true)
+(expandtypeattribute (system_bootstrap_lib_file_32_0) true)
+(expandtypeattribute (system_config_service_32_0) true)
+(expandtypeattribute (system_data_file_32_0) true)
+(expandtypeattribute (system_data_root_file_32_0) true)
+(expandtypeattribute (system_event_log_tags_file_32_0) true)
+(expandtypeattribute (system_file_32_0) true)
+(expandtypeattribute (system_group_file_32_0) true)
+(expandtypeattribute (system_jvmti_agent_prop_32_0) true)
+(expandtypeattribute (system_lib_file_32_0) true)
+(expandtypeattribute (system_linker_config_file_32_0) true)
+(expandtypeattribute (system_linker_exec_32_0) true)
+(expandtypeattribute (system_lmk_prop_32_0) true)
+(expandtypeattribute (system_ndebug_socket_32_0) true)
+(expandtypeattribute (system_net_netd_hwservice_32_0) true)
+(expandtypeattribute (system_passwd_file_32_0) true)
+(expandtypeattribute (system_prop_32_0) true)
+(expandtypeattribute (system_seccomp_policy_file_32_0) true)
+(expandtypeattribute (system_security_cacerts_file_32_0) true)
+(expandtypeattribute (system_server_32_0) true)
+(expandtypeattribute (system_server_dumper_service_32_0) true)
+(expandtypeattribute (system_server_tmpfs_32_0) true)
+(expandtypeattribute (system_suspend_control_internal_service_32_0) true)
+(expandtypeattribute (system_suspend_control_service_32_0) true)
+(expandtypeattribute (system_suspend_hwservice_32_0) true)
+(expandtypeattribute (system_trace_prop_32_0) true)
+(expandtypeattribute (system_unsolzygote_socket_32_0) true)
+(expandtypeattribute (system_update_service_32_0) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_32_0) true)
+(expandtypeattribute (system_wpa_socket_32_0) true)
+(expandtypeattribute (system_zoneinfo_file_32_0) true)
+(expandtypeattribute (systemkeys_data_file_32_0) true)
+(expandtypeattribute (systemsound_config_prop_32_0) true)
+(expandtypeattribute (task_profiles_api_file_32_0) true)
+(expandtypeattribute (task_profiles_file_32_0) true)
+(expandtypeattribute (task_service_32_0) true)
+(expandtypeattribute (tcpdump_exec_32_0) true)
+(expandtypeattribute (tee_32_0) true)
+(expandtypeattribute (tee_data_file_32_0) true)
+(expandtypeattribute (tee_device_32_0) true)
+(expandtypeattribute (telecom_service_32_0) true)
+(expandtypeattribute (telephony_config_prop_32_0) true)
+(expandtypeattribute (telephony_status_prop_32_0) true)
+(expandtypeattribute (test_boot_reason_prop_32_0) true)
+(expandtypeattribute (test_harness_prop_32_0) true)
+(expandtypeattribute (testharness_service_32_0) true)
+(expandtypeattribute (tethering_service_32_0) true)
+(expandtypeattribute (textclassification_service_32_0) true)
+(expandtypeattribute (textclassifier_data_file_32_0) true)
+(expandtypeattribute (textservices_service_32_0) true)
+(expandtypeattribute (texttospeech_service_32_0) true)
+(expandtypeattribute (theme_prop_32_0) true)
+(expandtypeattribute (thermal_service_32_0) true)
+(expandtypeattribute (time_prop_32_0) true)
+(expandtypeattribute (timedetector_service_32_0) true)
+(expandtypeattribute (timezone_service_32_0) true)
+(expandtypeattribute (timezonedetector_service_32_0) true)
+(expandtypeattribute (tmpfs_32_0) true)
+(expandtypeattribute (tombstone_config_prop_32_0) true)
+(expandtypeattribute (tombstone_data_file_32_0) true)
+(expandtypeattribute (tombstone_wifi_data_file_32_0) true)
+(expandtypeattribute (tombstoned_32_0) true)
+(expandtypeattribute (tombstoned_crash_socket_32_0) true)
+(expandtypeattribute (tombstoned_exec_32_0) true)
+(expandtypeattribute (tombstoned_intercept_socket_32_0) true)
+(expandtypeattribute (tombstoned_java_trace_socket_32_0) true)
+(expandtypeattribute (toolbox_32_0) true)
+(expandtypeattribute (toolbox_exec_32_0) true)
+(expandtypeattribute (trace_data_file_32_0) true)
+(expandtypeattribute (traced_32_0) true)
+(expandtypeattribute (traced_consumer_socket_32_0) true)
+(expandtypeattribute (traced_enabled_prop_32_0) true)
+(expandtypeattribute (traced_lazy_prop_32_0) true)
+(expandtypeattribute (traced_perf_32_0) true)
+(expandtypeattribute (traced_perf_socket_32_0) true)
+(expandtypeattribute (traced_probes_32_0) true)
+(expandtypeattribute (traced_producer_socket_32_0) true)
+(expandtypeattribute (traced_tmpfs_32_0) true)
+(expandtypeattribute (traceur_app_32_0) true)
+(expandtypeattribute (translation_service_32_0) true)
+(expandtypeattribute (trust_service_32_0) true)
+(expandtypeattribute (tty_device_32_0) true)
+(expandtypeattribute (tun_device_32_0) true)
+(expandtypeattribute (tv_input_service_32_0) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_32_0) true)
+(expandtypeattribute (tzdatacheck_32_0) true)
+(expandtypeattribute (tzdatacheck_exec_32_0) true)
+(expandtypeattribute (ueventd_32_0) true)
+(expandtypeattribute (ueventd_tmpfs_32_0) true)
+(expandtypeattribute (uhid_device_32_0) true)
+(expandtypeattribute (uimode_service_32_0) true)
+(expandtypeattribute (uio_device_32_0) true)
+(expandtypeattribute (uncrypt_32_0) true)
+(expandtypeattribute (uncrypt_exec_32_0) true)
+(expandtypeattribute (uncrypt_socket_32_0) true)
+(expandtypeattribute (unencrypted_data_file_32_0) true)
+(expandtypeattribute (unlabeled_32_0) true)
+(expandtypeattribute (untrusted_app_25_32_0) true)
+(expandtypeattribute (untrusted_app_27_32_0) true)
+(expandtypeattribute (untrusted_app_29_32_0) true)
+(expandtypeattribute (untrusted_app_32_0) true)
+(expandtypeattribute (update_engine_32_0) true)
+(expandtypeattribute (update_engine_data_file_32_0) true)
+(expandtypeattribute (update_engine_exec_32_0) true)
+(expandtypeattribute (update_engine_log_data_file_32_0) true)
+(expandtypeattribute (update_engine_service_32_0) true)
+(expandtypeattribute (update_engine_stable_service_32_0) true)
+(expandtypeattribute (update_verifier_32_0) true)
+(expandtypeattribute (update_verifier_exec_32_0) true)
+(expandtypeattribute (updatelock_service_32_0) true)
+(expandtypeattribute (uri_grants_service_32_0) true)
+(expandtypeattribute (usagestats_service_32_0) true)
+(expandtypeattribute (usb_config_prop_32_0) true)
+(expandtypeattribute (usb_control_prop_32_0) true)
+(expandtypeattribute (usb_device_32_0) true)
+(expandtypeattribute (usb_prop_32_0) true)
+(expandtypeattribute (usb_serial_device_32_0) true)
+(expandtypeattribute (usb_service_32_0) true)
+(expandtypeattribute (usbaccessory_device_32_0) true)
+(expandtypeattribute (usbd_32_0) true)
+(expandtypeattribute (usbd_exec_32_0) true)
+(expandtypeattribute (usbfs_32_0) true)
+(expandtypeattribute (use_memfd_prop_32_0) true)
+(expandtypeattribute (user_profile_data_file_32_0) true)
+(expandtypeattribute (user_profile_root_file_32_0) true)
+(expandtypeattribute (user_service_32_0) true)
+(expandtypeattribute (userdata_block_device_32_0) true)
+(expandtypeattribute (userdata_sysdev_32_0) true)
+(expandtypeattribute (usermodehelper_32_0) true)
+(expandtypeattribute (userspace_reboot_config_prop_32_0) true)
+(expandtypeattribute (userspace_reboot_exported_prop_32_0) true)
+(expandtypeattribute (userspace_reboot_metadata_file_32_0) true)
+(expandtypeattribute (uwb_service_32_0) true)
+(expandtypeattribute (vcn_management_service_32_0) true)
+(expandtypeattribute (vd_device_32_0) true)
+(expandtypeattribute (vdc_32_0) true)
+(expandtypeattribute (vdc_exec_32_0) true)
+(expandtypeattribute (vehicle_hal_prop_32_0) true)
+(expandtypeattribute (vendor_apex_file_32_0) true)
+(expandtypeattribute (vendor_app_file_32_0) true)
+(expandtypeattribute (vendor_cgroup_desc_file_32_0) true)
+(expandtypeattribute (vendor_configs_file_32_0) true)
+(expandtypeattribute (vendor_data_file_32_0) true)
+(expandtypeattribute (vendor_default_prop_32_0) true)
+(expandtypeattribute (vendor_file_32_0) true)
+(expandtypeattribute (vendor_framework_file_32_0) true)
+(expandtypeattribute (vendor_hal_file_32_0) true)
+(expandtypeattribute (vendor_idc_file_32_0) true)
+(expandtypeattribute (vendor_init_32_0) true)
+(expandtypeattribute (vendor_kernel_modules_32_0) true)
+(expandtypeattribute (vendor_keychars_file_32_0) true)
+(expandtypeattribute (vendor_keylayout_file_32_0) true)
+(expandtypeattribute (vendor_misc_writer_32_0) true)
+(expandtypeattribute (vendor_misc_writer_exec_32_0) true)
+(expandtypeattribute (vendor_modprobe_32_0) true)
+(expandtypeattribute (vendor_overlay_file_32_0) true)
+(expandtypeattribute (vendor_public_framework_file_32_0) true)
+(expandtypeattribute (vendor_public_lib_file_32_0) true)
+(expandtypeattribute (vendor_security_patch_level_prop_32_0) true)
+(expandtypeattribute (vendor_service_contexts_file_32_0) true)
+(expandtypeattribute (vendor_shell_32_0) true)
+(expandtypeattribute (vendor_shell_exec_32_0) true)
+(expandtypeattribute (vendor_socket_hook_prop_32_0) true)
+(expandtypeattribute (vendor_task_profiles_file_32_0) true)
+(expandtypeattribute (vendor_toolbox_exec_32_0) true)
+(expandtypeattribute (vfat_32_0) true)
+(expandtypeattribute (vibrator_manager_service_32_0) true)
+(expandtypeattribute (vibrator_service_32_0) true)
+(expandtypeattribute (video_device_32_0) true)
+(expandtypeattribute (virtual_ab_prop_32_0) true)
+(expandtypeattribute (virtual_touchpad_32_0) true)
+(expandtypeattribute (virtual_touchpad_exec_32_0) true)
+(expandtypeattribute (virtual_touchpad_service_32_0) true)
+(expandtypeattribute (virtualization_service_32_0) true)
+(expandtypeattribute (vndbinder_device_32_0) true)
+(expandtypeattribute (vndk_prop_32_0) true)
+(expandtypeattribute (vndk_sp_file_32_0) true)
+(expandtypeattribute (vndservice_contexts_file_32_0) true)
+(expandtypeattribute (vndservicemanager_32_0) true)
+(expandtypeattribute (voiceinteraction_service_32_0) true)
+(expandtypeattribute (vold_32_0) true)
+(expandtypeattribute (vold_config_prop_32_0) true)
+(expandtypeattribute (vold_data_file_32_0) true)
+(expandtypeattribute (vold_device_32_0) true)
+(expandtypeattribute (vold_exec_32_0) true)
+(expandtypeattribute (vold_metadata_file_32_0) true)
+(expandtypeattribute (vold_post_fs_data_prop_32_0) true)
+(expandtypeattribute (vold_prepare_subdirs_32_0) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_32_0) true)
+(expandtypeattribute (vold_prop_32_0) true)
+(expandtypeattribute (vold_service_32_0) true)
+(expandtypeattribute (vold_status_prop_32_0) true)
+(expandtypeattribute (vpn_data_file_32_0) true)
+(expandtypeattribute (vpn_management_service_32_0) true)
+(expandtypeattribute (vr_hwc_32_0) true)
+(expandtypeattribute (vr_hwc_exec_32_0) true)
+(expandtypeattribute (vr_hwc_service_32_0) true)
+(expandtypeattribute (vr_manager_service_32_0) true)
+(expandtypeattribute (vrflinger_vsync_service_32_0) true)
+(expandtypeattribute (vts_config_prop_32_0) true)
+(expandtypeattribute (vts_status_prop_32_0) true)
+(expandtypeattribute (wallpaper_file_32_0) true)
+(expandtypeattribute (wallpaper_service_32_0) true)
+(expandtypeattribute (watchdog_device_32_0) true)
+(expandtypeattribute (watchdog_metadata_file_32_0) true)
+(expandtypeattribute (watchdogd_32_0) true)
+(expandtypeattribute (watchdogd_exec_32_0) true)
+(expandtypeattribute (webview_zygote_32_0) true)
+(expandtypeattribute (webview_zygote_exec_32_0) true)
+(expandtypeattribute (webview_zygote_tmpfs_32_0) true)
+(expandtypeattribute (webviewupdate_service_32_0) true)
+(expandtypeattribute (wifi_config_prop_32_0) true)
+(expandtypeattribute (wifi_data_file_32_0) true)
+(expandtypeattribute (wifi_hal_prop_32_0) true)
+(expandtypeattribute (wifi_key_32_0) true)
+(expandtypeattribute (wifi_log_prop_32_0) true)
+(expandtypeattribute (wifi_prop_32_0) true)
+(expandtypeattribute (wifi_service_32_0) true)
+(expandtypeattribute (wifiaware_service_32_0) true)
+(expandtypeattribute (wificond_32_0) true)
+(expandtypeattribute (wificond_exec_32_0) true)
+(expandtypeattribute (wifinl80211_service_32_0) true)
+(expandtypeattribute (wifip2p_service_32_0) true)
+(expandtypeattribute (wifiscanner_service_32_0) true)
+(expandtypeattribute (window_service_32_0) true)
+(expandtypeattribute (wpa_socket_32_0) true)
+(expandtypeattribute (wpantund_32_0) true)
+(expandtypeattribute (wpantund_exec_32_0) true)
+(expandtypeattribute (wpantund_service_32_0) true)
+(expandtypeattribute (zero_device_32_0) true)
+(expandtypeattribute (zoneinfo_data_file_32_0) true)
+(expandtypeattribute (zram_config_prop_32_0) true)
+(expandtypeattribute (zram_control_prop_32_0) true)
+(expandtypeattribute (zygote_32_0) true)
+(expandtypeattribute (zygote_config_prop_32_0) true)
+(expandtypeattribute (zygote_exec_32_0) true)
+(expandtypeattribute (zygote_socket_32_0) true)
+(expandtypeattribute (zygote_tmpfs_32_0) true)
+(typeattributeset DockObserver_service_32_0 (DockObserver_service))
+(typeattributeset IProxyService_service_32_0 (IProxyService_service))
+(typeattributeset aac_drc_prop_32_0 (aac_drc_prop))
+(typeattributeset aaudio_config_prop_32_0 (aaudio_config_prop))
+(typeattributeset ab_update_gki_prop_32_0 (ab_update_gki_prop))
+(typeattributeset accessibility_service_32_0 (accessibility_service))
+(typeattributeset account_service_32_0 (account_service))
+(typeattributeset activity_service_32_0 (activity_service))
+(typeattributeset activity_task_service_32_0 (activity_task_service))
+(typeattributeset adb_data_file_32_0 (adb_data_file))
+(typeattributeset adb_keys_file_32_0 (adb_keys_file))
+(typeattributeset adb_service_32_0 (adb_service))
+(typeattributeset adbd_32_0 (adbd))
+(typeattributeset adbd_config_prop_32_0 (adbd_config_prop))
+(typeattributeset adbd_exec_32_0 (adbd_exec))
+(typeattributeset adbd_socket_32_0 (adbd_socket))
+(typeattributeset aidl_lazy_test_server_32_0 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_32_0 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_32_0 (aidl_lazy_test_service))
+(typeattributeset alarm_service_32_0 (alarm_service))
+(typeattributeset anr_data_file_32_0 (anr_data_file))
+(typeattributeset apc_service_32_0 (apc_service))
+(typeattributeset apex_appsearch_data_file_32_0 (apex_appsearch_data_file apex_system_server_data_file))
+(typeattributeset apex_data_file_32_0 (apex_data_file))
+(typeattributeset apex_info_file_32_0 (apex_info_file))
+(typeattributeset apex_metadata_file_32_0 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_32_0 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_32_0 (apex_module_data_file))
+(typeattributeset apex_ota_reserved_file_32_0 (apex_ota_reserved_file))
+(typeattributeset apex_permission_data_file_32_0 (apex_permission_data_file apex_system_server_data_file))
+(typeattributeset apex_rollback_data_file_32_0 (apex_rollback_data_file))
+(typeattributeset apex_scheduling_data_file_32_0 (apex_scheduling_data_file apex_system_server_data_file))
+(typeattributeset apex_service_32_0 (apex_service))
+(typeattributeset apex_wifi_data_file_32_0 (apex_wifi_data_file apex_system_server_data_file))
+(typeattributeset apexd_32_0 (apexd))
+(typeattributeset apexd_config_prop_32_0 (apexd_config_prop))
+(typeattributeset apexd_exec_32_0 (apexd_exec))
+(typeattributeset apexd_prop_32_0 (apexd_prop))
+(typeattributeset apk_data_file_32_0 (apk_data_file))
+(typeattributeset apk_private_data_file_32_0 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_32_0 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_32_0 (apk_tmp_file))
+(typeattributeset apk_verity_prop_32_0 (apk_verity_prop))
+(typeattributeset app_binding_service_32_0 (app_binding_service))
+(typeattributeset app_data_file_32_0 (app_data_file))
+(typeattributeset app_fuse_file_32_0 (app_fuse_file))
+(typeattributeset app_fusefs_32_0 (app_fusefs))
+(typeattributeset app_hibernation_service_32_0 (app_hibernation_service))
+(typeattributeset app_integrity_service_32_0 (app_integrity_service))
+(typeattributeset app_prediction_service_32_0 (app_prediction_service))
+(typeattributeset app_search_service_32_0 (app_search_service))
+(typeattributeset app_zygote_32_0 (app_zygote))
+(typeattributeset app_zygote_tmpfs_32_0 (app_zygote_tmpfs))
+(typeattributeset appcompat_data_file_32_0 (appcompat_data_file))
+(typeattributeset appdomain_tmpfs_32_0 (appdomain_tmpfs))
+(typeattributeset appops_service_32_0 (appops_service))
+(typeattributeset appwidget_service_32_0 (appwidget_service))
+(typeattributeset arm64_memtag_prop_32_0 (arm64_memtag_prop))
+(typeattributeset art_apex_dir_32_0 (art_apex_dir))
+(typeattributeset asec_apk_file_32_0 (asec_apk_file))
+(typeattributeset asec_image_file_32_0 (asec_image_file))
+(typeattributeset asec_public_file_32_0 (asec_public_file))
+(typeattributeset ashmem_device_32_0 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_32_0 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_32_0 (assetatlas_service))
+(typeattributeset atrace_32_0 (atrace))
+(typeattributeset audio_config_prop_32_0 (audio_config_prop))
+(typeattributeset audio_data_file_32_0 (audio_data_file))
+(typeattributeset audio_device_32_0 (audio_device))
+(typeattributeset audio_prop_32_0 (audio_prop))
+(typeattributeset audio_service_32_0 (audio_service))
+(typeattributeset audiohal_data_file_32_0 (audiohal_data_file))
+(typeattributeset audioserver_32_0 (audioserver))
+(typeattributeset audioserver_data_file_32_0 (audioserver_data_file))
+(typeattributeset audioserver_service_32_0 (audioserver_service))
+(typeattributeset audioserver_tmpfs_32_0 (audioserver_tmpfs))
+(typeattributeset auth_service_32_0 (auth_service))
+(typeattributeset authorization_service_32_0 (authorization_service))
+(typeattributeset autofill_service_32_0 (autofill_service))
+(typeattributeset backup_data_file_32_0 (backup_data_file))
+(typeattributeset backup_service_32_0 (backup_service))
+(typeattributeset battery_service_32_0 (battery_service))
+(typeattributeset batteryproperties_service_32_0 (batteryproperties_service))
+(typeattributeset batterystats_service_32_0 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_32_0 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_32_0 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_32_0 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_32_0 (binder_calls_stats_service))
+(typeattributeset binder_device_32_0 (binder_device))
+(typeattributeset binderfs_32_0 (binderfs))
+(typeattributeset binderfs_logs_32_0 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_32_0 (binderfs_logs_proc))
+(typeattributeset binfmt_miscfs_32_0 (binfmt_miscfs))
+(typeattributeset biometric_service_32_0 (biometric_service))
+(typeattributeset blkid_32_0 (blkid))
+(typeattributeset blkid_untrusted_32_0 (blkid_untrusted))
+(typeattributeset blob_store_service_32_0 (blob_store_service))
+(typeattributeset block_device_32_0 (block_device))
+(typeattributeset bluetooth_32_0 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_32_0 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_32_0 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_data_file_32_0 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_32_0 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_32_0 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_32_0 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_32_0 (bluetooth_prop))
+(typeattributeset bluetooth_service_32_0 (bluetooth_service))
+(typeattributeset bluetooth_socket_32_0 (bluetooth_socket))
+(typeattributeset boot_block_device_32_0 (boot_block_device))
+(typeattributeset boot_status_prop_32_0 (boot_status_prop))
+(typeattributeset bootanim_32_0 (bootanim))
+(typeattributeset bootanim_config_prop_32_0 (bootanim_config_prop))
+(typeattributeset bootanim_exec_32_0 (bootanim_exec))
+(typeattributeset bootanim_system_prop_32_0 (bootanim_system_prop))
+(typeattributeset bootchart_data_file_32_0 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_32_0 (bootloader_boot_reason_prop))
+(typeattributeset bootloader_prop_32_0 (bootloader_prop))
+(typeattributeset bootstat_32_0 (bootstat))
+(typeattributeset bootstat_data_file_32_0 (bootstat_data_file))
+(typeattributeset bootstat_exec_32_0 (bootstat_exec))
+(typeattributeset boottime_prop_32_0 (boottime_prop))
+(typeattributeset boottime_public_prop_32_0 (boottime_public_prop))
+(typeattributeset boottrace_data_file_32_0 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_32_0 (bpf_progs_loaded_prop))
+(typeattributeset bq_config_prop_32_0 (bq_config_prop))
+(typeattributeset broadcastradio_service_32_0 (broadcastradio_service))
+(typeattributeset bufferhubd_32_0 (bufferhubd))
+(typeattributeset bufferhubd_exec_32_0 (bufferhubd_exec))
+(typeattributeset bugreport_service_32_0 (bugreport_service))
+(typeattributeset build_bootimage_prop_32_0 (build_bootimage_prop))
+(typeattributeset build_config_prop_32_0 (build_config_prop))
+(typeattributeset build_odm_prop_32_0 (build_odm_prop))
+(typeattributeset build_prop_32_0 (build_prop))
+(typeattributeset build_vendor_prop_32_0 (build_vendor_prop))
+(typeattributeset cache_backup_file_32_0 (cache_backup_file))
+(typeattributeset cache_block_device_32_0 (cache_block_device))
+(typeattributeset cache_file_32_0 (cache_file))
+(typeattributeset cache_private_backup_file_32_0 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_32_0 (cache_recovery_file))
+(typeattributeset cacheinfo_service_32_0 (cacheinfo_service))
+(typeattributeset camera2_extensions_prop_32_0 (camera2_extensions_prop))
+(typeattributeset camera_calibration_prop_32_0 (camera_calibration_prop))
+(typeattributeset camera_config_prop_32_0 (camera_config_prop))
+(typeattributeset camera_data_file_32_0 (camera_data_file))
+(typeattributeset camera_device_32_0 (camera_device))
+(typeattributeset cameraproxy_service_32_0 (cameraproxy_service))
+(typeattributeset cameraserver_32_0 (cameraserver))
+(typeattributeset cameraserver_exec_32_0 (cameraserver_exec))
+(typeattributeset cameraserver_service_32_0 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_32_0 (cameraserver_tmpfs))
+(typeattributeset camerax_extensions_prop_32_0 (camerax_extensions_prop))
+(typeattributeset cgroup_32_0 (cgroup))
+(typeattributeset cgroup_desc_api_file_32_0 (cgroup_desc_api_file))
+(typeattributeset cgroup_desc_file_32_0 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_32_0 (cgroup_rc_file))
+(typeattributeset cgroup_v2_32_0 (cgroup_v2))
+(typeattributeset charger_32_0 (charger))
+(typeattributeset charger_config_prop_32_0 (charger_config_prop))
+(typeattributeset charger_exec_32_0 (charger_exec))
+(typeattributeset charger_prop_32_0 (charger_prop))
+(typeattributeset charger_status_prop_32_0 (charger_status_prop))
+(typeattributeset clipboard_service_32_0 (clipboard_service))
+(typeattributeset codec2_config_prop_32_0 (codec2_config_prop))
+(typeattributeset cold_boot_done_prop_32_0 (cold_boot_done_prop))
+(typeattributeset color_display_service_32_0 (color_display_service))
+(typeattributeset companion_device_service_32_0 (companion_device_service))
+(typeattributeset config_prop_32_0 (config_prop))
+(typeattributeset configfs_32_0 (configfs))
+(typeattributeset connectivity_service_32_0 (connectivity_service))
+(typeattributeset connmetrics_service_32_0 (connmetrics_service))
+(typeattributeset console_device_32_0 (console_device))
+(typeattributeset consumer_ir_service_32_0 (consumer_ir_service))
+(typeattributeset content_capture_service_32_0 (content_capture_service))
+(typeattributeset content_service_32_0 (content_service))
+(typeattributeset content_suggestions_service_32_0 (content_suggestions_service))
+(typeattributeset contexthub_service_32_0 (contexthub_service))
+(typeattributeset coredump_file_32_0 (coredump_file))
+(typeattributeset country_detector_service_32_0 (country_detector_service))
+(typeattributeset coverage_service_32_0 (coverage_service))
+(typeattributeset cppreopt_prop_32_0 (cppreopt_prop))
+(typeattributeset cpu_variant_prop_32_0 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_32_0 (cpuinfo_service))
+(typeattributeset crash_dump_32_0 (crash_dump))
+(typeattributeset crash_dump_exec_32_0 (crash_dump_exec))
+(typeattributeset credstore_32_0 (credstore))
+(typeattributeset credstore_data_file_32_0 (credstore_data_file))
+(typeattributeset credstore_exec_32_0 (credstore_exec))
+(typeattributeset credstore_service_32_0 (credstore_service))
+(typeattributeset crossprofileapps_service_32_0 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_32_0 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_32_0 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_32_0 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_32_0 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_32_0 (ctl_console_prop))
+(typeattributeset ctl_default_prop_32_0 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_32_0 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_32_0 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_32_0 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_32_0 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_32_0 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_32_0 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_32_0 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_32_0 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_32_0 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_32_0 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_32_0 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_32_0 (ctl_stop_prop))
+(typeattributeset dalvik_config_prop_32_0 (dalvik_config_prop))
+(typeattributeset dalvik_prop_32_0 (dalvik_prop))
+(typeattributeset dalvik_runtime_prop_32_0 (dalvik_runtime_prop))
+(typeattributeset dalvikcache_data_file_32_0 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_32_0 (dataloader_manager_service))
+(typeattributeset dbinfo_service_32_0 (dbinfo_service))
+(typeattributeset dck_prop_32_0 (dck_prop))
+(typeattributeset debug_prop_32_0 (debug_prop))
+(typeattributeset debugfs_32_0 (debugfs))
+(typeattributeset debugfs_bootreceiver_tracing_32_0 (debugfs_bootreceiver_tracing))
+(typeattributeset debugfs_kprobes_32_0 (debugfs_kprobes))
+(typeattributeset debugfs_mm_events_tracing_32_0 (debugfs_mm_events_tracing))
+(typeattributeset debugfs_mmc_32_0 (debugfs_mmc))
+(typeattributeset debugfs_restriction_prop_32_0 (debugfs_restriction_prop))
+(typeattributeset debugfs_trace_marker_32_0 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_32_0 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_32_0 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_32_0 (debugfs_tracing_instances))
+(typeattributeset debugfs_tracing_printk_formats_32_0 (debugfs_tracing_printk_formats))
+(typeattributeset debugfs_wakeup_sources_32_0 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_32_0 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_32_0 (debuggerd_prop))
+(typeattributeset default_android_hwservice_32_0 (default_android_hwservice))
+(typeattributeset default_android_service_32_0 (default_android_service))
+(typeattributeset default_android_vndservice_32_0 (default_android_vndservice))
+(typeattributeset default_prop_32_0 (default_prop))
+(typeattributeset dev_cpu_variant_32_0 (dev_cpu_variant))
+(typeattributeset device_32_0 (device))
+(typeattributeset device_config_activity_manager_native_boot_prop_32_0 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_32_0 (device_config_boot_count_prop))
+(typeattributeset device_config_input_native_boot_prop_32_0 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_32_0 (device_config_media_native_prop))
+(typeattributeset device_config_netd_native_prop_32_0 (device_config_netd_native_prop))
+(typeattributeset device_config_reset_performed_prop_32_0 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_32_0 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_32_0 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_32_0 (device_config_service))
+(typeattributeset device_identifiers_service_32_0 (device_identifiers_service))
+(typeattributeset device_logging_prop_32_0 (device_logging_prop))
+(typeattributeset device_policy_service_32_0 (device_policy_service))
+(typeattributeset device_state_service_32_0 (device_state_service))
+(typeattributeset deviceidle_service_32_0 (deviceidle_service))
+(typeattributeset devicestoragemonitor_service_32_0 (devicestoragemonitor_service))
+(typeattributeset devpts_32_0 (devpts))
+(typeattributeset dhcp_32_0 (dhcp))
+(typeattributeset dhcp_data_file_32_0 (dhcp_data_file))
+(typeattributeset dhcp_exec_32_0 (dhcp_exec))
+(typeattributeset dhcp_prop_32_0 (dhcp_prop))
+(typeattributeset diskstats_service_32_0 (diskstats_service))
+(typeattributeset display_service_32_0 (display_service))
+(typeattributeset dm_device_32_0 (dm_device))
+(typeattributeset dm_user_device_32_0 (dm_user_device))
+(typeattributeset dmabuf_heap_device_32_0 (dmabuf_heap_device))
+(typeattributeset dmabuf_system_heap_device_32_0 (dmabuf_system_heap_device))
+(typeattributeset dmabuf_system_secure_heap_device_32_0 (dmabuf_system_secure_heap_device))
+(typeattributeset dnsmasq_32_0 (dnsmasq))
+(typeattributeset dnsmasq_exec_32_0 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_32_0 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_32_0 (dnsresolver_service))
+(typeattributeset domain_verification_service_32_0 (domain_verification_service))
+(typeattributeset dreams_service_32_0 (dreams_service))
+(typeattributeset drm_data_file_32_0 (drm_data_file))
+(typeattributeset drm_service_config_prop_32_0 (drm_service_config_prop))
+(typeattributeset drmserver_32_0 (drmserver))
+(typeattributeset drmserver_exec_32_0 (drmserver_exec))
+(typeattributeset drmserver_service_32_0 (drmserver_service))
+(typeattributeset drmserver_socket_32_0 (drmserver_socket))
+(typeattributeset dropbox_data_file_32_0 (dropbox_data_file))
+(typeattributeset dropbox_service_32_0 (dropbox_service))
+(typeattributeset dumpstate_32_0 (dumpstate))
+(typeattributeset dumpstate_exec_32_0 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_32_0 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_32_0 (dumpstate_prop))
+(typeattributeset dumpstate_service_32_0 (dumpstate_service))
+(typeattributeset dumpstate_socket_32_0 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_32_0 (dynamic_system_prop))
+(typeattributeset e2fs_32_0 (e2fs))
+(typeattributeset e2fs_exec_32_0 (e2fs_exec))
+(typeattributeset efs_file_32_0 (efs_file))
+(typeattributeset emergency_affordance_service_32_0 (emergency_affordance_service))
+(typeattributeset ephemeral_app_32_0 (ephemeral_app))
+(typeattributeset ethernet_service_32_0 (ethernet_service))
+(typeattributeset exfat_32_0 (exfat))
+(typeattributeset exported3_system_prop_32_0 (exported3_system_prop))
+(typeattributeset exported_bluetooth_prop_32_0 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_32_0 (exported_camera_prop))
+(typeattributeset exported_config_prop_32_0 (exported_config_prop))
+(typeattributeset exported_default_prop_32_0 (exported_default_prop))
+(typeattributeset exported_dumpstate_prop_32_0 (exported_dumpstate_prop))
+(typeattributeset exported_overlay_prop_32_0 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_32_0 (exported_pm_prop))
+(typeattributeset exported_secure_prop_32_0 (exported_secure_prop))
+(typeattributeset exported_system_prop_32_0 (exported_system_prop))
+(typeattributeset external_vibrator_service_32_0 (external_vibrator_service))
+(typeattributeset face_service_32_0 (face_service))
+(typeattributeset face_vendor_data_file_32_0 (face_vendor_data_file))
+(typeattributeset fastbootd_32_0 (fastbootd))
+(typeattributeset ffs_config_prop_32_0 (ffs_config_prop))
+(typeattributeset ffs_control_prop_32_0 (ffs_control_prop))
+(typeattributeset file_contexts_file_32_0 (file_contexts_file))
+(typeattributeset file_integrity_service_32_0 (file_integrity_service))
+(typeattributeset fingerprint_prop_32_0 (fingerprint_prop))
+(typeattributeset fingerprint_service_32_0 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_32_0 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_32_0 (fingerprintd))
+(typeattributeset fingerprintd_data_file_32_0 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_32_0 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_32_0 (fingerprintd_service))
+(typeattributeset firstboot_prop_32_0 (firstboot_prop))
+(typeattributeset flags_health_check_32_0 (flags_health_check))
+(typeattributeset flags_health_check_exec_32_0 (flags_health_check_exec))
+(typeattributeset font_service_32_0 (font_service))
+(typeattributeset framework_watchdog_config_prop_32_0 (framework_watchdog_config_prop))
+(typeattributeset frp_block_device_32_0 (frp_block_device))
+(typeattributeset fs_bpf_32_0 (fs_bpf))
+(typeattributeset fs_bpf_tethering_32_0 (fs_bpf_tethering))
+(typeattributeset fsck_32_0 (fsck))
+(typeattributeset fsck_exec_32_0 (fsck_exec))
+(typeattributeset fsck_untrusted_32_0 (fsck_untrusted))
+(typeattributeset fscklogs_32_0 (fscklogs))
+(typeattributeset functionfs_32_0 (functionfs))
+(typeattributeset fuse_32_0 (fuse))
+(typeattributeset fuse_device_32_0 (fuse_device))
+(typeattributeset fusectlfs_32_0 (fusectlfs))
+(typeattributeset fwk_automotive_display_hwservice_32_0 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_bufferhub_hwservice_32_0 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_32_0 (fwk_camera_hwservice))
+(typeattributeset fwk_display_hwservice_32_0 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_32_0 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_32_0 (fwk_sensor_hwservice))
+(typeattributeset fwk_stats_hwservice_32_0 (fwk_stats_hwservice))
+(typeattributeset fwk_stats_service_32_0 (fwk_stats_service))
+(typeattributeset fwmarkd_socket_32_0 (fwmarkd_socket))
+(typeattributeset game_service_32_0 (game_service))
+(typeattributeset gatekeeper_data_file_32_0 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_32_0 (gatekeeper_service))
+(typeattributeset gatekeeperd_32_0 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_32_0 (gatekeeperd_exec))
+(typeattributeset gfxinfo_service_32_0 (gfxinfo_service))
+(typeattributeset gmscore_app_32_0 (gmscore_app))
+(typeattributeset gnss_device_32_0 (gnss_device))
+(typeattributeset gnss_time_update_service_32_0 (gnss_time_update_service))
+(typeattributeset gps_control_32_0 (gps_control))
+(typeattributeset gpu_device_32_0 (gpu_device))
+(typeattributeset gpu_service_32_0 (gpu_service))
+(typeattributeset gpuservice_32_0 (gpuservice))
+(typeattributeset graphics_config_prop_32_0 (graphics_config_prop))
+(typeattributeset graphics_device_32_0 (graphics_device))
+(typeattributeset graphicsstats_service_32_0 (graphicsstats_service))
+(typeattributeset gsi_data_file_32_0 (gsi_data_file))
+(typeattributeset gsi_metadata_file_32_0 (gsi_metadata_file))
+(typeattributeset gsi_public_metadata_file_32_0 (gsi_public_metadata_file))
+(typeattributeset hal_atrace_hwservice_32_0 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_32_0 (hal_audio_hwservice))
+(typeattributeset hal_audio_service_32_0 (hal_audio_service))
+(typeattributeset hal_audiocontrol_hwservice_32_0 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audiocontrol_service_32_0 (hal_audiocontrol_service))
+(typeattributeset hal_authsecret_hwservice_32_0 (hal_authsecret_hwservice))
+(typeattributeset hal_authsecret_service_32_0 (hal_authsecret_service))
+(typeattributeset hal_bluetooth_hwservice_32_0 (hal_bluetooth_hwservice))
+(typeattributeset hal_bootctl_hwservice_32_0 (hal_bootctl_hwservice))
+(typeattributeset hal_broadcastradio_hwservice_32_0 (hal_broadcastradio_hwservice))
+(typeattributeset hal_camera_hwservice_32_0 (hal_camera_hwservice))
+(typeattributeset hal_can_bus_hwservice_32_0 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_32_0 (hal_can_controller_hwservice))
+(typeattributeset hal_cas_hwservice_32_0 (hal_cas_hwservice))
+(typeattributeset hal_codec2_hwservice_32_0 (hal_codec2_hwservice))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_32_0 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_32_0 (hal_confirmationui_hwservice))
+(typeattributeset hal_contexthub_hwservice_32_0 (hal_contexthub_hwservice))
+(typeattributeset hal_drm_hwservice_32_0 (hal_drm_hwservice))
+(typeattributeset hal_dumpstate_config_prop_32_0 (hal_dumpstate_config_prop))
+(typeattributeset hal_dumpstate_hwservice_32_0 (hal_dumpstate_hwservice))
+(typeattributeset hal_evs_hwservice_32_0 (hal_evs_hwservice))
+(typeattributeset hal_face_hwservice_32_0 (hal_face_hwservice))
+(typeattributeset hal_face_service_32_0 (hal_face_service))
+(typeattributeset hal_fingerprint_hwservice_32_0 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_32_0 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_32_0 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gnss_hwservice_32_0 (hal_gnss_hwservice))
+(typeattributeset hal_gnss_service_32_0 (hal_gnss_service))
+(typeattributeset hal_graphics_allocator_hwservice_32_0 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_composer_hwservice_32_0 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_32_0 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_mapper_hwservice_32_0 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_health_hwservice_32_0 (hal_health_hwservice))
+(typeattributeset hal_health_storage_hwservice_32_0 (hal_health_storage_hwservice))
+(typeattributeset hal_health_storage_service_32_0 (hal_health_storage_service))
+(typeattributeset hal_identity_service_32_0 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_32_0 (hal_input_classifier_hwservice))
+(typeattributeset hal_instrumentation_prop_32_0 (hal_instrumentation_prop))
+(typeattributeset hal_ir_hwservice_32_0 (hal_ir_hwservice))
+(typeattributeset hal_keymaster_hwservice_32_0 (hal_keymaster_hwservice))
+(typeattributeset hal_keymint_service_32_0 (hal_keymint_service))
+(typeattributeset hal_light_hwservice_32_0 (hal_light_hwservice))
+(typeattributeset hal_light_service_32_0 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_32_0 (hal_lowpan_hwservice))
+(typeattributeset hal_memtrack_hwservice_32_0 (hal_memtrack_hwservice))
+(typeattributeset hal_memtrack_service_32_0 (hal_memtrack_service))
+(typeattributeset hal_neuralnetworks_hwservice_32_0 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_neuralnetworks_service_32_0 (hal_neuralnetworks_service))
+(typeattributeset hal_nfc_hwservice_32_0 (hal_nfc_hwservice))
+(typeattributeset hal_oemlock_hwservice_32_0 (hal_oemlock_hwservice))
+(typeattributeset hal_oemlock_service_32_0 (hal_oemlock_service))
+(typeattributeset hal_omx_hwservice_32_0 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_32_0 (hal_power_hwservice))
+(typeattributeset hal_power_service_32_0 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_32_0 (hal_power_stats_hwservice))
+(typeattributeset hal_power_stats_service_32_0 (hal_power_stats_service))
+(typeattributeset hal_rebootescrow_service_32_0 (hal_rebootescrow_service))
+(typeattributeset hal_remotelyprovisionedcomponent_service_32_0 (hal_remotelyprovisionedcomponent_service))
+(typeattributeset hal_renderscript_hwservice_32_0 (hal_renderscript_hwservice))
+(typeattributeset hal_secure_element_hwservice_32_0 (hal_secure_element_hwservice))
+(typeattributeset hal_secureclock_service_32_0 (hal_secureclock_service))
+(typeattributeset hal_sensors_hwservice_32_0 (hal_sensors_hwservice))
+(typeattributeset hal_sharedsecret_service_32_0 (hal_sharedsecret_service))
+(typeattributeset hal_telephony_hwservice_32_0 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_32_0 (hal_tetheroffload_hwservice))
+(typeattributeset hal_thermal_hwservice_32_0 (hal_thermal_hwservice))
+(typeattributeset hal_tv_cec_hwservice_32_0 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_input_hwservice_32_0 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_tuner_hwservice_32_0 (hal_tv_tuner_hwservice))
+(typeattributeset hal_usb_gadget_hwservice_32_0 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_hwservice_32_0 (hal_usb_hwservice))
+(typeattributeset hal_vehicle_hwservice_32_0 (hal_vehicle_hwservice))
+(typeattributeset hal_vibrator_hwservice_32_0 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_32_0 (hal_vibrator_service))
+(typeattributeset hal_vr_hwservice_32_0 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_32_0 (hal_weaver_hwservice))
+(typeattributeset hal_weaver_service_32_0 (hal_weaver_service))
+(typeattributeset hal_wifi_hostapd_hwservice_32_0 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hwservice_32_0 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_supplicant_hwservice_32_0 (hal_wifi_supplicant_hwservice))
+(typeattributeset hardware_properties_service_32_0 (hardware_properties_service))
+(typeattributeset hardware_service_32_0 (hardware_service))
+(typeattributeset hci_attach_dev_32_0 (hci_attach_dev))
+(typeattributeset hdmi_config_prop_32_0 (hdmi_config_prop))
+(typeattributeset hdmi_control_service_32_0 (hdmi_control_service))
+(typeattributeset healthd_32_0 (healthd))
+(typeattributeset healthd_exec_32_0 (healthd_exec))
+(typeattributeset heapdump_data_file_32_0 (heapdump_data_file))
+(typeattributeset heapprofd_32_0 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_32_0 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_32_0 (heapprofd_prop))
+(typeattributeset heapprofd_socket_32_0 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_32_0 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_32_0 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_32_0 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_32_0 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_32_0 (hidl_token_hwservice))
+(typeattributeset hint_service_32_0 (hint_service))
+(typeattributeset hw_random_device_32_0 (hw_random_device))
+(typeattributeset hw_timeout_multiplier_prop_32_0 (hw_timeout_multiplier_prop))
+(typeattributeset hwbinder_device_32_0 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_32_0 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_32_0 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_32_0 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_32_0 (hwservicemanager_prop))
+(typeattributeset hypervisor_prop_32_0 (hypervisor_prop))
+(typeattributeset icon_file_32_0 (icon_file))
+(typeattributeset idmap_32_0 (idmap))
+(typeattributeset idmap_exec_32_0 (idmap_exec))
+(typeattributeset idmap_service_32_0 (idmap_service))
+(typeattributeset iio_device_32_0 (iio_device))
+(typeattributeset imms_service_32_0 (imms_service))
+(typeattributeset incident_32_0 (incident))
+(typeattributeset incident_data_file_32_0 (incident_data_file))
+(typeattributeset incident_helper_32_0 (incident_helper))
+(typeattributeset incident_service_32_0 (incident_service))
+(typeattributeset incidentd_32_0 (incidentd))
+(typeattributeset incremental_control_file_32_0 (incremental_control_file))
+(typeattributeset incremental_prop_32_0 (incremental_prop))
+(typeattributeset incremental_service_32_0 (incremental_service))
+(typeattributeset init_32_0 (init))
+(typeattributeset init_exec_32_0 (init_exec))
+(typeattributeset init_service_status_prop_32_0 (init_service_status_prop))
+(typeattributeset init_tmpfs_32_0 (init_tmpfs))
+(typeattributeset inotify_32_0 (inotify))
+(typeattributeset input_device_32_0 (input_device))
+(typeattributeset input_method_service_32_0 (input_method_service))
+(typeattributeset input_service_32_0 (input_service))
+(typeattributeset inputflinger_32_0 (inputflinger))
+(typeattributeset inputflinger_exec_32_0 (inputflinger_exec))
+(typeattributeset inputflinger_service_32_0 (inputflinger_service))
+(typeattributeset install_data_file_32_0 (install_data_file))
+(typeattributeset installd_32_0 (installd))
+(typeattributeset installd_exec_32_0 (installd_exec))
+(typeattributeset installd_service_32_0 (installd_service))
+(typeattributeset ion_device_32_0 (ion_device))
+(typeattributeset iorap_inode2filename_32_0 (iorap_inode2filename))
+(typeattributeset iorap_inode2filename_exec_32_0 (iorap_inode2filename_exec))
+(typeattributeset iorap_inode2filename_tmpfs_32_0 (iorap_inode2filename_tmpfs))
+(typeattributeset iorap_prefetcherd_32_0 (iorap_prefetcherd))
+(typeattributeset iorap_prefetcherd_exec_32_0 (iorap_prefetcherd_exec))
+(typeattributeset iorap_prefetcherd_tmpfs_32_0 (iorap_prefetcherd_tmpfs))
+(typeattributeset iorapd_32_0 (iorapd))
+(typeattributeset iorapd_data_file_32_0 (iorapd_data_file))
+(typeattributeset iorapd_exec_32_0 (iorapd_exec))
+(typeattributeset iorapd_service_32_0 (iorapd_service))
+(typeattributeset iorapd_tmpfs_32_0 (iorapd_tmpfs))
+(typeattributeset ipsec_service_32_0 (ipsec_service))
+(typeattributeset iris_service_32_0 (iris_service))
+(typeattributeset iris_vendor_data_file_32_0 (iris_vendor_data_file))
+(typeattributeset isolated_app_32_0 (isolated_app))
+(typeattributeset jobscheduler_service_32_0 (jobscheduler_service))
+(typeattributeset kernel_32_0 (kernel))
+(typeattributeset keychain_data_file_32_0 (keychain_data_file))
+(typeattributeset keychord_device_32_0 (keychord_device))
+(typeattributeset keyguard_config_prop_32_0 (keyguard_config_prop))
+(typeattributeset keystore2_key_contexts_file_32_0 (keystore2_key_contexts_file))
+(typeattributeset keystore_32_0 (keystore))
+(typeattributeset keystore_compat_hal_service_32_0 (keystore_compat_hal_service))
+(typeattributeset keystore_data_file_32_0 (keystore_data_file))
+(typeattributeset keystore_exec_32_0 (keystore_exec))
+(typeattributeset keystore_maintenance_service_32_0 (keystore_maintenance_service))
+(typeattributeset keystore_metrics_service_32_0 (keystore_metrics_service))
+(typeattributeset keystore_service_32_0 (keystore_service))
+(typeattributeset kmsg_debug_device_32_0 (kmsg_debug_device))
+(typeattributeset kmsg_device_32_0 (kmsg_device))
+(typeattributeset labeledfs_32_0 (labeledfs))
+(typeattributeset launcherapps_service_32_0 (launcherapps_service))
+(typeattributeset legacy_permission_service_32_0 (legacy_permission_service))
+(typeattributeset legacykeystore_service_32_0 (legacykeystore_service))
+(typeattributeset libc_debug_prop_32_0 (libc_debug_prop))
+(typeattributeset light_service_32_0 (light_service))
+(typeattributeset linkerconfig_file_32_0 (linkerconfig_file))
+(typeattributeset llkd_32_0 (llkd))
+(typeattributeset llkd_exec_32_0 (llkd_exec))
+(typeattributeset llkd_prop_32_0 (llkd_prop))
+(typeattributeset lmkd_32_0 (lmkd))
+(typeattributeset lmkd_config_prop_32_0 (lmkd_config_prop))
+(typeattributeset lmkd_exec_32_0 (lmkd_exec))
+(typeattributeset lmkd_prop_32_0 (lmkd_prop))
+(typeattributeset lmkd_socket_32_0 (lmkd_socket))
+(typeattributeset location_service_32_0 (location_service))
+(typeattributeset location_time_zone_manager_service_32_0 (location_time_zone_manager_service))
+(typeattributeset lock_settings_service_32_0 (lock_settings_service))
+(typeattributeset log_prop_32_0 (log_prop))
+(typeattributeset log_tag_prop_32_0 (log_tag_prop))
+(typeattributeset logcat_exec_32_0 (logcat_exec))
+(typeattributeset logd_32_0 (logd))
+(typeattributeset logd_exec_32_0 (logd_exec))
+(typeattributeset logd_prop_32_0 (logd_prop))
+(typeattributeset logd_socket_32_0 (logd_socket))
+(typeattributeset logdr_socket_32_0 (logdr_socket))
+(typeattributeset logdw_socket_32_0 (logdw_socket))
+(typeattributeset logpersist_32_0 (logpersist))
+(typeattributeset logpersistd_logging_prop_32_0 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_32_0 (loop_control_device))
+(typeattributeset loop_device_32_0 (loop_device))
+(typeattributeset looper_stats_service_32_0 (looper_stats_service))
+(typeattributeset lowpan_device_32_0 (lowpan_device))
+(typeattributeset lowpan_prop_32_0 (lowpan_prop))
+(typeattributeset lowpan_service_32_0 (lowpan_service))
+(typeattributeset lpdump_service_32_0 (lpdump_service))
+(typeattributeset lpdumpd_prop_32_0 (lpdumpd_prop))
+(typeattributeset mac_perms_file_32_0 (mac_perms_file))
+(typeattributeset mdns_socket_32_0 (mdns_socket))
+(typeattributeset mdnsd_32_0 (mdnsd))
+(typeattributeset mdnsd_socket_32_0 (mdnsd_socket))
+(typeattributeset media_communication_service_32_0 (media_communication_service))
+(typeattributeset media_config_prop_32_0 (media_config_prop))
+(typeattributeset media_data_file_32_0 (media_data_file))
+(typeattributeset media_metrics_service_32_0 (media_metrics_service))
+(typeattributeset media_projection_service_32_0 (media_projection_service))
+(typeattributeset media_router_service_32_0 (media_router_service))
+(typeattributeset media_rw_data_file_32_0 (media_rw_data_file))
+(typeattributeset media_session_service_32_0 (media_session_service))
+(typeattributeset media_variant_prop_32_0 (media_variant_prop))
+(typeattributeset mediadrm_config_prop_32_0 (mediadrm_config_prop))
+(typeattributeset mediadrmserver_32_0 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_32_0 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_32_0 (mediadrmserver_service))
+(typeattributeset mediaextractor_32_0 (mediaextractor))
+(typeattributeset mediaextractor_exec_32_0 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_32_0 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_32_0 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_32_0 (mediametrics))
+(typeattributeset mediametrics_exec_32_0 (mediametrics_exec))
+(typeattributeset mediametrics_service_32_0 (mediametrics_service))
+(typeattributeset mediaprovider_32_0 (mediaprovider))
+(typeattributeset mediaserver_32_0 (mediaserver))
+(typeattributeset mediaserver_exec_32_0 (mediaserver_exec))
+(typeattributeset mediaserver_service_32_0 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_32_0 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_32_0 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_32_0 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_service_32_0 (mediatranscoding_service))
+(typeattributeset meminfo_service_32_0 (meminfo_service))
+(typeattributeset memtrackproxy_service_32_0 (memtrackproxy_service))
+(typeattributeset metadata_block_device_32_0 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_32_0 (metadata_bootstat_file))
+(typeattributeset metadata_file_32_0 (metadata_file))
+(typeattributeset method_trace_data_file_32_0 (method_trace_data_file))
+(typeattributeset midi_service_32_0 (midi_service))
+(typeattributeset mirror_data_file_32_0 (mirror_data_file))
+(typeattributeset misc_block_device_32_0 (misc_block_device))
+(typeattributeset misc_logd_file_32_0 (misc_logd_file))
+(typeattributeset misc_user_data_file_32_0 (misc_user_data_file))
+(typeattributeset mm_events_config_prop_32_0 (mm_events_config_prop))
+(typeattributeset mmc_prop_32_0 (mmc_prop))
+(typeattributeset mnt_expand_file_32_0 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_32_0 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_32_0 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_32_0 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_32_0 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_32_0 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_32_0 (mnt_user_file))
+(typeattributeset mnt_vendor_file_32_0 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_32_0 (mock_ota_prop))
+(typeattributeset modprobe_32_0 (modprobe))
+(typeattributeset module_sdkextensions_prop_32_0 (module_sdkextensions_prop))
+(typeattributeset mount_service_32_0 (mount_service))
+(typeattributeset mqueue_32_0 (mqueue))
+(typeattributeset mtp_32_0 (mtp))
+(typeattributeset mtp_device_32_0 (mtp_device))
+(typeattributeset mtp_exec_32_0 (mtp_exec))
+(typeattributeset mtpd_socket_32_0 (mtpd_socket))
+(typeattributeset music_recognition_service_32_0 (music_recognition_service))
+(typeattributeset nativetest_data_file_32_0 (nativetest_data_file))
+(typeattributeset net_data_file_32_0 (net_data_file))
+(typeattributeset net_dns_prop_32_0 (net_dns_prop))
+(typeattributeset net_radio_prop_32_0 (net_radio_prop))
+(typeattributeset netd_32_0 (netd))
+(typeattributeset netd_exec_32_0 (netd_exec))
+(typeattributeset netd_listener_service_32_0 (netd_listener_service))
+(typeattributeset netd_service_32_0 (netd_service))
+(typeattributeset netif_32_0 (netif))
+(typeattributeset netpolicy_service_32_0 (netpolicy_service))
+(typeattributeset netstats_service_32_0 (netstats_service))
+(typeattributeset netutils_wrapper_32_0 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_32_0 (netutils_wrapper_exec))
+(typeattributeset network_management_service_32_0 (network_management_service))
+(typeattributeset network_score_service_32_0 (network_score_service))
+(typeattributeset network_stack_32_0 (network_stack))
+(typeattributeset network_stack_service_32_0 (network_stack_service))
+(typeattributeset network_time_update_service_32_0 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_32_0 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_32_0 (network_watchlist_service))
+(typeattributeset nfc_32_0 (nfc))
+(typeattributeset nfc_data_file_32_0 (nfc_data_file))
+(typeattributeset nfc_device_32_0 (nfc_device))
+(typeattributeset nfc_logs_data_file_32_0 (nfc_logs_data_file))
+(typeattributeset nfc_prop_32_0 (nfc_prop))
+(typeattributeset nfc_service_32_0 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_32_0 (nnapi_ext_deny_product_prop))
+(typeattributeset node_32_0 (node))
+(typeattributeset nonplat_service_contexts_file_32_0 (nonplat_service_contexts_file))
+(typeattributeset notification_service_32_0 (notification_service))
+(typeattributeset null_device_32_0 (null_device))
+(typeattributeset oem_lock_service_32_0 (oem_lock_service))
+(typeattributeset oem_unlock_prop_32_0 (oem_unlock_prop))
+(typeattributeset oemfs_32_0 (oemfs))
+(typeattributeset ota_data_file_32_0 (ota_data_file))
+(typeattributeset ota_metadata_file_32_0 (ota_metadata_file))
+(typeattributeset ota_package_file_32_0 (ota_package_file))
+(typeattributeset ota_prop_32_0 (ota_prop))
+(typeattributeset otadexopt_service_32_0 (otadexopt_service))
+(typeattributeset otapreopt_chroot_32_0 (otapreopt_chroot))
+(typeattributeset overlay_prop_32_0 (overlay_prop))
+(typeattributeset overlay_service_32_0 (overlay_service))
+(typeattributeset overlayfs_file_32_0 (overlayfs_file))
+(typeattributeset owntty_device_32_0 (owntty_device))
+(typeattributeset pac_proxy_service_32_0 (pac_proxy_service))
+(typeattributeset package_native_service_32_0 (package_native_service))
+(typeattributeset package_service_32_0 (package_service))
+(typeattributeset packagemanager_config_prop_32_0 (packagemanager_config_prop))
+(typeattributeset packages_list_file_32_0 (packages_list_file))
+(typeattributeset pan_result_prop_32_0 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_32_0 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_32_0 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_32_0 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_32_0 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_32_0 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_32_0 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_32_0 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_32_0 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_32_0 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_32_0 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_32_0 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_32_0 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_32_0 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_32_0 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_32_0 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_32_0 (pdx_performance_dir))
+(typeattributeset people_service_32_0 (people_service))
+(typeattributeset perfetto_32_0 (perfetto))
+(typeattributeset performanced_32_0 (performanced))
+(typeattributeset performanced_exec_32_0 (performanced_exec))
+(typeattributeset permission_checker_service_32_0 (permission_checker_service))
+(typeattributeset permission_service_32_0 (permission_service))
+(typeattributeset permissionmgr_service_32_0 (permissionmgr_service))
+(typeattributeset persist_debug_prop_32_0 (persist_debug_prop))
+(typeattributeset persist_vendor_debug_wifi_prop_32_0 (persist_vendor_debug_wifi_prop))
+(typeattributeset persistent_data_block_service_32_0 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_32_0 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_32_0 (pinner_service))
+(typeattributeset pipefs_32_0 (pipefs))
+(typeattributeset platform_app_32_0 (platform_app))
+(typeattributeset platform_compat_service_32_0 (platform_compat_service))
+(typeattributeset pmsg_device_32_0 (pmsg_device))
+(typeattributeset port_32_0 (port))
+(typeattributeset port_device_32_0 (port_device))
+(typeattributeset postinstall_32_0 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_32_0 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_32_0 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_32_0 (postinstall_mnt_dir))
+(typeattributeset power_debug_prop_32_0 (power_debug_prop))
+(typeattributeset power_service_32_0 (power_service))
+(typeattributeset powerctl_prop_32_0 (powerctl_prop))
+(typeattributeset powerstats_service_32_0 (powerstats_service))
+(typeattributeset ppp_32_0 (ppp))
+(typeattributeset ppp_device_32_0 (ppp_device))
+(typeattributeset ppp_exec_32_0 (ppp_exec))
+(typeattributeset preloads_data_file_32_0 (preloads_data_file))
+(typeattributeset preloads_media_file_32_0 (preloads_media_file))
+(typeattributeset prereboot_data_file_32_0 (prereboot_data_file))
+(typeattributeset print_service_32_0 (print_service))
+(typeattributeset priv_app_32_0 (priv_app))
+(typeattributeset privapp_data_file_32_0 (privapp_data_file))
+(typeattributeset proc_32_0 (proc))
+(typeattributeset proc_32_0 (proc_bpf))
+(typeattributeset proc_32_0 (proc_cpu_alignment))
+(typeattributeset proc_32_0 (proc_watermark_scale_factor))
+(typeattributeset proc_abi_32_0 (proc_abi))
+(typeattributeset proc_asound_32_0 (proc_asound))
+(typeattributeset proc_bluetooth_writable_32_0 (proc_bluetooth_writable))
+(typeattributeset proc_bootconfig_32_0 (proc_bootconfig))
+(typeattributeset proc_buddyinfo_32_0 (proc_buddyinfo))
+(typeattributeset proc_cmdline_32_0 (proc_cmdline))
+(typeattributeset proc_cpuinfo_32_0 (proc_cpuinfo))
+(typeattributeset proc_dirty_32_0 (proc_dirty))
+(typeattributeset proc_diskstats_32_0 (proc_diskstats))
+(typeattributeset proc_drop_caches_32_0 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_32_0 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_32_0 (proc_filesystems))
+(typeattributeset proc_fs_verity_32_0 (proc_fs_verity))
+(typeattributeset proc_hostname_32_0 (proc_hostname))
+(typeattributeset proc_hung_task_32_0 (proc_hung_task))
+(typeattributeset proc_interrupts_32_0 (proc_interrupts))
+(typeattributeset proc_iomem_32_0 (proc_iomem))
+(typeattributeset proc_kallsyms_32_0 (proc_kallsyms))
+(typeattributeset proc_keys_32_0 (proc_keys))
+(typeattributeset proc_kmsg_32_0 (proc_kmsg))
+(typeattributeset proc_kpageflags_32_0 (proc_kpageflags))
+(typeattributeset proc_loadavg_32_0 (proc_loadavg))
+(typeattributeset proc_locks_32_0 (proc_locks))
+(typeattributeset proc_lowmemorykiller_32_0 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_32_0 (proc_max_map_count))
+(typeattributeset proc_meminfo_32_0 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_32_0 (proc_min_free_order_shift))
+(typeattributeset proc_misc_32_0 (proc_misc))
+(typeattributeset proc_modules_32_0 (proc_modules))
+(typeattributeset proc_mounts_32_0 (proc_mounts))
+(typeattributeset proc_net_32_0 (proc_net proc_bpf))
+(typeattributeset proc_net_tcp_udp_32_0 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_32_0 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_32_0 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_32_0 (proc_pagetypeinfo))
+(typeattributeset proc_panic_32_0 (proc_panic))
+(typeattributeset proc_perf_32_0 (proc_perf))
+(typeattributeset proc_pid_max_32_0 (proc_pid_max))
+(typeattributeset proc_pipe_conf_32_0 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_32_0 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_32_0 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_32_0 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_32_0 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_32_0 (proc_qtaguid_stat))
+(typeattributeset proc_random_32_0 (proc_random))
+(typeattributeset proc_sched_32_0 (proc_sched))
+(typeattributeset proc_security_32_0 (proc_security))
+(typeattributeset proc_slabinfo_32_0 (proc_slabinfo))
+(typeattributeset proc_stat_32_0 (proc_stat))
+(typeattributeset proc_swaps_32_0 (proc_swaps))
+(typeattributeset proc_sysrq_32_0 (proc_sysrq))
+(typeattributeset proc_timer_32_0 (proc_timer))
+(typeattributeset proc_tty_drivers_32_0 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_32_0 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_32_0 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_32_0 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_32_0 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_32_0 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_32_0 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_32_0 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_32_0 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_32_0 (proc_uptime))
+(typeattributeset proc_vendor_sched_32_0 (proc_vendor_sched))
+(typeattributeset proc_version_32_0 (proc_version))
+(typeattributeset proc_vmallocinfo_32_0 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_32_0 (proc_vmstat))
+(typeattributeset proc_zoneinfo_32_0 (proc_zoneinfo))
+(typeattributeset processinfo_service_32_0 (processinfo_service))
+(typeattributeset procstats_service_32_0 (procstats_service))
+(typeattributeset profman_32_0 (profman))
+(typeattributeset profman_dump_data_file_32_0 (profman_dump_data_file))
+(typeattributeset profman_exec_32_0 (profman_exec))
+(typeattributeset properties_device_32_0 (properties_device))
+(typeattributeset properties_serial_32_0 (properties_serial))
+(typeattributeset property_contexts_file_32_0 (property_contexts_file))
+(typeattributeset property_data_file_32_0 (property_data_file))
+(typeattributeset property_info_32_0 (property_info))
+(typeattributeset property_service_version_prop_32_0 (property_service_version_prop))
+(typeattributeset property_socket_32_0 (property_socket))
+(typeattributeset provisioned_prop_32_0 (provisioned_prop))
+(typeattributeset pstorefs_32_0 (pstorefs))
+(typeattributeset ptmx_device_32_0 (ptmx_device))
+(typeattributeset qemu_hw_prop_32_0 (qemu_hw_prop))
+(typeattributeset qemu_sf_lcd_density_prop_32_0 (qemu_sf_lcd_density_prop))
+(typeattributeset qtaguid_device_32_0 (qtaguid_device))
+(typeattributeset racoon_32_0 (racoon))
+(typeattributeset racoon_exec_32_0 (racoon_exec))
+(typeattributeset racoon_socket_32_0 (racoon_socket))
+(typeattributeset radio_32_0 (radio))
+(typeattributeset radio_control_prop_32_0 (radio_control_prop))
+(typeattributeset radio_core_data_file_32_0 (radio_core_data_file))
+(typeattributeset radio_data_file_32_0 (radio_data_file))
+(typeattributeset radio_device_32_0 (radio_device))
+(typeattributeset radio_prop_32_0 (radio_prop))
+(typeattributeset radio_service_32_0 (radio_service))
+(typeattributeset ram_device_32_0 (ram_device))
+(typeattributeset random_device_32_0 (random_device))
+(typeattributeset reboot_readiness_service_32_0 (reboot_readiness_service))
+(typeattributeset rebootescrow_hal_prop_32_0 (rebootescrow_hal_prop))
+(typeattributeset recovery_32_0 (recovery))
+(typeattributeset recovery_block_device_32_0 (recovery_block_device))
+(typeattributeset recovery_config_prop_32_0 (recovery_config_prop))
+(typeattributeset recovery_data_file_32_0 (recovery_data_file))
+(typeattributeset recovery_persist_32_0 (recovery_persist))
+(typeattributeset recovery_persist_exec_32_0 (recovery_persist_exec))
+(typeattributeset recovery_refresh_32_0 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_32_0 (recovery_refresh_exec))
+(typeattributeset recovery_service_32_0 (recovery_service))
+(typeattributeset recovery_socket_32_0 (recovery_socket))
+(typeattributeset registry_service_32_0 (registry_service))
+(typeattributeset remoteprovisioning_service_32_0 (remoteprovisioning_service))
+(typeattributeset resourcecache_data_file_32_0 (resourcecache_data_file))
+(typeattributeset restorecon_prop_32_0 (restorecon_prop))
+(typeattributeset restrictions_service_32_0 (restrictions_service))
+(typeattributeset retaildemo_prop_32_0 (retaildemo_prop))
+(typeattributeset rild_debug_socket_32_0 (rild_debug_socket))
+(typeattributeset rild_socket_32_0 (rild_socket))
+(typeattributeset ringtone_file_32_0 (ringtone_file))
+(typeattributeset role_service_32_0 (role_service))
+(typeattributeset rollback_service_32_0 (rollback_service))
+(typeattributeset root_block_device_32_0 (root_block_device))
+(typeattributeset rootfs_32_0 (rootfs))
+(typeattributeset rpmsg_device_32_0 (rpmsg_device))
+(typeattributeset rs_32_0 (rs))
+(typeattributeset rs_exec_32_0 (rs_exec))
+(typeattributeset rss_hwm_reset_32_0 (rss_hwm_reset))
+(typeattributeset rtc_device_32_0 (rtc_device))
+(typeattributeset rttmanager_service_32_0 (rttmanager_service))
+(typeattributeset runas_32_0 (runas))
+(typeattributeset runas_app_32_0 (runas_app))
+(typeattributeset runas_exec_32_0 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_32_0 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_32_0 (runtime_service))
+(typeattributeset safemode_prop_32_0 (safemode_prop))
+(typeattributeset same_process_hal_file_32_0 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_32_0 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_32_0 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_32_0 (sdcard_block_device))
+(typeattributeset sdcardd_32_0 (sdcardd))
+(typeattributeset sdcardd_exec_32_0 (sdcardd_exec))
+(typeattributeset sdcardfs_32_0 (sdcardfs))
+(typeattributeset seapp_contexts_file_32_0 (seapp_contexts_file))
+(typeattributeset search_service_32_0 (search_service))
+(typeattributeset search_ui_service_32_0 (search_ui_service))
+(typeattributeset sec_key_att_app_id_provider_service_32_0 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_32_0 (secure_element))
+(typeattributeset secure_element_device_32_0 (secure_element_device))
+(typeattributeset secure_element_service_32_0 (secure_element_service))
+(typeattributeset securityfs_32_0 (securityfs))
+(typeattributeset selinuxfs_32_0 (selinuxfs))
+(typeattributeset sendbug_config_prop_32_0 (sendbug_config_prop))
+(typeattributeset sensor_privacy_service_32_0 (sensor_privacy_service))
+(typeattributeset sensors_device_32_0 (sensors_device))
+(typeattributeset sensorservice_service_32_0 (sensorservice_service))
+(typeattributeset sepolicy_file_32_0 (sepolicy_file))
+(typeattributeset serial_device_32_0 (serial_device))
+(typeattributeset serial_service_32_0 (serial_service))
+(typeattributeset serialno_prop_32_0 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_32_0 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_32_0 (service_contexts_file))
+(typeattributeset service_manager_service_32_0 (service_manager_service))
+(typeattributeset service_manager_vndservice_32_0 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_32_0 (servicediscovery_service))
+(typeattributeset servicemanager_32_0 (servicemanager))
+(typeattributeset servicemanager_exec_32_0 (servicemanager_exec))
+(typeattributeset settings_service_32_0 (settings_service))
+(typeattributeset sgdisk_32_0 (sgdisk))
+(typeattributeset sgdisk_exec_32_0 (sgdisk_exec))
+(typeattributeset shared_relro_32_0 (shared_relro))
+(typeattributeset shared_relro_file_32_0 (shared_relro_file))
+(typeattributeset shell_32_0 (shell))
+(typeattributeset shell_data_file_32_0 (shell_data_file))
+(typeattributeset shell_exec_32_0 (shell_exec))
+(typeattributeset shell_prop_32_0 (shell_prop))
+(typeattributeset shell_test_data_file_32_0 (shell_test_data_file))
+(typeattributeset shm_32_0 (shm))
+(typeattributeset shortcut_manager_icons_32_0 (shortcut_manager_icons))
+(typeattributeset shortcut_service_32_0 (shortcut_service))
+(typeattributeset simpleperf_32_0 (simpleperf))
+(typeattributeset simpleperf_app_runner_32_0 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_32_0 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_32_0 (slice_service))
+(typeattributeset slideshow_32_0 (slideshow))
+(typeattributeset smartspace_service_32_0 (smartspace_service))
+(typeattributeset snapshotctl_log_data_file_32_0 (snapshotctl_log_data_file))
+(typeattributeset snapuserd_socket_32_0 (snapuserd_socket))
+(typeattributeset soc_prop_32_0 (soc_prop))
+(typeattributeset socket_device_32_0 (socket_device))
+(typeattributeset socket_hook_prop_32_0 (socket_hook_prop))
+(typeattributeset sockfs_32_0 (sockfs))
+(typeattributeset sota_prop_32_0 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_32_0 (soundtrigger_middleware_service))
+(typeattributeset speech_recognition_service_32_0 (speech_recognition_service))
+(typeattributeset sqlite_log_prop_32_0 (sqlite_log_prop))
+(typeattributeset staged_install_file_32_0 (staged_install_file))
+(typeattributeset staging_data_file_32_0 (staging_data_file))
+(typeattributeset stats_data_file_32_0 (stats_data_file))
+(typeattributeset statsd_32_0 (statsd))
+(typeattributeset statsd_exec_32_0 (statsd_exec))
+(typeattributeset statsdw_socket_32_0 (statsdw_socket))
+(typeattributeset statusbar_service_32_0 (statusbar_service))
+(typeattributeset storage_config_prop_32_0 (storage_config_prop))
+(typeattributeset storage_file_32_0 (storage_file))
+(typeattributeset storage_stub_file_32_0 (storage_stub_file))
+(typeattributeset storaged_service_32_0 (storaged_service))
+(typeattributeset storagemanager_config_prop_32_0 (storagemanager_config_prop))
+(typeattributeset storagestats_service_32_0 (storagestats_service))
+(typeattributeset su_32_0 (su))
+(typeattributeset su_exec_32_0 (su_exec))
+(typeattributeset super_block_device_32_0 (super_block_device))
+(typeattributeset surfaceflinger_32_0 (surfaceflinger))
+(typeattributeset surfaceflinger_color_prop_32_0 (surfaceflinger_color_prop))
+(typeattributeset surfaceflinger_display_prop_32_0 (surfaceflinger_display_prop))
+(typeattributeset surfaceflinger_prop_32_0 (surfaceflinger_prop))
+(typeattributeset surfaceflinger_service_32_0 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_32_0 (surfaceflinger_tmpfs))
+(typeattributeset suspend_prop_32_0 (suspend_prop))
+(typeattributeset swap_block_device_32_0 (swap_block_device))
+(typeattributeset sysfs_32_0 (sysfs))
+(typeattributeset sysfs_android_usb_32_0 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_32_0 (sysfs_batteryinfo))
+(typeattributeset sysfs_block_32_0 (sysfs_block))
+(typeattributeset sysfs_bluetooth_writable_32_0 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devfreq_cur_32_0 (sysfs_devfreq_cur))
+(typeattributeset sysfs_devfreq_dir_32_0 (sysfs_devfreq_dir))
+(typeattributeset sysfs_devices_block_32_0 (sysfs_devices_block))
+(typeattributeset sysfs_devices_cs_etm_32_0 (sysfs_devices_cs_etm))
+(typeattributeset sysfs_devices_system_cpu_32_0 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_32_0 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_32_0 (sysfs_dm_verity))
+(typeattributeset sysfs_dma_heap_32_0 (sysfs_dma_heap))
+(typeattributeset sysfs_dmabuf_stats_32_0 (sysfs_dmabuf_stats))
+(typeattributeset sysfs_dt_firmware_android_32_0 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_32_0 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_32_0 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_32_0 (sysfs_fs_f2fs))
+(typeattributeset sysfs_fs_incfs_features_32_0 (sysfs_fs_incfs_features))
+(typeattributeset sysfs_fs_incfs_metrics_32_0 (sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_hwrandom_32_0 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_32_0 (sysfs_ion))
+(typeattributeset sysfs_ipv4_32_0 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_32_0 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_32_0 (sysfs_leds))
+(typeattributeset sysfs_loop_32_0 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_32_0 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_net_32_0 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_32_0 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_32_0 (sysfs_power))
+(typeattributeset sysfs_rtc_32_0 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_32_0 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_32_0 (sysfs_switch))
+(typeattributeset sysfs_thermal_32_0 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_32_0 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uhid_32_0 (sysfs_uhid))
+(typeattributeset sysfs_uio_32_0 (sysfs_uio))
+(typeattributeset sysfs_usb_32_0 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_32_0 (sysfs_usermodehelper))
+(typeattributeset sysfs_vendor_sched_32_0 (sysfs_vendor_sched))
+(typeattributeset sysfs_vibrator_32_0 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_32_0 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_32_0 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_32_0 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_32_0 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_32_0 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_32_0 (sysfs_zram_uevent))
+(typeattributeset system_app_32_0 (system_app))
+(typeattributeset system_app_data_file_32_0 (system_app_data_file))
+(typeattributeset system_app_service_32_0 (system_app_service))
+(typeattributeset system_asan_options_file_32_0 (system_asan_options_file))
+(typeattributeset system_block_device_32_0 (system_block_device))
+(typeattributeset system_boot_reason_prop_32_0 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_32_0 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_32_0 (system_config_service))
+(typeattributeset system_data_file_32_0 (system_data_file))
+(typeattributeset system_data_root_file_32_0 (system_data_root_file))
+(typeattributeset system_event_log_tags_file_32_0 (system_event_log_tags_file))
+(typeattributeset system_file_32_0 (system_file))
+(typeattributeset system_group_file_32_0 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_32_0 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_32_0 (system_lib_file))
+(typeattributeset system_linker_config_file_32_0 (system_linker_config_file))
+(typeattributeset system_linker_exec_32_0 (system_linker_exec))
+(typeattributeset system_lmk_prop_32_0 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_32_0 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_32_0 (system_net_netd_hwservice))
+(typeattributeset system_passwd_file_32_0 (system_passwd_file))
+(typeattributeset system_prop_32_0 (system_prop))
+(typeattributeset system_seccomp_policy_file_32_0 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_32_0 (system_security_cacerts_file))
+(typeattributeset system_server_32_0 (system_server))
+(typeattributeset system_server_dumper_service_32_0 (system_server_dumper_service))
+(typeattributeset system_server_tmpfs_32_0 (system_server_tmpfs))
+(typeattributeset system_suspend_control_internal_service_32_0 (system_suspend_control_internal_service))
+(typeattributeset system_suspend_control_service_32_0 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_32_0 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_32_0 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_32_0 (system_unsolzygote_socket))
+(typeattributeset system_update_service_32_0 (system_update_service))
+(typeattributeset system_wifi_keystore_hwservice_32_0 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_32_0 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_32_0 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_32_0 (systemkeys_data_file))
+(typeattributeset systemsound_config_prop_32_0 (systemsound_config_prop))
+(typeattributeset task_profiles_api_file_32_0 (task_profiles_api_file))
+(typeattributeset task_profiles_file_32_0 (task_profiles_file))
+(typeattributeset task_service_32_0 (task_service))
+(typeattributeset tcpdump_exec_32_0 (tcpdump_exec))
+(typeattributeset tee_32_0 (tee))
+(typeattributeset tee_data_file_32_0 (tee_data_file))
+(typeattributeset tee_device_32_0 (tee_device))
+(typeattributeset telecom_service_32_0 (telecom_service))
+(typeattributeset telephony_config_prop_32_0 (telephony_config_prop))
+(typeattributeset telephony_status_prop_32_0 (telephony_status_prop))
+(typeattributeset test_boot_reason_prop_32_0 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_32_0 (test_harness_prop))
+(typeattributeset testharness_service_32_0 (testharness_service))
+(typeattributeset tethering_service_32_0 (tethering_service))
+(typeattributeset textclassification_service_32_0 (textclassification_service))
+(typeattributeset textclassifier_data_file_32_0 (textclassifier_data_file))
+(typeattributeset textservices_service_32_0 (textservices_service))
+(typeattributeset texttospeech_service_32_0 (texttospeech_service))
+(typeattributeset theme_prop_32_0 (theme_prop))
+(typeattributeset thermal_service_32_0 (thermal_service))
+(typeattributeset time_prop_32_0 (time_prop))
+(typeattributeset timedetector_service_32_0 (timedetector_service))
+(typeattributeset timezone_service_32_0 (timezone_service))
+(typeattributeset timezonedetector_service_32_0 (timezonedetector_service))
+(typeattributeset tmpfs_32_0 (tmpfs))
+(typeattributeset tombstone_config_prop_32_0 (tombstone_config_prop))
+(typeattributeset tombstone_data_file_32_0 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_32_0 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_32_0 (tombstoned))
+(typeattributeset tombstoned_crash_socket_32_0 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_32_0 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_32_0 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_32_0 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_32_0 (toolbox))
+(typeattributeset toolbox_exec_32_0 (toolbox_exec))
+(typeattributeset trace_data_file_32_0 (trace_data_file))
+(typeattributeset traced_32_0 (traced))
+(typeattributeset traced_consumer_socket_32_0 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_32_0 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_32_0 (traced_lazy_prop))
+(typeattributeset traced_perf_32_0 (traced_perf))
+(typeattributeset traced_perf_socket_32_0 (traced_perf_socket))
+(typeattributeset traced_probes_32_0 (traced_probes))
+(typeattributeset traced_producer_socket_32_0 (traced_producer_socket))
+(typeattributeset traced_tmpfs_32_0 (traced_tmpfs))
+(typeattributeset traceur_app_32_0 (traceur_app))
+(typeattributeset translation_service_32_0 (translation_service))
+(typeattributeset trust_service_32_0 (trust_service))
+(typeattributeset tty_device_32_0 (tty_device))
+(typeattributeset tun_device_32_0 (tun_device))
+(typeattributeset tv_input_service_32_0 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_32_0 (tv_tuner_resource_mgr_service))
+(typeattributeset tzdatacheck_32_0 (tzdatacheck))
+(typeattributeset tzdatacheck_exec_32_0 (tzdatacheck_exec))
+(typeattributeset ueventd_32_0 (ueventd))
+(typeattributeset ueventd_tmpfs_32_0 (ueventd_tmpfs))
+(typeattributeset uhid_device_32_0 (uhid_device))
+(typeattributeset uimode_service_32_0 (uimode_service))
+(typeattributeset uio_device_32_0 (uio_device))
+(typeattributeset uncrypt_32_0 (uncrypt))
+(typeattributeset uncrypt_exec_32_0 (uncrypt_exec))
+(typeattributeset uncrypt_socket_32_0 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_32_0 (unencrypted_data_file))
+(typeattributeset unlabeled_32_0 (unlabeled))
+(typeattributeset untrusted_app_25_32_0 (untrusted_app_25))
+(typeattributeset untrusted_app_27_32_0 (untrusted_app_27))
+(typeattributeset untrusted_app_29_32_0 (untrusted_app_29))
+(typeattributeset untrusted_app_32_0 (untrusted_app))
+(typeattributeset update_engine_32_0 (update_engine))
+(typeattributeset update_engine_data_file_32_0 (update_engine_data_file))
+(typeattributeset update_engine_exec_32_0 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_32_0 (update_engine_log_data_file))
+(typeattributeset update_engine_service_32_0 (update_engine_service))
+(typeattributeset update_engine_stable_service_32_0 (update_engine_stable_service))
+(typeattributeset update_verifier_32_0 (update_verifier))
+(typeattributeset update_verifier_exec_32_0 (update_verifier_exec))
+(typeattributeset updatelock_service_32_0 (updatelock_service))
+(typeattributeset uri_grants_service_32_0 (uri_grants_service))
+(typeattributeset usagestats_service_32_0 (usagestats_service))
+(typeattributeset usb_config_prop_32_0 (usb_config_prop))
+(typeattributeset usb_control_prop_32_0 (usb_control_prop))
+(typeattributeset usb_device_32_0 (usb_device))
+(typeattributeset usb_prop_32_0 (usb_prop))
+(typeattributeset usb_serial_device_32_0 (usb_serial_device))
+(typeattributeset usb_service_32_0 (usb_service))
+(typeattributeset usbaccessory_device_32_0 (usbaccessory_device))
+(typeattributeset usbd_32_0 (usbd))
+(typeattributeset usbd_exec_32_0 (usbd_exec))
+(typeattributeset usbfs_32_0 (usbfs))
+(typeattributeset use_memfd_prop_32_0 (use_memfd_prop))
+(typeattributeset user_profile_data_file_32_0 (user_profile_data_file))
+(typeattributeset user_profile_root_file_32_0 (user_profile_root_file))
+(typeattributeset user_service_32_0 (user_service))
+(typeattributeset userdata_block_device_32_0 (userdata_block_device))
+(typeattributeset userdata_sysdev_32_0 (userdata_sysdev))
+(typeattributeset usermodehelper_32_0 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_32_0 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_32_0 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_metadata_file_32_0 (userspace_reboot_metadata_file))
+(typeattributeset uwb_service_32_0 (uwb_service))
+(typeattributeset vcn_management_service_32_0 (vcn_management_service))
+(typeattributeset vd_device_32_0 (vd_device))
+(typeattributeset vdc_32_0 (vdc))
+(typeattributeset vdc_exec_32_0 (vdc_exec))
+(typeattributeset vehicle_hal_prop_32_0 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_32_0 (vendor_apex_file))
+(typeattributeset vendor_app_file_32_0 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_32_0 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_32_0 (vendor_configs_file))
+(typeattributeset vendor_data_file_32_0 (vendor_data_file))
+(typeattributeset vendor_default_prop_32_0 (vendor_default_prop))
+(typeattributeset vendor_file_32_0 (vendor_file))
+(typeattributeset vendor_framework_file_32_0 (vendor_framework_file))
+(typeattributeset vendor_hal_file_32_0 (vendor_hal_file))
+(typeattributeset vendor_idc_file_32_0 (vendor_idc_file))
+(typeattributeset vendor_init_32_0 (vendor_init))
+(typeattributeset vendor_kernel_modules_32_0 (vendor_kernel_modules))
+(typeattributeset vendor_keychars_file_32_0 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_32_0 (vendor_keylayout_file))
+(typeattributeset vendor_misc_writer_32_0 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_32_0 (vendor_misc_writer_exec))
+(typeattributeset vendor_modprobe_32_0 (vendor_modprobe))
+(typeattributeset vendor_overlay_file_32_0 (vendor_overlay_file))
+(typeattributeset vendor_public_framework_file_32_0 (vendor_public_framework_file))
+(typeattributeset vendor_public_lib_file_32_0 (vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_32_0 (vendor_security_patch_level_prop))
+(typeattributeset vendor_service_contexts_file_32_0 (vendor_service_contexts_file))
+(typeattributeset vendor_shell_32_0 (vendor_shell))
+(typeattributeset vendor_shell_exec_32_0 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_32_0 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_32_0 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_32_0 (vendor_toolbox_exec))
+(typeattributeset vfat_32_0 (vfat))
+(typeattributeset vibrator_manager_service_32_0 (vibrator_manager_service))
+(typeattributeset vibrator_service_32_0 (vibrator_service))
+(typeattributeset video_device_32_0 (video_device))
+(typeattributeset virtual_ab_prop_32_0 (virtual_ab_prop))
+(typeattributeset virtual_touchpad_32_0 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_32_0 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_32_0 (virtual_touchpad_service))
+(typeattributeset virtualization_service_32_0 (virtualization_service))
+(typeattributeset vndbinder_device_32_0 (vndbinder_device))
+(typeattributeset vndk_prop_32_0 (vndk_prop))
+(typeattributeset vndk_sp_file_32_0 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_32_0 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_32_0 (vndservicemanager))
+(typeattributeset voiceinteraction_service_32_0 (voiceinteraction_service))
+(typeattributeset vold_32_0 (vold))
+(typeattributeset vold_config_prop_32_0 (vold_config_prop))
+(typeattributeset vold_data_file_32_0 (vold_data_file))
+(typeattributeset vold_device_32_0 (vold_device))
+(typeattributeset vold_exec_32_0 (vold_exec))
+(typeattributeset vold_metadata_file_32_0 (vold_metadata_file))
+(typeattributeset vold_post_fs_data_prop_32_0 (vold_post_fs_data_prop))
+(typeattributeset vold_prepare_subdirs_32_0 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_32_0 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_32_0 (vold_prop))
+(typeattributeset vold_service_32_0 (vold_service))
+(typeattributeset vold_status_prop_32_0 (vold_status_prop))
+(typeattributeset vpn_data_file_32_0 (vpn_data_file))
+(typeattributeset vpn_management_service_32_0 (vpn_management_service))
+(typeattributeset vr_hwc_32_0 (vr_hwc))
+(typeattributeset vr_hwc_exec_32_0 (vr_hwc_exec))
+(typeattributeset vr_hwc_service_32_0 (vr_hwc_service))
+(typeattributeset vr_manager_service_32_0 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_32_0 (vrflinger_vsync_service))
+(typeattributeset vts_config_prop_32_0 (vts_config_prop))
+(typeattributeset vts_status_prop_32_0 (vts_status_prop))
+(typeattributeset wallpaper_file_32_0 (wallpaper_file))
+(typeattributeset wallpaper_service_32_0 (wallpaper_service))
+(typeattributeset watchdog_device_32_0 (watchdog_device))
+(typeattributeset watchdog_metadata_file_32_0 (watchdog_metadata_file))
+(typeattributeset watchdogd_32_0 (watchdogd))
+(typeattributeset watchdogd_exec_32_0 (watchdogd_exec))
+(typeattributeset webview_zygote_32_0 (webview_zygote))
+(typeattributeset webview_zygote_exec_32_0 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_32_0 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_32_0 (webviewupdate_service))
+(typeattributeset wifi_config_prop_32_0 (wifi_config_prop))
+(typeattributeset wifi_data_file_32_0 (wifi_data_file))
+(typeattributeset wifi_hal_prop_32_0 (wifi_hal_prop))
+(typeattributeset wifi_key_32_0 (wifi_key))
+(typeattributeset wifi_log_prop_32_0 (wifi_log_prop))
+(typeattributeset wifi_prop_32_0 (wifi_prop))
+(typeattributeset wifi_service_32_0 (wifi_service))
+(typeattributeset wifiaware_service_32_0 (wifiaware_service))
+(typeattributeset wificond_32_0 (wificond))
+(typeattributeset wificond_exec_32_0 (wificond_exec))
+(typeattributeset wifinl80211_service_32_0 (wifinl80211_service))
+(typeattributeset wifip2p_service_32_0 (wifip2p_service))
+(typeattributeset wifiscanner_service_32_0 (wifiscanner_service))
+(typeattributeset window_service_32_0 (window_service))
+(typeattributeset wpa_socket_32_0 (wpa_socket))
+(typeattributeset wpantund_32_0 (wpantund))
+(typeattributeset wpantund_exec_32_0 (wpantund_exec))
+(typeattributeset wpantund_service_32_0 (wpantund_service))
+(typeattributeset zero_device_32_0 (zero_device))
+(typeattributeset zoneinfo_data_file_32_0 (zoneinfo_data_file))
+(typeattributeset zram_config_prop_32_0 (zram_config_prop))
+(typeattributeset zram_control_prop_32_0 (zram_control_prop))
+(typeattributeset zygote_32_0 (zygote))
+(typeattributeset zygote_config_prop_32_0 (zygote_config_prop))
+(typeattributeset zygote_exec_32_0 (zygote_exec))
+(typeattributeset zygote_socket_32_0 (zygote_socket))
+(typeattributeset zygote_tmpfs_32_0 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/32.0/32.0.compat.cil b/prebuilts/api/202504/private/compat/32.0/32.0.compat.cil
new file mode 100644
index 0000000..00ac11f
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/32.0/32.0.compat.cil
@@ -0,0 +1,3 @@
+;; complement CIL file for compatibility between ToT policy and 32.0 vendors.
+;; will be compiled along with other normal policy files, on 32.0 vendors.
+;;
diff --git a/prebuilts/api/202504/private/compat/32.0/32.0.ignore.cil b/prebuilts/api/202504/private/compat/32.0/32.0.ignore.cil
new file mode 100644
index 0000000..dd74cd8
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/32.0/32.0.ignore.cil
@@ -0,0 +1,86 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 32.0 policy.  Thus, we do not need to map
+;;   these types to previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    adaptive_haptics_prop
+    adservices_manager_service
+    apexd_select_prop
+    artd_service
+    attestation_verification_service
+    bluetooth_config_prop
+    binderfs_features
+    bpfloader
+    charger_vendor
+    cloudsearch
+    cloudsearch_service
+    connectivity_native_service
+    device_config_nnapi_native_prop
+    device_config_surface_flinger_native_boot_prop
+    device_config_vendor_system_native_prop
+    device_config_vendor_system_native_boot_prop
+    dice_maintenance_service
+    dice_node_service
+    diced
+    diced_exec
+    fwk_automotive_display_service
+    evsmanagerd
+    evsmanagerd_service
+    extra_free_kbytes
+    extra_free_kbytes_exec
+    framework_status_prop
+    fs_bpf_vendor
+    game_mode_intervention_list_file
+    gesture_prop
+    gwp_asan_prop
+    hal_contexthub_service
+    hal_camera_service
+    hal_evs_service
+    hal_dice_service
+    hal_drm_service
+    hal_dumpstate_service
+    hal_graphics_allocator_service
+    hal_graphics_composer_service
+    hal_health_service
+    hal_input_processor_service
+    hal_ir_service
+    hal_nfc_service
+    hal_nlinterceptor_service
+    hal_radio_service
+    hal_sensors_service
+    hal_system_suspend_service
+    hal_tv_tuner_service
+    hal_usb_service
+    hal_uwb_service
+    hal_vehicle_service
+    hal_wifi_hostapd_service
+    hal_wifi_supplicant_service
+    locale_service
+    mdns_service
+    mediatranscoding
+    nearby_service
+    persist_wm_debug_prop
+    proc_watermark_boost_factor
+    remotelyprovisionedkeypool_service
+    resources_manager_service
+    rootdisk_sysdev
+    sdk_sandbox_service
+    selection_toolbar_service
+    smart_idle_maint_enabled_prop
+    snapuserd_proxy_socket
+    sysfs_fs_fuse_bpf
+    sysfs_gpu
+    sysfs_lru_gen_enabled
+    system_dlkm_file
+    system_user_mode_emulation_prop
+    tare_service
+    tv_iapp_service
+    untrusted_app_30
+    vendor_uuid_mapping_config_file
+    vendor_vm_data_file
+    vendor_vm_file
+    virtual_device_service
+    wallpaper_effects_generation_service
+))
diff --git a/prebuilts/api/202504/private/compat/33.0/33.0.cil b/prebuilts/api/202504/private/compat/33.0/33.0.cil
new file mode 100644
index 0000000..16babe7
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/33.0/33.0.cil
@@ -0,0 +1,2649 @@
+;; types removed from current policy
+(type dice_maintenance_service)
+(type dice_node_service)
+(type diced)
+(type diced_exec)
+(type hal_dice_service)
+(type iorap_inode2filename)
+(type iorap_inode2filename_exec)
+(type iorap_inode2filename_tmpfs)
+(type iorap_prefetcherd)
+(type iorap_prefetcherd_exec)
+(type iorap_prefetcherd_tmpfs)
+(type iorapd)
+(type iorapd_data_file)
+(type iorapd_exec)
+(type iorapd_service)
+(type iorapd_tmpfs)
+(type lowpan_service)
+(type remotelyprovisionedkeypool_service)
+(type remoteprovisioning_service)
+(type timezone_service)
+(type tzdatacheck)
+(type tzdatacheck_exec)
+(type wpantund)
+(type wpantund_exec)
+(type wpantund_service)
+(type zoneinfo_data_file)
+
+;; mapping information from ToT policy's types to 33.0 policy's types.
+(expandtypeattribute (DockObserver_service_33_0) true)
+(expandtypeattribute (IProxyService_service_33_0) true)
+(expandtypeattribute (aac_drc_prop_33_0) true)
+(expandtypeattribute (aaudio_config_prop_33_0) true)
+(expandtypeattribute (ab_update_gki_prop_33_0) true)
+(expandtypeattribute (accessibility_service_33_0) true)
+(expandtypeattribute (account_service_33_0) true)
+(expandtypeattribute (activity_service_33_0) true)
+(expandtypeattribute (activity_task_service_33_0) true)
+(expandtypeattribute (adb_data_file_33_0) true)
+(expandtypeattribute (adb_keys_file_33_0) true)
+(expandtypeattribute (adb_service_33_0) true)
+(expandtypeattribute (adbd_33_0) true)
+(expandtypeattribute (adbd_config_prop_33_0) true)
+(expandtypeattribute (adbd_exec_33_0) true)
+(expandtypeattribute (adbd_socket_33_0) true)
+(expandtypeattribute (adservices_manager_service_33_0) true)
+(expandtypeattribute (aidl_lazy_test_server_33_0) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_33_0) true)
+(expandtypeattribute (aidl_lazy_test_service_33_0) true)
+(expandtypeattribute (alarm_service_33_0) true)
+(expandtypeattribute (anr_data_file_33_0) true)
+(expandtypeattribute (apc_service_33_0) true)
+(expandtypeattribute (apex_data_file_33_0) true)
+(expandtypeattribute (apex_info_file_33_0) true)
+(expandtypeattribute (apex_metadata_file_33_0) true)
+(expandtypeattribute (apex_mnt_dir_33_0) true)
+(expandtypeattribute (apex_module_data_file_33_0) true)
+(expandtypeattribute (apex_ota_reserved_file_33_0) true)
+(expandtypeattribute (apex_rollback_data_file_33_0) true)
+(expandtypeattribute (apex_service_33_0) true)
+(expandtypeattribute (apex_system_server_data_file_33_0) true)
+(expandtypeattribute (apexd_33_0) true)
+(expandtypeattribute (apexd_config_prop_33_0) true)
+(expandtypeattribute (apexd_exec_33_0) true)
+(expandtypeattribute (apexd_prop_33_0) true)
+(expandtypeattribute (apexd_select_prop_33_0) true)
+(expandtypeattribute (apk_data_file_33_0) true)
+(expandtypeattribute (apk_private_data_file_33_0) true)
+(expandtypeattribute (apk_private_tmp_file_33_0) true)
+(expandtypeattribute (apk_tmp_file_33_0) true)
+(expandtypeattribute (apk_verity_prop_33_0) true)
+(expandtypeattribute (app_binding_service_33_0) true)
+(expandtypeattribute (app_data_file_33_0) true)
+(expandtypeattribute (app_fuse_file_33_0) true)
+(expandtypeattribute (app_fusefs_33_0) true)
+(expandtypeattribute (app_hibernation_service_33_0) true)
+(expandtypeattribute (app_integrity_service_33_0) true)
+(expandtypeattribute (app_prediction_service_33_0) true)
+(expandtypeattribute (app_search_service_33_0) true)
+(expandtypeattribute (app_zygote_33_0) true)
+(expandtypeattribute (app_zygote_tmpfs_33_0) true)
+(expandtypeattribute (appcompat_data_file_33_0) true)
+(expandtypeattribute (appdomain_tmpfs_33_0) true)
+(expandtypeattribute (appops_service_33_0) true)
+(expandtypeattribute (appwidget_service_33_0) true)
+(expandtypeattribute (arm64_memtag_prop_33_0) true)
+(expandtypeattribute (art_apex_dir_33_0) true)
+(expandtypeattribute (artd_service_33_0) true)
+(expandtypeattribute (asec_apk_file_33_0) true)
+(expandtypeattribute (asec_image_file_33_0) true)
+(expandtypeattribute (asec_public_file_33_0) true)
+(expandtypeattribute (ashmem_device_33_0) true)
+(expandtypeattribute (ashmem_libcutils_device_33_0) true)
+(expandtypeattribute (assetatlas_service_33_0) true)
+(expandtypeattribute (atrace_33_0) true)
+(expandtypeattribute (attestation_verification_service_33_0) true)
+(expandtypeattribute (audio_config_prop_33_0) true)
+(expandtypeattribute (audio_data_file_33_0) true)
+(expandtypeattribute (audio_device_33_0) true)
+(expandtypeattribute (audio_prop_33_0) true)
+(expandtypeattribute (audio_service_33_0) true)
+(expandtypeattribute (audiohal_data_file_33_0) true)
+(expandtypeattribute (audioserver_33_0) true)
+(expandtypeattribute (audioserver_data_file_33_0) true)
+(expandtypeattribute (audioserver_service_33_0) true)
+(expandtypeattribute (audioserver_tmpfs_33_0) true)
+(expandtypeattribute (auth_service_33_0) true)
+(expandtypeattribute (authorization_service_33_0) true)
+(expandtypeattribute (autofill_service_33_0) true)
+(expandtypeattribute (backup_data_file_33_0) true)
+(expandtypeattribute (backup_service_33_0) true)
+(expandtypeattribute (battery_service_33_0) true)
+(expandtypeattribute (batteryproperties_service_33_0) true)
+(expandtypeattribute (batterystats_service_33_0) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_33_0) true)
+(expandtypeattribute (binder_cache_system_server_prop_33_0) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_33_0) true)
+(expandtypeattribute (binder_calls_stats_service_33_0) true)
+(expandtypeattribute (binder_device_33_0) true)
+(expandtypeattribute (binderfs_33_0) true)
+(expandtypeattribute (binderfs_features_33_0) true)
+(expandtypeattribute (binderfs_logs_33_0) true)
+(expandtypeattribute (binderfs_logs_proc_33_0) true)
+(expandtypeattribute (binfmt_miscfs_33_0) true)
+(expandtypeattribute (biometric_service_33_0) true)
+(expandtypeattribute (blkid_33_0) true)
+(expandtypeattribute (blkid_untrusted_33_0) true)
+(expandtypeattribute (blob_store_service_33_0) true)
+(expandtypeattribute (block_device_33_0) true)
+(expandtypeattribute (bluetooth_33_0) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_33_0) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_33_0) true)
+(expandtypeattribute (bluetooth_config_prop_33_0) true)
+(expandtypeattribute (bluetooth_data_file_33_0) true)
+(expandtypeattribute (bluetooth_efs_file_33_0) true)
+(expandtypeattribute (bluetooth_logs_data_file_33_0) true)
+(expandtypeattribute (bluetooth_manager_service_33_0) true)
+(expandtypeattribute (bluetooth_prop_33_0) true)
+(expandtypeattribute (bluetooth_service_33_0) true)
+(expandtypeattribute (bluetooth_socket_33_0) true)
+(expandtypeattribute (boot_block_device_33_0) true)
+(expandtypeattribute (boot_status_prop_33_0) true)
+(expandtypeattribute (bootanim_33_0) true)
+(expandtypeattribute (bootanim_config_prop_33_0) true)
+(expandtypeattribute (bootanim_exec_33_0) true)
+(expandtypeattribute (bootanim_system_prop_33_0) true)
+(expandtypeattribute (bootchart_data_file_33_0) true)
+(expandtypeattribute (bootloader_boot_reason_prop_33_0) true)
+(expandtypeattribute (bootloader_prop_33_0) true)
+(expandtypeattribute (bootstat_33_0) true)
+(expandtypeattribute (bootstat_data_file_33_0) true)
+(expandtypeattribute (bootstat_exec_33_0) true)
+(expandtypeattribute (boottime_prop_33_0) true)
+(expandtypeattribute (boottime_public_prop_33_0) true)
+(expandtypeattribute (boottrace_data_file_33_0) true)
+(expandtypeattribute (bpf_progs_loaded_prop_33_0) true)
+(expandtypeattribute (bpfloader_33_0) true)
+(expandtypeattribute (bq_config_prop_33_0) true)
+(expandtypeattribute (broadcastradio_service_33_0) true)
+(expandtypeattribute (bufferhubd_33_0) true)
+(expandtypeattribute (bufferhubd_exec_33_0) true)
+(expandtypeattribute (bugreport_service_33_0) true)
+(expandtypeattribute (build_bootimage_prop_33_0) true)
+(expandtypeattribute (build_config_prop_33_0) true)
+(expandtypeattribute (build_odm_prop_33_0) true)
+(expandtypeattribute (build_prop_33_0) true)
+(expandtypeattribute (build_vendor_prop_33_0) true)
+(expandtypeattribute (cache_backup_file_33_0) true)
+(expandtypeattribute (cache_block_device_33_0) true)
+(expandtypeattribute (cache_file_33_0) true)
+(expandtypeattribute (cache_private_backup_file_33_0) true)
+(expandtypeattribute (cache_recovery_file_33_0) true)
+(expandtypeattribute (cacheinfo_service_33_0) true)
+(expandtypeattribute (camera2_extensions_prop_33_0) true)
+(expandtypeattribute (camera_calibration_prop_33_0) true)
+(expandtypeattribute (camera_config_prop_33_0) true)
+(expandtypeattribute (camera_data_file_33_0) true)
+(expandtypeattribute (camera_device_33_0) true)
+(expandtypeattribute (cameraproxy_service_33_0) true)
+(expandtypeattribute (cameraserver_33_0) true)
+(expandtypeattribute (cameraserver_exec_33_0) true)
+(expandtypeattribute (cameraserver_service_33_0) true)
+(expandtypeattribute (cameraserver_tmpfs_33_0) true)
+(expandtypeattribute (camerax_extensions_prop_33_0) true)
+(expandtypeattribute (cgroup_33_0) true)
+(expandtypeattribute (cgroup_desc_api_file_33_0) true)
+(expandtypeattribute (cgroup_desc_file_33_0) true)
+(expandtypeattribute (cgroup_rc_file_33_0) true)
+(expandtypeattribute (cgroup_v2_33_0) true)
+(expandtypeattribute (charger_33_0) true)
+(expandtypeattribute (charger_config_prop_33_0) true)
+(expandtypeattribute (charger_exec_33_0) true)
+(expandtypeattribute (charger_prop_33_0) true)
+(expandtypeattribute (charger_status_prop_33_0) true)
+(expandtypeattribute (charger_vendor_33_0) true)
+(expandtypeattribute (clipboard_service_33_0) true)
+(expandtypeattribute (cloudsearch_service_33_0) true)
+(expandtypeattribute (codec2_config_prop_33_0) true)
+(expandtypeattribute (cold_boot_done_prop_33_0) true)
+(expandtypeattribute (color_display_service_33_0) true)
+(expandtypeattribute (companion_device_service_33_0) true)
+(expandtypeattribute (config_prop_33_0) true)
+(expandtypeattribute (configfs_33_0) true)
+(expandtypeattribute (connectivity_native_service_33_0) true)
+(expandtypeattribute (connectivity_service_33_0) true)
+(expandtypeattribute (connmetrics_service_33_0) true)
+(expandtypeattribute (console_device_33_0) true)
+(expandtypeattribute (consumer_ir_service_33_0) true)
+(expandtypeattribute (content_capture_service_33_0) true)
+(expandtypeattribute (content_service_33_0) true)
+(expandtypeattribute (content_suggestions_service_33_0) true)
+(expandtypeattribute (contexthub_service_33_0) true)
+(expandtypeattribute (coredump_file_33_0) true)
+(expandtypeattribute (country_detector_service_33_0) true)
+(expandtypeattribute (coverage_service_33_0) true)
+(expandtypeattribute (cppreopt_prop_33_0) true)
+(expandtypeattribute (cpu_variant_prop_33_0) true)
+(expandtypeattribute (cpuinfo_service_33_0) true)
+(expandtypeattribute (crash_dump_33_0) true)
+(expandtypeattribute (crash_dump_exec_33_0) true)
+(expandtypeattribute (credstore_33_0) true)
+(expandtypeattribute (credstore_data_file_33_0) true)
+(expandtypeattribute (credstore_exec_33_0) true)
+(expandtypeattribute (credstore_service_33_0) true)
+(expandtypeattribute (crossprofileapps_service_33_0) true)
+(expandtypeattribute (ctl_adbd_prop_33_0) true)
+(expandtypeattribute (ctl_apexd_prop_33_0) true)
+(expandtypeattribute (ctl_bootanim_prop_33_0) true)
+(expandtypeattribute (ctl_bugreport_prop_33_0) true)
+(expandtypeattribute (ctl_console_prop_33_0) true)
+(expandtypeattribute (ctl_default_prop_33_0) true)
+(expandtypeattribute (ctl_dumpstate_prop_33_0) true)
+(expandtypeattribute (ctl_fuse_prop_33_0) true)
+(expandtypeattribute (ctl_gsid_prop_33_0) true)
+(expandtypeattribute (ctl_interface_restart_prop_33_0) true)
+(expandtypeattribute (ctl_interface_start_prop_33_0) true)
+(expandtypeattribute (ctl_interface_stop_prop_33_0) true)
+(expandtypeattribute (ctl_mdnsd_prop_33_0) true)
+(expandtypeattribute (ctl_restart_prop_33_0) true)
+(expandtypeattribute (ctl_rildaemon_prop_33_0) true)
+(expandtypeattribute (ctl_sigstop_prop_33_0) true)
+(expandtypeattribute (ctl_start_prop_33_0) true)
+(expandtypeattribute (ctl_stop_prop_33_0) true)
+(expandtypeattribute (dalvik_config_prop_33_0) true)
+(expandtypeattribute (dalvik_prop_33_0) true)
+(expandtypeattribute (dalvik_runtime_prop_33_0) true)
+(expandtypeattribute (dalvikcache_data_file_33_0) true)
+(expandtypeattribute (dataloader_manager_service_33_0) true)
+(expandtypeattribute (dbinfo_service_33_0) true)
+(expandtypeattribute (dck_prop_33_0) true)
+(expandtypeattribute (debug_prop_33_0) true)
+(expandtypeattribute (debugfs_33_0) true)
+(expandtypeattribute (debugfs_bootreceiver_tracing_33_0) true)
+(expandtypeattribute (debugfs_kprobes_33_0) true)
+(expandtypeattribute (debugfs_mm_events_tracing_33_0) true)
+(expandtypeattribute (debugfs_mmc_33_0) true)
+(expandtypeattribute (debugfs_restriction_prop_33_0) true)
+(expandtypeattribute (debugfs_trace_marker_33_0) true)
+(expandtypeattribute (debugfs_tracing_33_0) true)
+(expandtypeattribute (debugfs_tracing_debug_33_0) true)
+(expandtypeattribute (debugfs_tracing_instances_33_0) true)
+(expandtypeattribute (debugfs_tracing_printk_formats_33_0) true)
+(expandtypeattribute (debugfs_wakeup_sources_33_0) true)
+(expandtypeattribute (debugfs_wifi_tracing_33_0) true)
+(expandtypeattribute (debuggerd_prop_33_0) true)
+(expandtypeattribute (default_android_hwservice_33_0) true)
+(expandtypeattribute (default_android_service_33_0) true)
+(expandtypeattribute (default_android_vndservice_33_0) true)
+(expandtypeattribute (default_prop_33_0) true)
+(expandtypeattribute (dev_cpu_variant_33_0) true)
+(expandtypeattribute (device_33_0) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_33_0) true)
+(expandtypeattribute (device_config_boot_count_prop_33_0) true)
+(expandtypeattribute (device_config_input_native_boot_prop_33_0) true)
+(expandtypeattribute (device_config_media_native_prop_33_0) true)
+(expandtypeattribute (device_config_netd_native_prop_33_0) true)
+(expandtypeattribute (device_config_nnapi_native_prop_33_0) true)
+(expandtypeattribute (device_config_reset_performed_prop_33_0) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_33_0) true)
+(expandtypeattribute (device_config_runtime_native_prop_33_0) true)
+(expandtypeattribute (device_config_service_33_0) true)
+(expandtypeattribute (device_config_surface_flinger_native_boot_prop_33_0) true)
+(expandtypeattribute (device_identifiers_service_33_0) true)
+(expandtypeattribute (device_logging_prop_33_0) true)
+(expandtypeattribute (device_policy_service_33_0) true)
+(expandtypeattribute (device_state_service_33_0) true)
+(expandtypeattribute (deviceidle_service_33_0) true)
+(expandtypeattribute (devicestoragemonitor_service_33_0) true)
+(expandtypeattribute (devpts_33_0) true)
+(expandtypeattribute (dhcp_33_0) true)
+(expandtypeattribute (dhcp_data_file_33_0) true)
+(expandtypeattribute (dhcp_exec_33_0) true)
+(expandtypeattribute (dhcp_prop_33_0) true)
+(expandtypeattribute (dice_maintenance_service_33_0) true)
+(expandtypeattribute (dice_node_service_33_0) true)
+(expandtypeattribute (diced_33_0) true)
+(expandtypeattribute (diced_exec_33_0) true)
+(expandtypeattribute (diskstats_service_33_0) true)
+(expandtypeattribute (display_service_33_0) true)
+(expandtypeattribute (dm_device_33_0) true)
+(expandtypeattribute (dm_user_device_33_0) true)
+(expandtypeattribute (dmabuf_heap_device_33_0) true)
+(expandtypeattribute (dmabuf_system_heap_device_33_0) true)
+(expandtypeattribute (dmabuf_system_secure_heap_device_33_0) true)
+(expandtypeattribute (dnsmasq_33_0) true)
+(expandtypeattribute (dnsmasq_exec_33_0) true)
+(expandtypeattribute (dnsproxyd_socket_33_0) true)
+(expandtypeattribute (dnsresolver_service_33_0) true)
+(expandtypeattribute (domain_verification_service_33_0) true)
+(expandtypeattribute (dreams_service_33_0) true)
+(expandtypeattribute (drm_data_file_33_0) true)
+(expandtypeattribute (drm_service_config_prop_33_0) true)
+(expandtypeattribute (drmserver_33_0) true)
+(expandtypeattribute (drmserver_exec_33_0) true)
+(expandtypeattribute (drmserver_service_33_0) true)
+(expandtypeattribute (drmserver_socket_33_0) true)
+(expandtypeattribute (dropbox_data_file_33_0) true)
+(expandtypeattribute (dropbox_service_33_0) true)
+(expandtypeattribute (dumpstate_33_0) true)
+(expandtypeattribute (dumpstate_exec_33_0) true)
+(expandtypeattribute (dumpstate_options_prop_33_0) true)
+(expandtypeattribute (dumpstate_prop_33_0) true)
+(expandtypeattribute (dumpstate_service_33_0) true)
+(expandtypeattribute (dumpstate_socket_33_0) true)
+(expandtypeattribute (dynamic_system_prop_33_0) true)
+(expandtypeattribute (e2fs_33_0) true)
+(expandtypeattribute (e2fs_exec_33_0) true)
+(expandtypeattribute (efs_file_33_0) true)
+(expandtypeattribute (emergency_affordance_service_33_0) true)
+(expandtypeattribute (ephemeral_app_33_0) true)
+(expandtypeattribute (ethernet_service_33_0) true)
+(expandtypeattribute (evsmanagerd_33_0) true)
+(expandtypeattribute (evsmanagerd_service_33_0) true)
+(expandtypeattribute (exfat_33_0) true)
+(expandtypeattribute (exported3_system_prop_33_0) true)
+(expandtypeattribute (exported_bluetooth_prop_33_0) true)
+(expandtypeattribute (exported_camera_prop_33_0) true)
+(expandtypeattribute (exported_config_prop_33_0) true)
+(expandtypeattribute (exported_default_prop_33_0) true)
+(expandtypeattribute (exported_dumpstate_prop_33_0) true)
+(expandtypeattribute (exported_overlay_prop_33_0) true)
+(expandtypeattribute (exported_pm_prop_33_0) true)
+(expandtypeattribute (exported_secure_prop_33_0) true)
+(expandtypeattribute (exported_system_prop_33_0) true)
+(expandtypeattribute (external_vibrator_service_33_0) true)
+(expandtypeattribute (extra_free_kbytes_33_0) true)
+(expandtypeattribute (extra_free_kbytes_exec_33_0) true)
+(expandtypeattribute (face_service_33_0) true)
+(expandtypeattribute (face_vendor_data_file_33_0) true)
+(expandtypeattribute (fastbootd_33_0) true)
+(expandtypeattribute (ffs_config_prop_33_0) true)
+(expandtypeattribute (ffs_control_prop_33_0) true)
+(expandtypeattribute (file_contexts_file_33_0) true)
+(expandtypeattribute (file_integrity_service_33_0) true)
+(expandtypeattribute (fingerprint_prop_33_0) true)
+(expandtypeattribute (fingerprint_service_33_0) true)
+(expandtypeattribute (fingerprint_vendor_data_file_33_0) true)
+(expandtypeattribute (fingerprintd_33_0) true)
+(expandtypeattribute (fingerprintd_data_file_33_0) true)
+(expandtypeattribute (fingerprintd_exec_33_0) true)
+(expandtypeattribute (fingerprintd_service_33_0) true)
+(expandtypeattribute (firstboot_prop_33_0) true)
+(expandtypeattribute (flags_health_check_33_0) true)
+(expandtypeattribute (flags_health_check_exec_33_0) true)
+(expandtypeattribute (font_service_33_0) true)
+(expandtypeattribute (framework_watchdog_config_prop_33_0) true)
+(expandtypeattribute (frp_block_device_33_0) true)
+(expandtypeattribute (fs_bpf_33_0) true)
+(expandtypeattribute (fs_bpf_tethering_33_0) true)
+(expandtypeattribute (fs_bpf_vendor_33_0) true)
+(expandtypeattribute (fsck_33_0) true)
+(expandtypeattribute (fsck_exec_33_0) true)
+(expandtypeattribute (fsck_untrusted_33_0) true)
+(expandtypeattribute (fscklogs_33_0) true)
+(expandtypeattribute (functionfs_33_0) true)
+(expandtypeattribute (fuse_33_0) true)
+(expandtypeattribute (fuse_device_33_0) true)
+(expandtypeattribute (fusectlfs_33_0) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_33_0) true)
+(expandtypeattribute (fwk_automotive_display_service_33_0) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_33_0) true)
+(expandtypeattribute (fwk_camera_hwservice_33_0) true)
+(expandtypeattribute (fwk_display_hwservice_33_0) true)
+(expandtypeattribute (fwk_scheduler_hwservice_33_0) true)
+(expandtypeattribute (fwk_sensor_hwservice_33_0) true)
+(expandtypeattribute (fwk_stats_hwservice_33_0) true)
+(expandtypeattribute (fwk_stats_service_33_0) true)
+(expandtypeattribute (fwmarkd_socket_33_0) true)
+(expandtypeattribute (game_mode_intervention_list_file_33_0) true)
+(expandtypeattribute (game_service_33_0) true)
+(expandtypeattribute (gatekeeper_data_file_33_0) true)
+(expandtypeattribute (gatekeeper_service_33_0) true)
+(expandtypeattribute (gatekeeperd_33_0) true)
+(expandtypeattribute (gatekeeperd_exec_33_0) true)
+(expandtypeattribute (gesture_prop_33_0) true)
+(expandtypeattribute (gfxinfo_service_33_0) true)
+(expandtypeattribute (gmscore_app_33_0) true)
+(expandtypeattribute (gnss_device_33_0) true)
+(expandtypeattribute (gnss_time_update_service_33_0) true)
+(expandtypeattribute (gps_control_33_0) true)
+(expandtypeattribute (gpu_device_33_0) true)
+(expandtypeattribute (gpu_service_33_0) true)
+(expandtypeattribute (gpuservice_33_0) true)
+(expandtypeattribute (graphics_config_prop_33_0) true)
+(expandtypeattribute (graphics_device_33_0) true)
+(expandtypeattribute (graphicsstats_service_33_0) true)
+(expandtypeattribute (gsi_data_file_33_0) true)
+(expandtypeattribute (gsi_metadata_file_33_0) true)
+(expandtypeattribute (gsi_public_metadata_file_33_0) true)
+(expandtypeattribute (gwp_asan_prop_33_0) true)
+(expandtypeattribute (hal_atrace_hwservice_33_0) true)
+(expandtypeattribute (hal_audio_hwservice_33_0) true)
+(expandtypeattribute (hal_audio_service_33_0) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_33_0) true)
+(expandtypeattribute (hal_audiocontrol_service_33_0) true)
+(expandtypeattribute (hal_authsecret_hwservice_33_0) true)
+(expandtypeattribute (hal_authsecret_service_33_0) true)
+(expandtypeattribute (hal_bluetooth_hwservice_33_0) true)
+(expandtypeattribute (hal_bootctl_hwservice_33_0) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_33_0) true)
+(expandtypeattribute (hal_camera_hwservice_33_0) true)
+(expandtypeattribute (hal_camera_service_33_0) true)
+(expandtypeattribute (hal_can_bus_hwservice_33_0) true)
+(expandtypeattribute (hal_can_controller_hwservice_33_0) true)
+(expandtypeattribute (hal_cas_hwservice_33_0) true)
+(expandtypeattribute (hal_codec2_hwservice_33_0) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_33_0) true)
+(expandtypeattribute (hal_confirmationui_hwservice_33_0) true)
+(expandtypeattribute (hal_contexthub_hwservice_33_0) true)
+(expandtypeattribute (hal_contexthub_service_33_0) true)
+(expandtypeattribute (hal_dice_service_33_0) true)
+(expandtypeattribute (hal_drm_hwservice_33_0) true)
+(expandtypeattribute (hal_drm_service_33_0) true)
+(expandtypeattribute (hal_dumpstate_config_prop_33_0) true)
+(expandtypeattribute (hal_dumpstate_hwservice_33_0) true)
+(expandtypeattribute (hal_dumpstate_service_33_0) true)
+(expandtypeattribute (hal_evs_hwservice_33_0) true)
+(expandtypeattribute (hal_evs_service_33_0) true)
+(expandtypeattribute (hal_face_hwservice_33_0) true)
+(expandtypeattribute (hal_face_service_33_0) true)
+(expandtypeattribute (hal_fingerprint_hwservice_33_0) true)
+(expandtypeattribute (hal_fingerprint_service_33_0) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_33_0) true)
+(expandtypeattribute (hal_gnss_hwservice_33_0) true)
+(expandtypeattribute (hal_gnss_service_33_0) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_33_0) true)
+(expandtypeattribute (hal_graphics_allocator_service_33_0) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_33_0) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_33_0) true)
+(expandtypeattribute (hal_graphics_composer_service_33_0) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_33_0) true)
+(expandtypeattribute (hal_health_hwservice_33_0) true)
+(expandtypeattribute (hal_health_service_33_0) true)
+(expandtypeattribute (hal_health_storage_hwservice_33_0) true)
+(expandtypeattribute (hal_health_storage_service_33_0) true)
+(expandtypeattribute (hal_identity_service_33_0) true)
+(expandtypeattribute (hal_input_classifier_hwservice_33_0) true)
+(expandtypeattribute (hal_input_processor_service_33_0) true)
+(expandtypeattribute (hal_instrumentation_prop_33_0) true)
+(expandtypeattribute (hal_ir_hwservice_33_0) true)
+(expandtypeattribute (hal_ir_service_33_0) true)
+(expandtypeattribute (hal_keymaster_hwservice_33_0) true)
+(expandtypeattribute (hal_keymint_service_33_0) true)
+(expandtypeattribute (hal_light_hwservice_33_0) true)
+(expandtypeattribute (hal_light_service_33_0) true)
+(expandtypeattribute (hal_lowpan_hwservice_33_0) true)
+(expandtypeattribute (hal_memtrack_hwservice_33_0) true)
+(expandtypeattribute (hal_memtrack_service_33_0) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_33_0) true)
+(expandtypeattribute (hal_neuralnetworks_service_33_0) true)
+(expandtypeattribute (hal_nfc_hwservice_33_0) true)
+(expandtypeattribute (hal_nfc_service_33_0) true)
+(expandtypeattribute (hal_nlinterceptor_service_33_0) true)
+(expandtypeattribute (hal_oemlock_hwservice_33_0) true)
+(expandtypeattribute (hal_oemlock_service_33_0) true)
+(expandtypeattribute (hal_omx_hwservice_33_0) true)
+(expandtypeattribute (hal_power_hwservice_33_0) true)
+(expandtypeattribute (hal_power_service_33_0) true)
+(expandtypeattribute (hal_power_stats_hwservice_33_0) true)
+(expandtypeattribute (hal_power_stats_service_33_0) true)
+(expandtypeattribute (hal_radio_service_33_0) true)
+(expandtypeattribute (hal_rebootescrow_service_33_0) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_33_0) true)
+(expandtypeattribute (hal_renderscript_hwservice_33_0) true)
+(expandtypeattribute (hal_secure_element_hwservice_33_0) true)
+(expandtypeattribute (hal_secureclock_service_33_0) true)
+(expandtypeattribute (hal_sensors_hwservice_33_0) true)
+(expandtypeattribute (hal_sensors_service_33_0) true)
+(expandtypeattribute (hal_sharedsecret_service_33_0) true)
+(expandtypeattribute (hal_system_suspend_service_33_0) true)
+(expandtypeattribute (hal_telephony_hwservice_33_0) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_33_0) true)
+(expandtypeattribute (hal_thermal_hwservice_33_0) true)
+(expandtypeattribute (hal_tv_cec_hwservice_33_0) true)
+(expandtypeattribute (hal_tv_input_hwservice_33_0) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_33_0) true)
+(expandtypeattribute (hal_tv_tuner_service_33_0) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_33_0) true)
+(expandtypeattribute (hal_usb_hwservice_33_0) true)
+(expandtypeattribute (hal_usb_service_33_0) true)
+(expandtypeattribute (hal_uwb_service_33_0) true)
+(expandtypeattribute (hal_vehicle_hwservice_33_0) true)
+(expandtypeattribute (hal_vehicle_service_33_0) true)
+(expandtypeattribute (hal_vibrator_hwservice_33_0) true)
+(expandtypeattribute (hal_vibrator_service_33_0) true)
+(expandtypeattribute (hal_vr_hwservice_33_0) true)
+(expandtypeattribute (hal_weaver_hwservice_33_0) true)
+(expandtypeattribute (hal_weaver_service_33_0) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_33_0) true)
+(expandtypeattribute (hal_wifi_hostapd_service_33_0) true)
+(expandtypeattribute (hal_wifi_hwservice_33_0) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_33_0) true)
+(expandtypeattribute (hal_wifi_supplicant_service_33_0) true)
+(expandtypeattribute (hardware_properties_service_33_0) true)
+(expandtypeattribute (hardware_service_33_0) true)
+(expandtypeattribute (hci_attach_dev_33_0) true)
+(expandtypeattribute (hdmi_config_prop_33_0) true)
+(expandtypeattribute (hdmi_control_service_33_0) true)
+(expandtypeattribute (healthd_33_0) true)
+(expandtypeattribute (heapdump_data_file_33_0) true)
+(expandtypeattribute (heapprofd_33_0) true)
+(expandtypeattribute (heapprofd_enabled_prop_33_0) true)
+(expandtypeattribute (heapprofd_prop_33_0) true)
+(expandtypeattribute (heapprofd_socket_33_0) true)
+(expandtypeattribute (hidl_allocator_hwservice_33_0) true)
+(expandtypeattribute (hidl_base_hwservice_33_0) true)
+(expandtypeattribute (hidl_manager_hwservice_33_0) true)
+(expandtypeattribute (hidl_memory_hwservice_33_0) true)
+(expandtypeattribute (hidl_token_hwservice_33_0) true)
+(expandtypeattribute (hint_service_33_0) true)
+(expandtypeattribute (hw_random_device_33_0) true)
+(expandtypeattribute (hw_timeout_multiplier_prop_33_0) true)
+(expandtypeattribute (hwbinder_device_33_0) true)
+(expandtypeattribute (hwservice_contexts_file_33_0) true)
+(expandtypeattribute (hwservicemanager_33_0) true)
+(expandtypeattribute (hwservicemanager_exec_33_0) true)
+(expandtypeattribute (hwservicemanager_prop_33_0) true)
+(expandtypeattribute (hypervisor_prop_33_0) true)
+(expandtypeattribute (icon_file_33_0) true)
+(expandtypeattribute (idmap_33_0) true)
+(expandtypeattribute (idmap_exec_33_0) true)
+(expandtypeattribute (idmap_service_33_0) true)
+(expandtypeattribute (iio_device_33_0) true)
+(expandtypeattribute (imms_service_33_0) true)
+(expandtypeattribute (incident_33_0) true)
+(expandtypeattribute (incident_data_file_33_0) true)
+(expandtypeattribute (incident_helper_33_0) true)
+(expandtypeattribute (incident_service_33_0) true)
+(expandtypeattribute (incidentd_33_0) true)
+(expandtypeattribute (incremental_control_file_33_0) true)
+(expandtypeattribute (incremental_prop_33_0) true)
+(expandtypeattribute (incremental_service_33_0) true)
+(expandtypeattribute (init_33_0) true)
+(expandtypeattribute (init_exec_33_0) true)
+(expandtypeattribute (init_service_status_prop_33_0) true)
+(expandtypeattribute (init_tmpfs_33_0) true)
+(expandtypeattribute (inotify_33_0) true)
+(expandtypeattribute (input_device_33_0) true)
+(expandtypeattribute (input_method_service_33_0) true)
+(expandtypeattribute (input_service_33_0) true)
+(expandtypeattribute (inputflinger_33_0) true)
+(expandtypeattribute (inputflinger_exec_33_0) true)
+(expandtypeattribute (inputflinger_service_33_0) true)
+(expandtypeattribute (install_data_file_33_0) true)
+(expandtypeattribute (installd_33_0) true)
+(expandtypeattribute (installd_exec_33_0) true)
+(expandtypeattribute (installd_service_33_0) true)
+(expandtypeattribute (ion_device_33_0) true)
+(expandtypeattribute (iorap_inode2filename_33_0) true)
+(expandtypeattribute (iorap_inode2filename_exec_33_0) true)
+(expandtypeattribute (iorap_inode2filename_tmpfs_33_0) true)
+(expandtypeattribute (iorap_prefetcherd_33_0) true)
+(expandtypeattribute (iorap_prefetcherd_exec_33_0) true)
+(expandtypeattribute (iorap_prefetcherd_tmpfs_33_0) true)
+(expandtypeattribute (iorapd_33_0) true)
+(expandtypeattribute (iorapd_data_file_33_0) true)
+(expandtypeattribute (iorapd_exec_33_0) true)
+(expandtypeattribute (iorapd_service_33_0) true)
+(expandtypeattribute (iorapd_tmpfs_33_0) true)
+(expandtypeattribute (ipsec_service_33_0) true)
+(expandtypeattribute (iris_service_33_0) true)
+(expandtypeattribute (iris_vendor_data_file_33_0) true)
+(expandtypeattribute (isolated_app_33_0) true)
+(expandtypeattribute (jobscheduler_service_33_0) true)
+(expandtypeattribute (kernel_33_0) true)
+(expandtypeattribute (keychain_data_file_33_0) true)
+(expandtypeattribute (keychord_device_33_0) true)
+(expandtypeattribute (keyguard_config_prop_33_0) true)
+(expandtypeattribute (keystore2_key_contexts_file_33_0) true)
+(expandtypeattribute (keystore_33_0) true)
+(expandtypeattribute (keystore_compat_hal_service_33_0) true)
+(expandtypeattribute (keystore_data_file_33_0) true)
+(expandtypeattribute (keystore_exec_33_0) true)
+(expandtypeattribute (keystore_maintenance_service_33_0) true)
+(expandtypeattribute (keystore_metrics_service_33_0) true)
+(expandtypeattribute (keystore_service_33_0) true)
+(expandtypeattribute (kmsg_debug_device_33_0) true)
+(expandtypeattribute (kmsg_device_33_0) true)
+(expandtypeattribute (labeledfs_33_0) true)
+(expandtypeattribute (launcherapps_service_33_0) true)
+(expandtypeattribute (legacy_permission_service_33_0) true)
+(expandtypeattribute (legacykeystore_service_33_0) true)
+(expandtypeattribute (libc_debug_prop_33_0) true)
+(expandtypeattribute (light_service_33_0) true)
+(expandtypeattribute (linkerconfig_file_33_0) true)
+(expandtypeattribute (llkd_33_0) true)
+(expandtypeattribute (llkd_exec_33_0) true)
+(expandtypeattribute (llkd_prop_33_0) true)
+(expandtypeattribute (lmkd_33_0) true)
+(expandtypeattribute (lmkd_config_prop_33_0) true)
+(expandtypeattribute (lmkd_exec_33_0) true)
+(expandtypeattribute (lmkd_prop_33_0) true)
+(expandtypeattribute (lmkd_socket_33_0) true)
+(expandtypeattribute (locale_service_33_0) true)
+(expandtypeattribute (location_service_33_0) true)
+(expandtypeattribute (location_time_zone_manager_service_33_0) true)
+(expandtypeattribute (lock_settings_service_33_0) true)
+(expandtypeattribute (log_prop_33_0) true)
+(expandtypeattribute (log_tag_prop_33_0) true)
+(expandtypeattribute (logcat_exec_33_0) true)
+(expandtypeattribute (logd_33_0) true)
+(expandtypeattribute (logd_exec_33_0) true)
+(expandtypeattribute (logd_prop_33_0) true)
+(expandtypeattribute (logd_socket_33_0) true)
+(expandtypeattribute (logdr_socket_33_0) true)
+(expandtypeattribute (logdw_socket_33_0) true)
+(expandtypeattribute (logpersist_33_0) true)
+(expandtypeattribute (logpersistd_logging_prop_33_0) true)
+(expandtypeattribute (loop_control_device_33_0) true)
+(expandtypeattribute (loop_device_33_0) true)
+(expandtypeattribute (looper_stats_service_33_0) true)
+(expandtypeattribute (lowpan_device_33_0) true)
+(expandtypeattribute (lowpan_prop_33_0) true)
+(expandtypeattribute (lowpan_service_33_0) true)
+(expandtypeattribute (lpdump_service_33_0) true)
+(expandtypeattribute (lpdumpd_prop_33_0) true)
+(expandtypeattribute (mac_perms_file_33_0) true)
+(expandtypeattribute (mdns_service_33_0) true)
+(expandtypeattribute (mdns_socket_33_0) true)
+(expandtypeattribute (mdnsd_33_0) true)
+(expandtypeattribute (mdnsd_socket_33_0) true)
+(expandtypeattribute (media_communication_service_33_0) true)
+(expandtypeattribute (media_config_prop_33_0) true)
+(expandtypeattribute (media_data_file_33_0) true)
+(expandtypeattribute (media_metrics_service_33_0) true)
+(expandtypeattribute (media_projection_service_33_0) true)
+(expandtypeattribute (media_router_service_33_0) true)
+(expandtypeattribute (media_rw_data_file_33_0) true)
+(expandtypeattribute (media_session_service_33_0) true)
+(expandtypeattribute (media_variant_prop_33_0) true)
+(expandtypeattribute (mediadrm_config_prop_33_0) true)
+(expandtypeattribute (mediadrmserver_33_0) true)
+(expandtypeattribute (mediadrmserver_exec_33_0) true)
+(expandtypeattribute (mediadrmserver_service_33_0) true)
+(expandtypeattribute (mediaextractor_33_0) true)
+(expandtypeattribute (mediaextractor_exec_33_0) true)
+(expandtypeattribute (mediaextractor_service_33_0) true)
+(expandtypeattribute (mediaextractor_tmpfs_33_0) true)
+(expandtypeattribute (mediametrics_33_0) true)
+(expandtypeattribute (mediametrics_exec_33_0) true)
+(expandtypeattribute (mediametrics_service_33_0) true)
+(expandtypeattribute (mediaprovider_33_0) true)
+(expandtypeattribute (mediaserver_33_0) true)
+(expandtypeattribute (mediaserver_exec_33_0) true)
+(expandtypeattribute (mediaserver_service_33_0) true)
+(expandtypeattribute (mediaserver_tmpfs_33_0) true)
+(expandtypeattribute (mediaswcodec_33_0) true)
+(expandtypeattribute (mediaswcodec_exec_33_0) true)
+(expandtypeattribute (mediatranscoding_33_0) true)
+(expandtypeattribute (mediatranscoding_service_33_0) true)
+(expandtypeattribute (meminfo_service_33_0) true)
+(expandtypeattribute (memtrackproxy_service_33_0) true)
+(expandtypeattribute (metadata_block_device_33_0) true)
+(expandtypeattribute (metadata_bootstat_file_33_0) true)
+(expandtypeattribute (metadata_file_33_0) true)
+(expandtypeattribute (method_trace_data_file_33_0) true)
+(expandtypeattribute (midi_service_33_0) true)
+(expandtypeattribute (mirror_data_file_33_0) true)
+(expandtypeattribute (misc_block_device_33_0) true)
+(expandtypeattribute (misc_logd_file_33_0) true)
+(expandtypeattribute (misc_user_data_file_33_0) true)
+(expandtypeattribute (mm_events_config_prop_33_0) true)
+(expandtypeattribute (mmc_prop_33_0) true)
+(expandtypeattribute (mnt_expand_file_33_0) true)
+(expandtypeattribute (mnt_media_rw_file_33_0) true)
+(expandtypeattribute (mnt_media_rw_stub_file_33_0) true)
+(expandtypeattribute (mnt_pass_through_file_33_0) true)
+(expandtypeattribute (mnt_product_file_33_0) true)
+(expandtypeattribute (mnt_sdcard_file_33_0) true)
+(expandtypeattribute (mnt_user_file_33_0) true)
+(expandtypeattribute (mnt_vendor_file_33_0) true)
+(expandtypeattribute (mock_ota_prop_33_0) true)
+(expandtypeattribute (modprobe_33_0) true)
+(expandtypeattribute (module_sdkextensions_prop_33_0) true)
+(expandtypeattribute (mount_service_33_0) true)
+(expandtypeattribute (mqueue_33_0) true)
+(expandtypeattribute (mtp_33_0) true)
+(expandtypeattribute (mtp_device_33_0) true)
+(expandtypeattribute (mtp_exec_33_0) true)
+(expandtypeattribute (mtpd_socket_33_0) true)
+(expandtypeattribute (music_recognition_service_33_0) true)
+(expandtypeattribute (nativetest_data_file_33_0) true)
+(expandtypeattribute (nearby_service_33_0) true)
+(expandtypeattribute (net_data_file_33_0) true)
+(expandtypeattribute (net_dns_prop_33_0) true)
+(expandtypeattribute (net_radio_prop_33_0) true)
+(expandtypeattribute (netd_33_0) true)
+(expandtypeattribute (netd_exec_33_0) true)
+(expandtypeattribute (netd_listener_service_33_0) true)
+(expandtypeattribute (netd_service_33_0) true)
+(expandtypeattribute (netif_33_0) true)
+(expandtypeattribute (netpolicy_service_33_0) true)
+(expandtypeattribute (netstats_service_33_0) true)
+(expandtypeattribute (netutils_wrapper_33_0) true)
+(expandtypeattribute (netutils_wrapper_exec_33_0) true)
+(expandtypeattribute (network_management_service_33_0) true)
+(expandtypeattribute (network_score_service_33_0) true)
+(expandtypeattribute (network_stack_33_0) true)
+(expandtypeattribute (network_stack_service_33_0) true)
+(expandtypeattribute (network_time_update_service_33_0) true)
+(expandtypeattribute (network_watchlist_data_file_33_0) true)
+(expandtypeattribute (network_watchlist_service_33_0) true)
+(expandtypeattribute (nfc_33_0) true)
+(expandtypeattribute (nfc_data_file_33_0) true)
+(expandtypeattribute (nfc_device_33_0) true)
+(expandtypeattribute (nfc_logs_data_file_33_0) true)
+(expandtypeattribute (nfc_prop_33_0) true)
+(expandtypeattribute (nfc_service_33_0) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_33_0) true)
+(expandtypeattribute (node_33_0) true)
+(expandtypeattribute (notification_service_33_0) true)
+(expandtypeattribute (null_device_33_0) true)
+(expandtypeattribute (oem_lock_service_33_0) true)
+(expandtypeattribute (oem_unlock_prop_33_0) true)
+(expandtypeattribute (oemfs_33_0) true)
+(expandtypeattribute (ota_data_file_33_0) true)
+(expandtypeattribute (ota_metadata_file_33_0) true)
+(expandtypeattribute (ota_package_file_33_0) true)
+(expandtypeattribute (ota_prop_33_0) true)
+(expandtypeattribute (otadexopt_service_33_0) true)
+(expandtypeattribute (otapreopt_chroot_33_0) true)
+(expandtypeattribute (overlay_prop_33_0) true)
+(expandtypeattribute (overlay_service_33_0) true)
+(expandtypeattribute (overlayfs_file_33_0) true)
+(expandtypeattribute (owntty_device_33_0) true)
+(expandtypeattribute (pac_proxy_service_33_0) true)
+(expandtypeattribute (package_native_service_33_0) true)
+(expandtypeattribute (package_service_33_0) true)
+(expandtypeattribute (packagemanager_config_prop_33_0) true)
+(expandtypeattribute (packages_list_file_33_0) true)
+(expandtypeattribute (pan_result_prop_33_0) true)
+(expandtypeattribute (password_slot_metadata_file_33_0) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_33_0) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_33_0) true)
+(expandtypeattribute (pdx_bufferhub_dir_33_0) true)
+(expandtypeattribute (pdx_display_client_channel_socket_33_0) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_33_0) true)
+(expandtypeattribute (pdx_display_dir_33_0) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_33_0) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_33_0) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_33_0) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_33_0) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_33_0) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_33_0) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_33_0) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_33_0) true)
+(expandtypeattribute (pdx_performance_dir_33_0) true)
+(expandtypeattribute (people_service_33_0) true)
+(expandtypeattribute (perfetto_33_0) true)
+(expandtypeattribute (performanced_33_0) true)
+(expandtypeattribute (performanced_exec_33_0) true)
+(expandtypeattribute (permission_checker_service_33_0) true)
+(expandtypeattribute (permission_service_33_0) true)
+(expandtypeattribute (permissionmgr_service_33_0) true)
+(expandtypeattribute (persist_debug_prop_33_0) true)
+(expandtypeattribute (persist_vendor_debug_wifi_prop_33_0) true)
+(expandtypeattribute (persist_wm_debug_prop_33_0) true)
+(expandtypeattribute (persistent_data_block_service_33_0) true)
+(expandtypeattribute (persistent_properties_ready_prop_33_0) true)
+(expandtypeattribute (pinner_service_33_0) true)
+(expandtypeattribute (pipefs_33_0) true)
+(expandtypeattribute (platform_app_33_0) true)
+(expandtypeattribute (platform_compat_service_33_0) true)
+(expandtypeattribute (pmsg_device_33_0) true)
+(expandtypeattribute (port_33_0) true)
+(expandtypeattribute (port_device_33_0) true)
+(expandtypeattribute (postinstall_33_0) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_33_0) true)
+(expandtypeattribute (postinstall_file_33_0) true)
+(expandtypeattribute (postinstall_mnt_dir_33_0) true)
+(expandtypeattribute (power_debug_prop_33_0) true)
+(expandtypeattribute (power_service_33_0) true)
+(expandtypeattribute (powerctl_prop_33_0) true)
+(expandtypeattribute (powerstats_service_33_0) true)
+(expandtypeattribute (ppp_33_0) true)
+(expandtypeattribute (ppp_device_33_0) true)
+(expandtypeattribute (ppp_exec_33_0) true)
+(expandtypeattribute (preloads_data_file_33_0) true)
+(expandtypeattribute (preloads_media_file_33_0) true)
+(expandtypeattribute (prereboot_data_file_33_0) true)
+(expandtypeattribute (print_service_33_0) true)
+(expandtypeattribute (priv_app_33_0) true)
+(expandtypeattribute (privapp_data_file_33_0) true)
+(expandtypeattribute (proc_33_0) true)
+(expandtypeattribute (proc_abi_33_0) true)
+(expandtypeattribute (proc_asound_33_0) true)
+(expandtypeattribute (proc_bluetooth_writable_33_0) true)
+(expandtypeattribute (proc_bootconfig_33_0) true)
+(expandtypeattribute (proc_bpf_33_0) true)
+(expandtypeattribute (proc_buddyinfo_33_0) true)
+(expandtypeattribute (proc_cmdline_33_0) true)
+(expandtypeattribute (proc_cpu_alignment_33_0) true)
+(expandtypeattribute (proc_cpuinfo_33_0) true)
+(expandtypeattribute (proc_dirty_33_0) true)
+(expandtypeattribute (proc_diskstats_33_0) true)
+(expandtypeattribute (proc_drop_caches_33_0) true)
+(expandtypeattribute (proc_extra_free_kbytes_33_0) true)
+(expandtypeattribute (proc_filesystems_33_0) true)
+(expandtypeattribute (proc_fs_verity_33_0) true)
+(expandtypeattribute (proc_hostname_33_0) true)
+(expandtypeattribute (proc_hung_task_33_0) true)
+(expandtypeattribute (proc_interrupts_33_0) true)
+(expandtypeattribute (proc_iomem_33_0) true)
+(expandtypeattribute (proc_kallsyms_33_0) true)
+(expandtypeattribute (proc_keys_33_0) true)
+(expandtypeattribute (proc_kmsg_33_0) true)
+(expandtypeattribute (proc_kpageflags_33_0) true)
+(expandtypeattribute (proc_loadavg_33_0) true)
+(expandtypeattribute (proc_locks_33_0) true)
+(expandtypeattribute (proc_lowmemorykiller_33_0) true)
+(expandtypeattribute (proc_max_map_count_33_0) true)
+(expandtypeattribute (proc_meminfo_33_0) true)
+(expandtypeattribute (proc_min_free_order_shift_33_0) true)
+(expandtypeattribute (proc_misc_33_0) true)
+(expandtypeattribute (proc_modules_33_0) true)
+(expandtypeattribute (proc_mounts_33_0) true)
+(expandtypeattribute (proc_net_33_0) true)
+(expandtypeattribute (proc_net_tcp_udp_33_0) true)
+(expandtypeattribute (proc_overcommit_memory_33_0) true)
+(expandtypeattribute (proc_page_cluster_33_0) true)
+(expandtypeattribute (proc_pagetypeinfo_33_0) true)
+(expandtypeattribute (proc_panic_33_0) true)
+(expandtypeattribute (proc_perf_33_0) true)
+(expandtypeattribute (proc_pid_max_33_0) true)
+(expandtypeattribute (proc_pipe_conf_33_0) true)
+(expandtypeattribute (proc_pressure_cpu_33_0) true)
+(expandtypeattribute (proc_pressure_io_33_0) true)
+(expandtypeattribute (proc_pressure_mem_33_0) true)
+(expandtypeattribute (proc_qtaguid_ctrl_33_0) true)
+(expandtypeattribute (proc_qtaguid_stat_33_0) true)
+(expandtypeattribute (proc_random_33_0) true)
+(expandtypeattribute (proc_sched_33_0) true)
+(expandtypeattribute (proc_security_33_0) true)
+(expandtypeattribute (proc_slabinfo_33_0) true)
+(expandtypeattribute (proc_stat_33_0) true)
+(expandtypeattribute (proc_swaps_33_0) true)
+(expandtypeattribute (proc_sysrq_33_0) true)
+(expandtypeattribute (proc_timer_33_0) true)
+(expandtypeattribute (proc_tty_drivers_33_0) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_33_0) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_33_0) true)
+(expandtypeattribute (proc_uid_cpupower_33_0) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_33_0) true)
+(expandtypeattribute (proc_uid_cputime_showstat_33_0) true)
+(expandtypeattribute (proc_uid_io_stats_33_0) true)
+(expandtypeattribute (proc_uid_procstat_set_33_0) true)
+(expandtypeattribute (proc_uid_time_in_state_33_0) true)
+(expandtypeattribute (proc_uptime_33_0) true)
+(expandtypeattribute (proc_vendor_sched_33_0) true)
+(expandtypeattribute (proc_version_33_0) true)
+(expandtypeattribute (proc_vmallocinfo_33_0) true)
+(expandtypeattribute (proc_vmstat_33_0) true)
+(expandtypeattribute (proc_watermark_boost_factor_33_0) true)
+(expandtypeattribute (proc_watermark_scale_factor_33_0) true)
+(expandtypeattribute (proc_zoneinfo_33_0) true)
+(expandtypeattribute (processinfo_service_33_0) true)
+(expandtypeattribute (procstats_service_33_0) true)
+(expandtypeattribute (profman_33_0) true)
+(expandtypeattribute (profman_dump_data_file_33_0) true)
+(expandtypeattribute (profman_exec_33_0) true)
+(expandtypeattribute (properties_device_33_0) true)
+(expandtypeattribute (properties_serial_33_0) true)
+(expandtypeattribute (property_contexts_file_33_0) true)
+(expandtypeattribute (property_data_file_33_0) true)
+(expandtypeattribute (property_info_33_0) true)
+(expandtypeattribute (property_service_version_prop_33_0) true)
+(expandtypeattribute (property_socket_33_0) true)
+(expandtypeattribute (provisioned_prop_33_0) true)
+(expandtypeattribute (pstorefs_33_0) true)
+(expandtypeattribute (ptmx_device_33_0) true)
+(expandtypeattribute (qemu_hw_prop_33_0) true)
+(expandtypeattribute (qemu_sf_lcd_density_prop_33_0) true)
+(expandtypeattribute (qtaguid_device_33_0) true)
+(expandtypeattribute (racoon_33_0) true)
+(expandtypeattribute (racoon_exec_33_0) true)
+(expandtypeattribute (racoon_socket_33_0) true)
+(expandtypeattribute (radio_33_0) true)
+(expandtypeattribute (radio_control_prop_33_0) true)
+(expandtypeattribute (radio_core_data_file_33_0) true)
+(expandtypeattribute (radio_data_file_33_0) true)
+(expandtypeattribute (radio_device_33_0) true)
+(expandtypeattribute (radio_prop_33_0) true)
+(expandtypeattribute (radio_service_33_0) true)
+(expandtypeattribute (ram_device_33_0) true)
+(expandtypeattribute (random_device_33_0) true)
+(expandtypeattribute (reboot_readiness_service_33_0) true)
+(expandtypeattribute (rebootescrow_hal_prop_33_0) true)
+(expandtypeattribute (recovery_33_0) true)
+(expandtypeattribute (recovery_block_device_33_0) true)
+(expandtypeattribute (recovery_config_prop_33_0) true)
+(expandtypeattribute (recovery_data_file_33_0) true)
+(expandtypeattribute (recovery_persist_33_0) true)
+(expandtypeattribute (recovery_persist_exec_33_0) true)
+(expandtypeattribute (recovery_refresh_33_0) true)
+(expandtypeattribute (recovery_refresh_exec_33_0) true)
+(expandtypeattribute (recovery_service_33_0) true)
+(expandtypeattribute (recovery_socket_33_0) true)
+(expandtypeattribute (registry_service_33_0) true)
+(expandtypeattribute (remotelyprovisionedkeypool_service_33_0) true)
+(expandtypeattribute (remoteprovisioning_service_33_0) true)
+(expandtypeattribute (resourcecache_data_file_33_0) true)
+(expandtypeattribute (resources_manager_service_33_0) true)
+(expandtypeattribute (restorecon_prop_33_0) true)
+(expandtypeattribute (restrictions_service_33_0) true)
+(expandtypeattribute (retaildemo_prop_33_0) true)
+(expandtypeattribute (rild_debug_socket_33_0) true)
+(expandtypeattribute (rild_socket_33_0) true)
+(expandtypeattribute (ringtone_file_33_0) true)
+(expandtypeattribute (role_service_33_0) true)
+(expandtypeattribute (rollback_service_33_0) true)
+(expandtypeattribute (root_block_device_33_0) true)
+(expandtypeattribute (rootdisk_sysdev_33_0) true)
+(expandtypeattribute (rootfs_33_0) true)
+(expandtypeattribute (rpmsg_device_33_0) true)
+(expandtypeattribute (rs_33_0) true)
+(expandtypeattribute (rs_exec_33_0) true)
+(expandtypeattribute (rss_hwm_reset_33_0) true)
+(expandtypeattribute (rtc_device_33_0) true)
+(expandtypeattribute (rttmanager_service_33_0) true)
+(expandtypeattribute (runas_33_0) true)
+(expandtypeattribute (runas_app_33_0) true)
+(expandtypeattribute (runas_exec_33_0) true)
+(expandtypeattribute (runtime_event_log_tags_file_33_0) true)
+(expandtypeattribute (runtime_service_33_0) true)
+(expandtypeattribute (safemode_prop_33_0) true)
+(expandtypeattribute (same_process_hal_file_33_0) true)
+(expandtypeattribute (samplingprofiler_service_33_0) true)
+(expandtypeattribute (scheduling_policy_service_33_0) true)
+(expandtypeattribute (sdcard_block_device_33_0) true)
+(expandtypeattribute (sdcardd_33_0) true)
+(expandtypeattribute (sdcardd_exec_33_0) true)
+(expandtypeattribute (sdcardfs_33_0) true)
+(expandtypeattribute (sdk_sandbox_service_33_0) true)
+(expandtypeattribute (seapp_contexts_file_33_0) true)
+(expandtypeattribute (search_service_33_0) true)
+(expandtypeattribute (search_ui_service_33_0) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_33_0) true)
+(expandtypeattribute (secure_element_33_0) true)
+(expandtypeattribute (secure_element_device_33_0) true)
+(expandtypeattribute (secure_element_service_33_0) true)
+(expandtypeattribute (securityfs_33_0) true)
+(expandtypeattribute (selection_toolbar_service_33_0) true)
+(expandtypeattribute (selinuxfs_33_0) true)
+(expandtypeattribute (sendbug_config_prop_33_0) true)
+(expandtypeattribute (sensor_privacy_service_33_0) true)
+(expandtypeattribute (sensors_device_33_0) true)
+(expandtypeattribute (sensorservice_service_33_0) true)
+(expandtypeattribute (sepolicy_file_33_0) true)
+(expandtypeattribute (serial_device_33_0) true)
+(expandtypeattribute (serial_service_33_0) true)
+(expandtypeattribute (serialno_prop_33_0) true)
+(expandtypeattribute (server_configurable_flags_data_file_33_0) true)
+(expandtypeattribute (service_contexts_file_33_0) true)
+(expandtypeattribute (service_manager_service_33_0) true)
+(expandtypeattribute (service_manager_vndservice_33_0) true)
+(expandtypeattribute (servicediscovery_service_33_0) true)
+(expandtypeattribute (servicemanager_33_0) true)
+(expandtypeattribute (servicemanager_exec_33_0) true)
+(expandtypeattribute (settings_service_33_0) true)
+(expandtypeattribute (sgdisk_33_0) true)
+(expandtypeattribute (sgdisk_exec_33_0) true)
+(expandtypeattribute (shared_relro_33_0) true)
+(expandtypeattribute (shared_relro_file_33_0) true)
+(expandtypeattribute (shell_33_0) true)
+(expandtypeattribute (shell_data_file_33_0) true)
+(expandtypeattribute (shell_exec_33_0) true)
+(expandtypeattribute (shell_prop_33_0) true)
+(expandtypeattribute (shell_test_data_file_33_0) true)
+(expandtypeattribute (shm_33_0) true)
+(expandtypeattribute (shortcut_manager_icons_33_0) true)
+(expandtypeattribute (shortcut_service_33_0) true)
+(expandtypeattribute (simpleperf_33_0) true)
+(expandtypeattribute (simpleperf_app_runner_33_0) true)
+(expandtypeattribute (simpleperf_app_runner_exec_33_0) true)
+(expandtypeattribute (slice_service_33_0) true)
+(expandtypeattribute (slideshow_33_0) true)
+(expandtypeattribute (smart_idle_maint_enabled_prop_33_0) true)
+(expandtypeattribute (smartspace_service_33_0) true)
+(expandtypeattribute (snapshotctl_log_data_file_33_0) true)
+(expandtypeattribute (snapuserd_proxy_socket_33_0) true)
+(expandtypeattribute (snapuserd_socket_33_0) true)
+(expandtypeattribute (soc_prop_33_0) true)
+(expandtypeattribute (socket_device_33_0) true)
+(expandtypeattribute (socket_hook_prop_33_0) true)
+(expandtypeattribute (sockfs_33_0) true)
+(expandtypeattribute (sota_prop_33_0) true)
+(expandtypeattribute (soundtrigger_middleware_service_33_0) true)
+(expandtypeattribute (speech_recognition_service_33_0) true)
+(expandtypeattribute (sqlite_log_prop_33_0) true)
+(expandtypeattribute (staged_install_file_33_0) true)
+(expandtypeattribute (staging_data_file_33_0) true)
+(expandtypeattribute (stats_data_file_33_0) true)
+(expandtypeattribute (statsd_33_0) true)
+(expandtypeattribute (statsd_exec_33_0) true)
+(expandtypeattribute (statsdw_socket_33_0) true)
+(expandtypeattribute (statusbar_service_33_0) true)
+(expandtypeattribute (storage_config_prop_33_0) true)
+(expandtypeattribute (storage_file_33_0) true)
+(expandtypeattribute (storage_stub_file_33_0) true)
+(expandtypeattribute (storaged_service_33_0) true)
+(expandtypeattribute (storagemanager_config_prop_33_0) true)
+(expandtypeattribute (storagestats_service_33_0) true)
+(expandtypeattribute (su_33_0) true)
+(expandtypeattribute (su_exec_33_0) true)
+(expandtypeattribute (super_block_device_33_0) true)
+(expandtypeattribute (surfaceflinger_33_0) true)
+(expandtypeattribute (surfaceflinger_color_prop_33_0) true)
+(expandtypeattribute (surfaceflinger_display_prop_33_0) true)
+(expandtypeattribute (surfaceflinger_prop_33_0) true)
+(expandtypeattribute (surfaceflinger_service_33_0) true)
+(expandtypeattribute (surfaceflinger_tmpfs_33_0) true)
+(expandtypeattribute (suspend_prop_33_0) true)
+(expandtypeattribute (swap_block_device_33_0) true)
+(expandtypeattribute (sysfs_33_0) true)
+(expandtypeattribute (sysfs_android_usb_33_0) true)
+(expandtypeattribute (sysfs_batteryinfo_33_0) true)
+(expandtypeattribute (sysfs_bluetooth_writable_33_0) true)
+(expandtypeattribute (sysfs_devfreq_cur_33_0) true)
+(expandtypeattribute (sysfs_devfreq_dir_33_0) true)
+(expandtypeattribute (sysfs_devices_block_33_0) true)
+(expandtypeattribute (sysfs_devices_cs_etm_33_0) true)
+(expandtypeattribute (sysfs_devices_system_cpu_33_0) true)
+(expandtypeattribute (sysfs_dm_33_0) true)
+(expandtypeattribute (sysfs_dm_verity_33_0) true)
+(expandtypeattribute (sysfs_dma_heap_33_0) true)
+(expandtypeattribute (sysfs_dmabuf_stats_33_0) true)
+(expandtypeattribute (sysfs_dt_firmware_android_33_0) true)
+(expandtypeattribute (sysfs_extcon_33_0) true)
+(expandtypeattribute (sysfs_fs_ext4_features_33_0) true)
+(expandtypeattribute (sysfs_fs_f2fs_33_0) true)
+(expandtypeattribute (sysfs_fs_fuse_bpf_33_0) true)
+(expandtypeattribute (sysfs_fs_incfs_features_33_0) true)
+(expandtypeattribute (sysfs_fs_incfs_metrics_33_0) true)
+(expandtypeattribute (sysfs_gpu_33_0) true)
+(expandtypeattribute (sysfs_hwrandom_33_0) true)
+(expandtypeattribute (sysfs_ion_33_0) true)
+(expandtypeattribute (sysfs_ipv4_33_0) true)
+(expandtypeattribute (sysfs_kernel_notes_33_0) true)
+(expandtypeattribute (sysfs_leds_33_0) true)
+(expandtypeattribute (sysfs_loop_33_0) true)
+(expandtypeattribute (sysfs_lowmemorykiller_33_0) true)
+(expandtypeattribute (sysfs_lru_gen_enabled_33_0) true)
+(expandtypeattribute (sysfs_net_33_0) true)
+(expandtypeattribute (sysfs_nfc_power_writable_33_0) true)
+(expandtypeattribute (sysfs_power_33_0) true)
+(expandtypeattribute (sysfs_rtc_33_0) true)
+(expandtypeattribute (sysfs_suspend_stats_33_0) true)
+(expandtypeattribute (sysfs_switch_33_0) true)
+(expandtypeattribute (sysfs_thermal_33_0) true)
+(expandtypeattribute (sysfs_transparent_hugepage_33_0) true)
+(expandtypeattribute (sysfs_uhid_33_0) true)
+(expandtypeattribute (sysfs_uio_33_0) true)
+(expandtypeattribute (sysfs_usb_33_0) true)
+(expandtypeattribute (sysfs_usermodehelper_33_0) true)
+(expandtypeattribute (sysfs_vendor_sched_33_0) true)
+(expandtypeattribute (sysfs_vibrator_33_0) true)
+(expandtypeattribute (sysfs_wake_lock_33_0) true)
+(expandtypeattribute (sysfs_wakeup_33_0) true)
+(expandtypeattribute (sysfs_wakeup_reasons_33_0) true)
+(expandtypeattribute (sysfs_wlan_fwpath_33_0) true)
+(expandtypeattribute (sysfs_zram_33_0) true)
+(expandtypeattribute (sysfs_zram_uevent_33_0) true)
+(expandtypeattribute (system_app_33_0) true)
+(expandtypeattribute (system_app_data_file_33_0) true)
+(expandtypeattribute (system_app_service_33_0) true)
+(expandtypeattribute (system_asan_options_file_33_0) true)
+(expandtypeattribute (system_block_device_33_0) true)
+(expandtypeattribute (system_boot_reason_prop_33_0) true)
+(expandtypeattribute (system_bootstrap_lib_file_33_0) true)
+(expandtypeattribute (system_config_service_33_0) true)
+(expandtypeattribute (system_data_file_33_0) true)
+(expandtypeattribute (system_data_root_file_33_0) true)
+(expandtypeattribute (system_dlkm_file_33_0) true)
+(expandtypeattribute (system_event_log_tags_file_33_0) true)
+(expandtypeattribute (system_file_33_0) true)
+(expandtypeattribute (system_group_file_33_0) true)
+(expandtypeattribute (system_jvmti_agent_prop_33_0) true)
+(expandtypeattribute (system_lib_file_33_0) true)
+(expandtypeattribute (system_linker_config_file_33_0) true)
+(expandtypeattribute (system_linker_exec_33_0) true)
+(expandtypeattribute (system_lmk_prop_33_0) true)
+(expandtypeattribute (system_ndebug_socket_33_0) true)
+(expandtypeattribute (system_net_netd_hwservice_33_0) true)
+(expandtypeattribute (system_passwd_file_33_0) true)
+(expandtypeattribute (system_prop_33_0) true)
+(expandtypeattribute (system_seccomp_policy_file_33_0) true)
+(expandtypeattribute (system_security_cacerts_file_33_0) true)
+(expandtypeattribute (system_server_33_0) true)
+(expandtypeattribute (system_server_dumper_service_33_0) true)
+(expandtypeattribute (system_server_tmpfs_33_0) true)
+(expandtypeattribute (system_suspend_control_internal_service_33_0) true)
+(expandtypeattribute (system_suspend_control_service_33_0) true)
+(expandtypeattribute (system_suspend_hwservice_33_0) true)
+(expandtypeattribute (system_trace_prop_33_0) true)
+(expandtypeattribute (system_unsolzygote_socket_33_0) true)
+(expandtypeattribute (system_update_service_33_0) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_33_0) true)
+(expandtypeattribute (system_wpa_socket_33_0) true)
+(expandtypeattribute (system_zoneinfo_file_33_0) true)
+(expandtypeattribute (systemkeys_data_file_33_0) true)
+(expandtypeattribute (systemsound_config_prop_33_0) true)
+(expandtypeattribute (tare_service_33_0) true)
+(expandtypeattribute (task_profiles_api_file_33_0) true)
+(expandtypeattribute (task_profiles_file_33_0) true)
+(expandtypeattribute (task_service_33_0) true)
+(expandtypeattribute (tcpdump_exec_33_0) true)
+(expandtypeattribute (tee_33_0) true)
+(expandtypeattribute (tee_data_file_33_0) true)
+(expandtypeattribute (tee_device_33_0) true)
+(expandtypeattribute (telecom_service_33_0) true)
+(expandtypeattribute (telephony_config_prop_33_0) true)
+(expandtypeattribute (telephony_status_prop_33_0) true)
+(expandtypeattribute (test_boot_reason_prop_33_0) true)
+(expandtypeattribute (test_harness_prop_33_0) true)
+(expandtypeattribute (testharness_service_33_0) true)
+(expandtypeattribute (tethering_service_33_0) true)
+(expandtypeattribute (textclassification_service_33_0) true)
+(expandtypeattribute (textclassifier_data_file_33_0) true)
+(expandtypeattribute (textservices_service_33_0) true)
+(expandtypeattribute (texttospeech_service_33_0) true)
+(expandtypeattribute (theme_prop_33_0) true)
+(expandtypeattribute (thermal_service_33_0) true)
+(expandtypeattribute (time_prop_33_0) true)
+(expandtypeattribute (timedetector_service_33_0) true)
+(expandtypeattribute (timezone_service_33_0) true)
+(expandtypeattribute (timezonedetector_service_33_0) true)
+(expandtypeattribute (tmpfs_33_0) true)
+(expandtypeattribute (tombstone_config_prop_33_0) true)
+(expandtypeattribute (tombstone_data_file_33_0) true)
+(expandtypeattribute (tombstone_wifi_data_file_33_0) true)
+(expandtypeattribute (tombstoned_33_0) true)
+(expandtypeattribute (tombstoned_crash_socket_33_0) true)
+(expandtypeattribute (tombstoned_exec_33_0) true)
+(expandtypeattribute (tombstoned_intercept_socket_33_0) true)
+(expandtypeattribute (tombstoned_java_trace_socket_33_0) true)
+(expandtypeattribute (toolbox_33_0) true)
+(expandtypeattribute (toolbox_exec_33_0) true)
+(expandtypeattribute (trace_data_file_33_0) true)
+(expandtypeattribute (traced_33_0) true)
+(expandtypeattribute (traced_consumer_socket_33_0) true)
+(expandtypeattribute (traced_enabled_prop_33_0) true)
+(expandtypeattribute (traced_lazy_prop_33_0) true)
+(expandtypeattribute (traced_perf_33_0) true)
+(expandtypeattribute (traced_perf_socket_33_0) true)
+(expandtypeattribute (traced_probes_33_0) true)
+(expandtypeattribute (traced_producer_socket_33_0) true)
+(expandtypeattribute (traced_tmpfs_33_0) true)
+(expandtypeattribute (traceur_app_33_0) true)
+(expandtypeattribute (translation_service_33_0) true)
+(expandtypeattribute (trust_service_33_0) true)
+(expandtypeattribute (tty_device_33_0) true)
+(expandtypeattribute (tun_device_33_0) true)
+(expandtypeattribute (tv_iapp_service_33_0) true)
+(expandtypeattribute (tv_input_service_33_0) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_33_0) true)
+(expandtypeattribute (tzdatacheck_33_0) true)
+(expandtypeattribute (tzdatacheck_exec_33_0) true)
+(expandtypeattribute (ueventd_33_0) true)
+(expandtypeattribute (ueventd_tmpfs_33_0) true)
+(expandtypeattribute (uhid_device_33_0) true)
+(expandtypeattribute (uimode_service_33_0) true)
+(expandtypeattribute (uio_device_33_0) true)
+(expandtypeattribute (uncrypt_33_0) true)
+(expandtypeattribute (uncrypt_exec_33_0) true)
+(expandtypeattribute (uncrypt_socket_33_0) true)
+(expandtypeattribute (unencrypted_data_file_33_0) true)
+(expandtypeattribute (unlabeled_33_0) true)
+(expandtypeattribute (untrusted_app_25_33_0) true)
+(expandtypeattribute (untrusted_app_27_33_0) true)
+(expandtypeattribute (untrusted_app_29_33_0) true)
+(expandtypeattribute (untrusted_app_30_33_0) true)
+(expandtypeattribute (untrusted_app_33_0) true)
+(expandtypeattribute (update_engine_33_0) true)
+(expandtypeattribute (update_engine_data_file_33_0) true)
+(expandtypeattribute (update_engine_exec_33_0) true)
+(expandtypeattribute (update_engine_log_data_file_33_0) true)
+(expandtypeattribute (update_engine_service_33_0) true)
+(expandtypeattribute (update_engine_stable_service_33_0) true)
+(expandtypeattribute (update_verifier_33_0) true)
+(expandtypeattribute (update_verifier_exec_33_0) true)
+(expandtypeattribute (updatelock_service_33_0) true)
+(expandtypeattribute (uri_grants_service_33_0) true)
+(expandtypeattribute (usagestats_service_33_0) true)
+(expandtypeattribute (usb_config_prop_33_0) true)
+(expandtypeattribute (usb_control_prop_33_0) true)
+(expandtypeattribute (usb_device_33_0) true)
+(expandtypeattribute (usb_prop_33_0) true)
+(expandtypeattribute (usb_serial_device_33_0) true)
+(expandtypeattribute (usb_service_33_0) true)
+(expandtypeattribute (usbaccessory_device_33_0) true)
+(expandtypeattribute (usbd_33_0) true)
+(expandtypeattribute (usbd_exec_33_0) true)
+(expandtypeattribute (usbfs_33_0) true)
+(expandtypeattribute (use_memfd_prop_33_0) true)
+(expandtypeattribute (user_profile_data_file_33_0) true)
+(expandtypeattribute (user_profile_root_file_33_0) true)
+(expandtypeattribute (user_service_33_0) true)
+(expandtypeattribute (userdata_block_device_33_0) true)
+(expandtypeattribute (userdata_sysdev_33_0) true)
+(expandtypeattribute (usermodehelper_33_0) true)
+(expandtypeattribute (userspace_reboot_config_prop_33_0) true)
+(expandtypeattribute (userspace_reboot_exported_prop_33_0) true)
+(expandtypeattribute (userspace_reboot_metadata_file_33_0) true)
+(expandtypeattribute (uwb_service_33_0) true)
+(expandtypeattribute (vcn_management_service_33_0) true)
+(expandtypeattribute (vd_device_33_0) true)
+(expandtypeattribute (vdc_33_0) true)
+(expandtypeattribute (vdc_exec_33_0) true)
+(expandtypeattribute (vehicle_hal_prop_33_0) true)
+(expandtypeattribute (vendor_apex_file_33_0) true)
+(expandtypeattribute (vendor_app_file_33_0) true)
+(expandtypeattribute (vendor_cgroup_desc_file_33_0) true)
+(expandtypeattribute (vendor_configs_file_33_0) true)
+(expandtypeattribute (vendor_data_file_33_0) true)
+(expandtypeattribute (vendor_default_prop_33_0) true)
+(expandtypeattribute (vendor_file_33_0) true)
+(expandtypeattribute (vendor_framework_file_33_0) true)
+(expandtypeattribute (vendor_hal_file_33_0) true)
+(expandtypeattribute (vendor_idc_file_33_0) true)
+(expandtypeattribute (vendor_init_33_0) true)
+(expandtypeattribute (vendor_kernel_modules_33_0) true)
+(expandtypeattribute (vendor_keychars_file_33_0) true)
+(expandtypeattribute (vendor_keylayout_file_33_0) true)
+(expandtypeattribute (vendor_misc_writer_33_0) true)
+(expandtypeattribute (vendor_misc_writer_exec_33_0) true)
+(expandtypeattribute (vendor_modprobe_33_0) true)
+(expandtypeattribute (vendor_overlay_file_33_0) true)
+(expandtypeattribute (vendor_public_framework_file_33_0) true)
+(expandtypeattribute (vendor_public_lib_file_33_0) true)
+(expandtypeattribute (vendor_security_patch_level_prop_33_0) true)
+(expandtypeattribute (vendor_service_contexts_file_33_0) true)
+(expandtypeattribute (vendor_shell_33_0) true)
+(expandtypeattribute (vendor_shell_exec_33_0) true)
+(expandtypeattribute (vendor_socket_hook_prop_33_0) true)
+(expandtypeattribute (vendor_task_profiles_file_33_0) true)
+(expandtypeattribute (vendor_toolbox_exec_33_0) true)
+(expandtypeattribute (vendor_uuid_mapping_config_file_33_0) true)
+(expandtypeattribute (vendor_vm_data_file_33_0) true)
+(expandtypeattribute (vendor_vm_file_33_0) true)
+(expandtypeattribute (vfat_33_0) true)
+(expandtypeattribute (vibrator_manager_service_33_0) true)
+(expandtypeattribute (vibrator_service_33_0) true)
+(expandtypeattribute (video_device_33_0) true)
+(expandtypeattribute (virtual_ab_prop_33_0) true)
+(expandtypeattribute (virtual_device_service_33_0) true)
+(expandtypeattribute (virtual_touchpad_33_0) true)
+(expandtypeattribute (virtual_touchpad_exec_33_0) true)
+(expandtypeattribute (virtual_touchpad_service_33_0) true)
+(expandtypeattribute (virtualization_service_33_0) true)
+(expandtypeattribute (vndbinder_device_33_0) true)
+(expandtypeattribute (vndk_prop_33_0) true)
+(expandtypeattribute (vndk_sp_file_33_0) true)
+(expandtypeattribute (vndservice_contexts_file_33_0) true)
+(expandtypeattribute (vndservicemanager_33_0) true)
+(expandtypeattribute (voiceinteraction_service_33_0) true)
+(expandtypeattribute (vold_33_0) true)
+(expandtypeattribute (vold_config_prop_33_0) true)
+(expandtypeattribute (vold_data_file_33_0) true)
+(expandtypeattribute (vold_device_33_0) true)
+(expandtypeattribute (vold_exec_33_0) true)
+(expandtypeattribute (vold_metadata_file_33_0) true)
+(expandtypeattribute (vold_post_fs_data_prop_33_0) true)
+(expandtypeattribute (vold_prepare_subdirs_33_0) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_33_0) true)
+(expandtypeattribute (vold_prop_33_0) true)
+(expandtypeattribute (vold_service_33_0) true)
+(expandtypeattribute (vold_status_prop_33_0) true)
+(expandtypeattribute (vpn_data_file_33_0) true)
+(expandtypeattribute (vpn_management_service_33_0) true)
+(expandtypeattribute (vr_hwc_service_33_0) true)
+(expandtypeattribute (vr_manager_service_33_0) true)
+(expandtypeattribute (vrflinger_vsync_service_33_0) true)
+(expandtypeattribute (vts_config_prop_33_0) true)
+(expandtypeattribute (vts_status_prop_33_0) true)
+(expandtypeattribute (wallpaper_effects_generation_service_33_0) true)
+(expandtypeattribute (wallpaper_file_33_0) true)
+(expandtypeattribute (wallpaper_service_33_0) true)
+(expandtypeattribute (watchdog_device_33_0) true)
+(expandtypeattribute (watchdog_metadata_file_33_0) true)
+(expandtypeattribute (watchdogd_33_0) true)
+(expandtypeattribute (watchdogd_exec_33_0) true)
+(expandtypeattribute (webview_zygote_33_0) true)
+(expandtypeattribute (webview_zygote_exec_33_0) true)
+(expandtypeattribute (webview_zygote_tmpfs_33_0) true)
+(expandtypeattribute (webviewupdate_service_33_0) true)
+(expandtypeattribute (wifi_config_prop_33_0) true)
+(expandtypeattribute (wifi_data_file_33_0) true)
+(expandtypeattribute (wifi_hal_prop_33_0) true)
+(expandtypeattribute (wifi_key_33_0) true)
+(expandtypeattribute (wifi_log_prop_33_0) true)
+(expandtypeattribute (wifi_prop_33_0) true)
+(expandtypeattribute (wifi_service_33_0) true)
+(expandtypeattribute (wifiaware_service_33_0) true)
+(expandtypeattribute (wificond_33_0) true)
+(expandtypeattribute (wificond_exec_33_0) true)
+(expandtypeattribute (wifinl80211_service_33_0) true)
+(expandtypeattribute (wifip2p_service_33_0) true)
+(expandtypeattribute (wifiscanner_service_33_0) true)
+(expandtypeattribute (window_service_33_0) true)
+(expandtypeattribute (wpa_socket_33_0) true)
+(expandtypeattribute (wpantund_33_0) true)
+(expandtypeattribute (wpantund_exec_33_0) true)
+(expandtypeattribute (wpantund_service_33_0) true)
+(expandtypeattribute (zero_device_33_0) true)
+(expandtypeattribute (zoneinfo_data_file_33_0) true)
+(expandtypeattribute (zram_config_prop_33_0) true)
+(expandtypeattribute (zram_control_prop_33_0) true)
+(expandtypeattribute (zygote_33_0) true)
+(expandtypeattribute (zygote_config_prop_33_0) true)
+(expandtypeattribute (zygote_exec_33_0) true)
+(expandtypeattribute (zygote_socket_33_0) true)
+(expandtypeattribute (zygote_tmpfs_33_0) true)
+(typeattributeset DockObserver_service_33_0 (DockObserver_service))
+(typeattributeset IProxyService_service_33_0 (IProxyService_service))
+(typeattributeset aac_drc_prop_33_0 (aac_drc_prop))
+(typeattributeset aaudio_config_prop_33_0 (aaudio_config_prop))
+(typeattributeset ab_update_gki_prop_33_0 (ab_update_gki_prop))
+(typeattributeset accessibility_service_33_0 (accessibility_service))
+(typeattributeset account_service_33_0 (account_service))
+(typeattributeset activity_service_33_0 (activity_service))
+(typeattributeset activity_task_service_33_0 (activity_task_service))
+(typeattributeset adb_data_file_33_0 (adb_data_file))
+(typeattributeset adb_keys_file_33_0 (adb_keys_file))
+(typeattributeset adb_service_33_0 (adb_service))
+(typeattributeset adbd_33_0 (adbd))
+(typeattributeset adbd_config_prop_33_0 (adbd_config_prop))
+(typeattributeset adbd_exec_33_0 (adbd_exec))
+(typeattributeset adbd_socket_33_0 (adbd_socket))
+(typeattributeset adservices_manager_service_33_0 (adservices_manager_service))
+(typeattributeset aidl_lazy_test_server_33_0 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_33_0 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_33_0 (aidl_lazy_test_service))
+(typeattributeset alarm_service_33_0 (alarm_service))
+(typeattributeset anr_data_file_33_0 (anr_data_file))
+(typeattributeset apc_service_33_0 (apc_service))
+(typeattributeset apex_data_file_33_0 (apex_data_file))
+(typeattributeset apex_info_file_33_0 (apex_info_file))
+(typeattributeset apex_metadata_file_33_0 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_33_0 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_33_0 (apex_module_data_file))
+(typeattributeset apex_ota_reserved_file_33_0 (apex_ota_reserved_file))
+(typeattributeset apex_rollback_data_file_33_0 (apex_rollback_data_file))
+(typeattributeset apex_service_33_0 (apex_service))
+(typeattributeset apex_system_server_data_file_33_0 (apex_system_server_data_file))
+(typeattributeset apexd_33_0 (apexd))
+(typeattributeset apexd_config_prop_33_0 (apexd_config_prop))
+(typeattributeset apexd_exec_33_0 (apexd_exec))
+(typeattributeset apexd_prop_33_0 (apexd_prop))
+(typeattributeset apexd_select_prop_33_0 (apexd_select_prop))
+(typeattributeset apk_data_file_33_0 (apk_data_file))
+(typeattributeset apk_private_data_file_33_0 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_33_0 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_33_0 (apk_tmp_file))
+(typeattributeset apk_verity_prop_33_0 (apk_verity_prop))
+(typeattributeset app_binding_service_33_0 (app_binding_service))
+(typeattributeset app_data_file_33_0 (app_data_file))
+(typeattributeset app_fuse_file_33_0 (app_fuse_file))
+(typeattributeset app_fusefs_33_0 (app_fusefs))
+(typeattributeset app_hibernation_service_33_0 (app_hibernation_service))
+(typeattributeset app_integrity_service_33_0 (app_integrity_service))
+(typeattributeset app_prediction_service_33_0 (app_prediction_service))
+(typeattributeset app_search_service_33_0 (app_search_service))
+(typeattributeset app_zygote_33_0 (app_zygote))
+(typeattributeset app_zygote_tmpfs_33_0 (app_zygote_tmpfs))
+(typeattributeset appcompat_data_file_33_0 (appcompat_data_file))
+(typeattributeset appdomain_tmpfs_33_0 (appdomain_tmpfs))
+(typeattributeset appops_service_33_0 (appops_service))
+(typeattributeset appwidget_service_33_0 (appwidget_service))
+(typeattributeset arm64_memtag_prop_33_0 (arm64_memtag_prop))
+(typeattributeset art_apex_dir_33_0 (art_apex_dir))
+(typeattributeset artd_service_33_0 (artd_service))
+(typeattributeset asec_apk_file_33_0 (asec_apk_file))
+(typeattributeset asec_image_file_33_0 (asec_image_file))
+(typeattributeset asec_public_file_33_0 (asec_public_file))
+(typeattributeset ashmem_device_33_0 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_33_0 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_33_0 (assetatlas_service))
+(typeattributeset atrace_33_0 (atrace))
+(typeattributeset attestation_verification_service_33_0 (attestation_verification_service))
+(typeattributeset audio_config_prop_33_0 (audio_config_prop))
+(typeattributeset audio_data_file_33_0 (audio_data_file))
+(typeattributeset audio_device_33_0 (audio_device))
+(typeattributeset audio_prop_33_0 (audio_prop))
+(typeattributeset audio_service_33_0 (audio_service))
+(typeattributeset audiohal_data_file_33_0 (audiohal_data_file))
+(typeattributeset audioserver_33_0 (audioserver))
+(typeattributeset audioserver_data_file_33_0 (audioserver_data_file))
+(typeattributeset audioserver_service_33_0 (audioserver_service))
+(typeattributeset audioserver_tmpfs_33_0 (audioserver_tmpfs))
+(typeattributeset auth_service_33_0 (auth_service))
+(typeattributeset authorization_service_33_0 (authorization_service))
+(typeattributeset autofill_service_33_0 (autofill_service))
+(typeattributeset backup_data_file_33_0 (backup_data_file))
+(typeattributeset backup_service_33_0 (backup_service))
+(typeattributeset battery_service_33_0 (battery_service))
+(typeattributeset batteryproperties_service_33_0 (batteryproperties_service))
+(typeattributeset batterystats_service_33_0 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_33_0 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_33_0 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_33_0 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_33_0 (binder_calls_stats_service))
+(typeattributeset binder_device_33_0 (binder_device))
+(typeattributeset binderfs_33_0 (binderfs))
+(typeattributeset binderfs_features_33_0 (binderfs_features))
+(typeattributeset binderfs_logs_33_0 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_33_0 (binderfs_logs_proc))
+(typeattributeset binfmt_miscfs_33_0 (binfmt_miscfs))
+(typeattributeset biometric_service_33_0 (biometric_service))
+(typeattributeset blkid_33_0 (blkid))
+(typeattributeset blkid_untrusted_33_0 (blkid_untrusted))
+(typeattributeset blob_store_service_33_0 (blob_store_service))
+(typeattributeset block_device_33_0 (block_device))
+(typeattributeset bluetooth_33_0 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_33_0 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_33_0 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_config_prop_33_0 (bluetooth_config_prop))
+(typeattributeset bluetooth_data_file_33_0 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_33_0 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_33_0 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_33_0 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_33_0 (bluetooth_prop))
+(typeattributeset bluetooth_service_33_0 (bluetooth_service))
+(typeattributeset bluetooth_socket_33_0 (bluetooth_socket))
+(typeattributeset boot_block_device_33_0 (boot_block_device))
+(typeattributeset boot_status_prop_33_0 (boot_status_prop))
+(typeattributeset bootanim_33_0 (bootanim))
+(typeattributeset bootanim_config_prop_33_0 (bootanim_config_prop))
+(typeattributeset bootanim_exec_33_0 (bootanim_exec))
+(typeattributeset bootanim_system_prop_33_0 (bootanim_system_prop))
+(typeattributeset bootchart_data_file_33_0 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_33_0 (bootloader_boot_reason_prop))
+(typeattributeset bootloader_prop_33_0 (bootloader_prop))
+(typeattributeset bootstat_33_0 (bootstat))
+(typeattributeset bootstat_data_file_33_0 (bootstat_data_file))
+(typeattributeset bootstat_exec_33_0 (bootstat_exec))
+(typeattributeset boottime_prop_33_0 (boottime_prop))
+(typeattributeset boottime_public_prop_33_0 (boottime_public_prop))
+(typeattributeset boottrace_data_file_33_0 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_33_0 (bpf_progs_loaded_prop))
+(typeattributeset bpfloader_33_0 (bpfloader))
+(typeattributeset bq_config_prop_33_0 (bq_config_prop))
+(typeattributeset broadcastradio_service_33_0 (broadcastradio_service))
+(typeattributeset bufferhubd_33_0 (bufferhubd))
+(typeattributeset bufferhubd_exec_33_0 (bufferhubd_exec))
+(typeattributeset bugreport_service_33_0 (bugreport_service))
+(typeattributeset build_bootimage_prop_33_0 (build_bootimage_prop))
+(typeattributeset build_config_prop_33_0 (build_config_prop))
+(typeattributeset build_odm_prop_33_0 (build_odm_prop))
+(typeattributeset build_prop_33_0 (build_prop))
+(typeattributeset build_prop_33_0 (userdebug_or_eng_prop))
+(typeattributeset build_vendor_prop_33_0 (build_vendor_prop))
+(typeattributeset cache_backup_file_33_0 (cache_backup_file))
+(typeattributeset cache_block_device_33_0 (cache_block_device))
+(typeattributeset cache_file_33_0 (cache_file))
+(typeattributeset cache_private_backup_file_33_0 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_33_0 (cache_recovery_file))
+(typeattributeset cacheinfo_service_33_0 (cacheinfo_service))
+(typeattributeset camera2_extensions_prop_33_0 (camera2_extensions_prop))
+(typeattributeset camera_calibration_prop_33_0 (camera_calibration_prop))
+(typeattributeset camera_config_prop_33_0 (camera_config_prop))
+(typeattributeset camera_data_file_33_0 (camera_data_file))
+(typeattributeset camera_device_33_0 (camera_device))
+(typeattributeset cameraproxy_service_33_0 (cameraproxy_service))
+(typeattributeset cameraserver_33_0 (cameraserver))
+(typeattributeset cameraserver_exec_33_0 (cameraserver_exec))
+(typeattributeset cameraserver_service_33_0 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_33_0 (cameraserver_tmpfs))
+(typeattributeset camerax_extensions_prop_33_0 (camerax_extensions_prop))
+(typeattributeset cgroup_33_0 (cgroup))
+(typeattributeset cgroup_desc_api_file_33_0 (cgroup_desc_api_file))
+(typeattributeset cgroup_desc_file_33_0 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_33_0 (cgroup_rc_file))
+(typeattributeset cgroup_v2_33_0 (cgroup_v2))
+(typeattributeset charger_33_0 (charger))
+(typeattributeset charger_config_prop_33_0 (charger_config_prop))
+(typeattributeset charger_exec_33_0 (charger_exec))
+(typeattributeset charger_prop_33_0 (charger_prop))
+(typeattributeset charger_status_prop_33_0 (charger_status_prop))
+(typeattributeset charger_vendor_33_0 (charger_vendor))
+(typeattributeset clipboard_service_33_0 (clipboard_service))
+(typeattributeset cloudsearch_service_33_0 (cloudsearch_service))
+(typeattributeset codec2_config_prop_33_0 (codec2_config_prop))
+(typeattributeset cold_boot_done_prop_33_0 (cold_boot_done_prop))
+(typeattributeset color_display_service_33_0 (color_display_service))
+(typeattributeset companion_device_service_33_0 (companion_device_service))
+(typeattributeset config_prop_33_0 (config_prop))
+(typeattributeset configfs_33_0 (configfs))
+(typeattributeset connectivity_native_service_33_0 (connectivity_native_service))
+(typeattributeset connectivity_service_33_0 (connectivity_service))
+(typeattributeset connmetrics_service_33_0 (connmetrics_service))
+(typeattributeset console_device_33_0 (console_device))
+(typeattributeset consumer_ir_service_33_0 (consumer_ir_service))
+(typeattributeset content_capture_service_33_0 (content_capture_service))
+(typeattributeset content_service_33_0 (content_service))
+(typeattributeset content_suggestions_service_33_0 (content_suggestions_service))
+(typeattributeset contexthub_service_33_0 (contexthub_service))
+(typeattributeset coredump_file_33_0 (coredump_file))
+(typeattributeset country_detector_service_33_0 (country_detector_service))
+(typeattributeset coverage_service_33_0 (coverage_service))
+(typeattributeset cppreopt_prop_33_0 (cppreopt_prop))
+(typeattributeset cpu_variant_prop_33_0 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_33_0 (cpuinfo_service))
+(typeattributeset crash_dump_33_0 (crash_dump))
+(typeattributeset crash_dump_exec_33_0 (crash_dump_exec))
+(typeattributeset credstore_33_0 (credstore))
+(typeattributeset credstore_data_file_33_0 (credstore_data_file))
+(typeattributeset credstore_exec_33_0 (credstore_exec))
+(typeattributeset credstore_service_33_0 (credstore_service))
+(typeattributeset crossprofileapps_service_33_0 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_33_0 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_33_0 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_33_0 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_33_0 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_33_0 (ctl_console_prop))
+(typeattributeset ctl_default_prop_33_0 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_33_0 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_33_0 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_33_0 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_33_0 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_33_0 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_33_0 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_33_0 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_33_0 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_33_0 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_33_0 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_33_0 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_33_0 (ctl_stop_prop))
+(typeattributeset dalvik_config_prop_33_0
+  ( dalvik_config_prop
+    dalvik_dynamic_config_prop
+))
+(typeattributeset dalvik_prop_33_0 (dalvik_prop))
+(typeattributeset dalvik_runtime_prop_33_0 (dalvik_runtime_prop))
+(typeattributeset dalvikcache_data_file_33_0 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_33_0 (dataloader_manager_service))
+(typeattributeset dbinfo_service_33_0 (dbinfo_service))
+(typeattributeset dck_prop_33_0 (dck_prop))
+(typeattributeset debug_prop_33_0 (debug_prop))
+(typeattributeset debugfs_33_0 (debugfs))
+(typeattributeset debugfs_bootreceiver_tracing_33_0 (debugfs_bootreceiver_tracing))
+(typeattributeset debugfs_kprobes_33_0 (debugfs_kprobes))
+(typeattributeset debugfs_mm_events_tracing_33_0 (debugfs_mm_events_tracing))
+(typeattributeset debugfs_mmc_33_0 (debugfs_mmc))
+(typeattributeset debugfs_restriction_prop_33_0 (debugfs_restriction_prop))
+(typeattributeset debugfs_trace_marker_33_0 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_33_0 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_33_0 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_33_0 (debugfs_tracing_instances))
+(typeattributeset debugfs_tracing_printk_formats_33_0 (debugfs_tracing_printk_formats))
+(typeattributeset debugfs_wakeup_sources_33_0 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_33_0 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_33_0 (debuggerd_prop))
+(typeattributeset default_android_hwservice_33_0 (default_android_hwservice))
+(typeattributeset default_android_service_33_0 (default_android_service))
+(typeattributeset default_android_vndservice_33_0 (default_android_vndservice))
+(typeattributeset default_prop_33_0 (default_prop))
+(typeattributeset dev_cpu_variant_33_0 (dev_cpu_variant))
+(typeattributeset device_33_0 (device))
+(typeattributeset device_config_activity_manager_native_boot_prop_33_0 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_33_0 (device_config_boot_count_prop))
+(typeattributeset device_config_input_native_boot_prop_33_0 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_33_0 (device_config_media_native_prop))
+(typeattributeset device_config_netd_native_prop_33_0 (device_config_netd_native_prop))
+(typeattributeset device_config_nnapi_native_prop_33_0 (device_config_nnapi_native_prop))
+(typeattributeset device_config_reset_performed_prop_33_0 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_33_0 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_33_0 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_33_0 (device_config_service))
+(typeattributeset device_config_surface_flinger_native_boot_prop_33_0 (device_config_surface_flinger_native_boot_prop))
+(typeattributeset device_identifiers_service_33_0 (device_identifiers_service))
+(typeattributeset device_logging_prop_33_0 (device_logging_prop))
+(typeattributeset device_policy_service_33_0 (device_policy_service))
+(typeattributeset device_state_service_33_0 (device_state_service))
+(typeattributeset deviceidle_service_33_0 (deviceidle_service))
+(typeattributeset devicestoragemonitor_service_33_0 (devicestoragemonitor_service))
+(typeattributeset devpts_33_0 (devpts))
+(typeattributeset dhcp_33_0 (dhcp))
+(typeattributeset dhcp_data_file_33_0 (dhcp_data_file))
+(typeattributeset dhcp_exec_33_0 (dhcp_exec))
+(typeattributeset dhcp_prop_33_0 (dhcp_prop))
+(typeattributeset dice_maintenance_service_33_0 (dice_maintenance_service))
+(typeattributeset dice_node_service_33_0 (dice_node_service))
+(typeattributeset diced_33_0 (diced))
+(typeattributeset diced_exec_33_0 (diced_exec))
+(typeattributeset diskstats_service_33_0 (diskstats_service))
+(typeattributeset display_service_33_0 (display_service))
+(typeattributeset dm_device_33_0 (dm_device))
+(typeattributeset dm_user_device_33_0 (dm_user_device))
+(typeattributeset dmabuf_heap_device_33_0 (dmabuf_heap_device))
+(typeattributeset dmabuf_system_heap_device_33_0 (dmabuf_system_heap_device))
+(typeattributeset dmabuf_system_secure_heap_device_33_0 (dmabuf_system_secure_heap_device))
+(typeattributeset dnsmasq_33_0 (dnsmasq))
+(typeattributeset dnsmasq_exec_33_0 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_33_0 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_33_0 (dnsresolver_service))
+(typeattributeset domain_verification_service_33_0 (domain_verification_service))
+(typeattributeset dreams_service_33_0 (dreams_service))
+(typeattributeset drm_data_file_33_0 (drm_data_file))
+(typeattributeset drm_service_config_prop_33_0 (drm_service_config_prop))
+(typeattributeset drmserver_33_0 (drmserver))
+(typeattributeset drmserver_exec_33_0 (drmserver_exec))
+(typeattributeset drmserver_service_33_0 (drmserver_service))
+(typeattributeset drmserver_socket_33_0 (drmserver_socket))
+(typeattributeset dropbox_data_file_33_0 (dropbox_data_file))
+(typeattributeset dropbox_service_33_0 (dropbox_service))
+(typeattributeset dumpstate_33_0 (dumpstate))
+(typeattributeset dumpstate_exec_33_0 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_33_0 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_33_0 (dumpstate_prop))
+(typeattributeset dumpstate_service_33_0 (dumpstate_service))
+(typeattributeset dumpstate_socket_33_0 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_33_0 (dynamic_system_prop))
+(typeattributeset e2fs_33_0 (e2fs))
+(typeattributeset e2fs_exec_33_0 (e2fs_exec))
+(typeattributeset efs_file_33_0 (efs_file))
+(typeattributeset emergency_affordance_service_33_0 (emergency_affordance_service))
+(typeattributeset ephemeral_app_33_0 (ephemeral_app))
+(typeattributeset ethernet_service_33_0 (ethernet_service))
+(typeattributeset evsmanagerd_33_0 (evsmanagerd))
+(typeattributeset evsmanagerd_service_33_0 (evsmanagerd_service))
+(typeattributeset exfat_33_0 (exfat))
+(typeattributeset exported3_system_prop_33_0 (exported3_system_prop))
+(typeattributeset exported_bluetooth_prop_33_0 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_33_0 (exported_camera_prop))
+(typeattributeset exported_config_prop_33_0 (exported_config_prop))
+(typeattributeset exported_default_prop_33_0 (exported_default_prop))
+(typeattributeset exported_dumpstate_prop_33_0 (exported_dumpstate_prop))
+(typeattributeset exported_overlay_prop_33_0 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_33_0 (exported_pm_prop))
+(typeattributeset exported_secure_prop_33_0 (exported_secure_prop))
+(typeattributeset exported_system_prop_33_0
+  ( exported_system_prop
+    locale_prop
+    timezone_prop
+))
+(typeattributeset external_vibrator_service_33_0 (external_vibrator_service))
+(typeattributeset extra_free_kbytes_33_0 (extra_free_kbytes))
+(typeattributeset extra_free_kbytes_exec_33_0 (extra_free_kbytes_exec))
+(typeattributeset face_service_33_0 (face_service))
+(typeattributeset face_vendor_data_file_33_0 (face_vendor_data_file))
+(typeattributeset fastbootd_33_0 (fastbootd))
+(typeattributeset ffs_config_prop_33_0 (ffs_config_prop))
+(typeattributeset ffs_control_prop_33_0 (ffs_control_prop))
+(typeattributeset file_contexts_file_33_0 (file_contexts_file))
+(typeattributeset file_integrity_service_33_0 (file_integrity_service))
+(typeattributeset fingerprint_prop_33_0 (fingerprint_prop))
+(typeattributeset fingerprint_service_33_0 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_33_0 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_33_0 (fingerprintd))
+(typeattributeset fingerprintd_data_file_33_0 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_33_0 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_33_0 (fingerprintd_service))
+(typeattributeset firstboot_prop_33_0 (firstboot_prop))
+(typeattributeset flags_health_check_33_0 (flags_health_check))
+(typeattributeset flags_health_check_exec_33_0 (flags_health_check_exec))
+(typeattributeset font_service_33_0 (font_service))
+(typeattributeset framework_watchdog_config_prop_33_0 (framework_watchdog_config_prop))
+(typeattributeset frp_block_device_33_0 (frp_block_device))
+(typeattributeset fs_bpf_33_0 (fs_bpf))
+(typeattributeset fs_bpf_tethering_33_0 (fs_bpf_tethering))
+(typeattributeset fs_bpf_vendor_33_0 (fs_bpf_vendor))
+(typeattributeset fsck_33_0 (fsck))
+(typeattributeset fsck_exec_33_0 (fsck_exec))
+(typeattributeset fsck_untrusted_33_0 (fsck_untrusted))
+(typeattributeset fscklogs_33_0 (fscklogs))
+(typeattributeset functionfs_33_0 (functionfs))
+(typeattributeset fuse_33_0 (fuse))
+(typeattributeset fuse_device_33_0 (fuse_device))
+(typeattributeset fusectlfs_33_0 (fusectlfs))
+(typeattributeset fwk_automotive_display_hwservice_33_0 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_automotive_display_service_33_0 (fwk_automotive_display_service))
+(typeattributeset fwk_bufferhub_hwservice_33_0 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_33_0 (fwk_camera_hwservice))
+(typeattributeset fwk_display_hwservice_33_0 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_33_0 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_33_0 (fwk_sensor_hwservice))
+(typeattributeset fwk_stats_hwservice_33_0 (fwk_stats_hwservice))
+(typeattributeset fwk_stats_service_33_0 (fwk_stats_service))
+(typeattributeset fwmarkd_socket_33_0 (fwmarkd_socket))
+(typeattributeset game_mode_intervention_list_file_33_0 (game_mode_intervention_list_file))
+(typeattributeset game_service_33_0 (game_service))
+(typeattributeset gatekeeper_data_file_33_0 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_33_0 (gatekeeper_service))
+(typeattributeset gatekeeperd_33_0 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_33_0 (gatekeeperd_exec))
+(typeattributeset gesture_prop_33_0 (gesture_prop))
+(typeattributeset gfxinfo_service_33_0 (gfxinfo_service))
+(typeattributeset gmscore_app_33_0 (gmscore_app))
+(typeattributeset gnss_device_33_0 (gnss_device))
+(typeattributeset gnss_time_update_service_33_0 (gnss_time_update_service))
+(typeattributeset gps_control_33_0 (gps_control))
+(typeattributeset gpu_device_33_0 (gpu_device))
+(typeattributeset gpu_service_33_0 (gpu_service))
+(typeattributeset gpuservice_33_0 (gpuservice))
+(typeattributeset graphics_config_prop_33_0 (graphics_config_prop))
+(typeattributeset graphics_device_33_0 (graphics_device))
+(typeattributeset graphicsstats_service_33_0 (graphicsstats_service))
+(typeattributeset gsi_data_file_33_0 (gsi_data_file))
+(typeattributeset gsi_metadata_file_33_0 (gsi_metadata_file))
+(typeattributeset gsi_public_metadata_file_33_0 (gsi_public_metadata_file))
+(typeattributeset gwp_asan_prop_33_0 (gwp_asan_prop))
+(typeattributeset hal_atrace_hwservice_33_0 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_33_0 (hal_audio_hwservice))
+(typeattributeset hal_audio_service_33_0 (hal_audio_service))
+(typeattributeset hal_audiocontrol_hwservice_33_0 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audiocontrol_service_33_0 (hal_audiocontrol_service))
+(typeattributeset hal_authsecret_hwservice_33_0 (hal_authsecret_hwservice))
+(typeattributeset hal_authsecret_service_33_0 (hal_authsecret_service))
+(typeattributeset hal_bluetooth_hwservice_33_0 (hal_bluetooth_hwservice))
+(typeattributeset hal_bootctl_hwservice_33_0 (hal_bootctl_hwservice))
+(typeattributeset hal_broadcastradio_hwservice_33_0 (hal_broadcastradio_hwservice))
+(typeattributeset hal_camera_hwservice_33_0 (hal_camera_hwservice))
+(typeattributeset hal_camera_service_33_0 (hal_camera_service))
+(typeattributeset hal_can_bus_hwservice_33_0 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_33_0 (hal_can_controller_hwservice))
+(typeattributeset hal_cas_hwservice_33_0 (hal_cas_hwservice))
+(typeattributeset hal_codec2_hwservice_33_0 (hal_codec2_hwservice))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_33_0 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_33_0 (hal_confirmationui_hwservice))
+(typeattributeset hal_contexthub_hwservice_33_0 (hal_contexthub_hwservice))
+(typeattributeset hal_contexthub_service_33_0 (hal_contexthub_service))
+(typeattributeset hal_dice_service_33_0 (hal_dice_service))
+(typeattributeset hal_drm_hwservice_33_0 (hal_drm_hwservice))
+(typeattributeset hal_drm_service_33_0 (hal_drm_service))
+(typeattributeset hal_dumpstate_config_prop_33_0 (hal_dumpstate_config_prop))
+(typeattributeset hal_dumpstate_hwservice_33_0 (hal_dumpstate_hwservice))
+(typeattributeset hal_dumpstate_service_33_0 (hal_dumpstate_service))
+(typeattributeset hal_evs_hwservice_33_0 (hal_evs_hwservice))
+(typeattributeset hal_evs_service_33_0 (hal_evs_service))
+(typeattributeset hal_face_hwservice_33_0 (hal_face_hwservice))
+(typeattributeset hal_face_service_33_0 (hal_face_service))
+(typeattributeset hal_fingerprint_hwservice_33_0 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_33_0 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_33_0 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gnss_hwservice_33_0 (hal_gnss_hwservice))
+(typeattributeset hal_gnss_service_33_0 (hal_gnss_service))
+(typeattributeset hal_graphics_allocator_hwservice_33_0 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_allocator_service_33_0 (hal_graphics_allocator_service))
+(typeattributeset hal_graphics_composer_hwservice_33_0 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_33_0 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_composer_service_33_0 (hal_graphics_composer_service))
+(typeattributeset hal_graphics_mapper_hwservice_33_0 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_health_hwservice_33_0 (hal_health_hwservice))
+(typeattributeset hal_health_service_33_0 (hal_health_service))
+(typeattributeset hal_health_storage_hwservice_33_0 (hal_health_storage_hwservice))
+(typeattributeset hal_health_storage_service_33_0 (hal_health_storage_service))
+(typeattributeset hal_identity_service_33_0 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_33_0 (hal_input_classifier_hwservice))
+(typeattributeset hal_input_processor_service_33_0 (hal_input_processor_service))
+(typeattributeset hal_instrumentation_prop_33_0 (hal_instrumentation_prop))
+(typeattributeset hal_ir_hwservice_33_0 (hal_ir_hwservice))
+(typeattributeset hal_ir_service_33_0 (hal_ir_service))
+(typeattributeset hal_keymaster_hwservice_33_0 (hal_keymaster_hwservice))
+(typeattributeset hal_keymint_service_33_0 (hal_keymint_service))
+(typeattributeset hal_light_hwservice_33_0 (hal_light_hwservice))
+(typeattributeset hal_light_service_33_0 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_33_0 (hal_lowpan_hwservice))
+(typeattributeset hal_memtrack_hwservice_33_0 (hal_memtrack_hwservice))
+(typeattributeset hal_memtrack_service_33_0 (hal_memtrack_service))
+(typeattributeset hal_neuralnetworks_hwservice_33_0 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_neuralnetworks_service_33_0 (hal_neuralnetworks_service))
+(typeattributeset hal_nfc_hwservice_33_0 (hal_nfc_hwservice))
+(typeattributeset hal_nfc_service_33_0 (hal_nfc_service))
+(typeattributeset hal_nlinterceptor_service_33_0 (hal_nlinterceptor_service))
+(typeattributeset hal_oemlock_hwservice_33_0 (hal_oemlock_hwservice))
+(typeattributeset hal_oemlock_service_33_0 (hal_oemlock_service))
+(typeattributeset hal_omx_hwservice_33_0 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_33_0 (hal_power_hwservice))
+(typeattributeset hal_power_service_33_0 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_33_0 (hal_power_stats_hwservice))
+(typeattributeset hal_power_stats_service_33_0 (hal_power_stats_service))
+(typeattributeset hal_radio_service_33_0 (hal_radio_service))
+(typeattributeset hal_rebootescrow_service_33_0 (hal_rebootescrow_service))
+(typeattributeset hal_remotelyprovisionedcomponent_service_33_0 (hal_remotelyprovisionedcomponent_service))
+(typeattributeset hal_renderscript_hwservice_33_0 (hal_renderscript_hwservice))
+(typeattributeset hal_secure_element_hwservice_33_0 (hal_secure_element_hwservice))
+(typeattributeset hal_secureclock_service_33_0 (hal_secureclock_service))
+(typeattributeset hal_sensors_hwservice_33_0 (hal_sensors_hwservice))
+(typeattributeset hal_sensors_service_33_0 (hal_sensors_service))
+(typeattributeset hal_sharedsecret_service_33_0 (hal_sharedsecret_service))
+(typeattributeset hal_system_suspend_service_33_0 (hal_system_suspend_service))
+(typeattributeset hal_telephony_hwservice_33_0 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_33_0 (hal_tetheroffload_hwservice))
+(typeattributeset hal_thermal_hwservice_33_0 (hal_thermal_hwservice))
+(typeattributeset hal_tv_cec_hwservice_33_0 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_input_hwservice_33_0 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_tuner_hwservice_33_0 (hal_tv_tuner_hwservice))
+(typeattributeset hal_tv_tuner_service_33_0 (hal_tv_tuner_service))
+(typeattributeset hal_usb_gadget_hwservice_33_0 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_hwservice_33_0 (hal_usb_hwservice))
+(typeattributeset hal_usb_service_33_0 (hal_usb_service))
+(typeattributeset hal_uwb_service_33_0 (hal_uwb_service))
+(typeattributeset hal_vehicle_hwservice_33_0 (hal_vehicle_hwservice))
+(typeattributeset hal_vehicle_service_33_0 (hal_vehicle_service))
+(typeattributeset hal_vibrator_hwservice_33_0 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_33_0 (hal_vibrator_service))
+(typeattributeset hal_vr_hwservice_33_0 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_33_0 (hal_weaver_hwservice))
+(typeattributeset hal_weaver_service_33_0 (hal_weaver_service))
+(typeattributeset hal_wifi_hostapd_hwservice_33_0 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hostapd_service_33_0 (hal_wifi_hostapd_service))
+(typeattributeset hal_wifi_hwservice_33_0 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_supplicant_hwservice_33_0 (hal_wifi_supplicant_hwservice))
+(typeattributeset hal_wifi_supplicant_service_33_0 (hal_wifi_supplicant_service))
+(typeattributeset hardware_properties_service_33_0 (hardware_properties_service))
+(typeattributeset hardware_service_33_0 (hardware_service))
+(typeattributeset hci_attach_dev_33_0 (hci_attach_dev))
+(typeattributeset hdmi_config_prop_33_0 (hdmi_config_prop))
+(typeattributeset hdmi_control_service_33_0 (hdmi_control_service))
+(typeattributeset healthd_33_0 (healthd))
+(typeattributeset heapdump_data_file_33_0 (heapdump_data_file))
+(typeattributeset heapprofd_33_0 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_33_0 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_33_0 (heapprofd_prop))
+(typeattributeset heapprofd_socket_33_0 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_33_0 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_33_0 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_33_0 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_33_0 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_33_0 (hidl_token_hwservice))
+(typeattributeset hint_service_33_0 (hint_service))
+(typeattributeset hw_random_device_33_0 (hw_random_device))
+(typeattributeset hw_timeout_multiplier_prop_33_0 (hw_timeout_multiplier_prop))
+(typeattributeset hwbinder_device_33_0 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_33_0 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_33_0 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_33_0 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_33_0 (hwservicemanager_prop))
+(typeattributeset hypervisor_prop_33_0 (hypervisor_prop))
+(typeattributeset icon_file_33_0 (icon_file))
+(typeattributeset idmap_33_0 (idmap))
+(typeattributeset idmap_exec_33_0 (idmap_exec))
+(typeattributeset idmap_service_33_0 (idmap_service))
+(typeattributeset iio_device_33_0 (iio_device))
+(typeattributeset imms_service_33_0 (imms_service))
+(typeattributeset incident_33_0 (incident))
+(typeattributeset incident_data_file_33_0 (incident_data_file))
+(typeattributeset incident_helper_33_0 (incident_helper))
+(typeattributeset incident_service_33_0 (incident_service))
+(typeattributeset incidentd_33_0 (incidentd))
+(typeattributeset incremental_control_file_33_0 (incremental_control_file))
+(typeattributeset incremental_prop_33_0 (incremental_prop))
+(typeattributeset incremental_service_33_0 (incremental_service))
+(typeattributeset init_33_0 (init))
+(typeattributeset init_exec_33_0 (init_exec))
+(typeattributeset init_service_status_prop_33_0 (init_service_status_prop))
+(typeattributeset init_tmpfs_33_0 (init_tmpfs))
+(typeattributeset inotify_33_0 (inotify))
+(typeattributeset input_device_33_0 (input_device))
+(typeattributeset input_method_service_33_0 (input_method_service))
+(typeattributeset input_service_33_0 (input_service))
+(typeattributeset inputflinger_33_0 (inputflinger))
+(typeattributeset inputflinger_exec_33_0 (inputflinger_exec))
+(typeattributeset inputflinger_service_33_0 (inputflinger_service))
+(typeattributeset install_data_file_33_0 (install_data_file))
+(typeattributeset installd_33_0 (installd))
+(typeattributeset installd_exec_33_0 (installd_exec))
+(typeattributeset installd_service_33_0 (installd_service))
+(typeattributeset ion_device_33_0 (ion_device))
+(typeattributeset iorap_inode2filename_33_0 (iorap_inode2filename))
+(typeattributeset iorap_inode2filename_exec_33_0 (iorap_inode2filename_exec))
+(typeattributeset iorap_inode2filename_tmpfs_33_0 (iorap_inode2filename_tmpfs))
+(typeattributeset iorap_prefetcherd_33_0 (iorap_prefetcherd))
+(typeattributeset iorap_prefetcherd_exec_33_0 (iorap_prefetcherd_exec))
+(typeattributeset iorap_prefetcherd_tmpfs_33_0 (iorap_prefetcherd_tmpfs))
+(typeattributeset iorapd_33_0 (iorapd))
+(typeattributeset iorapd_data_file_33_0 (iorapd_data_file))
+(typeattributeset iorapd_exec_33_0 (iorapd_exec))
+(typeattributeset iorapd_service_33_0 (iorapd_service))
+(typeattributeset iorapd_tmpfs_33_0 (iorapd_tmpfs))
+(typeattributeset ipsec_service_33_0 (ipsec_service))
+(typeattributeset iris_service_33_0 (iris_service))
+(typeattributeset iris_vendor_data_file_33_0 (iris_vendor_data_file))
+(typeattributeset isolated_app_33_0 (isolated_app))
+(typeattributeset jobscheduler_service_33_0 (jobscheduler_service))
+(typeattributeset kernel_33_0 (kernel))
+(typeattributeset keychain_data_file_33_0 (keychain_data_file))
+(typeattributeset keychord_device_33_0 (keychord_device))
+(typeattributeset keyguard_config_prop_33_0 (keyguard_config_prop))
+(typeattributeset keystore2_key_contexts_file_33_0 (keystore2_key_contexts_file))
+(typeattributeset keystore_33_0 (keystore))
+(typeattributeset keystore_compat_hal_service_33_0 (keystore_compat_hal_service))
+(typeattributeset keystore_data_file_33_0 (keystore_data_file))
+(typeattributeset keystore_exec_33_0 (keystore_exec))
+(typeattributeset keystore_maintenance_service_33_0 (keystore_maintenance_service))
+(typeattributeset keystore_metrics_service_33_0 (keystore_metrics_service))
+(typeattributeset keystore_service_33_0 (keystore_service))
+(typeattributeset kmsg_debug_device_33_0 (kmsg_debug_device))
+(typeattributeset kmsg_device_33_0 (kmsg_device))
+(typeattributeset labeledfs_33_0 (labeledfs))
+(typeattributeset launcherapps_service_33_0 (launcherapps_service))
+(typeattributeset legacy_permission_service_33_0 (legacy_permission_service))
+(typeattributeset legacykeystore_service_33_0 (legacykeystore_service))
+(typeattributeset libc_debug_prop_33_0 (libc_debug_prop))
+(typeattributeset light_service_33_0 (light_service))
+(typeattributeset linkerconfig_file_33_0 (linkerconfig_file))
+(typeattributeset llkd_33_0 (llkd))
+(typeattributeset llkd_exec_33_0 (llkd_exec))
+(typeattributeset llkd_prop_33_0 (llkd_prop))
+(typeattributeset lmkd_33_0 (lmkd))
+(typeattributeset lmkd_config_prop_33_0 (lmkd_config_prop))
+(typeattributeset lmkd_exec_33_0 (lmkd_exec))
+(typeattributeset lmkd_prop_33_0 (lmkd_prop))
+(typeattributeset lmkd_socket_33_0 (lmkd_socket))
+(typeattributeset locale_service_33_0 (locale_service))
+(typeattributeset location_service_33_0 (location_service))
+(typeattributeset location_time_zone_manager_service_33_0 (location_time_zone_manager_service))
+(typeattributeset lock_settings_service_33_0 (lock_settings_service))
+(typeattributeset log_prop_33_0 (log_prop))
+(typeattributeset log_tag_prop_33_0 (log_tag_prop))
+(typeattributeset logcat_exec_33_0 (logcat_exec))
+(typeattributeset logd_33_0 (logd))
+(typeattributeset logd_exec_33_0 (logd_exec))
+(typeattributeset logd_prop_33_0 (logd_prop))
+(typeattributeset logd_socket_33_0 (logd_socket))
+(typeattributeset logdr_socket_33_0 (logdr_socket))
+(typeattributeset logdw_socket_33_0 (logdw_socket))
+(typeattributeset logpersist_33_0 (logpersist))
+(typeattributeset logpersistd_logging_prop_33_0 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_33_0 (loop_control_device))
+(typeattributeset loop_device_33_0 (loop_device))
+(typeattributeset looper_stats_service_33_0 (looper_stats_service))
+(typeattributeset lowpan_device_33_0 (lowpan_device))
+(typeattributeset lowpan_prop_33_0 (lowpan_prop))
+(typeattributeset lowpan_service_33_0 (lowpan_service))
+(typeattributeset lpdump_service_33_0 (lpdump_service))
+(typeattributeset lpdumpd_prop_33_0 (lpdumpd_prop))
+(typeattributeset mac_perms_file_33_0 (mac_perms_file))
+(typeattributeset mdns_service_33_0 (mdns_service))
+(typeattributeset mdns_socket_33_0 (mdns_socket))
+(typeattributeset mdnsd_33_0 (mdnsd))
+(typeattributeset mdnsd_socket_33_0 (mdnsd_socket))
+(typeattributeset media_communication_service_33_0 (media_communication_service))
+(typeattributeset media_config_prop_33_0 (media_config_prop))
+(typeattributeset media_data_file_33_0 (media_data_file))
+(typeattributeset media_metrics_service_33_0 (media_metrics_service))
+(typeattributeset media_projection_service_33_0 (media_projection_service))
+(typeattributeset media_router_service_33_0 (media_router_service))
+(typeattributeset media_rw_data_file_33_0 (media_rw_data_file media_userdir_file))
+(typeattributeset media_session_service_33_0 (media_session_service))
+(typeattributeset media_variant_prop_33_0 (media_variant_prop))
+(typeattributeset mediadrm_config_prop_33_0 (mediadrm_config_prop))
+(typeattributeset mediadrmserver_33_0 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_33_0 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_33_0 (mediadrmserver_service))
+(typeattributeset mediaextractor_33_0 (mediaextractor))
+(typeattributeset mediaextractor_exec_33_0 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_33_0 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_33_0 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_33_0 (mediametrics))
+(typeattributeset mediametrics_exec_33_0 (mediametrics_exec))
+(typeattributeset mediametrics_service_33_0 (mediametrics_service))
+(typeattributeset mediaprovider_33_0 (mediaprovider))
+(typeattributeset mediaserver_33_0 (mediaserver))
+(typeattributeset mediaserver_exec_33_0 (mediaserver_exec))
+(typeattributeset mediaserver_service_33_0 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_33_0 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_33_0 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_33_0 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_33_0 (mediatranscoding))
+(typeattributeset mediatranscoding_service_33_0 (mediatranscoding_service))
+(typeattributeset meminfo_service_33_0 (meminfo_service))
+(typeattributeset memtrackproxy_service_33_0 (memtrackproxy_service))
+(typeattributeset metadata_block_device_33_0 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_33_0 (metadata_bootstat_file))
+(typeattributeset metadata_file_33_0 (metadata_file))
+(typeattributeset method_trace_data_file_33_0 (method_trace_data_file))
+(typeattributeset midi_service_33_0 (midi_service))
+(typeattributeset mirror_data_file_33_0 (mirror_data_file))
+(typeattributeset misc_block_device_33_0 (misc_block_device))
+(typeattributeset misc_logd_file_33_0 (misc_logd_file))
+(typeattributeset misc_user_data_file_33_0 (misc_user_data_file))
+(typeattributeset mm_events_config_prop_33_0 (mm_events_config_prop))
+(typeattributeset mmc_prop_33_0 (mmc_prop))
+(typeattributeset mnt_expand_file_33_0 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_33_0 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_33_0 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_33_0 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_33_0 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_33_0 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_33_0 (mnt_user_file))
+(typeattributeset mnt_vendor_file_33_0 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_33_0 (mock_ota_prop))
+(typeattributeset modprobe_33_0 (modprobe))
+(typeattributeset module_sdkextensions_prop_33_0 (module_sdkextensions_prop))
+(typeattributeset mount_service_33_0 (mount_service))
+(typeattributeset mqueue_33_0 (mqueue))
+(typeattributeset mtp_33_0 (mtp))
+(typeattributeset mtp_device_33_0 (mtp_device))
+(typeattributeset mtp_exec_33_0 (mtp_exec))
+(typeattributeset mtpd_socket_33_0 (mtpd_socket))
+(typeattributeset music_recognition_service_33_0 (music_recognition_service))
+(typeattributeset nativetest_data_file_33_0 (nativetest_data_file))
+(typeattributeset nearby_service_33_0 (nearby_service))
+(typeattributeset net_data_file_33_0 (net_data_file))
+(typeattributeset net_dns_prop_33_0 (net_dns_prop))
+(typeattributeset net_radio_prop_33_0 (net_radio_prop))
+(typeattributeset netd_33_0 (netd))
+(typeattributeset netd_exec_33_0 (netd_exec))
+(typeattributeset netd_listener_service_33_0 (netd_listener_service))
+(typeattributeset netd_service_33_0 (netd_service))
+(typeattributeset netif_33_0 (netif))
+(typeattributeset netpolicy_service_33_0 (netpolicy_service))
+(typeattributeset netstats_service_33_0 (netstats_service))
+(typeattributeset netutils_wrapper_33_0 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_33_0 (netutils_wrapper_exec))
+(typeattributeset network_management_service_33_0 (network_management_service))
+(typeattributeset network_score_service_33_0 (network_score_service))
+(typeattributeset network_stack_33_0 (network_stack))
+(typeattributeset network_stack_service_33_0 (network_stack_service))
+(typeattributeset network_time_update_service_33_0 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_33_0 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_33_0 (network_watchlist_service))
+(typeattributeset nfc_33_0 (nfc))
+(typeattributeset nfc_data_file_33_0 (nfc_data_file))
+(typeattributeset nfc_device_33_0 (nfc_device))
+(typeattributeset nfc_logs_data_file_33_0 (nfc_logs_data_file))
+(typeattributeset nfc_prop_33_0 (nfc_prop))
+(typeattributeset nfc_service_33_0 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_33_0 (nnapi_ext_deny_product_prop))
+(typeattributeset node_33_0 (node))
+(typeattributeset notification_service_33_0 (notification_service))
+(typeattributeset null_device_33_0 (null_device))
+(typeattributeset oem_lock_service_33_0 (oem_lock_service))
+(typeattributeset oem_unlock_prop_33_0 (oem_unlock_prop))
+(typeattributeset oemfs_33_0 (oemfs))
+(typeattributeset ota_data_file_33_0 (ota_data_file))
+(typeattributeset ota_metadata_file_33_0 (ota_metadata_file))
+(typeattributeset ota_package_file_33_0 (ota_package_file))
+(typeattributeset ota_prop_33_0 (ota_prop))
+(typeattributeset otadexopt_service_33_0 (otadexopt_service))
+(typeattributeset otapreopt_chroot_33_0 (otapreopt_chroot))
+(typeattributeset overlay_prop_33_0 (overlay_prop))
+(typeattributeset overlay_service_33_0 (overlay_service))
+(typeattributeset overlayfs_file_33_0 (overlayfs_file))
+(typeattributeset owntty_device_33_0 (owntty_device))
+(typeattributeset pac_proxy_service_33_0 (pac_proxy_service))
+(typeattributeset package_native_service_33_0 (package_native_service))
+(typeattributeset package_service_33_0 (package_service))
+(typeattributeset packagemanager_config_prop_33_0 (packagemanager_config_prop))
+(typeattributeset packages_list_file_33_0 (packages_list_file))
+(typeattributeset pan_result_prop_33_0 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_33_0 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_33_0 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_33_0 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_33_0 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_33_0 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_33_0 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_33_0 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_33_0 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_33_0 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_33_0 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_33_0 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_33_0 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_33_0 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_33_0 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_33_0 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_33_0 (pdx_performance_dir))
+(typeattributeset people_service_33_0 (people_service))
+(typeattributeset perfetto_33_0 (perfetto))
+(typeattributeset performanced_33_0 (performanced))
+(typeattributeset performanced_exec_33_0 (performanced_exec))
+(typeattributeset permission_checker_service_33_0 (permission_checker_service))
+(typeattributeset permission_service_33_0 (permission_service))
+(typeattributeset permissionmgr_service_33_0 (permissionmgr_service))
+(typeattributeset persist_debug_prop_33_0 (persist_debug_prop system_user_mode_emulation_prop))
+(typeattributeset persist_vendor_debug_wifi_prop_33_0 (persist_vendor_debug_wifi_prop))
+(typeattributeset persist_wm_debug_prop_33_0 (persist_wm_debug_prop))
+(typeattributeset persistent_data_block_service_33_0 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_33_0 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_33_0 (pinner_service))
+(typeattributeset pipefs_33_0 (pipefs))
+(typeattributeset platform_app_33_0 (platform_app))
+(typeattributeset platform_compat_service_33_0 (platform_compat_service))
+(typeattributeset pmsg_device_33_0 (pmsg_device))
+(typeattributeset port_33_0 (port))
+(typeattributeset port_device_33_0 (port_device))
+(typeattributeset postinstall_33_0 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_33_0 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_33_0 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_33_0 (postinstall_mnt_dir))
+(typeattributeset power_debug_prop_33_0 (power_debug_prop))
+(typeattributeset power_service_33_0 (power_service))
+(typeattributeset powerctl_prop_33_0 (powerctl_prop))
+(typeattributeset powerstats_service_33_0 (powerstats_service))
+(typeattributeset ppp_33_0 (ppp))
+(typeattributeset ppp_device_33_0 (ppp_device))
+(typeattributeset ppp_exec_33_0 (ppp_exec))
+(typeattributeset preloads_data_file_33_0 (preloads_data_file))
+(typeattributeset preloads_media_file_33_0 (preloads_media_file))
+(typeattributeset prereboot_data_file_33_0 (prereboot_data_file))
+(typeattributeset print_service_33_0 (print_service))
+(typeattributeset priv_app_33_0 (priv_app))
+(typeattributeset privapp_data_file_33_0 (privapp_data_file))
+(typeattributeset proc_33_0 (proc))
+(typeattributeset proc_abi_33_0 (proc_abi))
+(typeattributeset proc_asound_33_0 (proc_asound))
+(typeattributeset proc_bluetooth_writable_33_0 (proc_bluetooth_writable))
+(typeattributeset proc_bootconfig_33_0 (proc_bootconfig))
+(typeattributeset proc_bpf_33_0 (proc_bpf))
+(typeattributeset proc_buddyinfo_33_0 (proc_buddyinfo))
+(typeattributeset proc_cmdline_33_0 (proc_cmdline))
+(typeattributeset proc_cpu_alignment_33_0 (proc_cpu_alignment))
+(typeattributeset proc_cpuinfo_33_0 (proc_cpuinfo))
+(typeattributeset proc_dirty_33_0 (proc_dirty))
+(typeattributeset proc_diskstats_33_0 (proc_diskstats))
+(typeattributeset proc_drop_caches_33_0 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_33_0 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_33_0 (proc_filesystems))
+(typeattributeset proc_fs_verity_33_0 (proc))
+(typeattributeset proc_hostname_33_0 (proc_hostname))
+(typeattributeset proc_hung_task_33_0 (proc_hung_task))
+(typeattributeset proc_interrupts_33_0 (proc_interrupts))
+(typeattributeset proc_iomem_33_0 (proc_iomem))
+(typeattributeset proc_kallsyms_33_0 (proc_kallsyms))
+(typeattributeset proc_keys_33_0 (proc_keys))
+(typeattributeset proc_kmsg_33_0 (proc_kmsg))
+(typeattributeset proc_kpageflags_33_0 (proc_kpageflags))
+(typeattributeset proc_loadavg_33_0 (proc_loadavg))
+(typeattributeset proc_locks_33_0 (proc_locks))
+(typeattributeset proc_lowmemorykiller_33_0 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_33_0 (proc_max_map_count))
+(typeattributeset proc_meminfo_33_0 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_33_0 (proc_min_free_order_shift))
+(typeattributeset proc_misc_33_0 (proc_misc))
+(typeattributeset proc_modules_33_0 (proc_modules))
+(typeattributeset proc_mounts_33_0 (proc_mounts))
+(typeattributeset proc_net_33_0 (proc_net))
+(typeattributeset proc_net_tcp_udp_33_0 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_33_0 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_33_0 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_33_0 (proc_pagetypeinfo))
+(typeattributeset proc_panic_33_0 (proc_panic))
+(typeattributeset proc_perf_33_0 (proc_perf))
+(typeattributeset proc_pid_max_33_0 (proc_pid_max))
+(typeattributeset proc_pipe_conf_33_0 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_33_0 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_33_0 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_33_0 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_33_0 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_33_0 (proc_qtaguid_stat))
+(typeattributeset proc_random_33_0 (proc_random))
+(typeattributeset proc_sched_33_0 (proc_sched))
+(typeattributeset proc_security_33_0 (proc_security))
+(typeattributeset proc_slabinfo_33_0 (proc_slabinfo))
+(typeattributeset proc_stat_33_0 (proc_stat))
+(typeattributeset proc_swaps_33_0 (proc_swaps))
+(typeattributeset proc_sysrq_33_0 (proc_sysrq))
+(typeattributeset proc_timer_33_0 (proc_timer))
+(typeattributeset proc_tty_drivers_33_0 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_33_0 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_33_0 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_33_0 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_33_0 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_33_0 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_33_0 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_33_0 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_33_0 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_33_0 (proc_uptime))
+(typeattributeset proc_vendor_sched_33_0 (proc_vendor_sched))
+(typeattributeset proc_version_33_0 (proc_version))
+(typeattributeset proc_vmallocinfo_33_0 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_33_0 (proc_vmstat))
+(typeattributeset proc_watermark_boost_factor_33_0 (proc_watermark_boost_factor))
+(typeattributeset proc_watermark_scale_factor_33_0 (proc_watermark_scale_factor))
+(typeattributeset proc_zoneinfo_33_0 (proc_zoneinfo))
+(typeattributeset processinfo_service_33_0 (processinfo_service))
+(typeattributeset procstats_service_33_0 (procstats_service))
+(typeattributeset profman_33_0 (profman))
+(typeattributeset profman_dump_data_file_33_0 (profman_dump_data_file))
+(typeattributeset profman_exec_33_0 (profman_exec))
+(typeattributeset properties_device_33_0 (properties_device))
+(typeattributeset properties_serial_33_0 (properties_serial))
+(typeattributeset property_contexts_file_33_0 (property_contexts_file))
+(typeattributeset property_data_file_33_0 (property_data_file))
+(typeattributeset property_info_33_0 (property_info))
+(typeattributeset property_service_version_prop_33_0 (property_service_version_prop))
+(typeattributeset property_socket_33_0 (property_socket))
+(typeattributeset provisioned_prop_33_0 (provisioned_prop))
+(typeattributeset pstorefs_33_0 (pstorefs))
+(typeattributeset ptmx_device_33_0 (ptmx_device))
+(typeattributeset qemu_hw_prop_33_0 (qemu_hw_prop))
+(typeattributeset qemu_sf_lcd_density_prop_33_0 (qemu_sf_lcd_density_prop))
+(typeattributeset qtaguid_device_33_0 (qtaguid_device))
+(typeattributeset racoon_33_0 (racoon))
+(typeattributeset racoon_exec_33_0 (racoon_exec))
+(typeattributeset racoon_socket_33_0 (racoon_socket))
+(typeattributeset radio_33_0 (radio))
+(typeattributeset radio_control_prop_33_0 (radio_control_prop))
+(typeattributeset radio_core_data_file_33_0 (radio_core_data_file))
+(typeattributeset radio_data_file_33_0 (radio_data_file))
+(typeattributeset radio_device_33_0 (radio_device))
+(typeattributeset radio_prop_33_0 (radio_prop))
+(typeattributeset radio_service_33_0 (radio_service))
+(typeattributeset ram_device_33_0 (ram_device))
+(typeattributeset random_device_33_0 (random_device))
+(typeattributeset reboot_readiness_service_33_0 (reboot_readiness_service))
+(typeattributeset rebootescrow_hal_prop_33_0 (rebootescrow_hal_prop))
+(typeattributeset recovery_33_0 (recovery))
+(typeattributeset recovery_block_device_33_0 (recovery_block_device))
+(typeattributeset recovery_config_prop_33_0 (recovery_config_prop))
+(typeattributeset recovery_data_file_33_0 (recovery_data_file))
+(typeattributeset recovery_persist_33_0 (recovery_persist))
+(typeattributeset recovery_persist_exec_33_0 (recovery_persist_exec))
+(typeattributeset recovery_refresh_33_0 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_33_0 (recovery_refresh_exec))
+(typeattributeset recovery_service_33_0 (recovery_service))
+(typeattributeset recovery_socket_33_0 (recovery_socket))
+(typeattributeset registry_service_33_0 (registry_service))
+(typeattributeset remotelyprovisionedkeypool_service_33_0 (remotelyprovisionedkeypool_service))
+(typeattributeset remoteprovisioning_service_33_0 (remoteprovisioning_service))
+(typeattributeset resourcecache_data_file_33_0 (resourcecache_data_file))
+(typeattributeset resources_manager_service_33_0 (resources_manager_service))
+(typeattributeset restorecon_prop_33_0 (restorecon_prop))
+(typeattributeset restrictions_service_33_0 (restrictions_service))
+(typeattributeset retaildemo_prop_33_0 (retaildemo_prop))
+(typeattributeset rild_debug_socket_33_0 (rild_debug_socket))
+(typeattributeset rild_socket_33_0 (rild_socket))
+(typeattributeset ringtone_file_33_0 (ringtone_file))
+(typeattributeset role_service_33_0 (role_service))
+(typeattributeset rollback_service_33_0 (rollback_service))
+(typeattributeset root_block_device_33_0 (root_block_device))
+(typeattributeset rootdisk_sysdev_33_0 (rootdisk_sysdev))
+(typeattributeset rootfs_33_0 (rootfs))
+(typeattributeset rpmsg_device_33_0 (rpmsg_device))
+(typeattributeset rs_33_0 (rs))
+(typeattributeset rs_exec_33_0 (rs_exec))
+(typeattributeset rss_hwm_reset_33_0 (rss_hwm_reset))
+(typeattributeset rtc_device_33_0 (rtc_device))
+(typeattributeset rttmanager_service_33_0 (rttmanager_service))
+(typeattributeset runas_33_0 (runas))
+(typeattributeset runas_app_33_0 (runas_app))
+(typeattributeset runas_exec_33_0 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_33_0 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_33_0 (runtime_service))
+(typeattributeset safemode_prop_33_0 (safemode_prop))
+(typeattributeset same_process_hal_file_33_0 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_33_0 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_33_0 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_33_0 (sdcard_block_device))
+(typeattributeset sdcardd_33_0 (sdcardd))
+(typeattributeset sdcardd_exec_33_0 (sdcardd_exec))
+(typeattributeset sdcardfs_33_0 (sdcardfs))
+(typeattributeset sdk_sandbox_service_33_0 (sdk_sandbox_service))
+(typeattributeset seapp_contexts_file_33_0 (seapp_contexts_file))
+(typeattributeset search_service_33_0 (search_service))
+(typeattributeset search_ui_service_33_0 (search_ui_service))
+(typeattributeset sec_key_att_app_id_provider_service_33_0 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_33_0 (secure_element))
+(typeattributeset secure_element_device_33_0 (secure_element_device))
+(typeattributeset secure_element_service_33_0 (secure_element_service))
+(typeattributeset securityfs_33_0 (securityfs))
+(typeattributeset selection_toolbar_service_33_0 (selection_toolbar_service))
+(typeattributeset selinuxfs_33_0 (selinuxfs))
+(typeattributeset sendbug_config_prop_33_0 (sendbug_config_prop))
+(typeattributeset sensor_privacy_service_33_0 (sensor_privacy_service))
+(typeattributeset sensors_device_33_0 (sensors_device))
+(typeattributeset sensorservice_service_33_0 (sensorservice_service))
+(typeattributeset sepolicy_file_33_0 (sepolicy_file))
+(typeattributeset serial_device_33_0 (serial_device))
+(typeattributeset serial_service_33_0 (serial_service))
+(typeattributeset serialno_prop_33_0 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_33_0 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_33_0 (service_contexts_file))
+(typeattributeset service_manager_service_33_0 (service_manager_service))
+(typeattributeset service_manager_vndservice_33_0 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_33_0 (servicediscovery_service))
+(typeattributeset servicemanager_33_0 (servicemanager))
+(typeattributeset servicemanager_exec_33_0 (servicemanager_exec))
+(typeattributeset settings_service_33_0 (settings_service))
+(typeattributeset sgdisk_33_0 (sgdisk))
+(typeattributeset sgdisk_exec_33_0 (sgdisk_exec))
+(typeattributeset shared_relro_33_0 (shared_relro))
+(typeattributeset shared_relro_file_33_0 (shared_relro_file))
+(typeattributeset shell_33_0 (shell))
+(typeattributeset shell_data_file_33_0 (shell_data_file))
+(typeattributeset shell_exec_33_0 (shell_exec))
+(typeattributeset shell_prop_33_0 (shell_prop))
+(typeattributeset shell_test_data_file_33_0 (shell_test_data_file))
+(typeattributeset shm_33_0 (shm))
+(typeattributeset shortcut_manager_icons_33_0 (shortcut_manager_icons))
+(typeattributeset shortcut_service_33_0 (shortcut_service))
+(typeattributeset simpleperf_33_0 (simpleperf))
+(typeattributeset simpleperf_app_runner_33_0 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_33_0 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_33_0 (slice_service))
+(typeattributeset slideshow_33_0 (slideshow))
+(typeattributeset smart_idle_maint_enabled_prop_33_0 (smart_idle_maint_enabled_prop))
+(typeattributeset smartspace_service_33_0 (smartspace_service))
+(typeattributeset snapshotctl_log_data_file_33_0 (snapshotctl_log_data_file))
+(typeattributeset snapuserd_proxy_socket_33_0 (snapuserd_proxy_socket))
+(typeattributeset snapuserd_socket_33_0 (snapuserd_socket))
+(typeattributeset soc_prop_33_0 (soc_prop))
+(typeattributeset socket_device_33_0 (socket_device))
+(typeattributeset socket_hook_prop_33_0 (socket_hook_prop))
+(typeattributeset sockfs_33_0 (sockfs))
+(typeattributeset sota_prop_33_0 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_33_0 (soundtrigger_middleware_service))
+(typeattributeset speech_recognition_service_33_0 (speech_recognition_service))
+(typeattributeset sqlite_log_prop_33_0 (sqlite_log_prop))
+(typeattributeset staged_install_file_33_0 (staged_install_file))
+(typeattributeset staging_data_file_33_0 (staging_data_file))
+(typeattributeset stats_data_file_33_0 (stats_data_file))
+(typeattributeset statsd_33_0 (statsd))
+(typeattributeset statsd_exec_33_0 (statsd_exec))
+(typeattributeset statsdw_socket_33_0 (statsdw_socket))
+(typeattributeset statusbar_service_33_0 (statusbar_service))
+(typeattributeset storage_config_prop_33_0 (storage_config_prop))
+(typeattributeset storage_file_33_0 (storage_file))
+(typeattributeset storage_stub_file_33_0 (storage_stub_file))
+(typeattributeset storaged_service_33_0 (storaged_service))
+(typeattributeset storagemanager_config_prop_33_0 (storagemanager_config_prop))
+(typeattributeset storagestats_service_33_0 (storagestats_service))
+(typeattributeset su_33_0 (su))
+(typeattributeset su_exec_33_0 (su_exec))
+(typeattributeset super_block_device_33_0 (super_block_device))
+(typeattributeset surfaceflinger_33_0 (surfaceflinger))
+(typeattributeset surfaceflinger_color_prop_33_0 (surfaceflinger_color_prop))
+(typeattributeset surfaceflinger_display_prop_33_0 (surfaceflinger_display_prop))
+(typeattributeset surfaceflinger_prop_33_0 (surfaceflinger_prop))
+(typeattributeset surfaceflinger_service_33_0 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_33_0 (surfaceflinger_tmpfs))
+(typeattributeset suspend_prop_33_0 (suspend_prop))
+(typeattributeset swap_block_device_33_0 (swap_block_device))
+(typeattributeset sysfs_33_0 (sysfs))
+(typeattributeset sysfs_android_usb_33_0 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_33_0 (sysfs_batteryinfo))
+(typeattributeset sysfs_bluetooth_writable_33_0 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devfreq_cur_33_0 (sysfs_devfreq_cur))
+(typeattributeset sysfs_devfreq_dir_33_0 (sysfs_devfreq_dir))
+(typeattributeset sysfs_devices_block_33_0 (sysfs_devices_block))
+(typeattributeset sysfs_devices_cs_etm_33_0 (sysfs_devices_cs_etm))
+(typeattributeset sysfs_devices_system_cpu_33_0 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_33_0 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_33_0 (sysfs_dm_verity))
+(typeattributeset sysfs_dma_heap_33_0 (sysfs_dma_heap))
+(typeattributeset sysfs_dmabuf_stats_33_0 (sysfs_dmabuf_stats))
+(typeattributeset sysfs_dt_firmware_android_33_0 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_33_0 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_33_0 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_33_0 (sysfs_fs_f2fs))
+(typeattributeset sysfs_fs_fuse_bpf_33_0 (sysfs_fs_fuse_bpf))
+(typeattributeset sysfs_fs_incfs_features_33_0 (sysfs_fs_incfs_features))
+(typeattributeset sysfs_fs_incfs_metrics_33_0 (sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_gpu_33_0 (sysfs_gpu))
+(typeattributeset sysfs_hwrandom_33_0 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_33_0 (sysfs_ion))
+(typeattributeset sysfs_ipv4_33_0 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_33_0 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_33_0 (sysfs_leds))
+(typeattributeset sysfs_loop_33_0 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_33_0 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_lru_gen_enabled_33_0 (sysfs_lru_gen_enabled))
+(typeattributeset sysfs_net_33_0 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_33_0 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_33_0 (sysfs_power))
+(typeattributeset sysfs_rtc_33_0 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_33_0 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_33_0 (sysfs_switch))
+(typeattributeset sysfs_thermal_33_0 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_33_0 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uhid_33_0 (sysfs_uhid))
+(typeattributeset sysfs_uio_33_0 (sysfs_uio))
+(typeattributeset sysfs_usb_33_0 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_33_0 (sysfs_usermodehelper))
+(typeattributeset sysfs_vendor_sched_33_0 (sysfs_vendor_sched))
+(typeattributeset sysfs_vibrator_33_0 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_33_0 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_33_0 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_33_0 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_33_0 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_33_0 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_33_0 (sysfs_zram_uevent))
+(typeattributeset system_app_33_0 (system_app))
+(typeattributeset system_app_data_file_33_0 (system_app_data_file))
+(typeattributeset system_app_service_33_0 (system_app_service))
+(typeattributeset system_asan_options_file_33_0 (system_asan_options_file))
+(typeattributeset system_block_device_33_0 (system_block_device))
+(typeattributeset system_boot_reason_prop_33_0 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_33_0 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_33_0 (system_config_service))
+(typeattributeset system_data_file_33_0 (system_data_file system_userdir_file))
+(typeattributeset system_data_root_file_33_0 (system_data_root_file))
+(typeattributeset system_dlkm_file_33_0 (system_dlkm_file))
+(typeattributeset system_event_log_tags_file_33_0 (system_event_log_tags_file))
+(typeattributeset system_file_33_0 (system_file))
+(typeattributeset system_group_file_33_0 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_33_0 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_33_0 (system_lib_file))
+(typeattributeset system_linker_config_file_33_0 (system_linker_config_file))
+(typeattributeset system_linker_exec_33_0 (system_linker_exec))
+(typeattributeset system_lmk_prop_33_0 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_33_0 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_33_0 (system_net_netd_hwservice))
+(typeattributeset system_passwd_file_33_0 (system_passwd_file))
+(typeattributeset system_prop_33_0 (system_prop))
+(typeattributeset system_seccomp_policy_file_33_0 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_33_0 (system_security_cacerts_file))
+(typeattributeset system_server_33_0 (system_server))
+(typeattributeset system_server_dumper_service_33_0 (system_server_dumper_service))
+(typeattributeset system_server_tmpfs_33_0 (system_server_tmpfs))
+(typeattributeset system_suspend_control_internal_service_33_0 (system_suspend_control_internal_service))
+(typeattributeset system_suspend_control_service_33_0 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_33_0 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_33_0 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_33_0 (system_unsolzygote_socket))
+(typeattributeset system_update_service_33_0 (system_update_service))
+(typeattributeset system_wifi_keystore_hwservice_33_0 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_33_0 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_33_0 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_33_0 (systemkeys_data_file))
+(typeattributeset systemsound_config_prop_33_0 (systemsound_config_prop))
+(typeattributeset tare_service_33_0 (tare_service))
+(typeattributeset task_profiles_api_file_33_0 (task_profiles_api_file))
+(typeattributeset task_profiles_file_33_0 (task_profiles_file))
+(typeattributeset task_service_33_0 (task_service))
+(typeattributeset tcpdump_exec_33_0 (tcpdump_exec))
+(typeattributeset tee_33_0 (tee))
+(typeattributeset tee_data_file_33_0 (tee_data_file))
+(typeattributeset tee_device_33_0 (tee_device))
+(typeattributeset telecom_service_33_0 (telecom_service))
+(typeattributeset telephony_config_prop_33_0 (telephony_config_prop))
+(typeattributeset telephony_status_prop_33_0 (telephony_status_prop))
+(typeattributeset test_boot_reason_prop_33_0 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_33_0 (test_harness_prop))
+(typeattributeset testharness_service_33_0 (testharness_service))
+(typeattributeset tethering_service_33_0 (tethering_service))
+(typeattributeset textclassification_service_33_0 (textclassification_service))
+(typeattributeset textclassifier_data_file_33_0 (textclassifier_data_file))
+(typeattributeset textservices_service_33_0 (textservices_service))
+(typeattributeset texttospeech_service_33_0 (texttospeech_service))
+(typeattributeset theme_prop_33_0 (theme_prop))
+(typeattributeset thermal_service_33_0 (thermal_service))
+(typeattributeset time_prop_33_0 (time_prop))
+(typeattributeset timedetector_service_33_0 (timedetector_service))
+(typeattributeset timezone_service_33_0 (timezone_service))
+(typeattributeset timezonedetector_service_33_0 (timezonedetector_service))
+(typeattributeset tmpfs_33_0 (tmpfs))
+(typeattributeset tombstone_config_prop_33_0 (tombstone_config_prop))
+(typeattributeset tombstone_data_file_33_0 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_33_0 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_33_0 (tombstoned))
+(typeattributeset tombstoned_crash_socket_33_0 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_33_0 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_33_0 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_33_0 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_33_0 (toolbox))
+(typeattributeset toolbox_exec_33_0 (toolbox_exec))
+(typeattributeset trace_data_file_33_0 (trace_data_file))
+(typeattributeset traced_33_0 (traced))
+(typeattributeset traced_consumer_socket_33_0 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_33_0 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_33_0 (traced_lazy_prop))
+(typeattributeset traced_perf_33_0 (traced_perf))
+(typeattributeset traced_perf_socket_33_0 (traced_perf_socket))
+(typeattributeset traced_probes_33_0 (traced_probes))
+(typeattributeset traced_producer_socket_33_0 (traced_producer_socket))
+(typeattributeset traced_tmpfs_33_0 (traced_tmpfs))
+(typeattributeset traceur_app_33_0 (traceur_app))
+(typeattributeset translation_service_33_0 (translation_service))
+(typeattributeset trust_service_33_0 (trust_service))
+(typeattributeset tty_device_33_0 (tty_device))
+(typeattributeset tun_device_33_0 (tun_device))
+(typeattributeset tv_iapp_service_33_0 (tv_iapp_service))
+(typeattributeset tv_input_service_33_0 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_33_0 (tv_tuner_resource_mgr_service))
+(typeattributeset tzdatacheck_33_0 (tzdatacheck))
+(typeattributeset tzdatacheck_exec_33_0 (tzdatacheck_exec))
+(typeattributeset ueventd_33_0 (ueventd))
+(typeattributeset ueventd_tmpfs_33_0 (ueventd_tmpfs))
+(typeattributeset uhid_device_33_0 (uhid_device))
+(typeattributeset uimode_service_33_0 (uimode_service))
+(typeattributeset uio_device_33_0 (uio_device))
+(typeattributeset uncrypt_33_0 (uncrypt))
+(typeattributeset uncrypt_exec_33_0 (uncrypt_exec))
+(typeattributeset uncrypt_socket_33_0 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_33_0 (unencrypted_data_file))
+(typeattributeset unlabeled_33_0 (unlabeled))
+(typeattributeset untrusted_app_25_33_0 (untrusted_app_25))
+(typeattributeset untrusted_app_27_33_0 (untrusted_app_27))
+(typeattributeset untrusted_app_29_33_0 (untrusted_app_29))
+(typeattributeset untrusted_app_30_33_0 (untrusted_app_30))
+(typeattributeset untrusted_app_33_0
+  ( untrusted_app
+    untrusted_app_32
+))
+(typeattributeset update_engine_33_0 (update_engine))
+(typeattributeset update_engine_data_file_33_0 (update_engine_data_file))
+(typeattributeset update_engine_exec_33_0 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_33_0 (update_engine_log_data_file))
+(typeattributeset update_engine_service_33_0 (update_engine_service))
+(typeattributeset update_engine_stable_service_33_0 (update_engine_stable_service))
+(typeattributeset update_verifier_33_0 (update_verifier))
+(typeattributeset update_verifier_exec_33_0 (update_verifier_exec))
+(typeattributeset updatelock_service_33_0 (updatelock_service))
+(typeattributeset uri_grants_service_33_0 (uri_grants_service))
+(typeattributeset usagestats_service_33_0 (usagestats_service))
+(typeattributeset usb_config_prop_33_0 (usb_config_prop))
+(typeattributeset usb_control_prop_33_0 (usb_control_prop))
+(typeattributeset usb_device_33_0 (usb_device))
+(typeattributeset usb_prop_33_0 (usb_prop))
+(typeattributeset usb_serial_device_33_0 (usb_serial_device))
+(typeattributeset usb_service_33_0 (usb_service))
+(typeattributeset usbaccessory_device_33_0 (usbaccessory_device))
+(typeattributeset usbd_33_0 (usbd))
+(typeattributeset usbd_exec_33_0 (usbd_exec))
+(typeattributeset usbfs_33_0 (usbfs))
+(typeattributeset use_memfd_prop_33_0 (use_memfd_prop))
+(typeattributeset user_profile_data_file_33_0 (user_profile_data_file))
+(typeattributeset user_profile_root_file_33_0 (user_profile_root_file))
+(typeattributeset user_service_33_0 (user_service))
+(typeattributeset userdata_block_device_33_0 (userdata_block_device))
+(typeattributeset userdata_sysdev_33_0 (userdata_sysdev))
+(typeattributeset usermodehelper_33_0 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_33_0 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_33_0 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_metadata_file_33_0 (userspace_reboot_metadata_file))
+(typeattributeset uwb_service_33_0 (uwb_service))
+(typeattributeset vcn_management_service_33_0 (vcn_management_service))
+(typeattributeset vd_device_33_0 (vd_device))
+(typeattributeset vdc_33_0 (vdc))
+(typeattributeset vdc_exec_33_0 (vdc_exec))
+(typeattributeset vehicle_hal_prop_33_0 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_33_0 (vendor_apex_file))
+(typeattributeset vendor_app_file_33_0 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_33_0 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_33_0
+  ( vendor_configs_file
+    vendor_apex_metadata_file
+))
+(typeattributeset vendor_data_file_33_0 (vendor_data_file vendor_userdir_file))
+(typeattributeset vendor_default_prop_33_0 (vendor_default_prop))
+(typeattributeset vendor_file_33_0 (vendor_file))
+(typeattributeset vendor_framework_file_33_0 (vendor_framework_file))
+(typeattributeset vendor_hal_file_33_0 (vendor_hal_file))
+(typeattributeset vendor_idc_file_33_0 (vendor_idc_file))
+(typeattributeset vendor_init_33_0 (vendor_init))
+(typeattributeset vendor_kernel_modules_33_0 (vendor_kernel_modules))
+(typeattributeset vendor_keychars_file_33_0 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_33_0 (vendor_keylayout_file))
+(typeattributeset vendor_misc_writer_33_0 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_33_0 (vendor_misc_writer_exec))
+(typeattributeset vendor_modprobe_33_0 (vendor_modprobe))
+(typeattributeset vendor_overlay_file_33_0 (vendor_overlay_file))
+(typeattributeset vendor_public_framework_file_33_0 (vendor_public_framework_file))
+(typeattributeset vendor_public_lib_file_33_0 (vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_33_0 (vendor_security_patch_level_prop))
+(typeattributeset vendor_service_contexts_file_33_0 (vendor_service_contexts_file))
+(typeattributeset vendor_shell_33_0 (vendor_shell))
+(typeattributeset vendor_shell_exec_33_0 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_33_0 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_33_0 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_33_0 (vendor_toolbox_exec))
+(typeattributeset vendor_uuid_mapping_config_file_33_0 (vendor_uuid_mapping_config_file))
+(typeattributeset vendor_vm_data_file_33_0 (vendor_vm_data_file))
+(typeattributeset vendor_vm_file_33_0 (vendor_vm_file))
+(typeattributeset vfat_33_0 (vfat))
+(typeattributeset vibrator_manager_service_33_0 (vibrator_manager_service))
+(typeattributeset vibrator_service_33_0 (vibrator_service))
+(typeattributeset video_device_33_0 (video_device))
+(typeattributeset virtual_ab_prop_33_0 (virtual_ab_prop))
+(typeattributeset virtual_device_service_33_0 (virtual_device_service))
+(typeattributeset virtual_touchpad_33_0 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_33_0 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_33_0 (virtual_touchpad_service))
+(typeattributeset virtualization_service_33_0 (virtualization_service))
+(typeattributeset vndbinder_device_33_0 (vndbinder_device))
+(typeattributeset vndk_prop_33_0 (vndk_prop))
+(typeattributeset vndk_sp_file_33_0 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_33_0 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_33_0 (vndservicemanager))
+(typeattributeset voiceinteraction_service_33_0 (voiceinteraction_service))
+(typeattributeset vold_33_0 (vold))
+(typeattributeset vold_config_prop_33_0 (vold_config_prop))
+(typeattributeset vold_data_file_33_0 (vold_data_file))
+(typeattributeset vold_device_33_0 (vold_device))
+(typeattributeset vold_exec_33_0 (vold_exec))
+(typeattributeset vold_metadata_file_33_0 (vold_metadata_file))
+(typeattributeset vold_post_fs_data_prop_33_0 (vold_post_fs_data_prop))
+(typeattributeset vold_prepare_subdirs_33_0 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_33_0 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_33_0 (vold_prop))
+(typeattributeset vold_service_33_0 (vold_service))
+(typeattributeset vold_status_prop_33_0 (vold_status_prop))
+(typeattributeset vpn_data_file_33_0 (vpn_data_file))
+(typeattributeset vpn_management_service_33_0 (vpn_management_service))
+(typeattributeset vr_hwc_service_33_0 (vr_hwc_service))
+(typeattributeset vr_manager_service_33_0 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_33_0 (vrflinger_vsync_service))
+(typeattributeset vts_config_prop_33_0 (vts_config_prop))
+(typeattributeset vts_status_prop_33_0 (vts_status_prop))
+(typeattributeset wallpaper_effects_generation_service_33_0 (wallpaper_effects_generation_service))
+(typeattributeset wallpaper_file_33_0 (wallpaper_file))
+(typeattributeset wallpaper_service_33_0 (wallpaper_service))
+(typeattributeset watchdog_device_33_0 (watchdog_device))
+(typeattributeset watchdog_metadata_file_33_0 (watchdog_metadata_file))
+(typeattributeset watchdogd_33_0 (watchdogd))
+(typeattributeset watchdogd_exec_33_0 (watchdogd_exec))
+(typeattributeset webview_zygote_33_0 (webview_zygote))
+(typeattributeset webview_zygote_exec_33_0 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_33_0 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_33_0 (webviewupdate_service))
+(typeattributeset wifi_config_prop_33_0 (wifi_config_prop))
+(typeattributeset wifi_data_file_33_0 (wifi_data_file))
+(typeattributeset wifi_hal_prop_33_0 (wifi_hal_prop))
+(typeattributeset wifi_key_33_0 (wifi_key))
+(typeattributeset wifi_log_prop_33_0 (wifi_log_prop))
+(typeattributeset wifi_prop_33_0 (wifi_prop))
+(typeattributeset wifi_service_33_0 (wifi_service))
+(typeattributeset wifiaware_service_33_0 (wifiaware_service))
+(typeattributeset wificond_33_0 (wificond))
+(typeattributeset wificond_exec_33_0 (wificond_exec))
+(typeattributeset wifinl80211_service_33_0 (wifinl80211_service))
+(typeattributeset wifip2p_service_33_0 (wifip2p_service))
+(typeattributeset wifiscanner_service_33_0 (wifiscanner_service))
+(typeattributeset window_service_33_0 (window_service))
+(typeattributeset wpa_socket_33_0 (wpa_socket))
+(typeattributeset wpantund_33_0 (wpantund))
+(typeattributeset wpantund_exec_33_0 (wpantund_exec))
+(typeattributeset wpantund_service_33_0 (wpantund_service))
+(typeattributeset zero_device_33_0 (zero_device))
+(typeattributeset zoneinfo_data_file_33_0 (zoneinfo_data_file))
+(typeattributeset zram_config_prop_33_0 (zram_config_prop))
+(typeattributeset zram_control_prop_33_0 (zram_control_prop))
+(typeattributeset zygote_33_0 (zygote))
+(typeattributeset zygote_config_prop_33_0 (zygote_config_prop))
+(typeattributeset zygote_exec_33_0 (zygote_exec))
+(typeattributeset zygote_socket_33_0 (zygote_socket))
+(typeattributeset zygote_tmpfs_33_0 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/33.0/33.0.compat.cil b/prebuilts/api/202504/private/compat/33.0/33.0.compat.cil
new file mode 100644
index 0000000..f102b02
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/33.0/33.0.compat.cil
@@ -0,0 +1,12 @@
+;; complement CIL file for compatibility between ToT policy and 33.0 vendors.
+;; will be compiled along with other normal policy files, on 33.0 vendors.
+;;
+
+;; This type may or may not already exist in vendor policy. The 202404 sepolicy
+;; (well, the 24Q1 release) added hidraw_device, but existing vendor policy
+;; may still label the relevant devices with the old label.
+(type vendor_hidraw_device)
+(typeattributeset dev_type (vendor_hidraw_device))
+
+(allow system_server vendor_hidraw_device (dir (open getattr read search ioctl lock watch watch_reads)))
+(allow system_server vendor_hidraw_device (chr_file (getattr open read ioctl lock map watch watch_reads append write)))
\ No newline at end of file
diff --git a/prebuilts/api/202504/private/compat/33.0/33.0.ignore.cil b/prebuilts/api/202504/private/compat/33.0/33.0.ignore.cil
new file mode 100644
index 0000000..a9a37a4
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/33.0/33.0.ignore.cil
@@ -0,0 +1,94 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 33.0 policy.  Thus, we do not need to map
+;;   these types to previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    adaptive_haptics_prop
+    apex_ready_prop
+    art_boot
+    art_boot_exec
+    artd
+    bt_device
+    build_attestation_prop
+    composd_vm_art_prop
+    composd_vm_vendor_prop
+    cpu_monitor_service
+    credential_service
+    device_as_webcam
+    device_config_camera_native_prop
+    device_config_core_experiments_team_internal_prop
+    device_config_edgetpu_native_prop
+    device_config_memory_safety_native_boot_prop
+    device_config_memory_safety_native_prop
+    device_config_updatable_service
+    device_config_vendor_system_native_prop
+    device_config_aconfig_flags_prop
+    devicelock_service
+    fwk_altitude_service
+    fwk_camera_service
+    fwk_sensor_service
+    game_manager_config_prop
+    grammatical_inflection_service
+    graphics_config_writable_prop
+    hal_bluetooth_service
+    hal_bootctl_service
+    hal_cas_service
+    hal_ivn_service
+    hal_remoteaccess_service
+    hal_secure_element_service
+    hal_tetheroffload_service
+    hal_thermal_service
+    hal_usb_gadget_service
+    hal_tv_input_service
+    hal_tv_hdmi_cec_service
+    hal_tv_hdmi_connection_service
+    hal_tv_hdmi_earc_service
+    hal_wifi_service
+    healthconnect_service
+    hypervisor_restricted_prop
+    isolated_compute_app
+    keystore_config_prop
+    ondevicepersonalization_system_service
+    fuseblk
+    fuseblkd_untrusted
+    fuseblkd_untrusted_exec
+    fuseblkd
+    fuseblkd_exec
+    ota_build_prop
+    permissive_mte_prop
+    persist_sysui_builder_extras_prop
+    persist_sysui_ranking_update_prop
+    prng_seeder
+    quick_start_prop
+    recovery_usb_config_prop
+    remote_provisioning_service
+    repair_mode_metadata_file
+    rkpdapp
+    servicemanager_prop
+    shutdown_checkpoints_system_data_file
+    snapuserd_log_data_file
+    stats_config_data_file
+    sysfs_fs_fuse_features
+    system_net_netd_service
+    timezone_metadata_prop
+    traced_oome_heap_session_count_prop
+    tuner_config_prop
+    tuner_server_ctl_prop
+    ublk_block_device
+    ublk_control_device
+    usb_uvc_enabled_prop
+    virtual_face_hal_prop
+    virtual_face_prop
+    virtual_fingerprint_hal_prop
+    virtual_fingerprint_prop
+    hal_gatekeeper_service
+    hal_broadcastradio_service
+    hal_confirmationui_service
+    hal_fastboot_service
+    hal_can_controller_service
+    zoned_block_device
+    future_pm_prop
+    vfio_device
+  ))
diff --git a/prebuilts/api/202504/private/compat/34.0/34.0.cil b/prebuilts/api/202504/private/compat/34.0/34.0.cil
new file mode 100644
index 0000000..7d80433
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/34.0/34.0.cil
@@ -0,0 +1,2716 @@
+;; types removed from current policy
+(type racoon)
+(type racoon_exec)
+(type mtp_exec)
+(type ppp_device)
+(type ppp_exec)
+
+;; mapping information from ToT policy's types to 34.0 policy's types.
+(expandtypeattribute (DockObserver_service_34_0) true)
+(expandtypeattribute (IProxyService_service_34_0) true)
+(expandtypeattribute (aac_drc_prop_34_0) true)
+(expandtypeattribute (aaudio_config_prop_34_0) true)
+(expandtypeattribute (ab_update_gki_prop_34_0) true)
+(expandtypeattribute (accessibility_service_34_0) true)
+(expandtypeattribute (account_service_34_0) true)
+(expandtypeattribute (activity_service_34_0) true)
+(expandtypeattribute (activity_task_service_34_0) true)
+(expandtypeattribute (adaptive_haptics_prop_34_0) true)
+(expandtypeattribute (adb_data_file_34_0) true)
+(expandtypeattribute (adb_keys_file_34_0) true)
+(expandtypeattribute (adb_service_34_0) true)
+(expandtypeattribute (adbd_34_0) true)
+(expandtypeattribute (adbd_config_prop_34_0) true)
+(expandtypeattribute (adbd_exec_34_0) true)
+(expandtypeattribute (adbd_socket_34_0) true)
+(expandtypeattribute (adservices_manager_service_34_0) true)
+(expandtypeattribute (aidl_lazy_test_server_34_0) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_34_0) true)
+(expandtypeattribute (aidl_lazy_test_service_34_0) true)
+(expandtypeattribute (alarm_service_34_0) true)
+(expandtypeattribute (anr_data_file_34_0) true)
+(expandtypeattribute (apc_service_34_0) true)
+(expandtypeattribute (apex_data_file_34_0) true)
+(expandtypeattribute (apex_info_file_34_0) true)
+(expandtypeattribute (apex_metadata_file_34_0) true)
+(expandtypeattribute (apex_mnt_dir_34_0) true)
+(expandtypeattribute (apex_module_data_file_34_0) true)
+(expandtypeattribute (apex_ota_reserved_file_34_0) true)
+(expandtypeattribute (apex_ready_prop_34_0) true)
+(expandtypeattribute (apex_rollback_data_file_34_0) true)
+(expandtypeattribute (apex_service_34_0) true)
+(expandtypeattribute (apex_system_server_data_file_34_0) true)
+(expandtypeattribute (apexd_34_0) true)
+(expandtypeattribute (apexd_config_prop_34_0) true)
+(expandtypeattribute (apexd_exec_34_0) true)
+(expandtypeattribute (apexd_prop_34_0) true)
+(expandtypeattribute (apexd_select_prop_34_0) true)
+(expandtypeattribute (apk_data_file_34_0) true)
+(expandtypeattribute (apk_private_data_file_34_0) true)
+(expandtypeattribute (apk_private_tmp_file_34_0) true)
+(expandtypeattribute (apk_tmp_file_34_0) true)
+(expandtypeattribute (apk_verity_prop_34_0) true)
+(expandtypeattribute (app_binding_service_34_0) true)
+(expandtypeattribute (app_data_file_34_0) true)
+(expandtypeattribute (app_fuse_file_34_0) true)
+(expandtypeattribute (app_fusefs_34_0) true)
+(expandtypeattribute (app_hibernation_service_34_0) true)
+(expandtypeattribute (app_integrity_service_34_0) true)
+(expandtypeattribute (app_prediction_service_34_0) true)
+(expandtypeattribute (app_search_service_34_0) true)
+(expandtypeattribute (app_zygote_34_0) true)
+(expandtypeattribute (app_zygote_tmpfs_34_0) true)
+(expandtypeattribute (appcompat_data_file_34_0) true)
+(expandtypeattribute (appdomain_tmpfs_34_0) true)
+(expandtypeattribute (appops_service_34_0) true)
+(expandtypeattribute (appwidget_service_34_0) true)
+(expandtypeattribute (arm64_memtag_prop_34_0) true)
+(expandtypeattribute (art_apex_dir_34_0) true)
+(expandtypeattribute (artd_34_0) true)
+(expandtypeattribute (artd_service_34_0) true)
+(expandtypeattribute (asec_apk_file_34_0) true)
+(expandtypeattribute (asec_image_file_34_0) true)
+(expandtypeattribute (asec_public_file_34_0) true)
+(expandtypeattribute (ashmem_device_34_0) true)
+(expandtypeattribute (ashmem_libcutils_device_34_0) true)
+(expandtypeattribute (assetatlas_service_34_0) true)
+(expandtypeattribute (atrace_34_0) true)
+(expandtypeattribute (attestation_verification_service_34_0) true)
+(expandtypeattribute (audio_config_prop_34_0) true)
+(expandtypeattribute (audio_data_file_34_0) true)
+(expandtypeattribute (audio_device_34_0) true)
+(expandtypeattribute (audio_prop_34_0) true)
+(expandtypeattribute (audio_service_34_0) true)
+(expandtypeattribute (audiohal_data_file_34_0) true)
+(expandtypeattribute (audioserver_34_0) true)
+(expandtypeattribute (audioserver_data_file_34_0) true)
+(expandtypeattribute (audioserver_service_34_0) true)
+(expandtypeattribute (audioserver_tmpfs_34_0) true)
+(expandtypeattribute (auth_service_34_0) true)
+(expandtypeattribute (authorization_service_34_0) true)
+(expandtypeattribute (autofill_service_34_0) true)
+(expandtypeattribute (backup_data_file_34_0) true)
+(expandtypeattribute (backup_service_34_0) true)
+(expandtypeattribute (battery_service_34_0) true)
+(expandtypeattribute (batteryproperties_service_34_0) true)
+(expandtypeattribute (batterystats_service_34_0) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_34_0) true)
+(expandtypeattribute (binder_cache_system_server_prop_34_0) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_34_0) true)
+(expandtypeattribute (binder_calls_stats_service_34_0) true)
+(expandtypeattribute (binder_device_34_0) true)
+(expandtypeattribute (binderfs_34_0) true)
+(expandtypeattribute (binderfs_features_34_0) true)
+(expandtypeattribute (binderfs_logs_34_0) true)
+(expandtypeattribute (binderfs_logs_proc_34_0) true)
+(expandtypeattribute (binfmt_miscfs_34_0) true)
+(expandtypeattribute (biometric_service_34_0) true)
+(expandtypeattribute (blkid_34_0) true)
+(expandtypeattribute (blkid_untrusted_34_0) true)
+(expandtypeattribute (blob_store_service_34_0) true)
+(expandtypeattribute (block_device_34_0) true)
+(expandtypeattribute (bluetooth_34_0) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_34_0) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_34_0) true)
+(expandtypeattribute (bluetooth_config_prop_34_0) true)
+(expandtypeattribute (bluetooth_data_file_34_0) true)
+(expandtypeattribute (bluetooth_efs_file_34_0) true)
+(expandtypeattribute (bluetooth_logs_data_file_34_0) true)
+(expandtypeattribute (bluetooth_manager_service_34_0) true)
+(expandtypeattribute (bluetooth_prop_34_0) true)
+(expandtypeattribute (bluetooth_service_34_0) true)
+(expandtypeattribute (bluetooth_socket_34_0) true)
+(expandtypeattribute (boot_block_device_34_0) true)
+(expandtypeattribute (boot_status_prop_34_0) true)
+(expandtypeattribute (bootanim_34_0) true)
+(expandtypeattribute (bootanim_config_prop_34_0) true)
+(expandtypeattribute (bootanim_exec_34_0) true)
+(expandtypeattribute (bootanim_system_prop_34_0) true)
+(expandtypeattribute (bootchart_data_file_34_0) true)
+(expandtypeattribute (bootloader_boot_reason_prop_34_0) true)
+(expandtypeattribute (bootloader_prop_34_0) true)
+(expandtypeattribute (bootstat_34_0) true)
+(expandtypeattribute (bootstat_data_file_34_0) true)
+(expandtypeattribute (bootstat_exec_34_0) true)
+(expandtypeattribute (boottime_prop_34_0) true)
+(expandtypeattribute (boottime_public_prop_34_0) true)
+(expandtypeattribute (boottrace_data_file_34_0) true)
+(expandtypeattribute (bpf_progs_loaded_prop_34_0) true)
+(expandtypeattribute (bpfloader_34_0) true)
+(expandtypeattribute (bq_config_prop_34_0) true)
+(expandtypeattribute (broadcastradio_service_34_0) true)
+(expandtypeattribute (bt_device_34_0) true)
+(expandtypeattribute (bufferhubd_34_0) true)
+(expandtypeattribute (bufferhubd_exec_34_0) true)
+(expandtypeattribute (bugreport_service_34_0) true)
+(expandtypeattribute (build_attestation_prop_34_0) true)
+(expandtypeattribute (build_bootimage_prop_34_0) true)
+(expandtypeattribute (build_config_prop_34_0) true)
+(expandtypeattribute (build_odm_prop_34_0) true)
+(expandtypeattribute (build_prop_34_0) true)
+(expandtypeattribute (build_vendor_prop_34_0) true)
+(expandtypeattribute (cache_backup_file_34_0) true)
+(expandtypeattribute (cache_block_device_34_0) true)
+(expandtypeattribute (cache_file_34_0) true)
+(expandtypeattribute (cache_private_backup_file_34_0) true)
+(expandtypeattribute (cache_recovery_file_34_0) true)
+(expandtypeattribute (cacheinfo_service_34_0) true)
+(expandtypeattribute (camera2_extensions_prop_34_0) true)
+(expandtypeattribute (camera_calibration_prop_34_0) true)
+(expandtypeattribute (camera_config_prop_34_0) true)
+(expandtypeattribute (camera_data_file_34_0) true)
+(expandtypeattribute (camera_device_34_0) true)
+(expandtypeattribute (cameraproxy_service_34_0) true)
+(expandtypeattribute (cameraserver_34_0) true)
+(expandtypeattribute (cameraserver_exec_34_0) true)
+(expandtypeattribute (cameraserver_service_34_0) true)
+(expandtypeattribute (cameraserver_tmpfs_34_0) true)
+(expandtypeattribute (camerax_extensions_prop_34_0) true)
+(expandtypeattribute (cgroup_34_0) true)
+(expandtypeattribute (cgroup_desc_api_file_34_0) true)
+(expandtypeattribute (cgroup_desc_file_34_0) true)
+(expandtypeattribute (cgroup_rc_file_34_0) true)
+(expandtypeattribute (cgroup_v2_34_0) true)
+(expandtypeattribute (charger_34_0) true)
+(expandtypeattribute (charger_config_prop_34_0) true)
+(expandtypeattribute (charger_exec_34_0) true)
+(expandtypeattribute (charger_prop_34_0) true)
+(expandtypeattribute (charger_status_prop_34_0) true)
+(expandtypeattribute (charger_vendor_34_0) true)
+(expandtypeattribute (clipboard_service_34_0) true)
+(expandtypeattribute (cloudsearch_service_34_0) true)
+(expandtypeattribute (codec2_config_prop_34_0) true)
+(expandtypeattribute (cold_boot_done_prop_34_0) true)
+(expandtypeattribute (color_display_service_34_0) true)
+(expandtypeattribute (companion_device_service_34_0) true)
+(expandtypeattribute (composd_vm_art_prop_34_0) true)
+(expandtypeattribute (composd_vm_vendor_prop_34_0) true)
+(expandtypeattribute (config_prop_34_0) true)
+(expandtypeattribute (configfs_34_0) true)
+(expandtypeattribute (connectivity_native_service_34_0) true)
+(expandtypeattribute (connectivity_service_34_0) true)
+(expandtypeattribute (connmetrics_service_34_0) true)
+(expandtypeattribute (console_device_34_0) true)
+(expandtypeattribute (consumer_ir_service_34_0) true)
+(expandtypeattribute (content_capture_service_34_0) true)
+(expandtypeattribute (content_service_34_0) true)
+(expandtypeattribute (content_suggestions_service_34_0) true)
+(expandtypeattribute (contexthub_service_34_0) true)
+(expandtypeattribute (coredump_file_34_0) true)
+(expandtypeattribute (country_detector_service_34_0) true)
+(expandtypeattribute (coverage_service_34_0) true)
+(expandtypeattribute (cppreopt_prop_34_0) true)
+(expandtypeattribute (cpu_monitor_service_34_0) true)
+(expandtypeattribute (cpu_variant_prop_34_0) true)
+(expandtypeattribute (cpuinfo_service_34_0) true)
+(expandtypeattribute (crash_dump_34_0) true)
+(expandtypeattribute (crash_dump_exec_34_0) true)
+(expandtypeattribute (credential_service_34_0) true)
+(expandtypeattribute (credstore_34_0) true)
+(expandtypeattribute (credstore_data_file_34_0) true)
+(expandtypeattribute (credstore_exec_34_0) true)
+(expandtypeattribute (credstore_service_34_0) true)
+(expandtypeattribute (crossprofileapps_service_34_0) true)
+(expandtypeattribute (ctl_adbd_prop_34_0) true)
+(expandtypeattribute (ctl_apexd_prop_34_0) true)
+(expandtypeattribute (ctl_bootanim_prop_34_0) true)
+(expandtypeattribute (ctl_bugreport_prop_34_0) true)
+(expandtypeattribute (ctl_console_prop_34_0) true)
+(expandtypeattribute (ctl_default_prop_34_0) true)
+(expandtypeattribute (ctl_dumpstate_prop_34_0) true)
+(expandtypeattribute (ctl_fuse_prop_34_0) true)
+(expandtypeattribute (ctl_gsid_prop_34_0) true)
+(expandtypeattribute (ctl_interface_restart_prop_34_0) true)
+(expandtypeattribute (ctl_interface_start_prop_34_0) true)
+(expandtypeattribute (ctl_interface_stop_prop_34_0) true)
+(expandtypeattribute (ctl_mdnsd_prop_34_0) true)
+(expandtypeattribute (ctl_restart_prop_34_0) true)
+(expandtypeattribute (ctl_rildaemon_prop_34_0) true)
+(expandtypeattribute (ctl_sigstop_prop_34_0) true)
+(expandtypeattribute (ctl_start_prop_34_0) true)
+(expandtypeattribute (ctl_stop_prop_34_0) true)
+(expandtypeattribute (dalvik_config_prop_34_0) true)
+(expandtypeattribute (dalvik_dynamic_config_prop_34_0) true)
+(expandtypeattribute (dalvik_prop_34_0) true)
+(expandtypeattribute (dalvik_runtime_prop_34_0) true)
+(expandtypeattribute (dalvikcache_data_file_34_0) true)
+(expandtypeattribute (dataloader_manager_service_34_0) true)
+(expandtypeattribute (dbinfo_service_34_0) true)
+(expandtypeattribute (dck_prop_34_0) true)
+(expandtypeattribute (debug_prop_34_0) true)
+(expandtypeattribute (debugfs_34_0) true)
+(expandtypeattribute (debugfs_bootreceiver_tracing_34_0) true)
+(expandtypeattribute (debugfs_kprobes_34_0) true)
+(expandtypeattribute (debugfs_mm_events_tracing_34_0) true)
+(expandtypeattribute (debugfs_mmc_34_0) true)
+(expandtypeattribute (debugfs_restriction_prop_34_0) true)
+(expandtypeattribute (debugfs_trace_marker_34_0) true)
+(expandtypeattribute (debugfs_tracing_34_0) true)
+(expandtypeattribute (debugfs_tracing_debug_34_0) true)
+(expandtypeattribute (debugfs_tracing_instances_34_0) true)
+(expandtypeattribute (debugfs_tracing_printk_formats_34_0) true)
+(expandtypeattribute (debugfs_wakeup_sources_34_0) true)
+(expandtypeattribute (debugfs_wifi_tracing_34_0) true)
+(expandtypeattribute (debuggerd_prop_34_0) true)
+(expandtypeattribute (default_android_hwservice_34_0) true)
+(expandtypeattribute (default_android_service_34_0) true)
+(expandtypeattribute (default_android_vndservice_34_0) true)
+(expandtypeattribute (default_prop_34_0) true)
+(expandtypeattribute (dev_cpu_variant_34_0) true)
+(expandtypeattribute (device_34_0) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_34_0) true)
+(expandtypeattribute (device_config_boot_count_prop_34_0) true)
+(expandtypeattribute (device_config_camera_native_prop_34_0) true)
+(expandtypeattribute (device_config_edgetpu_native_prop_34_0) true)
+(expandtypeattribute (device_config_input_native_boot_prop_34_0) true)
+(expandtypeattribute (device_config_media_native_prop_34_0) true)
+(expandtypeattribute (device_config_memory_safety_native_boot_prop_34_0) true)
+(expandtypeattribute (device_config_memory_safety_native_prop_34_0) true)
+(expandtypeattribute (device_config_netd_native_prop_34_0) true)
+(expandtypeattribute (device_config_nnapi_native_prop_34_0) true)
+(expandtypeattribute (device_config_reset_performed_prop_34_0) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_34_0) true)
+(expandtypeattribute (device_config_runtime_native_prop_34_0) true)
+(expandtypeattribute (device_config_service_34_0) true)
+(expandtypeattribute (device_config_surface_flinger_native_boot_prop_34_0) true)
+(expandtypeattribute (device_config_updatable_service_34_0) true)
+(expandtypeattribute (device_config_vendor_system_native_boot_prop_34_0) true)
+(expandtypeattribute (device_config_vendor_system_native_prop_34_0) true)
+(expandtypeattribute (device_identifiers_service_34_0) true)
+(expandtypeattribute (device_logging_prop_34_0) true)
+(expandtypeattribute (device_policy_service_34_0) true)
+(expandtypeattribute (device_state_service_34_0) true)
+(expandtypeattribute (deviceidle_service_34_0) true)
+(expandtypeattribute (devicelock_service_34_0) true)
+(expandtypeattribute (devicestoragemonitor_service_34_0) true)
+(expandtypeattribute (devpts_34_0) true)
+(expandtypeattribute (dhcp_34_0) true)
+(expandtypeattribute (dhcp_data_file_34_0) true)
+(expandtypeattribute (dhcp_exec_34_0) true)
+(expandtypeattribute (dhcp_prop_34_0) true)
+(expandtypeattribute (diskstats_service_34_0) true)
+(expandtypeattribute (display_service_34_0) true)
+(expandtypeattribute (dm_device_34_0) true)
+(expandtypeattribute (dm_user_device_34_0) true)
+(expandtypeattribute (dmabuf_heap_device_34_0) true)
+(expandtypeattribute (dmabuf_system_heap_device_34_0) true)
+(expandtypeattribute (dmabuf_system_secure_heap_device_34_0) true)
+(expandtypeattribute (dnsmasq_34_0) true)
+(expandtypeattribute (dnsmasq_exec_34_0) true)
+(expandtypeattribute (dnsproxyd_socket_34_0) true)
+(expandtypeattribute (dnsresolver_service_34_0) true)
+(expandtypeattribute (domain_verification_service_34_0) true)
+(expandtypeattribute (dreams_service_34_0) true)
+(expandtypeattribute (drm_data_file_34_0) true)
+(expandtypeattribute (drm_service_config_prop_34_0) true)
+(expandtypeattribute (drmserver_34_0) true)
+(expandtypeattribute (drmserver_exec_34_0) true)
+(expandtypeattribute (drmserver_service_34_0) true)
+(expandtypeattribute (drmserver_socket_34_0) true)
+(expandtypeattribute (dropbox_data_file_34_0) true)
+(expandtypeattribute (dropbox_service_34_0) true)
+(expandtypeattribute (dumpstate_34_0) true)
+(expandtypeattribute (dumpstate_exec_34_0) true)
+(expandtypeattribute (dumpstate_options_prop_34_0) true)
+(expandtypeattribute (dumpstate_prop_34_0) true)
+(expandtypeattribute (dumpstate_service_34_0) true)
+(expandtypeattribute (dumpstate_socket_34_0) true)
+(expandtypeattribute (dynamic_system_prop_34_0) true)
+(expandtypeattribute (e2fs_34_0) true)
+(expandtypeattribute (e2fs_exec_34_0) true)
+(expandtypeattribute (efs_file_34_0) true)
+(expandtypeattribute (emergency_affordance_service_34_0) true)
+(expandtypeattribute (ephemeral_app_34_0) true)
+(expandtypeattribute (ethernet_service_34_0) true)
+(expandtypeattribute (evsmanagerd_34_0) true)
+(expandtypeattribute (evsmanagerd_service_34_0) true)
+(expandtypeattribute (exfat_34_0) true)
+(expandtypeattribute (exported3_system_prop_34_0) true)
+(expandtypeattribute (exported_bluetooth_prop_34_0) true)
+(expandtypeattribute (exported_camera_prop_34_0) true)
+(expandtypeattribute (exported_config_prop_34_0) true)
+(expandtypeattribute (exported_default_prop_34_0) true)
+(expandtypeattribute (exported_dumpstate_prop_34_0) true)
+(expandtypeattribute (exported_overlay_prop_34_0) true)
+(expandtypeattribute (exported_pm_prop_34_0) true)
+(expandtypeattribute (exported_secure_prop_34_0) true)
+(expandtypeattribute (exported_system_prop_34_0) true)
+(expandtypeattribute (external_vibrator_service_34_0) true)
+(expandtypeattribute (extra_free_kbytes_34_0) true)
+(expandtypeattribute (extra_free_kbytes_exec_34_0) true)
+(expandtypeattribute (face_service_34_0) true)
+(expandtypeattribute (face_vendor_data_file_34_0) true)
+(expandtypeattribute (fastbootd_34_0) true)
+(expandtypeattribute (ffs_config_prop_34_0) true)
+(expandtypeattribute (ffs_control_prop_34_0) true)
+(expandtypeattribute (file_contexts_file_34_0) true)
+(expandtypeattribute (file_integrity_service_34_0) true)
+(expandtypeattribute (fingerprint_prop_34_0) true)
+(expandtypeattribute (fingerprint_service_34_0) true)
+(expandtypeattribute (fingerprint_vendor_data_file_34_0) true)
+(expandtypeattribute (fingerprintd_34_0) true)
+(expandtypeattribute (fingerprintd_data_file_34_0) true)
+(expandtypeattribute (fingerprintd_exec_34_0) true)
+(expandtypeattribute (fingerprintd_service_34_0) true)
+(expandtypeattribute (firstboot_prop_34_0) true)
+(expandtypeattribute (flags_health_check_34_0) true)
+(expandtypeattribute (flags_health_check_exec_34_0) true)
+(expandtypeattribute (font_service_34_0) true)
+(expandtypeattribute (framework_status_prop_34_0) true)
+(expandtypeattribute (framework_watchdog_config_prop_34_0) true)
+(expandtypeattribute (frp_block_device_34_0) true)
+(expandtypeattribute (fs_bpf_34_0) true)
+(expandtypeattribute (fs_bpf_tethering_34_0) true)
+(expandtypeattribute (fs_bpf_vendor_34_0) true)
+(expandtypeattribute (fsck_34_0) true)
+(expandtypeattribute (fsck_exec_34_0) true)
+(expandtypeattribute (fsck_untrusted_34_0) true)
+(expandtypeattribute (fscklogs_34_0) true)
+(expandtypeattribute (functionfs_34_0) true)
+(expandtypeattribute (fuse_34_0) true)
+(expandtypeattribute (fuse_device_34_0) true)
+(expandtypeattribute (fuseblk_34_0) true)
+(expandtypeattribute (fusectlfs_34_0) true)
+(expandtypeattribute (future_pm_prop_34_0) true)
+(expandtypeattribute (fwk_altitude_service_34_0) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_34_0) true)
+(expandtypeattribute (fwk_automotive_display_service_34_0) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_34_0) true)
+(expandtypeattribute (fwk_camera_hwservice_34_0) true)
+(expandtypeattribute (fwk_camera_service_34_0) true)
+(expandtypeattribute (fwk_display_hwservice_34_0) true)
+(expandtypeattribute (fwk_scheduler_hwservice_34_0) true)
+(expandtypeattribute (fwk_sensor_hwservice_34_0) true)
+(expandtypeattribute (fwk_sensor_service_34_0) true)
+(expandtypeattribute (fwk_stats_hwservice_34_0) true)
+(expandtypeattribute (fwk_stats_service_34_0) true)
+(expandtypeattribute (fwmarkd_socket_34_0) true)
+(expandtypeattribute (game_mode_intervention_list_file_34_0) true)
+(expandtypeattribute (game_service_34_0) true)
+(expandtypeattribute (gatekeeper_data_file_34_0) true)
+(expandtypeattribute (gatekeeper_service_34_0) true)
+(expandtypeattribute (gatekeeperd_34_0) true)
+(expandtypeattribute (gatekeeperd_exec_34_0) true)
+(expandtypeattribute (gesture_prop_34_0) true)
+(expandtypeattribute (gfxinfo_service_34_0) true)
+(expandtypeattribute (gmscore_app_34_0) true)
+(expandtypeattribute (gnss_device_34_0) true)
+(expandtypeattribute (gnss_time_update_service_34_0) true)
+(expandtypeattribute (gps_control_34_0) true)
+(expandtypeattribute (gpu_device_34_0) true)
+(expandtypeattribute (gpu_service_34_0) true)
+(expandtypeattribute (gpuservice_34_0) true)
+(expandtypeattribute (grammatical_inflection_service_34_0) true)
+(expandtypeattribute (graphics_config_prop_34_0) true)
+(expandtypeattribute (graphics_config_writable_prop_34_0) true)
+(expandtypeattribute (graphics_device_34_0) true)
+(expandtypeattribute (graphicsstats_service_34_0) true)
+(expandtypeattribute (gsi_data_file_34_0) true)
+(expandtypeattribute (gsi_metadata_file_34_0) true)
+(expandtypeattribute (gsi_public_metadata_file_34_0) true)
+(expandtypeattribute (gwp_asan_prop_34_0) true)
+(expandtypeattribute (hal_atrace_hwservice_34_0) true)
+(expandtypeattribute (hal_audio_hwservice_34_0) true)
+(expandtypeattribute (hal_audio_service_34_0) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_34_0) true)
+(expandtypeattribute (hal_audiocontrol_service_34_0) true)
+(expandtypeattribute (hal_authsecret_hwservice_34_0) true)
+(expandtypeattribute (hal_authsecret_service_34_0) true)
+(expandtypeattribute (hal_bluetooth_hwservice_34_0) true)
+(expandtypeattribute (hal_bluetooth_service_34_0) true)
+(expandtypeattribute (hal_bootctl_hwservice_34_0) true)
+(expandtypeattribute (hal_bootctl_service_34_0) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_34_0) true)
+(expandtypeattribute (hal_broadcastradio_service_34_0) true)
+(expandtypeattribute (hal_camera_hwservice_34_0) true)
+(expandtypeattribute (hal_camera_service_34_0) true)
+(expandtypeattribute (hal_can_bus_hwservice_34_0) true)
+(expandtypeattribute (hal_can_controller_hwservice_34_0) true)
+(expandtypeattribute (hal_can_controller_service_34_0) true)
+(expandtypeattribute (hal_cas_hwservice_34_0) true)
+(expandtypeattribute (hal_cas_service_34_0) true)
+(expandtypeattribute (hal_codec2_hwservice_34_0) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_34_0) true)
+(expandtypeattribute (hal_confirmationui_hwservice_34_0) true)
+(expandtypeattribute (hal_confirmationui_service_34_0) true)
+(expandtypeattribute (hal_contexthub_hwservice_34_0) true)
+(expandtypeattribute (hal_contexthub_service_34_0) true)
+(expandtypeattribute (hal_drm_hwservice_34_0) true)
+(expandtypeattribute (hal_drm_service_34_0) true)
+(expandtypeattribute (hal_dumpstate_config_prop_34_0) true)
+(expandtypeattribute (hal_dumpstate_hwservice_34_0) true)
+(expandtypeattribute (hal_dumpstate_service_34_0) true)
+(expandtypeattribute (hal_evs_hwservice_34_0) true)
+(expandtypeattribute (hal_evs_service_34_0) true)
+(expandtypeattribute (hal_face_hwservice_34_0) true)
+(expandtypeattribute (hal_face_service_34_0) true)
+(expandtypeattribute (hal_fastboot_service_34_0) true)
+(expandtypeattribute (hal_fingerprint_hwservice_34_0) true)
+(expandtypeattribute (hal_fingerprint_service_34_0) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_34_0) true)
+(expandtypeattribute (hal_gatekeeper_service_34_0) true)
+(expandtypeattribute (hal_gnss_hwservice_34_0) true)
+(expandtypeattribute (hal_gnss_service_34_0) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_34_0) true)
+(expandtypeattribute (hal_graphics_allocator_service_34_0) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_34_0) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_34_0) true)
+(expandtypeattribute (hal_graphics_composer_service_34_0) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_34_0) true)
+(expandtypeattribute (hal_health_hwservice_34_0) true)
+(expandtypeattribute (hal_health_service_34_0) true)
+(expandtypeattribute (hal_health_storage_hwservice_34_0) true)
+(expandtypeattribute (hal_health_storage_service_34_0) true)
+(expandtypeattribute (hal_identity_service_34_0) true)
+(expandtypeattribute (hal_input_classifier_hwservice_34_0) true)
+(expandtypeattribute (hal_input_processor_service_34_0) true)
+(expandtypeattribute (hal_instrumentation_prop_34_0) true)
+(expandtypeattribute (hal_ir_hwservice_34_0) true)
+(expandtypeattribute (hal_ir_service_34_0) true)
+(expandtypeattribute (hal_ivn_service_34_0) true)
+(expandtypeattribute (hal_keymaster_hwservice_34_0) true)
+(expandtypeattribute (hal_keymint_service_34_0) true)
+(expandtypeattribute (hal_light_hwservice_34_0) true)
+(expandtypeattribute (hal_light_service_34_0) true)
+(expandtypeattribute (hal_lowpan_hwservice_34_0) true)
+(expandtypeattribute (hal_memtrack_hwservice_34_0) true)
+(expandtypeattribute (hal_memtrack_service_34_0) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_34_0) true)
+(expandtypeattribute (hal_neuralnetworks_service_34_0) true)
+(expandtypeattribute (hal_nfc_hwservice_34_0) true)
+(expandtypeattribute (hal_nfc_service_34_0) true)
+(expandtypeattribute (hal_nlinterceptor_service_34_0) true)
+(expandtypeattribute (hal_oemlock_hwservice_34_0) true)
+(expandtypeattribute (hal_oemlock_service_34_0) true)
+(expandtypeattribute (hal_omx_hwservice_34_0) true)
+(expandtypeattribute (hal_power_hwservice_34_0) true)
+(expandtypeattribute (hal_power_service_34_0) true)
+(expandtypeattribute (hal_power_stats_hwservice_34_0) true)
+(expandtypeattribute (hal_power_stats_service_34_0) true)
+(expandtypeattribute (hal_radio_service_34_0) true)
+(expandtypeattribute (hal_rebootescrow_service_34_0) true)
+(expandtypeattribute (hal_remoteaccess_service_34_0) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_34_0) true)
+(expandtypeattribute (hal_renderscript_hwservice_34_0) true)
+(expandtypeattribute (hal_secure_element_hwservice_34_0) true)
+(expandtypeattribute (hal_secure_element_service_34_0) true)
+(expandtypeattribute (hal_secureclock_service_34_0) true)
+(expandtypeattribute (hal_sensors_hwservice_34_0) true)
+(expandtypeattribute (hal_sensors_service_34_0) true)
+(expandtypeattribute (hal_sharedsecret_service_34_0) true)
+(expandtypeattribute (hal_system_suspend_service_34_0) true)
+(expandtypeattribute (hal_telephony_hwservice_34_0) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_34_0) true)
+(expandtypeattribute (hal_tetheroffload_service_34_0) true)
+(expandtypeattribute (hal_thermal_hwservice_34_0) true)
+(expandtypeattribute (hal_thermal_service_34_0) true)
+(expandtypeattribute (hal_tv_cec_hwservice_34_0) true)
+(expandtypeattribute (hal_tv_hdmi_cec_service_34_0) true)
+(expandtypeattribute (hal_tv_hdmi_connection_service_34_0) true)
+(expandtypeattribute (hal_tv_hdmi_earc_service_34_0) true)
+(expandtypeattribute (hal_tv_input_hwservice_34_0) true)
+(expandtypeattribute (hal_tv_input_service_34_0) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_34_0) true)
+(expandtypeattribute (hal_tv_tuner_service_34_0) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_34_0) true)
+(expandtypeattribute (hal_usb_gadget_service_34_0) true)
+(expandtypeattribute (hal_usb_hwservice_34_0) true)
+(expandtypeattribute (hal_usb_service_34_0) true)
+(expandtypeattribute (hal_uwb_service_34_0) true)
+(expandtypeattribute (hal_vehicle_hwservice_34_0) true)
+(expandtypeattribute (hal_vehicle_service_34_0) true)
+(expandtypeattribute (hal_vibrator_hwservice_34_0) true)
+(expandtypeattribute (hal_vibrator_service_34_0) true)
+(expandtypeattribute (hal_vr_hwservice_34_0) true)
+(expandtypeattribute (hal_weaver_hwservice_34_0) true)
+(expandtypeattribute (hal_weaver_service_34_0) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_34_0) true)
+(expandtypeattribute (hal_wifi_hostapd_service_34_0) true)
+(expandtypeattribute (hal_wifi_hwservice_34_0) true)
+(expandtypeattribute (hal_wifi_service_34_0) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_34_0) true)
+(expandtypeattribute (hal_wifi_supplicant_service_34_0) true)
+(expandtypeattribute (hardware_properties_service_34_0) true)
+(expandtypeattribute (hardware_service_34_0) true)
+(expandtypeattribute (hci_attach_dev_34_0) true)
+(expandtypeattribute (hdmi_config_prop_34_0) true)
+(expandtypeattribute (hdmi_control_service_34_0) true)
+(expandtypeattribute (healthconnect_service_34_0) true)
+(expandtypeattribute (healthd_34_0) true)
+(expandtypeattribute (heapdump_data_file_34_0) true)
+(expandtypeattribute (heapprofd_34_0) true)
+(expandtypeattribute (heapprofd_enabled_prop_34_0) true)
+(expandtypeattribute (heapprofd_prop_34_0) true)
+(expandtypeattribute (heapprofd_socket_34_0) true)
+(expandtypeattribute (hidl_allocator_hwservice_34_0) true)
+(expandtypeattribute (hidl_base_hwservice_34_0) true)
+(expandtypeattribute (hidl_manager_hwservice_34_0) true)
+(expandtypeattribute (hidl_memory_hwservice_34_0) true)
+(expandtypeattribute (hidl_token_hwservice_34_0) true)
+(expandtypeattribute (hint_service_34_0) true)
+(expandtypeattribute (hw_random_device_34_0) true)
+(expandtypeattribute (hw_timeout_multiplier_prop_34_0) true)
+(expandtypeattribute (hwbinder_device_34_0) true)
+(expandtypeattribute (hwservice_contexts_file_34_0) true)
+(expandtypeattribute (hwservicemanager_34_0) true)
+(expandtypeattribute (hwservicemanager_exec_34_0) true)
+(expandtypeattribute (hwservicemanager_prop_34_0) true)
+(expandtypeattribute (hypervisor_prop_34_0) true)
+(expandtypeattribute (hypervisor_restricted_prop_34_0) true)
+(expandtypeattribute (icon_file_34_0) true)
+(expandtypeattribute (idmap_34_0) true)
+(expandtypeattribute (idmap_exec_34_0) true)
+(expandtypeattribute (idmap_service_34_0) true)
+(expandtypeattribute (iio_device_34_0) true)
+(expandtypeattribute (imms_service_34_0) true)
+(expandtypeattribute (incident_34_0) true)
+(expandtypeattribute (incident_data_file_34_0) true)
+(expandtypeattribute (incident_helper_34_0) true)
+(expandtypeattribute (incident_service_34_0) true)
+(expandtypeattribute (incidentd_34_0) true)
+(expandtypeattribute (incremental_control_file_34_0) true)
+(expandtypeattribute (incremental_prop_34_0) true)
+(expandtypeattribute (incremental_service_34_0) true)
+(expandtypeattribute (init_34_0) true)
+(expandtypeattribute (init_exec_34_0) true)
+(expandtypeattribute (init_service_status_prop_34_0) true)
+(expandtypeattribute (init_tmpfs_34_0) true)
+(expandtypeattribute (inotify_34_0) true)
+(expandtypeattribute (input_device_34_0) true)
+(expandtypeattribute (input_method_service_34_0) true)
+(expandtypeattribute (input_service_34_0) true)
+(expandtypeattribute (inputflinger_34_0) true)
+(expandtypeattribute (inputflinger_exec_34_0) true)
+(expandtypeattribute (inputflinger_service_34_0) true)
+(expandtypeattribute (install_data_file_34_0) true)
+(expandtypeattribute (installd_34_0) true)
+(expandtypeattribute (installd_exec_34_0) true)
+(expandtypeattribute (installd_service_34_0) true)
+(expandtypeattribute (ion_device_34_0) true)
+(expandtypeattribute (ipsec_service_34_0) true)
+(expandtypeattribute (iris_service_34_0) true)
+(expandtypeattribute (iris_vendor_data_file_34_0) true)
+(expandtypeattribute (isolated_app_34_0) true)
+(expandtypeattribute (isolated_compute_app_34_0) true)
+(expandtypeattribute (jobscheduler_service_34_0) true)
+(expandtypeattribute (kernel_34_0) true)
+(expandtypeattribute (keychain_data_file_34_0) true)
+(expandtypeattribute (keychord_device_34_0) true)
+(expandtypeattribute (keyguard_config_prop_34_0) true)
+(expandtypeattribute (keystore2_key_contexts_file_34_0) true)
+(expandtypeattribute (keystore_34_0) true)
+(expandtypeattribute (keystore_compat_hal_service_34_0) true)
+(expandtypeattribute (keystore_config_prop_34_0) true)
+(expandtypeattribute (keystore_data_file_34_0) true)
+(expandtypeattribute (keystore_exec_34_0) true)
+(expandtypeattribute (keystore_maintenance_service_34_0) true)
+(expandtypeattribute (keystore_metrics_service_34_0) true)
+(expandtypeattribute (keystore_service_34_0) true)
+(expandtypeattribute (kmsg_debug_device_34_0) true)
+(expandtypeattribute (kmsg_device_34_0) true)
+(expandtypeattribute (labeledfs_34_0) true)
+(expandtypeattribute (launcherapps_service_34_0) true)
+(expandtypeattribute (legacy_permission_service_34_0) true)
+(expandtypeattribute (legacykeystore_service_34_0) true)
+(expandtypeattribute (libc_debug_prop_34_0) true)
+(expandtypeattribute (light_service_34_0) true)
+(expandtypeattribute (linkerconfig_file_34_0) true)
+(expandtypeattribute (llkd_34_0) true)
+(expandtypeattribute (llkd_exec_34_0) true)
+(expandtypeattribute (llkd_prop_34_0) true)
+(expandtypeattribute (lmkd_34_0) true)
+(expandtypeattribute (lmkd_config_prop_34_0) true)
+(expandtypeattribute (lmkd_exec_34_0) true)
+(expandtypeattribute (lmkd_prop_34_0) true)
+(expandtypeattribute (lmkd_socket_34_0) true)
+(expandtypeattribute (locale_prop_34_0) true)
+(expandtypeattribute (locale_service_34_0) true)
+(expandtypeattribute (location_service_34_0) true)
+(expandtypeattribute (location_time_zone_manager_service_34_0) true)
+(expandtypeattribute (lock_settings_service_34_0) true)
+(expandtypeattribute (log_prop_34_0) true)
+(expandtypeattribute (log_tag_prop_34_0) true)
+(expandtypeattribute (logcat_exec_34_0) true)
+(expandtypeattribute (logd_34_0) true)
+(expandtypeattribute (logd_exec_34_0) true)
+(expandtypeattribute (logd_prop_34_0) true)
+(expandtypeattribute (logd_socket_34_0) true)
+(expandtypeattribute (logdr_socket_34_0) true)
+(expandtypeattribute (logdw_socket_34_0) true)
+(expandtypeattribute (logpersist_34_0) true)
+(expandtypeattribute (logpersistd_logging_prop_34_0) true)
+(expandtypeattribute (loop_control_device_34_0) true)
+(expandtypeattribute (loop_device_34_0) true)
+(expandtypeattribute (looper_stats_service_34_0) true)
+(expandtypeattribute (lowpan_device_34_0) true)
+(expandtypeattribute (lowpan_prop_34_0) true)
+(expandtypeattribute (lpdump_service_34_0) true)
+(expandtypeattribute (lpdumpd_prop_34_0) true)
+(expandtypeattribute (mac_perms_file_34_0) true)
+(expandtypeattribute (mdns_service_34_0) true)
+(expandtypeattribute (mdns_socket_34_0) true)
+(expandtypeattribute (mdnsd_34_0) true)
+(expandtypeattribute (mdnsd_socket_34_0) true)
+(expandtypeattribute (media_communication_service_34_0) true)
+(expandtypeattribute (media_config_prop_34_0) true)
+(expandtypeattribute (media_data_file_34_0) true)
+(expandtypeattribute (media_metrics_service_34_0) true)
+(expandtypeattribute (media_projection_service_34_0) true)
+(expandtypeattribute (media_router_service_34_0) true)
+(expandtypeattribute (media_rw_data_file_34_0) true)
+(expandtypeattribute (media_session_service_34_0) true)
+(expandtypeattribute (media_userdir_file_34_0) true)
+(expandtypeattribute (media_variant_prop_34_0) true)
+(expandtypeattribute (mediadrm_config_prop_34_0) true)
+(expandtypeattribute (mediadrmserver_34_0) true)
+(expandtypeattribute (mediadrmserver_exec_34_0) true)
+(expandtypeattribute (mediadrmserver_service_34_0) true)
+(expandtypeattribute (mediaextractor_34_0) true)
+(expandtypeattribute (mediaextractor_exec_34_0) true)
+(expandtypeattribute (mediaextractor_service_34_0) true)
+(expandtypeattribute (mediaextractor_tmpfs_34_0) true)
+(expandtypeattribute (mediametrics_34_0) true)
+(expandtypeattribute (mediametrics_exec_34_0) true)
+(expandtypeattribute (mediametrics_service_34_0) true)
+(expandtypeattribute (mediaprovider_34_0) true)
+(expandtypeattribute (mediaserver_34_0) true)
+(expandtypeattribute (mediaserver_exec_34_0) true)
+(expandtypeattribute (mediaserver_service_34_0) true)
+(expandtypeattribute (mediaserver_tmpfs_34_0) true)
+(expandtypeattribute (mediaswcodec_34_0) true)
+(expandtypeattribute (mediaswcodec_exec_34_0) true)
+(expandtypeattribute (mediatranscoding_34_0) true)
+(expandtypeattribute (mediatranscoding_service_34_0) true)
+(expandtypeattribute (meminfo_service_34_0) true)
+(expandtypeattribute (memtrackproxy_service_34_0) true)
+(expandtypeattribute (metadata_block_device_34_0) true)
+(expandtypeattribute (metadata_bootstat_file_34_0) true)
+(expandtypeattribute (metadata_file_34_0) true)
+(expandtypeattribute (method_trace_data_file_34_0) true)
+(expandtypeattribute (midi_service_34_0) true)
+(expandtypeattribute (mirror_data_file_34_0) true)
+(expandtypeattribute (misc_block_device_34_0) true)
+(expandtypeattribute (misc_logd_file_34_0) true)
+(expandtypeattribute (misc_user_data_file_34_0) true)
+(expandtypeattribute (mm_events_config_prop_34_0) true)
+(expandtypeattribute (mmc_prop_34_0) true)
+(expandtypeattribute (mnt_expand_file_34_0) true)
+(expandtypeattribute (mnt_media_rw_file_34_0) true)
+(expandtypeattribute (mnt_media_rw_stub_file_34_0) true)
+(expandtypeattribute (mnt_pass_through_file_34_0) true)
+(expandtypeattribute (mnt_product_file_34_0) true)
+(expandtypeattribute (mnt_sdcard_file_34_0) true)
+(expandtypeattribute (mnt_user_file_34_0) true)
+(expandtypeattribute (mnt_vendor_file_34_0) true)
+(expandtypeattribute (mock_ota_prop_34_0) true)
+(expandtypeattribute (modprobe_34_0) true)
+(expandtypeattribute (module_sdkextensions_prop_34_0) true)
+(expandtypeattribute (mount_service_34_0) true)
+(expandtypeattribute (mqueue_34_0) true)
+(expandtypeattribute (mtp_34_0) true)
+(expandtypeattribute (mtp_device_34_0) true)
+(expandtypeattribute (mtp_exec_34_0) true)
+(expandtypeattribute (mtpd_socket_34_0) true)
+(expandtypeattribute (music_recognition_service_34_0) true)
+(expandtypeattribute (nativetest_data_file_34_0) true)
+(expandtypeattribute (nearby_service_34_0) true)
+(expandtypeattribute (net_data_file_34_0) true)
+(expandtypeattribute (net_dns_prop_34_0) true)
+(expandtypeattribute (net_radio_prop_34_0) true)
+(expandtypeattribute (netd_34_0) true)
+(expandtypeattribute (netd_exec_34_0) true)
+(expandtypeattribute (netd_listener_service_34_0) true)
+(expandtypeattribute (netd_service_34_0) true)
+(expandtypeattribute (netif_34_0) true)
+(expandtypeattribute (netpolicy_service_34_0) true)
+(expandtypeattribute (netstats_service_34_0) true)
+(expandtypeattribute (netutils_wrapper_34_0) true)
+(expandtypeattribute (netutils_wrapper_exec_34_0) true)
+(expandtypeattribute (network_management_service_34_0) true)
+(expandtypeattribute (network_score_service_34_0) true)
+(expandtypeattribute (network_stack_34_0) true)
+(expandtypeattribute (network_stack_service_34_0) true)
+(expandtypeattribute (network_time_update_service_34_0) true)
+(expandtypeattribute (network_watchlist_data_file_34_0) true)
+(expandtypeattribute (network_watchlist_service_34_0) true)
+(expandtypeattribute (nfc_34_0) true)
+(expandtypeattribute (nfc_data_file_34_0) true)
+(expandtypeattribute (nfc_device_34_0) true)
+(expandtypeattribute (nfc_logs_data_file_34_0) true)
+(expandtypeattribute (nfc_prop_34_0) true)
+(expandtypeattribute (nfc_service_34_0) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_34_0) true)
+(expandtypeattribute (node_34_0) true)
+(expandtypeattribute (notification_service_34_0) true)
+(expandtypeattribute (null_device_34_0) true)
+(expandtypeattribute (oem_lock_service_34_0) true)
+(expandtypeattribute (oem_unlock_prop_34_0) true)
+(expandtypeattribute (oemfs_34_0) true)
+(expandtypeattribute (ondevicepersonalization_system_service_34_0) true)
+(expandtypeattribute (ota_data_file_34_0) true)
+(expandtypeattribute (ota_metadata_file_34_0) true)
+(expandtypeattribute (ota_package_file_34_0) true)
+(expandtypeattribute (ota_prop_34_0) true)
+(expandtypeattribute (otadexopt_service_34_0) true)
+(expandtypeattribute (otapreopt_chroot_34_0) true)
+(expandtypeattribute (overlay_prop_34_0) true)
+(expandtypeattribute (overlay_service_34_0) true)
+(expandtypeattribute (overlayfs_file_34_0) true)
+(expandtypeattribute (owntty_device_34_0) true)
+(expandtypeattribute (pac_proxy_service_34_0) true)
+(expandtypeattribute (package_native_service_34_0) true)
+(expandtypeattribute (package_service_34_0) true)
+(expandtypeattribute (packagemanager_config_prop_34_0) true)
+(expandtypeattribute (packages_list_file_34_0) true)
+(expandtypeattribute (pan_result_prop_34_0) true)
+(expandtypeattribute (password_slot_metadata_file_34_0) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_34_0) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_34_0) true)
+(expandtypeattribute (pdx_bufferhub_dir_34_0) true)
+(expandtypeattribute (pdx_display_client_channel_socket_34_0) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_34_0) true)
+(expandtypeattribute (pdx_display_dir_34_0) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_34_0) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_34_0) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_34_0) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_34_0) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_34_0) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_34_0) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_34_0) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_34_0) true)
+(expandtypeattribute (pdx_performance_dir_34_0) true)
+(expandtypeattribute (people_service_34_0) true)
+(expandtypeattribute (perfetto_34_0) true)
+(expandtypeattribute (performanced_34_0) true)
+(expandtypeattribute (performanced_exec_34_0) true)
+(expandtypeattribute (permission_checker_service_34_0) true)
+(expandtypeattribute (permission_service_34_0) true)
+(expandtypeattribute (permissionmgr_service_34_0) true)
+(expandtypeattribute (permissive_mte_prop_34_0) true)
+(expandtypeattribute (persist_debug_prop_34_0) true)
+(expandtypeattribute (persist_vendor_debug_wifi_prop_34_0) true)
+(expandtypeattribute (persist_wm_debug_prop_34_0) true)
+(expandtypeattribute (persistent_data_block_service_34_0) true)
+(expandtypeattribute (persistent_properties_ready_prop_34_0) true)
+(expandtypeattribute (pinner_service_34_0) true)
+(expandtypeattribute (pipefs_34_0) true)
+(expandtypeattribute (platform_app_34_0) true)
+(expandtypeattribute (platform_compat_service_34_0) true)
+(expandtypeattribute (pmsg_device_34_0) true)
+(expandtypeattribute (port_34_0) true)
+(expandtypeattribute (port_device_34_0) true)
+(expandtypeattribute (postinstall_34_0) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_34_0) true)
+(expandtypeattribute (postinstall_file_34_0) true)
+(expandtypeattribute (postinstall_mnt_dir_34_0) true)
+(expandtypeattribute (power_debug_prop_34_0) true)
+(expandtypeattribute (power_service_34_0) true)
+(expandtypeattribute (powerctl_prop_34_0) true)
+(expandtypeattribute (powerstats_service_34_0) true)
+(expandtypeattribute (ppp_34_0) true)
+(expandtypeattribute (ppp_device_34_0) true)
+(expandtypeattribute (ppp_exec_34_0) true)
+(expandtypeattribute (preloads_data_file_34_0) true)
+(expandtypeattribute (preloads_media_file_34_0) true)
+(expandtypeattribute (prereboot_data_file_34_0) true)
+(expandtypeattribute (print_service_34_0) true)
+(expandtypeattribute (priv_app_34_0) true)
+(expandtypeattribute (privapp_data_file_34_0) true)
+(expandtypeattribute (prng_seeder_34_0) true)
+(expandtypeattribute (proc_34_0) true)
+(expandtypeattribute (proc_abi_34_0) true)
+(expandtypeattribute (proc_asound_34_0) true)
+(expandtypeattribute (proc_bluetooth_writable_34_0) true)
+(expandtypeattribute (proc_bootconfig_34_0) true)
+(expandtypeattribute (proc_bpf_34_0) true)
+(expandtypeattribute (proc_buddyinfo_34_0) true)
+(expandtypeattribute (proc_cmdline_34_0) true)
+(expandtypeattribute (proc_cpu_alignment_34_0) true)
+(expandtypeattribute (proc_cpuinfo_34_0) true)
+(expandtypeattribute (proc_dirty_34_0) true)
+(expandtypeattribute (proc_diskstats_34_0) true)
+(expandtypeattribute (proc_drop_caches_34_0) true)
+(expandtypeattribute (proc_extra_free_kbytes_34_0) true)
+(expandtypeattribute (proc_filesystems_34_0) true)
+(expandtypeattribute (proc_fs_verity_34_0) true)
+(expandtypeattribute (proc_hostname_34_0) true)
+(expandtypeattribute (proc_hung_task_34_0) true)
+(expandtypeattribute (proc_interrupts_34_0) true)
+(expandtypeattribute (proc_iomem_34_0) true)
+(expandtypeattribute (proc_kallsyms_34_0) true)
+(expandtypeattribute (proc_keys_34_0) true)
+(expandtypeattribute (proc_kmsg_34_0) true)
+(expandtypeattribute (proc_kpageflags_34_0) true)
+(expandtypeattribute (proc_loadavg_34_0) true)
+(expandtypeattribute (proc_locks_34_0) true)
+(expandtypeattribute (proc_lowmemorykiller_34_0) true)
+(expandtypeattribute (proc_max_map_count_34_0) true)
+(expandtypeattribute (proc_meminfo_34_0) true)
+(expandtypeattribute (proc_min_free_order_shift_34_0) true)
+(expandtypeattribute (proc_misc_34_0) true)
+(expandtypeattribute (proc_modules_34_0) true)
+(expandtypeattribute (proc_mounts_34_0) true)
+(expandtypeattribute (proc_net_34_0) true)
+(expandtypeattribute (proc_net_tcp_udp_34_0) true)
+(expandtypeattribute (proc_overcommit_memory_34_0) true)
+(expandtypeattribute (proc_page_cluster_34_0) true)
+(expandtypeattribute (proc_pagetypeinfo_34_0) true)
+(expandtypeattribute (proc_panic_34_0) true)
+(expandtypeattribute (proc_perf_34_0) true)
+(expandtypeattribute (proc_pid_max_34_0) true)
+(expandtypeattribute (proc_pipe_conf_34_0) true)
+(expandtypeattribute (proc_pressure_cpu_34_0) true)
+(expandtypeattribute (proc_pressure_io_34_0) true)
+(expandtypeattribute (proc_pressure_mem_34_0) true)
+(expandtypeattribute (proc_qtaguid_ctrl_34_0) true)
+(expandtypeattribute (proc_qtaguid_stat_34_0) true)
+(expandtypeattribute (proc_random_34_0) true)
+(expandtypeattribute (proc_sched_34_0) true)
+(expandtypeattribute (proc_security_34_0) true)
+(expandtypeattribute (proc_slabinfo_34_0) true)
+(expandtypeattribute (proc_stat_34_0) true)
+(expandtypeattribute (proc_swaps_34_0) true)
+(expandtypeattribute (proc_sysrq_34_0) true)
+(expandtypeattribute (proc_timer_34_0) true)
+(expandtypeattribute (proc_tty_drivers_34_0) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_34_0) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_34_0) true)
+(expandtypeattribute (proc_uid_cpupower_34_0) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_34_0) true)
+(expandtypeattribute (proc_uid_cputime_showstat_34_0) true)
+(expandtypeattribute (proc_uid_io_stats_34_0) true)
+(expandtypeattribute (proc_uid_procstat_set_34_0) true)
+(expandtypeattribute (proc_uid_time_in_state_34_0) true)
+(expandtypeattribute (proc_uptime_34_0) true)
+(expandtypeattribute (proc_vendor_sched_34_0) true)
+(expandtypeattribute (proc_version_34_0) true)
+(expandtypeattribute (proc_vmallocinfo_34_0) true)
+(expandtypeattribute (proc_vmstat_34_0) true)
+(expandtypeattribute (proc_watermark_boost_factor_34_0) true)
+(expandtypeattribute (proc_watermark_scale_factor_34_0) true)
+(expandtypeattribute (proc_zoneinfo_34_0) true)
+(expandtypeattribute (processinfo_service_34_0) true)
+(expandtypeattribute (procstats_service_34_0) true)
+(expandtypeattribute (profman_34_0) true)
+(expandtypeattribute (profman_dump_data_file_34_0) true)
+(expandtypeattribute (profman_exec_34_0) true)
+(expandtypeattribute (properties_device_34_0) true)
+(expandtypeattribute (properties_serial_34_0) true)
+(expandtypeattribute (property_contexts_file_34_0) true)
+(expandtypeattribute (property_data_file_34_0) true)
+(expandtypeattribute (property_info_34_0) true)
+(expandtypeattribute (property_service_version_prop_34_0) true)
+(expandtypeattribute (property_socket_34_0) true)
+(expandtypeattribute (provisioned_prop_34_0) true)
+(expandtypeattribute (pstorefs_34_0) true)
+(expandtypeattribute (ptmx_device_34_0) true)
+(expandtypeattribute (qemu_hw_prop_34_0) true)
+(expandtypeattribute (qemu_sf_lcd_density_prop_34_0) true)
+(expandtypeattribute (qtaguid_device_34_0) true)
+(expandtypeattribute (quick_start_prop_34_0) true)
+(expandtypeattribute (racoon_34_0) true)
+(expandtypeattribute (racoon_exec_34_0) true)
+(expandtypeattribute (racoon_socket_34_0) true)
+(expandtypeattribute (radio_34_0) true)
+(expandtypeattribute (radio_control_prop_34_0) true)
+(expandtypeattribute (radio_core_data_file_34_0) true)
+(expandtypeattribute (radio_data_file_34_0) true)
+(expandtypeattribute (radio_device_34_0) true)
+(expandtypeattribute (radio_prop_34_0) true)
+(expandtypeattribute (radio_service_34_0) true)
+(expandtypeattribute (ram_device_34_0) true)
+(expandtypeattribute (random_device_34_0) true)
+(expandtypeattribute (reboot_readiness_service_34_0) true)
+(expandtypeattribute (rebootescrow_hal_prop_34_0) true)
+(expandtypeattribute (recovery_34_0) true)
+(expandtypeattribute (recovery_block_device_34_0) true)
+(expandtypeattribute (recovery_config_prop_34_0) true)
+(expandtypeattribute (recovery_data_file_34_0) true)
+(expandtypeattribute (recovery_persist_34_0) true)
+(expandtypeattribute (recovery_persist_exec_34_0) true)
+(expandtypeattribute (recovery_refresh_34_0) true)
+(expandtypeattribute (recovery_refresh_exec_34_0) true)
+(expandtypeattribute (recovery_service_34_0) true)
+(expandtypeattribute (recovery_socket_34_0) true)
+(expandtypeattribute (recovery_usb_config_prop_34_0) true)
+(expandtypeattribute (registry_service_34_0) true)
+(expandtypeattribute (remote_provisioning_service_34_0) true)
+(expandtypeattribute (resourcecache_data_file_34_0) true)
+(expandtypeattribute (resources_manager_service_34_0) true)
+(expandtypeattribute (restorecon_prop_34_0) true)
+(expandtypeattribute (restrictions_service_34_0) true)
+(expandtypeattribute (retaildemo_prop_34_0) true)
+(expandtypeattribute (rild_debug_socket_34_0) true)
+(expandtypeattribute (rild_socket_34_0) true)
+(expandtypeattribute (ringtone_file_34_0) true)
+(expandtypeattribute (rkpdapp_34_0) true)
+(expandtypeattribute (role_service_34_0) true)
+(expandtypeattribute (rollback_service_34_0) true)
+(expandtypeattribute (root_block_device_34_0) true)
+(expandtypeattribute (rootdisk_sysdev_34_0) true)
+(expandtypeattribute (rootfs_34_0) true)
+(expandtypeattribute (rpmsg_device_34_0) true)
+(expandtypeattribute (rs_34_0) true)
+(expandtypeattribute (rs_exec_34_0) true)
+(expandtypeattribute (rss_hwm_reset_34_0) true)
+(expandtypeattribute (rtc_device_34_0) true)
+(expandtypeattribute (rttmanager_service_34_0) true)
+(expandtypeattribute (runas_34_0) true)
+(expandtypeattribute (runas_app_34_0) true)
+(expandtypeattribute (runas_exec_34_0) true)
+(expandtypeattribute (runtime_event_log_tags_file_34_0) true)
+(expandtypeattribute (runtime_service_34_0) true)
+(expandtypeattribute (safemode_prop_34_0) true)
+(expandtypeattribute (same_process_hal_file_34_0) true)
+(expandtypeattribute (samplingprofiler_service_34_0) true)
+(expandtypeattribute (scheduling_policy_service_34_0) true)
+(expandtypeattribute (sdcard_block_device_34_0) true)
+(expandtypeattribute (sdcardd_34_0) true)
+(expandtypeattribute (sdcardd_exec_34_0) true)
+(expandtypeattribute (sdcardfs_34_0) true)
+(expandtypeattribute (sdk_sandbox_service_34_0) true)
+(expandtypeattribute (seapp_contexts_file_34_0) true)
+(expandtypeattribute (search_service_34_0) true)
+(expandtypeattribute (search_ui_service_34_0) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_34_0) true)
+(expandtypeattribute (secure_element_34_0) true)
+(expandtypeattribute (secure_element_device_34_0) true)
+(expandtypeattribute (secure_element_service_34_0) true)
+(expandtypeattribute (securityfs_34_0) true)
+(expandtypeattribute (selection_toolbar_service_34_0) true)
+(expandtypeattribute (selinuxfs_34_0) true)
+(expandtypeattribute (sendbug_config_prop_34_0) true)
+(expandtypeattribute (sensor_privacy_service_34_0) true)
+(expandtypeattribute (sensors_device_34_0) true)
+(expandtypeattribute (sensorservice_service_34_0) true)
+(expandtypeattribute (sepolicy_file_34_0) true)
+(expandtypeattribute (serial_device_34_0) true)
+(expandtypeattribute (serial_service_34_0) true)
+(expandtypeattribute (serialno_prop_34_0) true)
+(expandtypeattribute (server_configurable_flags_data_file_34_0) true)
+(expandtypeattribute (service_contexts_file_34_0) true)
+(expandtypeattribute (service_manager_service_34_0) true)
+(expandtypeattribute (service_manager_vndservice_34_0) true)
+(expandtypeattribute (servicediscovery_service_34_0) true)
+(expandtypeattribute (servicemanager_34_0) true)
+(expandtypeattribute (servicemanager_exec_34_0) true)
+(expandtypeattribute (servicemanager_prop_34_0) true)
+(expandtypeattribute (settings_service_34_0) true)
+(expandtypeattribute (sgdisk_34_0) true)
+(expandtypeattribute (sgdisk_exec_34_0) true)
+(expandtypeattribute (shared_relro_34_0) true)
+(expandtypeattribute (shared_relro_file_34_0) true)
+(expandtypeattribute (shell_34_0) true)
+(expandtypeattribute (shell_data_file_34_0) true)
+(expandtypeattribute (shell_exec_34_0) true)
+(expandtypeattribute (shell_prop_34_0) true)
+(expandtypeattribute (shell_test_data_file_34_0) true)
+(expandtypeattribute (shm_34_0) true)
+(expandtypeattribute (shortcut_manager_icons_34_0) true)
+(expandtypeattribute (shortcut_service_34_0) true)
+(expandtypeattribute (shutdown_checkpoints_system_data_file_34_0) true)
+(expandtypeattribute (simpleperf_34_0) true)
+(expandtypeattribute (simpleperf_app_runner_34_0) true)
+(expandtypeattribute (simpleperf_app_runner_exec_34_0) true)
+(expandtypeattribute (slice_service_34_0) true)
+(expandtypeattribute (slideshow_34_0) true)
+(expandtypeattribute (smart_idle_maint_enabled_prop_34_0) true)
+(expandtypeattribute (smartspace_service_34_0) true)
+(expandtypeattribute (snapshotctl_log_data_file_34_0) true)
+(expandtypeattribute (snapuserd_proxy_socket_34_0) true)
+(expandtypeattribute (snapuserd_socket_34_0) true)
+(expandtypeattribute (soc_prop_34_0) true)
+(expandtypeattribute (socket_device_34_0) true)
+(expandtypeattribute (socket_hook_prop_34_0) true)
+(expandtypeattribute (sockfs_34_0) true)
+(expandtypeattribute (sota_prop_34_0) true)
+(expandtypeattribute (soundtrigger_middleware_service_34_0) true)
+(expandtypeattribute (speech_recognition_service_34_0) true)
+(expandtypeattribute (sqlite_log_prop_34_0) true)
+(expandtypeattribute (staged_install_file_34_0) true)
+(expandtypeattribute (staging_data_file_34_0) true)
+(expandtypeattribute (stats_config_data_file_34_0) true)
+(expandtypeattribute (stats_data_file_34_0) true)
+(expandtypeattribute (statsd_34_0) true)
+(expandtypeattribute (statsd_exec_34_0) true)
+(expandtypeattribute (statsdw_socket_34_0) true)
+(expandtypeattribute (statusbar_service_34_0) true)
+(expandtypeattribute (storage_config_prop_34_0) true)
+(expandtypeattribute (storage_file_34_0) true)
+(expandtypeattribute (storage_stub_file_34_0) true)
+(expandtypeattribute (storaged_service_34_0) true)
+(expandtypeattribute (storagemanager_config_prop_34_0) true)
+(expandtypeattribute (storagestats_service_34_0) true)
+(expandtypeattribute (su_34_0) true)
+(expandtypeattribute (su_exec_34_0) true)
+(expandtypeattribute (super_block_device_34_0) true)
+(expandtypeattribute (surfaceflinger_34_0) true)
+(expandtypeattribute (surfaceflinger_color_prop_34_0) true)
+(expandtypeattribute (surfaceflinger_display_prop_34_0) true)
+(expandtypeattribute (surfaceflinger_prop_34_0) true)
+(expandtypeattribute (surfaceflinger_service_34_0) true)
+(expandtypeattribute (surfaceflinger_tmpfs_34_0) true)
+(expandtypeattribute (suspend_prop_34_0) true)
+(expandtypeattribute (swap_block_device_34_0) true)
+(expandtypeattribute (sysfs_34_0) true)
+(expandtypeattribute (sysfs_android_usb_34_0) true)
+(expandtypeattribute (sysfs_batteryinfo_34_0) true)
+(expandtypeattribute (sysfs_bluetooth_writable_34_0) true)
+(expandtypeattribute (sysfs_devfreq_cur_34_0) true)
+(expandtypeattribute (sysfs_devfreq_dir_34_0) true)
+(expandtypeattribute (sysfs_devices_block_34_0) true)
+(expandtypeattribute (sysfs_devices_cs_etm_34_0) true)
+(expandtypeattribute (sysfs_devices_system_cpu_34_0) true)
+(expandtypeattribute (sysfs_dm_34_0) true)
+(expandtypeattribute (sysfs_dm_verity_34_0) true)
+(expandtypeattribute (sysfs_dma_heap_34_0) true)
+(expandtypeattribute (sysfs_dmabuf_stats_34_0) true)
+(expandtypeattribute (sysfs_dt_firmware_android_34_0) true)
+(expandtypeattribute (sysfs_extcon_34_0) true)
+(expandtypeattribute (sysfs_fs_ext4_features_34_0) true)
+(expandtypeattribute (sysfs_fs_f2fs_34_0) true)
+(expandtypeattribute (sysfs_fs_fuse_bpf_34_0) true)
+(expandtypeattribute (sysfs_fs_fuse_features_34_0) true)
+(expandtypeattribute (sysfs_fs_incfs_features_34_0) true)
+(expandtypeattribute (sysfs_fs_incfs_metrics_34_0) true)
+(expandtypeattribute (sysfs_gpu_34_0) true)
+(expandtypeattribute (sysfs_hwrandom_34_0) true)
+(expandtypeattribute (sysfs_ion_34_0) true)
+(expandtypeattribute (sysfs_ipv4_34_0) true)
+(expandtypeattribute (sysfs_kernel_notes_34_0) true)
+(expandtypeattribute (sysfs_leds_34_0) true)
+(expandtypeattribute (sysfs_loop_34_0) true)
+(expandtypeattribute (sysfs_lowmemorykiller_34_0) true)
+(expandtypeattribute (sysfs_lru_gen_enabled_34_0) true)
+(expandtypeattribute (sysfs_net_34_0) true)
+(expandtypeattribute (sysfs_nfc_power_writable_34_0) true)
+(expandtypeattribute (sysfs_power_34_0) true)
+(expandtypeattribute (sysfs_rtc_34_0) true)
+(expandtypeattribute (sysfs_suspend_stats_34_0) true)
+(expandtypeattribute (sysfs_switch_34_0) true)
+(expandtypeattribute (sysfs_thermal_34_0) true)
+(expandtypeattribute (sysfs_transparent_hugepage_34_0) true)
+(expandtypeattribute (sysfs_uhid_34_0) true)
+(expandtypeattribute (sysfs_uio_34_0) true)
+(expandtypeattribute (sysfs_usb_34_0) true)
+(expandtypeattribute (sysfs_usermodehelper_34_0) true)
+(expandtypeattribute (sysfs_vendor_sched_34_0) true)
+(expandtypeattribute (sysfs_vibrator_34_0) true)
+(expandtypeattribute (sysfs_wake_lock_34_0) true)
+(expandtypeattribute (sysfs_wakeup_34_0) true)
+(expandtypeattribute (sysfs_wakeup_reasons_34_0) true)
+(expandtypeattribute (sysfs_wlan_fwpath_34_0) true)
+(expandtypeattribute (sysfs_zram_34_0) true)
+(expandtypeattribute (sysfs_zram_uevent_34_0) true)
+(expandtypeattribute (system_app_34_0) true)
+(expandtypeattribute (system_app_data_file_34_0) true)
+(expandtypeattribute (system_app_service_34_0) true)
+(expandtypeattribute (system_asan_options_file_34_0) true)
+(expandtypeattribute (system_block_device_34_0) true)
+(expandtypeattribute (system_boot_reason_prop_34_0) true)
+(expandtypeattribute (system_bootstrap_lib_file_34_0) true)
+(expandtypeattribute (system_config_service_34_0) true)
+(expandtypeattribute (system_data_file_34_0) true)
+(expandtypeattribute (system_data_root_file_34_0) true)
+(expandtypeattribute (system_dlkm_file_34_0) true)
+(expandtypeattribute (system_event_log_tags_file_34_0) true)
+(expandtypeattribute (system_file_34_0) true)
+(expandtypeattribute (system_group_file_34_0) true)
+(expandtypeattribute (system_jvmti_agent_prop_34_0) true)
+(expandtypeattribute (system_lib_file_34_0) true)
+(expandtypeattribute (system_linker_config_file_34_0) true)
+(expandtypeattribute (system_linker_exec_34_0) true)
+(expandtypeattribute (system_lmk_prop_34_0) true)
+(expandtypeattribute (system_ndebug_socket_34_0) true)
+(expandtypeattribute (system_net_netd_hwservice_34_0) true)
+(expandtypeattribute (system_net_netd_service_34_0) true)
+(expandtypeattribute (system_passwd_file_34_0) true)
+(expandtypeattribute (system_prop_34_0) true)
+(expandtypeattribute (system_seccomp_policy_file_34_0) true)
+(expandtypeattribute (system_security_cacerts_file_34_0) true)
+(expandtypeattribute (system_server_34_0) true)
+(expandtypeattribute (system_server_dumper_service_34_0) true)
+(expandtypeattribute (system_server_tmpfs_34_0) true)
+(expandtypeattribute (system_suspend_control_internal_service_34_0) true)
+(expandtypeattribute (system_suspend_control_service_34_0) true)
+(expandtypeattribute (system_suspend_hwservice_34_0) true)
+(expandtypeattribute (system_trace_prop_34_0) true)
+(expandtypeattribute (system_unsolzygote_socket_34_0) true)
+(expandtypeattribute (system_update_service_34_0) true)
+(expandtypeattribute (system_user_mode_emulation_prop_34_0) true)
+(expandtypeattribute (system_userdir_file_34_0) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_34_0) true)
+(expandtypeattribute (system_wpa_socket_34_0) true)
+(expandtypeattribute (system_zoneinfo_file_34_0) true)
+(expandtypeattribute (systemkeys_data_file_34_0) true)
+(expandtypeattribute (systemsound_config_prop_34_0) true)
+(expandtypeattribute (tare_service_34_0) true)
+(expandtypeattribute (task_profiles_api_file_34_0) true)
+(expandtypeattribute (task_profiles_file_34_0) true)
+(expandtypeattribute (task_service_34_0) true)
+(expandtypeattribute (tcpdump_exec_34_0) true)
+(expandtypeattribute (tee_34_0) true)
+(expandtypeattribute (tee_data_file_34_0) true)
+(expandtypeattribute (tee_device_34_0) true)
+(expandtypeattribute (telecom_service_34_0) true)
+(expandtypeattribute (telephony_config_prop_34_0) true)
+(expandtypeattribute (telephony_status_prop_34_0) true)
+(expandtypeattribute (test_boot_reason_prop_34_0) true)
+(expandtypeattribute (test_harness_prop_34_0) true)
+(expandtypeattribute (testharness_service_34_0) true)
+(expandtypeattribute (tethering_service_34_0) true)
+(expandtypeattribute (textclassification_service_34_0) true)
+(expandtypeattribute (textclassifier_data_file_34_0) true)
+(expandtypeattribute (textservices_service_34_0) true)
+(expandtypeattribute (texttospeech_service_34_0) true)
+(expandtypeattribute (theme_prop_34_0) true)
+(expandtypeattribute (thermal_service_34_0) true)
+(expandtypeattribute (time_prop_34_0) true)
+(expandtypeattribute (timedetector_service_34_0) true)
+(expandtypeattribute (timezone_prop_34_0) true)
+(expandtypeattribute (timezonedetector_service_34_0) true)
+(expandtypeattribute (tmpfs_34_0) true)
+(expandtypeattribute (tombstone_config_prop_34_0) true)
+(expandtypeattribute (tombstone_data_file_34_0) true)
+(expandtypeattribute (tombstone_wifi_data_file_34_0) true)
+(expandtypeattribute (tombstoned_34_0) true)
+(expandtypeattribute (tombstoned_crash_socket_34_0) true)
+(expandtypeattribute (tombstoned_exec_34_0) true)
+(expandtypeattribute (tombstoned_intercept_socket_34_0) true)
+(expandtypeattribute (tombstoned_java_trace_socket_34_0) true)
+(expandtypeattribute (toolbox_34_0) true)
+(expandtypeattribute (toolbox_exec_34_0) true)
+(expandtypeattribute (trace_data_file_34_0) true)
+(expandtypeattribute (traced_34_0) true)
+(expandtypeattribute (traced_consumer_socket_34_0) true)
+(expandtypeattribute (traced_enabled_prop_34_0) true)
+(expandtypeattribute (traced_lazy_prop_34_0) true)
+(expandtypeattribute (traced_oome_heap_session_count_prop_34_0) true)
+(expandtypeattribute (traced_perf_34_0) true)
+(expandtypeattribute (traced_perf_socket_34_0) true)
+(expandtypeattribute (traced_probes_34_0) true)
+(expandtypeattribute (traced_producer_socket_34_0) true)
+(expandtypeattribute (traced_tmpfs_34_0) true)
+(expandtypeattribute (traceur_app_34_0) true)
+(expandtypeattribute (translation_service_34_0) true)
+(expandtypeattribute (trust_service_34_0) true)
+(expandtypeattribute (tty_device_34_0) true)
+(expandtypeattribute (tun_device_34_0) true)
+(expandtypeattribute (tuner_config_prop_34_0) true)
+(expandtypeattribute (tv_iapp_service_34_0) true)
+(expandtypeattribute (tv_input_service_34_0) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_34_0) true)
+(expandtypeattribute (ublk_block_device_34_0) true)
+(expandtypeattribute (ublk_control_device_34_0) true)
+(expandtypeattribute (ueventd_34_0) true)
+(expandtypeattribute (ueventd_tmpfs_34_0) true)
+(expandtypeattribute (uhid_device_34_0) true)
+(expandtypeattribute (uimode_service_34_0) true)
+(expandtypeattribute (uio_device_34_0) true)
+(expandtypeattribute (uncrypt_34_0) true)
+(expandtypeattribute (uncrypt_exec_34_0) true)
+(expandtypeattribute (uncrypt_socket_34_0) true)
+(expandtypeattribute (unencrypted_data_file_34_0) true)
+(expandtypeattribute (unlabeled_34_0) true)
+(expandtypeattribute (untrusted_app_25_34_0) true)
+(expandtypeattribute (untrusted_app_27_34_0) true)
+(expandtypeattribute (untrusted_app_29_34_0) true)
+(expandtypeattribute (untrusted_app_30_34_0) true)
+(expandtypeattribute (untrusted_app_32_34_0) true)
+(expandtypeattribute (untrusted_app_34_0) true)
+(expandtypeattribute (update_engine_34_0) true)
+(expandtypeattribute (update_engine_data_file_34_0) true)
+(expandtypeattribute (update_engine_exec_34_0) true)
+(expandtypeattribute (update_engine_log_data_file_34_0) true)
+(expandtypeattribute (update_engine_service_34_0) true)
+(expandtypeattribute (update_engine_stable_service_34_0) true)
+(expandtypeattribute (update_verifier_34_0) true)
+(expandtypeattribute (update_verifier_exec_34_0) true)
+(expandtypeattribute (updatelock_service_34_0) true)
+(expandtypeattribute (uri_grants_service_34_0) true)
+(expandtypeattribute (usagestats_service_34_0) true)
+(expandtypeattribute (usb_config_prop_34_0) true)
+(expandtypeattribute (usb_control_prop_34_0) true)
+(expandtypeattribute (usb_device_34_0) true)
+(expandtypeattribute (usb_prop_34_0) true)
+(expandtypeattribute (usb_serial_device_34_0) true)
+(expandtypeattribute (usb_service_34_0) true)
+(expandtypeattribute (usb_uvc_enabled_prop_34_0) true)
+(expandtypeattribute (usbaccessory_device_34_0) true)
+(expandtypeattribute (usbd_34_0) true)
+(expandtypeattribute (usbd_exec_34_0) true)
+(expandtypeattribute (usbfs_34_0) true)
+(expandtypeattribute (use_memfd_prop_34_0) true)
+(expandtypeattribute (user_profile_data_file_34_0) true)
+(expandtypeattribute (user_profile_root_file_34_0) true)
+(expandtypeattribute (user_service_34_0) true)
+(expandtypeattribute (userdata_block_device_34_0) true)
+(expandtypeattribute (userdata_sysdev_34_0) true)
+(expandtypeattribute (userdebug_or_eng_prop_34_0) true)
+(expandtypeattribute (usermodehelper_34_0) true)
+(expandtypeattribute (userspace_reboot_config_prop_34_0) true)
+(expandtypeattribute (userspace_reboot_exported_prop_34_0) true)
+(expandtypeattribute (userspace_reboot_metadata_file_34_0) true)
+(expandtypeattribute (uwb_service_34_0) true)
+(expandtypeattribute (vcn_management_service_34_0) true)
+(expandtypeattribute (vd_device_34_0) true)
+(expandtypeattribute (vdc_34_0) true)
+(expandtypeattribute (vdc_exec_34_0) true)
+(expandtypeattribute (vehicle_hal_prop_34_0) true)
+(expandtypeattribute (vendor_apex_file_34_0) true)
+(expandtypeattribute (vendor_app_file_34_0) true)
+(expandtypeattribute (vendor_cgroup_desc_file_34_0) true)
+(expandtypeattribute (vendor_configs_file_34_0) true)
+(expandtypeattribute (vendor_data_file_34_0) true)
+(expandtypeattribute (vendor_default_prop_34_0) true)
+(expandtypeattribute (vendor_file_34_0) true)
+(expandtypeattribute (vendor_framework_file_34_0) true)
+(expandtypeattribute (vendor_hal_file_34_0) true)
+(expandtypeattribute (vendor_idc_file_34_0) true)
+(expandtypeattribute (vendor_init_34_0) true)
+(expandtypeattribute (vendor_kernel_modules_34_0) true)
+(expandtypeattribute (vendor_keychars_file_34_0) true)
+(expandtypeattribute (vendor_keylayout_file_34_0) true)
+(expandtypeattribute (vendor_misc_writer_34_0) true)
+(expandtypeattribute (vendor_misc_writer_exec_34_0) true)
+(expandtypeattribute (vendor_modprobe_34_0) true)
+(expandtypeattribute (vendor_overlay_file_34_0) true)
+(expandtypeattribute (vendor_public_framework_file_34_0) true)
+(expandtypeattribute (vendor_public_lib_file_34_0) true)
+(expandtypeattribute (vendor_security_patch_level_prop_34_0) true)
+(expandtypeattribute (vendor_service_contexts_file_34_0) true)
+(expandtypeattribute (vendor_shell_34_0) true)
+(expandtypeattribute (vendor_shell_exec_34_0) true)
+(expandtypeattribute (vendor_socket_hook_prop_34_0) true)
+(expandtypeattribute (vendor_task_profiles_file_34_0) true)
+(expandtypeattribute (vendor_toolbox_exec_34_0) true)
+(expandtypeattribute (vendor_userdir_file_34_0) true)
+(expandtypeattribute (vendor_uuid_mapping_config_file_34_0) true)
+(expandtypeattribute (vendor_vm_data_file_34_0) true)
+(expandtypeattribute (vendor_vm_file_34_0) true)
+(expandtypeattribute (vfat_34_0) true)
+(expandtypeattribute (vibrator_manager_service_34_0) true)
+(expandtypeattribute (vibrator_service_34_0) true)
+(expandtypeattribute (video_device_34_0) true)
+(expandtypeattribute (virtual_ab_prop_34_0) true)
+(expandtypeattribute (virtual_device_service_34_0) true)
+(expandtypeattribute (virtual_face_hal_prop_34_0) true)
+(expandtypeattribute (virtual_fingerprint_hal_prop_34_0) true)
+(expandtypeattribute (virtual_touchpad_34_0) true)
+(expandtypeattribute (virtual_touchpad_exec_34_0) true)
+(expandtypeattribute (virtual_touchpad_service_34_0) true)
+(expandtypeattribute (virtualization_service_34_0) true)
+(expandtypeattribute (vndbinder_device_34_0) true)
+(expandtypeattribute (vndk_prop_34_0) true)
+(expandtypeattribute (vndk_sp_file_34_0) true)
+(expandtypeattribute (vndservice_contexts_file_34_0) true)
+(expandtypeattribute (vndservicemanager_34_0) true)
+(expandtypeattribute (voiceinteraction_service_34_0) true)
+(expandtypeattribute (vold_34_0) true)
+(expandtypeattribute (vold_config_prop_34_0) true)
+(expandtypeattribute (vold_data_file_34_0) true)
+(expandtypeattribute (vold_device_34_0) true)
+(expandtypeattribute (vold_exec_34_0) true)
+(expandtypeattribute (vold_metadata_file_34_0) true)
+(expandtypeattribute (vold_post_fs_data_prop_34_0) true)
+(expandtypeattribute (vold_prepare_subdirs_34_0) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_34_0) true)
+(expandtypeattribute (vold_prop_34_0) true)
+(expandtypeattribute (vold_service_34_0) true)
+(expandtypeattribute (vold_status_prop_34_0) true)
+(expandtypeattribute (vpn_data_file_34_0) true)
+(expandtypeattribute (vpn_management_service_34_0) true)
+(expandtypeattribute (vr_hwc_service_34_0) true)
+(expandtypeattribute (vr_manager_service_34_0) true)
+(expandtypeattribute (vrflinger_vsync_service_34_0) true)
+(expandtypeattribute (vts_config_prop_34_0) true)
+(expandtypeattribute (vts_status_prop_34_0) true)
+(expandtypeattribute (wallpaper_effects_generation_service_34_0) true)
+(expandtypeattribute (wallpaper_file_34_0) true)
+(expandtypeattribute (wallpaper_service_34_0) true)
+(expandtypeattribute (watchdog_device_34_0) true)
+(expandtypeattribute (watchdog_metadata_file_34_0) true)
+(expandtypeattribute (watchdogd_34_0) true)
+(expandtypeattribute (watchdogd_exec_34_0) true)
+(expandtypeattribute (webview_zygote_34_0) true)
+(expandtypeattribute (webview_zygote_exec_34_0) true)
+(expandtypeattribute (webview_zygote_tmpfs_34_0) true)
+(expandtypeattribute (webviewupdate_service_34_0) true)
+(expandtypeattribute (wifi_config_prop_34_0) true)
+(expandtypeattribute (wifi_data_file_34_0) true)
+(expandtypeattribute (wifi_hal_prop_34_0) true)
+(expandtypeattribute (wifi_key_34_0) true)
+(expandtypeattribute (wifi_log_prop_34_0) true)
+(expandtypeattribute (wifi_prop_34_0) true)
+(expandtypeattribute (wifi_service_34_0) true)
+(expandtypeattribute (wifiaware_service_34_0) true)
+(expandtypeattribute (wificond_34_0) true)
+(expandtypeattribute (wificond_exec_34_0) true)
+(expandtypeattribute (wifinl80211_service_34_0) true)
+(expandtypeattribute (wifip2p_service_34_0) true)
+(expandtypeattribute (wifiscanner_service_34_0) true)
+(expandtypeattribute (window_service_34_0) true)
+(expandtypeattribute (wpa_socket_34_0) true)
+(expandtypeattribute (zero_device_34_0) true)
+(expandtypeattribute (zoned_block_device_34_0) true)
+(expandtypeattribute (zram_config_prop_34_0) true)
+(expandtypeattribute (zram_control_prop_34_0) true)
+(expandtypeattribute (zygote_34_0) true)
+(expandtypeattribute (zygote_config_prop_34_0) true)
+(expandtypeattribute (zygote_exec_34_0) true)
+(expandtypeattribute (zygote_socket_34_0) true)
+(expandtypeattribute (zygote_tmpfs_34_0) true)
+(typeattributeset DockObserver_service_34_0 (DockObserver_service))
+(typeattributeset IProxyService_service_34_0 (IProxyService_service))
+(typeattributeset aac_drc_prop_34_0 (aac_drc_prop))
+(typeattributeset aaudio_config_prop_34_0 (aaudio_config_prop))
+(typeattributeset ab_update_gki_prop_34_0 (ab_update_gki_prop))
+(typeattributeset accessibility_service_34_0 (accessibility_service))
+(typeattributeset account_service_34_0 (account_service))
+(typeattributeset activity_service_34_0 (activity_service))
+(typeattributeset activity_task_service_34_0 (activity_task_service))
+(typeattributeset adaptive_haptics_prop_34_0 (adaptive_haptics_prop))
+(typeattributeset adb_data_file_34_0 (adb_data_file))
+(typeattributeset adb_keys_file_34_0 (adb_keys_file))
+(typeattributeset adb_service_34_0 (adb_service))
+(typeattributeset adbd_34_0 (adbd))
+(typeattributeset adbd_config_prop_34_0 (adbd_config_prop))
+(typeattributeset adbd_exec_34_0 (adbd_exec))
+(typeattributeset adbd_socket_34_0 (adbd_socket))
+(typeattributeset adservices_manager_service_34_0 (adservices_manager_service))
+(typeattributeset aidl_lazy_test_server_34_0 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_34_0 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_34_0 (aidl_lazy_test_service))
+(typeattributeset alarm_service_34_0 (alarm_service))
+(typeattributeset anr_data_file_34_0 (anr_data_file))
+(typeattributeset apc_service_34_0 (apc_service))
+(typeattributeset apex_data_file_34_0 (apex_data_file))
+(typeattributeset apex_info_file_34_0 (apex_info_file))
+(typeattributeset apex_metadata_file_34_0 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_34_0 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_34_0 (apex_module_data_file))
+(typeattributeset apex_ota_reserved_file_34_0 (apex_ota_reserved_file))
+(typeattributeset apex_ready_prop_34_0 (apex_ready_prop))
+(typeattributeset apex_rollback_data_file_34_0 (apex_rollback_data_file))
+(typeattributeset apex_service_34_0 (apex_service))
+(typeattributeset apex_system_server_data_file_34_0 (apex_system_server_data_file))
+(typeattributeset apexd_34_0 (apexd))
+(typeattributeset apexd_config_prop_34_0 (apexd_config_prop))
+(typeattributeset apexd_exec_34_0 (apexd_exec))
+(typeattributeset apexd_prop_34_0 (apexd_prop))
+(typeattributeset apexd_select_prop_34_0 (apexd_select_prop))
+(typeattributeset apk_data_file_34_0 (apk_data_file))
+(typeattributeset apk_private_data_file_34_0 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_34_0 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_34_0 (apk_tmp_file))
+(typeattributeset apk_verity_prop_34_0 (apk_verity_prop))
+(typeattributeset app_binding_service_34_0 (app_binding_service))
+(typeattributeset app_data_file_34_0 (app_data_file))
+(typeattributeset app_fuse_file_34_0 (app_fuse_file))
+(typeattributeset app_fusefs_34_0 (app_fusefs))
+(typeattributeset app_hibernation_service_34_0 (app_hibernation_service))
+(typeattributeset app_integrity_service_34_0 (app_integrity_service))
+(typeattributeset app_prediction_service_34_0 (app_prediction_service))
+(typeattributeset app_search_service_34_0 (app_search_service))
+(typeattributeset app_zygote_34_0 (app_zygote))
+(typeattributeset app_zygote_tmpfs_34_0 (app_zygote_tmpfs))
+(typeattributeset appcompat_data_file_34_0 (appcompat_data_file))
+(typeattributeset appdomain_tmpfs_34_0 (appdomain_tmpfs))
+(typeattributeset appops_service_34_0 (appops_service))
+(typeattributeset appwidget_service_34_0 (appwidget_service))
+(typeattributeset arm64_memtag_prop_34_0 (arm64_memtag_prop))
+(typeattributeset art_apex_dir_34_0 (art_apex_dir))
+(typeattributeset artd_34_0 (artd))
+(typeattributeset artd_service_34_0 (artd_service))
+(typeattributeset asec_apk_file_34_0 (asec_apk_file))
+(typeattributeset asec_image_file_34_0 (asec_image_file))
+(typeattributeset asec_public_file_34_0 (asec_public_file))
+(typeattributeset ashmem_device_34_0 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_34_0 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_34_0 (assetatlas_service))
+(typeattributeset atrace_34_0 (atrace))
+(typeattributeset attestation_verification_service_34_0 (attestation_verification_service))
+(typeattributeset audio_config_prop_34_0 (audio_config_prop))
+(typeattributeset audio_data_file_34_0 (audio_data_file))
+(typeattributeset audio_device_34_0 (audio_device))
+(typeattributeset audio_prop_34_0 (audio_prop))
+(typeattributeset audio_service_34_0 (audio_service))
+(typeattributeset audiohal_data_file_34_0 (audiohal_data_file))
+(typeattributeset audioserver_34_0 (audioserver))
+(typeattributeset audioserver_data_file_34_0 (audioserver_data_file))
+(typeattributeset audioserver_service_34_0 (audioserver_service))
+(typeattributeset audioserver_tmpfs_34_0 (audioserver_tmpfs))
+(typeattributeset auth_service_34_0 (auth_service))
+(typeattributeset authorization_service_34_0 (authorization_service))
+(typeattributeset autofill_service_34_0 (autofill_service))
+(typeattributeset backup_data_file_34_0 (backup_data_file))
+(typeattributeset backup_service_34_0 (backup_service))
+(typeattributeset battery_service_34_0 (battery_service))
+(typeattributeset batteryproperties_service_34_0 (batteryproperties_service))
+(typeattributeset batterystats_service_34_0 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_34_0 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_34_0 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_34_0 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_34_0 (binder_calls_stats_service))
+(typeattributeset binder_device_34_0 (binder_device))
+(typeattributeset binderfs_34_0 (binderfs))
+(typeattributeset binderfs_features_34_0 (binderfs_features))
+(typeattributeset binderfs_logs_34_0 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_34_0 (binderfs_logs_proc))
+(typeattributeset binfmt_miscfs_34_0 (binfmt_miscfs))
+(typeattributeset biometric_service_34_0 (biometric_service))
+(typeattributeset blkid_34_0 (blkid))
+(typeattributeset blkid_untrusted_34_0 (blkid_untrusted))
+(typeattributeset blob_store_service_34_0 (blob_store_service))
+(typeattributeset block_device_34_0 (block_device))
+(typeattributeset bluetooth_34_0 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_34_0 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_34_0 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_config_prop_34_0 (bluetooth_config_prop))
+(typeattributeset bluetooth_data_file_34_0 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_34_0 (bluetooth_efs_file))
+(typeattributeset bluetooth_logs_data_file_34_0 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_34_0 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_34_0 (bluetooth_prop))
+(typeattributeset bluetooth_service_34_0 (bluetooth_service))
+(typeattributeset bluetooth_socket_34_0 (bluetooth_socket))
+(typeattributeset boot_block_device_34_0 (boot_block_device))
+(typeattributeset boot_status_prop_34_0 (boot_status_prop))
+(typeattributeset bootanim_34_0 (bootanim))
+(typeattributeset bootanim_config_prop_34_0 (bootanim_config_prop))
+(typeattributeset bootanim_exec_34_0 (bootanim_exec))
+(typeattributeset bootanim_system_prop_34_0 (bootanim_system_prop))
+(typeattributeset bootchart_data_file_34_0 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_34_0 (bootloader_boot_reason_prop))
+(typeattributeset bootloader_prop_34_0 (bootloader_prop))
+(typeattributeset bootstat_34_0 (bootstat))
+(typeattributeset bootstat_data_file_34_0 (bootstat_data_file))
+(typeattributeset bootstat_exec_34_0 (bootstat_exec))
+(typeattributeset boottime_prop_34_0 (boottime_prop))
+(typeattributeset boottime_public_prop_34_0 (boottime_public_prop))
+(typeattributeset boottrace_data_file_34_0 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_34_0 (bpf_progs_loaded_prop))
+(typeattributeset bpfloader_34_0 (bpfloader))
+(typeattributeset bq_config_prop_34_0 (bq_config_prop))
+(typeattributeset broadcastradio_service_34_0 (broadcastradio_service))
+(typeattributeset bt_device_34_0 (bt_device))
+(typeattributeset bufferhubd_34_0 (bufferhubd))
+(typeattributeset bufferhubd_exec_34_0 (bufferhubd_exec))
+(typeattributeset bugreport_service_34_0 (bugreport_service))
+(typeattributeset build_attestation_prop_34_0 (build_attestation_prop))
+(typeattributeset build_bootimage_prop_34_0 (build_bootimage_prop))
+(typeattributeset build_config_prop_34_0 (build_config_prop))
+(typeattributeset build_odm_prop_34_0 (build_odm_prop))
+(typeattributeset build_prop_34_0 (build_prop))
+(typeattributeset build_vendor_prop_34_0 (build_vendor_prop))
+(typeattributeset cache_backup_file_34_0 (cache_backup_file))
+(typeattributeset cache_block_device_34_0 (cache_block_device))
+(typeattributeset cache_file_34_0 (cache_file))
+(typeattributeset cache_private_backup_file_34_0 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_34_0 (cache_recovery_file))
+(typeattributeset cacheinfo_service_34_0 (cacheinfo_service))
+(typeattributeset camera2_extensions_prop_34_0 (camera2_extensions_prop))
+(typeattributeset camera_calibration_prop_34_0 (camera_calibration_prop))
+(typeattributeset camera_config_prop_34_0 (camera_config_prop))
+(typeattributeset camera_data_file_34_0 (camera_data_file))
+(typeattributeset camera_device_34_0 (camera_device))
+(typeattributeset cameraproxy_service_34_0 (cameraproxy_service))
+(typeattributeset cameraserver_34_0 (cameraserver))
+(typeattributeset cameraserver_exec_34_0 (cameraserver_exec))
+(typeattributeset cameraserver_service_34_0 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_34_0 (cameraserver_tmpfs))
+(typeattributeset camerax_extensions_prop_34_0 (camerax_extensions_prop))
+(typeattributeset cgroup_34_0 (cgroup))
+(typeattributeset cgroup_desc_api_file_34_0 (cgroup_desc_api_file))
+(typeattributeset cgroup_desc_file_34_0 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_34_0 (cgroup_rc_file))
+(typeattributeset cgroup_v2_34_0 (cgroup_v2))
+(typeattributeset charger_34_0 (charger))
+(typeattributeset charger_config_prop_34_0 (charger_config_prop))
+(typeattributeset charger_exec_34_0 (charger_exec))
+(typeattributeset charger_prop_34_0 (charger_prop))
+(typeattributeset charger_status_prop_34_0 (charger_status_prop))
+(typeattributeset charger_vendor_34_0 (charger_vendor))
+(typeattributeset clipboard_service_34_0 (clipboard_service))
+(typeattributeset cloudsearch_service_34_0 (cloudsearch_service))
+(typeattributeset codec2_config_prop_34_0 (codec2_config_prop))
+(typeattributeset cold_boot_done_prop_34_0 (cold_boot_done_prop))
+(typeattributeset color_display_service_34_0 (color_display_service))
+(typeattributeset companion_device_service_34_0 (companion_device_service))
+(typeattributeset composd_vm_art_prop_34_0 (composd_vm_art_prop))
+(typeattributeset composd_vm_vendor_prop_34_0 (composd_vm_vendor_prop))
+(typeattributeset config_prop_34_0 (config_prop))
+(typeattributeset configfs_34_0 (configfs))
+(typeattributeset connectivity_native_service_34_0 (connectivity_native_service))
+(typeattributeset connectivity_service_34_0 (connectivity_service))
+(typeattributeset connmetrics_service_34_0 (connmetrics_service))
+(typeattributeset console_device_34_0 (console_device))
+(typeattributeset consumer_ir_service_34_0 (consumer_ir_service))
+(typeattributeset content_capture_service_34_0 (content_capture_service))
+(typeattributeset content_service_34_0 (content_service))
+(typeattributeset content_suggestions_service_34_0 (content_suggestions_service))
+(typeattributeset contexthub_service_34_0 (contexthub_service))
+(typeattributeset coredump_file_34_0 (coredump_file))
+(typeattributeset country_detector_service_34_0 (country_detector_service))
+(typeattributeset coverage_service_34_0 (coverage_service))
+(typeattributeset cppreopt_prop_34_0 (cppreopt_prop))
+(typeattributeset cpu_monitor_service_34_0 (cpu_monitor_service))
+(typeattributeset cpu_variant_prop_34_0 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_34_0 (cpuinfo_service))
+(typeattributeset crash_dump_34_0 (crash_dump))
+(typeattributeset crash_dump_exec_34_0 (crash_dump_exec))
+(typeattributeset credential_service_34_0 (credential_service))
+(typeattributeset credstore_34_0 (credstore))
+(typeattributeset credstore_data_file_34_0 (credstore_data_file))
+(typeattributeset credstore_exec_34_0 (credstore_exec))
+(typeattributeset credstore_service_34_0 (credstore_service))
+(typeattributeset crossprofileapps_service_34_0 (crossprofileapps_service))
+(typeattributeset ctl_adbd_prop_34_0 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_34_0 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_34_0 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_34_0 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_34_0 (ctl_console_prop))
+(typeattributeset ctl_default_prop_34_0 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_34_0 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_34_0 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_34_0 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_34_0 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_34_0 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_34_0 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_34_0 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_34_0 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_34_0 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_34_0 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_34_0 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_34_0 (ctl_stop_prop))
+(typeattributeset dalvik_config_prop_34_0 (dalvik_config_prop))
+(typeattributeset dalvik_dynamic_config_prop_34_0 (dalvik_dynamic_config_prop))
+(typeattributeset dalvik_prop_34_0 (dalvik_prop))
+(typeattributeset dalvik_runtime_prop_34_0 (dalvik_runtime_prop))
+(typeattributeset dalvikcache_data_file_34_0 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_34_0 (dataloader_manager_service))
+(typeattributeset dbinfo_service_34_0 (dbinfo_service))
+(typeattributeset dck_prop_34_0 (dck_prop))
+(typeattributeset debug_prop_34_0 (debug_prop))
+(typeattributeset debugfs_34_0 (debugfs))
+(typeattributeset debugfs_bootreceiver_tracing_34_0 (debugfs_bootreceiver_tracing))
+(typeattributeset debugfs_kprobes_34_0 (debugfs_kprobes))
+(typeattributeset debugfs_mm_events_tracing_34_0 (debugfs_mm_events_tracing))
+(typeattributeset debugfs_mmc_34_0 (debugfs_mmc))
+(typeattributeset debugfs_restriction_prop_34_0 (debugfs_restriction_prop))
+(typeattributeset debugfs_trace_marker_34_0 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_34_0 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_34_0 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_34_0 (debugfs_tracing_instances))
+(typeattributeset debugfs_tracing_printk_formats_34_0 (debugfs_tracing_printk_formats))
+(typeattributeset debugfs_wakeup_sources_34_0 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_34_0 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_34_0 (debuggerd_prop))
+(typeattributeset default_android_hwservice_34_0 (default_android_hwservice))
+(typeattributeset default_android_service_34_0 (default_android_service))
+(typeattributeset default_android_vndservice_34_0 (default_android_vndservice))
+(typeattributeset default_prop_34_0 (default_prop))
+(typeattributeset dev_cpu_variant_34_0 (dev_cpu_variant))
+(typeattributeset device_34_0 (device vfio_device))
+(typeattributeset device_config_activity_manager_native_boot_prop_34_0 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_34_0 (device_config_boot_count_prop))
+(typeattributeset device_config_camera_native_prop_34_0 (device_config_camera_native_prop))
+(typeattributeset device_config_edgetpu_native_prop_34_0 (device_config_edgetpu_native_prop))
+(typeattributeset device_config_input_native_boot_prop_34_0 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_34_0 (device_config_media_native_prop))
+(typeattributeset device_config_memory_safety_native_boot_prop_34_0 (device_config_memory_safety_native_boot_prop))
+(typeattributeset device_config_memory_safety_native_prop_34_0 (device_config_memory_safety_native_prop))
+(typeattributeset device_config_netd_native_prop_34_0 (device_config_netd_native_prop))
+(typeattributeset device_config_nnapi_native_prop_34_0 (device_config_nnapi_native_prop))
+(typeattributeset device_config_reset_performed_prop_34_0 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_34_0 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_34_0 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_34_0 (device_config_service))
+(typeattributeset device_config_surface_flinger_native_boot_prop_34_0 (device_config_surface_flinger_native_boot_prop))
+(typeattributeset device_config_updatable_service_34_0 (device_config_updatable_service))
+(typeattributeset device_config_vendor_system_native_boot_prop_34_0 (device_config_vendor_system_native_boot_prop))
+(typeattributeset device_config_vendor_system_native_prop_34_0 (device_config_vendor_system_native_prop))
+(typeattributeset device_identifiers_service_34_0 (device_identifiers_service))
+(typeattributeset device_logging_prop_34_0 (device_logging_prop))
+(typeattributeset device_policy_service_34_0 (device_policy_service))
+(typeattributeset device_state_service_34_0 (device_state_service))
+(typeattributeset deviceidle_service_34_0 (deviceidle_service))
+(typeattributeset devicelock_service_34_0 (devicelock_service))
+(typeattributeset devicestoragemonitor_service_34_0 (devicestoragemonitor_service))
+(typeattributeset devpts_34_0 (devpts))
+(typeattributeset dhcp_34_0 (dhcp))
+(typeattributeset dhcp_data_file_34_0 (dhcp_data_file))
+(typeattributeset dhcp_exec_34_0 (dhcp_exec))
+(typeattributeset dhcp_prop_34_0 (dhcp_prop))
+(typeattributeset diskstats_service_34_0 (diskstats_service))
+(typeattributeset display_service_34_0 (display_service))
+(typeattributeset dm_device_34_0 (dm_device))
+(typeattributeset dm_user_device_34_0 (dm_user_device))
+(typeattributeset dmabuf_heap_device_34_0 (dmabuf_heap_device))
+(typeattributeset dmabuf_system_heap_device_34_0 (dmabuf_system_heap_device))
+(typeattributeset dmabuf_system_secure_heap_device_34_0 (dmabuf_system_secure_heap_device))
+(typeattributeset dnsmasq_34_0 (dnsmasq))
+(typeattributeset dnsmasq_exec_34_0 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_34_0 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_34_0 (dnsresolver_service))
+(typeattributeset domain_verification_service_34_0 (domain_verification_service))
+(typeattributeset dreams_service_34_0 (dreams_service))
+(typeattributeset drm_data_file_34_0 (drm_data_file))
+(typeattributeset drm_service_config_prop_34_0 (drm_service_config_prop))
+(typeattributeset drmserver_34_0 (drmserver))
+(typeattributeset drmserver_exec_34_0 (drmserver_exec))
+(typeattributeset drmserver_service_34_0 (drmserver_service))
+(typeattributeset drmserver_socket_34_0 (drmserver_socket))
+(typeattributeset dropbox_data_file_34_0 (dropbox_data_file))
+(typeattributeset dropbox_service_34_0 (dropbox_service))
+(typeattributeset dumpstate_34_0 (dumpstate))
+(typeattributeset dumpstate_exec_34_0 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_34_0 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_34_0 (dumpstate_prop))
+(typeattributeset dumpstate_service_34_0 (dumpstate_service))
+(typeattributeset dumpstate_socket_34_0 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_34_0 (dynamic_system_prop))
+(typeattributeset e2fs_34_0 (e2fs))
+(typeattributeset e2fs_exec_34_0 (e2fs_exec))
+(typeattributeset efs_file_34_0 (efs_file))
+(typeattributeset emergency_affordance_service_34_0 (emergency_affordance_service))
+(typeattributeset ephemeral_app_34_0 (ephemeral_app))
+(typeattributeset ethernet_service_34_0 (ethernet_service))
+(typeattributeset evsmanagerd_34_0 (evsmanagerd))
+(typeattributeset evsmanagerd_service_34_0 (evsmanagerd_service))
+(typeattributeset exfat_34_0 (exfat))
+(typeattributeset exported3_system_prop_34_0 (exported3_system_prop))
+(typeattributeset exported_bluetooth_prop_34_0 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_34_0 (exported_camera_prop))
+(typeattributeset exported_config_prop_34_0 (exported_config_prop))
+(typeattributeset exported_default_prop_34_0 (exported_default_prop))
+(typeattributeset exported_dumpstate_prop_34_0 (exported_dumpstate_prop))
+(typeattributeset exported_overlay_prop_34_0 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_34_0 (exported_pm_prop))
+(typeattributeset exported_secure_prop_34_0 (exported_secure_prop))
+(typeattributeset exported_system_prop_34_0 (exported_system_prop))
+(typeattributeset external_vibrator_service_34_0 (external_vibrator_service))
+(typeattributeset extra_free_kbytes_34_0 (extra_free_kbytes))
+(typeattributeset extra_free_kbytes_exec_34_0 (extra_free_kbytes_exec))
+(typeattributeset face_service_34_0 (face_service))
+(typeattributeset face_vendor_data_file_34_0 (face_vendor_data_file))
+(typeattributeset fastbootd_34_0 (fastbootd))
+(typeattributeset ffs_config_prop_34_0 (ffs_config_prop))
+(typeattributeset ffs_control_prop_34_0 (ffs_control_prop))
+(typeattributeset file_contexts_file_34_0 (file_contexts_file))
+(typeattributeset file_integrity_service_34_0 (file_integrity_service))
+(typeattributeset fingerprint_prop_34_0 (fingerprint_prop))
+(typeattributeset fingerprint_service_34_0 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_34_0 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_34_0 (fingerprintd))
+(typeattributeset fingerprintd_data_file_34_0 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_34_0 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_34_0 (fingerprintd_service))
+(typeattributeset firstboot_prop_34_0 (firstboot_prop))
+(typeattributeset flags_health_check_34_0 (flags_health_check))
+(typeattributeset flags_health_check_exec_34_0 (flags_health_check_exec))
+(typeattributeset font_service_34_0 (font_service))
+(typeattributeset framework_status_prop_34_0 (framework_status_prop))
+(typeattributeset framework_watchdog_config_prop_34_0 (framework_watchdog_config_prop))
+(typeattributeset frp_block_device_34_0 (frp_block_device))
+(typeattributeset fs_bpf_34_0 (fs_bpf))
+(typeattributeset fs_bpf_tethering_34_0 (fs_bpf_tethering))
+(typeattributeset fs_bpf_vendor_34_0 (fs_bpf_vendor))
+(typeattributeset fsck_34_0 (fsck))
+(typeattributeset fsck_exec_34_0 (fsck_exec))
+(typeattributeset fsck_untrusted_34_0 (fsck_untrusted))
+(typeattributeset fscklogs_34_0 (fscklogs))
+(typeattributeset functionfs_34_0 (functionfs))
+(typeattributeset fuse_34_0 (fuse))
+(typeattributeset fuse_device_34_0 (fuse_device))
+(typeattributeset fuseblk_34_0 (fuseblk))
+(typeattributeset fusectlfs_34_0 (fusectlfs))
+(typeattributeset future_pm_prop_34_0 (future_pm_prop))
+(typeattributeset fwk_altitude_service_34_0 (fwk_altitude_service))
+(typeattributeset fwk_automotive_display_hwservice_34_0 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_automotive_display_service_34_0 (fwk_automotive_display_service))
+(typeattributeset fwk_bufferhub_hwservice_34_0 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_34_0 (fwk_camera_hwservice))
+(typeattributeset fwk_camera_service_34_0 (fwk_camera_service))
+(typeattributeset fwk_display_hwservice_34_0 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_34_0 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_34_0 (fwk_sensor_hwservice))
+(typeattributeset fwk_sensor_service_34_0 (fwk_sensor_service))
+(typeattributeset fwk_stats_hwservice_34_0 (fwk_stats_hwservice))
+(typeattributeset fwk_stats_service_34_0 (fwk_stats_service))
+(typeattributeset fwmarkd_socket_34_0 (fwmarkd_socket))
+(typeattributeset game_mode_intervention_list_file_34_0 (game_mode_intervention_list_file))
+(typeattributeset game_service_34_0 (game_service))
+(typeattributeset gatekeeper_data_file_34_0 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_34_0 (gatekeeper_service))
+(typeattributeset gatekeeperd_34_0 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_34_0 (gatekeeperd_exec))
+(typeattributeset gesture_prop_34_0 (gesture_prop))
+(typeattributeset gfxinfo_service_34_0 (gfxinfo_service))
+(typeattributeset gmscore_app_34_0 (gmscore_app))
+(typeattributeset gnss_device_34_0 (gnss_device))
+(typeattributeset gnss_time_update_service_34_0 (gnss_time_update_service))
+(typeattributeset gps_control_34_0 (gps_control))
+(typeattributeset gpu_device_34_0 (gpu_device))
+(typeattributeset gpu_service_34_0 (gpu_service))
+(typeattributeset gpuservice_34_0 (gpuservice))
+(typeattributeset grammatical_inflection_service_34_0 (grammatical_inflection_service))
+(typeattributeset graphics_config_prop_34_0 (graphics_config_prop))
+(typeattributeset graphics_config_writable_prop_34_0 (graphics_config_writable_prop))
+(typeattributeset graphics_device_34_0 (graphics_device))
+(typeattributeset graphicsstats_service_34_0 (graphicsstats_service))
+(typeattributeset gsi_data_file_34_0 (gsi_data_file))
+(typeattributeset gsi_metadata_file_34_0 (gsi_metadata_file))
+(typeattributeset gsi_public_metadata_file_34_0 (gsi_public_metadata_file))
+(typeattributeset gwp_asan_prop_34_0 (gwp_asan_prop))
+(typeattributeset hal_atrace_hwservice_34_0 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_34_0 (hal_audio_hwservice))
+(typeattributeset hal_audio_service_34_0 (hal_audio_service))
+(typeattributeset hal_audiocontrol_hwservice_34_0 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audiocontrol_service_34_0 (hal_audiocontrol_service))
+(typeattributeset hal_authsecret_hwservice_34_0 (hal_authsecret_hwservice))
+(typeattributeset hal_authsecret_service_34_0 (hal_authsecret_service))
+(typeattributeset hal_bluetooth_hwservice_34_0 (hal_bluetooth_hwservice))
+(typeattributeset hal_bluetooth_service_34_0 (hal_bluetooth_service))
+(typeattributeset hal_bootctl_hwservice_34_0 (hal_bootctl_hwservice))
+(typeattributeset hal_bootctl_service_34_0 (hal_bootctl_service))
+(typeattributeset hal_broadcastradio_hwservice_34_0 (hal_broadcastradio_hwservice))
+(typeattributeset hal_broadcastradio_service_34_0 (hal_broadcastradio_service))
+(typeattributeset hal_camera_hwservice_34_0 (hal_camera_hwservice))
+(typeattributeset hal_camera_service_34_0 (hal_camera_service))
+(typeattributeset hal_can_bus_hwservice_34_0 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_34_0 (hal_can_controller_hwservice))
+(typeattributeset hal_can_controller_service_34_0 (hal_can_controller_service))
+(typeattributeset hal_cas_hwservice_34_0 (hal_cas_hwservice))
+(typeattributeset hal_cas_service_34_0 (hal_cas_service))
+(typeattributeset hal_codec2_hwservice_34_0 (hal_codec2_hwservice))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_34_0 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_34_0 (hal_confirmationui_hwservice))
+(typeattributeset hal_confirmationui_service_34_0 (hal_confirmationui_service))
+(typeattributeset hal_contexthub_hwservice_34_0 (hal_contexthub_hwservice))
+(typeattributeset hal_contexthub_service_34_0 (hal_contexthub_service))
+(typeattributeset hal_drm_hwservice_34_0 (hal_drm_hwservice))
+(typeattributeset hal_drm_service_34_0 (hal_drm_service))
+(typeattributeset hal_dumpstate_config_prop_34_0 (hal_dumpstate_config_prop))
+(typeattributeset hal_dumpstate_hwservice_34_0 (hal_dumpstate_hwservice))
+(typeattributeset hal_dumpstate_service_34_0 (hal_dumpstate_service))
+(typeattributeset hal_evs_hwservice_34_0 (hal_evs_hwservice))
+(typeattributeset hal_evs_service_34_0 (hal_evs_service))
+(typeattributeset hal_face_hwservice_34_0 (hal_face_hwservice))
+(typeattributeset hal_face_service_34_0 (hal_face_service))
+(typeattributeset hal_fastboot_service_34_0 (hal_fastboot_service))
+(typeattributeset hal_fingerprint_hwservice_34_0 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_34_0 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_34_0 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gatekeeper_service_34_0 (hal_gatekeeper_service))
+(typeattributeset hal_gnss_hwservice_34_0 (hal_gnss_hwservice))
+(typeattributeset hal_gnss_service_34_0 (hal_gnss_service))
+(typeattributeset hal_graphics_allocator_hwservice_34_0 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_allocator_service_34_0 (hal_graphics_allocator_service))
+(typeattributeset hal_graphics_composer_hwservice_34_0 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_34_0 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_composer_service_34_0 (hal_graphics_composer_service))
+(typeattributeset hal_graphics_mapper_hwservice_34_0 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_health_hwservice_34_0 (hal_health_hwservice))
+(typeattributeset hal_health_service_34_0 (hal_health_service))
+(typeattributeset hal_health_storage_hwservice_34_0 (hal_health_storage_hwservice))
+(typeattributeset hal_health_storage_service_34_0 (hal_health_storage_service))
+(typeattributeset hal_identity_service_34_0 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_34_0 (hal_input_classifier_hwservice))
+(typeattributeset hal_input_processor_service_34_0 (hal_input_processor_service))
+(typeattributeset hal_instrumentation_prop_34_0 (hal_instrumentation_prop))
+(typeattributeset hal_ir_hwservice_34_0 (hal_ir_hwservice))
+(typeattributeset hal_ir_service_34_0 (hal_ir_service))
+(typeattributeset hal_ivn_service_34_0 (hal_ivn_service))
+(typeattributeset hal_keymaster_hwservice_34_0 (hal_keymaster_hwservice))
+(typeattributeset hal_keymint_service_34_0 (hal_keymint_service))
+(typeattributeset hal_light_hwservice_34_0 (hal_light_hwservice))
+(typeattributeset hal_light_service_34_0 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_34_0 (hal_lowpan_hwservice))
+(typeattributeset hal_memtrack_hwservice_34_0 (hal_memtrack_hwservice))
+(typeattributeset hal_memtrack_service_34_0 (hal_memtrack_service))
+(typeattributeset hal_neuralnetworks_hwservice_34_0 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_neuralnetworks_service_34_0 (hal_neuralnetworks_service))
+(typeattributeset hal_nfc_hwservice_34_0 (hal_nfc_hwservice))
+(typeattributeset hal_nfc_service_34_0 (hal_nfc_service))
+(typeattributeset hal_nlinterceptor_service_34_0 (hal_nlinterceptor_service))
+(typeattributeset hal_oemlock_hwservice_34_0 (hal_oemlock_hwservice))
+(typeattributeset hal_oemlock_service_34_0 (hal_oemlock_service))
+(typeattributeset hal_omx_hwservice_34_0 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_34_0 (hal_power_hwservice))
+(typeattributeset hal_power_service_34_0 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_34_0 (hal_power_stats_hwservice))
+(typeattributeset hal_power_stats_service_34_0 (hal_power_stats_service))
+(typeattributeset hal_radio_service_34_0 (hal_radio_service))
+(typeattributeset hal_rebootescrow_service_34_0 (hal_rebootescrow_service))
+(typeattributeset hal_remoteaccess_service_34_0 (hal_remoteaccess_service))
+(typeattributeset hal_remotelyprovisionedcomponent_service_34_0 (hal_remotelyprovisionedcomponent_service))
+(typeattributeset hal_renderscript_hwservice_34_0 (hal_renderscript_hwservice))
+(typeattributeset hal_secure_element_hwservice_34_0 (hal_secure_element_hwservice))
+(typeattributeset hal_secure_element_service_34_0 (hal_secure_element_service))
+(typeattributeset hal_secureclock_service_34_0 (hal_secureclock_service))
+(typeattributeset hal_sensors_hwservice_34_0 (hal_sensors_hwservice))
+(typeattributeset hal_sensors_service_34_0 (hal_sensors_service))
+(typeattributeset hal_sharedsecret_service_34_0 (hal_sharedsecret_service))
+(typeattributeset hal_system_suspend_service_34_0 (hal_system_suspend_service))
+(typeattributeset hal_telephony_hwservice_34_0 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_34_0 (hal_tetheroffload_hwservice))
+(typeattributeset hal_tetheroffload_service_34_0 (hal_tetheroffload_service))
+(typeattributeset hal_thermal_hwservice_34_0 (hal_thermal_hwservice))
+(typeattributeset hal_thermal_service_34_0 (hal_thermal_service))
+(typeattributeset hal_tv_cec_hwservice_34_0 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_hdmi_cec_service_34_0 (hal_tv_hdmi_cec_service))
+(typeattributeset hal_tv_hdmi_connection_service_34_0 (hal_tv_hdmi_connection_service))
+(typeattributeset hal_tv_hdmi_earc_service_34_0 (hal_tv_hdmi_earc_service))
+(typeattributeset hal_tv_input_hwservice_34_0 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_input_service_34_0 (hal_tv_input_service))
+(typeattributeset hal_tv_tuner_hwservice_34_0 (hal_tv_tuner_hwservice))
+(typeattributeset hal_tv_tuner_service_34_0 (hal_tv_tuner_service))
+(typeattributeset hal_usb_gadget_hwservice_34_0 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_gadget_service_34_0 (hal_usb_gadget_service))
+(typeattributeset hal_usb_hwservice_34_0 (hal_usb_hwservice))
+(typeattributeset hal_usb_service_34_0 (hal_usb_service))
+(typeattributeset hal_uwb_service_34_0 (hal_uwb_service))
+(typeattributeset hal_vehicle_hwservice_34_0 (hal_vehicle_hwservice))
+(typeattributeset hal_vehicle_service_34_0 (hal_vehicle_service))
+(typeattributeset hal_vibrator_hwservice_34_0 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_34_0 (hal_vibrator_service))
+(typeattributeset hal_vr_hwservice_34_0 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_34_0 (hal_weaver_hwservice))
+(typeattributeset hal_weaver_service_34_0 (hal_weaver_service))
+(typeattributeset hal_wifi_hostapd_hwservice_34_0 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hostapd_service_34_0 (hal_wifi_hostapd_service))
+(typeattributeset hal_wifi_hwservice_34_0 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_service_34_0 (hal_wifi_service))
+(typeattributeset hal_wifi_supplicant_hwservice_34_0 (hal_wifi_supplicant_hwservice))
+(typeattributeset hal_wifi_supplicant_service_34_0 (hal_wifi_supplicant_service))
+(typeattributeset hardware_properties_service_34_0 (hardware_properties_service))
+(typeattributeset hardware_service_34_0 (hardware_service))
+(typeattributeset hci_attach_dev_34_0 (hci_attach_dev))
+(typeattributeset hdmi_config_prop_34_0 (hdmi_config_prop))
+(typeattributeset hdmi_control_service_34_0 (hdmi_control_service))
+(typeattributeset healthconnect_service_34_0 (healthconnect_service))
+(typeattributeset healthd_34_0 (healthd))
+(typeattributeset heapdump_data_file_34_0 (heapdump_data_file))
+(typeattributeset heapprofd_34_0 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_34_0 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_34_0 (heapprofd_prop))
+(typeattributeset heapprofd_socket_34_0 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_34_0 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_34_0 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_34_0 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_34_0 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_34_0 (hidl_token_hwservice))
+(typeattributeset hint_service_34_0 (hint_service))
+(typeattributeset hw_random_device_34_0 (hw_random_device))
+(typeattributeset hw_timeout_multiplier_prop_34_0 (hw_timeout_multiplier_prop))
+(typeattributeset hwbinder_device_34_0 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_34_0 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_34_0 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_34_0 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_34_0 (hwservicemanager_prop))
+(typeattributeset hypervisor_prop_34_0 (hypervisor_prop))
+(typeattributeset hypervisor_restricted_prop_34_0 (hypervisor_restricted_prop))
+(typeattributeset icon_file_34_0 (icon_file))
+(typeattributeset idmap_34_0 (idmap))
+(typeattributeset idmap_exec_34_0 (idmap_exec))
+(typeattributeset idmap_service_34_0 (idmap_service))
+(typeattributeset iio_device_34_0 (iio_device))
+(typeattributeset imms_service_34_0 (imms_service))
+(typeattributeset incident_34_0 (incident))
+(typeattributeset incident_data_file_34_0 (incident_data_file))
+(typeattributeset incident_helper_34_0 (incident_helper))
+(typeattributeset incident_service_34_0 (incident_service))
+(typeattributeset incidentd_34_0 (incidentd))
+(typeattributeset incremental_control_file_34_0 (incremental_control_file))
+(typeattributeset incremental_prop_34_0 (incremental_prop))
+(typeattributeset incremental_service_34_0 (incremental_service))
+(typeattributeset init_34_0 (init))
+(typeattributeset init_exec_34_0 (init_exec))
+(typeattributeset init_service_status_prop_34_0 (init_service_status_prop))
+(typeattributeset init_tmpfs_34_0 (init_tmpfs))
+(typeattributeset inotify_34_0 (inotify))
+(typeattributeset input_device_34_0 (input_device))
+(typeattributeset input_method_service_34_0 (input_method_service))
+(typeattributeset input_service_34_0 (input_service))
+(typeattributeset inputflinger_34_0 (inputflinger))
+(typeattributeset inputflinger_exec_34_0 (inputflinger_exec))
+(typeattributeset inputflinger_service_34_0 (inputflinger_service))
+(typeattributeset install_data_file_34_0 (install_data_file))
+(typeattributeset installd_34_0 (installd))
+(typeattributeset installd_exec_34_0 (installd_exec))
+(typeattributeset installd_service_34_0 (installd_service))
+(typeattributeset ion_device_34_0 (ion_device))
+(typeattributeset ipsec_service_34_0 (ipsec_service))
+(typeattributeset iris_service_34_0 (iris_service))
+(typeattributeset iris_vendor_data_file_34_0 (iris_vendor_data_file))
+(typeattributeset isolated_app_34_0 (isolated_app))
+(typeattributeset isolated_compute_app_34_0 (isolated_compute_app))
+(typeattributeset jobscheduler_service_34_0 (jobscheduler_service))
+(typeattributeset kernel_34_0 (kernel))
+(typeattributeset keychain_data_file_34_0 (keychain_data_file))
+(typeattributeset keychord_device_34_0 (keychord_device))
+(typeattributeset keyguard_config_prop_34_0 (keyguard_config_prop))
+(typeattributeset keystore2_key_contexts_file_34_0 (keystore2_key_contexts_file))
+(typeattributeset keystore_34_0 (keystore))
+(typeattributeset keystore_compat_hal_service_34_0 (keystore_compat_hal_service))
+(typeattributeset keystore_config_prop_34_0 (keystore_config_prop))
+(typeattributeset keystore_data_file_34_0 (keystore_data_file))
+(typeattributeset keystore_exec_34_0 (keystore_exec))
+(typeattributeset keystore_maintenance_service_34_0 (keystore_maintenance_service))
+(typeattributeset keystore_metrics_service_34_0 (keystore_metrics_service))
+(typeattributeset keystore_service_34_0 (keystore_service))
+(typeattributeset kmsg_debug_device_34_0 (kmsg_debug_device))
+(typeattributeset kmsg_device_34_0 (kmsg_device))
+(typeattributeset labeledfs_34_0 (labeledfs))
+(typeattributeset launcherapps_service_34_0 (launcherapps_service))
+(typeattributeset legacy_permission_service_34_0 (legacy_permission_service))
+(typeattributeset legacykeystore_service_34_0 (legacykeystore_service))
+(typeattributeset libc_debug_prop_34_0 (libc_debug_prop))
+(typeattributeset light_service_34_0 (light_service))
+(typeattributeset linkerconfig_file_34_0 (linkerconfig_file))
+(typeattributeset llkd_34_0 (llkd))
+(typeattributeset llkd_exec_34_0 (llkd_exec))
+(typeattributeset llkd_prop_34_0 (llkd_prop))
+(typeattributeset lmkd_34_0 (lmkd))
+(typeattributeset lmkd_config_prop_34_0 (lmkd_config_prop))
+(typeattributeset lmkd_exec_34_0 (lmkd_exec))
+(typeattributeset lmkd_prop_34_0 (lmkd_prop))
+(typeattributeset lmkd_socket_34_0 (lmkd_socket))
+(typeattributeset locale_prop_34_0 (locale_prop))
+(typeattributeset locale_service_34_0 (locale_service))
+(typeattributeset location_service_34_0 (location_service))
+(typeattributeset location_time_zone_manager_service_34_0 (location_time_zone_manager_service))
+(typeattributeset lock_settings_service_34_0 (lock_settings_service))
+(typeattributeset log_prop_34_0 (log_prop))
+(typeattributeset log_tag_prop_34_0 (log_tag_prop))
+(typeattributeset logcat_exec_34_0 (logcat_exec))
+(typeattributeset logd_34_0 (logd))
+(typeattributeset logd_exec_34_0 (logd_exec))
+(typeattributeset logd_prop_34_0 (logd_prop))
+(typeattributeset logd_socket_34_0 (logd_socket))
+(typeattributeset logdr_socket_34_0 (logdr_socket))
+(typeattributeset logdw_socket_34_0 (logdw_socket))
+(typeattributeset logpersist_34_0 (logpersist))
+(typeattributeset logpersistd_logging_prop_34_0 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_34_0 (loop_control_device))
+(typeattributeset loop_device_34_0 (loop_device))
+(typeattributeset looper_stats_service_34_0 (looper_stats_service))
+(typeattributeset lowpan_device_34_0 (lowpan_device))
+(typeattributeset lowpan_prop_34_0 (lowpan_prop))
+(typeattributeset lpdump_service_34_0 (lpdump_service))
+(typeattributeset lpdumpd_prop_34_0 (lpdumpd_prop))
+(typeattributeset mac_perms_file_34_0 (mac_perms_file))
+(typeattributeset mdns_service_34_0 (mdns_service))
+(typeattributeset mdns_socket_34_0 (mdns_socket))
+(typeattributeset mdnsd_34_0 (mdnsd))
+(typeattributeset mdnsd_socket_34_0 (mdnsd_socket))
+(typeattributeset media_communication_service_34_0 (media_communication_service))
+(typeattributeset media_config_prop_34_0 (media_config_prop))
+(typeattributeset media_data_file_34_0 (media_data_file))
+(typeattributeset media_metrics_service_34_0 (media_metrics_service))
+(typeattributeset media_projection_service_34_0 (media_projection_service))
+(typeattributeset media_router_service_34_0 (media_router_service))
+(typeattributeset media_rw_data_file_34_0 (media_rw_data_file))
+(typeattributeset media_session_service_34_0 (media_session_service))
+(typeattributeset media_userdir_file_34_0 (media_userdir_file))
+(typeattributeset media_variant_prop_34_0 (media_variant_prop))
+(typeattributeset mediadrm_config_prop_34_0 (mediadrm_config_prop))
+(typeattributeset mediadrmserver_34_0 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_34_0 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_34_0 (mediadrmserver_service))
+(typeattributeset mediaextractor_34_0 (mediaextractor))
+(typeattributeset mediaextractor_exec_34_0 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_34_0 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_34_0 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_34_0 (mediametrics))
+(typeattributeset mediametrics_exec_34_0 (mediametrics_exec))
+(typeattributeset mediametrics_service_34_0 (mediametrics_service))
+(typeattributeset mediaprovider_34_0 (mediaprovider))
+(typeattributeset mediaserver_34_0 (mediaserver))
+(typeattributeset mediaserver_exec_34_0 (mediaserver_exec))
+(typeattributeset mediaserver_service_34_0 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_34_0 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_34_0 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_34_0 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_34_0 (mediatranscoding))
+(typeattributeset mediatranscoding_service_34_0 (mediatranscoding_service))
+(typeattributeset meminfo_service_34_0 (meminfo_service))
+(typeattributeset memtrackproxy_service_34_0 (memtrackproxy_service))
+(typeattributeset metadata_block_device_34_0 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_34_0 (metadata_bootstat_file))
+(typeattributeset metadata_file_34_0 (metadata_file))
+(typeattributeset method_trace_data_file_34_0 (method_trace_data_file))
+(typeattributeset midi_service_34_0 (midi_service))
+(typeattributeset mirror_data_file_34_0 (mirror_data_file))
+(typeattributeset misc_block_device_34_0 (misc_block_device))
+(typeattributeset misc_logd_file_34_0 (misc_logd_file))
+(typeattributeset misc_user_data_file_34_0 (misc_user_data_file))
+(typeattributeset mm_events_config_prop_34_0 (mm_events_config_prop))
+(typeattributeset mmc_prop_34_0 (mmc_prop))
+(typeattributeset mnt_expand_file_34_0 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_34_0 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_34_0 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_34_0 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_34_0 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_34_0 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_34_0 (mnt_user_file))
+(typeattributeset mnt_vendor_file_34_0 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_34_0 (mock_ota_prop))
+(typeattributeset modprobe_34_0 (modprobe))
+(typeattributeset module_sdkextensions_prop_34_0 (module_sdkextensions_prop))
+(typeattributeset mount_service_34_0 (mount_service))
+(typeattributeset mqueue_34_0 (mqueue))
+(typeattributeset mtp_34_0 (mtp))
+(typeattributeset mtp_device_34_0 (mtp_device))
+(typeattributeset mtp_exec_34_0 (mtp_exec))
+(typeattributeset mtpd_socket_34_0 (mtpd_socket))
+(typeattributeset music_recognition_service_34_0 (music_recognition_service))
+(typeattributeset nativetest_data_file_34_0 (nativetest_data_file))
+(typeattributeset nearby_service_34_0 (nearby_service))
+(typeattributeset net_data_file_34_0 (net_data_file))
+(typeattributeset net_dns_prop_34_0 (net_dns_prop))
+(typeattributeset net_radio_prop_34_0 (net_radio_prop))
+(typeattributeset netd_34_0 (netd))
+(typeattributeset netd_exec_34_0 (netd_exec))
+(typeattributeset netd_listener_service_34_0 (netd_listener_service))
+(typeattributeset netd_service_34_0 (netd_service))
+(typeattributeset netif_34_0 (netif))
+(typeattributeset netpolicy_service_34_0 (netpolicy_service))
+(typeattributeset netstats_service_34_0 (netstats_service))
+(typeattributeset netutils_wrapper_34_0 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_34_0 (netutils_wrapper_exec))
+(typeattributeset network_management_service_34_0 (network_management_service))
+(typeattributeset network_score_service_34_0 (network_score_service))
+(typeattributeset network_stack_34_0 (network_stack))
+(typeattributeset network_stack_service_34_0 (network_stack_service))
+(typeattributeset network_time_update_service_34_0 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_34_0 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_34_0 (network_watchlist_service))
+(typeattributeset nfc_34_0 (nfc))
+(typeattributeset nfc_data_file_34_0 (nfc_data_file))
+(typeattributeset nfc_device_34_0 (nfc_device))
+(typeattributeset nfc_logs_data_file_34_0 (nfc_logs_data_file))
+(typeattributeset nfc_prop_34_0 (nfc_prop))
+(typeattributeset nfc_service_34_0 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_34_0 (nnapi_ext_deny_product_prop))
+(typeattributeset node_34_0 (node))
+(typeattributeset notification_service_34_0 (notification_service))
+(typeattributeset null_device_34_0 (null_device))
+(typeattributeset oem_lock_service_34_0 (oem_lock_service))
+(typeattributeset oem_unlock_prop_34_0 (oem_unlock_prop))
+(typeattributeset oemfs_34_0 (oemfs bootanim_oem_file))
+(typeattributeset ondevicepersonalization_system_service_34_0 (ondevicepersonalization_system_service))
+(typeattributeset ota_data_file_34_0 (ota_data_file))
+(typeattributeset ota_metadata_file_34_0 (ota_metadata_file))
+(typeattributeset ota_package_file_34_0 (ota_package_file))
+(typeattributeset ota_prop_34_0 (ota_prop))
+(typeattributeset otadexopt_service_34_0 (otadexopt_service))
+(typeattributeset otapreopt_chroot_34_0 (otapreopt_chroot))
+(typeattributeset overlay_prop_34_0 (overlay_prop))
+(typeattributeset overlay_service_34_0 (overlay_service))
+(typeattributeset overlayfs_file_34_0 (overlayfs_file))
+(typeattributeset owntty_device_34_0 (owntty_device))
+(typeattributeset pac_proxy_service_34_0 (pac_proxy_service))
+(typeattributeset package_native_service_34_0 (package_native_service))
+(typeattributeset package_service_34_0 (package_service))
+(typeattributeset packagemanager_config_prop_34_0 (packagemanager_config_prop))
+(typeattributeset packages_list_file_34_0 (packages_list_file))
+(typeattributeset pan_result_prop_34_0 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_34_0 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_34_0 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_34_0 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_34_0 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_34_0 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_34_0 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_34_0 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_34_0 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_34_0 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_34_0 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_34_0 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_34_0 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_34_0 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_34_0 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_34_0 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_34_0 (pdx_performance_dir))
+(typeattributeset people_service_34_0 (people_service))
+(typeattributeset perfetto_34_0 (perfetto))
+(typeattributeset performanced_34_0 (performanced))
+(typeattributeset performanced_exec_34_0 (performanced_exec))
+(typeattributeset permission_checker_service_34_0 (permission_checker_service))
+(typeattributeset permission_service_34_0 (permission_service))
+(typeattributeset permissionmgr_service_34_0 (permissionmgr_service))
+(typeattributeset permissive_mte_prop_34_0 (permissive_mte_prop))
+(typeattributeset persist_debug_prop_34_0 (persist_debug_prop))
+(typeattributeset persist_vendor_debug_wifi_prop_34_0 (persist_vendor_debug_wifi_prop))
+(typeattributeset persist_wm_debug_prop_34_0 (persist_wm_debug_prop))
+(typeattributeset persistent_data_block_service_34_0 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_34_0 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_34_0 (pinner_service))
+(typeattributeset pipefs_34_0 (pipefs))
+(typeattributeset platform_app_34_0 (platform_app))
+(typeattributeset platform_compat_service_34_0 (platform_compat_service))
+(typeattributeset pmsg_device_34_0 (pmsg_device))
+(typeattributeset port_34_0 (port))
+(typeattributeset port_device_34_0 (port_device))
+(typeattributeset postinstall_34_0 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_34_0 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_34_0 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_34_0 (postinstall_mnt_dir))
+(typeattributeset power_debug_prop_34_0 (power_debug_prop))
+(typeattributeset power_service_34_0 (power_service))
+(typeattributeset powerctl_prop_34_0 (powerctl_prop))
+(typeattributeset powerstats_service_34_0 (powerstats_service))
+(typeattributeset ppp_34_0 (ppp))
+(typeattributeset ppp_device_34_0 (ppp_device))
+(typeattributeset ppp_exec_34_0 (ppp_exec))
+(typeattributeset preloads_data_file_34_0 (preloads_data_file))
+(typeattributeset preloads_media_file_34_0 (preloads_media_file))
+(typeattributeset prereboot_data_file_34_0 (prereboot_data_file))
+(typeattributeset print_service_34_0 (print_service))
+(typeattributeset priv_app_34_0 (priv_app))
+(typeattributeset privapp_data_file_34_0 (privapp_data_file))
+(typeattributeset prng_seeder_34_0 (prng_seeder))
+(typeattributeset proc_34_0 (proc))
+(typeattributeset proc_abi_34_0 (proc_abi))
+(typeattributeset proc_asound_34_0 (proc_asound))
+(typeattributeset proc_bluetooth_writable_34_0 (proc_bluetooth_writable))
+(typeattributeset proc_bootconfig_34_0 (proc_bootconfig))
+(typeattributeset proc_bpf_34_0 (proc_bpf))
+(typeattributeset proc_buddyinfo_34_0 (proc_buddyinfo))
+(typeattributeset proc_cmdline_34_0 (proc_cmdline))
+(typeattributeset proc_cpu_alignment_34_0 (proc_cpu_alignment))
+(typeattributeset proc_cpuinfo_34_0 (proc_cpuinfo))
+(typeattributeset proc_dirty_34_0 (proc_dirty))
+(typeattributeset proc_diskstats_34_0 (proc_diskstats))
+(typeattributeset proc_drop_caches_34_0 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_34_0 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_34_0 (proc_filesystems))
+(typeattributeset proc_fs_verity_34_0 (proc_fs_verity))
+(typeattributeset proc_hostname_34_0 (proc_hostname))
+(typeattributeset proc_hung_task_34_0 (proc_hung_task))
+(typeattributeset proc_interrupts_34_0 (proc_interrupts))
+(typeattributeset proc_iomem_34_0 (proc_iomem))
+(typeattributeset proc_kallsyms_34_0 (proc_kallsyms))
+(typeattributeset proc_keys_34_0 (proc_keys))
+(typeattributeset proc_kmsg_34_0 (proc_kmsg))
+(typeattributeset proc_kpageflags_34_0 (proc_kpageflags))
+(typeattributeset proc_loadavg_34_0 (proc_loadavg))
+(typeattributeset proc_locks_34_0 (proc_locks))
+(typeattributeset proc_lowmemorykiller_34_0 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_34_0 (proc_max_map_count))
+(typeattributeset proc_meminfo_34_0 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_34_0 (proc_min_free_order_shift))
+(typeattributeset proc_misc_34_0 (proc_misc))
+(typeattributeset proc_modules_34_0 (proc_modules))
+(typeattributeset proc_mounts_34_0 (proc_mounts))
+(typeattributeset proc_net_34_0 (proc_net))
+(typeattributeset proc_net_tcp_udp_34_0 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_34_0 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_34_0 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_34_0 (proc_pagetypeinfo))
+(typeattributeset proc_panic_34_0 (proc_panic))
+(typeattributeset proc_perf_34_0 (proc_perf))
+(typeattributeset proc_pid_max_34_0 (proc_pid_max))
+(typeattributeset proc_pipe_conf_34_0 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_34_0 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_34_0 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_34_0 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_34_0 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_34_0 (proc_qtaguid_stat))
+(typeattributeset proc_random_34_0 (proc_random))
+(typeattributeset proc_sched_34_0 (proc_sched))
+(typeattributeset proc_security_34_0 (proc_security))
+(typeattributeset proc_slabinfo_34_0 (proc_slabinfo))
+(typeattributeset proc_stat_34_0 (proc_stat))
+(typeattributeset proc_swaps_34_0 (proc_swaps))
+(typeattributeset proc_sysrq_34_0 (proc_sysrq))
+(typeattributeset proc_timer_34_0 (proc_timer))
+(typeattributeset proc_tty_drivers_34_0 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_34_0 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_34_0 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_34_0 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_34_0 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_34_0 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_34_0 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_34_0 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_34_0 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_34_0 (proc_uptime))
+(typeattributeset proc_vendor_sched_34_0 (proc_vendor_sched))
+(typeattributeset proc_version_34_0 (proc_version))
+(typeattributeset proc_vmallocinfo_34_0 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_34_0 (proc_vmstat))
+(typeattributeset proc_watermark_boost_factor_34_0 (proc_watermark_boost_factor))
+(typeattributeset proc_watermark_scale_factor_34_0 (proc_watermark_scale_factor))
+(typeattributeset proc_zoneinfo_34_0 (proc_zoneinfo))
+(typeattributeset processinfo_service_34_0 (processinfo_service))
+(typeattributeset procstats_service_34_0 (procstats_service))
+(typeattributeset profman_34_0 (profman))
+(typeattributeset profman_dump_data_file_34_0 (profman_dump_data_file))
+(typeattributeset profman_exec_34_0 (profman_exec))
+(typeattributeset properties_device_34_0 (properties_device))
+(typeattributeset properties_serial_34_0 (properties_serial))
+(typeattributeset property_contexts_file_34_0 (property_contexts_file))
+(typeattributeset property_data_file_34_0 (property_data_file))
+(typeattributeset property_info_34_0 (property_info))
+(typeattributeset property_service_version_prop_34_0 (property_service_version_prop))
+(typeattributeset property_socket_34_0 (property_socket))
+(typeattributeset provisioned_prop_34_0 (provisioned_prop))
+(typeattributeset pstorefs_34_0 (pstorefs))
+(typeattributeset ptmx_device_34_0 (ptmx_device))
+(typeattributeset qemu_hw_prop_34_0 (qemu_hw_prop))
+(typeattributeset qemu_sf_lcd_density_prop_34_0 (qemu_sf_lcd_density_prop))
+(typeattributeset qtaguid_device_34_0 (qtaguid_device))
+(typeattributeset quick_start_prop_34_0 (quick_start_prop))
+(typeattributeset racoon_34_0 (racoon))
+(typeattributeset racoon_exec_34_0 (racoon_exec))
+(typeattributeset racoon_socket_34_0 (racoon_socket))
+(typeattributeset radio_34_0 (radio))
+(typeattributeset radio_control_prop_34_0 (radio_control_prop))
+(typeattributeset radio_core_data_file_34_0 (radio_core_data_file))
+(typeattributeset radio_data_file_34_0 (radio_data_file))
+(typeattributeset radio_device_34_0 (radio_device))
+(typeattributeset radio_prop_34_0 (radio_prop))
+(typeattributeset radio_service_34_0 (radio_service))
+(typeattributeset ram_device_34_0 (ram_device))
+(typeattributeset random_device_34_0 (random_device))
+(typeattributeset reboot_readiness_service_34_0 (reboot_readiness_service))
+(typeattributeset rebootescrow_hal_prop_34_0 (rebootescrow_hal_prop))
+(typeattributeset recovery_34_0 (recovery))
+(typeattributeset recovery_block_device_34_0 (recovery_block_device))
+(typeattributeset recovery_config_prop_34_0 (recovery_config_prop))
+(typeattributeset recovery_data_file_34_0 (recovery_data_file))
+(typeattributeset recovery_persist_34_0 (recovery_persist))
+(typeattributeset recovery_persist_exec_34_0 (recovery_persist_exec))
+(typeattributeset recovery_refresh_34_0 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_34_0 (recovery_refresh_exec))
+(typeattributeset recovery_service_34_0 (recovery_service))
+(typeattributeset recovery_socket_34_0 (recovery_socket))
+(typeattributeset recovery_usb_config_prop_34_0 (recovery_usb_config_prop))
+(typeattributeset registry_service_34_0 (registry_service))
+(typeattributeset remote_provisioning_service_34_0 (remote_provisioning_service))
+(typeattributeset resourcecache_data_file_34_0 (resourcecache_data_file))
+(typeattributeset resources_manager_service_34_0 (resources_manager_service))
+(typeattributeset restorecon_prop_34_0 (restorecon_prop))
+(typeattributeset restrictions_service_34_0 (restrictions_service))
+(typeattributeset retaildemo_prop_34_0 (retaildemo_prop))
+(typeattributeset rild_debug_socket_34_0 (rild_debug_socket))
+(typeattributeset rild_socket_34_0 (rild_socket))
+(typeattributeset ringtone_file_34_0 (ringtone_file))
+(typeattributeset rkpdapp_34_0 (rkpdapp))
+(typeattributeset role_service_34_0 (role_service))
+(typeattributeset rollback_service_34_0 (rollback_service))
+(typeattributeset root_block_device_34_0 (root_block_device))
+(typeattributeset rootdisk_sysdev_34_0 (rootdisk_sysdev))
+(typeattributeset rootfs_34_0 (rootfs))
+(typeattributeset rpmsg_device_34_0 (rpmsg_device))
+(typeattributeset rs_34_0 (rs))
+(typeattributeset rs_exec_34_0 (rs_exec))
+(typeattributeset rss_hwm_reset_34_0 (rss_hwm_reset))
+(typeattributeset rtc_device_34_0 (rtc_device))
+(typeattributeset rttmanager_service_34_0 (rttmanager_service))
+(typeattributeset runas_34_0 (runas))
+(typeattributeset runas_app_34_0 (runas_app))
+(typeattributeset runas_exec_34_0 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_34_0 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_34_0 (runtime_service))
+(typeattributeset safemode_prop_34_0 (safemode_prop))
+(typeattributeset same_process_hal_file_34_0 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_34_0 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_34_0 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_34_0 (sdcard_block_device))
+(typeattributeset sdcardd_34_0 (sdcardd))
+(typeattributeset sdcardd_exec_34_0 (sdcardd_exec))
+(typeattributeset sdcardfs_34_0 (sdcardfs))
+(typeattributeset sdk_sandbox_service_34_0 (sdk_sandbox_service))
+(typeattributeset seapp_contexts_file_34_0 (seapp_contexts_file))
+(typeattributeset search_service_34_0 (search_service))
+(typeattributeset search_ui_service_34_0 (search_ui_service))
+(typeattributeset sec_key_att_app_id_provider_service_34_0 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_34_0 (secure_element))
+(typeattributeset secure_element_device_34_0 (secure_element_device))
+(typeattributeset secure_element_service_34_0 (secure_element_service))
+(typeattributeset securityfs_34_0 (securityfs))
+(typeattributeset selection_toolbar_service_34_0 (selection_toolbar_service))
+(typeattributeset selinuxfs_34_0 (selinuxfs))
+(typeattributeset sendbug_config_prop_34_0 (sendbug_config_prop))
+(typeattributeset sensor_privacy_service_34_0 (sensor_privacy_service))
+(typeattributeset sensors_device_34_0 (sensors_device))
+(typeattributeset sensorservice_service_34_0 (sensorservice_service))
+(typeattributeset sepolicy_file_34_0 (sepolicy_file))
+(typeattributeset serial_device_34_0 (serial_device))
+(typeattributeset serial_service_34_0 (serial_service))
+(typeattributeset serialno_prop_34_0 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_34_0 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_34_0 (service_contexts_file))
+(typeattributeset service_manager_service_34_0 (service_manager_service))
+(typeattributeset service_manager_vndservice_34_0 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_34_0 (servicediscovery_service))
+(typeattributeset servicemanager_34_0 (servicemanager))
+(typeattributeset servicemanager_exec_34_0 (servicemanager_exec))
+(typeattributeset servicemanager_prop_34_0 (servicemanager_prop))
+(typeattributeset settings_service_34_0 (settings_service))
+(typeattributeset sgdisk_34_0 (sgdisk))
+(typeattributeset sgdisk_exec_34_0 (sgdisk_exec))
+(typeattributeset shared_relro_34_0 (shared_relro))
+(typeattributeset shared_relro_file_34_0 (shared_relro_file))
+(typeattributeset shell_34_0 (shell))
+(typeattributeset shell_data_file_34_0 (shell_data_file))
+(typeattributeset shell_exec_34_0 (shell_exec))
+(typeattributeset shell_prop_34_0 (shell_prop))
+(typeattributeset shell_test_data_file_34_0 (shell_test_data_file))
+(typeattributeset shm_34_0 (shm))
+(typeattributeset shortcut_manager_icons_34_0 (shortcut_manager_icons))
+(typeattributeset shortcut_service_34_0 (shortcut_service))
+(typeattributeset shutdown_checkpoints_system_data_file_34_0 (shutdown_checkpoints_system_data_file))
+(typeattributeset simpleperf_34_0 (simpleperf))
+(typeattributeset simpleperf_app_runner_34_0 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_34_0 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_34_0 (slice_service))
+(typeattributeset slideshow_34_0 (slideshow))
+(typeattributeset smart_idle_maint_enabled_prop_34_0 (smart_idle_maint_enabled_prop))
+(typeattributeset smartspace_service_34_0 (smartspace_service))
+(typeattributeset snapshotctl_log_data_file_34_0 (snapshotctl_log_data_file))
+(typeattributeset snapuserd_proxy_socket_34_0 (snapuserd_proxy_socket))
+(typeattributeset snapuserd_socket_34_0 (snapuserd_socket))
+(typeattributeset soc_prop_34_0 (soc_prop))
+(typeattributeset socket_device_34_0 (socket_device))
+(typeattributeset socket_hook_prop_34_0 (socket_hook_prop))
+(typeattributeset sockfs_34_0 (sockfs))
+(typeattributeset sota_prop_34_0 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_34_0 (soundtrigger_middleware_service))
+(typeattributeset speech_recognition_service_34_0 (speech_recognition_service))
+(typeattributeset sqlite_log_prop_34_0 (sqlite_log_prop))
+(typeattributeset staged_install_file_34_0 (staged_install_file))
+(typeattributeset staging_data_file_34_0 (staging_data_file))
+(typeattributeset stats_config_data_file_34_0 (stats_config_data_file))
+(typeattributeset stats_data_file_34_0 (stats_data_file))
+(typeattributeset statsd_34_0 (statsd))
+(typeattributeset statsd_exec_34_0 (statsd_exec))
+(typeattributeset statsdw_socket_34_0 (statsdw_socket))
+(typeattributeset statusbar_service_34_0 (statusbar_service))
+(typeattributeset storage_config_prop_34_0 (storage_config_prop))
+(typeattributeset storage_file_34_0 (storage_file))
+(typeattributeset storage_stub_file_34_0 (storage_stub_file))
+(typeattributeset storaged_service_34_0 (storaged_service))
+(typeattributeset storagemanager_config_prop_34_0 (storagemanager_config_prop))
+(typeattributeset storagestats_service_34_0 (storagestats_service))
+(typeattributeset su_34_0 (su))
+(typeattributeset su_exec_34_0 (su_exec))
+(typeattributeset super_block_device_34_0 (super_block_device))
+(typeattributeset surfaceflinger_34_0 (surfaceflinger))
+(typeattributeset surfaceflinger_color_prop_34_0 (surfaceflinger_color_prop))
+(typeattributeset surfaceflinger_display_prop_34_0 (surfaceflinger_display_prop))
+(typeattributeset surfaceflinger_prop_34_0 (surfaceflinger_prop))
+(typeattributeset surfaceflinger_service_34_0 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_34_0 (surfaceflinger_tmpfs))
+(typeattributeset suspend_prop_34_0 (suspend_prop))
+(typeattributeset swap_block_device_34_0 (swap_block_device))
+(typeattributeset sysfs_34_0 (sysfs))
+(typeattributeset sysfs_android_usb_34_0 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_34_0 (sysfs_batteryinfo))
+(typeattributeset sysfs_bluetooth_writable_34_0 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_devfreq_cur_34_0 (sysfs_devfreq_cur))
+(typeattributeset sysfs_devfreq_dir_34_0 (sysfs_devfreq_dir))
+(typeattributeset sysfs_devices_block_34_0 (sysfs_devices_block))
+(typeattributeset sysfs_devices_cs_etm_34_0 (sysfs_devices_cs_etm))
+(typeattributeset sysfs_devices_system_cpu_34_0 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_34_0 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_34_0 (sysfs_dm_verity))
+(typeattributeset sysfs_dma_heap_34_0 (sysfs_dma_heap))
+(typeattributeset sysfs_dmabuf_stats_34_0 (sysfs_dmabuf_stats))
+(typeattributeset sysfs_dt_firmware_android_34_0 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_34_0 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_34_0 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_34_0 (sysfs_fs_f2fs))
+(typeattributeset sysfs_fs_fuse_bpf_34_0 (sysfs_fs_fuse_bpf))
+(typeattributeset sysfs_fs_fuse_features_34_0 (sysfs_fs_fuse_features))
+(typeattributeset sysfs_fs_incfs_features_34_0 (sysfs_fs_incfs_features))
+(typeattributeset sysfs_fs_incfs_metrics_34_0 (sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_gpu_34_0 (sysfs_gpu))
+(typeattributeset sysfs_hwrandom_34_0 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_34_0 (sysfs_ion))
+(typeattributeset sysfs_ipv4_34_0 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_34_0 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_34_0 (sysfs_leds))
+(typeattributeset sysfs_loop_34_0 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_34_0 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_lru_gen_enabled_34_0 (sysfs_lru_gen_enabled))
+(typeattributeset sysfs_net_34_0 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_34_0 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_34_0 (sysfs_power))
+(typeattributeset sysfs_rtc_34_0 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_34_0 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_34_0 (sysfs_switch))
+(typeattributeset sysfs_thermal_34_0 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_34_0 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_uhid_34_0 (sysfs_uhid))
+(typeattributeset sysfs_uio_34_0 (sysfs_uio))
+(typeattributeset sysfs_usb_34_0 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_34_0 (sysfs_usermodehelper))
+(typeattributeset sysfs_vendor_sched_34_0 (sysfs_vendor_sched))
+(typeattributeset sysfs_vibrator_34_0 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_34_0 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_34_0 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_34_0 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_34_0 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_34_0 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_34_0 (sysfs_zram_uevent))
+(typeattributeset system_app_34_0 (system_app))
+(typeattributeset system_app_data_file_34_0 (system_app_data_file))
+(typeattributeset system_app_service_34_0 (system_app_service))
+(typeattributeset system_asan_options_file_34_0 (system_asan_options_file))
+(typeattributeset system_block_device_34_0 (system_block_device))
+(typeattributeset system_boot_reason_prop_34_0 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_34_0 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_34_0 (system_config_service))
+(typeattributeset system_data_file_34_0 (system_data_file))
+(typeattributeset system_data_root_file_34_0 (system_data_root_file))
+(typeattributeset system_dlkm_file_34_0 (system_dlkm_file))
+(typeattributeset system_event_log_tags_file_34_0 (system_event_log_tags_file))
+(typeattributeset system_file_34_0 (system_file))
+(typeattributeset system_group_file_34_0 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_34_0 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_34_0 (system_lib_file))
+(typeattributeset system_linker_config_file_34_0 (system_linker_config_file))
+(typeattributeset system_linker_exec_34_0 (system_linker_exec))
+(typeattributeset system_lmk_prop_34_0 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_34_0 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_34_0 (system_net_netd_hwservice))
+(typeattributeset system_net_netd_service_34_0 (system_net_netd_service))
+(typeattributeset system_passwd_file_34_0 (system_passwd_file))
+(typeattributeset system_prop_34_0 (system_prop))
+(typeattributeset system_seccomp_policy_file_34_0 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_34_0 (system_security_cacerts_file))
+(typeattributeset system_server_34_0 (system_server))
+(typeattributeset system_server_dumper_service_34_0 (system_server_dumper_service))
+(typeattributeset system_server_tmpfs_34_0 (system_server_tmpfs))
+(typeattributeset system_suspend_control_internal_service_34_0 (system_suspend_control_internal_service))
+(typeattributeset system_suspend_control_service_34_0 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_34_0 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_34_0 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_34_0 (system_unsolzygote_socket))
+(typeattributeset system_update_service_34_0 (system_update_service))
+(typeattributeset system_user_mode_emulation_prop_34_0 (system_user_mode_emulation_prop))
+(typeattributeset system_userdir_file_34_0 (system_userdir_file))
+(typeattributeset system_wifi_keystore_hwservice_34_0 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_34_0 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_34_0 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_34_0 (systemkeys_data_file))
+(typeattributeset systemsound_config_prop_34_0 (systemsound_config_prop))
+(typeattributeset tare_service_34_0 (tare_service))
+(typeattributeset task_profiles_api_file_34_0 (task_profiles_api_file))
+(typeattributeset task_profiles_file_34_0 (task_profiles_file))
+(typeattributeset task_service_34_0 (task_service))
+(typeattributeset tcpdump_exec_34_0 (tcpdump_exec))
+(typeattributeset tee_34_0 (tee))
+(typeattributeset tee_data_file_34_0 (tee_data_file))
+(typeattributeset tee_device_34_0 (tee_device))
+(typeattributeset telecom_service_34_0 (telecom_service))
+(typeattributeset telephony_config_prop_34_0 (telephony_config_prop))
+(typeattributeset telephony_status_prop_34_0 (telephony_status_prop))
+(typeattributeset test_boot_reason_prop_34_0 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_34_0 (test_harness_prop))
+(typeattributeset testharness_service_34_0 (testharness_service))
+(typeattributeset tethering_service_34_0 (tethering_service))
+(typeattributeset textclassification_service_34_0 (textclassification_service))
+(typeattributeset textclassifier_data_file_34_0 (textclassifier_data_file))
+(typeattributeset textservices_service_34_0 (textservices_service))
+(typeattributeset texttospeech_service_34_0 (texttospeech_service))
+(typeattributeset theme_prop_34_0 (theme_prop))
+(typeattributeset thermal_service_34_0 (thermal_service))
+(typeattributeset time_prop_34_0 (time_prop))
+(typeattributeset timedetector_service_34_0 (timedetector_service))
+(typeattributeset timezone_prop_34_0 (timezone_prop))
+(typeattributeset timezonedetector_service_34_0 (timezonedetector_service))
+(typeattributeset tmpfs_34_0 (tmpfs))
+(typeattributeset tombstone_config_prop_34_0 (tombstone_config_prop))
+(typeattributeset tombstone_data_file_34_0 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_34_0 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_34_0 (tombstoned))
+(typeattributeset tombstoned_crash_socket_34_0 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_34_0 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_34_0 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_34_0 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_34_0 (toolbox))
+(typeattributeset toolbox_exec_34_0 (toolbox_exec))
+(typeattributeset trace_data_file_34_0 (trace_data_file))
+(typeattributeset traced_34_0 (traced))
+(typeattributeset traced_consumer_socket_34_0 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_34_0 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_34_0 (traced_lazy_prop))
+(typeattributeset traced_oome_heap_session_count_prop_34_0 (traced_oome_heap_session_count_prop))
+(typeattributeset traced_perf_34_0 (traced_perf))
+(typeattributeset traced_perf_socket_34_0 (traced_perf_socket))
+(typeattributeset traced_probes_34_0 (traced_probes))
+(typeattributeset traced_producer_socket_34_0 (traced_producer_socket))
+(typeattributeset traced_tmpfs_34_0 (traced_tmpfs))
+(typeattributeset traceur_app_34_0 (traceur_app))
+(typeattributeset translation_service_34_0 (translation_service))
+(typeattributeset trust_service_34_0 (trust_service))
+(typeattributeset tty_device_34_0 (tty_device))
+(typeattributeset tun_device_34_0 (tun_device))
+(typeattributeset tuner_config_prop_34_0 (tuner_config_prop))
+(typeattributeset tv_iapp_service_34_0 (tv_iapp_service))
+(typeattributeset tv_input_service_34_0 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_34_0 (tv_tuner_resource_mgr_service))
+(typeattributeset ublk_block_device_34_0 (ublk_block_device))
+(typeattributeset ublk_control_device_34_0 (ublk_control_device))
+(typeattributeset ueventd_34_0 (ueventd))
+(typeattributeset ueventd_tmpfs_34_0 (ueventd_tmpfs))
+(typeattributeset uhid_device_34_0 (uhid_device))
+(typeattributeset uimode_service_34_0 (uimode_service))
+(typeattributeset uio_device_34_0 (uio_device))
+(typeattributeset uncrypt_34_0 (uncrypt))
+(typeattributeset uncrypt_exec_34_0 (uncrypt_exec))
+(typeattributeset uncrypt_socket_34_0 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_34_0 (unencrypted_data_file))
+(typeattributeset unlabeled_34_0 (unlabeled))
+(typeattributeset untrusted_app_25_34_0 (untrusted_app_25))
+(typeattributeset untrusted_app_27_34_0 (untrusted_app_27))
+(typeattributeset untrusted_app_29_34_0 (untrusted_app_29))
+(typeattributeset untrusted_app_30_34_0 (untrusted_app_30))
+(typeattributeset untrusted_app_32_34_0 (untrusted_app_32))
+(typeattributeset untrusted_app_34_0 (untrusted_app))
+(typeattributeset update_engine_34_0 (update_engine))
+(typeattributeset update_engine_data_file_34_0 (update_engine_data_file))
+(typeattributeset update_engine_exec_34_0 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_34_0 (update_engine_log_data_file))
+(typeattributeset update_engine_service_34_0 (update_engine_service))
+(typeattributeset update_engine_stable_service_34_0 (update_engine_stable_service))
+(typeattributeset update_verifier_34_0 (update_verifier))
+(typeattributeset update_verifier_exec_34_0 (update_verifier_exec))
+(typeattributeset updatelock_service_34_0 (updatelock_service))
+(typeattributeset uri_grants_service_34_0 (uri_grants_service))
+(typeattributeset usagestats_service_34_0 (usagestats_service))
+(typeattributeset usb_config_prop_34_0 (usb_config_prop))
+(typeattributeset usb_control_prop_34_0 (usb_control_prop))
+(typeattributeset usb_device_34_0 (usb_device))
+(typeattributeset usb_prop_34_0 (usb_prop))
+(typeattributeset usb_serial_device_34_0 (usb_serial_device))
+(typeattributeset usb_service_34_0 (usb_service))
+(typeattributeset usb_uvc_enabled_prop_34_0 (usb_uvc_enabled_prop))
+(typeattributeset usbaccessory_device_34_0 (usbaccessory_device))
+(typeattributeset usbd_34_0 (usbd))
+(typeattributeset usbd_exec_34_0 (usbd_exec))
+(typeattributeset usbfs_34_0 (usbfs))
+(typeattributeset use_memfd_prop_34_0 (use_memfd_prop))
+(typeattributeset user_profile_data_file_34_0 (user_profile_data_file))
+(typeattributeset user_profile_root_file_34_0 (user_profile_root_file))
+(typeattributeset user_service_34_0 (user_service))
+(typeattributeset userdata_block_device_34_0 (userdata_block_device))
+(typeattributeset userdata_sysdev_34_0 (userdata_sysdev))
+(typeattributeset userdebug_or_eng_prop_34_0 (userdebug_or_eng_prop))
+(typeattributeset usermodehelper_34_0 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_34_0 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_34_0 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_metadata_file_34_0 (userspace_reboot_metadata_file))
+(typeattributeset uwb_service_34_0 (uwb_service))
+(typeattributeset vcn_management_service_34_0 (vcn_management_service))
+(typeattributeset vd_device_34_0 (vd_device))
+(typeattributeset vdc_34_0 (vdc))
+(typeattributeset vdc_exec_34_0 (vdc_exec))
+(typeattributeset vehicle_hal_prop_34_0 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_34_0 (vendor_apex_file))
+(typeattributeset vendor_app_file_34_0 (vendor_app_file))
+(typeattributeset vendor_cgroup_desc_file_34_0 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_34_0 (vendor_apex_metadata_file vendor_configs_file))
+(typeattributeset vendor_data_file_34_0 (vendor_data_file))
+(typeattributeset vendor_default_prop_34_0 (vendor_default_prop))
+(typeattributeset vendor_file_34_0 (vendor_file))
+(typeattributeset vendor_framework_file_34_0 (vendor_framework_file))
+(typeattributeset vendor_hal_file_34_0 (vendor_hal_file))
+(typeattributeset vendor_idc_file_34_0 (vendor_idc_file))
+(typeattributeset vendor_init_34_0 (vendor_init))
+(typeattributeset vendor_kernel_modules_34_0 (vendor_kernel_modules))
+(typeattributeset vendor_keychars_file_34_0 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_34_0 (vendor_keylayout_file))
+(typeattributeset vendor_misc_writer_34_0 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_34_0 (vendor_misc_writer_exec))
+(typeattributeset vendor_modprobe_34_0 (vendor_modprobe))
+(typeattributeset vendor_overlay_file_34_0 (vendor_overlay_file))
+(typeattributeset vendor_public_framework_file_34_0 (vendor_public_framework_file))
+(typeattributeset vendor_public_lib_file_34_0 (vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_34_0 (vendor_security_patch_level_prop))
+(typeattributeset vendor_service_contexts_file_34_0 (vendor_service_contexts_file))
+(typeattributeset vendor_shell_34_0 (vendor_shell))
+(typeattributeset vendor_shell_exec_34_0 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_34_0 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_34_0 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_34_0 (vendor_toolbox_exec))
+(typeattributeset vendor_userdir_file_34_0 (vendor_userdir_file))
+(typeattributeset vendor_uuid_mapping_config_file_34_0 (vendor_uuid_mapping_config_file))
+(typeattributeset vendor_vm_data_file_34_0 (vendor_vm_data_file))
+(typeattributeset vendor_vm_file_34_0 (vendor_vm_file))
+(typeattributeset vfat_34_0 (vfat))
+(typeattributeset vibrator_manager_service_34_0 (vibrator_manager_service))
+(typeattributeset vibrator_service_34_0 (vibrator_service))
+(typeattributeset video_device_34_0 (video_device))
+(typeattributeset virtual_ab_prop_34_0 (virtual_ab_prop))
+(typeattributeset virtual_device_service_34_0 (virtual_device_service))
+(typeattributeset virtual_face_hal_prop_34_0 (virtual_face_hal_prop))
+(typeattributeset virtual_fingerprint_hal_prop_34_0 (virtual_fingerprint_hal_prop))
+(typeattributeset virtual_touchpad_34_0 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_34_0 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_34_0 (virtual_touchpad_service))
+(typeattributeset virtualization_service_34_0 (virtualization_service))
+(typeattributeset vndbinder_device_34_0 (vndbinder_device))
+(typeattributeset vndk_prop_34_0 (vndk_prop))
+(typeattributeset vndk_sp_file_34_0 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_34_0 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_34_0 (vndservicemanager))
+(typeattributeset voiceinteraction_service_34_0 (voiceinteraction_service))
+(typeattributeset vold_34_0 (vold))
+(typeattributeset vold_config_prop_34_0 (vold_config_prop))
+(typeattributeset vold_data_file_34_0 (vold_data_file))
+(typeattributeset vold_device_34_0 (vold_device))
+(typeattributeset vold_exec_34_0 (vold_exec))
+(typeattributeset vold_metadata_file_34_0 (vold_metadata_file))
+(typeattributeset vold_post_fs_data_prop_34_0 (vold_post_fs_data_prop))
+(typeattributeset vold_prepare_subdirs_34_0 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_34_0 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_34_0 (vold_prop))
+(typeattributeset vold_service_34_0 (vold_service))
+(typeattributeset vold_status_prop_34_0 (vold_status_prop))
+(typeattributeset vpn_data_file_34_0 (vpn_data_file))
+(typeattributeset vpn_management_service_34_0 (vpn_management_service))
+(typeattributeset vr_hwc_service_34_0 (vr_hwc_service))
+(typeattributeset vr_manager_service_34_0 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_34_0 (vrflinger_vsync_service))
+(typeattributeset vts_config_prop_34_0 (vts_config_prop))
+(typeattributeset vts_status_prop_34_0 (vts_status_prop))
+(typeattributeset wallpaper_effects_generation_service_34_0 (wallpaper_effects_generation_service))
+(typeattributeset wallpaper_file_34_0 (wallpaper_file))
+(typeattributeset wallpaper_service_34_0 (wallpaper_service))
+(typeattributeset watchdog_device_34_0 (watchdog_device))
+(typeattributeset watchdog_metadata_file_34_0 (watchdog_metadata_file))
+(typeattributeset watchdogd_34_0 (watchdogd))
+(typeattributeset watchdogd_exec_34_0 (watchdogd_exec))
+(typeattributeset webview_zygote_34_0 (webview_zygote))
+(typeattributeset webview_zygote_exec_34_0 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_34_0 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_34_0 (webviewupdate_service))
+(typeattributeset wifi_config_prop_34_0 (wifi_config_prop))
+(typeattributeset wifi_data_file_34_0 (wifi_data_file))
+(typeattributeset wifi_hal_prop_34_0 (wifi_hal_prop))
+(typeattributeset wifi_key_34_0 (wifi_key))
+(typeattributeset wifi_log_prop_34_0 (wifi_log_prop))
+(typeattributeset wifi_prop_34_0 (wifi_prop))
+(typeattributeset wifi_service_34_0 (wifi_service))
+(typeattributeset wifiaware_service_34_0 (wifiaware_service))
+(typeattributeset wificond_34_0 (wificond))
+(typeattributeset wificond_exec_34_0 (wificond_exec))
+(typeattributeset wifinl80211_service_34_0 (wifinl80211_service))
+(typeattributeset wifip2p_service_34_0 (wifip2p_service))
+(typeattributeset wifiscanner_service_34_0 (wifiscanner_service))
+(typeattributeset window_service_34_0 (window_service))
+(typeattributeset wpa_socket_34_0 (wpa_socket))
+(typeattributeset zero_device_34_0 (zero_device))
+(typeattributeset zoned_block_device_34_0 (zoned_block_device))
+(typeattributeset zram_config_prop_34_0 (zram_config_prop))
+(typeattributeset zram_control_prop_34_0 (zram_control_prop))
+(typeattributeset zygote_34_0 (zygote))
+(typeattributeset zygote_config_prop_34_0 (zygote_config_prop))
+(typeattributeset zygote_exec_34_0 (zygote_exec))
+(typeattributeset zygote_socket_34_0 (zygote_socket))
+(typeattributeset zygote_tmpfs_34_0 (zygote_tmpfs))
diff --git a/prebuilts/api/202504/private/compat/34.0/34.0.compat.cil b/prebuilts/api/202504/private/compat/34.0/34.0.compat.cil
new file mode 100644
index 0000000..18e8ef5
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/34.0/34.0.compat.cil
@@ -0,0 +1,17 @@
+;; complement CIL file for compatibility between ToT policy and 34.0 vendors.
+;; will be compiled along with other normal policy files, on 34.0 vendors.
+;;
+
+;; This type may or may not already exist in vendor policy. The 202404 sepolicy
+;; (well, the 24Q1 release) added hidraw_device, but existing vendor policy
+;; may still label the relevant devices with the old label.
+;;
+;; Re-define it here (duplicate definitions in CIL will be ignored) - so we can
+;; duplicate the new policy for the old label to keep things working.
+;; (Doing this in 34.0.cil ended up being too messy.)
+;; See b/340923653.
+(type vendor_hidraw_device)
+(typeattributeset dev_type (vendor_hidraw_device))
+
+(allow system_server vendor_hidraw_device (dir (open getattr read search ioctl lock watch watch_reads)))
+(allow system_server vendor_hidraw_device (chr_file (getattr open read ioctl lock map watch watch_reads append write)))
diff --git a/prebuilts/api/202504/private/compat/34.0/34.0.ignore.cil b/prebuilts/api/202504/private/compat/34.0/34.0.ignore.cil
new file mode 100644
index 0000000..3f5cb68
--- /dev/null
+++ b/prebuilts/api/202504/private/compat/34.0/34.0.ignore.cil
@@ -0,0 +1,57 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 34.0 policy.  Thus, we do not need to map these types to
+;;   previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    archive_service
+    artd_pre_reboot_service
+    contextual_search_service
+    dexopt_chroot_setup_service
+    dtbo_block_device
+    ota_build_prop
+    snapuserd_log_data_file
+    fwk_vibrator_control_service
+    ecm_enhanced_confirmation_service
+    hal_authgraph_service
+    hal_graphics_mapper_service
+    hal_secretkeeper_service
+    hal_codec2_service
+    hal_macsec_service
+    hal_mediaquality_service
+    hal_remotelyprovisionedcomponent_avf_service
+    hal_threadnetwork_service
+    hidl_memory_prop
+    hidraw_device
+    input_device_config_prop
+    virtual_camera_service
+    ot_daemon_service
+    ot_daemon_socket
+    pm_archiving_enabled_prop
+    remote_auth_service
+    security_state_service
+    sensitive_content_protection_service
+    setupwizard_mode_prop
+    supervision_service
+    sysfs_sync_on_suspend
+    tv_ad_service
+    threadnetwork_service
+    device_config_aconfig_flags_prop
+    virtual_device_native_service
+    next_boot_prop
+    binderfs_logs_stats
+    drm_forcel3_prop
+    proc_percpu_pagelist_high_fraction
+    vendor_microdroid_file
+    threadnetwork_config_prop
+    profiling_service
+    aconfig_storage_metadata_file
+    aconfig_storage_flags_metadata_file
+    aconfigd
+    aconfigd_exec
+    aconfigd_socket
+    enable_16k_pages_prop
+    proc_cgroups
+    media_quality_service
+  ))
diff --git a/prebuilts/api/202504/private/compos_fd_server.te b/prebuilts/api/202504/private/compos_fd_server.te
new file mode 100644
index 0000000..01504ee
--- /dev/null
+++ b/prebuilts/api/202504/private/compos_fd_server.te
@@ -0,0 +1,26 @@
+# Make ART inputs and outputs available to the CompOS VM
+type compos_fd_server, domain, coredomain;
+
+# Allow access to open fds inherited from composd
+allow compos_fd_server composd:fd use;
+
+# Allow creating new files and directories in the staging directory.
+allow compos_fd_server apex_art_staging_data_file:dir create_dir_perms;
+allow compos_fd_server apex_art_staging_data_file:file create_file_perms;
+
+# Allow creating new files and directories in the artifacts directory.
+allow compos_fd_server apex_art_data_file:dir create_dir_perms;
+allow compos_fd_server apex_art_data_file:file create_file_perms;
+
+# Use a pipe to signal readiness
+allow compos_fd_server composd:fifo_file write;
+
+# TODO(b/196109647) - remove this when no longer needed by minijail
+allow compos_fd_server composd:fifo_file read;
+
+# Create a listening vsock for the VM to connect back to
+allow compos_fd_server self:vsock_socket { create_socket_perms_no_ioctl listen accept };
+
+# Only composd can enter the domain via exec
+neverallow { domain -composd } compos_fd_server:process transition;
+neverallow * compos_fd_server:process dyntransition;
diff --git a/prebuilts/api/202504/private/compos_verify.te b/prebuilts/api/202504/private/compos_verify.te
new file mode 100644
index 0000000..5b3615e
--- /dev/null
+++ b/prebuilts/api/202504/private/compos_verify.te
@@ -0,0 +1,24 @@
+# Run by odsign to verify a CompOS signature
+type compos_verify, domain, coredomain;
+type compos_verify_exec, exec_type, file_type, system_file_type;
+
+# Start a VM
+binder_use(compos_verify);
+virtualizationservice_use(compos_verify);
+
+# Read instance image & write VM logs
+allow compos_verify apex_module_data_file:dir search;
+allow compos_verify apex_compos_data_file:dir rw_dir_perms;
+allow compos_verify apex_compos_data_file:file { rw_file_perms create };
+
+# Read CompOS info & signature files
+allow compos_verify apex_art_data_file:dir search;
+allow compos_verify apex_art_data_file:file r_file_perms;
+
+# Allow odsign to redirect our stdout/stderr to log
+allow compos_verify odsign:fd use;
+allow compos_verify odsign_devpts:chr_file { read write };
+
+# Only odsign can enter the domain via exec
+neverallow { domain -odsign } compos_verify:process transition;
+neverallow * compos_verify:process dyntransition;
diff --git a/prebuilts/api/202504/private/composd.te b/prebuilts/api/202504/private/composd.te
new file mode 100644
index 0000000..409b2cb
--- /dev/null
+++ b/prebuilts/api/202504/private/composd.te
@@ -0,0 +1,45 @@
+type composd, domain, coredomain;
+type composd_exec, system_file_type, exec_type, file_type;
+
+# Host dynamic AIDL services
+init_daemon_domain(composd)
+binder_use(composd)
+add_service(composd, compos_service)
+
+# Call back into system server
+binder_call(composd, system_server)
+
+# Start a VM
+virtualizationservice_use(composd)
+
+# Prepare staging directory for odrefresh
+allow composd apex_art_data_file:dir { create_dir_perms relabelfrom };
+allow composd apex_art_staging_data_file:dir { create_dir_perms relabelto };
+allow composd apex_art_staging_data_file:file { getattr unlink };
+
+# Delete files or enable fs-verity in the odrefresh target directory
+allow composd apex_art_data_file:file { open ioctl read unlink write };
+allowxperm composd apex_art_data_file:file ioctl FS_IOC_ENABLE_VERITY;
+
+# Access our APEX data files
+allow composd apex_module_data_file:dir search;
+allow composd apex_compos_data_file:dir create_dir_perms;
+allow composd apex_compos_data_file:file create_file_perms;
+
+# Run fd_server in its own domain, and send SIGTERM when finished.
+domain_auto_trans(composd, fd_server_exec, compos_fd_server)
+allow composd compos_fd_server:process signal;
+
+# Read properties used to configure the CompOS VM
+get_prop(composd, composd_vm_art_prop)
+get_prop(composd, composd_vm_vendor_prop)
+
+# Read ART's properties
+get_prop(composd, dalvik_config_prop_type)
+get_prop(composd, device_config_runtime_native_boot_prop)
+
+# We never create any artifact files directly
+neverallow composd apex_art_data_file:file create;
+
+# ART sets these properties via init script, nothing else should
+neverallow { domain -init } composd_vm_art_prop:property_service set;
diff --git a/prebuilts/api/202504/private/coredomain.te b/prebuilts/api/202504/private/coredomain.te
new file mode 100644
index 0000000..7f0ca9d
--- /dev/null
+++ b/prebuilts/api/202504/private/coredomain.te
@@ -0,0 +1,263 @@
+get_prop(coredomain, apex_ready_prop)
+get_prop(coredomain, boot_status_prop)
+get_prop(coredomain, camera_config_prop)
+get_prop(coredomain, dalvik_config_prop_type)
+get_prop(coredomain, dalvik_runtime_prop)
+get_prop(coredomain, exported_pm_prop)
+get_prop(coredomain, ffs_config_prop)
+get_prop(coredomain, graphics_config_prop)
+get_prop(coredomain, graphics_config_writable_prop)
+get_prop(coredomain, hdmi_config_prop)
+get_prop(coredomain, init_service_status_private_prop)
+get_prop(coredomain, lmkd_config_prop)
+get_prop(coredomain, localization_prop)
+get_prop(coredomain, pm_prop)
+get_prop(coredomain, radio_control_prop)
+get_prop(coredomain, rollback_test_prop)
+get_prop(coredomain, setupwizard_prop)
+get_prop(coredomain, setupwizard_mode_prop)
+get_prop(coredomain, sqlite_log_prop)
+get_prop(coredomain, storagemanager_config_prop)
+get_prop(coredomain, surfaceflinger_color_prop)
+get_prop(coredomain, systemsound_config_prop)
+get_prop(coredomain, telephony_config_prop)
+get_prop(coredomain, usb_config_prop)
+get_prop(coredomain, usb_control_prop)
+get_prop(coredomain, userspace_reboot_config_prop)
+get_prop(coredomain, vold_config_prop)
+get_prop(coredomain, vts_status_prop)
+get_prop(coredomain, zygote_config_prop)
+get_prop(coredomain, zygote_wrap_prop)
+
+# TODO(b/170590987): remove this after cleaning up default_prop
+get_prop(coredomain, default_prop)
+
+full_treble_only(`
+neverallow {
+    coredomain
+
+    # for chowning
+    -init
+
+    # generic access to sysfs_type
+    -apexd
+    -ueventd
+    -vold
+} sysfs_leds:file *;
+')
+
+# On TREBLE devices, a limited set of files in /vendor are accessible to
+# only a few allowlisted coredomains to keep system/vendor separation.
+full_treble_only(`
+    # Limit access to /vendor/app
+    neverallow {
+        coredomain
+        -appdomain
+        -artd
+        -dex2oat
+        -idmap
+        -init
+        -installd
+        -heapprofd
+        -postinstall_dexopt
+        -rs # spawned by appdomain, so carryover the exception above
+        -system_server
+        -traced_perf
+        userdebug_or_eng(`-overlay_remounter')
+    } vendor_app_file:dir { open read getattr search };
+')
+
+full_treble_only(`
+    neverallow {
+        coredomain
+        -appdomain
+        -artd
+        -dex2oat
+        -idmap
+        -init
+        -installd
+        -heapprofd
+        userdebug_or_eng(`-profcollectd')
+        -postinstall_dexopt
+        -profman
+        -rs # spawned by appdomain, so carryover the exception above
+        userdebug_or_eng(`-simpleperf_boot')
+        -system_server
+        -traced_perf
+        -mediaserver
+        userdebug_or_eng(`-overlay_remounter')
+    } vendor_app_file:file r_file_perms;
+')
+
+full_treble_only(`
+    # Limit access to /vendor/overlay
+    neverallow {
+        coredomain
+        -appdomain
+        -artd
+        -dex2oat
+        -idmap
+        -init
+        -installd
+        -postinstall_dexopt
+        -rs # spawned by appdomain, so carryover the exception above
+        -system_server
+        -traced_perf
+        -app_zygote
+        -webview_zygote
+        -zygote
+        -heapprofd
+        userdebug_or_eng(`-overlay_remounter')
+    } vendor_overlay_file:dir { getattr open read search };
+')
+
+full_treble_only(`
+    neverallow {
+        coredomain
+        -appdomain
+        -artd
+        -dex2oat
+        -idmap
+        -init
+        -installd
+        -postinstall_dexopt
+        -rs # spawned by appdomain, so carryover the exception above
+        -system_server
+        -traced_perf
+        -app_zygote
+        -webview_zygote
+        -zygote
+        -heapprofd
+        userdebug_or_eng(`-profcollectd')
+        userdebug_or_eng(`-simpleperf_boot')
+        userdebug_or_eng(`-overlay_remounter')
+    } vendor_overlay_file:file open;
+')
+
+# Core domains are not permitted to use kernel interfaces which are not
+# explicitly labeled.
+# TODO(b/65643247): Apply these neverallow rules to all coredomain.
+full_treble_only(`
+  # /proc
+  neverallow {
+    coredomain
+    -init
+    -vold
+  } proc:file no_rw_file_perms;
+
+  # /sys
+  neverallow {
+    coredomain
+    -apexd
+    -init
+    -ueventd
+    is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT, `-vfio_handler')
+    -vold
+  } sysfs:file no_rw_file_perms;
+
+  # /dev
+  neverallow {
+    coredomain
+    -apexd
+    -fsck
+    -init
+    -ueventd
+  } device:{ blk_file file } no_rw_file_perms;
+
+  # debugfs
+  neverallow {
+    coredomain
+    no_debugfs_restriction(`
+      -dumpstate
+      -init
+      -system_server
+    ')
+  } debugfs:file no_rw_file_perms;
+
+  # tracefs
+  neverallow {
+    coredomain
+    -atrace
+    -dumpstate
+    -gpuservice
+    -init
+    -lmkd
+    -traced_perf
+    -traced_probes
+    -shell
+    -system_server
+    -traceur_app
+    -prefetch
+    userdebug_or_eng(`-profcollectd')
+    userdebug_or_eng(`-simpleperf_boot')
+  } debugfs_tracing:file no_rw_file_perms;
+
+  # inotifyfs
+  neverallow {
+    coredomain
+    -init
+  } inotify:file no_rw_file_perms;
+
+  # pstorefs
+  neverallow {
+    coredomain
+    -bootstat
+    -charger
+    -dumpstate
+    userdebug_or_eng(`-incidentd')
+    -init
+    -logd
+    -logpersist
+    -recovery_persist
+    -recovery_refresh
+    -shell
+    -system_server
+  } pstorefs:file no_rw_file_perms;
+
+  # configfs
+  neverallow {
+    coredomain
+    -init
+    -system_server
+  } configfs:file no_rw_file_perms;
+
+  # functionfs
+  neverallow {
+    coredomain
+    -adbd
+    -adbd_tradeinmode
+    -init
+    -mediaprovider
+    -system_server
+  } functionfs:file no_rw_file_perms;
+
+  # usbfs and binfmt_miscfs
+  neverallow {
+    coredomain
+    -init
+  }{ usbfs binfmt_miscfs }:file no_rw_file_perms;
+
+  # dmabuf heaps
+  neverallow {
+    coredomain
+    -init
+    -ueventd
+  }{
+    dmabuf_heap_device_type
+    -dmabuf_system_heap_device
+    -dmabuf_system_secure_heap_device
+  }:chr_file no_rw_file_perms;
+')
+
+# Following /dev nodes must not be directly accessed by coredomain, but should
+# instead be wrapped by HALs.
+neverallow coredomain {
+  iio_device
+  radio_device
+}:chr_file { open read append write ioctl };
+
+# TODO(b/120243891): HAL permission to tee_device is included into coredomain
+# on non-Treble devices.
+full_treble_only(`
+  neverallow coredomain tee_device:chr_file { open read append write ioctl };
+')
diff --git a/prebuilts/api/202504/private/cppreopts.te b/prebuilts/api/202504/private/cppreopts.te
new file mode 100644
index 0000000..1192ba6
--- /dev/null
+++ b/prebuilts/api/202504/private/cppreopts.te
@@ -0,0 +1,31 @@
+# cppreopts
+#
+# This command copies preopted files from the system_b partition to the data
+# partition. This domain ensures that we are only copying into specific
+# directories.
+
+type cppreopts, domain, mlstrustedsubject, coredomain;
+type cppreopts_exec, system_file_type, exec_type, file_type;
+
+# Technically not a daemon but we do want the transition from init domain to
+# cppreopts to occur.
+init_daemon_domain(cppreopts)
+domain_auto_trans(cppreopts, preopt2cachename_exec, preopt2cachename);
+
+# Allow cppreopts copy files into the dalvik-cache
+allow cppreopts dalvikcache_data_file:dir { add_name remove_name search write };
+allow cppreopts dalvikcache_data_file:file { create getattr open read rename write unlink };
+
+# Allow cppreopts to execute itself using #!/system/bin/sh
+allow cppreopts shell_exec:file rx_file_perms;
+
+# Allow us to run find on /postinstall
+allow cppreopts system_file:dir { open read };
+
+# Allow running the cp command using cppreopts permissions. Needed so we can
+# write into dalvik-cache
+allow cppreopts toolbox_exec:file rx_file_perms;
+
+# Silence the denial when /postinstall cannot be mounted, e.g., system_other
+# is wiped, but cppreopts.sh still runs.
+dontaudit cppreopts postinstall_mnt_dir:dir search;
diff --git a/prebuilts/api/202504/private/crash_dump.te b/prebuilts/api/202504/private/crash_dump.te
new file mode 100644
index 0000000..4bd1d38
--- /dev/null
+++ b/prebuilts/api/202504/private/crash_dump.te
@@ -0,0 +1,146 @@
+typeattribute crash_dump coredomain;
+
+# Crash dump does not need to access devices passed across exec().
+dontaudit crash_dump { devpts dev_type }:chr_file { read write };
+
+allow crash_dump {
+  domain
+  -apexd
+  -bpfloader
+  -crash_dump
+  -init
+  -kernel
+  -keystore
+  -llkd
+  -logd
+  -ueventd
+  -vendor_init
+  -vold
+}:process { ptrace signal sigchld sigstop sigkill };
+
+userdebug_or_eng(`
+  allow crash_dump { apexd llkd logd vold }:process { ptrace signal sigchld sigstop sigkill };
+')
+
+# Read ART APEX data directory
+allow crash_dump apex_art_data_file:dir { getattr search };
+allow crash_dump apex_art_data_file:file r_file_perms;
+
+# Allow crash dump to read bootstrap libraries
+allow crash_dump system_bootstrap_lib_file:dir { getattr search };
+allow crash_dump system_bootstrap_lib_file:file r_file_perms;
+
+# Read Vendor APEX directories
+allow crash_dump vendor_apex_metadata_file:dir { getattr search };
+
+# crash_dump might inherit CAP_SYS_PTRACE from a privileged process,
+# which will result in an audit log even when it's allowed to trace.
+dontaudit crash_dump self:global_capability_class_set { sys_ptrace };
+
+userdebug_or_eng(`
+  allow crash_dump logd:process { ptrace signal sigchld sigstop sigkill };
+
+  # Let crash_dump write to /dev/kmsg_debug crashes that happen before logd comes up.
+  allow crash_dump kmsg_debug_device:chr_file { open append };
+')
+
+# Use inherited file descriptors
+allow crash_dump domain:fd use;
+
+# Read/write IPC pipes inherited from crashing processes.
+allow crash_dump domain:fifo_file { read write };
+
+# Append to pipes given to us by processes requesting dumps (e.g. dumpstate)
+allow crash_dump domain:fifo_file { append };
+
+# Read information from /proc/$PID.
+allow crash_dump domain:process getattr;
+
+r_dir_file(crash_dump, domain)
+allow crash_dump exec_type:file r_file_perms;
+
+# Read /data/dalvik-cache.
+allow crash_dump dalvikcache_data_file:dir { search getattr };
+allow crash_dump dalvikcache_data_file:file r_file_perms;
+
+# Read APEX data directories.
+allow crash_dump apex_module_data_file:dir { getattr search };
+
+# Read uptime
+allow crash_dump proc_uptime:file r_file_perms;
+
+# Read APK files.
+r_dir_file(crash_dump, apk_data_file);
+
+# Read all /vendor
+r_dir_file(crash_dump, { vendor_file same_process_hal_file })
+
+# Read all /data/local/tests
+r_dir_file(crash_dump, shell_test_data_file)
+
+# Talk to tombstoned
+unix_socket_connect(crash_dump, tombstoned_crash, tombstoned)
+
+# Talk to ActivityManager.
+unix_socket_connect(crash_dump, system_ndebug, system_server)
+
+# Append to ANR files.
+allow crash_dump anr_data_file:file { append getattr };
+
+# Append to tombstone files.
+allow crash_dump tombstone_data_file:file { append getattr };
+
+# crash_dump writes out logcat logs at the bottom of tombstones,
+# which is super useful in some cases.
+unix_socket_connect(crash_dump, logdr, logd)
+
+# Crash dump is not intended to access the following files. Since these
+# are WAI, suppress the denials to clean up the logs.
+dontaudit crash_dump {
+  core_data_file_type
+  vendor_file_type
+}:dir search;
+# Crash dump might try to read files that are mapped into the crashed process's
+# memory space to extract useful binary information such as the ELF header. See
+# system/core/debuggerd/libdebuggerd/tombstone_proto.cpp:dump_mappings.
+# Ignore these accesses.
+dontaudit crash_dump {
+  app_data_file_type
+  property_type
+  system_data_file
+}:{ lnk_file file } { read open };
+
+get_prop(crash_dump, misctrl_prop)
+
+###
+### neverallow assertions
+###
+
+# A domain transition must occur for crash_dump to get the privileges needed to trace the process.
+# Do not allow the execution of crash_dump without a domain transition.
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} crash_dump_exec:file execute_no_trans;
+
+# sigchld not explicitly forbidden since it's part of the
+# domain-transition-on-exec macros, and is by itself not sensitive
+neverallow crash_dump {
+  apexd
+  userdebug_or_eng(`-apexd')
+  bpfloader
+  init
+  kernel
+  keystore
+  llkd
+  userdebug_or_eng(`-llkd')
+  logd
+  userdebug_or_eng(`-logd')
+  ueventd
+  vendor_init
+  vold
+  userdebug_or_eng(`-vold')
+}:process { ptrace signal sigstop sigkill };
+
+neverallow crash_dump self:process ptrace;
+neverallow crash_dump gpu_device:chr_file *;
diff --git a/prebuilts/api/202504/private/credstore.te b/prebuilts/api/202504/private/credstore.te
new file mode 100644
index 0000000..bef5c55
--- /dev/null
+++ b/prebuilts/api/202504/private/credstore.te
@@ -0,0 +1,29 @@
+typeattribute credstore coredomain;
+
+init_daemon_domain(credstore)
+
+# talk to Identity Credential
+hal_client_domain(credstore, hal_identity)
+
+# talk to keymint, specifically for IRemotelyProvisionedComponent/default
+hal_client_domain(credstore, hal_keymint)
+
+# credstore needs to get keys from the RKPD
+get_prop(credstore, remote_prov_prop)
+allow credstore remote_provisioning_service:service_manager find;
+
+binder_use(credstore)
+binder_service(credstore)
+binder_call(credstore, system_server)
+
+allow credstore credstore_data_file:dir create_dir_perms;
+allow credstore credstore_data_file:file create_file_perms;
+
+add_service(credstore, credstore_service)
+allow credstore sec_key_att_app_id_provider_service:service_manager find;
+allow credstore dropbox_service:service_manager find;
+allow credstore authorization_service:service_manager find;
+allow credstore keystore:keystore2 get_auth_token;
+
+r_dir_file(credstore, cgroup)
+r_dir_file(credstore, cgroup_v2)
diff --git a/prebuilts/api/202504/private/crosvm.te b/prebuilts/api/202504/private/crosvm.te
new file mode 100644
index 0000000..6051992
--- /dev/null
+++ b/prebuilts/api/202504/private/crosvm.te
@@ -0,0 +1,229 @@
+until_board_api(202504, `
+    type crosvm, domain, coredomain;
+')
+
+type crosvm_exec, system_file_type, exec_type, file_type;
+type crosvm_tmpfs, file_type;
+
+# Let crosvm open VM manager devices such as /dev/kvm.
+allow crosvm vm_manager_device_type:chr_file rw_file_perms;
+
+# Most other domains shouldn't access /dev/kvm.
+neverallow { domain -crosvm -ueventd -shell } kvm_device:chr_file getattr;
+neverallow { domain -crosvm -ueventd } kvm_device:chr_file ~getattr;
+neverallowxperm { domain -crosvm } kvm_device:chr_file ioctl ~{ KVM_CHECK_EXTENSION };
+
+# Most other domains shouldn't access other vm managers either.
+# These restrictions need to be slightly looser than for kvm_device to allow
+# for different implementations.
+neverallow { coredomain appdomain -crosvm -ueventd -shell } vm_manager_device_type:chr_file getattr;
+neverallow { coredomain appdomain -crosvm -ueventd } vm_manager_device_type:chr_file ~getattr;
+
+# Let crosvm create temporary files.
+tmpfs_domain(crosvm)
+
+# Let crosvm receive file descriptors from VirtualizationService.
+allow crosvm {
+  virtualizationmanager
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `early_virtmgr')
+}:fd use;
+
+# Allow sending VirtualizationService the failure reason and console/log from the VM via pipe.
+allow crosvm {
+  virtualizationmanager
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `early_virtmgr')
+}:fifo_file write;
+
+# Let crosvm read the composite disk images (virtualizationservice_data_file), APEXes
+# (staging_data_file), APKs (apk_data_file and shell_data_file where the latter is for test apks in
+# /data/local/tmp), instance.img (app_data_file), and microdroid vendor image (vendor_microdroid_file).
+# Allow crosvm to read the instance image of the service VM saved in apex_virt_data_file.
+# Note that the open permission is not given as the files are passed as file descriptors.
+allow crosvm {
+  virtualizationservice_data_file
+  staging_data_file
+  apk_data_file
+  app_data_file
+  privapp_data_file
+  apex_compos_data_file
+  apex_virt_data_file
+  shell_data_file
+  vendor_microdroid_file
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `vm_data_file')
+}:file { getattr read ioctl lock };
+
+# Allow searching the directory where the composite disk images are.
+allow crosvm {
+    virtualizationservice_data_file
+    is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `vm_data_file')
+}:dir search;
+
+# When running a VM as root we get spurious capability denials.
+# Suppress them.
+userdebug_or_eng(`
+  dontaudit crosvm self:capability ipc_lock;
+')
+
+# Allow crosvm to tune for performance.
+allow crosvm self:global_capability_class_set sys_nice;
+
+# Let crosvm access its control socket as created by VS.
+#   read, write, getattr: listener socket polling
+#   accept: listener socket accepting new connection
+# Note that the open permission is not given as the socket is passed by FD.
+allow crosvm {
+  virtualizationmanager
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `early_virtmgr')
+}:unix_stream_socket { accept read write getattr getopt };
+
+# Let crosvm open test artifacts under /data/local/tmp with file path. (e.g. custom pvmfw.img)
+userdebug_or_eng(`
+  allow crosvm shell_data_file:dir search;
+  allow crosvm shell_data_file:file open;
+')
+
+# The instance image and the composite image should be writable as well because they could represent
+# mutable disks.
+allow crosvm {
+  virtualizationservice_data_file
+  app_data_file
+  privapp_data_file
+  apex_compos_data_file
+  apex_virt_data_file
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `vm_data_file')
+}:file write;
+
+# Allow crosvm to pipe console log to shell or app which could be the owner of a VM.
+allow crosvm adbd:fd use;
+allow crosvm adbd:unix_stream_socket { read write };
+allow crosvm devpts:chr_file { read write getattr ioctl };
+
+is_flag_enabled(RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES, `
+  # Allow crosvm to draw screen in the surface
+  allow crosvm device:dir { read open };
+  allow crosvm same_process_hal_file:file { read open getattr map execute };
+  allow crosvm gpu_device:chr_file { read write open ioctl map open getattr };
+  allow crosvm hal_graphics_allocator:fd use;
+  allow crosvm hal_graphics_allocator_server:binder call;
+  allow crosvm surfaceflinger:fd use;
+  hal_client_domain(crosvm, hal_graphics_allocator)
+
+  # To provide display service to an app to get surface.
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+  allow crosvm vmlauncher_app:binder { transfer call };
+  allow crosvm servicemanager:binder { call transfer };
+  allow crosvm virtualization_service:service_manager find;
+  allow crosvm virtualizationservice:binder { call transfer };
+
+  # Allow crosvm to play sound.
+  binder_call(crosvm, audioserver)
+  allow crosvm audioserver_service:service_manager find;
+
+  # Allow crosvm to mount fuse path in guest VM through virtiofs
+  allow crosvm fuse:file create_file_perms;
+  allow crosvm fuse:dir create_dir_perms;
+  allow crosvm mnt_user_file:dir search;
+
+  # Allow crosvm to create unix socket for vhost-user-fs
+  allow crosvm virtualizationservice_data_file:dir { add_name write remove_name };
+  allow crosvm virtualizationservice_data_file:sock_file { create write unlink };
+')
+
+# crosvm tries to use netlink sockets as part its APCI implementation, but we don't need it for AVF (b/228077254)
+dontaudit crosvm self:netlink_generic_socket create_socket_perms_no_ioctl;
+
+# crosvm can write files in /data/local/tmp which are usually used for instance.img and logging by
+# compliance tests and demo apps. Write access to instance.img is particularily important because
+# the VM has to initialize the disk image on its first boot. Note that open access is still not
+# granted because the files are expected to be opened by the owner of the VM (apps or shell in case
+# when the vm is created by the `vm` tool) and handed over to crosvm as FD.
+allow crosvm shell_data_file:file write;
+
+# crosvm tries to read serial device, including the write-only pipe from virtualizationmanager (to
+# forward console/log to the host logcat).
+# crosvm only needs write permission, so dontaudit read
+dontaudit crosvm {
+  virtualizationmanager
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `early_virtmgr')
+}:fifo_file { read getattr };
+
+# Required for crosvm to start gdb-server to enable debugging of guest kernel.
+allow crosvm self:tcp_socket { bind create read setopt write accept listen };
+allow crosvm port:tcp_socket name_bind;
+allow crosvm adbd:unix_stream_socket ioctl;
+allow crosvm node:tcp_socket node_bind;
+
+# Allow crosvm to interact to VFIO device
+allow crosvm vfio_device:chr_file rw_file_perms;
+allow crosvm vfio_device:dir r_dir_perms;
+
+# Allow crosvm to access VM DTBO via a file created by virtualizationmanager.
+allow crosvm virtualizationservice_data_file:file read;
+
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    # Allow crosvm to deal with file descriptors of TAP interfaces.
+    allow crosvm tun_device:chr_file rw_file_perms;
+    allowxperm crosvm tun_device:chr_file ioctl { TUNGETIFF TUNSETOFFLOAD TUNSETVNETHDRSZ };
+    allow crosvm self:udp_socket create_socket_perms;
+    allowxperm crosvm self:udp_socket ioctl SIOCGIFMTU;
+    allow crosvm vmnic:fd use;
+')
+
+# Early VMs may print messages to kmsg_debug_device.
+allow crosvm kmsg_debug_device:chr_file w_file_perms;
+
+# Don't allow crosvm to open files that it doesn't own.
+# This is important because a malicious application could try to start a VM with a composite disk
+# image referring by name to files which it doesn't have permission to open, trying to get crosvm to
+# open them on its behalf. By preventing crosvm from opening any other files we prevent this
+# potential privilege escalation. See http://b/192453819 for more discussion.
+neverallow crosvm {
+  virtualizationservice_data_file
+  staging_data_file
+  apk_data_file
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `vm_data_file')
+  userdebug_or_eng(`-shell_data_file')
+}:file open;
+
+# Don't allow crosvm to have access to ordinary vendor files that are not for VMs.
+full_treble_only(`
+  neverallow crosvm {
+    vendor_file_type
+    -vendor_vm_file
+    -vendor_vm_data_file
+    # These types are not required for crosvm, but the access is granted to globally in domain.te
+    # thus should be exempted here.
+    -vendor_cgroup_desc_file
+    -vendor_configs_file
+    -vendor_microdroid_file
+    -vndk_sp_file
+    -vendor_task_profiles_file
+    -same_process_hal_file
+  }:file *;
+')
+
+# Only allow crosvm to read app data files for clients that can start
+# VMs. Note that the use of app data files is further restricted
+# inside the virtualizationservice by checking the label of all disk
+# image files.
+neverallow crosvm {
+  app_data_file_type
+  -app_data_file
+  -privapp_data_file
+  -shell_data_file
+}:file read;
+
+# Only virtualizationmanager can run crosvm
+# Allow vmlauncher app to launch crosvm for virtiofs
+neverallow {
+  domain
+  -crosvm
+  -virtualizationmanager
+  -vmlauncher_app
+  userdebug_or_eng(`-overlay_remounter')
+
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `-early_virtmgr')
+} crosvm_exec:file no_x_file_perms;
diff --git a/prebuilts/api/202504/private/derive_classpath.te b/prebuilts/api/202504/private/derive_classpath.te
new file mode 100644
index 0000000..d7c29c2
--- /dev/null
+++ b/prebuilts/api/202504/private/derive_classpath.te
@@ -0,0 +1,32 @@
+
+# Domain for derive_classpath
+type derive_classpath, domain, coredomain, artd_subprocess_type;
+type derive_classpath_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(derive_classpath)
+
+# Read /apex
+allow derive_classpath apex_mnt_dir:dir r_dir_perms;
+allow derive_classpath vendor_apex_metadata_file:dir r_dir_perms;
+
+# Create /data/system/environ/classpath file
+allow derive_classpath environ_system_data_file:dir rw_dir_perms;
+allow derive_classpath environ_system_data_file:file create_file_perms;
+
+# b/183079517 fails on gphone targets otherwise
+allow derive_classpath unlabeled:dir search;
+
+# Allow derive_classpath to write the classpath into ota dexopt
+# - Read the ota's apex dir
+allow derive_classpath postinstall_apex_mnt_dir:dir r_dir_perms;
+# - Report the BCP to the ota's dexopt
+allow derive_classpath postinstall_dexopt:dir search;
+allow derive_classpath postinstall_dexopt:fd use;
+allow derive_classpath postinstall_dexopt:file read;
+allow derive_classpath postinstall_dexopt:lnk_file read;
+allow derive_classpath postinstall_dexopt_tmpfs:file rw_file_perms;
+
+# Allow to be called by artd in Pre-reboot Dexopt.
+allow derive_classpath artd:fd use;
+
+# Allow writing to Pre-reboot Dexopt temp files.
+allow derive_classpath pre_reboot_dexopt_artd_file:file { open read write };
diff --git a/prebuilts/api/202504/private/derive_sdk.te b/prebuilts/api/202504/private/derive_sdk.te
new file mode 100644
index 0000000..c47f0a5
--- /dev/null
+++ b/prebuilts/api/202504/private/derive_sdk.te
@@ -0,0 +1,21 @@
+
+# Domain for derive_sdk
+type derive_sdk, domain, coredomain;
+type derive_sdk_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(derive_sdk)
+
+# Read /apex
+allow derive_sdk apex_mnt_dir:dir r_dir_perms;
+allow derive_sdk vendor_apex_metadata_file:dir r_dir_perms;
+
+# Prop rules: writable by derive_sdk, readable by bootclasspath (apps)
+set_prop(derive_sdk, module_sdkextensions_prop)
+neverallow { domain -init -derive_sdk } module_sdkextensions_prop:property_service set;
+
+# Allow derive_sdk to write data back to dumpstate when forked from dumpstate.
+# The shell_data_file permissions are needed when a bugreport is taken:
+# dumpstate will redirect its stdout to a temporary shell_data_file:file, and
+# this makes derive_sdk append to that file.
+allow derive_sdk dumpstate:fd use;
+allow derive_sdk dumpstate:unix_stream_socket { read write };
+allow derive_sdk shell_data_file:file { getattr append read write };
diff --git a/prebuilts/api/202504/private/device_as_webcam.te b/prebuilts/api/202504/private/device_as_webcam.te
new file mode 100644
index 0000000..98c91c2
--- /dev/null
+++ b/prebuilts/api/202504/private/device_as_webcam.te
@@ -0,0 +1,21 @@
+# Domain for DeviceAsWebcam Service
+type device_as_webcam, domain, coredomain, mlstrustedsubject;
+
+app_domain(device_as_webcam)
+
+allow device_as_webcam system_app_data_file:dir create_dir_perms;
+allow device_as_webcam system_app_data_file:file create_file_perms;
+
+allow device_as_webcam { app_api_service cameraserver_service }:service_manager find;
+
+# Allow DeviceAsWebcam Service needs to access ro.usb.uvc.enabled property to
+# enale/disable itself
+get_prop(device_as_webcam, usb_uvc_enabled_prop)
+
+# need to access /dev to list all devices
+allow device_as_webcam device:dir r_dir_perms;
+
+# UVC nodes are mounted as V4L2 nodes (/dev/video*) on the device. These need to
+# be accessed by the DeviceAsWebcam Service.
+allow device_as_webcam video_device:dir r_dir_perms;
+allow device_as_webcam video_device:chr_file rw_file_perms;
diff --git a/prebuilts/api/202504/private/dex2oat.te b/prebuilts/api/202504/private/dex2oat.te
new file mode 100644
index 0000000..3a841ce
--- /dev/null
+++ b/prebuilts/api/202504/private/dex2oat.te
@@ -0,0 +1,115 @@
+# dex2oat
+type dex2oat, domain, coredomain, artd_subprocess_type;
+type dex2oat_exec, system_file_type, exec_type, file_type;
+
+userfaultfd_use(dex2oat)
+
+r_dir_file(dex2oat, apk_data_file)
+# Access to /vendor/app
+r_dir_file(dex2oat, vendor_app_file)
+# Access /vendor/framework
+allow dex2oat vendor_framework_file:dir { getattr search };
+allow dex2oat vendor_framework_file:file { getattr open read map };
+# Access /vendor/overlay
+r_dir_file(dex2oat, vendor_overlay_file);
+# Vendor overlay can be found in vendor apex
+allow dex2oat vendor_apex_metadata_file:dir { getattr search };
+
+allow dex2oat tmpfs:file { read getattr map };
+
+r_dir_file(dex2oat, dalvikcache_data_file)
+allow dex2oat dalvikcache_data_file:file write;
+
+# Acquire advisory lock on /system/framework/arm/*
+allow dex2oat system_file:file lock;
+allow dex2oat postinstall_file:file lock;
+
+# Read already open asec_apk_file file descriptors passed by installd.
+# Also allow reading unlabeled files, to allow for upgrading forward
+# locked APKs.
+allow dex2oat asec_apk_file:file { read map };
+allow dex2oat unlabeled:file { read map };
+allow dex2oat oemfs:file { read map };
+allow dex2oat apk_tmp_file:dir search;
+allow dex2oat apk_tmp_file:file r_file_perms;
+allow dex2oat user_profile_data_file:file { getattr read lock map };
+
+# Allow dex2oat to compile app's secondary dex files which were reported back to
+# the framework.
+allow dex2oat { privapp_data_file app_data_file }:file { getattr read write lock map };
+
+# Allow dex2oat to find files and directories under /data/misc/apexdata/com.android.runtime.
+allow dex2oat apex_module_data_file:dir search;
+
+# Allow dex2oat to use devpts passed from odsign.
+allow dex2oat odsign_devpts:chr_file { read write };
+
+# Allow dex2oat to write to file descriptors from odrefresh for files
+# in the staging area.
+allow dex2oat apex_art_staging_data_file:dir r_dir_perms;
+allow dex2oat apex_art_staging_data_file:file { getattr map read write unlink };
+
+# Allow dex2oat to read artifacts from odrefresh.
+allow dex2oat apex_art_data_file:dir r_dir_perms;
+allow dex2oat apex_art_data_file:file r_file_perms;
+
+# Allow dex2oat to read runtime native flag properties.
+get_prop(dex2oat, device_config_runtime_native_prop)
+get_prop(dex2oat, device_config_runtime_native_boot_prop)
+
+# Allow dex2oat to read /apex/apex-info-list.xml
+allow dex2oat apex_info_file:file r_file_perms;
+
+# Allow dex2oat to use file descriptors passed from privileged programs.
+allow dex2oat { artd installd odrefresh odsign }:fd use;
+
+# Allow dex2oat to read the /proc filesystem for CPU features, etc.
+allow dex2oat proc_filesystems:file r_file_perms;
+
+##################
+# A/B OTA Dexopt #
+##################
+
+# Allow dex2oat to use file descriptors from otapreopt.
+allow dex2oat postinstall_dexopt:fd use;
+
+# Allow dex2oat to read files under /postinstall (e.g. APKs under /system, /system/bin/linker).
+allow dex2oat postinstall_file:dir r_dir_perms;
+allow dex2oat postinstall_file:filesystem getattr;
+allow dex2oat postinstall_file:lnk_file { getattr read };
+allow dex2oat postinstall_file:file read;
+# Allow dex2oat to use libraries under /postinstall/system (e.g. /system/lib/libc.so).
+# TODO(b/120266448): Remove when Bionic libraries are part of the Runtime APEX.
+allow dex2oat postinstall_file:file { execute getattr open };
+
+# Allow dex2oat access to /postinstall/apex.
+allow dex2oat postinstall_apex_mnt_dir:dir { getattr search };
+allow dex2oat postinstall_apex_mnt_dir:{ file lnk_file } r_file_perms;
+
+# Allow dex2oat access to files in /data/ota.
+allow dex2oat ota_data_file:dir ra_dir_perms;
+allow dex2oat ota_data_file:file r_file_perms;
+
+# Create and read symlinks in /data/ota/dalvik-cache. This is required for PIC mode boot images,
+# where the oat file is symlinked to the original file in /system.
+allow dex2oat ota_data_file:lnk_file { create read };
+
+# It would be nice to tie this down, but currently, because of how images are written, we can't
+# pass file descriptors for the preopted boot image to dex2oat. So dex2oat needs to be able to
+# create them itself (and make them world-readable).
+allow dex2oat ota_data_file:file { create w_file_perms setattr };
+
+###############
+# APEX Update #
+###############
+
+# /dev/zero is inherited.
+allow dex2oat apexd:fd use;
+
+# Allow dex2oat to use file descriptors from preinstall.
+
+##############
+# Neverallow #
+##############
+
+neverallow dex2oat app_data_file_type:notdevfile_class_set open;
diff --git a/prebuilts/api/202504/private/dexopt_chroot_setup.te b/prebuilts/api/202504/private/dexopt_chroot_setup.te
new file mode 100644
index 0000000..b4b35dd
--- /dev/null
+++ b/prebuilts/api/202504/private/dexopt_chroot_setup.te
@@ -0,0 +1,158 @@
+# A service that sets up the chroot environment for Pre-reboot Dexopt.
+type dexopt_chroot_setup, domain, coredomain;
+type dexopt_chroot_setup_exec, system_file_type, exec_type, file_type;
+type dexopt_chroot_setup_tmpfs, file_type;
+
+# Allow dexopt_chroot_setup to publish a binder service and make binder calls.
+binder_use(dexopt_chroot_setup)
+add_service(dexopt_chroot_setup, dexopt_chroot_setup_service)
+allow dexopt_chroot_setup dumpstate:fifo_file { getattr write };
+allow dexopt_chroot_setup dumpstate:fd use;
+
+init_daemon_domain(dexopt_chroot_setup)
+
+# Use tmpfs_domain() which will give tmpfs files created by dexopt_chroot_setup
+# their own label, which differs from other labels created by other processes.
+# This allows to distinguish in policy files created by dexopt_chroot_setup vs
+# other processes.
+tmpfs_domain(dexopt_chroot_setup)
+
+# libart (mark_compact.cc) has some intialization code that touches the cache
+# info file and userfaultfd.
+allow dexopt_chroot_setup apex_module_data_file:dir { getattr search };
+r_dir_file(dexopt_chroot_setup, apex_art_data_file)
+userfaultfd_use(dexopt_chroot_setup)
+
+# Allow getting root capabilities to bypass permission checks.
+# - "sys_admin" is for performing mount and umount.
+# - "sys_chroot" is for performing chroot.
+allow dexopt_chroot_setup self:global_capability_class_set { sys_admin sys_chroot };
+
+# Allow managing its own files.
+# The root of the temp dir that dexopt_chroot_setup uses is labeled
+# pre_reboot_dexopt_file.
+allow dexopt_chroot_setup pre_reboot_dexopt_file:dir create_dir_perms;
+allow dexopt_chroot_setup pre_reboot_dexopt_file:file create_file_perms;
+
+# Allow accessing /proc/filesystems.
+allow dexopt_chroot_setup proc_filesystems:file r_file_perms;
+
+# Allow accessing block devices (/dev/block/...).
+allow dexopt_chroot_setup block_device:dir { getattr search };
+
+# Allow mounting file systems, to create a chroot environment.
+# We recursively bind-mount directories under /data, /mnt/expand, /proc, /sys,
+# and /dev. We need some of them (e.g., incremental-fs directories for
+# incremental apps in /data; /dev/cpuctl and /dev/blkio for task profiles), but
+# not necessarily all of them. However, to avoid random crashes and silent
+# fallbacks, we bind-mount all of them. Therefore, we need access to many of the
+# fstypes.
+
+allow dexopt_chroot_setup {
+  apex_mnt_dir
+  apk_data_file
+  binderfs
+  binfmt_miscfs
+  cgroup
+  cgroup_v2
+  userdebug_or_eng(debugfs)
+  debugfs_tracing_debug
+  device
+  devpts
+  fs_bpf
+  functionfs
+  fusectlfs
+  linkerconfig_file
+  metadata_file
+  mnt_expand_file
+  pre_reboot_dexopt_file
+  proc
+  pstorefs
+  rootfs
+  selinuxfs
+  sysfs
+  system_data_file
+  system_data_root_file
+  system_file
+  system_lib_file
+  tmpfs
+  vendor_configs_file
+  vendor_file
+}:dir mounton;
+
+allow dexopt_chroot_setup { tmpfs labeledfs }:filesystem mount;
+
+allow dexopt_chroot_setup {
+  binderfs
+  binfmt_miscfs
+  cgroup
+  cgroup_v2
+  userdebug_or_eng(debugfs)
+  debugfs_tracing_debug
+  devpts
+  fs_bpf
+  functionfs
+  fusectlfs
+  labeledfs
+  proc
+  pstorefs
+  selinuxfs
+  sysfs
+  tmpfs
+}:filesystem unmount;
+
+# Allow reading /apex in chroot.
+r_dir_file(dexopt_chroot_setup, apex_mnt_dir)
+allow dexopt_chroot_setup apex_info_file:file r_file_perms;
+
+# Allow writing an empty linker config in chroot to suppress linker warnings.
+# The empty linker config is used until linkerconfig has run.
+# In chroot, we're reusing the type outside the chroot, to reuse all the rules
+# for it for other domains, even though we're not changing the real linker
+# config outside the chroot.
+allow dexopt_chroot_setup linkerconfig_file:dir { write add_name };
+allow dexopt_chroot_setup linkerconfig_file:file { create write };
+
+# Allow using the `rootcontext=` option when mounting tmpfs, so we can give the
+# right labels to /apex, /linkerconfig, /mnt/artd_tmp in chroot.
+# Combined with `allow file_type tmpfs:filesystem associate;`, this allows
+# giving any labels to any tmpfs filesystems as soon as they are mounted.
+# Note that those tmpfs filesystems are known to be empty at the time where the
+# labels are given, and this rule doesn't allow relabeling any existing tmpfs.
+allow dexopt_chroot_setup tmpfs:filesystem relabelfrom;
+
+# Allow executing art_exec_exec without a domain transition because it is a thin
+# wrapper that executes other binaries on behalf of dexopt_chroot_setup. Domain
+# transition will take place as soon as art_exec_exec executes other binaries.
+allow dexopt_chroot_setup art_exec_exec:file rx_file_perms;
+
+# Allow running other binaries in their own domains.
+domain_auto_trans(dexopt_chroot_setup, apexd_exec, apexd)
+domain_auto_trans(dexopt_chroot_setup, linkerconfig_exec, linkerconfig)
+
+# Allow running snapshotctl through init, to map and unmap block devices.
+set_prop(dexopt_chroot_setup, snapshotctl_prop)
+
+# Allow accessing /data/app/..., to bind-mount dirs for incremental apps.
+allow dexopt_chroot_setup apk_data_file:dir { getattr search };
+
+# Neverallow rules.
+
+# Never allow running other binaries without a domain transition.
+# The exception for art_exec_exec is explained above.
+neverallow dexopt_chroot_setup ~{art_exec_exec}:file execute_no_trans;
+
+# Given how powerful this domain is, it shouldn't be used for other purposes.
+neverallow { domain -init } dexopt_chroot_setup:process transition;
+neverallow * dexopt_chroot_setup:process dyntransition;
+
+# Never allow other processes to access the temp dirs for Pre-reboot Dexopt.
+neverallow {
+  domain
+  -art_exec
+  -artd
+  -dexopt_chroot_setup
+  -init
+  -system_server
+  -vendor_init
+} pre_reboot_dexopt_file:dir *;
diff --git a/prebuilts/api/202504/private/dexoptanalyzer.te b/prebuilts/api/202504/private/dexoptanalyzer.te
new file mode 100644
index 0000000..4c87f99
--- /dev/null
+++ b/prebuilts/api/202504/private/dexoptanalyzer.te
@@ -0,0 +1,3 @@
+# Deprecated file type for the legacy dexoptanalyzer binary, used by Android T-. We need to keep it
+# for compatibility because the file type is burnt into the apex image.
+type dexoptanalyzer_exec, system_file_type, exec_type, file_type;
diff --git a/prebuilts/api/202504/private/dhcp.te b/prebuilts/api/202504/private/dhcp.te
new file mode 100644
index 0000000..ce4fef1
--- /dev/null
+++ b/prebuilts/api/202504/private/dhcp.te
@@ -0,0 +1,33 @@
+typeattribute dhcp coredomain;
+
+init_daemon_domain(dhcp)
+type_transition dhcp system_data_file:{ dir file } dhcp_data_file;
+
+set_prop(dhcp, dhcp_prop)
+set_prop(dhcp, pan_result_prop)
+
+net_domain(dhcp)
+
+allow dhcp cgroup:dir { create write add_name };
+allow dhcp cgroup_v2:dir { create write add_name };
+allow dhcp self:global_capability_class_set { setgid setuid net_admin net_raw net_bind_service };
+allow dhcp self:packet_socket create_socket_perms_no_ioctl;
+allow dhcp self:netlink_route_socket nlmsg_write;
+allow dhcp shell_exec:file rx_file_perms;
+allow dhcp system_file:file rx_file_perms;
+not_full_treble(`allow dhcp vendor_file:file rx_file_perms;')
+
+# dhcpcd runs dhcpcd-hooks/*, which runs getprop / setprop (toolbox_exec)
+allow dhcp toolbox_exec:file rx_file_perms;
+
+# For /proc/sys/net/ipv4/conf/*/promote_secondaries
+allow dhcp proc_net_type:file write;
+
+allow dhcp dhcp_data_file:dir create_dir_perms;
+allow dhcp dhcp_data_file:file create_file_perms;
+
+# PAN connections
+allow dhcp netd:fd use;
+allow dhcp netd:fifo_file rw_file_perms;
+allow dhcp netd:{ dgram_socket_class_set unix_stream_socket } { read write };
+allow dhcp netd:{ netlink_kobject_uevent_socket netlink_route_socket netlink_nflog_socket } { read write };
diff --git a/prebuilts/api/202504/private/display_service_server.te b/prebuilts/api/202504/private/display_service_server.te
new file mode 100644
index 0000000..c5839fa
--- /dev/null
+++ b/prebuilts/api/202504/private/display_service_server.te
@@ -0,0 +1 @@
+add_hwservice(display_service_server, fwk_display_hwservice)
diff --git a/prebuilts/api/202504/private/dmesgd.te b/prebuilts/api/202504/private/dmesgd.te
new file mode 100644
index 0000000..7a12882
--- /dev/null
+++ b/prebuilts/api/202504/private/dmesgd.te
@@ -0,0 +1,15 @@
+type dmesgd, domain, coredomain;
+type dmesgd_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(dmesgd)
+
+allow dmesgd dmesgd_data_file:dir create_dir_perms;
+allow dmesgd dmesgd_data_file:file create_file_perms;
+
+allow dmesgd kernel:system syslog_read;
+allow dmesgd shell_exec:file rx_file_perms;
+allow dmesgd toolbox_exec:file rx_file_perms;
+binder_use(dmesgd)
+binder_call(dmesgd, system_server)
+allow dmesgd dropbox_service:service_manager find;
+allow dmesgd proc_version:file r_file_perms;
diff --git a/prebuilts/api/202504/private/dnsmasq.te b/prebuilts/api/202504/private/dnsmasq.te
new file mode 100644
index 0000000..de6c8d6
--- /dev/null
+++ b/prebuilts/api/202504/private/dnsmasq.te
@@ -0,0 +1,23 @@
+typeattribute dnsmasq coredomain;
+
+net_domain(dnsmasq)
+allowxperm dnsmasq self:udp_socket ioctl priv_sock_ioctls;
+
+# TODO:  Run with dhcp group to avoid need for dac_override.
+allow dnsmasq self:global_capability_class_set { dac_override dac_read_search };
+
+allow dnsmasq self:global_capability_class_set { net_admin net_raw net_bind_service setgid setuid };
+
+allow dnsmasq dhcp_data_file:dir w_dir_perms;
+allow dnsmasq dhcp_data_file:file create_file_perms;
+
+# Inherit and use open files from netd.
+allow dnsmasq netd:fd use;
+allow dnsmasq netd:fifo_file { getattr read write };
+# TODO: Investigate whether these inherited sockets should be closed on exec.
+allow dnsmasq netd:netlink_kobject_uevent_socket { read write };
+allow dnsmasq netd:netlink_nflog_socket { read write };
+allow dnsmasq netd:netlink_route_socket { read write };
+allow dnsmasq netd:unix_stream_socket { getattr read write };
+allow dnsmasq netd:unix_dgram_socket { read write };
+allow dnsmasq netd:udp_socket { read write };
diff --git a/prebuilts/api/202504/private/domain.te b/prebuilts/api/202504/private/domain.te
new file mode 100644
index 0000000..8db40a5
--- /dev/null
+++ b/prebuilts/api/202504/private/domain.te
@@ -0,0 +1,2334 @@
+# Rules for all domains.
+
+# Allow reaping by init.
+allow domain init:process sigchld;
+
+# Intra-domain accesses.
+allow domain self:process {
+    fork
+    sigchld
+    sigkill
+    sigstop
+    signull
+    signal
+    getsched
+    setsched
+    getsession
+    getpgid
+    getcap
+    setcap
+    getattr
+    setrlimit
+};
+allow { domain -artd_subprocess_type } self:process setpgid;
+allow domain self:fd use;
+allow domain proc:dir r_dir_perms;
+allow domain proc_net_type:dir search;
+r_dir_file(domain, self)
+allow domain self:{ fifo_file file } rw_file_perms;
+allow domain self:unix_dgram_socket { create_socket_perms sendto };
+allow domain self:unix_stream_socket { create_stream_socket_perms connectto };
+
+# Inherit or receive open files from others.
+allow domain init:fd use;
+
+userdebug_or_eng(`
+  allow domain su:fd use;
+  allow domain su:unix_stream_socket { connectto getattr getopt read write shutdown };
+  allow domain su:unix_dgram_socket sendto;
+
+  allow { domain -init } su:binder { call transfer };
+
+  # Running something like "pm dump com.android.bluetooth" requires
+  # fifo writes
+  allow domain su:fifo_file { write getattr };
+
+  # allow "gdbserver --attach" to work for su.
+  allow domain su:process sigchld;
+
+  # Allow writing coredumps to /cores/*
+  allow domain coredump_file:file create_file_perms;
+  allow domain coredump_file:dir ra_dir_perms;
+')
+
+with_native_coverage(`
+  # Allow writing coverage information to /data/misc/trace
+  allow domain method_trace_data_file:dir create_dir_perms;
+  allow domain method_trace_data_file:file create_file_perms;
+')
+
+# Allow everyone to read aconfig flags
+get_prop(domain, device_config_aconfig_flags_prop);
+
+# Root fs.
+allow domain tmpfs:dir { getattr search };
+allow domain rootfs:dir search;
+allow domain rootfs:lnk_file { read getattr };
+
+# Device accesses.
+allow domain device:dir search;
+allow domain dev_type:lnk_file r_file_perms;
+allow domain devpts:dir search;
+allow domain dmabuf_heap_device:dir r_dir_perms;
+allow domain socket_device:dir r_dir_perms;
+allow domain owntty_device:chr_file rw_file_perms;
+allow domain null_device:chr_file rw_file_perms;
+allow domain zero_device:chr_file rw_file_perms;
+
+# /dev/ashmem is being deprecated by means of constraining and eventually
+# removing all "open" permissions. We preserve the other permissions.
+allow domain ashmem_device:chr_file { getattr read ioctl lock map append write };
+# This device is used by libcutils, which is accessible to everyone.
+allow domain ashmem_libcutils_device:chr_file rw_file_perms;
+
+# /dev/binder can be accessed by ... everyone! :)
+allow { domain -hwservicemanager -vndservicemanager } binder_device:chr_file rw_file_perms;
+get_prop({domain -hwservicemanager -vndservicemanager }, servicemanager_prop)
+# Checking for the existance of the hwservicemanager binary is done in the client API
+# isHwServiceManagerInstalled
+dontaudit domain hwservicemanager_exec:file r_file_perms;
+
+
+# Restrict binder ioctls to an allowlist. Additional ioctl commands may be
+# added to individual domains, but this sets safe defaults for all processes.
+allowxperm domain binder_device:chr_file ioctl { unpriv_binder_ioctls };
+
+# /dev/binderfs needs to be accessed by everyone too!
+allow domain binderfs:dir { getattr search };
+allow domain binderfs_logs_proc:dir search;
+allow domain binderfs_features:dir search;
+allow domain binderfs_features:file r_file_perms;
+
+allow { domain -servicemanager -vndservicemanager -isolated_app } hwbinder_device:chr_file rw_file_perms;
+allow domain ptmx_device:chr_file rw_file_perms;
+allow domain random_device:chr_file rw_file_perms;
+allow domain proc_random:dir r_dir_perms;
+allow domain proc_random:file r_file_perms;
+allow domain properties_device:dir { search getattr };
+allow domain properties_serial:file r_file_perms;
+allow domain property_info:file r_file_perms;
+
+# Let everyone read log properties, so that liblog can avoid sending unloggable
+# messages to logd.
+get_prop(domain, log_property_type)
+dontaudit domain property_type:file audit_access;
+allow domain property_contexts_file:file r_file_perms;
+
+allow domain init:key search;
+allow domain vold:key search;
+
+# logd access
+write_logd(domain)
+
+# Directory/link file access for path resolution.
+allow domain {
+    system_file
+    system_lib_file
+    system_seccomp_policy_file
+    system_security_cacerts_file
+}:dir r_dir_perms;
+allow domain system_file:lnk_file { getattr read };
+
+# Global access to /system/etc/security/cacerts/*, /system/etc/seccomp_policy/*, /system/lib[64]/*,
+# /(system|product|system_ext)/etc/(group|passwd), linker and its config.
+allow domain system_seccomp_policy_file:file r_file_perms;
+# cacerts are accessible from public Java API.
+allow domain system_security_cacerts_file:file r_file_perms;
+allow domain system_group_file:file r_file_perms;
+allow domain system_passwd_file:file r_file_perms;
+allow domain system_linker_exec:file { execute read open getattr map };
+allow domain system_linker_config_file:file r_file_perms;
+allow domain system_lib_file:file { execute read open getattr map };
+# To allow following symlinks at /system/bin/linker, /system/lib/libc.so, etc.
+allow domain system_linker_exec:lnk_file { read open getattr };
+allow domain system_lib_file:lnk_file { read open getattr };
+
+allow domain system_event_log_tags_file:file r_file_perms;
+
+allow { appdomain coredomain } system_file:file { execute read open getattr map };
+
+# Make sure system/vendor split doesn not affect non-treble
+# devices
+not_full_treble(`
+    allow domain system_file:file { execute read open getattr map };
+    allow domain vendor_file_type:dir { search getattr };
+    allow domain vendor_file_type:file { execute read open getattr map };
+    allow domain vendor_file_type:lnk_file { getattr read };
+')
+
+# All domains are allowed to open and read directories
+# that contain HAL implementations (e.g. passthrough
+# HALs require clients to have these permissions)
+allow domain vendor_hal_file:dir r_dir_perms;
+
+# Everyone can read and execute all same process HALs
+allow domain same_process_hal_file:dir r_dir_perms;
+allow {
+    domain
+    -coredomain # access is explicitly granted to individual coredomains
+} same_process_hal_file:file { execute read open getattr map };
+
+# Any process can load vndk-sp libraries, which are system libraries
+# used by same process HALs
+allow domain vndk_sp_file:dir r_dir_perms;
+allow domain vndk_sp_file:file { execute read open getattr map };
+
+# All domains get access to /vendor/etc
+allow domain vendor_configs_file:dir r_dir_perms;
+allow domain vendor_configs_file:file { read open getattr map };
+
+full_treble_only(`
+    # Allow all domains to be able to follow /system/vendor and/or
+    # /vendor/odm symlinks.
+    allow domain vendor_file_type:lnk_file { getattr open read };
+
+    # This is required to be able to search & read /vendor/lib64
+    # in order to lookup vendor libraries. The execute permission
+    # for coredomains is granted *only* for same process HALs
+    allow domain vendor_file:dir { getattr search };
+
+    # Allow reading and executing out of /vendor to all vendor domains
+    allow { domain -coredomain } vendor_file_type:dir r_dir_perms;
+    allow { domain -coredomain } vendor_file_type:file { read open getattr execute map };
+    allow { domain -coredomain } vendor_file_type:lnk_file { getattr read };
+')
+
+# read and stat any sysfs symlinks
+allow domain sysfs:lnk_file { getattr read };
+
+# libc references /system/usr/share/zoneinfo for timezone related information.
+# This directory is considered to be a VNDK-stable
+allow domain { system_zoneinfo_file }:file r_file_perms;
+allow domain { system_zoneinfo_file }:dir r_dir_perms;
+
+# Lots of processes access current CPU information
+r_dir_file(domain, sysfs_devices_system_cpu)
+
+r_dir_file(domain, sysfs_usb);
+
+# If kernel CONFIG_TRANSPARENT_HUGEPAGE is enabled, libjemalloc5 (statically
+# included by libc) reads /sys/kernel/mm/transparent_hugepage/enabled.
+allow domain sysfs_transparent_hugepage:dir search;
+allow domain sysfs_transparent_hugepage:file r_file_perms;
+
+# Allow search access, and sometimes getattr access, to various directories
+# under /data.  We are fairly lenient in allowing search access to top-level
+# dirs that commonly need to be traversed to get access to the "real" files, as
+# this greatly simplifies the policy and doesn't open up much attack surface.
+not_full_treble(`
+  allow domain system_data_file:dir getattr;
+')
+allow { coredomain appdomain } system_data_file:dir getattr;
+# Anything that accesses anything in /data needs search access to /data itself.
+# This includes vendor components, as they need to access /data/vendor.
+allow domain system_data_root_file:dir { search getattr } ;
+# system_data_file is the default type for directories in /data.  Anything
+# accessing data files with a more specific type often has to traverse a
+# system_data_file directory such as /data/misc to get there.
+allow domain system_data_file:dir search;
+# Anything that accesses files in /data/user (and /data/user_de, etc.) needs
+# search access to these directories themselves.  getattr access is sometimes
+# needed too.
+allow { coredomain appdomain } system_userdir_file:dir { search getattr };
+# Anything that accesses files in /data/media needs search access to /data/media
+# itself.
+allow { coredomain appdomain } media_userdir_file:dir search;
+# TODO restrict this to non-coredomain
+allow domain vendor_userdir_file:dir { getattr search };
+allow domain vendor_data_file:dir { getattr search };
+
+# required by the dynamic linker
+allow domain proc:lnk_file { getattr read };
+
+# /proc/cpuinfo
+allow domain proc_cpuinfo:file r_file_perms;
+
+# /dev/cpu_variant:.*
+allow domain dev_cpu_variant:file r_file_perms;
+
+# profiling needs to read /proc/sys/kernel/perf_event_max_sample_rate
+allow domain proc_perf:file r_file_perms;
+
+# toybox loads libselinux which stats /sys/fs/selinux/
+allow domain selinuxfs:dir search;
+allow domain selinuxfs:file getattr;
+allow domain sysfs:dir search;
+allow domain selinuxfs:filesystem getattr;
+
+# Almost all processes log tracing information to
+# /sys/kernel/debug/tracing/trace_marker
+# The reason behind this is documented in b/6513400
+allow domain debugfs:dir search;
+allow domain debugfs_tracing:dir search;
+allow domain debugfs_tracing_debug:dir search;
+allow domain debugfs_trace_marker:file w_file_perms;
+
+# Linux lockdown mode offered coarse-grained definitions for access controls. In
+# previous versions of the policy, the integrity permission was neverallowed.
+# It was found that this permission mainly duplicates pre-existing rules in
+# the policy (see b/285443587). Additionally, some access were found to be
+# required (b/269377822). The access vector was removed from kernel 5.16
+# onwards. Grant unconditional access, these rules should be removed from the
+# policy once no kernel <5.16 are supported.
+allow domain self:lockdown { confidentiality integrity };
+
+# Filesystem access.
+allow domain fs_type:filesystem getattr;
+allow domain fs_type:dir getattr;
+
+# Restrict all domains to an allowlist for common socket types. Additional
+# ioctl commands may be added to individual domains, but this sets safe
+# defaults for all processes. Note that granting this allowlist to domain does
+# not grant the ioctl permission on these socket types. That must be granted
+# separately.
+allowxperm domain domain:{ icmp_socket rawip_socket tcp_socket udp_socket }
+  ioctl { unpriv_sock_ioctls unpriv_tty_ioctls };
+# default allowlist for unix sockets.
+allowxperm domain { domain pdx_channel_socket_type }:{ unix_dgram_socket unix_stream_socket }
+  ioctl unpriv_unix_sock_ioctls;
+
+# Restrict PTYs to only allowed ioctls.
+# Note that granting this allowlist to domain does
+# not grant the wider ioctl permission. That must be granted
+# separately.
+allowxperm domain devpts:chr_file ioctl unpriv_tty_ioctls;
+
+# All domains must clearly enumerate what ioctls they use
+# on filesystem objects (plain files, directories, symbolic links,
+# named pipes, and named sockets). We start off with a safe set.
+allowxperm domain { file_type fs_type domain dev_type }:{ dir notdevfile_class_set blk_file } ioctl { FIOCLEX FIONCLEX };
+
+# If a domain has ioctl access to tun_device, it must clearly enumerate the
+# ioctls used. Safe defaults are listed below.
+allowxperm domain tun_device:chr_file ioctl { FIOCLEX FIONCLEX };
+
+# Allow a process to make a determination whether a file descriptor
+# for a plain file or pipe (fifo_file) is a tty. Note that granting
+# this allowlist to domain does not grant the ioctl permission to
+# these files. That must be granted separately.
+allowxperm domain { file_type fs_type }:file ioctl { TCGETS };
+allowxperm domain domain:fifo_file ioctl { TCGETS };
+
+# If a domain has access to perform an ioctl on a block device, allow these
+# very common, benign ioctls
+allowxperm domain dev_type:blk_file ioctl { BLKGETSIZE64 BLKSSZGET };
+
+# Support sqlite F2FS specific optimizations
+# ioctl permission on the specific file type is still required
+# TODO: consider only compiling these rules if we know the
+# /data partition is F2FS
+allowxperm domain { file_type sdcard_type }:file ioctl {
+  F2FS_IOC_ABORT_VOLATILE_WRITE
+  F2FS_IOC_COMMIT_ATOMIC_WRITE
+  F2FS_IOC_GET_FEATURES
+  F2FS_IOC_GET_PIN_FILE
+  F2FS_IOC_SET_PIN_FILE
+  F2FS_IOC_START_ATOMIC_WRITE
+};
+
+# Workaround for policy compiler being too aggressive and removing hwservice_manager_type
+# when it's not explicitly used in allow rules
+allow { domain -domain } hwservice_manager_type:hwservice_manager { add find };
+# Workaround for policy compiler being too aggressive and removing vndservice_manager_type
+# when it's not explicitly used in allow rules
+allow { domain -domain } vndservice_manager_type:service_manager { add find };
+
+# Under ASAN, processes will try to read /data, as the sanitized libraries are there.
+with_asan(`allow domain system_data_file:dir getattr;')
+# Under ASAN, /system/asan.options needs to be globally accessible.
+with_asan(`allow domain system_asan_options_file:file r_file_perms;')
+
+# read APEX dir and stat any symlink pointing to APEXs.
+allow domain apex_mnt_dir:dir { getattr search };
+allow domain apex_mnt_dir:lnk_file r_file_perms;
+
+# Allow reading /sys/kernel/mm/pgsize_migration/enabled
+allow domain sysfs_pgsize_migration:dir search;
+allow domain sysfs_pgsize_migration:file r_file_perms;
+
+# Linker is executed from the context of the process requesting the dynamic linking,
+# so this prop must be "world-readable".
+get_prop(domain, bionic_linker_16kb_app_compat_prop)
+
+# Allow everyone to read media server-configurable flags, so that libstagefright can be
+# configured using server-configurable flags
+get_prop(domain, device_config_media_native_prop)
+
+# Transition to crash_dump when /system/bin/crash_dump* is executed.
+# This occurs when the process crashes.
+# We do not apply this to the su domain to avoid interfering with
+# tests (b/114136122)
+domain_auto_trans({ domain userdebug_or_eng(`-su') }, crash_dump_exec, crash_dump);
+allow domain crash_dump:process sigchld;
+
+# Allow every process to check the heapprofd.enable properties to determine
+# whether to load the heap profiling library. This does not necessarily enable
+# heap profiling, as initialization will fail if it does not have the
+# necessary SELinux permissions.
+get_prop(domain, heapprofd_prop);
+
+# See private/crash_dump.te
+define(`dumpable_domain',`{
+  domain
+  -apexd
+  -bpfloader
+  -crash_dump
+  -crosvm # TODO(b/236672526): Remove exception for crosvm
+  -init
+  -kernel
+  -keystore
+  -llkd
+  -logd
+  -ueventd
+  -vendor_init
+  -vold
+}')
+
+# Allow heap profiling by heapprofd.
+# Zygotes are excluded due to potential issues with holding open file
+# descriptors or other state across forks. Other exclusions conflict with
+# neverallows, and are not considered important to profile.
+can_profile_heap({
+  dumpable_domain
+  -app_zygote
+  -hal_configstore_server
+  -logpersist
+  -recovery
+  -recovery_persist
+  -recovery_refresh
+  -webview_zygote
+  -zygote
+})
+
+# Allow profiling using perf_event_open by traced_perf.
+can_profile_perf({
+  dumpable_domain
+  -app_zygote
+  -hal_configstore_server
+  -webview_zygote
+  -zygote
+})
+
+# Everyone can access the IncFS list of features.
+r_dir_file(domain, sysfs_fs_incfs_features);
+
+# Everyone can access the fuse list of features.
+r_dir_file(domain, sysfs_fs_fuse_features);
+
+# Path resolution access in cgroups.
+allow domain cgroup:dir search;
+allow { domain -appdomain -rs } cgroup:dir w_dir_perms;
+allow { domain -appdomain -rs } cgroup:file w_file_perms;
+
+allow domain cgroup_v2:dir search;
+allow { domain -appdomain -rs } cgroup_v2:dir w_dir_perms;
+allow { domain -appdomain -rs } cgroup_v2:file w_file_perms;
+
+allow domain cgroup_desc_file:file r_file_perms;
+allow domain cgroup_rc_file:dir search;
+allow domain cgroup_rc_file:file r_file_perms;
+allow domain task_profiles_file:file r_file_perms;
+allow domain vendor_cgroup_desc_file:file r_file_perms;
+allow domain vendor_task_profiles_file:file r_file_perms;
+allow domain libprocessgroup_metadata_file:dir r_dir_perms;
+allow domain libprocessgroup_metadata_file:file r_file_perms;
+
+# Allow all domains to read sys.use_memfd to determine
+# if memfd support can be used if device supports it
+get_prop(domain, use_memfd_prop);
+
+# Read access to sdkextensions props
+get_prop(domain, module_sdkextensions_prop)
+
+# Read access to bq configuration values
+get_prop(domain, bq_config_prop);
+
+# Allow all domains to check whether MTE is set to permissive mode.
+get_prop(domain, permissive_mte_prop);
+
+# Allow ART to be configurable via device_config properties
+# (ART "runs" inside the app process), and MTE bootloader override to be
+# observed by everything
+get_prop(domain, device_config_memory_safety_native_boot_prop);
+get_prop(domain, device_config_memory_safety_native_prop);
+get_prop(domain, device_config_runtime_native_boot_prop);
+get_prop(domain, device_config_runtime_native_prop);
+
+# For now, everyone can access core property files
+# Device specific properties are not granted by default
+not_compatible_property(`
+    # DO NOT ADD ANY PROPERTIES HERE
+    get_prop(domain, core_property_type)
+    get_prop(domain, exported3_system_prop)
+    get_prop(domain, vendor_default_prop)
+')
+compatible_property_only(`
+    # DO NOT ADD ANY PROPERTIES HERE
+    get_prop({coredomain appdomain shell}, core_property_type)
+    get_prop({coredomain appdomain shell}, exported3_system_prop)
+    get_prop({coredomain appdomain shell}, exported_camera_prop)
+    get_prop({coredomain shell}, userspace_reboot_exported_prop)
+    get_prop({coredomain shell}, userspace_reboot_log_prop)
+    get_prop({coredomain shell}, userspace_reboot_test_prop)
+    get_prop({domain -coredomain -appdomain}, vendor_default_prop)
+')
+
+# Public readable properties
+get_prop(domain, aaudio_config_prop)
+get_prop(domain, apexd_select_prop)
+get_prop(domain, arm64_memtag_prop)
+get_prop(domain, bluetooth_config_prop)
+get_prop(domain, bootloader_prop)
+get_prop(domain, build_odm_prop)
+get_prop(domain, build_prop)
+get_prop(domain, build_vendor_prop)
+get_prop(domain, debug_prop)
+get_prop(domain, exported_config_prop)
+get_prop(domain, exported_default_prop)
+get_prop(domain, exported_dumpstate_prop)
+get_prop(domain, exported_secure_prop)
+get_prop(domain, exported_system_prop)
+get_prop(domain, fingerprint_prop)
+get_prop(domain, framework_status_prop)
+get_prop(domain, gwp_asan_prop)
+get_prop(domain, hal_instrumentation_prop)
+get_prop(domain, hw_timeout_multiplier_prop)
+get_prop(domain, init_service_status_prop)
+get_prop(domain, libc_debug_prop)
+get_prop(domain, locale_prop)
+get_prop(domain, logd_prop)
+get_prop(domain, mediadrm_config_prop)
+get_prop(domain, property_service_version_prop)
+get_prop(domain, soc_prop)
+get_prop(domain, socket_hook_prop)
+get_prop(domain, surfaceflinger_prop)
+get_prop(domain, telephony_status_prop)
+get_prop(domain, timezone_prop)
+get_prop({domain -untrusted_app_all -isolated_app_all -ephemeral_app -app_zygote },  userdebug_or_eng_prop)
+get_prop(domain, vendor_socket_hook_prop)
+get_prop(domain, vndk_prop)
+get_prop(domain, vold_status_prop)
+get_prop(domain, vts_config_prop)
+
+# Binder cache properties are world-readable
+get_prop(domain, binder_cache_bluetooth_server_prop)
+get_prop(domain, binder_cache_system_server_prop)
+get_prop(domain, binder_cache_telephony_server_prop)
+
+# Binderfs logs contain sensitive information about other processes.
+neverallow {
+    domain
+    -init
+    -vendor_init
+    userdebug_or_eng(`-dumpstate')
+    userdebug_or_eng(`-system_server')
+} binderfs_logs_transactions:file no_rw_file_perms;
+
+# Binderfs transaction history is less sensitive than transactions, but it
+# still contains global information about the system.
+neverallow { domain -dumpstate -init -vendor_init -system_server } binderfs_logs_transaction_history:file no_rw_file_perms;
+
+# Needed for loading kernel modules.
+# TODO(384942085): Reduce the scope.
+allow domain kernel:key search;
+
+# Allow access to linkerconfig file
+allow domain linkerconfig_file:dir search;
+allow domain linkerconfig_file:file r_file_perms;
+
+# Allow all processes to check for the existence of the boringssl_self_test_marker files.
+allow domain boringssl_self_test_marker:dir search;
+
+# Allow all processes to read the file_logger property that liblog uses to check if file_logger
+# should be used.
+get_prop(domain, log_file_logger_prop)
+
+# Allow all processes to connect to PRNG seeder daemon.
+unix_socket_connect(domain, prng_seeder, prng_seeder)
+
+# Allow calls to system(3), popen(3), ...
+allow {
+  domain
+  # Except domains that explicitly neverallow it.
+  -kernel
+  -init
+  -vendor_init
+  -app_zygote
+  -webview_zygote
+  -system_server
+  -artd
+  -dexopt_chroot_setup
+  -audioserver
+  -cameraserver
+  -mediadrmserver
+  -mediaextractor
+  -mediametrics
+  -mediaserver
+  -mediatuner
+  -mediatranscoding
+  -ueventd
+  -hal_audio_server
+  -hal_camera_server
+  -hal_cas_server
+  -hal_codec2_server
+  -hal_configstore_server
+  -hal_drm_server
+  -hal_omx_server
+} {shell_exec toolbox_exec}:file rx_file_perms;
+
+# Allow all processes to read aconfig flag storage files. The format is hidden behind
+# code-generated APIs, but since the libraries are executed in the context of the caller,
+# all processes need access to the underlying files.
+is_flag_enabled(RELEASE_READ_FROM_NEW_STORAGE, `
+  r_dir_file(domain, aconfig_storage_metadata_file);
+')
+
+r_dir_file({ coredomain appdomain }, system_aconfig_storage_file);
+
+# processes needs to access storage file stored at /metadata/aconfig/boot, require search
+# permission on /metadata dir
+allow domain metadata_file:dir search;
+
+# overlayfs performs all file operations as the mounter, being overlay_remounter.
+# It thus opens files as overlay_remounter, and then uses those files in the context of
+# the caller, which is anyone accessing a file on a overlaid read-only partition
+userdebug_or_eng(`allow domain overlay_remounter:fd use');
+
+###
+### neverallow rules
+###
+
+# All ioctls on file-like objects (except chr_file and blk_file) and
+# sockets must be restricted to an allowlist.
+neverallowxperm * *:{ dir notdevfile_class_set socket_class_set blk_file } ioctl { 0 };
+
+# b/68014825 and https://android-review.googlesource.com/516535
+# rfc6093 says that processes should not use the TCP urgent mechanism
+neverallowxperm domain domain:socket_class_set ioctl { SIOCATMARK };
+
+# TIOCSTI is only ever used for exploits. Block it.
+# b/33073072, b/7530569
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+neverallowxperm * devpts:chr_file ioctl TIOCSTI;
+
+# Do not allow any domain other than init to create unlabeled files.
+neverallow { domain -init -recovery } unlabeled:dir_file_class_set create;
+
+# Limit device node creation to these allowed domains.
+neverallow {
+  domain
+  -kernel
+  -init
+  -ueventd
+  -vold
+} self:global_capability_class_set mknod;
+
+# No process can map low memory (< CONFIG_LSM_MMAP_MIN_ADDR).
+neverallow * self:memprotect mmap_zero;
+
+# No domain needs mac_override as it is unused by SELinux.
+neverallow * self:global_capability2_class_set mac_override;
+
+# Disallow attempts to set contexts not defined in current policy
+# This helps guarantee that unknown or dangerous contents will not ever
+# be set.
+neverallow * self:global_capability2_class_set mac_admin;
+
+# Once the policy has been loaded there shall be none to modify the policy.
+# It is sealed.
+neverallow * kernel:security load_policy;
+
+# Only init prior to switching context should be able to set enforcing mode.
+# init starts in kernel domain and switches to init domain via setcon in
+# the init.rc, so the setenforce occurs while still in kernel. After
+# switching domains, there is never any need to setenforce again by init.
+neverallow * kernel:security setenforce;
+neverallow { domain -kernel } kernel:security setcheckreqprot;
+
+# No booleans in AOSP policy, so no need to ever set them.
+neverallow * kernel:security setbool;
+
+# Adjusting the AVC cache threshold.
+# Not presently allowed to anything in policy, but possibly something
+# that could be set from init.rc.
+neverallow { domain -init } kernel:security setsecparam;
+
+# Only the kernel hwrng thread should be able to read from the HW RNG.
+neverallow {
+  domain
+  -prng_seeder # PRNG seeder daemon periodically reseeds itself from HW RNG
+  -shell # For CTS, restricted to just getattr in shell.te
+  -ueventd # To create the /dev/hw_random file
+} hw_random_device:chr_file *;
+# b/78174219 b/64114943
+neverallow {
+  domain
+  -shell # stat of /dev, getattr only
+  -ueventd
+} keychord_device:chr_file *;
+
+# Ensure that all entrypoint executables are in exec_type or postinstall_file.
+neverallow * { file_type -exec_type -postinstall_file }:file entrypoint;
+
+# The dynamic linker always calls access(2) on the path. Don't generate SElinux
+# denials since the linker does not actually access the path in case the path
+# does not exist or isn't accessible for the process.
+dontaudit domain postinstall_mnt_dir:dir audit_access;
+
+#Ensure that nothing in userspace can access /dev/port
+neverallow {
+  domain
+  -shell # Shell user should not have any abilities outside of getattr
+  -ueventd
+} port_device:chr_file *;
+neverallow * port_device:chr_file ~{ create relabelto unlink setattr getattr };
+# Only init should be able to configure kernel usermodehelpers or
+# security-sensitive proc settings.
+neverallow { domain -init } usermodehelper:file { append write };
+neverallow { domain -init -ueventd } sysfs_usermodehelper:file { append write };
+neverallow { domain -init -vendor_init } proc_security:file { append open read write };
+
+# Init can't do anything with binder calls. If this neverallow rule is being
+# triggered, it's probably due to a service with no SELinux domain.
+neverallow * init:binder *;
+neverallow * vendor_init:binder *;
+
+# Binderfs logs contain sensitive information about other processes.
+neverallow { domain -dumpstate -init -vendor_init userdebug_or_eng(`-domain') } { binderfs_logs binderfs_logs_proc }:file no_rw_file_perms;
+neverallow { domain -dumpstate -init -vendor_init -system_server } binderfs_logs_stats:file no_rw_file_perms;
+
+# Don't allow raw read/write/open access to block_device
+# Rather force a relabel to a more specific type
+neverallow { domain -kernel -init -recovery } block_device:blk_file { open read write };
+
+# Do not allow renaming of block files or character files
+# Ability to do so can lead to possible use in an exploit chain
+# e.g. https://googleprojectzero.blogspot.com/2016/12/chrome-os-exploit-one-byte-overflow-and.html
+neverallow { domain userdebug_or_eng(`-overlay_remounter') } *:{ blk_file chr_file } rename;
+
+# Don't allow raw read/write/open access to generic devices.
+# Rather force a relabel to a more specific type.
+neverallow domain device:chr_file { open read write };
+
+# Files from cache should never be executed
+neverallow domain { cache_file cache_backup_file cache_private_backup_file cache_recovery_file }:file execute;
+
+# The test files and executables MUST not be accessible to any domain
+neverallow { domain userdebug_or_eng(`-kernel') } nativetest_data_file:file_class_set no_w_file_perms;
+neverallow domain nativetest_data_file:dir no_w_dir_perms;
+neverallow { domain userdebug_or_eng(`-shell') } nativetest_data_file:file no_x_file_perms;
+
+neverallow { domain -shell -init -adbd } shell_test_data_file:file_class_set no_w_file_perms;
+neverallow { domain -shell -init -adbd } shell_test_data_file:dir no_w_dir_perms;
+neverallow { domain -shell -init -adbd -heapprofd -crash_dump } shell_test_data_file:file *;
+neverallow heapprofd shell_test_data_file:file { no_w_file_perms no_x_file_perms };
+neverallow { domain -shell -init -adbd } shell_test_data_file:sock_file *;
+
+# Only the init property service should write to /data/property and /dev/__properties__
+neverallow { domain -init } property_data_file:dir no_w_dir_perms;
+neverallow { domain -init } property_data_file:file { no_w_file_perms no_x_file_perms };
+neverallow { domain -init } property_type:file { no_w_file_perms no_x_file_perms };
+neverallow { domain -init } properties_device:file { no_w_file_perms no_x_file_perms };
+neverallow { domain -init } properties_serial:file { no_w_file_perms no_x_file_perms };
+
+# Nobody should be doing writes to /system & /vendor
+# These partitions are intended to be read-only and must never be
+# modified. Doing so would violate important Android security guarantees
+# and invalidate dm-verity signatures.
+neverallow {
+    domain
+    with_asan(`-asan_extract')
+    recovery_only(`userdebug_or_eng(`-fastbootd')')
+    userdebug_or_eng(`-kernel')
+    userdebug_or_eng(`-overlay_remounter')
+} {
+    system_file_type
+    vendor_file_type
+    exec_type
+}:dir_file_class_set { create write setattr relabelfrom append unlink link rename };
+
+neverallow { domain -kernel with_asan(`-asan_extract') userdebug_or_eng(`-overlay_remounter') } { system_file_type vendor_file_type exec_type }:dir_file_class_set relabelto;
+
+# Don't allow mounting on top of /system files or directories
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} exec_type:dir_file_class_set mounton;
+
+# Nothing should be writing to files in the rootfs.
+neverallow * rootfs:file { create write setattr relabelto append unlink link rename };
+
+# Restrict context mounts to specific types marked with
+# the contextmount_type attribute.
+neverallow * {fs_type -contextmount_type}:filesystem relabelto;
+
+# Ensure that context mount types are not writable, to ensure that
+# the write to /system restriction above is not bypassed via context=
+# mount to another type.
+neverallow { domain userdebug_or_eng(`-overlay_remounter') } contextmount_type:dir_file_class_set
+    { create setattr relabelfrom relabelto append link rename };
+neverallow { domain recovery_only(`userdebug_or_eng(`-fastbootd')') userdebug_or_eng(`-overlay_remounter') } contextmount_type:dir_file_class_set { write unlink };
+
+# Do not allow service_manager add for default service labels.
+# Instead domains should use a more specific type such as
+# system_app_service rather than the generic type.
+# New service_types are defined in {,hw,vnd}service.te and new mappings
+# from service name to service_type are defined in {,hw,vnd}service_contexts.
+neverallow * default_android_service:service_manager *;
+neverallow * default_android_vndservice:service_manager *;
+neverallow * default_android_hwservice:hwservice_manager *;
+
+# Looking up the base class/interface of all HwBinder services is a bad idea.
+# hwservicemanager currently offer such lookups only to make it so that security
+# decisions are expressed in SELinux policy. However, it's unclear whether this
+# lookup has security implications. If it doesn't, hwservicemanager should be
+# modified to not offer this lookup.
+# This rule can be removed if hwservicemanager is modified to not permit these
+# lookups.
+neverallow * hidl_base_hwservice:hwservice_manager find;
+
+# Require that domains explicitly label unknown properties, and do not allow
+# anyone but init to modify unknown properties.
+neverallow { domain -init -vendor_init } mmc_prop:property_service set;
+neverallow { domain -init -vendor_init } vndk_prop:property_service set;
+
+compatible_property_only(`
+    neverallow { domain -init } mmc_prop:property_service set;
+    neverallow { domain -init -vendor_init } exported_default_prop:property_service set;
+    neverallow { domain -init } exported_secure_prop:property_service set;
+    neverallow { domain -init -vendor_init } vendor_default_prop:property_service set;
+    neverallow { domain -init -vendor_init } storage_config_prop:property_service set;
+    neverallow { domain -init -vendor_init } hw_timeout_multiplier_prop:property_service set;
+')
+
+compatible_property_only(`
+    neverallow { domain -init -system_server -vendor_init } exported_pm_prop:property_service set;
+    neverallow { domain -coredomain -vendor_init } exported_pm_prop:file no_rw_file_perms;
+')
+
+# New "pm.dexopt." sysprops should be explicitly listed as exported_pm_prop.
+neverallow { domain -init -dumpstate -vendor_init } future_pm_prop:property_service set;
+neverallow { domain -init -dumpstate -vendor_init } future_pm_prop:file no_rw_file_perms;
+
+# ART may introduce new sysprops. SELinux denials due to reading new sysprops on
+# old platforms shouldn't be regarded as a problem.
+dontaudit domain future_pm_prop:file read;
+
+neverallow { domain -init } aac_drc_prop:property_service set;
+neverallow { domain -init } build_prop:property_service set;
+neverallow { domain -init } userdebug_or_eng_prop:property_service set;
+
+# Do not allow reading device's serial number from system properties except form
+# a few allowed domains.
+neverallow {
+  domain
+  -adbd
+  -adbd_tradeinmode
+  -dumpstate
+  -fastbootd
+  -hal_camera_server
+  -hal_cas_server
+  -hal_drm_server
+  -hal_keymint_server
+  userdebug_or_eng(`-incidentd')
+  -init
+  -mediadrmserver
+  -mediaserver
+  -recovery
+  -shell
+  -system_server
+  -vendor_init
+} serialno_prop:file r_file_perms;
+
+neverallow {
+  domain
+  -init
+  -recovery
+  -system_server
+  -ueventd # Further restricted in ueventd.te
+} frp_block_device:blk_file no_rw_file_perms;
+
+# The metadata block device is set aside for device encryption and
+# verified boot metadata. It may be reset at will and should not
+# be used by other domains.
+neverallow {
+  domain
+  -init
+  -recovery
+  -vold
+  -e2fs
+  -fsck
+  -fastbootd
+  -hal_fastboot_server
+} metadata_block_device:blk_file { append link rename write open read ioctl lock };
+
+# No domain other than recovery, update_engine and fastbootd can write to system partition(s).
+neverallow {
+  domain
+  -fastbootd
+  userdebug_or_eng(`-fsck')
+  userdebug_or_eng(`-init')
+  -recovery
+  userdebug_or_eng(`-remount')
+  -update_engine
+} system_block_device:blk_file { write append };
+
+# Only (hw|vnd|)servicemanager should be able to register with binder as the context manager
+neverallow { domain -servicemanager -hwservicemanager -vndservicemanager } *:binder set_context_mgr;
+# The service managers are only allowed to access their own device node
+neverallow servicemanager hwbinder_device:chr_file no_rw_file_perms;
+neverallow servicemanager vndbinder_device:chr_file no_rw_file_perms;
+neverallow hwservicemanager binder_device:chr_file no_rw_file_perms;
+neverallow hwservicemanager vndbinder_device:chr_file no_rw_file_perms;
+neverallow vndservicemanager binder_device:chr_file no_rw_file_perms;
+neverallow vndservicemanager hwbinder_device:chr_file no_rw_file_perms;
+
+full_treble_only(`
+  # Vendor apps are permited to use only stable public services. If they were to use arbitrary
+  # services which can change any time framework/core is updated, breakage is likely.
+  #
+  # Note, this same logic applies to untrusted apps, but neverallows for these are separate.
+  neverallow {
+    appdomain
+    -coredomain
+  } {
+    service_manager_type
+
+    -app_api_service
+    -ephemeral_app_api_service
+
+    -hal_service_type # see app_neverallows.te
+
+    -apc_service
+    -audioserver_service # TODO(b/36783122) remove exemptions below once app_api_service is fixed
+    -cameraserver_service
+    -drmserver_service
+    -credstore_service
+    -keystore_maintenance_service
+    -keystore_service
+    -legacykeystore_service
+    -mediadrmserver_service
+    -mediaextractor_service
+    -mediametrics_service
+    -mediaserver_service
+    -nfc_service
+    -radio_service
+    -virtual_touchpad_service
+    -vr_manager_service
+    userdebug_or_eng(`-hal_face_service')
+  }:service_manager find;
+')
+
+# On full TREBLE devices, only vendor components, shell, and su can use VendorBinder.
+full_treble_only(`
+  neverallow {
+    coredomain
+    -shell
+    userdebug_or_eng(`-su')
+    -ueventd # uevent is granted create for this device, but we still neverallow I/O below
+  } vndbinder_device:chr_file rw_file_perms;
+')
+full_treble_only(`
+  neverallow ueventd vndbinder_device:chr_file { read write append ioctl };
+')
+full_treble_only(`
+  neverallow {
+    coredomain
+    -shell
+    userdebug_or_eng(`-su')
+  } vndservice_manager_type:service_manager *;
+')
+full_treble_only(`
+  neverallow {
+    coredomain
+    -shell
+    userdebug_or_eng(`-su')
+  } vndservicemanager:binder *;
+')
+
+# On full TREBLE devices, socket communications between core components and vendor components are
+# not permitted.
+  # Most general rules first, more specific rules below.
+
+  # Core domains are not permitted to initiate communications to vendor domain sockets.
+  # We are not restricting the use of already established sockets because it is fine for a process
+  # to obtain an already established socket via some public/official/stable API and then exchange
+  # data with its peer over that socket. The wire format in this scenario is dicatated by the API
+  # and thus does not break the core-vendor separation.
+full_treble_only(`
+  neverallow_establish_socket_comms({
+    coredomain
+    -init
+    -adbd
+  }, {
+    domain
+    -coredomain
+    -socket_between_core_and_vendor_violators
+  });
+')
+
+  # Vendor domains are not permitted to initiate create/open sockets owned by core domains
+full_treble_only(`
+  neverallow {
+    domain
+    -coredomain
+    -appdomain # appdomain restrictions below
+    -data_between_core_and_vendor_violators # b/70393317
+    -socket_between_core_and_vendor_violators
+    -vendor_init
+  } {
+    coredomain_socket
+    core_data_file_type
+    unlabeled # used only by core domains
+  }:sock_file ~{ append getattr ioctl read write };
+')
+full_treble_only(`
+  neverallow {
+    appdomain
+    -coredomain
+  } {
+    coredomain_socket
+    unlabeled # used only by core domains
+    core_data_file_type
+    -app_data_file
+    -privapp_data_file
+    -pdx_endpoint_socket_type # used by VR layer
+    -pdx_channel_socket_type # used by VR layer
+  }:sock_file ~{ append getattr ioctl read write };
+')
+
+  # Core domains are not permitted to create/open sockets owned by vendor domains
+full_treble_only(`
+  neverallow {
+    coredomain
+    -init
+    -ueventd
+    -socket_between_core_and_vendor_violators
+  } {
+    file_type
+    dev_type
+    -coredomain_socket
+    -core_data_file_type
+    -app_data_file_type
+    -unlabeled
+  }:sock_file ~{ append getattr ioctl read write };
+')
+
+# On TREBLE devices, vendor and system components are only allowed to share
+# files by passing open FDs over hwbinder. Ban all directory access and all file
+# accesses other than what can be applied to an open FD such as
+# ioctl/stat/read/write/append. This is enforced by segregating /data.
+# Vendor domains may directly access file in /data/vendor by path, but may only
+# access files outside of /data/vendor via an open FD passed over hwbinder.
+# Likewise, core domains may only directly access files outside /data/vendor by
+# path and files in /data/vendor by open FD.
+full_treble_only(`
+  # only coredomains may only access core_data_file_type, particularly not
+  # /data/vendor
+  neverallow {
+    coredomain
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+    -data_between_core_and_vendor_violators
+    -init
+    -vold_prepare_subdirs
+  } {
+    data_file_type
+    -core_data_file_type
+    -app_data_file_type
+  }:file_class_set ~{ append getattr ioctl read write map };
+')
+full_treble_only(`
+  neverallow {
+    coredomain
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+    -data_between_core_and_vendor_violators
+    -init
+    -vold_prepare_subdirs
+    } {
+      data_file_type
+      -core_data_file_type
+      -app_data_file_type
+      # TODO(b/72998741) Remove exemption. Further restricted in a subsequent
+      # neverallow. Currently only getattr and search are allowed.
+      -vendor_data_file
+    }:dir *;
+
+')
+full_treble_only(`
+  # vendor domains may only access files in /data/vendor, never core_data_file_types
+  neverallow {
+    domain
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+    -coredomain
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+    -vendor_init
+  } {
+    core_data_file_type
+    with_native_coverage(`-method_trace_data_file')
+  }:file_class_set ~{ append getattr ioctl read write map };
+  neverallow {
+    vendor_init
+    -data_between_core_and_vendor_violators
+  } {
+    core_data_file_type
+    -unencrypted_data_file
+    with_native_coverage(`-method_trace_data_file')
+  }:file_class_set ~{ append getattr ioctl read write map };
+  # vendor init needs to be able to read unencrypted_data_file to create directories with FBE.
+  # The vendor init binary lives on the system partition so there is not a concern with stability.
+  neverallow vendor_init unencrypted_data_file:file ~r_file_perms;
+')
+full_treble_only(`
+  # vendor domains may only access dirs in /data/vendor, never core_data_file_types
+  neverallow {
+    domain
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+    -coredomain
+    -data_between_core_and_vendor_violators
+    -vendor_init
+  } {
+    core_data_file_type
+    -system_data_file # default label for files on /data. Covered below...
+    -system_data_root_file
+    -vendor_userdir_file
+    -vendor_data_file
+    with_native_coverage(`-method_trace_data_file')
+  }:dir *;
+  neverallow {
+    vendor_init
+    -data_between_core_and_vendor_violators
+  } {
+    core_data_file_type
+    -unencrypted_data_file
+    -system_data_file
+    -system_data_root_file
+    -vendor_userdir_file
+    -vendor_data_file
+    with_native_coverage(`-method_trace_data_file')
+  }:dir *;
+  # vendor init needs to be able to read unencrypted_data_file to create directories with FBE.
+  # The vendor init binary lives on the system partition so there is not a concern with stability.
+  neverallow vendor_init unencrypted_data_file:dir ~search;
+')
+full_treble_only(`
+  # vendor domains may only access dirs in /data/vendor, never core_data_file_types
+  neverallow {
+    domain
+    -appdomain # TODO(b/34980020) remove exemption for appdomain
+    -coredomain
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+    } {
+      system_data_file # default label for files on /data. Covered below
+    }:dir ~{ getattr search };
+')
+
+full_treble_only(`
+  #  coredomains may not access dirs in /data/vendor.
+  neverallow {
+    coredomain
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+    -init
+    -vold # vold creates per-user storage for both system and vendor
+    -vold_prepare_subdirs
+    } {
+      vendor_data_file # default label for files on /data. Covered below
+    }:dir ~{ getattr search };
+')
+
+full_treble_only(`
+  #  coredomains may not access dirs in /data/vendor.
+  neverallow {
+    coredomain
+    -data_between_core_and_vendor_violators # TODO(b/34980020) Remove once all violators have been cleaned up
+    -init
+    } {
+      vendor_data_file # default label for files on /data/vendor{,_ce,_de}.
+    }:file_class_set ~{ append getattr ioctl read write map };
+')
+
+full_treble_only(`
+    # Non-vendor domains are not allowed to file execute shell
+    # from vendor
+    neverallow {
+        coredomain
+        -init
+        -shell
+        -ueventd
+        userdebug_or_eng(`-overlay_remounter')
+    } vendor_shell_exec:file { execute execute_no_trans };
+')
+
+full_treble_only(`
+    # Do not allow vendor components to execute files from system
+    # except for the ones allowed here.
+    neverallow {
+        domain
+        -coredomain
+        -appdomain
+        -vendor_executes_system_violators
+        -vendor_init
+    } {
+        system_file_type
+        -system_lib_file
+        -system_bootstrap_lib_file
+        -system_linker_exec
+        -crash_dump_exec
+        -netutils_wrapper_exec
+        userdebug_or_eng(`-tcpdump_exec')
+        # Vendor components still can invoke shell commands via /system/bin/sh
+        -shell_exec
+        -toolbox_exec
+        -virtualizationmanager_exec
+        is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `-early_virtmgr_exec')
+    }:file { entrypoint execute execute_no_trans };
+')
+
+full_treble_only(`
+    # Do not allow coredomain to access entrypoint for files other
+    # than system_file_type and postinstall_file
+    neverallow coredomain {
+        file_type
+        -system_file_type
+        -postinstall_file
+    }:file entrypoint;
+    # Do not allow domains other than coredomain to access entrypoint
+    # for anything but vendor_file_type and init_exec for vendor_init.
+    neverallow { domain -coredomain } {
+        file_type
+        -vendor_file_type
+        -init_exec
+    }:file entrypoint;
+')
+
+full_treble_only(`
+    # Do not allow system components to execute files from vendor
+    # except for the ones allowed here.
+    neverallow {
+      coredomain
+      -init
+      -shell
+      -system_executes_vendor_violators
+      -ueventd
+      userdebug_or_eng(`-overlay_remounter')
+    } {
+      vendor_file_type
+      -same_process_hal_file
+      -vndk_sp_file
+      -vendor_app_file
+      -vendor_public_framework_file
+      -vendor_public_lib_file
+    }:file execute;
+')
+
+full_treble_only(`
+    neverallow {
+      coredomain
+      -shell
+      -system_executes_vendor_violators
+      userdebug_or_eng(`-overlay_remounter')
+    } {
+      vendor_file_type
+      -same_process_hal_file
+    }:file execute_no_trans;
+')
+
+full_treble_only(`
+  # Do not allow vendor components access to /system files except for the
+  # ones allowed here.
+  neverallow {
+    domain
+    -appdomain
+    -coredomain
+    -vendor_executes_system_violators
+    # vendor_init needs access to init_exec for domain transition. vendor_init
+    # neverallows are covered in public/vendor_init.te
+    -vendor_init
+  } {
+    system_file_type
+    -cgroup_desc_file
+    -crash_dump_exec
+    -file_contexts_file
+    -netutils_wrapper_exec
+    -property_contexts_file
+    -system_event_log_tags_file
+    -system_group_file
+    -system_lib_file
+    -system_bootstrap_lib_file
+    with_asan(`-system_asan_options_file')
+    -system_linker_exec
+    -system_linker_config_file
+    -system_passwd_file
+    -system_seccomp_policy_file
+    -system_security_cacerts_file
+    -system_zoneinfo_file
+    -task_profiles_file
+    userdebug_or_eng(`-tcpdump_exec')
+    # Vendor components still can invoke shell commands via /system/bin/sh
+    -shell_exec
+    -toolbox_exec
+    -virtualizationmanager_exec
+    is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `-early_virtmgr_exec')
+  }:file *;
+')
+
+# Only system_server should be able to send commands via the zygote socket
+neverallow { domain -zygote -system_server } zygote:unix_stream_socket connectto;
+neverallow { domain -system_server } zygote_socket:sock_file write;
+
+neverallow { domain -system_server -webview_zygote -app_zygote } webview_zygote:unix_stream_socket connectto;
+neverallow { domain -system_server } webview_zygote:sock_file write;
+neverallow { domain -system_server } app_zygote:sock_file write;
+
+neverallow domain tombstoned_crash_socket:unix_stream_socket connectto;
+
+# Never allow anyone except dumpstate, incidentd, or the system server to connect or write to
+# the tombstoned intercept socket.
+neverallow { domain -dumpstate -incidentd -system_server } tombstoned_intercept_socket:sock_file write;
+neverallow { domain -dumpstate -incidentd -system_server } tombstoned_intercept_socket:unix_stream_socket connectto;
+
+# Never allow anyone but system_server to read heapdumps in /data/system/heapdump.
+neverallow { domain -init -system_server } heapdump_data_file:file read;
+
+# Android does not support System V IPCs.
+#
+# The reason for this is due to the fact that, by design, they lead to global
+# kernel resource leakage.
+#
+# For example, there is no way to automatically release a SysV semaphore
+# allocated in the kernel when:
+#
+# - a buggy or malicious process exits
+# - a non-buggy and non-malicious process crashes or is explicitly killed.
+#
+# Killing processes automatically to make room for new ones is an
+# important part of Android's application lifecycle implementation. This means
+# that, even assuming only non-buggy and non-malicious code, it is very likely
+# that over time, the kernel global tables used to implement SysV IPCs will fill
+# up.
+neverallow * *:{ shm sem msg msgq } *;
+
+# Do not mount on top of symlinks, fifos, or sockets.
+# Feature parity with Chromium LSM.
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} { file_type fs_type dev_type }:{ lnk_file fifo_file sock_file } mounton;
+
+# Nobody should be able to execute su on user builds.
+# On userdebug/eng builds, only dumpstate, shell, and
+# su itself execute su.
+neverallow { domain userdebug_or_eng(`-dumpstate -shell -su -overlay_remounter') } su_exec:file no_x_file_perms;
+
+# Do not allow the introduction of new execmod rules. Text relocations
+# and modification of executable pages are unsafe.
+# The only exceptions are for NDK text relocations associated with
+# https://code.google.com/p/android/issues/detail?id=23203
+# which, long term, need to go away.
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} {
+  file_type
+  -apk_data_file
+  -app_data_file
+  -asec_public_file
+}:file execmod;
+
+# Do not allow making the stack or heap executable.
+# We would also like to minimize execmem but it seems to be
+# required by some device-specific service domains.
+neverallow * self:process { execstack execheap };
+
+# Do not allow the introduction of new execmod rules. Text relocations
+# and modification of executable pages are unsafe.
+neverallow {
+  domain
+  -untrusted_app_25
+  -untrusted_app_27
+  userdebug_or_eng(`-overlay_remounter')
+} file_type:file execmod;
+
+# Ensure that all types assigned to processes are included
+# in the domain attribute, so that all allow and neverallow rules
+# written on domain are applied to all processes.
+# This is achieved by ensuring that it is impossible to transition
+# from a domain to a non-domain type and vice versa.
+# TODO - rework this: neverallow domain ~domain:process { transition dyntransition };
+neverallow ~domain domain:process { transition dyntransition };
+
+#
+# Only system_app and system_server should be creating or writing
+# their files. The proper way to share files is to setup
+# type transitions to a more specific type or assigning a type
+# to its parent directory via a file_contexts entry.
+# Example type transition:
+#  mydomain.te:file_type_auto_trans(mydomain, system_data_file, new_file_type)
+#
+neverallow {
+  domain
+  -system_server
+  -system_app
+  -init
+  -toolbox # TODO(b/141108496) We want to remove toolbox
+  -installd # for relabelfrom and unlink, check for this in explicit neverallow
+  -vold_prepare_subdirs # For unlink
+  with_asan(`-asan_extract')
+} system_data_file:file no_w_file_perms;
+# do not grant anything greater than r_file_perms and relabelfrom unlink
+# to installd
+neverallow installd system_data_file:file ~{ r_file_perms relabelfrom unlink };
+
+#
+# Only these domains should transition to shell domain. This domain is
+# permissible for the "shell user". If you need a process to exec a shell
+# script with differing privilege, define a domain and set up a transition.
+#
+neverallow {
+  domain
+  -adbd
+  -init
+  -runas
+  -zygote
+} shell:process { transition dyntransition };
+
+# Only domains spawned from zygote, runas and simpleperf_app_runner may have
+# the appdomain attribute.
+#
+# simpleperf is excluded as a domain transitioned to when running an app-scoped
+# profiling session.
+#
+# tradeinmode is excluded; it is only run when adbd is in trade-in mode,
+# transitioned from the limited adbd_tradeinmode context. It is a wrapper
+# around "am" to avoid exposing the shell context when adbd is in trade-in
+# mode.
+neverallow { domain -simpleperf_app_runner -runas -app_zygote -webview_zygote -zygote } {
+  appdomain -shell -simpleperf userdebug_or_eng(`-su') -tradeinmode
+}:process { transition dyntransition };
+
+# Minimize read access to shell- or app-writable symlinks.
+# This is to prevent malicious symlink attacks.
+neverallow {
+  domain
+  -appdomain
+  -artd
+  -installd
+} { app_data_file privapp_data_file }:lnk_file read;
+
+neverallow {
+  domain
+  -shell
+  userdebug_or_eng(`-uncrypt')
+  -installd
+} shell_data_file:lnk_file read;
+
+# servicemanager and vndservicemanager are the only processes which handle the
+# service_manager list request
+neverallow * ~{
+    servicemanager
+    vndservicemanager
+    }:service_manager list;
+
+# hwservicemanager is the only process which handles hw list requests
+neverallow * ~{
+    hwservicemanager
+    }:hwservice_manager list;
+
+# only service_manager_types can be added to service_manager
+# TODO - rework this: neverallow * ~service_manager_type:service_manager { add find };
+
+# Prevent assigning non property types to properties
+# TODO - rework this: neverallow * ~property_type:property_service set;
+
+# Domain types should never be assigned to any files other
+# than the /proc/pid files associated with a process. The
+# executable file used to enter a domain should be labeled
+# with its own _exec type, not with the domain type.
+# Conventionally, this looks something like:
+# $ cat mydaemon.te
+# type mydaemon, domain;
+# type mydaemon_exec, exec_type, file_type;
+# init_daemon_domain(mydaemon)
+# $ grep mydaemon file_contexts
+# /system/bin/mydaemon -- u:object_r:mydaemon_exec:s0
+neverallow * domain:file { execute execute_no_trans entrypoint };
+
+# Do not allow access to the generic debugfs label. This is too broad.
+# Instead, if access to part of debugfs is desired, it should have a
+# more specific label.
+# TODO: fix dumpstate
+neverallow { domain -init -vendor_init -dumpstate } debugfs:{ file lnk_file } no_rw_file_perms;
+
+# Do not allow executable files in debugfs.
+neverallow domain debugfs_type:file { execute execute_no_trans };
+
+# Don't allow access to the FUSE control filesystem, except to vold and init's
+neverallow { domain -vold -init -vendor_init } fusectlfs:file no_rw_file_perms;
+
+# Profiles contain untrusted data and profman parses that. We should only run
+# it from installd and artd forked processes.
+neverallow {
+  domain
+  -installd
+  -profman
+  -artd
+  userdebug_or_eng(`-overlay_remounter')
+} profman_exec:file no_x_file_perms;
+
+# Enforce restrictions on kernel module origin.
+# Do not allow kernel module loading except from system,
+# vendor, boot, and system_dlkm partitions.
+# TODO(b/218951883): Remove usage of system and rootfs as origin
+neverallow * ~{ system_file_type vendor_file_type rootfs system_dlkm_file_type }:system module_load;
+
+# Only allow filesystem caps to be set at build time. Runtime changes
+# to filesystem capabilities are not permitted.
+neverallow * self:global_capability_class_set setfcap;
+
+# Enforce AT_SECURE for executing crash_dump.
+neverallow domain crash_dump:process noatsecure;
+
+# Do not permit non-core domains to register HwBinder services which are
+# guaranteed to be provided by core domains only.
+neverallow ~coredomain coredomain_hwservice:hwservice_manager add;
+
+# Do not permit the registeration of HwBinder services which are guaranteed to
+# be passthrough only (i.e., run in the process of their clients instead of a
+# separate server process).
+neverallow * same_process_hwservice:hwservice_manager add;
+
+# If an already existing file is opened with O_CREAT, the kernel might generate
+# a false report of a create denial. Silence these denials and make sure that
+# inappropriate permissions are not granted.
+
+# These filesystems don't allow files or directories to be created, so the permission
+# to do so should never be granted.
+neverallow domain {
+  proc_type
+  sysfs_type
+}:dir { add_name create link remove_name rename reparent rmdir write };
+
+# cgroupfs directories can be created, but not files within them.
+neverallow domain cgroup:file create;
+neverallow domain cgroup_v2:file create;
+
+dontaudit domain proc_type:dir write;
+dontaudit domain sysfs_type:dir write;
+dontaudit domain cgroup:file create;
+dontaudit domain cgroup_v2:file create;
+
+# These are only needed in permissive mode - in enforcing mode the
+# directory write check fails and so these are never attempted.
+userdebug_or_eng(`
+  dontaudit domain proc_type:dir add_name;
+  dontaudit domain sysfs_type:dir add_name;
+  dontaudit domain proc_type:file create;
+  dontaudit domain sysfs_type:file create;
+')
+
+# Platform must not have access to /mnt/vendor.
+neverallow {
+  coredomain
+  -init
+  -ueventd
+  -vold
+  -system_writes_mnt_vendor_violators
+} mnt_vendor_file:dir *;
+
+# Only apps are allowed access to vendor public libraries.
+full_treble_only(`
+  neverallow {
+    coredomain
+    -appdomain
+    userdebug_or_eng(`-overlay_remounter')
+  } {vendor_public_framework_file vendor_public_lib_file}:file { execute execute_no_trans };
+')
+
+# Vendor domian must not have access to /mnt/product.
+neverallow {
+  domain
+  -coredomain
+} mnt_product_file:dir *;
+
+# Platform must not have access to sysfs_batteryinfo, but should do it via health HAL
+full_treble_only(`
+  neverallow {
+    coredomain
+    -shell
+    # For access to block device information under /sys/class/block.
+    -apexd
+    # Read sysfs block device information.
+    -init
+    # Generate uevents for health info
+    -ueventd
+    # Recovery uses health HAL passthrough implementation.
+    -recovery
+    # Charger uses health HAL passthrough implementation.
+    -charger
+    # TODO(b/110891300): remove this exception
+    -incidentd
+  } sysfs_batteryinfo:file { open read };
+')
+
+neverallow {
+  domain
+  -hal_codec2_server
+  -hal_omx_server
+} hal_codec2_hwservice:hwservice_manager add;
+
+# Only apps targetting < Q are allowed to open /dev/ashmem directly.
+# Apps must use ASharedMemory NDK API. Native code must use libcutils API.
+neverallow {
+  domain
+  -ephemeral_app # We don't distinguish ephemeral apps based on target API.
+  -untrusted_app_25
+  -untrusted_app_27
+} ashmem_device:chr_file open;
+
+neverallow { domain -traced_probes -init -vendor_init } debugfs_tracing_printk_formats:file *;
+
+# No domains other than a select few can access the misc_block_device. This
+# block device is reserved for OTA use.
+# Do not assert this rule on userdebug/eng builds, due to some devices using
+# this partition for testing purposes.
+neverallow {
+  domain
+  userdebug_or_eng(`-domain') # exclude debuggable builds
+  -fastbootd
+  -hal_bootctl_server
+  -init
+  -uncrypt
+  -update_engine
+  -vendor_init
+  -vendor_misc_writer
+  -vold
+  -recovery
+  -ueventd
+  -mtectrl
+  -misctrl
+  -kcmdlinectrl
+} misc_block_device:blk_file { append link relabelfrom rename write open read ioctl lock };
+
+# Limit ability to ptrace or read sensitive /proc/pid files of processes
+# with other UIDs to these allowlisted domains.
+neverallow {
+  domain
+  -vold
+  userdebug_or_eng(`-llkd')
+  -dumpstate
+  userdebug_or_eng(`-incidentd')
+  userdebug_or_eng(`-profcollectd')
+  userdebug_or_eng(`-simpleperf_boot')
+  -storaged
+  -system_server
+} self:global_capability_class_set sys_ptrace;
+
+# Limit ability to generate hardware unique device ID attestations to priv_apps
+neverallow { domain -priv_app -gmscore_app } *:keystore2_key gen_unique_id;
+neverallow { domain -system_server } *:keystore2_key use_dev_id;
+neverallow { domain -system_server } keystore:keystore2 { clear_ns lock reset unlock };
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  userdebug_or_eng(`-domain')
+} debugfs_tracing_debug:file no_rw_file_perms;
+
+# System_server owns dropbox data, and init creates/restorecons the directory
+# Disallow direct access by other processes.
+neverallow {
+  domain
+  -init
+  -system_server
+  userdebug_or_eng(`-dumpstate')
+} dropbox_data_file:dir *;
+neverallow {
+  domain
+  -init
+  -system_server
+  userdebug_or_eng(`-dumpstate')
+} dropbox_data_file:file ~{ getattr read };
+
+###
+# Services should respect app sandboxes
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -installd # creation of sandbox
+} {
+  privapp_data_file
+  app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir_file_class_set { create unlink };
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallow {
+    domain
+    -artd # compile secondary dex files
+    -installd # creation of sandbox
+    -vold_prepare_subdirs # creation of storage area directories
+  } {storage_area_app_dir storage_area_dir }:dir { create unlink };
+')
+
+# Only the following processes should be directly accessing private app
+# directories.
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -app_zygote
+  -artd # compile secondary dex files
+  -installd
+  -profman
+  -rs # spawned by appdomain, so carryover the exception above
+  -runas
+  -system_server
+  -zygote
+} {
+  privapp_data_file
+  app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir *;
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallow {
+    domain
+    -appdomain
+    -app_zygote
+    -artd # compile secondary dex files
+    -installd
+    -rs # spawned by appdomain, so carryover the exception above
+    -system_server
+    -vold # encryption of storage area directories
+    -vold_prepare_subdirs # creation of storage area directories
+    -zygote
+  } { storage_area_dir storage_area_app_dir }:dir *;
+')
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  # only vold and installd can access the storage area key files
+  # (and init, in case of a recursive restorecon)
+  neverallow {
+    domain
+    -init
+    -vold
+    -vold_prepare_subdirs
+    -installd
+  } { storage_area_key_file }:dir_file_class_set *;
+')
+
+# Only apps should be modifying app data. installd is exempted for
+# restorecon and package install/uninstall.
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -installd
+  -rs # spawned by appdomain, so carryover the exception above
+} {
+  privapp_data_file
+  app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir ~r_dir_perms;
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallow {
+    domain
+    -appdomain
+    -artd # compile secondary dex files
+    -installd
+    -rs # spawned by appdomain, so carryover the exception above
+    -vold_prepare_subdirs # creation of storage area directories
+  } { storage_area_dir storage_area_app_dir }:dir ~r_dir_perms;
+')
+
+neverallow {
+  domain
+  -appdomain
+  -app_zygote
+  -artd # compile secondary dex files
+  -installd
+  -rs # spawned by appdomain, so carryover the exception above
+} {
+  privapp_data_file
+  app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:file_class_set open;
+
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -installd # creation of sandbox
+} {
+  privapp_data_file
+  app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir_file_class_set { create unlink };
+
+neverallow {
+  domain
+  -artd # compile secondary dex files
+  -installd
+} {
+  privapp_data_file
+  app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir_file_class_set { relabelfrom relabelto };
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallow {
+    domain
+    -artd # compile secondary dex files
+    -installd
+    -vold_prepare_subdirs
+  } { storage_area_dir storage_area_app_dir }:dir { relabelfrom relabelto };
+')
+
+# The staging directory contains APEX and APK files. It is important to ensure
+# that these files cannot be accessed by other domains to ensure that the files
+# do not change between system_server staging the files and apexd processing
+# the files.
+# The update_provider can also stage files before apexd processes them.
+neverallow {
+  domain
+  -init
+  -system_server
+  -apexd
+  -installd
+  -priv_app
+  -virtualizationmanager
+  -update_provider # WARNING: USING THIS ATTRIBUTE WILL CAUSE CTS TO FAIL!
+} staging_data_file:dir *;
+neverallow {
+  domain
+  -init
+  -system_app
+  -system_server
+  -apexd
+  -adbd
+  -kernel
+  -installd
+  -priv_app
+  -shell
+  -virtualizationmanager
+  -crosvm
+  -update_provider # WARNING: USING THIS ATTRIBUTE WILL CAUSE CTS TO FAIL!
+} staging_data_file:file *;
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -system_server -installd -update_provider } staging_data_file:dir no_w_dir_perms;
+# apexd needs the link/unlink/rename permissions
+# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
+neverallow { domain -init -system_server -installd -apexd -update_provider } staging_data_file:file {
+  no_w_file_perms no_x_file_perms
+};
+neverallow apexd staging_data_file:file {
+  append create relabelfrom setattr write # no_w_file_perms -link -unlink -rename
+  no_x_file_perms
+};
+
+neverallow {
+    domain
+    -appdomain # for oemfs
+    -bootanim # for oemfs
+    -recovery # for /tmp/update_binary in tmpfs
+} { fs_type -rootfs }:file execute;
+
+#
+# Assert that, to the extent possible, we're not loading executable content from
+# outside the rootfs or /system partition except for a few allowlisted domains.
+# Executable files loaded from /data is a persistence vector
+# we want to avoid. See
+# https://bugs.chromium.org/p/project-zero/issues/detail?id=955 for example.
+#
+neverallow {
+    domain
+    -appdomain
+    with_asan(`-asan_extract')
+    -shell
+    userdebug_or_eng(`-su')
+    -system_server_startup # for memfd backed executable regions
+    -app_zygote
+    -webview_zygote
+    -zygote
+    userdebug_or_eng(`-mediaextractor')
+    userdebug_or_eng(`-mediaswcodec')
+    userdebug_or_eng(`-overlay_remounter')
+} {
+    file_type
+    -system_file_type
+    -system_lib_file
+    -system_bootstrap_lib_file
+    -system_linker_exec
+    -vendor_file_type
+    -exec_type
+    -postinstall_file
+}:file execute;
+
+# Only init is allowed to write cgroup.rc file
+neverallow {
+  domain
+  -init
+  -vendor_init
+} cgroup_rc_file:file no_w_file_perms;
+
+# Only authorized processes should be writing to files in /data/dalvik-cache
+neverallow {
+  domain
+  -init # TODO: limit init to relabelfrom for files
+  -zygote
+  -installd
+  -postinstall_dexopt
+  -cppreopts
+  -dex2oat
+  -otapreopt_slot
+  -artd
+} dalvikcache_data_file:file no_w_file_perms;
+
+neverallow {
+  domain
+  -init
+  -installd
+  -postinstall_dexopt
+  -cppreopts
+  -dex2oat
+  -zygote
+  -otapreopt_slot
+  -artd
+} dalvikcache_data_file:dir no_w_dir_perms;
+
+# Only authorized processes should be writing to /data/misc/apexdata/com.android.art as it
+# contains boot class path and system server AOT artifacts following an ART APEX Mainline update.
+neverallow {
+  domain
+  # art-related processes
+  -composd
+  -compos_fd_server
+  -odrefresh
+  -odsign
+  # others
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_art_data_file:file no_w_file_perms;
+
+neverallow {
+  domain
+  # art-related processes
+  -composd
+  -compos_fd_server
+  -odrefresh
+  -odsign
+  # others
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_art_data_file:dir no_w_dir_perms;
+
+# Protect most domains from executing arbitrary content from /data.
+neverallow {
+  domain
+  -appdomain
+  userdebug_or_eng(`-overlay_remounter')
+} {
+  data_file_type
+  -apex_art_data_file
+  -dalvikcache_data_file
+  -system_data_file # shared libs in apks
+  -apk_data_file
+}:file no_x_file_perms;
+
+# Minimize dac_override and dac_read_search.
+# Instead of granting them it is usually better to add the domain to
+# a Unix group or change the permissions of a file.
+define(`dac_override_allowed', `{
+  apexd
+  artd
+  dnsmasq
+  dumpstate
+  init
+  installd
+  userdebug_or_eng(`llkd')
+  lmkd
+  migrate_legacy_obb_data
+  netd
+  postinstall_dexopt
+  recovery
+  rss_hwm_reset
+  sdcardd
+  tee
+  ueventd
+  uncrypt
+  vendor_init
+  vold
+  vold_prepare_subdirs
+  zygote
+  userdebug_or_eng(`overlay_remounter')
+}')
+neverallow ~dac_override_allowed self:global_capability_class_set dac_override;
+# Since the kernel checks dac_read_search before dac_override, domains that
+# have dac_override should also have dac_read_search to eliminate spurious
+# denials.  Some domains have dac_read_search without having dac_override, so
+# this list should be a superset of the one above.
+neverallow ~{
+  dac_override_allowed
+  traced_perf
+  traced_probes
+  heapprofd
+} self:global_capability_class_set dac_read_search;
+
+# Limit what domains can mount filesystems or change their mount flags.
+# sdcard_type (including vfat and exfat) and fusefs_type are exempt as a larger
+# set of domains need this capability, including device-specific domains.
+neverallow {
+    domain
+    -apexd
+    -dexopt_chroot_setup
+    recovery_only(`-fastbootd')
+    -init
+    -kernel
+    -otapreopt_chroot
+    -recovery
+    -update_engine
+    -vold
+    -zygote
+    userdebug_or_eng(`-overlay_remounter')
+} { fs_type
+    -sdcard_type
+    -fusefs_type
+}:filesystem { mount remount relabelfrom relabelto };
+
+enforce_debugfs_restriction(`
+  neverallow {
+    domain userdebug_or_eng(`-init')
+  } { debugfs_type -debugfs_tracing_debug }:filesystem { mount remount relabelfrom relabelto };
+')
+
+# Limit raw I/O to these allowlisted domains. Do not apply to debug builds.
+neverallow {
+  domain
+  userdebug_or_eng(`-domain')
+  -kernel
+  -gsid
+  -init
+  -recovery
+  -ueventd
+  -uncrypt
+  -tee
+  -hal_bootctl_server
+  -fastbootd
+} self:global_capability_class_set sys_rawio;
+
+# Limit directory operations that doesn't need to do app data isolation.
+neverallow {
+  domain
+  -fsck
+  -init
+  -installd
+  -zygote
+} mirror_data_file:dir *;
+
+# This property is being removed. Remove remaining access.
+neverallow { domain -init -system_server -vendor_init } net_dns_prop:property_service set;
+neverallow { domain -dumpstate -init -system_server -vendor_init } net_dns_prop:file read;
+
+# Only core domains are allowed to access package_manager properties
+neverallow { domain -init -system_server } pm_prop:property_service set;
+neverallow { domain -coredomain } pm_prop:file no_rw_file_perms;
+
+# Do not allow reading the last boot timestamp from system properties
+neverallow { domain -init -system_server -dumpstate } firstboot_prop:file r_file_perms;
+
+# Allow ART to set its config properties in its oneshot boot service, in
+# addition to the common init and vendor_init access.
+neverallow { domain -art_boot -init -vendor_init } dalvik_config_prop:property_service set;
+
+# Kprobes should only be used by adb root
+neverallow { domain -init -vendor_init } debugfs_kprobes:file *;
+
+# On TREBLE devices, most coredomains should not access vendor_files.
+# TODO(b/71553434): Remove exceptions here.
+full_treble_only(`
+  neverallow {
+    coredomain
+    -appdomain
+    -bootanim
+    -crash_dump
+    -heapprofd
+    userdebug_or_eng(`-profcollectd')
+    -init
+    -kernel
+    userdebug_or_eng(`-simpleperf_boot')
+    -traced_perf
+    -ueventd
+    userdebug_or_eng(`-overlay_remounter')
+  } vendor_file:file { no_w_file_perms no_x_file_perms open };
+')
+
+# Vendor domains are not permitted to initiate communications to core domain sockets
+full_treble_only(`
+  neverallow_establish_socket_comms({
+    domain
+    -coredomain
+    -appdomain
+    -socket_between_core_and_vendor_violators
+  }, {
+    coredomain
+    -logd # Logging by writing to logd Unix domain socket is public API
+    -netd # netdomain needs this
+    -mdnsd # netdomain needs this
+    -prng_seeder # Any process using libcrypto needs this
+    userdebug_or_eng(`-su') # communications with su are permitted only on userdebug or eng builds
+    -init
+    -tombstoned # linker to tombstoned
+    -heapprofd
+    -traced
+    -traced_perf
+  });
+')
+
+full_treble_only(`
+  # Do not allow system components access to /vendor files except for the
+  # ones allowed here.
+  neverallow {
+    coredomain
+    # TODO(b/37168747): clean up fwk access to /vendor
+    -crash_dump
+    -crosvm # loads vendor-specific disk images
+    -init # starts vendor executables
+    -kernel # loads /vendor/firmware
+    -heapprofd
+    userdebug_or_eng(`-profcollectd')
+    -shell
+    userdebug_or_eng(`-simpleperf_boot')
+    -system_executes_vendor_violators
+    -traced_perf # library/binary access for symbolization
+    -ueventd # reads /vendor/ueventd.rc
+    -vold # loads incremental fs driver
+    userdebug_or_eng(`-overlay_remounter')
+  } {
+    vendor_file_type
+    -same_process_hal_file
+    -vendor_app_file
+    -vendor_apex_file
+    -vendor_apex_metadata_file
+    -vendor_boot_ota_file
+    -vendor_cgroup_desc_file
+    -vendor_configs_file
+    -vendor_microdroid_file
+    -vendor_service_contexts_file
+    -vendor_framework_file
+    -vendor_idc_file
+    -vendor_keychars_file
+    -vendor_keylayout_file
+    -vendor_overlay_file
+    -vendor_public_framework_file
+    -vendor_public_lib_file
+    -vendor_task_profiles_file
+    -vendor_uuid_mapping_config_file
+    -vndk_sp_file
+    -vendor_aconfig_storage_file
+  }:file *;
+')
+
+# mlsvendorcompat is only for compatibility support for older vendor
+# images, and should not be granted to any domain in current policy.
+# (Every domain is allowed self:fork, so this will trigger if the
+# intsersection of domain & mlsvendorcompat is not empty.)
+neverallow domain mlsvendorcompat:process fork;
+
+# Only init and otapreopt_chroot should be mounting filesystems on locations
+# labeled system or vendor (/product and /vendor respectively).
+neverallow {
+  domain
+  -dexopt_chroot_setup
+  -init
+  -otapreopt_chroot
+  userdebug_or_eng(`-overlay_remounter')
+} {
+  system_file_type
+  vendor_file_type
+}:dir_file_class_set mounton;
+
+# Only allow init and vendor_init to read/write mm_events properties
+# NOTE: dumpstate is allowed to read any system property
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+} mm_events_config_prop:file no_rw_file_perms;
+
+# Allow init to open /proc/kallsyms while kernel address mappings are still
+# visible, and later share it with tracing daemons (traced_probes,
+# traced_perf). These daemons are allowed to read from the shared fd, but also
+# to separately open the file (which will always have zeroed out addresses due
+# to init raising kptr_restrict) for locking to coordinate access to the shared
+# fd. The performance traces contain only the referenced kernel symbols, and
+# never the raw addresses (i.e. KASLR is not disclosed).
+# On debuggable builds, performance tools are allowed to open and read the file
+# directly because init is allowed to temporarily unrestrict systemwide address
+# visibility.
+neverallow {
+  domain
+  -init
+  -traced_probes
+  -traced_perf
+  userdebug_or_eng(`-profcollectd')
+  userdebug_or_eng(`-simpleperf_boot')
+} proc_kallsyms:file *;
+
+# debugfs_kcov type is not included in this neverallow statement since the KCOV
+# tool uses it for kernel fuzzing.
+# vendor_modprobe is also exempted since the kernel modules it loads may create
+# debugfs files in its context.
+enforce_debugfs_restriction(`
+  neverallow {
+    domain
+    -vendor_modprobe
+    userdebug_or_eng(`
+      -init
+      -hal_dumpstate
+      -incidentd
+    ')
+  } { debugfs_type
+      userdebug_or_eng(`-debugfs_kcov')
+      -tracefs_type
+  }:file no_rw_file_perms;
+')
+
+# Restrict write access to etm sysfs interface.
+neverallow { domain -ueventd -vendor_init } sysfs_devices_cs_etm:file no_w_file_perms;
+
+# Restrict CAP_PERFMON.
+neverallow {
+  domain
+  -init
+  -vendor_modprobe
+  userdebug_or_eng(`-simpleperf_boot')
+  -kernel
+  -uprobestats
+} self:capability2 perfmon;
+
+# Restrict direct access to shell owned files. The /data/local/tmp directory is
+# untrustworthy, and non-allowed domains should not be trusting any content in
+# those directories. We allow shell files to be passed around by file
+# descriptor, but not directly opened.
+# artd doesn't need to access /data/local/tmp, but it needs to access
+# /data/{user,user_de}/<user-id>/com.android.shell/... for compiling secondary
+# dex files.
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -artd
+  -dumpstate
+  -installd
+  userdebug_or_eng(`-uncrypt')
+  userdebug_or_eng(`-virtualizationmanager')
+  userdebug_or_eng(`-virtualizationservice')
+  userdebug_or_eng(`-crosvm')
+} shell_data_file:file open;
+
+# In addition to the symlink reading restrictions above, restrict
+# write access to shell owned directories. The /data/local/tmp
+# directory is untrustworthy, and non-allowed domains should
+# not be trusting any content in those directories.
+# artd doesn't need to access /data/local/tmp, but it needs to access
+# /data/{user,user_de}/<user-id>/com.android.shell/... for compiling secondary
+# dex files.
+neverallow {
+  domain
+  -adbd
+  -artd
+  -dumpstate
+  -installd
+  -init
+  -shell
+  -vold
+} shell_data_file:dir no_w_dir_perms;
+
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -artd
+  -dumpstate
+  -init
+  -installd
+  -simpleperf_app_runner
+  -system_server # why?
+  userdebug_or_eng(`-uncrypt')
+} shell_data_file:dir open;
+
+neverallow {
+  domain
+  -adbd
+  -appdomain
+  -artd
+  -dumpstate
+  -init
+  -installd
+  -simpleperf_app_runner
+  -system_server # why?
+  userdebug_or_eng(`-uncrypt')
+  userdebug_or_eng(`-virtualizationmanager')
+  userdebug_or_eng(`-crosvm')
+} shell_data_file:dir search;
+
+# respect system_app sandboxes
+neverallow {
+  domain
+  -appdomain
+  -artd # compile secondary dex files
+  -system_server #populate com.android.providers.settings/databases/settings.db.
+  -installd # creation of app sandbox
+  -traced_probes # resolve inodes for i/o tracing.
+                 # only needs open and read, the rest is neverallow in
+                 # traced_probes.te.
+} system_app_data_file:dir_file_class_set { create unlink open };
+neverallow {
+  isolated_app_all
+  ephemeral_app
+  priv_app
+  sdk_sandbox_all
+  untrusted_app_all
+} system_app_data_file:dir_file_class_set { create unlink open };
+
+neverallow { domain -init } mtectrl:process { dyntransition transition };
+neverallow { domain -init } kcmdlinectrl:process { dyntransition transition };
+
+# For now, don't allow processes other than gmscore to access /data/misc_ce/<userid>/checkin
+neverallow { domain -gmscore_app -init -vold_prepare_subdirs } checkin_data_file:{dir file} *;
+
+neverallow { domain -dexopt_chroot_setup -init } proc:{ file dir } mounton;
+neverallow { domain -dexopt_chroot_setup -init -zygote } proc_type:{ file dir } mounton;
+
+# Only init/vendor are allowed to write sysfs_pgsize_migration;
+# ueventd needs write access to all sysfs files.
+neverallow { domain -init -vendor_init -ueventd } sysfs_pgsize_migration:file no_w_file_perms;
+
+# virtmanager enforces access policy for which components can connect
+# to which VMs. If you have permissions to make direct connections, you
+# can talk to anything.
+starting_at_board_api(202504, `
+neverallow {
+    domain
+
+    # these are expected
+    -early_virtmgr
+    -virtualizationmanager
+    -virtualizationservice
+    -adbd_common # maybe should move to emulator/virtual device specific policy
+
+    # not expected, and defined outside of system/sepolicy.
+    # Note: this attribute is strongly recommended to be empty if not required.
+    -unconstrained_vsock_violators
+
+    # these are permissions that should be removed, and they are here for visibility.
+    -compos_fd_server   # TODO: get connections from virtmanager
+    -hal_keymint_system # TODO: get connections from virtmanager
+    -vmlauncher_app     # TODO: get connections from virtmanager
+} *:vsock_socket { connect create accept bind };
+')
diff --git a/prebuilts/api/202504/private/drmserver.te b/prebuilts/api/202504/private/drmserver.te
new file mode 100644
index 0000000..dfbf3b8
--- /dev/null
+++ b/prebuilts/api/202504/private/drmserver.te
@@ -0,0 +1,69 @@
+typeattribute drmserver coredomain;
+
+init_daemon_domain(drmserver)
+
+type_transition drmserver apk_data_file:sock_file drmserver_socket;
+
+typeattribute drmserver_socket coredomain_socket;
+
+get_prop(drmserver, drm_service_config_prop)
+
+typeattribute drmserver mlstrustedsubject;
+
+net_domain(drmserver)
+
+# Perform Binder IPC to system server.
+binder_use(drmserver)
+binder_call(drmserver, system_server)
+binder_call(drmserver, appdomain)
+binder_call(drmserver, mediametrics)
+binder_service(drmserver)
+# Inherit or receive open files from system_server.
+allow drmserver system_server:fd use;
+
+# Perform Binder IPC to mediaserver
+binder_call(drmserver, mediaserver)
+
+allow drmserver { sdcard_type fuse }:dir search;
+allow drmserver drm_data_file:dir create_dir_perms;
+allow drmserver drm_data_file:file create_file_perms;
+allow drmserver { app_data_file privapp_data_file }:file { read write getattr map };
+allow drmserver { sdcard_type fuse }:file { read write getattr map };
+r_dir_file(drmserver, efs_file)
+
+# /data/app/tlcd_sock socket file.
+# Clearly, /data/app is the most logical place to create a socket.  Not.
+allow drmserver apk_data_file:dir rw_dir_perms;
+auditallow drmserver apk_data_file:dir { add_name write };
+allow drmserver drmserver_socket:sock_file create_file_perms;
+auditallow drmserver drmserver_socket:sock_file create;
+# Delete old socket file if present.
+allow drmserver apk_data_file:sock_file unlink;
+
+# After taking a video, drmserver looks at the video file.
+r_dir_file(drmserver, media_rw_data_file)
+
+# Read resources from open apk files passed over Binder.
+allow drmserver apk_data_file:file { read getattr map };
+allow drmserver asec_apk_file:file { read getattr map };
+allow drmserver ringtone_file:file { read getattr map };
+
+# Read /data/data/com.android.providers.telephony files passed over Binder.
+allow drmserver radio_data_file:file { read getattr map };
+
+# /oem access
+allow drmserver oemfs:dir search;
+allow drmserver oemfs:file r_file_perms;
+
+# overlay package access
+allow drmserver vendor_overlay_file:file { read map };
+
+add_service(drmserver, drmserver_service)
+allow drmserver permission_service:service_manager find;
+allow drmserver mediametrics_service:service_manager find;
+
+selinux_check_access(drmserver)
+
+r_dir_file(drmserver, cgroup)
+r_dir_file(drmserver, cgroup_v2)
+r_dir_file(drmserver, system_file)
diff --git a/prebuilts/api/202504/private/dumpstate.te b/prebuilts/api/202504/private/dumpstate.te
new file mode 100644
index 0000000..501d829
--- /dev/null
+++ b/prebuilts/api/202504/private/dumpstate.te
@@ -0,0 +1,604 @@
+typeattribute dumpstate coredomain;
+type dumpstate_tmpfs, file_type;
+
+init_daemon_domain(dumpstate)
+
+# Execute and transition to the vdc domain
+domain_auto_trans(dumpstate, vdc_exec, vdc)
+
+# Create tmpfs files for using memfd descriptors to get output from child
+# processes.
+tmpfs_domain(dumpstate)
+
+# Acquire advisory lock on /system/etc/xtables.lock from ip[6]tables
+allow dumpstate system_file:file lock;
+
+allow dumpstate storaged_exec:file rx_file_perms;
+
+# /data/misc/a11ytrace for accessibility traces
+userdebug_or_eng(`
+  allow dumpstate accessibility_trace_data_file:dir r_dir_perms;
+  allow dumpstate accessibility_trace_data_file:file r_file_perms;
+')
+
+# /data/misc/wmtrace for wm traces
+userdebug_or_eng(`
+  allow dumpstate wm_trace_data_file:dir r_dir_perms;
+  allow dumpstate wm_trace_data_file:file r_file_perms;
+')
+
+# /data/system/dropbox for dropbox entries
+userdebug_or_eng(`
+  allow dumpstate dropbox_data_file:dir r_dir_perms;
+  allow dumpstate dropbox_data_file:file r_file_perms;
+')
+
+r_dir_file(dumpstate, aconfig_storage_metadata_file);
+
+# Allow dumpstate to make binder calls to incidentd
+binder_call(dumpstate, incidentd)
+
+# Kill incident in case of a timeout
+allow dumpstate incident:process { signal sigkill };
+
+# Allow dumpstate to make binder calls to storaged service
+binder_call(dumpstate, storaged)
+
+# Allow dumpstate to make binder calls to statsd
+binder_call(dumpstate, statsd)
+
+# Allow dumpstate to talk to gpuservice over binder
+binder_call(dumpstate, gpuservice);
+
+# Allow dumpstate to talk to idmap over binder
+binder_call(dumpstate, idmap);
+
+# Allow dumpstate to talk to profcollectd over binder
+userdebug_or_eng(`
+  binder_call(dumpstate, profcollectd)
+')
+
+# Allow dumpstate to talk to automotive_display_service over binder
+binder_call(dumpstate, automotive_display_service)
+
+# Allow dumpstate to talk to virtual_camera service over binder
+binder_call(dumpstate, virtual_camera)
+
+# Allow dumpstate to talk to ot_daemon service over binder
+binder_call(dumpstate, ot_daemon)
+
+# Collect metrics on boot time created by init
+get_prop(dumpstate, boottime_prop)
+
+get_prop(dumpstate, misctrl_prop)
+
+# Signal native processes to dump their stack.
+allow dumpstate {
+  mediatranscoding
+  statsd
+  netd
+  virtual_camera
+  ot_daemon
+}:process signal;
+
+# Only allow dumpstate to dump Keystore on debuggable builds.
+userdebug_or_eng(`
+  allow dumpstate keystore:process signal;
+')
+dontaudit dumpstate keystore:process { signal };
+
+# For collecting bugreports.
+no_debugfs_restriction(`
+  allow dumpstate debugfs_wakeup_sources:file r_file_perms;
+')
+
+allow dumpstate dev_type:blk_file getattr;
+allow dumpstate webview_zygote:process signal;
+allow dumpstate sysfs_dmabuf_stats:file r_file_perms;
+dontaudit dumpstate update_engine:binder call;
+
+# Read files in /proc
+allow dumpstate {
+  config_gz
+  proc_net_tcp_udp
+  proc_pid_max
+}:file r_file_perms;
+
+# For comminucating with the system process to do confirmation ui.
+binder_call(dumpstate, incidentcompanion_service)
+
+# Set properties.
+# dumpstate_prop is used to share state with the Shell app.
+set_prop(dumpstate, dumpstate_prop)
+set_prop(dumpstate, exported_dumpstate_prop)
+
+# dumpstate_options_prop is used to pass extra command-line args.
+set_prop(dumpstate, dumpstate_options_prop)
+
+# Allow dumpstate to kill vendor dumpstate service by init
+set_prop(dumpstate, ctl_dumpstate_prop)
+
+# For dumping dynamic partition information.
+set_prop(dumpstate, lpdumpd_prop)
+binder_call(dumpstate, lpdumpd)
+
+# For dumping hypervisor information.
+get_prop(dumpstate, hypervisor_prop)
+
+# For dumping device-mapper and snapshot information.
+allow dumpstate gsid_exec:file rx_file_perms;
+set_prop(dumpstate, ctl_gsid_prop)
+binder_call(dumpstate, gsid)
+
+#Allow access to /dev/binderfs/binder_logs
+userdebug_or_eng(`
+    allow dumpstate binderfs_logs_transactions:file r_file_perms;
+')
+dontaudit dumpstate binderfs_logs_transactions:file r_file_perms;
+allow dumpstate binderfs_logs_transaction_history:file r_file_perms;
+
+r_dir_file(dumpstate, ota_metadata_file)
+
+# For starting (and killing) perfetto --save-for-bugreport. If a labelled trace
+# is being recorded, the command above will serialize it into
+# /data/misc/perfetto-traces/bugreport/*.pftrace .
+domain_auto_trans(dumpstate, perfetto_exec, perfetto)
+allow dumpstate perfetto:process signal;
+allow dumpstate perfetto_traces_data_file:dir { search };
+allow dumpstate perfetto_traces_bugreport_data_file:dir rw_dir_perms;
+allow dumpstate perfetto_traces_bugreport_data_file:file { r_file_perms unlink };
+
+# When exec-ing /system/bin/perfetto, dumpstates redirects stdio to /dev/null
+# (which is labelled as dumpstate_tmpfs) to avoid leaking a FD to the bugreport
+# zip file. These rules are to allow perfetto.te to inherit dumpstate's
+# /dev/null.
+allow perfetto dumpstate_tmpfs:file rw_file_perms;
+allow perfetto dumpstate:fd use;
+
+# system_dlkm_file for /system_dlkm partition
+allow dumpstate system_dlkm_file:dir getattr;
+
+# Allow dumpstate to execute derive_sdk in its own domain
+domain_auto_trans(dumpstate, derive_sdk_exec, derive_sdk)
+
+net_domain(dumpstate)
+binder_use(dumpstate)
+wakelock_use(dumpstate)
+
+# Allow setting process priority, protect from OOM killer, and dropping
+# privileges by switching UID / GID
+allow dumpstate self:global_capability_class_set { setuid setgid sys_resource };
+
+# Allow dumpstate to scan through /proc/pid for all processes
+r_dir_file(dumpstate, domain)
+
+allow dumpstate self:global_capability_class_set {
+    # Send signals to processes
+    kill
+    # Run iptables
+    net_raw
+    net_admin
+};
+
+# Allow executing files on system, such as:
+#   /system/bin/toolbox
+#   /system/bin/logcat
+#   /system/bin/dumpsys
+allow dumpstate system_file:file execute_no_trans;
+not_full_treble(`allow dumpstate vendor_file:file execute_no_trans;')
+allow dumpstate toolbox_exec:file rx_file_perms;
+
+# hidl searches for files in /system/lib(64)/hw/
+allow dumpstate system_file:dir r_dir_perms;
+
+# Create and write into /data/anr/
+allow dumpstate self:global_capability_class_set { dac_override dac_read_search chown fowner fsetid };
+allow dumpstate anr_data_file:dir rw_dir_perms;
+allow dumpstate anr_data_file:file create_file_perms;
+
+# Allow reading /data/system/uiderrors.txt
+# TODO: scope this down.
+allow dumpstate system_data_file:file r_file_perms;
+
+# Allow dumpstate to append into apps' private files.
+allow dumpstate app_data_file_type:file append;
+
+# Read dmesg
+allow dumpstate self:global_capability2_class_set syslog;
+allow dumpstate kernel:system syslog_read;
+
+# Read /sys/fs/pstore/console-ramoops
+allow dumpstate pstorefs:dir r_dir_perms;
+allow dumpstate pstorefs:file r_file_perms;
+
+# Get process attributes
+allow dumpstate domain:process getattr;
+
+# Signal java processes to dump their stack
+allow dumpstate { appdomain system_server zygote app_zygote }:process signal;
+
+# Signal native processes to dump their stack.
+allow dumpstate {
+  # This list comes from native_processes_to_dump in dumputils/dump_utils.c
+  audioserver
+  cameraserver
+  drmserver
+  inputflinger
+  mediadrmserver
+  mediaextractor
+  mediametrics
+  mediaserver
+  mediaswcodec
+  sdcardd
+  surfaceflinger
+  vold
+
+  # This list comes from hal_interfaces_to_dump in dumputils/dump_utils.c
+  evsmanagerd
+  hal_audio_server
+  hal_audiocontrol_server
+  hal_bluetooth_server
+  hal_broadcastradio_server
+  hal_camera_server
+  hal_codec2_server
+  hal_drm_server
+  hal_evs_server
+  hal_face_server
+  hal_fingerprint_server
+  hal_graphics_allocator_server
+  hal_graphics_composer_server
+  hal_health_server
+  hal_input_processor_server
+  hal_neuralnetworks_server
+  hal_omx_server
+  hal_power_server
+  hal_power_stats_server
+  hal_sensors_server
+  hal_thermal_server
+  hal_vehicle_server
+  hal_vr_server
+  system_suspend_server
+}:process signal;
+
+# On userdebug, dumpstate may fork and execute a command as su. Make sure the
+# timeout logic is allowed to terminate the child process if necessary.
+userdebug_or_eng(`
+  allow dumpstate su:process { signal sigkill };
+')
+
+# Connect to tombstoned to intercept dumps.
+unix_socket_connect(dumpstate, tombstoned_intercept, tombstoned)
+
+# Access to /sys
+allow dumpstate sysfs_type:dir r_dir_perms;
+
+allow dumpstate {
+  sysfs_devices_block
+  sysfs_dm
+  sysfs_loop
+  sysfs_usb
+  sysfs_zram
+}:file r_file_perms;
+
+# Ignore other file access under /sys.
+dontaudit dumpstate sysfs:file r_file_perms;
+
+# Other random bits of data we want to collect
+no_debugfs_restriction(`
+  allow dumpstate debugfs:file r_file_perms;
+  auditallow dumpstate debugfs:file r_file_perms;
+
+  allow dumpstate debugfs_mmc:file r_file_perms;
+')
+
+# df for
+allow dumpstate {
+  block_device
+  cache_file
+  metadata_file
+  rootfs
+  selinuxfs
+  storage_file
+  tmpfs
+}:dir { search getattr };
+allow dumpstate fuse_device:chr_file getattr;
+allow dumpstate { dm_device cache_block_device }:blk_file getattr;
+allow dumpstate { cache_file rootfs }:lnk_file { getattr read };
+
+# Read /dev/cpuctl and /dev/cpuset
+r_dir_file(dumpstate, cgroup)
+r_dir_file(dumpstate, cgroup_v2)
+
+# Allow dumpstate to make binder calls to any binder service
+binder_call(dumpstate, binderservicedomain)
+binder_call(dumpstate, { appdomain artd netd wificond })
+
+# Allow dumpstate to call dump() on specific hals.
+dump_hal(hal_audio)
+dump_hal(hal_audiocontrol)
+dump_hal(hal_authgraph)
+dump_hal(hal_authsecret)
+dump_hal(hal_bluetooth)
+dump_hal(hal_broadcastradio)
+dump_hal(hal_camera)
+dump_hal(hal_codec2)
+dump_hal(hal_contexthub)
+dump_hal(hal_drm)
+dump_hal(hal_dumpstate)
+dump_hal(hal_evs)
+dump_hal(hal_face)
+dump_hal(hal_fingerprint)
+dump_hal(hal_gnss)
+dump_hal(hal_graphics_allocator)
+dump_hal(hal_graphics_composer)
+dump_hal(hal_health)
+dump_hal(hal_identity)
+dump_hal(hal_input_processor)
+dump_hal(hal_keymint)
+dump_hal(hal_light)
+dump_hal(hal_memtrack)
+dump_hal(hal_neuralnetworks)
+dump_hal(hal_nfc)
+dump_hal(hal_oemlock)
+dump_hal(hal_power)
+dump_hal(hal_power_stats)
+dump_hal(hal_rebootescrow)
+dump_hal(hal_secretkeeper)
+dump_hal(hal_sensors)
+dump_hal(hal_thermal)
+dump_hal(hal_vehicle)
+dump_hal(hal_vm_capabilities)
+dump_hal(hal_weaver)
+dump_hal(hal_wifi)
+
+# Vibrate the device after we are done collecting the bugreport
+hal_client_domain(dumpstate, hal_vibrator)
+
+# Reading /proc/PID/maps of other processes
+allow dumpstate self:global_capability_class_set sys_ptrace;
+
+# Allow the bugreport service to create a file in
+# /data/data/com.android.shell/files/bugreports/bugreport
+allow dumpstate shell_data_file:dir create_dir_perms;
+allow dumpstate shell_data_file:file create_file_perms;
+
+# Run a shell.
+allow dumpstate shell_exec:file rx_file_perms;
+
+# For running am and similar framework commands.
+# Run /system/bin/app_process.
+allow dumpstate zygote_exec:file rx_file_perms;
+
+# For Bluetooth
+allow dumpstate bluetooth_data_file:dir search;
+allow dumpstate bluetooth_logs_data_file:dir r_dir_perms;
+allow dumpstate bluetooth_logs_data_file:file r_file_perms;
+
+# For Nfc
+allow dumpstate nfc_logs_data_file:dir r_dir_perms;
+allow dumpstate nfc_logs_data_file:file r_file_perms;
+
+# For uwb
+allow dumpstate apex_module_data_file:dir search;
+allow dumpstate apex_system_server_data_file:dir search;
+allow dumpstate apex_uwb_data_file:dir r_dir_perms;
+allow dumpstate apex_uwb_data_file:file r_file_perms;
+
+# Dumpstate calls screencap, which grabs a screenshot. Needs gpu access
+allow dumpstate gpu_device:chr_file rw_file_perms;
+allow dumpstate gpu_device:dir r_dir_perms;
+
+# logd access
+read_logd(dumpstate)
+control_logd(dumpstate)
+read_runtime_log_tags(dumpstate)
+
+# Read files in /proc
+allow dumpstate {
+  proc_allocinfo
+  proc_bootconfig
+  proc_buddyinfo
+  proc_cmdline
+  proc_meminfo
+  proc_modules
+  proc_net_type
+  proc_pipe_conf
+  proc_pagetypeinfo
+  proc_qtaguid_ctrl
+  proc_qtaguid_stat
+  proc_slabinfo
+  proc_version
+  proc_vmallocinfo
+  proc_vmstat
+}:file r_file_perms;
+
+# Read network state info files.
+allow dumpstate net_data_file:dir search;
+allow dumpstate net_data_file:file r_file_perms;
+
+# List sockets via ss.
+allow dumpstate self:netlink_tcpdiag_socket { create_socket_perms_no_ioctl nlmsg_read };
+
+# Access /data/tombstones.
+allow dumpstate tombstone_data_file:dir r_dir_perms;
+allow dumpstate tombstone_data_file:file r_file_perms;
+
+# Access /cache/recovery
+allow dumpstate cache_recovery_file:dir r_dir_perms;
+allow dumpstate cache_recovery_file:file r_file_perms;
+
+# Access /data/misc/recovery
+allow dumpstate recovery_data_file:dir r_dir_perms;
+allow dumpstate recovery_data_file:file r_file_perms;
+
+# Access /data/misc/update_engine & /data/misc/update_engine_log
+allow dumpstate { update_engine_data_file update_engine_log_data_file }:dir r_dir_perms;
+allow dumpstate { update_engine_data_file update_engine_log_data_file }:file r_file_perms;
+# Access /data/misc/snapuserd_log
+allow dumpstate snapuserd_log_data_file:dir r_dir_perms;
+allow dumpstate snapuserd_log_data_file:file r_file_perms;
+
+# Access /data/misc/profiles/{cur,ref}/
+userdebug_or_eng(`
+  allow dumpstate { user_profile_root_file user_profile_data_file}:dir r_dir_perms;
+  allow dumpstate user_profile_data_file:file r_file_perms;
+')
+
+# Access /data/misc/logd
+allow dumpstate misc_logd_file:dir r_dir_perms;
+allow dumpstate misc_logd_file:file r_file_perms;
+
+# Access /data/misc/prereboot
+allow dumpstate prereboot_data_file:dir r_dir_perms;
+allow dumpstate prereboot_data_file:file r_file_perms;
+
+allow dumpstate app_fuse_file:dir r_dir_perms;
+allow dumpstate overlayfs_file:dir r_dir_perms;
+
+allow dumpstate {
+  service_manager_type
+  -apex_service
+  -dumpstate_service
+  -gatekeeper_service
+  -hal_service_type
+  -virtual_touchpad_service
+  -vold_service
+  -fwk_vold_service
+  -default_android_service
+}:service_manager find;
+# suppress denials for services dumpstate should not be accessing.
+dontaudit dumpstate {
+  apex_service
+  dumpstate_service
+  gatekeeper_service
+  hal_service_type
+  virtual_touchpad_service
+  vold_service
+  fwk_vold_service
+}:service_manager find;
+
+# Most of these are neverallowed.
+dontaudit dumpstate hwservice_manager_type:hwservice_manager find;
+
+allow dumpstate servicemanager:service_manager list;
+allow dumpstate hwservicemanager:hwservice_manager list;
+
+allow dumpstate devpts:chr_file rw_file_perms;
+
+# Read any system properties
+get_prop(dumpstate, property_type)
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow dumpstate media_rw_data_file:dir getattr;
+allow dumpstate proc_interrupts:file r_file_perms;
+allow dumpstate proc_zoneinfo:file r_file_perms;
+
+# Create a service for talking back to system_server
+add_service(dumpstate, dumpstate_service)
+
+# use /dev/ion for screen capture
+allow dumpstate ion_device:chr_file r_file_perms;
+
+# Allow dumpstate to run top
+allow dumpstate proc_stat:file r_file_perms;
+
+allow dumpstate proc_pressure_cpu:file r_file_perms;
+allow dumpstate proc_pressure_mem:file r_file_perms;
+allow dumpstate proc_pressure_io:file r_file_perms;
+
+# Allow dumpstate to run ps
+allow dumpstate proc_pid_max:file r_file_perms;
+
+# Allow dumpstate to talk to installd over binder
+binder_call(dumpstate, installd);
+
+# Allow dumpstate to run ip xfrm policy
+allow dumpstate self:netlink_xfrm_socket { create_socket_perms_no_ioctl nlmsg_read };
+
+# Allow dumpstate to run iotop
+allow dumpstate self:netlink_socket create_socket_perms_no_ioctl;
+# newer kernels (e.g. 4.4) have a new class for sockets
+allow dumpstate self:netlink_generic_socket create_socket_perms_no_ioctl;
+
+# Allow dumpstate to run ss
+allow dumpstate { domain pdx_channel_socket_type pdx_endpoint_socket_type }:socket_class_set getattr;
+
+# Allow dumpstate to read linkerconfig directory
+allow dumpstate linkerconfig_file:dir { read open };
+
+# For when dumpstate runs df
+dontaudit dumpstate {
+  mnt_vendor_file
+  mirror_data_file
+  mnt_user_file
+  mnt_product_file
+}:dir search;
+dontaudit dumpstate {
+  apex_mnt_dir
+  linkerconfig_file
+  mirror_data_file
+  mnt_user_file
+  vm_data_file
+}:dir getattr;
+
+#suppress denials for dumpstate to call vitualizationservice.
+dontaudit dumpstate virtualizationservice:binder { call };
+
+# Allow dumpstate to talk to bufferhubd over binder
+binder_call(dumpstate, bufferhubd);
+
+# Allow dumpstate to talk to mediaswcodec over binder
+binder_call(dumpstate, mediaswcodec);
+
+#Access /data/misc/snapshotctl_log
+allow dumpstate snapshotctl_log_data_file:dir r_dir_perms;
+allow dumpstate snapshotctl_log_data_file:file r_file_perms;
+
+#Allow access to /dev/binderfs/binder_logs
+allow dumpstate binderfs_logs:dir r_dir_perms;
+allow dumpstate binderfs_logs:file r_file_perms;
+allow dumpstate binderfs_logs_proc:file r_file_perms;
+allow dumpstate binderfs_logs_stats:file r_file_perms;
+
+use_apex_info(dumpstate)
+
+# Allow reading files under /data/system/shutdown-checkpoints/
+allow dumpstate shutdown_checkpoints_system_data_file:dir r_dir_perms;
+allow dumpstate shutdown_checkpoints_system_data_file:file r_file_perms;
+
+###
+### neverallow rules
+###
+
+# dumpstate has capability sys_ptrace, but should only use that capability for
+# accessing sensitive /proc/PID files, never for using ptrace attach.
+neverallow dumpstate *:process ptrace;
+
+# only system_server, dumpstate, traceur_app and shell can find the dumpstate service
+neverallow {
+  domain
+  -system_server
+  -shell
+  -traceur_app
+  -dumpstate
+} dumpstate_service:service_manager find;
+
+# only dumpstate, system_server and related others to access apex_uwb_data_file
+neverallow {
+  domain
+  -dumpstate
+  -system_server
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_uwb_data_file:dir no_rw_file_perms;
+neverallow {
+  domain
+  -dumpstate
+  -system_server
+  -apexd
+  -init
+  -vold_prepare_subdirs
+} apex_uwb_data_file:file no_rw_file_perms;
diff --git a/prebuilts/api/202504/private/e2fs.te b/prebuilts/api/202504/private/e2fs.te
new file mode 100644
index 0000000..3316ce2
--- /dev/null
+++ b/prebuilts/api/202504/private/e2fs.te
@@ -0,0 +1,30 @@
+allow e2fs devpts:chr_file { read write getattr ioctl };
+
+allow e2fs dev_type:blk_file getattr;
+allow e2fs block_device:dir search;
+allow e2fs userdata_block_device:blk_file rw_file_perms;
+allow e2fs metadata_block_device:blk_file rw_file_perms;
+allow e2fs dm_device:blk_file rw_file_perms;
+allow e2fs zoned_block_device:blk_file rw_file_perms;
+# Vold needs to capture mkfs.ext4's output
+allow e2fs vold:fd use;
+# Need to be able to format a partition
+allow e2fs sysfs_dm:dir r_dir_perms;
+allow e2fs sysfs_dm:file r_file_perms;
+
+allowxperm e2fs { userdata_block_device metadata_block_device dm_device zoned_block_device }:blk_file ioctl {
+  BLKSECDISCARD BLKDISCARD BLKPBSZGET BLKDISCARDZEROES BLKROGET BLKREPORTZONE BLKRESETZONE
+};
+
+allow e2fs {
+  proc_filesystems
+  proc_mounts
+  proc_swaps
+}:file r_file_perms;
+
+# access /sys/fs/ext4/features
+allow e2fs sysfs_fs_ext4_features:dir search;
+allow e2fs sysfs_fs_ext4_features:file r_file_perms;
+
+# access SELinux context files
+allow e2fs file_contexts_file:file r_file_perms;
diff --git a/prebuilts/api/202504/private/early_virtmgr.te b/prebuilts/api/202504/private/early_virtmgr.te
new file mode 100644
index 0000000..d1579fe
--- /dev/null
+++ b/prebuilts/api/202504/private/early_virtmgr.te
@@ -0,0 +1,75 @@
+is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `
+    until_board_api(202504, `
+        type early_virtmgr, domain, coredomain;
+        type early_virtmgr_exec, system_file_type, exec_type, file_type;
+    ')
+
+    use_bootstrap_libs(early_virtmgr)
+
+    # Let early_virtmgr create files and directories inside /mnt/vm/early.
+    allow early_virtmgr vm_data_file:dir create_dir_perms;
+    allow early_virtmgr vm_data_file:file create_file_perms;
+    allow early_virtmgr vm_data_file:sock_file create_file_perms;
+
+    # Allow early_virtmgr to communicate use, read and write over the adb connection.
+    allow early_virtmgr adbd:fd use;
+    allow early_virtmgr adbd:unix_stream_socket { getattr read write };
+
+    # Allow writing VM logs to the shell console
+    allow early_virtmgr devpts:chr_file { read write getattr ioctl };
+
+    # Let the early_virtmgr domain use Binder.
+    binder_use(early_virtmgr)
+
+    # When early_virtmgr execs a file with the crosvm_exec label, run it in the crosvm domain.
+    domain_auto_trans(early_virtmgr, crosvm_exec, crosvm)
+
+    # Let early_virtmgr kill crosvm.
+    allow early_virtmgr crosvm:process sigkill;
+
+    # Allow early_virtmgr to read apex-info-list.xml and access the APEX files listed there.
+    allow early_virtmgr apex_info_file:file r_file_perms;
+    allow early_virtmgr apex_data_file:dir search;
+
+    # Ignore harmless denials on /proc/self/fd
+    dontaudit early_virtmgr self:dir write;
+
+    # Let early_virtmgr to accept vsock connection from the guest VMs
+    allow early_virtmgr self:vsock_socket { create_socket_perms_no_ioctl listen accept };
+
+    # Allow early_virtmgr to inspect all hypervisor capabilities.
+    get_prop(early_virtmgr, hypervisor_prop)
+    get_prop(early_virtmgr, hypervisor_pvmfw_prop)
+    get_prop(early_virtmgr, hypervisor_restricted_prop)
+    get_prop(early_virtmgr, hypervisor_virtualizationmanager_prop)
+
+    # Allow early_virtmgr to read file system DT for VM reference DT and AVF debug policy
+    r_dir_file(early_virtmgr, proc_dt_avf)
+    r_dir_file(early_virtmgr, sysfs_dt_avf)
+
+    # early_virtmgr to be client of secretkeeper HAL. It ferries SecretManagement messages from pVM
+    # to HAL.
+    hal_client_domain(early_virtmgr, hal_secretkeeper);
+
+    # Allow reading files under /proc/[crosvm pid]/, for collecting CPU & memory usage inside VM.
+    r_dir_file(early_virtmgr, crosvm);
+
+    # Allow early_virtmgr to:
+    # 1) bind to a vsock port less than 1024, because early VMs use static CIDs less than 1024
+    # 2) call RLIMIT_MEMLOCK for itself
+    allow early_virtmgr self:global_capability_class_set { net_bind_service ipc_lock sys_resource };
+
+    # early_virtmgr may print messages to kmsg_debug_device.
+    allow early_virtmgr kmsg_debug_device:chr_file w_file_perms;
+
+    ###
+    ### Neverallow rules
+    ###
+
+    # Only crosvm and early_virtmgr can access vm_data_file
+    neverallow { domain -crosvm -early_virtmgr -init } vm_data_file:dir no_w_dir_perms;
+    neverallow { domain -crosvm -early_virtmgr } vm_data_file:file no_rw_file_perms;
+
+    # No other domains can accept vsock connection from the guest VMs
+    neverallow { domain -early_virtmgr } early_virtmgr:vsock_socket { accept bind create connect listen };
+')
diff --git a/prebuilts/api/202504/private/ephemeral_app.te b/prebuilts/api/202504/private/ephemeral_app.te
new file mode 100644
index 0000000..4e1417b
--- /dev/null
+++ b/prebuilts/api/202504/private/ephemeral_app.te
@@ -0,0 +1,87 @@
+###
+### Ephemeral apps.
+###
+### This file defines the security policy for apps with the ephemeral
+### feature.
+###
+### The ephemeral_app domain is a reduced permissions sandbox allowing
+### ephemeral applications to be safely installed and run. Non ephemeral
+### applications may also opt-in to ephemeral to take advantage of the
+### additional security features.
+###
+### PackageManager flags an app as ephemeral at install time.
+
+typeattribute ephemeral_app coredomain;
+
+net_domain(ephemeral_app)
+app_domain(ephemeral_app)
+
+# Allow ephemeral apps to read/write files in visible storage if provided fds
+allow ephemeral_app { sdcard_type fuse media_rw_data_file }:file {read write getattr ioctl lock append};
+
+# Some apps ship with shared libraries and binaries that they write out
+# to their sandbox directory and then execute.
+allow ephemeral_app privapp_data_file:file { r_file_perms execute };
+allow ephemeral_app app_data_file:file     { r_file_perms execute };
+
+# Follow priv-app symlinks. This is used for dynamite functionality.
+allow ephemeral_app privapp_data_file:lnk_file r_file_perms;
+
+# Allow the renderscript compiler to be run.
+domain_auto_trans(ephemeral_app, rs_exec, rs)
+
+# Allow loading and deleting shared libraries created by trusted system
+# components within an application home directory.
+allow ephemeral_app app_exec_data_file:file { r_file_perms execute unlink };
+
+# services
+allow ephemeral_app audioserver_service:service_manager find;
+allow ephemeral_app cameraserver_service:service_manager find;
+allow ephemeral_app mediaserver_service:service_manager find;
+allow ephemeral_app mediaextractor_service:service_manager find;
+allow ephemeral_app mediametrics_service:service_manager find;
+allow ephemeral_app mediadrmserver_service:service_manager find;
+allow ephemeral_app drmserver_service:service_manager find;
+allow ephemeral_app radio_service:service_manager find;
+allow ephemeral_app ephemeral_app_api_service:service_manager find;
+
+# allow ephemeral apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow ephemeral_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+allow ephemeral_app ashmem_device:chr_file rw_file_perms;
+
+###
+### neverallow rules
+###
+
+neverallow ephemeral_app app_data_file_type:file execute_no_trans;
+
+# Receive or send uevent messages.
+neverallow ephemeral_app domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow ephemeral_app domain:netlink_socket *;
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow ephemeral_app debugfs_type:file read;
+
+# execute gpu_device
+neverallow ephemeral_app gpu_device:chr_file execute;
+
+# access files in /sys with the default sysfs label
+neverallow ephemeral_app sysfs:file *;
+
+# Avoid reads from generically labeled /proc files
+# Create a more specific label if needed
+neverallow ephemeral_app proc:file { no_rw_file_perms no_x_file_perms };
+
+# Directly access external storage
+neverallow ephemeral_app { sdcard_type fuse media_rw_data_file }:file {open create};
+neverallow ephemeral_app { sdcard_type fuse media_rw_data_file }:dir search;
+
+# Avoid reads to proc_net, it contains too much device wide information about
+# ongoing connections.
+neverallow ephemeral_app proc_net:file no_rw_file_perms;
diff --git a/prebuilts/api/202504/private/evsmanagerd.te b/prebuilts/api/202504/private/evsmanagerd.te
new file mode 100644
index 0000000..3772628
--- /dev/null
+++ b/prebuilts/api/202504/private/evsmanagerd.te
@@ -0,0 +1,39 @@
+# evsmanager
+typeattribute evsmanagerd coredomain;
+typeattribute evsmanagerd evsmanager_service_server;
+
+type evsmanagerd_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(evsmanagerd);
+
+# Declares as a binder service
+binder_service(evsmanagerd)
+
+# Allows to add a service to service_manager
+add_service(evsmanagerd, evsmanagerd_service)
+
+# Allows to use the binder IPC
+binder_use(evsmanagerd)
+
+# Allows binder IPCs to the various system services
+binder_call(evsmanagerd, system_server)
+
+# Allows to use EVS HAL implementations
+hal_client_domain(evsmanagerd, hal_evs)
+
+# Allows to write messages to the shell
+allow evsmanagerd shell:fd use;
+allow evsmanagerd shell:fifo_file write;
+
+# Allows to use the graphics allocator
+allow evsmanagerd hal_graphics_allocator:fd use;
+
+# Allows to use a bootstrap statsd
+allow evsmanagerd statsbootstrap_service:service_manager find;
+
+# Allows binder IPCs to the CarService
+binder_call(evsmanagerd, appdomain)
+
+# For HIDL evs manager implementation
+allow evsmanagerd hal_evs_hwservice:hwservice_manager add;
+allow evsmanagerd hidl_base_hwservice:hwservice_manager add;
diff --git a/prebuilts/api/202504/private/extra_free_kbytes.te b/prebuilts/api/202504/private/extra_free_kbytes.te
new file mode 100644
index 0000000..f24340d
--- /dev/null
+++ b/prebuilts/api/202504/private/extra_free_kbytes.te
@@ -0,0 +1,16 @@
+typeattribute extra_free_kbytes coredomain;
+
+init_daemon_domain(extra_free_kbytes)
+
+# Only extra_free_kbytes script is allowed to store these properties
+set_prop(extra_free_kbytes, init_storage_prop)
+
+# required permissions to run the script from init
+allow extra_free_kbytes shell_exec:file rx_file_perms;
+allow extra_free_kbytes system_file:file x_file_perms;
+allow extra_free_kbytes toolbox_exec:file rx_file_perms;
+
+# files used by the script
+allow extra_free_kbytes proc_extra_free_kbytes:file rw_file_perms;
+allow extra_free_kbytes proc_watermark_scale_factor:file rw_file_perms;
+allow extra_free_kbytes proc_zoneinfo:file r_file_perms;
diff --git a/prebuilts/api/202504/private/fastbootd.te b/prebuilts/api/202504/private/fastbootd.te
new file mode 100644
index 0000000..a62cc47
--- /dev/null
+++ b/prebuilts/api/202504/private/fastbootd.te
@@ -0,0 +1,180 @@
+typeattribute fastbootd coredomain;
+
+# The allow rules are only included in the recovery policy.
+# Otherwise fastbootd is only allowed the domain rules.
+recovery_only(`
+  # Reboot the device
+  set_prop(fastbootd, powerctl_prop)
+
+  # Read serial number of the device from system properties
+  get_prop(fastbootd, serialno_prop)
+
+  # Set sys.usb.ffs.ready.
+  get_prop(fastbootd, ffs_config_prop)
+  set_prop(fastbootd, ffs_control_prop)
+
+  userdebug_or_eng(`
+    get_prop(fastbootd, persistent_properties_ready_prop)
+  ')
+
+  set_prop(fastbootd, gsid_prop)
+
+  # Determine allocation scheme (whether B partitions needs to be
+  # at the second half of super.
+  get_prop(fastbootd, virtual_ab_prop)
+  get_prop(fastbootd, snapuserd_prop)
+
+  # Needed for TCP protocol
+  allow fastbootd node:tcp_socket node_bind;
+  allow fastbootd port:tcp_socket name_bind;
+  allow fastbootd self:tcp_socket { create_socket_perms_no_ioctl listen accept };
+
+  # Start snapuserd for merging VABC updates
+  set_prop(fastbootd, ctl_snapuserd_prop)
+
+  # Needed to communicate with snapuserd to complete merges.
+  allow fastbootd snapuserd_socket:sock_file write;
+  allow fastbootd snapuserd:unix_stream_socket connectto;
+  allow fastbootd dm_user_device:dir r_dir_perms;
+
+  # Get fastbootd protocol property
+  get_prop(fastbootd, fastbootd_protocol_prop)
+
+  # Mount /metadata to interact with Virtual A/B snapshots.
+  allow fastbootd labeledfs:filesystem { mount unmount };
+  set_prop(fastbootd, boottime_prop)
+
+  # Needed for reading boot properties.
+  allow fastbootd proc_bootconfig:file r_file_perms;
+  # Let this domain use the hal fastboot service
+  binder_use(fastbootd)
+  hal_client_domain(fastbootd, hal_fastboot)
+
+  # fastbootd can only use HALs in passthrough mode
+  passthrough_hal_client_domain(fastbootd, hal_bootctl)
+
+  # fastbootd can use AIDL HALs in binder mode
+  binder_use(fastbootd)
+  hal_client_domain(fastbootd, hal_health)
+  hal_client_domain(fastbootd, hal_fastboot)
+
+  # Access /dev/usb-ffs/fastbootd/ep0
+  allow fastbootd functionfs:dir search;
+  allow fastbootd functionfs:file rw_file_perms;
+
+  allowxperm fastbootd functionfs:file ioctl { FUNCTIONFS_ENDPOINT_DESC };
+  # Log to serial
+  allow fastbootd kmsg_device:chr_file { open getattr write };
+
+  # battery info
+  allow fastbootd sysfs_batteryinfo:file r_file_perms;
+
+  allow fastbootd device:dir r_dir_perms;
+
+  # For dev/block/by-name dir
+  allow fastbootd block_device:dir r_dir_perms;
+
+  # Needed for DM_DEV_CREATE ioctl call
+  allow fastbootd self:capability sys_admin;
+
+  unix_socket_connect(fastbootd, recovery, recovery)
+
+  # Required for flashing
+  allow fastbootd dm_device:chr_file rw_file_perms;
+  allow fastbootd dm_device:blk_file rw_file_perms;
+
+  allow fastbootd cache_block_device:blk_file rw_file_perms;
+  allow fastbootd super_block_device_type:blk_file rw_file_perms;
+  allow fastbootd {
+    boot_block_device
+    metadata_block_device
+    system_block_device
+    userdata_block_device
+  }:blk_file { w_file_perms getattr ioctl };
+
+  # For disabling/wiping GSI, and for modifying/deleting files created via
+  # libfiemap.
+  allow fastbootd metadata_block_device:blk_file r_file_perms;
+  allow fastbootd {rootfs tmpfs}:dir mounton;
+  allow fastbootd metadata_file:dir { search getattr mounton };
+  allow fastbootd gsi_metadata_file_type:dir rw_dir_perms;
+  allow fastbootd gsi_metadata_file_type:file create_file_perms;
+
+  allowxperm fastbootd super_block_device_type:blk_file ioctl { BLKIOMIN BLKALIGNOFF };
+
+  allowxperm fastbootd {
+    metadata_block_device
+    userdata_block_device
+    dm_device
+    cache_block_device
+  }:blk_file ioctl { BLKSECDISCARD BLKDISCARD };
+
+  allow fastbootd misc_block_device:blk_file rw_file_perms;
+
+  allow fastbootd proc_cmdline:file r_file_perms;
+  allow fastbootd rootfs:dir r_dir_perms;
+
+  # Needed to read fstab node from device tree.
+  allow fastbootd sysfs_dt_firmware_android:file r_file_perms;
+  allow fastbootd sysfs_dt_firmware_android:dir r_dir_perms;
+
+  # Needed because libdm reads sysfs to validate when a dm path is ready.
+  r_dir_file(fastbootd, sysfs_dm)
+
+  # Needed for realpath() call to resolve symlinks.
+  allow fastbootd block_device:dir getattr;
+  userdebug_or_eng(`
+    # Refined manipulation of /mnt/scratch, without these perms resorts
+    # to deleting scratch partition when partition(s) are flashed.
+    allow fastbootd self:process setfscreate;
+    allow fastbootd cache_file:dir search;
+    allow fastbootd proc_filesystems:file { getattr open read };
+    allow fastbootd self:capability sys_rawio;
+    allowxperm fastbootd dev_type:blk_file ioctl BLKROSET;
+    allow fastbootd overlayfs_file:dir { create_dir_perms mounton };
+    allow fastbootd {
+      system_file_type
+      unlabeled
+      vendor_file_type
+    }:dir { remove_name rmdir search write };
+    allow fastbootd {
+      overlayfs_file
+      system_file_type
+      unlabeled
+      vendor_file_type
+    }:{ file lnk_file } unlink;
+    allow fastbootd tmpfs:dir rw_dir_perms;
+    # Fetch vendor_boot partition
+    allow fastbootd boot_block_device:blk_file r_file_perms;
+
+    # popen(/system/bin/dmesg) and associated permissions. We only allow this
+    # on unlocked devices running userdebug builds.
+    allow fastbootd rootfs:file execute_no_trans;
+    allow fastbootd system_file:file execute_no_trans;
+    allow fastbootd kmsg_device:chr_file read;
+    allow fastbootd kernel:system syslog_read;
+  ')
+
+  # Allow using libfiemap/gsid directly (no binder in recovery).
+  allow fastbootd gsi_metadata_file_type:dir search;
+  allow fastbootd ota_metadata_file:dir rw_dir_perms;
+  allow fastbootd ota_metadata_file:file create_file_perms;
+
+  # Fastbootd uses liblogwrap to write mke2fs logs to kmsg, liblogwrap requires devpts.
+  allow fastbootd devpts:chr_file rw_file_perms;
+')
+
+# This capability allows fastbootd to circumvent memlock rlimits while using
+# io_uring. An Alternative would be to up the memlock rlimit for the fastbootd service.
+allow fastbootd self:capability ipc_lock;
+io_uring_use(fastbootd)
+
+###
+### neverallow rules
+###
+
+# Write permission is required to wipe userdata
+# until recovery supports vold.
+neverallow fastbootd {
+   data_file_type
+}:file { no_x_file_perms };
diff --git a/prebuilts/api/202504/private/file.te b/prebuilts/api/202504/private/file.te
new file mode 100644
index 0000000..6bdcc39
--- /dev/null
+++ b/prebuilts/api/202504/private/file.te
@@ -0,0 +1,272 @@
+# /proc/allocinfo
+type proc_allocinfo, fs_type, proc_type;
+
+# /proc/config.gz
+type config_gz, fs_type, proc_type;
+
+# /sys/fs/bpf/<dir> for mainline tethering use
+# TODO: move S+ fs_bpf_tethering here from public/file.te
+type fs_bpf_net_private, fs_type, bpffs_type;
+type fs_bpf_net_shared, fs_type, bpffs_type;
+type fs_bpf_netd_readonly, fs_type, bpffs_type;
+type fs_bpf_netd_shared, fs_type, bpffs_type;
+type fs_bpf_loader, fs_type, bpffs_type;
+type fs_bpf_uprobestats, fs_type, bpffs_type;
+type fs_bpf_memevents, fs_type, bpffs_type;
+
+# /data/misc/storaged
+type storaged_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/wmtrace for wm traces
+type wm_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+
+# /data/misc/a11ytrace for accessibility traces
+type accessibility_trace_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-traces for perfetto traces
+type perfetto_traces_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-traces/bugreport for perfetto traces for bugreports.
+type perfetto_traces_bugreport_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-traces/profiling for perfetto traces from profiling apis.
+type perfetto_traces_profiling_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/perfetto-configs for perfetto configs
+type perfetto_configs_data_file, file_type, data_file_type, core_data_file_type;
+
+# /system/etc/perfetto for perfetto configs
+type system_perfetto_config_file, file_type, system_file_type;
+
+# /data/misc/uprobestats-configs for uprobestats configs
+type uprobestats_configs_data_file, file_type, data_file_type, core_data_file_type;
+
+# /apex/com.android.art/bin/oatdump
+# TODO (b/350628688): Remove this once it's safe to do so.
+type oatdump_exec, system_file_type, exec_type, file_type;
+
+# /data/misc_{ce/de}/<user>/sdksandbox root data directory for sdk sandbox processes
+type sdk_sandbox_system_data_file, file_type, data_file_type, core_data_file_type;
+# /data/misc_{ce/de}/<user>/sdksandbox/<app-name>/* subdirectory for sdk sandbox processes
+type sdk_sandbox_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+
+# /sys/kernel/debug/kcov for coverage guided kernel fuzzing in userdebug builds.
+type debugfs_kcov, fs_type, debugfs_type;
+
+# App executable files in /data/data directories
+type app_exec_data_file, file_type, data_file_type, core_data_file_type;
+typealias app_exec_data_file alias rs_data_file;
+
+# /data/misc_[ce|de]/rollback : Used by installd to store snapshots
+# of application data.
+type rollback_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc_ce/checkin for checkin apps.
+type checkin_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/gsi/ota
+type ota_image_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/gsi_persistent_data
+type gsi_persistent_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/emergencynumberdb
+type emergency_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/profcollectd
+type profcollectd_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/apexdata/com.android.art
+type apex_art_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.art/staging
+type apex_art_staging_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/apexdata/com.android.compos
+type apex_compos_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.virt
+type apex_virt_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.tethering
+type apex_tethering_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/misc/apexdata/com.android.uwb
+type apex_uwb_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# legacy labels for various /data/misc[_ce|_de]/*/apexdata directories - retained
+# for backward compatibility b/217581286
+type apex_appsearch_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_permission_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_scheduling_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_wifi_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+
+# /data/font/files
+type font_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/dmesgd
+type dmesgd_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/odrefresh
+type odrefresh_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/odsign
+type odsign_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/odsign_metrics
+type odsign_metrics_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/virtualizationservice
+# The type needs to be mlstrustedobject to allow for being accessed from
+# virtualizationmanager, which runs at a more constrained MLS level.
+type virtualizationservice_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+
+# /mnt/vm
+type vm_data_file, file_type, core_data_file_type;
+
+# /data/system/environ
+type environ_system_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/bootanim
+type bootanim_data_file, file_type, data_file_type, core_data_file_type;
+
+# /dev/kvm
+# The type needs to be mlstrustedobject to allow for being accessed from
+# crosvm, which runs at a more constrained MLS level.
+type kvm_device, dev_type, mlstrustedobject, vm_manager_device_type;
+
+# /apex/com.android.virt/bin/fd_server
+type fd_server_exec, system_file_type, exec_type, file_type;
+
+# /apex/com.android.compos/bin/compsvc
+type compos_exec, exec_type, file_type, system_file_type;
+# /apex/com.android.compos/bin/compos_key_helper
+type compos_key_helper_exec, exec_type, file_type, system_file_type;
+
+# Filesystem entry for for PRNG seeder socket.  Processes require
+# write permission on this to connect, and needs to be mlstrustedobject
+# in to satisfy MLS constraints for trusted domains.
+type prng_seeder_socket, file_type, coredomain_socket, mlstrustedobject;
+
+# /proc/device-tree/avf and /sys/firmware/devicetree/base/avf
+type sysfs_dt_avf, fs_type, sysfs_type;
+type proc_dt_avf, fs_type, proc_type;
+
+# Type for /system/fonts/font_fallback.xm
+type system_font_fallback_file, system_file_type, file_type;
+
+# Type for /sys/devices/uprobe.
+type sysfs_uprobe, fs_type, sysfs_type;
+
+# Type for aconfig daemon socket
+type aconfigd_socket, file_type, coredomain_socket, mlstrustedobject;
+
+# Type for aconfig mainline daemon socket
+type aconfigd_mainline_socket, file_type, coredomain_socket,  mlstrustedobject;
+
+# Type for /(system|system_ext|product)/etc/aconfig
+type system_aconfig_storage_file, system_file_type, file_type;
+
+# Type for /vendor/etc/aconfig
+type vendor_aconfig_storage_file, vendor_file_type, file_type;
+
+# /data/misc/connectivityblobdb
+type connectivityblob_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/misc/wifi/mainline_supplicant
+type mainline_supplicant_data_file, file_type, data_file_type, core_data_file_type;
+
+# Type for /mnt/pre_reboot_dexopt
+type pre_reboot_dexopt_file, file_type;
+
+# Type for /mnt/artd_tmp in the Pre-reboot Dexopt chroot
+# This type is set on the directory through the `rootcontext=` mount option.
+type pre_reboot_dexopt_artd_file, file_type;
+
+# /data/app-metadata - extracted app metadata bundles from APKs
+type apk_metadata_file, file_type, data_file_type, core_data_file_type;
+
+# Type for /sys/kernel/mm/pgsize_migration/enabled
+type sysfs_pgsize_migration, fs_type, sysfs_type;
+
+# /sys/firmware/acpi/tables
+type sysfs_firmware_acpi_tables, fs_type, sysfs_type;
+
+# Type for /system/bin/pbtombstone.
+type pbtombstone_exec, system_file_type, exec_type, file_type;
+
+# Allow files to be created in their appropriate filesystems.
+allow fs_type self:filesystem associate;
+allow cgroup tmpfs:filesystem associate;
+allow cgroup_v2 tmpfs:filesystem associate;
+allow cgroup_rc_file tmpfs:filesystem associate;
+allow sysfs_type sysfs:filesystem associate;
+allow debugfs_type { debugfs debugfs_tracing debugfs_tracing_debug }:filesystem associate;
+allow file_type labeledfs:filesystem associate;
+allow file_type tmpfs:filesystem associate;
+allow file_type rootfs:filesystem associate;
+allow dev_type tmpfs:filesystem associate;
+allow app_fuse_file app_fusefs:filesystem associate;
+allow postinstall_file self:filesystem associate;
+allow proc_net proc:filesystem associate;
+
+# It's a bug to assign the file_type attribute and fs_type attribute
+# to any type. Do not allow it.
+#
+# For example, the following is a bug:
+#   type apk_data_file, file_type, data_file_type, fs_type;
+# Should be:
+#   type apk_data_file, file_type, data_file_type;
+neverallow fs_type file_type:filesystem associate;
+# app directories of storage areas: /data/storage_area/userId/pkgName -- apps cannot write to it
+type storage_area_app_dir, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# app storage areas: /data/storage_area/userId/pkgName/storageAreaName
+type storage_area_dir, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# contents of app storage areas: /data/storage_area/userId/pkgName/storageAreaName/*
+type storage_area_content_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+
+# /data/misc_ce/userId/storage_area_keys
+type storage_area_key_file, file_type, data_file_type, core_data_file_type;
+
+# /metadata/tradeinmode files
+type tradeinmode_metadata_file, file_type;
+
+# /metadata/prefetch files
+type prefetch_metadata_file, file_type;
+
+# /metadata/libprocessgroup files
+type libprocessgroup_metadata_file, file_type;
+
+# Types added in 202504 in public/file.te
+until_board_api(202504, `
+    type binderfs_logs_transactions, fs_type;
+    type binderfs_logs_transaction_history, fs_type;
+')
+
+until_board_api(202504, `
+    type proc_cgroups, fs_type, proc_type;
+')
+
+until_board_api(202504, `
+    type sysfs_udc, fs_type, sysfs_type;
+')
+
+until_board_api(202504, `
+    type fs_bpf_lmkd_memevents_rb, fs_type, bpffs_type;
+    type fs_bpf_lmkd_memevents_prog, fs_type, bpffs_type;
+')
+
+until_board_api(202504, `
+    # boot otas for 16KB developer option
+    type vendor_boot_ota_file, vendor_file_type, file_type;
+')
+
+until_board_api(202504, `
+    type tee_service_contexts_file, system_file_type, file_type;
+')
+
+until_board_api(202504, `
+    type sysfs_mem_sleep, fs_type, sysfs_type;
+')
+
+## END Types added in 202504 in public/file.te
diff --git a/prebuilts/api/202504/private/file_contexts b/prebuilts/api/202504/private/file_contexts
new file mode 100644
index 0000000..0b3e7f4
--- /dev/null
+++ b/prebuilts/api/202504/private/file_contexts
@@ -0,0 +1,959 @@
+###########################################
+# Entries in this file describe the security context associated with a file
+# path. They are used when building the device image, to include the security
+# context within the extended file attributes of the file system. They are also
+# used at runtime when calling restorecon.
+#
+# Entries are merged with other file_contexts from other partitions (e.g.,
+# vendor or odm, see the full list at libselinux/src/android/android.c).
+#
+# The entries are evaluated by the following rules:
+# - Static entries (that is, not using regular expressions) are always
+#   evaluated first.
+# - The first matching entry is used.
+# - Entries are evaluated from the bottom to the top.
+#
+# Based on these rules, it is recommended that the less specific entries appear
+# first. For instance:
+#    /dev(/.*)?        u:object_r:device:s0
+#    /dev/block(/.*)?  u:object_r:block_device:s0
+#    /dev/block/my_dev u:object_r:my_dev:s0
+#
+
+# Root
+/                   u:object_r:rootfs:s0
+
+# Data files
+/adb_keys           u:object_r:system_file:s0
+/build\.prop        u:object_r:rootfs:s0
+/default\.prop      u:object_r:rootfs:s0
+/fstab\..*          u:object_r:rootfs:s0
+/init\..*           u:object_r:rootfs:s0
+/res(/.*)?          u:object_r:rootfs:s0
+/selinux_version    u:object_r:rootfs:s0
+/ueventd\..*        u:object_r:rootfs:s0
+/verity_key         u:object_r:rootfs:s0
+
+# Executables
+/init               u:object_r:init_exec:s0
+/sbin(/.*)?         u:object_r:rootfs:s0
+
+# For kernel modules
+/lib(/.*)?          u:object_r:rootfs:s0
+/system_dlkm(/.*)?  u:object_r:system_dlkm_file:s0
+
+# Empty directories
+/lost\+found        u:object_r:rootfs:s0
+/acct               u:object_r:cgroup:s0
+/config             u:object_r:rootfs:s0
+/data_mirror        u:object_r:mirror_data_file:s0
+/debug_ramdisk      u:object_r:tmpfs:s0
+/mnt                u:object_r:tmpfs:s0
+/proc               u:object_r:rootfs:s0
+/second_stage_resources u:object_r:tmpfs:s0
+/sys                u:object_r:sysfs:s0
+/apex               u:object_r:apex_mnt_dir:s0
+/bootstrap-apex     u:object_r:apex_mnt_dir:s0
+/tmp                u:object_r:shell_data_file:s0
+
+# Postinstall directories
+/postinstall         u:object_r:postinstall_mnt_dir:s0
+/postinstall/apex    u:object_r:postinstall_apex_mnt_dir:s0
+
+/apex/(\.(bootstrap|default)-)?apex-info-list.xml u:object_r:apex_info_file:s0
+
+# Symlinks
+/bin                u:object_r:rootfs:s0
+/bugreports         u:object_r:rootfs:s0
+/charger            u:object_r:rootfs:s0
+/d                  u:object_r:rootfs:s0
+/etc                u:object_r:rootfs:s0
+/sdcard             u:object_r:rootfs:s0
+
+# SELinux policy files
+/vendor_file_contexts   u:object_r:file_contexts_file:s0
+/plat_file_contexts     u:object_r:file_contexts_file:s0
+/product_file_contexts  u:object_r:file_contexts_file:s0
+/mapping_sepolicy\.cil   u:object_r:sepolicy_file:s0
+/plat_sepolicy\.cil      u:object_r:sepolicy_file:s0
+/plat_property_contexts  u:object_r:property_contexts_file:s0
+/product_property_contexts  u:object_r:property_contexts_file:s0
+/vendor_property_contexts   u:object_r:property_contexts_file:s0
+/seapp_contexts     u:object_r:seapp_contexts_file:s0
+/vendor_seapp_contexts      u:object_r:seapp_contexts_file:s0
+/plat_seapp_contexts     u:object_r:seapp_contexts_file:s0
+/sepolicy           u:object_r:sepolicy_file:s0
+/plat_tee_service_contexts   u:object_r:tee_service_contexts_file:s0
+/plat_service_contexts   u:object_r:service_contexts_file:s0
+/plat_hwservice_contexts   u:object_r:hwservice_contexts_file:s0
+/plat_keystore2_key_contexts u:object_r:keystore2_key_contexts_file:s0
+/vendor_service_contexts    u:object_r:vendor_service_contexts_file:s0
+/vendor_hwservice_contexts    u:object_r:hwservice_contexts_file:s0
+/vndservice_contexts   u:object_r:vndservice_contexts_file:s0
+
+##########################
+# Devices
+#
+/dev(/.*)?		u:object_r:device:s0
+/dev/adf[0-9]*		u:object_r:graphics_device:s0
+/dev/adf-interface[0-9]*\.[0-9]*	u:object_r:graphics_device:s0
+/dev/adf-overlay-engine[0-9]*\.[0-9]*	u:object_r:graphics_device:s0
+/dev/ashmem		u:object_r:ashmem_device:s0
+/dev/ashmem(.*)?	u:object_r:ashmem_libcutils_device:s0
+/dev/audio.*		u:object_r:audio_device:s0
+/dev/binder		u:object_r:binder_device:s0
+/dev/block(/.*)?	u:object_r:block_device:s0
+/dev/block/by-name/zoned_device	u:object_r:zoned_block_device:s0
+/dev/block/dm-[0-9]+	u:object_r:dm_device:s0
+/dev/block/ublkb[0-9]+	u:object_r:ublk_block_device:s0
+/dev/block/loop[0-9]*	u:object_r:loop_device:s0
+/dev/block/vd[a-z][0-9]*  u:object_r:vd_device:s0
+/dev/block/vold/.+	u:object_r:vold_device:s0
+/dev/block/ram[0-9]*	u:object_r:ram_device:s0
+/dev/block/zram[0-9]*	u:object_r:ram_device:s0
+/dev/boringssl/selftest(/.*)?	u:object_r:boringssl_self_test_marker:s0
+/dev/bus/usb(.*)?       u:object_r:usb_device:s0
+/dev/console		u:object_r:console_device:s0
+/dev/cpu_variant:.*     u:object_r:dev_cpu_variant:s0
+/dev/dma_heap(/.*)?     u:object_r:dmabuf_heap_device:s0
+/dev/dma_heap/system    u:object_r:dmabuf_system_heap_device:s0
+/dev/dma_heap/system-uncached    u:object_r:dmabuf_system_heap_device:s0
+/dev/dma_heap/system-secure(.*)	 u:object_r:dmabuf_system_secure_heap_device:s0
+/dev/dm-user(/.*)?	u:object_r:dm_user_device:s0
+/dev/ublk-control	u:object_r:ublk_control_device:s0
+/dev/device-mapper	u:object_r:dm_device:s0
+/dev/eac		u:object_r:audio_device:s0
+/dev/event-log-tags     u:object_r:runtime_event_log_tags_file:s0
+/dev/cgroup_info(/.*)?  u:object_r:cgroup_rc_file:s0
+/dev/fscklogs(/.*)?	u:object_r:fscklogs:s0
+/dev/fuse		u:object_r:fuse_device:s0
+/dev/gnss[0-9]+		u:object_r:gnss_device:s0
+/dev/graphics(/.*)?	u:object_r:graphics_device:s0
+/dev/hidraw[0-9]+	u:object_r:hidraw_device:s0
+/dev/hw_random		u:object_r:hw_random_device:s0
+/dev/hwbinder		u:object_r:hwbinder_device:s0
+/dev/input(/.*)?	u:object_r:input_device:s0
+/dev/iio:device[0-9]+   u:object_r:iio_device:s0
+/dev/ion		u:object_r:ion_device:s0
+/dev/keychord   u:object_r:keychord_device:s0
+/dev/loop-control	u:object_r:loop_control_device:s0
+/dev/modem.*		u:object_r:radio_device:s0
+/dev/mtp_usb		u:object_r:mtp_device:s0
+/dev/pmsg0		u:object_r:pmsg_device:s0
+/dev/pn544		u:object_r:nfc_device:s0
+/dev/port		u:object_r:port_device:s0
+/dev/ptmx		u:object_r:ptmx_device:s0
+/dev/pvrsrvkm		u:object_r:gpu_device:s0
+/dev/kmsg		u:object_r:kmsg_device:s0
+/dev/kmsg_debug	u:object_r:kmsg_debug_device:s0
+/dev/kvm		u:object_r:kvm_device:s0
+/dev/null		u:object_r:null_device:s0
+/dev/nvhdcp1		u:object_r:video_device:s0
+/dev/random		u:object_r:random_device:s0
+/dev/rpmsg-omx[0-9]	u:object_r:rpmsg_device:s0
+/dev/rproc_user	u:object_r:rpmsg_device:s0
+/dev/rtc[0-9]      u:object_r:rtc_device:s0
+/dev/snd(/.*)?		u:object_r:audio_device:s0
+/dev/socket(/.*)?	u:object_r:socket_device:s0
+/dev/socket/adbd	u:object_r:adbd_socket:s0
+/dev/socket/aconfigd_mainline	u:object_r:aconfigd_mainline_socket:s0
+/dev/socket/aconfigd_system	u:object_r:aconfigd_socket:s0
+/dev/socket/dnsproxyd	u:object_r:dnsproxyd_socket:s0
+/dev/socket/dumpstate	u:object_r:dumpstate_socket:s0
+/dev/socket/fwmarkd	u:object_r:fwmarkd_socket:s0
+/dev/socket/lmkd        u:object_r:lmkd_socket:s0
+/dev/socket/logd	u:object_r:logd_socket:s0
+/dev/socket/logdr	u:object_r:logdr_socket:s0
+/dev/socket/logdw	u:object_r:logdw_socket:s0
+/dev/socket/statsdw	u:object_r:statsdw_socket:s0
+/dev/socket/mdns	u:object_r:mdns_socket:s0
+/dev/socket/mdnsd	u:object_r:mdnsd_socket:s0
+/dev/socket/ot-daemon(/.*)?  u:object_r:ot_daemon_socket:s0
+/dev/socket/pdx/system/buffer_hub	u:object_r:pdx_bufferhub_dir:s0
+/dev/socket/pdx/system/buffer_hub/client	u:object_r:pdx_bufferhub_client_endpoint_socket:s0
+/dev/socket/pdx/system/performance	u:object_r:pdx_performance_dir:s0
+/dev/socket/pdx/system/performance/client	u:object_r:pdx_performance_client_endpoint_socket:s0
+/dev/socket/pdx/system/vr/display	u:object_r:pdx_display_dir:s0
+/dev/socket/pdx/system/vr/display/client	u:object_r:pdx_display_client_endpoint_socket:s0
+/dev/socket/pdx/system/vr/display/manager	u:object_r:pdx_display_manager_endpoint_socket:s0
+/dev/socket/pdx/system/vr/display/screenshot	u:object_r:pdx_display_screenshot_endpoint_socket:s0
+/dev/socket/pdx/system/vr/display/vsync	u:object_r:pdx_display_vsync_endpoint_socket:s0
+/dev/socket/prng_seeder	u:object_r:prng_seeder_socket:s0
+/dev/socket/property_service	u:object_r:property_socket:s0
+/dev/socket/property_service_for_system  u:object_r:property_socket:s0
+/dev/socket/recovery    u:object_r:recovery_socket:s0
+/dev/socket/rild	u:object_r:rild_socket:s0
+/dev/socket/rild-debug	u:object_r:rild_debug_socket:s0
+/dev/socket/snapuserd u:object_r:snapuserd_socket:s0
+/dev/socket/snapuserd_proxy u:object_r:snapuserd_proxy_socket:s0
+/dev/socket/tombstoned_crash u:object_r:tombstoned_crash_socket:s0
+/dev/socket/tombstoned_java_trace u:object_r:tombstoned_java_trace_socket:s0
+/dev/socket/tombstoned_intercept u:object_r:tombstoned_intercept_socket:s0
+/dev/socket/traced_consumer	u:object_r:traced_consumer_socket:s0
+/dev/socket/traced_perf	u:object_r:traced_perf_socket:s0
+/dev/socket/traced_producer	u:object_r:traced_producer_socket:s0
+/dev/socket/heapprofd	u:object_r:heapprofd_socket:s0
+/dev/socket/uncrypt	u:object_r:uncrypt_socket:s0
+/dev/socket/wpa_eth[0-9] u:object_r:wpa_socket:s0
+/dev/socket/wpa_wlan[0-9] u:object_r:wpa_socket:s0
+/dev/socket/zygote	u:object_r:zygote_socket:s0
+/dev/socket/zygote_secondary	u:object_r:zygote_socket:s0
+/dev/socket/usap_pool_primary	u:object_r:zygote_socket:s0
+/dev/socket/usap_pool_secondary	u:object_r:zygote_socket:s0
+/dev/spdif_out.*	u:object_r:audio_device:s0
+/dev/sys/block/by-name/rootdisk(/.*)?	u:object_r:rootdisk_sysdev:s0
+/dev/sys/block/by-name/userdata(/.*)?	u:object_r:userdata_sysdev:s0
+/dev/sys/fs/by-name/userdata(/.*)?	u:object_r:userdata_sysdev:s0
+/dev/tty		u:object_r:owntty_device:s0
+/dev/tty[0-9]*		u:object_r:tty_device:s0
+/dev/ttyS[0-9]*		u:object_r:serial_device:s0
+/dev/ttyUSB[0-9]*	u:object_r:usb_serial_device:s0
+/dev/ttyACM[0-9]*	u:object_r:usb_serial_device:s0
+/dev/tun		u:object_r:tun_device:s0
+/dev/uhid		u:object_r:uhid_device:s0
+/dev/uinput		u:object_r:uhid_device:s0
+/dev/uio[0-9]*		u:object_r:uio_device:s0
+/dev/urandom		u:object_r:random_device:s0
+/dev/usb_accessory	u:object_r:usbaccessory_device:s0
+/dev/v4l-touch[0-9]*	u:object_r:input_device:s0
+/dev/vfio(/.*)?		u:object_r:vfio_device:s0
+/dev/vhost-vsock	u:object_r:kvm_device:s0
+/dev/video[0-9]*	u:object_r:video_device:s0
+/dev/vndbinder		u:object_r:vndbinder_device:s0
+/dev/watchdog		u:object_r:watchdog_device:s0
+/dev/xt_qtaguid	u:object_r:qtaguid_device:s0
+/dev/zero		u:object_r:zero_device:s0
+/dev/__properties__ u:object_r:properties_device:s0
+/dev/__properties__/appcompat_override u:object_r:properties_device:s0
+/dev/__properties__/property_info   u:object_r:property_info:s0
+/dev/__properties__/appcompat_override/property_info   u:object_r:property_info:s0
+#############################
+# Linker configuration
+#
+/linkerconfig(/.*)?          u:object_r:linkerconfig_file:s0
+
+#############################
+# System files
+#
+/system(/.*)?		u:object_r:system_file:s0
+/system/apex/com.android.art	u:object_r:art_apex_dir:s0
+/system/lib(64)?(/.*)?		u:object_r:system_lib_file:s0
+/system/lib(64)?/bootstrap(/.*)? u:object_r:system_bootstrap_lib_file:s0
+/system/bin/mm_events		u:object_r:mm_events_exec:s0
+/system/bin/atrace	u:object_r:atrace_exec:s0
+/system/bin/auditctl	u:object_r:auditctl_exec:s0
+/system/bin/bcc                 u:object_r:rs_exec:s0
+/system/bin/blank_screen	u:object_r:blank_screen_exec:s0
+/system/bin/boringssl_self_test(32|64) u:object_r:boringssl_self_test_exec:s0
+/system/bin/prng_seeder		u:object_r:prng_seeder_exec:s0
+/system/bin/charger		u:object_r:charger_exec:s0
+/system/bin/e2fsdroid		u:object_r:e2fs_exec:s0
+/system/bin/mke2fs		u:object_r:e2fs_exec:s0
+/system/bin/e2fsck	--	u:object_r:fsck_exec:s0
+/system/bin/extra_free_kbytes\.sh u:object_r:extra_free_kbytes_exec:s0
+/system/bin/fsck\.exfat	--	u:object_r:fsck_exec:s0
+/system/bin/fsck\.f2fs	--	u:object_r:fsck_exec:s0
+/system/bin/init		u:object_r:init_exec:s0
+# TODO(/123600489): merge mini-keyctl into toybox
+/system/bin/mini-keyctl	--	u:object_r:toolbox_exec:s0
+/system/bin/sload_f2fs	--	u:object_r:e2fs_exec:s0
+/system/bin/make_f2fs	--	u:object_r:e2fs_exec:s0
+/system/bin/fsck_msdos	--	u:object_r:fsck_exec:s0
+/system/bin/tcpdump	--	u:object_r:tcpdump_exec:s0
+/system/bin/tune2fs	--	u:object_r:fsck_exec:s0
+/system/bin/resize2fs	--	u:object_r:fsck_exec:s0
+/system/bin/toolbox	--	u:object_r:toolbox_exec:s0
+/system/bin/toybox	--	u:object_r:toolbox_exec:s0
+/system/bin/ld\.mc              u:object_r:rs_exec:s0
+/system/bin/logcat	--	u:object_r:logcat_exec:s0
+/system/bin/logcatd	--	u:object_r:logcat_exec:s0
+/system/bin/sh		--	u:object_r:shell_exec:s0
+/system/bin/run-as	--	u:object_r:runas_exec:s0
+/system/bin/bootanimation u:object_r:bootanim_exec:s0
+/system/bin/bootstat		u:object_r:bootstat_exec:s0
+/system/bin/app_process32	u:object_r:zygote_exec:s0
+/system/bin/app_process64	u:object_r:zygote_exec:s0
+/system/bin/servicemanager	u:object_r:servicemanager_exec:s0
+/system/bin/surfaceflinger	u:object_r:surfaceflinger_exec:s0
+/system/bin/gpuservice	u:object_r:gpuservice_exec:s0
+/system/bin/bufferhubd	u:object_r:bufferhubd_exec:s0
+/system/bin/performanced	u:object_r:performanced_exec:s0
+/system/bin/drmserver	u:object_r:drmserver_exec:s0
+/system/bin/drmserver32	u:object_r:drmserver_exec:s0
+/system/bin/drmserver64	u:object_r:drmserver_exec:s0
+/system/bin/dumpstate   u:object_r:dumpstate_exec:s0
+/system/bin/incident   u:object_r:incident_exec:s0
+/system/bin/incidentd   u:object_r:incidentd_exec:s0
+/system/bin/incident_helper  u:object_r:incident_helper_exec:s0
+/system/bin/iw                   u:object_r:iw_exec:s0
+/system/bin/netutils-wrapper-1\.0    u:object_r:netutils_wrapper_exec:s0
+/system/bin/vold	u:object_r:vold_exec:s0
+/system/bin/netd	u:object_r:netd_exec:s0
+/system/bin/wificond	u:object_r:wificond_exec:s0
+/system/bin/ot-ctl      u:object_r:ot_ctl_exec:s0
+/system/bin/audioserver	u:object_r:audioserver_exec:s0
+/system/bin/mediadrmserver	u:object_r:mediadrmserver_exec:s0
+/system/bin/mediaserver	u:object_r:mediaserver_exec:s0
+/system/bin/mediaserver32	u:object_r:mediaserver_exec:s0
+/system/bin/mediaserver64	u:object_r:mediaserver_exec:s0
+/system/bin/mediametrics	u:object_r:mediametrics_exec:s0
+/system/bin/cameraserver	u:object_r:cameraserver_exec:s0
+/system/bin/mediaextractor	u:object_r:mediaextractor_exec:s0
+/system/bin/mediaswcodec	u:object_r:mediaswcodec_exec:s0
+/system/bin/mediatranscoding	u:object_r:mediatranscoding_exec:s0
+/system/bin/mediatuner	        u:object_r:mediatuner_exec:s0
+/system/bin/mdnsd	u:object_r:mdnsd_exec:s0
+/system/bin/installd	u:object_r:installd_exec:s0
+/system/bin/otapreopt_chroot   u:object_r:otapreopt_chroot_exec:s0
+/system/bin/otapreopt_slot   u:object_r:otapreopt_slot_exec:s0
+/system/bin/credstore	u:object_r:credstore_exec:s0
+/system/bin/keystore	u:object_r:keystore_exec:s0
+/system/bin/keystore2	u:object_r:keystore_exec:s0
+/system/bin/fingerprintd u:object_r:fingerprintd_exec:s0
+/system/bin/gatekeeperd u:object_r:gatekeeperd_exec:s0
+/system/bin/tombstoned u:object_r:tombstoned_exec:s0
+/system/bin/recovery-persist     u:object_r:recovery_persist_exec:s0
+/system/bin/recovery-refresh     u:object_r:recovery_refresh_exec:s0
+/system/bin/sdcard      u:object_r:sdcardd_exec:s0
+/system/bin/snapshotctl      u:object_r:snapshotctl_exec:s0
+/system/bin/remount              u:object_r:remount_exec:s0
+/system/bin/dhcpcd      u:object_r:dhcp_exec:s0
+/system/bin/dhcpcd-6\.8\.2	u:object_r:dhcp_exec:s0
+/system/bin/dmesgd	u:object_r:dmesgd_exec:s0
+/system/xbin/su		u:object_r:su_exec:s0
+/system/bin/dnsmasq     u:object_r:dnsmasq_exec:s0
+/system/bin/linker(64)? u:object_r:system_linker_exec:s0
+/system/bin/linkerconfig u:object_r:linkerconfig_exec:s0
+/system/bin/bootstrap/linker(64)? u:object_r:system_linker_exec:s0
+/system/bin/bootstrap/linkerconfig u:object_r:linkerconfig_exec:s0
+/system/bin/llkd        u:object_r:llkd_exec:s0
+/system/bin/lmkd        u:object_r:lmkd_exec:s0
+/system/bin/mmd         u:object_r:mmd_exec:s0
+/system/bin/usbd   u:object_r:usbd_exec:s0
+/system/bin/inputflinger u:object_r:inputflinger_exec:s0
+/system/bin/logd        u:object_r:logd_exec:s0
+/system/bin/lpdumpd        u:object_r:lpdumpd_exec:s0
+/system/bin/rss_hwm_reset	u:object_r:rss_hwm_reset_exec:s0
+/system/bin/perfetto        u:object_r:perfetto_exec:s0
+/system/bin/mtectrl         u:object_r:mtectrl_exec:s0
+/system/bin/misctrl         u:object_r:misctrl_exec:s0
+/system/bin/kcmdlinectrl         u:object_r:kcmdlinectrl_exec:s0
+/system/bin/traced        u:object_r:traced_exec:s0
+/system/bin/traced_perf        u:object_r:traced_perf_exec:s0
+/system/bin/traced_probes        u:object_r:traced_probes_exec:s0
+/system/bin/traced_relay        u:object_r:traced_exec:s0
+/system/bin/trace_redactor        u:object_r:trace_redactor_exec:s0
+/system/bin/heapprofd        u:object_r:heapprofd_exec:s0
+/system/bin/uncrypt     u:object_r:uncrypt_exec:s0
+/system/bin/update_verifier u:object_r:update_verifier_exec:s0
+/system/bin/logwrapper  u:object_r:system_file:s0
+/system/bin/vdc         u:object_r:vdc_exec:s0
+/system/bin/cppreopts\.sh   u:object_r:cppreopts_exec:s0
+/system/bin/preloads_copy\.sh u:object_r:preloads_copy_exec:s0
+/system/bin/preopt2cachename u:object_r:preopt2cachename_exec:s0
+/system/bin/sgdisk      u:object_r:sgdisk_exec:s0
+/system/bin/blkid       u:object_r:blkid_exec:s0
+/system/bin/pbtombstone       u:object_r:pbtombstone_exec:s0
+/system/bin/flags_health_check -- u:object_r:flags_health_check_exec:s0
+/system/bin/idmap2(d)?              u:object_r:idmap_exec:s0
+/system/bin/update_engine           u:object_r:update_engine_exec:s0
+/system/bin/update_engine_nostats   u:object_r:update_engine_exec:s0
+/system/bin/profcollectd            u:object_r:profcollectd_exec:s0
+/system/bin/profcollectctl          u:object_r:profcollectd_exec:s0
+/system/bin/storaged                u:object_r:storaged_exec:s0
+/system/bin/virtual_touchpad        u:object_r:virtual_touchpad_exec:s0
+/system/bin/virtual_camera          u:object_r:virtual_camera_exec:s0
+/system/bin/hw/android\.frameworks\.bufferhub@1\.0-service    u:object_r:fwk_bufferhub_exec:s0
+/system/bin/hw/android\.system\.suspend-service               u:object_r:system_suspend_exec:s0
+/system/bin/memcgv2_activation_depth\.sh u:object_r:memcgv2_activation_depth_exec:s0
+/system/etc/aconfig(/.*)?               u:object_r:system_aconfig_storage_file:s0
+/system/etc/cgroups\.json               u:object_r:cgroup_desc_file:s0
+/system/etc/task_profiles/cgroups_[0-9]+\.json               u:object_r:cgroup_desc_file:s0
+/system/etc/event-log-tags              u:object_r:system_event_log_tags_file:s0
+/system/etc/font_fallback.xml           u:object_r:system_font_fallback_file:s0
+/system/etc/group                       u:object_r:system_group_file:s0
+/system/etc/ld\.config.*                u:object_r:system_linker_config_file:s0
+/system/etc/passwd                      u:object_r:system_passwd_file:s0
+/system/etc/perfetto(/.*)?              u:object_r:system_perfetto_config_file:s0
+/system/etc/seccomp_policy(/.*)?        u:object_r:system_seccomp_policy_file:s0
+/system/etc/security/cacerts(/.*)?      u:object_r:system_security_cacerts_file:s0
+/system/etc/selinux/mapping/[0-9]+\.[0-9]+(\.compat)?\.cil       u:object_r:sepolicy_file:s0
+/system/etc/selinux/plat_mac_permissions\.xml u:object_r:mac_perms_file:s0
+/system/etc/selinux/plat_property_contexts  u:object_r:property_contexts_file:s0
+/system/etc/selinux/plat_tee_service_contexts  u:object_r:tee_service_contexts_file:s0
+/system/etc/selinux/plat_service_contexts  u:object_r:service_contexts_file:s0
+/system/etc/selinux/plat_hwservice_contexts  u:object_r:hwservice_contexts_file:s0
+/system/etc/selinux/plat_keystore2_key_contexts  u:object_r:keystore2_key_contexts_file:s0
+/system/etc/selinux/plat_file_contexts  u:object_r:file_contexts_file:s0
+/system/etc/selinux/plat_seapp_contexts  u:object_r:seapp_contexts_file:s0
+/system/etc/selinux/plat_sepolicy\.cil       u:object_r:sepolicy_file:s0
+/system/etc/selinux/plat_and_mapping_sepolicy\.cil\.sha256 u:object_r:sepolicy_file:s0
+/system/etc/task_profiles\.json  u:object_r:task_profiles_file:s0
+/system/etc/task_profiles/task_profiles_[0-9]+\.json  u:object_r:task_profiles_file:s0
+/system/usr/share/zoneinfo(/.*)? u:object_r:system_zoneinfo_file:s0
+/system/bin/adbd                 u:object_r:adbd_exec:s0
+/system/bin/vold_prepare_subdirs u:object_r:vold_prepare_subdirs_exec:s0
+/system/bin/stats                u:object_r:stats_exec:s0
+/system/bin/statsd               u:object_r:statsd_exec:s0
+/system/bin/bpfloader            u:object_r:bpfloader_exec:s0
+/system/bin/netbpfload           u:object_r:bpfloader_exec:s0
+/system/bin/watchdogd            u:object_r:watchdogd_exec:s0
+/system/bin/aconfigd-system      u:object_r:aconfigd_exec:s0
+/system/bin/apexd                u:object_r:apexd_exec:s0
+/system/bin/gsid                 u:object_r:gsid_exec:s0
+/system/bin/simpleperf           u:object_r:simpleperf_exec:s0
+/system/bin/simpleperf_app_runner    u:object_r:simpleperf_app_runner_exec:s0
+/system/bin/migrate_legacy_obb_data u:object_r:migrate_legacy_obb_data_exec:s0
+/system/bin/android\.frameworks\.automotive\.display@1\.0-service u:object_r:automotive_display_service_exec:s0
+/system/bin/snapuserd            u:object_r:snapuserd_exec:s0
+/system/bin/odsign               u:object_r:odsign_exec:s0
+/system/bin/vehicle_binding_util     u:object_r:vehicle_binding_util_exec:s0
+/system/bin/cardisplayproxyd     u:object_r:automotive_display_service_exec:s0
+/system/bin/evsmanagerd          u:object_r:evsmanagerd_exec:s0
+/system/bin/android\.automotive\.evs\.manager@1\.[0-9]+ u:object_r:evsmanagerd_exec:s0
+/system/bin/uprobestats           u:object_r:uprobestats_exec:s0
+/system/bin/bert_collector        u:object_r:bert_collector_exec:s0
+/system/bin/linux_vm_setup        u:object_r:linux_vm_setup_exec:s0
+/system/bin/tradeinmode           u:object_r:tradeinmode_exec:s0
+/system/bin/prefetch              u:object_r:prefetch_exec:s0
+
+#############################
+# Vendor files
+#
+/(vendor|system/vendor)(/.*)?                  u:object_r:vendor_file:s0
+/(vendor|system/vendor)/bin/sh                 u:object_r:vendor_shell_exec:s0
+/(vendor|system/vendor)/bin/toybox_vendor      u:object_r:vendor_toolbox_exec:s0
+/(vendor|system/vendor)/bin/toolbox            u:object_r:vendor_toolbox_exec:s0
+/(vendor|system/vendor)/etc(/.*)?              u:object_r:vendor_configs_file:s0
+/(vendor|system/vendor)/etc/cgroups\.json      u:object_r:vendor_cgroup_desc_file:s0
+/(vendor|system/vendor)/etc/task_profiles\.json    u:object_r:vendor_task_profiles_file:s0
+/(vendor|system/vendor)/etc/avf/microdroid(/.*)?   u:object_r:vendor_microdroid_file:s0
+
+/(vendor|system/vendor)/lib(64)?/egl(/.*)?     u:object_r:same_process_hal_file:s0
+
+/(vendor|system/vendor)/lib(64)?/vndk-sp(/.*)? u:object_r:vndk_sp_file:s0
+
+/(vendor|system/vendor)/manifest\.xml           u:object_r:vendor_configs_file:s0
+/(vendor|system/vendor)/compatibility_matrix\.xml u:object_r:vendor_configs_file:s0
+/(vendor|system/vendor)/etc/vintf(/.*)?        u:object_r:vendor_configs_file:s0
+/(vendor|system/vendor)/app(/.*)?              u:object_r:vendor_app_file:s0
+/(vendor|system/vendor)/priv-app(/.*)?         u:object_r:vendor_app_file:s0
+/(vendor|system/vendor)/overlay(/.*)?          u:object_r:vendor_overlay_file:s0
+/(vendor|system/vendor)/framework(/.*)?        u:object_r:vendor_framework_file:s0
+
+/(vendor|system/vendor)/bin/misc_writer                        u:object_r:vendor_misc_writer_exec:s0
+/(vendor|system/vendor)/bin/boringssl_self_test(32|64)         u:object_r:vendor_boringssl_self_test_exec:s0
+
+/(vendor|system/vendor)/etc/aconfig(/.*)?                      u:object_r:vendor_aconfig_storage_file:s0
+
+/vendor/boot_otas(/.*)?                                        u:object_r:vendor_boot_ota_file:s0
+
+# HAL location
+/(vendor|system/vendor)/lib(64)?/hw            u:object_r:vendor_hal_file:s0
+
+/(vendor|system/vendor)/etc/selinux/vendor_service_contexts u:object_r:vendor_service_contexts_file:s0
+
+#############################
+# OEM and ODM files
+#
+/(odm|vendor/odm)(/.*)?                       u:object_r:vendor_file:s0
+/(odm|vendor/odm)/lib(64)?/egl(/.*)?          u:object_r:same_process_hal_file:s0
+/(odm|vendor/odm)/lib(64)?/hw                 u:object_r:vendor_hal_file:s0
+/(odm|vendor/odm)/lib(64)?/vndk-sp(/.*)?      u:object_r:vndk_sp_file:s0
+/(odm|vendor/odm)/bin/sh                      u:object_r:vendor_shell_exec:s0
+/(odm|vendor/odm)/etc(/.*)?                   u:object_r:vendor_configs_file:s0
+/(odm|vendor/odm)/app(/.*)?                   u:object_r:vendor_app_file:s0
+/(odm|vendor/odm)/priv-app(/.*)?              u:object_r:vendor_app_file:s0
+/(odm|vendor/odm)/overlay(/.*)?               u:object_r:vendor_overlay_file:s0
+/(odm|vendor/odm)/framework(/.*)?             u:object_r:vendor_framework_file:s0
+
+# secure-element service: vendor uuid mapping config file
+/(odm|vendor/odm|vendor|system/vendor)/etc/hal_uuid_map_(.*)?\.xml    u:object_r:vendor_uuid_mapping_config_file:s0
+
+# APEX packages
+/(odm|vendor/odm|vendor|system/vendor)/apex(/[^/]+){0,2}              u:object_r:vendor_apex_file:s0
+
+# Input configuration
+/(odm|vendor/odm|vendor|system/vendor)/usr/keylayout(/.*)?            u:object_r:vendor_keylayout_file:s0
+/(odm|vendor/odm|vendor|system/vendor)/usr/keylayout(/.*)?\.kl        u:object_r:vendor_keylayout_file:s0
+/(odm|vendor/odm|vendor|system/vendor)/usr/keychars(/.*)?             u:object_r:vendor_keychars_file:s0
+/(odm|vendor/odm|vendor|system/vendor)/usr/keychars(/.*)?\.kcm        u:object_r:vendor_keychars_file:s0
+/(odm|vendor/odm|vendor|system/vendor)/usr/idc(/.*)?                  u:object_r:vendor_idc_file:s0
+/(odm|vendor/odm|vendor|system/vendor)/usr/idc(/.*)?\.idc             u:object_r:vendor_idc_file:s0
+
+/oem(/.*)?              u:object_r:oemfs:s0
+/oem/overlay(/.*)?      u:object_r:vendor_overlay_file:s0
+/oem/media/bootanimation.zip            u:object_r:bootanim_oem_file:s0
+/oem/media/shutdownanimation.zip        u:object_r:bootanim_oem_file:s0
+/oem/media/userspace-reboot.zip         u:object_r:bootanim_oem_file:s0
+
+# The precompiled monolithic sepolicy will be under /odm only when
+# BOARD_USES_ODMIMAGE is true: a separate odm.img is built.
+/odm/etc/selinux/precompiled_sepolicy                           u:object_r:sepolicy_file:s0
+/odm/etc/selinux/precompiled_sepolicy\.plat_and_mapping\.sha256 u:object_r:sepolicy_file:s0
+
+/(odm|vendor/odm)/etc/selinux/odm_sepolicy\.cil                 u:object_r:sepolicy_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_file_contexts                 u:object_r:file_contexts_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_seapp_contexts                u:object_r:seapp_contexts_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_property_contexts             u:object_r:property_contexts_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_service_contexts              u:object_r:vendor_service_contexts_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_hwservice_contexts            u:object_r:hwservice_contexts_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_keystore2_key_contexts        u:object_r:keystore2_key_contexts_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_mac_permissions\.xml          u:object_r:mac_perms_file:s0
+/(odm|vendor/odm)/etc/selinux/odm_tee_service_contexts          u:object_r:tee_service_contexts_file:s0
+
+#############################
+# Product files
+#
+/(product|system/product)(/.*)?                                 u:object_r:system_file:s0
+/(product|system/product)/etc/group                             u:object_r:system_group_file:s0
+/(product|system/product)/etc/passwd                            u:object_r:system_passwd_file:s0
+/(product|system/product)/overlay(/.*)?                         u:object_r:system_file:s0
+
+/(product|system/product)/etc/selinux/product_file_contexts      u:object_r:file_contexts_file:s0
+/(product|system/product)/etc/selinux/product_hwservice_contexts u:object_r:hwservice_contexts_file:s0
+/(product|system/product)/etc/selinux/product_keystore2_key_contexts u:object_r:keystore2_key_contexts_file:s0
+/(product|system/product)/etc/selinux/product_property_contexts  u:object_r:property_contexts_file:s0
+/(product|system/product)/etc/selinux/product_seapp_contexts     u:object_r:seapp_contexts_file:s0
+/(product|system/product)/etc/selinux/product_service_contexts   u:object_r:service_contexts_file:s0
+/(product|system/product)/etc/selinux/product_mac_permissions\.xml u:object_r:mac_perms_file:s0
+/(product|system/product)/etc/selinux/product_tee_service_contexts  u:object_r:tee_service_contexts_file:s0
+
+/(product|system/product)/lib(64)?(/.*)?                         u:object_r:system_lib_file:s0
+
+/(product|system/product)/etc/security/adb_keys                 u:object_r:adb_keys_file:s0
+/(product|system/product)/etc/aconfig(/.*)?                     u:object_r:system_aconfig_storage_file:s0
+
+#############################
+# SystemExt files
+#
+/(system_ext|system/system_ext)(/.*)?               u:object_r:system_file:s0
+/(system_ext|system/system_ext)/etc/group           u:object_r:system_group_file:s0
+/(system_ext|system/system_ext)/etc/passwd          u:object_r:system_passwd_file:s0
+/(system_ext|system/system_ext)/overlay(/.*)?       u:object_r:vendor_overlay_file:s0
+
+/(system_ext|system/system_ext)/etc/selinux/system_ext_file_contexts        u:object_r:file_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_hwservice_contexts   u:object_r:hwservice_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_keystore2_key_contexts u:object_r:keystore2_key_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_property_contexts    u:object_r:property_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_seapp_contexts       u:object_r:seapp_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_service_contexts     u:object_r:service_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_mac_permissions\.xml u:object_r:mac_perms_file:s0
+/(system_ext|system/system_ext)/etc/selinux/userdebug_plat_sepolicy\.cil    u:object_r:sepolicy_file:s0
+
+/(system_ext|system/system_ext)/bin/aidl_lazy_test_server    u:object_r:aidl_lazy_test_server_exec:s0
+/(system_ext|system/system_ext)/bin/aidl_lazy_cb_test_server u:object_r:aidl_lazy_test_server_exec:s0
+/(system_ext|system/system_ext)/bin/hidl_lazy_test_server    u:object_r:hidl_lazy_test_server_exec:s0
+/(system_ext|system/system_ext)/bin/hidl_lazy_cb_test_server u:object_r:hidl_lazy_test_server_exec:s0
+/(system_ext|system/system_ext)/bin/hwservicemanager         u:object_r:hwservicemanager_exec:s0
+/(system_ext|system/system_ext)/bin/hw/android\.hidl\.allocator@1\.0-service u:object_r:hal_allocator_default_exec:s0
+/(system_ext|system/system_ext)/bin/rkp_cert_processor       u:object_r:rkp_cert_processor_exec:s0
+
+/(system_ext|system/system_ext)/bin/canhalconfigurator(-aidl)? u:object_r:canhalconfigurator_exec:s0
+
+/(system_ext|system/system_ext)/lib(64)?(/.*)?      u:object_r:system_lib_file:s0
+
+/(system_ext|system/system_ext)/etc/aconfig(/.*)?                u:object_r:system_aconfig_storage_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_tee_service_contexts  u:object_r:tee_service_contexts_file:s0
+
+#############################
+# VendorDlkm files
+# This includes VENDOR Dynamically Loadable Kernel Modules and other misc files.
+#
+/(vendor_dlkm|vendor/vendor_dlkm|system/vendor/vendor_dlkm)(/.*)?         u:object_r:vendor_file:s0
+/(vendor_dlkm|vendor/vendor_dlkm|system/vendor/vendor_dlkm)/etc(/.*)?     u:object_r:vendor_configs_file:s0
+
+#############################
+# OdmDlkm files
+# This includes ODM Dynamically Loadable Kernel Modules and other misc files.
+#
+/(odm_dlkm|vendor/odm_dlkm|system/vendor/odm_dlkm)(/.*)?                  u:object_r:vendor_file:s0
+/(odm_dlkm|vendor/odm_dlkm|system/vendor/odm_dlkm)/etc(/.*)?              u:object_r:vendor_configs_file:s0
+
+#############################
+# Vendor files from /(product|system/product)/vendor_overlay
+#
+# NOTE: For additional vendor file contexts for vendor overlay files,
+# use device specific file_contexts.
+#
+/(product|system/product)/vendor_overlay/[0-9]+/.*          u:object_r:vendor_file:s0
+
+#############################
+# Data files
+#
+# NOTE: When modifying existing label rules, changes may also need to
+# propagate to the "Expanded data files" section.
+#
+/data		u:object_r:system_data_root_file:s0
+/data/(.*)?		u:object_r:system_data_file:s0
+/data/system/environ(/.*)? u:object_r:environ_system_data_file:s0
+/data/system/packages\.list u:object_r:packages_list_file:s0
+/data/system/game_mode_intervention\.list u:object_r:game_mode_intervention_list_file:s0
+/data/unencrypted(/.*)?         u:object_r:unencrypted_data_file:s0
+/data/backup(/.*)?		u:object_r:backup_data_file:s0
+/data/secure/backup(/.*)?	u:object_r:backup_data_file:s0
+/data/system/ndebugsocket	u:object_r:system_ndebug_socket:s0
+/data/system/unsolzygotesocket  u:object_r:system_unsolzygote_socket:s0
+/data/drm(/.*)?		u:object_r:drm_data_file:s0
+/data/resource-cache(/.*)? u:object_r:resourcecache_data_file:s0
+/data/dalvik-cache(/.*)? u:object_r:dalvikcache_data_file:s0
+/data/ota(/.*)? u:object_r:ota_data_file:s0
+/data/ota_package(/.*)? u:object_r:ota_package_file:s0
+/data/adb(/.*)?		u:object_r:adb_data_file:s0
+/data/anr(/.*)?		u:object_r:anr_data_file:s0
+/data/apex(/.*)?		u:object_r:apex_data_file:s0
+/data/apex/active/(.*)?		u:object_r:staging_data_file:s0
+/data/apex/backup/(.*)?		u:object_r:staging_data_file:s0
+/data/apex/decompressed/(.*)?    u:object_r:staging_data_file:s0
+/data/apex/ota_reserved(/.*)?       u:object_r:apex_ota_reserved_file:s0
+/data/app(/.*)?                       u:object_r:apk_data_file:s0
+/data/app-metadata(/.*)?              u:object_r:apk_metadata_file:s0
+# Traditional /data/app/[packageName]-[randomString]/base.apk location
+/data/app/[^/]+/oat(/.*)?                u:object_r:dalvikcache_data_file:s0
+# /data/app/[randomStringA]/[packageName]-[randomStringB]/base.apk layout
+/data/app/[^/]+/[^/]+/oat(/.*)?                u:object_r:dalvikcache_data_file:s0
+/data/app/vmdl[^/]+\.tmp(/.*)?           u:object_r:apk_tmp_file:s0
+/data/app/vmdl[^/]+\.tmp/oat(/.*)?           u:object_r:dalvikcache_data_file:s0
+/data/app-private(/.*)?               u:object_r:apk_private_data_file:s0
+/data/app-private/vmdl.*\.tmp(/.*)?   u:object_r:apk_private_tmp_file:s0
+/data/gsi(/.*)?        u:object_r:gsi_data_file:s0
+/data/gsi_persistent_data    u:object_r:gsi_persistent_data_file:s0
+/data/gsi/ota(/.*)?    u:object_r:ota_image_data_file:s0
+/data/tombstones(/.*)?	u:object_r:tombstone_data_file:s0
+/data/local/tests(/.*)?	u:object_r:shell_test_data_file:s0
+/data/local/tmp(/.*)?	u:object_r:shell_data_file:s0
+/data/local/tmp/ltp(/.*)?   u:object_r:nativetest_data_file:s0
+/data/local/traces(/.*)?	u:object_r:trace_data_file:s0
+/data/media             u:object_r:media_userdir_file:s0
+/data/media/.*          u:object_r:media_rw_data_file:s0
+/data/mediadrm(/.*)?	u:object_r:media_data_file:s0
+/data/nativetest(/.*)?	u:object_r:nativetest_data_file:s0
+/data/nativetest64(/.*)?	u:object_r:nativetest_data_file:s0
+# This directory was removed after Q Beta 2, but we need to preserve labels for upgrading devices.
+/data/pkg_staging(/.*)?		u:object_r:staging_data_file:s0
+/data/property(/.*)?	u:object_r:property_data_file:s0
+/data/preloads(/.*)?	u:object_r:preloads_data_file:s0
+/data/preloads/media(/.*)?	u:object_r:preloads_media_file:s0
+/data/preloads/demo(/.*)?	u:object_r:preloads_media_file:s0
+/data/server_configurable_flags(/.*)? u:object_r:server_configurable_flags_data_file:s0
+/data/app-staging(/.*)?		u:object_r:staging_data_file:s0
+# Ensure we have the same labels as /data/app or /data/apex/active
+# to avoid restorecon conflicts
+/data/rollback/\d+/[^/]+/.*\.apk  u:object_r:apk_data_file:s0
+/data/rollback/\d+/[^/]+/.*\.apex u:object_r:staging_data_file:s0
+/data/fonts/files(/.*)?     u:object_r:font_data_file:s0
+/data/misc_ce             u:object_r:system_userdir_file:s0
+/data/misc_de             u:object_r:system_userdir_file:s0
+/data/system_ce           u:object_r:system_userdir_file:s0
+/data/system_de           u:object_r:system_userdir_file:s0
+/data/user                u:object_r:system_userdir_file:s0
+/data/user_de             u:object_r:system_userdir_file:s0
+/data/storage_area        u:object_r:system_userdir_file:s0
+
+# Misc data
+/data/misc/adb(/.*)?            u:object_r:adb_keys_file:s0
+/data/misc/a11ytrace(/.*)?      u:object_r:accessibility_trace_data_file:s0
+/data/misc/apexdata(/.*)?       u:object_r:apex_module_data_file:s0
+/data/misc/apexdata/com\.android\.art(/.*)?           u:object_r:apex_art_data_file:s0
+/data/misc/apexdata/com\.android\.compos(/.*)?        u:object_r:apex_compos_data_file:s0
+/data/misc/apexdata/com\.android\.virt(/.*)?          u:object_r:apex_virt_data_file:s0
+/data/misc/apexdata/com\.android\.permission(/.*)?    u:object_r:apex_system_server_data_file:s0
+/data/misc/apexdata/com\.android\.scheduling(/.*)?    u:object_r:apex_system_server_data_file:s0
+/data/misc/apexdata/com\.android\.tethering(/.*)?     u:object_r:apex_tethering_data_file:s0
+/data/misc/apexdata/com\.android\.uwb(/.*)?           u:object_r:apex_uwb_data_file:s0
+/data/misc/apexdata/com\.android\.wifi(/.*)?          u:object_r:apex_system_server_data_file:s0
+/data/misc/apexrollback(/.*)?   u:object_r:apex_rollback_data_file:s0
+/data/misc/apns(/.*)?           u:object_r:radio_data_file:s0
+/data/misc/appcompat(/.*)?      u:object_r:appcompat_data_file:s0
+/data/misc/audio(/.*)?          u:object_r:audio_data_file:s0
+/data/misc/audioserver(/.*)?    u:object_r:audioserver_data_file:s0
+/data/misc/audiohal(/.*)?       u:object_r:audiohal_data_file:s0
+/data/misc/bootstat(/.*)?       u:object_r:bootstat_data_file:s0
+/data/misc/boottrace(/.*)?      u:object_r:boottrace_data_file:s0
+/data/misc/bluetooth(/.*)?      u:object_r:bluetooth_data_file:s0
+/data/misc/bluetooth/logs(/.*)? u:object_r:bluetooth_logs_data_file:s0
+/data/misc/bluedroid(/.*)?      u:object_r:bluetooth_data_file:s0
+/data/misc/bluedroid/\.a2dp_ctrl u:object_r:bluetooth_socket:s0
+/data/misc/bluedroid/\.a2dp_data u:object_r:bluetooth_socket:s0
+/data/misc/camera(/.*)?         u:object_r:camera_data_file:s0
+/data/misc/carrierid(/.*)?      u:object_r:radio_data_file:s0
+/data/misc/connectivityblobdb(/.*)? u:object_r:connectivityblob_data_file:s0
+/data/misc/dhcp(/.*)?           u:object_r:dhcp_data_file:s0
+/data/misc/dhcp-6\.8\.2(/.*)?     u:object_r:dhcp_data_file:s0
+/data/misc/dmesgd(/.*)?         u:object_r:dmesgd_data_file:s0
+/data/misc/emergencynumberdb(/.*)?     u:object_r:emergency_data_file:s0
+/data/misc/gatekeeper(/.*)?     u:object_r:gatekeeper_data_file:s0
+/data/misc/incidents(/.*)?	    u:object_r:incident_data_file:s0
+/data/misc/installd(/.*)?		u:object_r:install_data_file:s0
+/data/misc/keychain(/.*)?       u:object_r:keychain_data_file:s0
+/data/misc/credstore(/.*)?       u:object_r:credstore_data_file:s0
+/data/misc/keystore(/.*)?       u:object_r:keystore_data_file:s0
+/data/misc/logd(/.*)?           u:object_r:misc_logd_file:s0
+/data/misc/media(/.*)?          u:object_r:media_data_file:s0
+/data/misc/net(/.*)?            u:object_r:net_data_file:s0
+/data/misc/network_watchlist(/.*)? u:object_r:network_watchlist_data_file:s0
+/data/misc/telephonyconfig(/.*)? u:object_r:radio_data_file:s0
+/data/misc/nfc/logs(/.*)?       u:object_r:nfc_logs_data_file:s0
+/data/misc/odrefresh(/.*)?      u:object_r:odrefresh_data_file:s0
+/data/misc/odsign(/.*)?         u:object_r:odsign_data_file:s0
+/data/misc/odsign/metrics(/.*)? u:object_r:odsign_metrics_file:s0
+/data/misc/perfetto-traces(/.*)?           u:object_r:perfetto_traces_data_file:s0
+/data/misc/perfetto-traces/bugreport(.*)?  u:object_r:perfetto_traces_bugreport_data_file:s0
+/data/misc/perfetto-traces/profiling(/.*)? u:object_r:perfetto_traces_profiling_data_file:s0
+/data/misc/perfetto-configs(/.*)?          u:object_r:perfetto_configs_data_file:s0
+/data/misc/uprobestats-configs(/.*)?      u:object_r:uprobestats_configs_data_file:s0
+/data/misc/prereboot(/.*)?      u:object_r:prereboot_data_file:s0
+/data/misc/profcollectd(/.*)?   u:object_r:profcollectd_data_file:s0
+/data/misc/radio(/.*)?          u:object_r:radio_core_data_file:s0
+/data/misc/recovery(/.*)?       u:object_r:recovery_data_file:s0
+/data/misc/shared_relro(/.*)?   u:object_r:shared_relro_file:s0
+/data/misc/sms(/.*)?            u:object_r:radio_data_file:s0
+/data/misc/snapshotctl_log(/.*)?      u:object_r:snapshotctl_log_data_file:s0
+/data/misc/stats-active-metric(/.*)? u:object_r:stats_data_file:s0
+/data/misc/stats-data(/.*)?     u:object_r:stats_data_file:s0
+/data/misc/stats-service(/.*)?  u:object_r:stats_config_data_file:s0
+/data/misc/stats-metadata(/.*)? u:object_r:stats_data_file:s0
+/data/misc/systemkeys(/.*)?     u:object_r:systemkeys_data_file:s0
+/data/misc/textclassifier(/.*)?       u:object_r:textclassifier_data_file:s0
+/data/misc/train-info(/.*)?     u:object_r:stats_data_file:s0
+/data/misc/user(/.*)?           u:object_r:misc_user_data_file:s0
+/data/misc/virtualizationservice(/.*)? u:object_r:virtualizationservice_data_file:s0
+/data/misc/vpn(/.*)?            u:object_r:vpn_data_file:s0
+/data/misc/wifi(/.*)?           u:object_r:wifi_data_file:s0
+/data/misc_ce/[0-9]+/wifi(/.*)? u:object_r:wifi_data_file:s0
+/data/misc/wifi/mainline_supplicant(/.*)?  u:object_r:mainline_supplicant_data_file:s0
+/data/misc/wifi/sockets(/.*)?   u:object_r:wpa_socket:s0
+/data/misc/wifi/sockets/wpa_ctrl.*   u:object_r:system_wpa_socket:s0
+/data/misc/vold(/.*)?           u:object_r:vold_data_file:s0
+/data/misc/update_engine(/.*)?  u:object_r:update_engine_data_file:s0
+/data/misc/update_engine_log(/.*)?  u:object_r:update_engine_log_data_file:s0
+/data/misc/snapuserd_log(/.*)?  u:object_r:snapuserd_log_data_file:s0
+/data/system/dropbox(/.*)?      u:object_r:dropbox_data_file:s0
+/data/system/heapdump(/.*)?     u:object_r:heapdump_data_file:s0
+/data/misc/trace(/.*)?          u:object_r:method_trace_data_file:s0
+/data/misc/wmtrace(/.*)?        u:object_r:wm_trace_data_file:s0
+# TODO(calin) label profile reference differently so that only
+# profman run as a special user can write to them
+/data/misc/profiles/cur(/[0-9]+)?   u:object_r:user_profile_root_file:s0
+/data/misc/profiles/cur/[0-9]+/.*   u:object_r:user_profile_data_file:s0
+/data/misc/profiles/ref(/.*)?       u:object_r:user_profile_data_file:s0
+/data/misc/profman(/.*)?        u:object_r:profman_dump_data_file:s0
+/data/vendor(/.*)?              u:object_r:vendor_data_file:s0
+/data/vendor_ce                 u:object_r:vendor_userdir_file:s0
+/data/vendor_ce/.*              u:object_r:vendor_data_file:s0
+/data/vendor_de                 u:object_r:vendor_userdir_file:s0
+/data/vendor_de/.*              u:object_r:vendor_data_file:s0
+/data/vendor/tombstones/wifi(/.*)? u:object_r:tombstone_wifi_data_file:s0
+
+# storaged proto files
+/data/misc_de/[0-9]+/storaged(/.*)?       u:object_r:storaged_data_file:s0
+/data/misc_ce/[0-9]+/storaged(/.*)?       u:object_r:storaged_data_file:s0
+
+# checkin data files
+/data/misc_ce/[0-9]+/checkin(/.*)? u:object_r:checkin_data_file:s0
+
+# Fingerprint data
+/data/system/users/[0-9]+/fpdata(/.*)? u:object_r:fingerprintd_data_file:s0
+
+# Fingerprint vendor data file
+/data/vendor_de/[0-9]+/fpdata(/.*)? u:object_r:fingerprint_vendor_data_file:s0
+
+# Face vendor data file
+/data/vendor_de/[0-9]+/facedata(/.*)? u:object_r:face_vendor_data_file:s0
+/data/vendor_ce/[0-9]+/facedata(/.*)? u:object_r:face_vendor_data_file:s0
+
+# Iris vendor data file
+/data/vendor_de/[0-9]+/irisdata(/.*)? u:object_r:iris_vendor_data_file:s0
+
+# Bootchart data
+/data/bootchart(/.*)?		u:object_r:bootchart_data_file:s0
+
+# Sandbox sdk data (managed by installd)
+/data/misc_de/[0-9]+/sdksandbox       u:object_r:sdk_sandbox_system_data_file:s0
+/data/misc_ce/[0-9]+/sdksandbox       u:object_r:sdk_sandbox_system_data_file:s0
+
+# App data snapshots (managed by installd).
+/data/misc_de/[0-9]+/rollback(/.*)?       u:object_r:rollback_data_file:s0
+/data/misc_ce/[0-9]+/rollback(/.*)?       u:object_r:rollback_data_file:s0
+
+# Apex data directories
+/data/misc_de/[0-9]+/apexdata(/.*)?       u:object_r:apex_module_data_file:s0
+/data/misc_ce/[0-9]+/apexdata(/.*)?       u:object_r:apex_module_data_file:s0
+/data/misc_ce/[0-9]+/apexdata/com\.android\.appsearch(/.*)?   u:object_r:apex_system_server_data_file:s0
+/data/misc_de/[0-9]+/apexdata/com\.android\.permission(/.*)?  u:object_r:apex_system_server_data_file:s0
+/data/misc_ce/[0-9]+/apexdata/com\.android\.permission(/.*)?  u:object_r:apex_system_server_data_file:s0
+/data/misc_de/[0-9]+/apexdata/com\.android\.wifi(/.*)?        u:object_r:apex_system_server_data_file:s0
+/data/misc_ce/[0-9]+/apexdata/com\.android\.wifi(/.*)?        u:object_r:apex_system_server_data_file:s0
+/data/misc_de/[0-9]+/apexdata/com\.android\.uwb(/.*)?         u:object_r:apex_system_server_data_file:s0
+/data/misc_ce/[0-9]+/apexdata/com\.android\.uwb(/.*)?         u:object_r:apex_system_server_data_file:s0
+
+# Apex rollback directories
+/data/misc_de/[0-9]+/apexrollback(/.*)?   u:object_r:apex_rollback_data_file:s0
+/data/misc_ce/[0-9]+/apexrollback(/.*)?   u:object_r:apex_rollback_data_file:s0
+
+# Incremental directories
+/data/incremental(/.*)?                                 u:object_r:apk_data_file:s0
+/data/incremental/MT_[^/]+/mount/.pending_reads         u:object_r:incremental_control_file:s0
+/data/incremental/MT_[^/]+/mount/.log                   u:object_r:incremental_control_file:s0
+/data/incremental/MT_[^/]+/mount/.blocks_written        u:object_r:incremental_control_file:s0
+
+# Boot animation data
+/data/misc/bootanim(/.*)? u:object_r:bootanim_data_file:s0
+#############################
+# Expanded data files
+#
+/mnt/expand                                         u:object_r:mnt_expand_file:s0
+/mnt/expand/[^/]+(/.*)?                             u:object_r:system_data_file:s0
+/mnt/expand/[^/]+/app(/.*)?                         u:object_r:apk_data_file:s0
+/mnt/expand/[^/]+/app/[^/]+/oat(/.*)?               u:object_r:dalvikcache_data_file:s0
+# /mnt/expand/..../app/[randomStringA]/[packageName]-[randomStringB]/base.apk layout
+/mnt/expand/[^/]+/app/[^/]+/[^/]+/oat(/.*)?        u:object_r:dalvikcache_data_file:s0
+/mnt/expand/[^/]+/app/vmdl[^/]+\.tmp(/.*)?          u:object_r:apk_tmp_file:s0
+/mnt/expand/[^/]+/app/vmdl[^/]+\.tmp/oat(/.*)?      u:object_r:dalvikcache_data_file:s0
+/mnt/expand/[^/]+/local/tmp(/.*)?                   u:object_r:shell_data_file:s0
+/mnt/expand/[^/]+/media                             u:object_r:media_userdir_file:s0
+/mnt/expand/[^/]+/media/.*                          u:object_r:media_rw_data_file:s0
+/mnt/expand/[^/]+/misc/vold(/.*)?                   u:object_r:vold_data_file:s0
+/mnt/expand/[^/]+/misc_ce                           u:object_r:system_userdir_file:s0
+/mnt/expand/[^/]+/misc_de                           u:object_r:system_userdir_file:s0
+/mnt/expand/[^/]+/user                              u:object_r:system_userdir_file:s0
+/mnt/expand/[^/]+/user_de                           u:object_r:system_userdir_file:s0
+
+# coredump directory for userdebug/eng devices
+/cores(/.*)?                    u:object_r:coredump_file:s0
+
+# Wallpaper files
+/data/system/users/[0-9]+/wallpaper_lock_orig	u:object_r:wallpaper_file:s0
+/data/system/users/[0-9]+/wallpaper_lock	u:object_r:wallpaper_file:s0
+/data/system/users/[0-9]+/wallpaper_orig	u:object_r:wallpaper_file:s0
+/data/system/users/[0-9]+/wallpaper		u:object_r:wallpaper_file:s0
+
+# Ringtone files
+/data/system_de/[0-9]+/ringtones(/.*)?          u:object_r:ringtone_file:s0
+
+# ShortcutManager icons, e.g.
+#   /data/system_ce/0/shortcut_service/bitmaps/com.example.app/1457472879282.png
+/data/system_ce/[0-9]+/shortcut_service/bitmaps(/.*)? u:object_r:shortcut_manager_icons:s0
+
+# User icon files
+/data/system/users/[0-9]+/photo\.png             u:object_r:icon_file:s0
+
+# Shutdown-checkpoints files
+/data/system/shutdown-checkpoints(/.*)?          u:object_r:shutdown_checkpoints_system_data_file:s0
+
+# vold per-user data
+/data/misc_de/[0-9]+/vold(/.*)?           u:object_r:vold_data_file:s0
+/data/misc_ce/[0-9]+/vold(/.*)?           u:object_r:vold_data_file:s0
+
+# storage area keys
+/data/misc_ce/[0-9]+/storage_area_keys(/.*)?           u:object_r:storage_area_key_file:s0
+
+# Backup service persistent per-user bookkeeping
+/data/system_ce/[0-9]+/backup(/.*)?		u:object_r:backup_data_file:s0
+# Backup service temporary per-user data for inter-change with apps
+/data/system_ce/[0-9]+/backup_stage(/.*)?	u:object_r:backup_data_file:s0
+
+#############################
+# efs files
+#
+/efs(/.*)?		u:object_r:efs_file:s0
+
+#############################
+# Cache files
+#
+/cache(/.*)?		u:object_r:cache_file:s0
+/cache/recovery(/.*)?	u:object_r:cache_recovery_file:s0
+# General backup/restore interchange with apps
+/cache/backup_stage(/.*)?	u:object_r:cache_backup_file:s0
+# LocalTransport (backup) uses this subtree
+/cache/backup(/.*)?		u:object_r:cache_private_backup_file:s0
+
+#############################
+# Overlayfs support directories
+#
+/cache/overlay(/.*)?            u:object_r:overlayfs_file:s0
+/mnt/scratch(/.*)?              u:object_r:overlayfs_file:s0
+
+/data/cache(/.*)?		u:object_r:cache_file:s0
+/data/cache/recovery(/.*)?	u:object_r:cache_recovery_file:s0
+# General backup/restore interchange with apps
+/data/cache/backup_stage(/.*)?	u:object_r:cache_backup_file:s0
+# LocalTransport (backup) uses this subtree
+/data/cache/backup(/.*)?	u:object_r:cache_private_backup_file:s0
+
+#############################
+# Metadata files
+#
+/metadata(/.*)?           u:object_r:metadata_file:s0
+/metadata/apex(/.*)?      u:object_r:apex_metadata_file:s0
+/metadata/vold(/.*)?      u:object_r:vold_metadata_file:s0
+/metadata/gsi(/.*)?       u:object_r:gsi_metadata_file:s0
+/metadata/gsi/dsu/active  u:object_r:gsi_public_metadata_file:s0
+/metadata/gsi/dsu/booted  u:object_r:gsi_public_metadata_file:s0
+/metadata/gsi/dsu/lp_names  u:object_r:gsi_public_metadata_file:s0
+/metadata/gsi/dsu/[^/]+/metadata_encryption_dir u:object_r:gsi_public_metadata_file:s0
+/metadata/gsi/ota(/.*)?   u:object_r:ota_metadata_file:s0
+/metadata/password_slots(/.*)?    u:object_r:password_slot_metadata_file:s0
+/metadata/ota(/.*)?       u:object_r:ota_metadata_file:s0
+/metadata/bootstat(/.*)?  u:object_r:metadata_bootstat_file:s0
+/metadata/staged-install(/.*)?    u:object_r:staged_install_file:s0
+/metadata/watchdog(/.*)?    u:object_r:watchdog_metadata_file:s0
+/metadata/repair-mode(/.*)?    u:object_r:repair_mode_metadata_file:s0
+/metadata/aconfig(/.*)?    u:object_r:aconfig_storage_metadata_file:s0
+/metadata/aconfig/flags(/.*)?    u:object_r:aconfig_storage_flags_metadata_file:s0
+/metadata/tradeinmode(/.*)?    u:object_r:tradeinmode_metadata_file:s0
+/metadata/prefetch(/.*)?    u:object_r:prefetch_metadata_file:s0
+/metadata/libprocessgroup(/.*)?    u:object_r:libprocessgroup_metadata_file:s0
+
+############################
+# mount point for ota metadata
+/mnt/scratch_ota_metadata_super(/.*)?                 u:object_r:ota_metadata_file:s0
+/mnt/scratch_ota_metadata_super/ota(/.*)?             u:object_r:ota_metadata_file:s0
+/mnt/scratch_ota_metadata_super/ota/snapshots(/.*)?   u:object_r:ota_metadata_file:s0
+
+#############################
+# asec containers
+/mnt/asec(/.*)?             u:object_r:asec_apk_file:s0
+/mnt/asec/[^/]+/[^/]+\.zip  u:object_r:asec_public_file:s0
+/mnt/asec/[^/]+/lib(/.*)?   u:object_r:asec_public_file:s0
+/data/app-asec(/.*)?        u:object_r:asec_image_file:s0
+
+#############################
+# external storage
+/mnt/media_rw(/.*)?         u:object_r:mnt_media_rw_file:s0
+/mnt/user(/.*)?             u:object_r:mnt_user_file:s0
+/mnt/pass_through(/.*)?     u:object_r:mnt_pass_through_file:s0
+/mnt/sdcard                 u:object_r:mnt_sdcard_file:s0
+/mnt/runtime(/.*)?          u:object_r:storage_file:s0
+/storage(/.*)?              u:object_r:storage_file:s0
+
+#############################
+# mount point for read-write vendor partitions
+/mnt/vendor(/.*)?           u:object_r:mnt_vendor_file:s0
+
+#############################
+# mount point for read-write product partitions
+/mnt/product(/.*)?          u:object_r:mnt_product_file:s0
+
+#############################
+# /postinstall file contexts
+/(system|product)/bin/check_dynamic_partitions  u:object_r:postinstall_exec:s0
+/(system|product)/bin/otapreopt_script          u:object_r:postinstall_exec:s0
+/(system|product)/bin/otapreopt                 u:object_r:postinstall_dexopt_exec:s0
+
+#############################
+# For Pre-reboot Dexopt (see art/dexopt_chroot_setup/README.md)
+
+# Managed by dexopt_chroot_setup.
+# Note that pre_reboot_dexopt_file also applies to any tmpfs mounted by
+# dexopt_chroot_setup inside chroot, in addition to the files and directories
+# matching the pattern below.
+/mnt/pre_reboot_dexopt(/.*)?  u:object_r:pre_reboot_dexopt_file:s0
+
+#############################
+# For early boot VM
+/mnt/vm u:object_r:vm_data_file:s0
+
+#############################
+# For overlays
+/second_stage_resources/overlay_remounter u:object_r:overlay_remounter_exec:s0
diff --git a/prebuilts/api/202504/private/file_contexts_asan b/prebuilts/api/202504/private/file_contexts_asan
new file mode 100644
index 0000000..9554a76
--- /dev/null
+++ b/prebuilts/api/202504/private/file_contexts_asan
@@ -0,0 +1,16 @@
+/data/asan/system/lib(/.*)?                u:object_r:system_lib_file:s0
+/data/asan/system/lib64(/.*)?              u:object_r:system_lib_file:s0
+/data/asan/vendor/lib(/.*)?                u:object_r:system_lib_file:s0
+/data/asan/vendor/lib64(/.*)?              u:object_r:system_lib_file:s0
+/data/asan/odm/lib(/.*)?                   u:object_r:system_lib_file:s0
+/data/asan/odm/lib64(/.*)?                 u:object_r:system_lib_file:s0
+/data/asan/product/lib(/.*)?               u:object_r:system_lib_file:s0
+/data/asan/product/lib64(/.*)?             u:object_r:system_lib_file:s0
+/data/asan/(system_ext|system/system_ext)/lib(/.*)?     u:object_r:system_lib_file:s0
+/data/asan/(system_ext|system/system_ext)/lib64(/.*)?   u:object_r:system_lib_file:s0
+/system/asan.options           u:object_r:system_asan_options_file:s0
+/system/bin/asan_extract       u:object_r:asan_extract_exec:s0
+/system/bin/asanwrapper        u:object_r:asanwrapper_exec:s0
+/system/bin/asan/app_process   u:object_r:zygote_exec:s0
+/system/bin/asan/app_process32 u:object_r:zygote_exec:s0
+/system/bin/asan/app_process64 u:object_r:zygote_exec:s0
diff --git a/prebuilts/api/202504/private/file_contexts_overlayfs b/prebuilts/api/202504/private/file_contexts_overlayfs
new file mode 100644
index 0000000..e472fad
--- /dev/null
+++ b/prebuilts/api/202504/private/file_contexts_overlayfs
@@ -0,0 +1,9 @@
+#############################
+# Overlayfs support directories for userdebug/eng devices
+#
+/cache/overlay/(system|product)/upper       u:object_r:system_file:s0
+/cache/overlay/(vendor|odm)/upper           u:object_r:vendor_file:s0
+/cache/overlay/oem/upper                    u:object_r:vendor_file:s0
+/mnt/scratch/overlay/(system|product)/upper u:object_r:system_file:s0
+/mnt/scratch/overlay/(vendor|odm)/upper     u:object_r:vendor_file:s0
+/mnt/scratch/overlay/oem/upper              u:object_r:vendor_file:s0
diff --git a/prebuilts/api/202504/private/fingerprintd.te b/prebuilts/api/202504/private/fingerprintd.te
new file mode 100644
index 0000000..949f9ea
--- /dev/null
+++ b/prebuilts/api/202504/private/fingerprintd.te
@@ -0,0 +1,27 @@
+typeattribute fingerprintd coredomain;
+
+init_daemon_domain(fingerprintd)
+
+binder_use(fingerprintd)
+
+# Scan through /system/lib64/hw looking for installed HALs
+allow fingerprintd system_file:dir r_dir_perms;
+
+# need to find KeyStore and add self
+add_service(fingerprintd, fingerprintd_service)
+
+# allow HAL module to read dir contents
+allow fingerprintd fingerprintd_data_file:file { create_file_perms };
+
+# allow HAL module to read/write/unlink contents of this dir
+allow fingerprintd fingerprintd_data_file:dir rw_dir_perms;
+
+# Need to add auth tokens to KeyStore
+use_keystore(fingerprintd)
+allow fingerprintd keystore:keystore2 { add_auth };
+
+# For permissions checking
+binder_call(fingerprintd, system_server);
+allow fingerprintd permission_service:service_manager find;
+
+allow fingerprintd ion_device:chr_file r_file_perms;
diff --git a/prebuilts/api/202504/private/flags_health_check.te b/prebuilts/api/202504/private/flags_health_check.te
new file mode 100644
index 0000000..db7f08f
--- /dev/null
+++ b/prebuilts/api/202504/private/flags_health_check.te
@@ -0,0 +1,61 @@
+typeattribute flags_health_check coredomain;
+
+init_daemon_domain(flags_health_check)
+
+set_prop(flags_health_check, device_config_boot_count_prop)
+set_prop(flags_health_check, device_config_core_experiments_team_internal_prop)
+set_prop(flags_health_check, device_config_edgetpu_native_prop)
+set_prop(flags_health_check, device_config_reset_performed_prop)
+set_prop(flags_health_check, device_config_runtime_native_boot_prop)
+set_prop(flags_health_check, device_config_runtime_native_prop)
+set_prop(flags_health_check, device_config_input_native_boot_prop)
+set_prop(flags_health_check, device_config_lmkd_native_prop)
+set_prop(flags_health_check, device_config_netd_native_prop)
+set_prop(flags_health_check, device_config_nnapi_native_prop)
+set_prop(flags_health_check, device_config_activity_manager_native_boot_prop)
+set_prop(flags_health_check, device_config_media_native_prop)
+set_prop(flags_health_check, device_config_mglru_native_prop)
+set_prop(flags_health_check, device_config_profcollect_native_boot_prop)
+set_prop(flags_health_check, device_config_statsd_native_prop)
+set_prop(flags_health_check, device_config_statsd_native_boot_prop)
+set_prop(flags_health_check, device_config_storage_native_boot_prop)
+set_prop(flags_health_check, device_config_swcodec_native_prop)
+set_prop(flags_health_check, device_config_sys_traced_prop)
+set_prop(flags_health_check, device_config_window_manager_native_boot_prop)
+set_prop(flags_health_check, device_config_configuration_prop)
+set_prop(flags_health_check, device_config_connectivity_prop)
+set_prop(flags_health_check, device_config_surface_flinger_native_boot_prop)
+set_prop(flags_health_check, device_config_aconfig_flags_prop)
+set_prop(flags_health_check, device_config_vendor_system_native_prop)
+set_prop(flags_health_check, device_config_vendor_system_native_boot_prop)
+set_prop(flags_health_check, device_config_virtualization_framework_native_prop)
+set_prop(flags_health_check, device_config_memory_safety_native_boot_prop)
+set_prop(flags_health_check, device_config_memory_safety_native_prop)
+set_prop(flags_health_check, device_config_remote_key_provisioning_native_prop)
+set_prop(flags_health_check, device_config_camera_native_prop)
+set_prop(flags_health_check, device_config_tethering_u_or_later_native_prop)
+set_prop(flags_health_check, device_config_mmd_native_prop)
+set_prop(flags_health_check, next_boot_prop)
+
+allow flags_health_check server_configurable_flags_data_file:dir rw_dir_perms;
+allow flags_health_check server_configurable_flags_data_file:file create_file_perms;
+
+###
+### Neverallow rules
+###
+
+# server_configurable_flags_data_file is used for storing whether server configurable flags which
+# have been reset during current booting. Mistakenly modified by unrelated components can
+# cause bad server configurable flags synced back to device.
+neverallow { domain -init -flags_health_check } server_configurable_flags_data_file:file no_w_file_perms;
+
+# system property device_config_boot_count_prop is used for deciding when to perform server
+# configurable flags related disaster recovery. Mistakenly set up by unrelated components can, at a
+# wrong timing, trigger server configurable flag related disaster recovery, which will override
+# server configured values of all flags with default values.
+neverallow { domain -init -flags_health_check } device_config_boot_count_prop:property_service set;
+
+# system property device_config_reset_performed_prop is used for indicating whether server
+# configurable flags have been reset during booting. Mistakenly modified by unrelated components can
+# cause bad server configurable flags synced back to device.
+neverallow { domain -init -flags_health_check } device_config_reset_performed_prop:property_service set;
diff --git a/prebuilts/api/202504/private/fs_use b/prebuilts/api/202504/private/fs_use
new file mode 100644
index 0000000..93d7f1b
--- /dev/null
+++ b/prebuilts/api/202504/private/fs_use
@@ -0,0 +1,27 @@
+# Label inodes via getxattr.
+fs_use_xattr yaffs2 u:object_r:labeledfs:s0;
+fs_use_xattr jffs2 u:object_r:labeledfs:s0;
+fs_use_xattr ext2 u:object_r:labeledfs:s0;
+fs_use_xattr ext3 u:object_r:labeledfs:s0;
+fs_use_xattr ext4 u:object_r:labeledfs:s0;
+fs_use_xattr xfs u:object_r:labeledfs:s0;
+fs_use_xattr btrfs u:object_r:labeledfs:s0;
+fs_use_xattr f2fs u:object_r:labeledfs:s0;
+fs_use_xattr squashfs u:object_r:labeledfs:s0;
+fs_use_xattr overlay u:object_r:labeledfs:s0;
+fs_use_xattr erofs u:object_r:labeledfs:s0;
+fs_use_xattr incremental-fs u:object_r:labeledfs:s0;
+fs_use_xattr virtiofs u:object_r:labeledfs:s0;
+
+# Label inodes from task label.
+fs_use_task pipefs u:object_r:pipefs:s0;
+fs_use_task sockfs u:object_r:sockfs:s0;
+
+# Label inodes from combination of task label and fs label.
+# Define type_transition rules if you want per-domain types.
+fs_use_trans devpts u:object_r:devpts:s0;
+fs_use_trans tmpfs u:object_r:tmpfs:s0;
+fs_use_trans devtmpfs u:object_r:device:s0;
+fs_use_trans shm u:object_r:shm:s0;
+fs_use_trans mqueue u:object_r:mqueue:s0;
+
diff --git a/prebuilts/api/202504/private/fsck.te b/prebuilts/api/202504/private/fsck.te
new file mode 100644
index 0000000..90f7e51
--- /dev/null
+++ b/prebuilts/api/202504/private/fsck.te
@@ -0,0 +1,82 @@
+typeattribute fsck coredomain;
+
+init_daemon_domain(fsck)
+
+# fsck can run before apex is ready.
+use_bootstrap_libs(fsck)
+
+allow fsck metadata_block_device:blk_file rw_file_perms;
+
+# /dev/__null__ created by init prior to policy load,
+# open fd inherited by fsck.
+allow fsck tmpfs:chr_file { read write ioctl };
+
+# Inherit and use pty created by android_fork_execvp_ext().
+allow fsck devpts:chr_file { read write ioctl getattr };
+
+# Allow stdin/out back to vold
+allow fsck vold:fd use;
+allow fsck vold:fifo_file { read write getattr };
+
+# Run fsck on certain block devices
+allow fsck userdata_block_device:blk_file rw_file_perms;
+allow fsck cache_block_device:blk_file rw_file_perms;
+allow fsck dm_device:blk_file rw_file_perms;
+allow fsck zoned_block_device:blk_file rw_file_perms;
+userdebug_or_eng(`
+allow fsck system_block_device:blk_file rw_file_perms;
+')
+
+# e2fsck performs a comprehensive search of /proc/mounts to check whether the
+# checked filesystem is currently mounted.
+allow fsck metadata_file:dir getattr;
+allow fsck block_device:dir search;
+allow fsck mirror_data_file:dir search;
+
+# For the block devices where we have ioctl access,
+# allow at a minimum the following common fsck ioctls.
+allowxperm fsck dev_type:blk_file ioctl {
+  BLKDISCARDZEROES
+  BLKROGET
+  BLKREPORTZONE
+};
+
+# To determine if it is safe to run fsck on a filesystem, e2fsck
+# must first determine if the filesystem is mounted. To do that,
+# e2fsck scans through /proc/mounts and collects all the mounted
+# block devices. With that information, it runs stat() on each block
+# device, comparing the major and minor numbers to the filesystem
+# passed in on the command line. If there is a match, then the filesystem
+# is currently mounted and running fsck is dangerous.
+# Allow stat access to all block devices so that fsck can compare
+# major/minor values.
+allow fsck dev_type:blk_file getattr;
+
+allow fsck {
+  proc_mounts
+  proc_swaps
+  sysfs_dm
+}:file r_file_perms;
+allow fsck rootfs:dir r_dir_perms;
+allow fsck sysfs_dm:dir r_dir_perms;
+
+###
+### neverallow rules
+###
+
+# fsck should never be run on these block devices
+neverallow fsck {
+  boot_block_device
+  frp_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdebug_or_eng(`-system_block_device')
+  vold_device
+}:blk_file no_rw_file_perms;
+
+# Only allow entry from init or vold via fsck binaries
+neverallow { domain -init -vold } fsck:process transition;
+neverallow * fsck:process dyntransition;
+neverallow fsck { file_type fs_type -fsck_exec }:file entrypoint;
diff --git a/prebuilts/api/202504/private/fsck_untrusted.te b/prebuilts/api/202504/private/fsck_untrusted.te
new file mode 100644
index 0000000..4b55a57
--- /dev/null
+++ b/prebuilts/api/202504/private/fsck_untrusted.te
@@ -0,0 +1,68 @@
+typeattribute fsck_untrusted coredomain;
+
+use_bootstrap_libs(fsck)
+
+# Inherit and use pty created by android_fork_execvp_ext().
+allow fsck_untrusted devpts:chr_file { read write ioctl getattr };
+
+# Allow stdin/out back to vold
+allow fsck_untrusted vold:fd use;
+allow fsck_untrusted vold:fifo_file { read write getattr };
+
+# Run fsck on vold block devices
+allow fsck_untrusted block_device:dir search;
+allow fsck_untrusted vold_device:blk_file rw_file_perms;
+
+allow fsck_untrusted proc_mounts:file r_file_perms;
+
+# To determine if it is safe to run fsck on a filesystem, e2fsck
+# must first determine if the filesystem is mounted. To do that,
+# e2fsck scans through /proc/mounts and collects all the mounted
+# block devices. With that information, it runs stat() on each block
+# device, comparing the major and minor numbers to the filesystem
+# passed in on the command line. If there is a match, then the filesystem
+# is currently mounted and running fsck is dangerous.
+# Allow stat access to all block devices so that fsck can compare
+# major/minor values.
+allow fsck_untrusted dev_type:blk_file getattr;
+
+###
+### neverallow rules
+###
+
+# Untrusted fsck should never be run on block devices holding sensitive data
+neverallow fsck_untrusted {
+  boot_block_device
+  frp_block_device
+  metadata_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdata_block_device
+  cache_block_device
+  dm_device
+}:blk_file no_rw_file_perms;
+
+# Only allow entry from vold via fsck binaries
+neverallow { domain -vold } fsck_untrusted:process transition;
+neverallow * fsck_untrusted:process dyntransition;
+neverallow fsck_untrusted { file_type fs_type -fsck_exec }:file entrypoint;
+
+# fsck_untrusted should never have sys_admin permissions. If it requires sys_admin
+# permissions, that is a code mistake that needs to be fixed, not a permission that
+# should be granted. Same with setgid and setuid.
+neverallow fsck_untrusted self:global_capability_class_set { setgid setuid sys_admin };
+
+###
+### dontaudit rules
+###
+
+# Ignores attempts to access sysfs. fsck binaries seem to like trying to go
+# here, but nothing bad happens if they can't, and they shouldn't be allowed.
+dontaudit fsck_untrusted sysfs:file rw_file_perms;
+dontaudit fsck_untrusted sysfs_dm:file rw_file_perms;
+dontaudit fsck_untrusted sysfs_dm:dir rw_dir_perms;
+
+# Ignore attempts to access tmpfs. fsck don't need to do this.
+dontaudit fsck_untrusted tmpfs:lnk_file read;
diff --git a/prebuilts/api/202504/private/fuseblkd.te b/prebuilts/api/202504/private/fuseblkd.te
new file mode 100644
index 0000000..4423913
--- /dev/null
+++ b/prebuilts/api/202504/private/fuseblkd.te
@@ -0,0 +1,31 @@
+# Compartmentalized domain specifically for mounting fuseblk filesystems.
+# We need this to not grant fuseblkd_untrusted sys_admin permissions.
+type fuseblkd_exec, system_file_type, exec_type, file_type;
+type fuseblkd, domain;
+
+typeattribute fuseblkd coredomain;
+
+# Required for mount and unmounting. We can't minimize this permission,
+# even though we only allow mount/unmount.
+allow fuseblkd self:global_capability_class_set sys_admin;
+
+# Permissions for the fuseblk filesystem.
+allow fuseblkd fuse_device:chr_file rw_file_perms;
+allow fuseblkd fuseblk:filesystem { mount unmount };
+allow fuseblkd fuseblkd_untrusted:fd use;
+
+# Look through block devices to find the correct one.
+allow fuseblkd block_device:dir search;
+
+# Permissions to mount on the media_rw directory for USB drives.
+allow fuseblkd mnt_media_rw_file:dir search;
+allow fuseblkd mnt_media_rw_stub_file:dir mounton;
+
+###
+### neverallow rules
+###
+
+# Only allow entry from fuseblkd_untrusted, and only through fuseblkd_exec binary.
+neverallow { domain -fuseblkd_untrusted } fuseblkd:process transition;
+neverallow * fuseblkd:process dyntransition;
+neverallow fuseblkd { file_type fs_type -fuseblkd_exec }:file entrypoint;
diff --git a/prebuilts/api/202504/private/fuseblkd_untrusted.te b/prebuilts/api/202504/private/fuseblkd_untrusted.te
new file mode 100644
index 0000000..b99a49c
--- /dev/null
+++ b/prebuilts/api/202504/private/fuseblkd_untrusted.te
@@ -0,0 +1,82 @@
+# Fuseblk is a Filesystem in USErspace for block device. It should only be used
+# to mount untrusted blocks like USB drives.
+type fuseblkd_untrusted_exec, system_file_type, exec_type, file_type;
+type fuseblkd_untrusted, domain;
+
+typeattribute fuseblkd_untrusted coredomain;
+
+domain_auto_trans(fuseblkd_untrusted, fuseblkd_exec, fuseblkd);
+
+# Allow stdin/out back to vold.
+allow fuseblkd_untrusted vold:fd use;
+
+# Allows fuseblk to read block devices.
+allow fuseblkd_untrusted block_device:dir search;
+
+# Permissions to read dynamic partitions blocks.
+allow fuseblkd_untrusted super_block_device:blk_file getattr;
+
+# Permissions to access FUSE character devices.
+allow fuseblkd_untrusted fuse_device:chr_file { getattr open read write };
+
+# Permissions to access /mnt/media_rw/.
+allow fuseblkd_untrusted mnt_media_rw_file:dir { getattr search };
+allow fuseblkd_untrusted mnt_media_rw_stub_file:dir getattr;
+
+# Permissions to read device mappers.
+allow fuseblkd_untrusted sysfs_dm:dir search;
+allow fuseblkd_untrusted sysfs_dm:file { getattr open read };
+allow fuseblkd_untrusted dm_device:blk_file getattr;
+
+# Permissions to read links in tmpfs.
+allow fuseblkd_untrusted tmpfs:lnk_file read;
+
+# Permissions to read loop device blocks.
+allow fuseblkd_untrusted loop_device:blk_file getattr;
+
+# Permissions to access the /proc/filesystems file.
+allow fuseblkd_untrusted proc_filesystems:file { open read getattr };
+
+###
+### dontaudit rules
+###
+
+# ntfs-3g wants this permission to read a fork return code, for some reason.
+# It's unclear why, because it still reads the fork return code correctly,
+# and nothing breaks. If enforce is set to permissive, the audit goes away.
+dontaudit fuseblkd_untrusted self:capability sys_admin;
+
+###
+### neverallow rules
+###
+
+# Fuseblk should never be run on block devices holding sensitive data.
+neverallow fuseblkd_untrusted {
+  boot_block_device
+  frp_block_device
+  metadata_block_device
+  recovery_block_device
+  root_block_device
+  swap_block_device
+  system_block_device
+  userdata_block_device
+  cache_block_device
+  dm_device
+}:blk_file no_rw_file_perms;
+
+# Only allow entry from vold, and only through fuseblkd_untrusted_exec binaries.
+neverallow { domain -vold } fuseblkd_untrusted:process transition;
+neverallow * fuseblkd_untrusted:process dyntransition;
+neverallow fuseblkd_untrusted { file_type fs_type -fuseblkd_untrusted_exec }:file entrypoint;
+
+# Under no circumstances should fuseblkd_untrusted or any other fuseblk filesystem be
+# given sys_admin access. They are fundementally untrusted, insecure filesystems.
+# The correct solution here is to compartmentalize permissions correctly so that
+# a smaller binary can get the required permissions. See fuseblkd.te.
+# Similar to above, we don't need setgid or setuid permissions.
+neverallow fuseblkd_untrusted self:capability { setgid setuid sys_admin };
+neverallow fuseblkd_untrusted self:global_capability_class_set { setgid setuid sys_admin };
+
+# Since we can't have sys_admin permissions, we definitely can't have mount/unmount
+# permissions, since we won't be able to use them. Same with relabel permissions.
+neverallow fuseblkd_untrusted fuseblk:filesystem { mount unmount relabelto relabelfrom};
diff --git a/prebuilts/api/202504/private/fwk_bufferhub.te b/prebuilts/api/202504/private/fwk_bufferhub.te
new file mode 100644
index 0000000..5286f3e
--- /dev/null
+++ b/prebuilts/api/202504/private/fwk_bufferhub.te
@@ -0,0 +1,7 @@
+type fwk_bufferhub, domain, coredomain;
+type fwk_bufferhub_exec, system_file_type, exec_type, file_type;
+
+hal_client_domain(fwk_bufferhub, hal_graphics_allocator)
+allow fwk_bufferhub ion_device:chr_file r_file_perms;
+
+init_daemon_domain(fwk_bufferhub)
diff --git a/prebuilts/api/202504/private/gatekeeperd.te b/prebuilts/api/202504/private/gatekeeperd.te
new file mode 100644
index 0000000..045294f
--- /dev/null
+++ b/prebuilts/api/202504/private/gatekeeperd.te
@@ -0,0 +1,45 @@
+typeattribute gatekeeperd coredomain;
+
+init_daemon_domain(gatekeeperd)
+
+# For checking whether GSI is running
+get_prop(gatekeeperd, gsid_prop)
+
+# gatekeeperd
+binder_service(gatekeeperd)
+binder_use(gatekeeperd)
+
+### Rules needed when Gatekeeper HAL runs inside gatekeeperd process.
+### These rules should eventually be granted only when needed.
+allow gatekeeperd ion_device:chr_file r_file_perms;
+# Load HAL implementation
+allow gatekeeperd system_file:dir r_dir_perms;
+###
+
+### Rules needed when Gatekeeper HAL runs outside of gatekeeperd process.
+### These rules should eventually be granted only when needed.
+hal_client_domain(gatekeeperd, hal_gatekeeper)
+###
+
+# need to find KeyStore and add self
+add_service(gatekeeperd, gatekeeper_service)
+
+# Need to add auth tokens to KeyStore
+use_keystore(gatekeeperd)
+allow gatekeeperd keystore:keystore2 { add_auth };
+allow gatekeeperd authorization_service:service_manager find;
+
+
+# For permissions checking
+allow gatekeeperd system_server:binder call;
+allow gatekeeperd permission_service:service_manager find;
+
+# for SID file access
+allow gatekeeperd gatekeeper_data_file:dir rw_dir_perms;
+allow gatekeeperd gatekeeper_data_file:file create_file_perms;
+
+# For hardware properties retrieval
+allow gatekeeperd hardware_properties_service:service_manager find;
+
+r_dir_file(gatekeeperd, cgroup)
+r_dir_file(gatekeeperd, cgroup_v2)
diff --git a/prebuilts/api/202504/private/genfs_contexts b/prebuilts/api/202504/private/genfs_contexts
new file mode 100644
index 0000000..0a0c9cb
--- /dev/null
+++ b/prebuilts/api/202504/private/genfs_contexts
@@ -0,0 +1,346 @@
+# Label inodes with the fs label.
+genfscon rootfs / u:object_r:rootfs:s0
+# proc labeling can be further refined (longest matching prefix).
+genfscon proc / u:object_r:proc:s0
+genfscon proc /allocinfo u:object_r:proc_allocinfo:s0
+genfscon proc /asound u:object_r:proc_asound:s0
+genfscon proc /bootconfig u:object_r:proc_bootconfig:s0
+genfscon proc /buddyinfo u:object_r:proc_buddyinfo:s0
+genfscon proc /cgroups u:object_r:proc_cgroups:s0
+genfscon proc /cmdline u:object_r:proc_cmdline:s0
+genfscon proc /config.gz u:object_r:config_gz:s0
+genfscon proc /cpu/alignment u:object_r:proc_cpu_alignment:s0
+genfscon proc /device-tree/avf u:object_r:proc_dt_avf:s0
+genfscon proc /diskstats u:object_r:proc_diskstats:s0
+genfscon proc /filesystems u:object_r:proc_filesystems:s0
+genfscon proc /interrupts u:object_r:proc_interrupts:s0
+genfscon proc /iomem u:object_r:proc_iomem:s0
+genfscon proc /kallsyms u:object_r:proc_kallsyms:s0
+genfscon proc /keys u:object_r:proc_keys:s0
+genfscon proc /kmsg u:object_r:proc_kmsg:s0
+genfscon proc /loadavg u:object_r:proc_loadavg:s0
+genfscon proc /locks u:object_r:proc_locks:s0
+genfscon proc /lowmemorykiller u:object_r:proc_lowmemorykiller:s0
+genfscon proc /meminfo u:object_r:proc_meminfo:s0
+genfscon proc /misc u:object_r:proc_misc:s0
+genfscon proc /modules u:object_r:proc_modules:s0
+genfscon proc /mounts u:object_r:proc_mounts:s0
+genfscon proc /net u:object_r:proc_net:s0
+genfscon proc /net/tcp u:object_r:proc_net_tcp_udp:s0
+genfscon proc /net/udp u:object_r:proc_net_tcp_udp:s0
+genfscon proc /net/xt_qtaguid/ctrl u:object_r:proc_qtaguid_ctrl:s0
+genfscon proc /net/xt_qtaguid/ u:object_r:proc_qtaguid_stat:s0
+genfscon proc /cpuinfo u:object_r:proc_cpuinfo:s0
+genfscon proc /pagetypeinfo u:object_r:proc_pagetypeinfo:s0
+genfscon proc /pressure/cpu u:object_r:proc_pressure_cpu:s0
+genfscon proc /pressure/io u:object_r:proc_pressure_io:s0
+genfscon proc /pressure/memory u:object_r:proc_pressure_mem:s0
+genfscon proc /slabinfo u:object_r:proc_slabinfo:s0
+genfscon proc /softirqs u:object_r:proc_timer:s0
+genfscon proc /stat u:object_r:proc_stat:s0
+genfscon proc /swaps u:object_r:proc_swaps:s0
+genfscon proc /sysrq-trigger u:object_r:proc_sysrq:s0
+genfscon proc /kpageflags u:object_r:proc_kpageflags:s0
+genfscon proc /sys/abi/swp u:object_r:proc_abi:s0
+genfscon proc /sys/fs/pipe-max-size u:object_r:proc_pipe_conf:s0
+genfscon proc /sys/fs/protected_hardlinks u:object_r:proc_security:s0
+genfscon proc /sys/fs/protected_symlinks u:object_r:proc_security:s0
+genfscon proc /sys/fs/suid_dumpable u:object_r:proc_security:s0
+genfscon proc /sys/kernel/bpf_ u:object_r:proc_bpf:s0
+genfscon proc /sys/kernel/core_pattern u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/core_pipe_limit u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/domainname u:object_r:proc_hostname:s0
+genfscon proc /sys/kernel/dmesg_restrict u:object_r:proc_security:s0
+genfscon proc /sys/kernel/hostname u:object_r:proc_hostname:s0
+genfscon proc /sys/kernel/hotplug u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/hung_task_ u:object_r:proc_hung_task:s0
+genfscon proc /sys/kernel/kptr_restrict u:object_r:proc_security:s0
+genfscon proc /sys/kernel/modprobe u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/modules_disabled u:object_r:proc_security:s0
+genfscon proc /sys/kernel/panic_on_oops u:object_r:proc_panic:s0
+genfscon proc /sys/kernel/perf_event_max_sample_rate u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/perf_event_paranoid u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/perf_cpu_time_max_percent u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/perf_event_mlock_kb u:object_r:proc_perf:s0
+genfscon proc /sys/kernel/pid_max u:object_r:proc_pid_max:s0
+genfscon proc /sys/kernel/poweroff_cmd u:object_r:usermodehelper:s0
+genfscon proc /sys/kernel/random u:object_r:proc_random:s0
+genfscon proc /sys/kernel/randomize_va_space u:object_r:proc_security:s0
+genfscon proc /sys/kernel/sched_child_runs_first u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_latency_ns u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_rt_period_us u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_rt_runtime_us u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_schedstats u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_tunable_scaling u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_util_clamp_max u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_util_clamp_min u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_util_clamp_min_rt_default u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sched_wakeup_granularity_ns u:object_r:proc_sched:s0
+genfscon proc /sys/kernel/sysrq u:object_r:proc_sysrq:s0
+genfscon proc /sys/kernel/unprivileged_bpf_ u:object_r:proc_bpf:s0
+genfscon proc /sys/kernel/usermodehelper u:object_r:usermodehelper:s0
+genfscon proc /sys/net u:object_r:proc_net:s0
+genfscon proc /sys/net/core/bpf_ u:object_r:proc_bpf:s0
+genfscon proc /sys/vm/dirty_background_ratio u:object_r:proc_dirty:s0
+genfscon proc /sys/vm/dirty_expire_centisecs u:object_r:proc_dirty:s0
+genfscon proc /sys/vm/extra_free_kbytes u:object_r:proc_extra_free_kbytes:s0
+genfscon proc /sys/vm/max_map_count u:object_r:proc_max_map_count:s0
+genfscon proc /sys/vm/mmap_min_addr u:object_r:proc_security:s0
+genfscon proc /sys/vm/mmap_rnd_bits u:object_r:proc_security:s0
+genfscon proc /sys/vm/mmap_rnd_compat_bits u:object_r:proc_security:s0
+genfscon proc /sys/vm/page-cluster u:object_r:proc_page_cluster:s0
+genfscon proc /sys/vm/drop_caches u:object_r:proc_drop_caches:s0
+genfscon proc /sys/vm/overcommit_memory u:object_r:proc_overcommit_memory:s0
+genfscon proc /sys/vm/min_free_order_shift u:object_r:proc_min_free_order_shift:s0
+genfscon proc /sys/vm/watermark_boost_factor u:object_r:proc_watermark_boost_factor:s0
+genfscon proc /sys/vm/watermark_scale_factor u:object_r:proc_watermark_scale_factor:s0
+genfscon proc /sys/vm/percpu_pagelist_high_fraction u:object_r:proc_percpu_pagelist_high_fraction:s0
+genfscon proc /timer_list u:object_r:proc_timer:s0
+genfscon proc /timer_stats u:object_r:proc_timer:s0
+genfscon proc /tty/drivers u:object_r:proc_tty_drivers:s0
+genfscon proc /uid/ u:object_r:proc_uid_time_in_state:s0
+genfscon proc /uid_cputime/show_uid_stat u:object_r:proc_uid_cputime_showstat:s0
+genfscon proc /uid_cputime/remove_uid_range u:object_r:proc_uid_cputime_removeuid:s0
+genfscon proc /uid_io/stats u:object_r:proc_uid_io_stats:s0
+genfscon proc /uid_procstat/set u:object_r:proc_uid_procstat_set:s0
+genfscon proc /uid_time_in_state u:object_r:proc_uid_time_in_state:s0
+genfscon proc /uid_concurrent_active_time u:object_r:proc_uid_concurrent_active_time:s0
+genfscon proc /uid_concurrent_policy_time u:object_r:proc_uid_concurrent_policy_time:s0
+genfscon proc /uid_cpupower/ u:object_r:proc_uid_cpupower:s0
+genfscon proc /uptime u:object_r:proc_uptime:s0
+genfscon proc /version u:object_r:proc_version:s0
+genfscon proc /vmallocinfo u:object_r:proc_vmallocinfo:s0
+genfscon proc /vmstat u:object_r:proc_vmstat:s0
+genfscon proc /zoneinfo u:object_r:proc_zoneinfo:s0
+genfscon proc /vendor_sched u:object_r:proc_vendor_sched:s0
+
+genfscon fusectl / u:object_r:fusectlfs:s0
+
+# selinuxfs booleans can be individually labeled.
+genfscon selinuxfs / u:object_r:selinuxfs:s0
+genfscon cgroup / u:object_r:cgroup:s0
+genfscon cgroup2 / u:object_r:cgroup_v2:s0
+# sysfs labels can be set by userspace.
+genfscon sysfs / u:object_r:sysfs:s0
+genfscon sysfs /devices/cs_etm                    u:object_r:sysfs_devices_cs_etm:s0
+genfscon sysfs /devices/system/cpu u:object_r:sysfs_devices_system_cpu:s0
+genfscon sysfs /class/android_usb                 u:object_r:sysfs_android_usb:s0
+genfscon sysfs /class/extcon                      u:object_r:sysfs_extcon:s0
+genfscon sysfs /class/gpu                         u:object_r:sysfs_gpu:s0
+genfscon sysfs /class/leds                        u:object_r:sysfs_leds:s0
+genfscon sysfs /class/net                         u:object_r:sysfs_net:s0
+genfscon sysfs /class/rfkill/rfkill0/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rfkill/rfkill1/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rfkill/rfkill2/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rfkill/rfkill3/state        u:object_r:sysfs_bluetooth_writable:s0
+genfscon sysfs /class/rtc                         u:object_r:sysfs_rtc:s0
+genfscon sysfs /class/switch                      u:object_r:sysfs_switch:s0
+genfscon sysfs /class/wakeup                      u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/nfc-power/nfc_power u:object_r:sysfs_nfc_power_writable:s0
+genfscon sysfs /devices/virtual/android_usb     u:object_r:sysfs_android_usb:s0
+genfscon sysfs /devices/virtual/block/            u:object_r:sysfs_devices_block:s0
+genfscon sysfs /devices/virtual/block/dm-       u:object_r:sysfs_dm:s0
+genfscon sysfs /devices/virtual/block/loop       u:object_r:sysfs_loop:s0
+genfscon sysfs /devices/virtual/block/zram0     u:object_r:sysfs_zram:s0
+genfscon sysfs /devices/virtual/block/zram1     u:object_r:sysfs_zram:s0
+genfscon sysfs /devices/virtual/block/zram0/uevent    u:object_r:sysfs_zram_uevent:s0
+genfscon sysfs /devices/virtual/block/zram1/uevent    u:object_r:sysfs_zram_uevent:s0
+genfscon sysfs /devices/virtual/misc/hw_random    u:object_r:sysfs_hwrandom:s0
+genfscon sysfs /devices/virtual/net             u:object_r:sysfs_net:s0
+genfscon sysfs /devices/virtual/switch          u:object_r:sysfs_switch:s0
+genfscon sysfs /devices/virtual/wakeup          u:object_r:sysfs_wakeup:s0
+genfscon sysfs /firmware/acpi/tables              u:object_r:sysfs_firmware_acpi_tables:s0
+genfscon sysfs /firmware/devicetree/base/avf u:object_r:sysfs_dt_avf:s0
+genfscon sysfs /firmware/devicetree/base/firmware/android u:object_r:sysfs_dt_firmware_android:s0
+genfscon sysfs /fs/ext4/features                  u:object_r:sysfs_fs_ext4_features:s0
+genfscon sysfs /fs/f2fs                           u:object_r:sysfs_fs_f2fs:s0
+genfscon sysfs /fs/fuse/bpf_prog_type_fuse        u:object_r:sysfs_fs_fuse_bpf:s0
+genfscon sysfs /fs/fuse/features                  u:object_r:sysfs_fs_fuse_features:s0
+genfscon sysfs /fs/incremental-fs/features        u:object_r:sysfs_fs_incfs_features:s0
+genfscon sysfs /fs/incremental-fs/instances       u:object_r:sysfs_fs_incfs_metrics:s0
+genfscon sysfs /power/autosleep u:object_r:sysfs_power:s0
+genfscon sysfs /power/state u:object_r:sysfs_power:s0
+genfscon sysfs /power/suspend_stats u:object_r:sysfs_suspend_stats:s0
+genfscon sysfs /power/sync_on_suspend u:object_r:sysfs_sync_on_suspend:s0
+genfscon sysfs /power/wakeup_count u:object_r:sysfs_power:s0
+genfscon sysfs /power/wake_lock u:object_r:sysfs_wake_lock:s0
+genfscon sysfs /power/wake_unlock u:object_r:sysfs_wake_lock:s0
+genfscon sysfs /kernel/memory_state_time u:object_r:sysfs_power:s0
+genfscon sysfs /kernel/dma_heap u:object_r:sysfs_dma_heap:s0
+genfscon sysfs /kernel/ion u:object_r:sysfs_ion:s0
+genfscon sysfs /kernel/ipv4 u:object_r:sysfs_ipv4:s0
+starting_at_board_api(202504, `
+genfscon sysfs /kernel/mm/cma u:object_r:sysfs_cma:s0
+')
+genfscon sysfs /kernel/mm/transparent_hugepage u:object_r:sysfs_transparent_hugepage:s0
+genfscon sysfs /kernel/mm/lru_gen/enabled u:object_r:sysfs_lru_gen_enabled:s0
+genfscon sysfs /kernel/mm/pgsize_migration/enabled u:object_r:sysfs_pgsize_migration:s0
+genfscon sysfs /kernel/notes u:object_r:sysfs_kernel_notes:s0
+genfscon sysfs /kernel/uevent_helper u:object_r:sysfs_usermodehelper:s0
+genfscon sysfs /kernel/wakeup_reasons u:object_r:sysfs_wakeup_reasons:s0
+genfscon sysfs /kernel/dmabuf/buffers u:object_r:sysfs_dmabuf_stats:s0
+genfscon sysfs /module/dm_bufio/parameters/max_age_seconds u:object_r:sysfs_dm_verity:s0
+genfscon sysfs /module/dm_verity/parameters/prefetch_cluster u:object_r:sysfs_dm_verity:s0
+genfscon sysfs /module/lowmemorykiller u:object_r:sysfs_lowmemorykiller:s0
+genfscon sysfs /module/tcp_cubic/parameters u:object_r:sysfs_net:s0
+genfscon sysfs /module/wlan/parameters/fwpath u:object_r:sysfs_wlan_fwpath:s0
+genfscon sysfs /devices/virtual/timed_output/vibrator/enable u:object_r:sysfs_vibrator:s0
+genfscon sysfs /devices/virtual/misc/uhid u:object_r:sysfs_uhid:s0
+genfscon sysfs /kernel/vendor_sched u:object_r:sysfs_vendor_sched:s0
+genfscon sysfs /devices/uprobe u:object_r:sysfs_uprobe:s0
+
+genfscon debugfs /kprobes                             u:object_r:debugfs_kprobes:s0
+genfscon debugfs /mmc0                                u:object_r:debugfs_mmc:s0
+genfscon debugfs /tracing                             u:object_r:debugfs_tracing_debug:s0
+genfscon tracefs /                                    u:object_r:debugfs_tracing_debug:s0
+genfscon tracefs /tracing_on                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /trace                               u:object_r:debugfs_tracing:s0
+genfscon tracefs /per_cpu/cpu                         u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /hyp                                 u:object_r:debugfs_tracing:s0
+
+genfscon debugfs /tracing/instances                   u:object_r:debugfs_tracing_instances:s0
+genfscon tracefs /instances                           u:object_r:debugfs_tracing_instances:s0
+genfscon debugfs /tracing/instances/bootreceiver      u:object_r:debugfs_bootreceiver_tracing:s0
+genfscon tracefs /instances/bootreceiver              u:object_r:debugfs_bootreceiver_tracing:s0
+genfscon debugfs /tracing/instances/mm_events         u:object_r:debugfs_mm_events_tracing:s0
+genfscon tracefs /instances/mm_events                 u:object_r:debugfs_mm_events_tracing:s0
+genfscon debugfs /tracing/instances/wifi              u:object_r:debugfs_wifi_tracing:s0
+genfscon tracefs /instances/wifi                      u:object_r:debugfs_wifi_tracing:s0
+genfscon debugfs /tracing/trace_marker                u:object_r:debugfs_trace_marker:s0
+genfscon tracefs /trace_marker                        u:object_r:debugfs_trace_marker:s0
+genfscon debugfs /wakeup_sources                      u:object_r:debugfs_wakeup_sources:s0
+genfscon debugfs /tracing/printk_formats              u:object_r:debugfs_tracing_printk_formats:s0
+genfscon tracefs /printk_formats                      u:object_r:debugfs_tracing_printk_formats:s0
+
+genfscon tracefs /events/header_page                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_get_data_block/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_iget/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_sync_file_enter/          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_sync_file_exit/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_write_begin/              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/f2fs/f2fs_write_end/                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_da_write_begin/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_da_write_end/             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_es_lookup_extent_enter/   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_es_lookup_extent_exit/    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_load_inode/               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_sync_file_enter/          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ext4/ext4_sync_file_exit/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/block/block_rq_issue/               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/block/block_rq_complete/            u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /synthetic_events                                       u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /events/synthetic/rss_stat_throttled                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/synthetic/suspend_resume_minimal                u:object_r:debugfs_tracing:s0
+
+genfscon tracefs /trace_clock                                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /buffer_percent                                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /buffer_size_kb                                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /options/overwrite                                      u:object_r:debugfs_tracing:s0
+genfscon tracefs /options/print-tgid                                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /options/record-tgid                                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /saved_cmdlines_size                                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_switch/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_wakeup/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_wakeup_new/                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_waking/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_blocked_reason/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_cpu_hotplug/                        u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_process_exit/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_process_free/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sched/sched_pi_setprio/                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cgroup/                                         u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/cpu_frequency/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/cpu_idle/                                 u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/clock_enable/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/clock_disable/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/clock_set_rate/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/cpu_frequency_limits/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/gpu_frequency/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/gpu_work_period/                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/power/suspend_resume/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpufreq_interactive/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_direct_reclaim_begin/          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_direct_reclaim_end/            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_kswapd_wake/                   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/vmscan/mm_vmscan_kswapd_sleep/                  u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/android_vendor_lmk/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_transaction/                      u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_transaction_received/             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_lock/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_locked/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_unlock/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_transaction_alloc_buf/            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_set_priority/                     u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_command/                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/binder/binder_return/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/lowmemorykiller/                                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/sync/                                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/fence/                                          u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/dma_fence/                                      u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/filemap/mm_filemap_add_to_page_cache/           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/filemap/mm_filemap_delete_from_page_cache/      u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/kmem/rss_stat/                                  u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/kmem/ion_heap_grow/                             u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/kmem/ion_heap_shrink/                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ion/ion_stat/                                   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/mm_event/mm_event_record/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/oom/oom_score_adj_update/                       u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/oom/mark_victim/                                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/task/task_rename/                               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/task/task_newtask/                              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ftrace/print/                                   u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/gpu_mem/gpu_mem_total                           u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/thermal/thermal_temperature/                    u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/thermal/cdev_update/                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpuhp/cpuhp_enter/                              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpuhp/cpuhp_exit/                               u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/cpuhp/cpuhp_pause/                              u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ipi/                                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/irq/                                            u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/clk/clk_enable/                                 u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/clk/clk_disable/                                u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/clk/clk_set_rate/                               u:object_r:debugfs_tracing:s0
+
+genfscon debugfs /kcov								 u:object_r:debugfs_kcov:s0
+
+genfscon securityfs / u:object_r:securityfs:s0
+
+genfscon binder /binder u:object_r:binder_device:s0
+genfscon binder /hwbinder u:object_r:hwbinder_device:s0
+genfscon binder /vndbinder u:object_r:vndbinder_device:s0
+genfscon binder /binder_logs u:object_r:binderfs_logs:s0
+genfscon binder /binder_logs/proc u:object_r:binderfs_logs_proc:s0
+genfscon binder /binder_logs/stats u:object_r:binderfs_logs_stats:s0
+genfscon binder /binder_logs/transactions u:object_r:binderfs_logs_transactions:s0
+genfscon binder /binder_logs/transaction_log u:object_r:binderfs_logs_transaction_history:s0
+genfscon binder /binder_logs/failed_transaction_log u:object_r:binderfs_logs_transaction_history:s0
+genfscon binder /features u:object_r:binderfs_features:s0
+
+genfscon inotifyfs / u:object_r:inotify:s0
+genfscon vfat / u:object_r:vfat:s0
+genfscon binder / u:object_r:binderfs:s0
+genfscon exfat / u:object_r:exfat:s0
+genfscon debugfs / u:object_r:debugfs:s0
+genfscon fuse / u:object_r:fuse:s0
+genfscon fuseblk / u:object_r:fuseblk:s0
+genfscon configfs / u:object_r:configfs:s0
+genfscon sdcardfs / u:object_r:sdcardfs:s0
+genfscon esdfs / u:object_r:sdcardfs:s0
+genfscon pstore / u:object_r:pstorefs:s0
+genfscon functionfs / u:object_r:functionfs:s0
+genfscon usbfs / u:object_r:usbfs:s0
+genfscon binfmt_misc / u:object_r:binfmt_miscfs:s0
+
+genfscon bpf / u:object_r:fs_bpf:s0
+genfscon bpf /loader u:object_r:fs_bpf_loader:s0
+genfscon bpf /memevents u:object_r:fs_bpf_memevents:s0
+genfscon bpf /net_private u:object_r:fs_bpf_net_private:s0
+genfscon bpf /net_shared u:object_r:fs_bpf_net_shared:s0
+genfscon bpf /netd_readonly u:object_r:fs_bpf_netd_readonly:s0
+genfscon bpf /netd_shared u:object_r:fs_bpf_netd_shared:s0
+genfscon bpf /tethering u:object_r:fs_bpf_tethering:s0
+genfscon bpf /vendor u:object_r:fs_bpf_vendor:s0
+genfscon bpf /uprobestats u:object_r:fs_bpf_uprobestats:s0
diff --git a/prebuilts/api/202504/private/gki_apex_prepostinstall.te b/prebuilts/api/202504/private/gki_apex_prepostinstall.te
new file mode 100644
index 0000000..1155389
--- /dev/null
+++ b/prebuilts/api/202504/private/gki_apex_prepostinstall.te
@@ -0,0 +1,23 @@
+# GKI pre- & post-install hooks.
+#
+# Allow to run pre- and post-install hooks for GKI APEXes
+
+type gki_apex_prepostinstall, domain, coredomain;
+type gki_apex_prepostinstall_exec, system_file_type, exec_type, file_type;
+
+# Execute /system/bin/sh.
+allow gki_apex_prepostinstall shell_exec:file rx_file_perms;
+
+# Execute various toolsbox utilities.
+allow gki_apex_prepostinstall toolbox_exec:file rx_file_perms;
+
+# Allow preinstall.sh to execute update_engine_stable_client binary.
+allow gki_apex_prepostinstall gki_apex_prepostinstall_exec:file execute_no_trans;
+
+# Allow preinstall hook to communicate with update_engine to execute update.
+binder_use(gki_apex_prepostinstall)
+allow gki_apex_prepostinstall update_engine_stable_service:service_manager find;
+binder_call(gki_apex_prepostinstall, update_engine)
+
+# /dev/zero is inherited although it is not used. See b/126787589.
+allow gki_apex_prepostinstall apexd:fd use;
diff --git a/prebuilts/api/202504/private/gmscore_app.te b/prebuilts/api/202504/private/gmscore_app.te
new file mode 100644
index 0000000..148cb7e
--- /dev/null
+++ b/prebuilts/api/202504/private/gmscore_app.te
@@ -0,0 +1,183 @@
+###
+### A domain for further sandboxing the PrebuiltGMSCore app.
+###
+typeattribute gmscore_app coredomain;
+
+app_domain(gmscore_app)
+
+allow gmscore_app sysfs_type:dir search;
+# Read access to /sys/block/zram*/mm_stat
+r_dir_file(gmscore_app, sysfs_zram)
+
+r_dir_file(gmscore_app, rootfs)
+
+# Allow GMS core to open kernel config for OTA matching through libvintf
+allow gmscore_app config_gz:file { open read getattr };
+
+# Allow GMS core to communicate with update_engine for A/B update.
+binder_call(gmscore_app, update_engine)
+allow gmscore_app update_engine_service:service_manager find;
+
+# Allow GMS core to communicate with dumpsys storaged.
+binder_call(gmscore_app, storaged)
+allow gmscore_app storaged_service:service_manager find;
+
+# Allow GMS core to access system_update_service (e.g. to publish pending
+# system update info).
+allow gmscore_app system_update_service:service_manager find;
+
+# Allow GMS core to communicate with statsd.
+binder_call(gmscore_app, statsd)
+
+# Allow GMS core to receive Perfetto traces through the framework
+# (i.e. TracingServiceProxy) and sendfile them into its private directory
+# for reporting when network and battery conditions are appropriate.
+allow gmscore_app perfetto:fd use;
+allow gmscore_app perfetto_traces_data_file:file { read getattr };
+
+# Allow GMS core to generate unique hardware IDs
+allow gmscore_app keystore:keystore2_key gen_unique_id;
+
+# Allow GMS core to access /sys/fs/selinux/policyvers for compatibility check
+allow gmscore_app selinuxfs:file r_file_perms;
+
+# suppress denials for non-API accesses.
+dontaudit gmscore_app exec_type:file r_file_perms;
+dontaudit gmscore_app device:dir r_dir_perms;
+dontaudit gmscore_app fs_bpf:dir r_dir_perms;
+dontaudit gmscore_app kernel:security *;
+dontaudit gmscore_app net_dns_prop:file r_file_perms;
+dontaudit gmscore_app proc:file r_file_perms;
+dontaudit gmscore_app proc_interrupts:file r_file_perms;
+dontaudit gmscore_app proc_modules:file r_file_perms;
+dontaudit gmscore_app proc_net:file r_file_perms;
+dontaudit gmscore_app proc_stat:file r_file_perms;
+dontaudit gmscore_app proc_version:file r_file_perms;
+dontaudit gmscore_app sysfs:dir r_dir_perms;
+dontaudit gmscore_app sysfs:file r_file_perms;
+dontaudit gmscore_app sysfs_android_usb:file r_file_perms;
+dontaudit gmscore_app sysfs_dm:file r_file_perms;
+dontaudit gmscore_app sysfs_loop:file r_file_perms;
+dontaudit gmscore_app sysfs_net:file r_file_perms;
+dontaudit gmscore_app sysfs_net:dir r_dir_perms;
+dontaudit gmscore_app { wifi_prop wifi_hal_prop }:file r_file_perms;
+dontaudit gmscore_app mirror_data_file:dir search;
+dontaudit gmscore_app mnt_vendor_file:dir search;
+
+# Access the network
+net_domain(gmscore_app)
+
+# webview crash handling depends on self ptrace (b/27697529, b/20150694, b/19277529#comment7)
+allow gmscore_app self:process ptrace;
+
+# Allow loading executable code from writable priv-app home
+# directories. This is a W^X violation, however, it needs
+# to be supported for now for the following reasons.
+# * /data/user_*/0/*/code_cache/* POSSIBLE uses (b/117841367)
+#   1) com.android.opengl.shaders_cache
+#   2) com.android.skia.shaders_cache
+#   3) com.android.renderscript.cache
+# * /data/user_de/0/com.google.android.gms/app_chimera
+# TODO: Tighten (b/112357170)
+allow gmscore_app privapp_data_file:file execute;
+
+# Chrome Crashpad uses the the dynamic linker to load native executables
+# from an APK (b/112050209, crbug.com/928422)
+allow gmscore_app system_linker_exec:file execute_no_trans;
+
+allow gmscore_app privapp_data_file:lnk_file create_file_perms;
+
+# /proc access
+allow gmscore_app proc_vmstat:file r_file_perms;
+
+# Allow interaction with gpuservice
+binder_call(gmscore_app, gpuservice)
+allow gmscore_app gpu_service:service_manager find;
+
+# find services that expose both @SystemAPI and normal APIs.
+allow gmscore_app app_api_service:service_manager find;
+allow gmscore_app system_api_service:service_manager find;
+allow gmscore_app audioserver_service:service_manager find;
+allow gmscore_app cameraserver_service:service_manager find;
+allow gmscore_app drmserver_service:service_manager find;
+allow gmscore_app mediadrmserver_service:service_manager find;
+allow gmscore_app mediaextractor_service:service_manager find;
+allow gmscore_app mediametrics_service:service_manager find;
+allow gmscore_app mediaserver_service:service_manager find;
+allow gmscore_app network_watchlist_service:service_manager find;
+allow gmscore_app nfc_service:service_manager find;
+allow gmscore_app oem_lock_service:service_manager find;
+allow gmscore_app persistent_data_block_service:service_manager find;
+allow gmscore_app radio_service:service_manager find;
+allow gmscore_app recovery_service:service_manager find;
+allow gmscore_app stats_service:service_manager find;
+
+# Write to /cache.
+allow gmscore_app { cache_file cache_recovery_file }:dir create_dir_perms;
+allow gmscore_app { cache_file cache_recovery_file }:file create_file_perms;
+# /cache is a symlink to /data/cache on some devices. Allow reading the link.
+allow gmscore_app cache_file:lnk_file r_file_perms;
+
+# Write to /data/ota_package for OTA packages.
+allow gmscore_app ota_package_file:dir create_dir_perms;
+allow gmscore_app ota_package_file:file create_file_perms;
+
+# Write the checkin metadata to /data/misc_ce/<userid>/checkin
+allow gmscore_app checkin_data_file:dir rw_dir_perms;
+allow gmscore_app checkin_data_file:file create_file_perms;
+
+# Used by Finsky / Android "Verify Apps" functionality when
+# running "adb install foo.apk".
+allow gmscore_app shell_data_file:file r_file_perms;
+allow gmscore_app shell_data_file:dir r_dir_perms;
+
+# allow gms core app write to aconfigd socket
+unix_socket_connect(gmscore_app, aconfigd, aconfigd);
+
+# allow gms core app write to aconfigd_mainline socket
+unix_socket_connect(gmscore_app, aconfigd_mainline, aconfigd_mainline);
+
+# b/18504118: Allow reads from /data/anr/traces.txt
+allow gmscore_app anr_data_file:file r_file_perms;
+
+# b/148974132: com.android.vending needs this
+allow gmscore_app priv_app:tcp_socket { read write };
+
+# b/168059475 Allow GMSCore to read Virtual AB properties to determine
+# if device supports VAB.
+get_prop(gmscore_app, virtual_ab_prop)
+
+# b/186488185: Allow GMSCore to read dck properties
+get_prop(gmscore_app, dck_prop)
+
+# Allow GMSCore to read RKP properties for the purpose of GTS testing.
+get_prop(gmscore_app, remote_prov_prop)
+
+# Allow GmsCore to read Quick Start properties and prevent access from other
+# policies.
+get_prop(gmscore_app, quick_start_prop)
+neverallow { domain -init -dumpstate -vendor_init -gmscore_app } quick_start_prop:file no_rw_file_perms;
+
+# Allow GmsCore to read Bluetotoh Power Off Finder property
+get_prop(gmscore_app, bluetooth_finder_prop)
+
+# Do not allow getting permission-protected network information from sysfs.
+neverallow gmscore_app sysfs_net:file *;
+
+# Restrict socket ioctls. Either 1. disallow privileged ioctls, 2. disallow the
+# ioctl permission, or 3. disallow the socket class.
+neverallowxperm gmscore_app domain:{ icmp_socket rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
+neverallow gmscore_app *:{ netlink_route_socket netlink_selinux_socket } ioctl;
+neverallow gmscore_app *:{
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket sctp_socket
+  ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket
+  atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket kcm_socket qipcrtr_socket smc_socket xdp_socket
+} *;
diff --git a/prebuilts/api/202504/private/gpuservice.te b/prebuilts/api/202504/private/gpuservice.te
new file mode 100644
index 0000000..5638543
--- /dev/null
+++ b/prebuilts/api/202504/private/gpuservice.te
@@ -0,0 +1,72 @@
+# gpuservice - server for gpu stats and other gpu related services
+typeattribute gpuservice coredomain;
+typeattribute gpuservice bpfdomain;
+
+type gpuservice_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(gpuservice)
+
+binder_call(gpuservice, adbd)
+binder_call(gpuservice, shell)
+binder_call(gpuservice, system_server)
+binder_use(gpuservice)
+
+# Access the GPU.
+allow gpuservice gpu_device:chr_file rw_file_perms;
+
+# GPU service will need to load GPU driver, for example Vulkan driver in order
+# to get the capability of the driver.
+allow gpuservice same_process_hal_file:file { open read getattr execute map };
+allow gpuservice ion_device:chr_file r_file_perms;
+get_prop(gpuservice, hwservicemanager_prop)
+hwbinder_use(gpuservice)
+
+# Access /dev/graphics/fb0.
+allow gpuservice graphics_device:dir search;
+allow gpuservice graphics_device:chr_file rw_file_perms;
+
+# Allow shell access
+allow gpuservice adbd:fd use;
+allow gpuservice adbd:unix_stream_socket { getattr read write };
+allow gpuservice shell:fifo_file { getattr read write };
+
+# Needed for perfetto producer.
+perfetto_producer(gpuservice)
+
+# Needed for interactive shell
+allow gpuservice devpts:chr_file { read write getattr };
+
+# Needed for dumpstate to dumpsys gpu.
+allow gpuservice dumpstate:fd use;
+allow gpuservice dumpstate:fifo_file write;
+
+# Needed for stats callback registration to statsd.
+allow gpuservice stats_service:service_manager find;
+allow gpuservice statsmanager_service:service_manager find;
+# TODO(b/146461633): remove this once native pullers talk to StatsManagerService
+binder_call(gpuservice, statsd);
+
+# Needed for reading tracepoint ids in order to attach bpf programs.
+allow gpuservice debugfs_tracing:file r_file_perms;
+allow gpuservice self:perf_event { cpu kernel open write };
+neverallow gpuservice self:perf_event ~{ cpu kernel open write };
+
+# Needed for interact with bpf fs.
+# Write is needed to open read/write bpf maps.
+allow gpuservice fs_bpf:file { read write };
+
+# Needed for enabling bpf programs and accessing bpf maps (read-only and read/write).
+allow gpuservice bpfloader:bpf { map_read map_write prog_run };
+
+add_service(gpuservice, gpu_service)
+
+# Needed for enabling write access to persist.graphics.egl from developer option switch UI, through gpuservice.
+set_prop(gpuservice, graphics_config_writable_prop)
+
+neverallow { domain -init -vendor_init -gpuservice } graphics_config_writable_prop:property_service set;
+
+# Needed for querying permission
+allow gpuservice permission_service:service_manager find;
+
+# Only uncomment below line when in development
+# userdebug_or_eng(`permissive gpuservice;')
diff --git a/prebuilts/api/202504/private/gsid.te b/prebuilts/api/202504/private/gsid.te
new file mode 100644
index 0000000..9391016
--- /dev/null
+++ b/prebuilts/api/202504/private/gsid.te
@@ -0,0 +1,207 @@
+# gsid - Manager for GSI Installation
+
+type gsid, domain;
+type gsid_exec, exec_type, file_type, system_file_type;
+typeattribute gsid coredomain;
+
+init_daemon_domain(gsid)
+
+binder_use(gsid)
+binder_service(gsid)
+add_service(gsid, gsi_service)
+
+# Manage DSU metadata encryption key through vold.
+allow gsid vold_service:service_manager find;
+binder_call(gsid, vold)
+
+set_prop(gsid, gsid_prop)
+
+# Needed to create/delete device-mapper nodes, and read/write to them.
+allow gsid dm_device:chr_file rw_file_perms;
+allow gsid dm_device:blk_file rw_file_perms;
+allow gsid self:global_capability_class_set sys_admin;
+dontaudit gsid self:global_capability_class_set dac_override;
+
+# On FBE devices (not using dm-default-key), gsid will use loop devices to map
+# images rather than device-mapper.
+allow gsid loop_control_device:chr_file rw_file_perms;
+allow gsid loop_device:blk_file rw_file_perms;
+allowxperm gsid loop_device:blk_file ioctl {
+  LOOP_GET_STATUS64
+  LOOP_SET_STATUS64
+  LOOP_SET_FD
+  LOOP_SET_BLOCK_SIZE
+  LOOP_SET_DIRECT_IO
+  LOOP_CLR_FD
+  BLKFLSBUF
+};
+
+# libfiemap_writer uses sysfs to derive the bottom of a device-mapper stacking.
+# This requires traversing /sys/block/dm-N/slaves/* and reading the list of
+# file names.
+r_dir_file(gsid, sysfs_dm)
+
+# libfiemap_writer needs to read /sys/fs/f2fs/<dev>/features to determine
+# whether pin_file support is enabled.
+r_dir_file(gsid, sysfs_fs_f2fs)
+
+# Needed to read fstab, which is used to validate that system verity does not
+# use check_once_at_most for sdcard installs. (Note: proc_cmdline is needed
+# to get the A/B slot suffix).
+read_fstab(gsid)
+allow gsid sysfs_dt_firmware_android:dir r_dir_perms;
+allow gsid sysfs_dt_firmware_android:file r_file_perms;
+
+# Needed to stat /data/gsi/* and realpath on /dev/block/by-name/*
+allow gsid block_device:dir r_dir_perms;
+
+# Allow querying the size of super_block_device_type.
+allow gsid super_block_device_type:blk_file r_file_perms;
+
+# liblp queries these block alignment properties.
+allowxperm gsid {
+  userdata_block_device
+  sdcard_block_device
+  super_block_device_type
+}:blk_file ioctl {
+  BLKIOMIN
+  BLKALIGNOFF
+};
+
+# When installing images to an sdcard, gsid needs to be able to stat() the
+# block device. gsid also calls realpath() to remove symlinks.
+allow gsid mnt_media_rw_file:dir r_dir_perms;
+allow gsid mnt_media_rw_stub_file:dir r_dir_perms;
+
+# When installing images to an sdcard, gsid must bypass sdcardfs and install
+# directly to vfat, which supports the FIBMAP ioctl.
+allow gsid vfat:dir create_dir_perms;
+allow gsid vfat:file create_file_perms;
+allow gsid sdcard_block_device:blk_file r_file_perms;
+# This is needed for FIBMAP unfortunately. Oddly FIEMAP does not carry this
+# requirement, but the kernel does not implement FIEMAP support for VFAT.
+allow gsid self:global_capability_class_set sys_rawio;
+
+# Allow rules for gsi_tool.
+userdebug_or_eng(`
+  # gsi_tool passes the system image over the adb connection, via stdin.
+  allow gsid adbd:fd use;
+  # Needed when running gsi_tool through "su root" rather than adb root.
+  allow gsid adbd:unix_stream_socket rw_socket_perms;
+  # gsi_tool passes a FIFO to gsid if invoked with pipe redirection.
+  allow gsid { shell su }:fifo_file r_file_perms;
+  # Allow installing images from /storage/emulated/...
+  allow gsid { sdcard_type fuse }:file r_file_perms;
+')
+
+neverallow {
+  domain
+  -gsid
+  -init
+  -update_engine_common
+  -recovery
+  -fastbootd
+} gsid_prop:property_service set;
+
+# gsid needs to store images on /data, but cannot use file I/O. If it did, the
+# underlying blocks would be encrypted, and we couldn't mount the GSI image in
+# first-stage init. So instead of directly writing to /data, we:
+#
+#   1. fallocate a file large enough to hold the signed GSI
+#   2. extract its block layout with FIEMAP
+#   3. create a dm-linear device using the FIEMAP, targeting /dev/block/by-name/userdata
+#   4. write system_gsi into that dm device
+#
+# To make this process work, we need to unwrap the device-mapper stacking for
+# userdata to reach the underlying block device. To verify the result we use
+# stat(), which requires read access.
+allow gsid userdata_block_device:blk_file r_file_perms;
+
+# gsid uses /metadata/gsi to communicate GSI boot information to first-stage
+# init. It cannot use userdata since data cannot be decrypted during this
+# stage.
+#
+# gsid uses /metadata/gsi to store three files:
+#   install_status - A short string indicating whether a GSI image is bootable.
+#   lp_metadata    - LpMetadata blob describing the block ranges on userdata
+#                    where system_gsi resides.
+#   booted         - An empty file that, if exists, indicates that a GSI is
+#                    currently running.
+#
+allow gsid metadata_file:dir { search getattr };
+allow gsid {
+    gsi_metadata_file_type
+}:dir create_dir_perms;
+
+allow gsid {
+    ota_metadata_file
+}:dir rw_dir_perms;
+
+allow gsid {
+    gsi_metadata_file_type
+    ota_metadata_file
+}:file create_file_perms;
+
+# Allow restorecon to fix context of gsi_public_metadata_file.
+allow gsid file_contexts_file:file r_file_perms;
+allow gsid gsi_metadata_file:file relabelfrom;
+allow gsid gsi_public_metadata_file:file relabelto;
+
+allow gsid {
+      gsi_data_file
+      ota_image_data_file
+}:dir create_dir_perms;
+allow gsid {
+      gsi_data_file
+      ota_image_data_file
+}:file create_file_perms;
+allowxperm gsid {
+      gsi_data_file
+      ota_image_data_file
+}:file ioctl {
+      FS_IOC_FIEMAP
+      FS_IOC_GETFLAGS
+};
+
+allow gsid system_server:binder call;
+
+# Prevent most processes from writing to gsi_metadata_file_type, but allow
+# adding rules for path resolution of gsi_public_metadata_file and reading
+# gsi_public_metadata_file.
+neverallow {
+    domain
+    -init
+    -gsid
+    -fastbootd
+} gsi_metadata_file_type:dir no_w_dir_perms;
+
+neverallow {
+    domain
+    -init
+    -gsid
+    -fastbootd
+} { gsi_metadata_file_type -gsi_public_metadata_file }:file_class_set *;
+
+neverallow {
+    domain
+    -init
+    -gsid
+    -fastbootd
+} gsi_public_metadata_file:file_class_set ~{ r_file_perms };
+
+# Prevent apps from accessing gsi_metadata_file_type.
+neverallow {
+    appdomain
+    -shell
+} gsi_metadata_file_type:dir_file_class_set *;
+
+neverallow {
+    domain
+    -init
+    -gsid
+} gsi_data_file:dir_file_class_set *;
+
+neverallow {
+    domain
+    -gsid
+} gsi_data_file:file_class_set ~{ relabelto getattr };
diff --git a/prebuilts/api/202504/private/hal_allocator.te b/prebuilts/api/202504/private/hal_allocator.te
new file mode 100644
index 0000000..6417b62
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_allocator.te
@@ -0,0 +1,6 @@
+# HwBinder IPC from client to server
+binder_call(hal_allocator_client, hal_allocator_server)
+
+hal_attribute_hwservice(hal_allocator, hidl_allocator_hwservice)
+allow hal_allocator_client hidl_memory_hwservice:hwservice_manager find;
+allow hal_allocator_client same_process_hal_file:file { execute read open getattr map };
diff --git a/prebuilts/api/202504/private/hal_allocator_default.te b/prebuilts/api/202504/private/hal_allocator_default.te
new file mode 100644
index 0000000..6ab7eb8
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_allocator_default.te
@@ -0,0 +1,8 @@
+type hal_allocator_default, domain, coredomain;
+hal_server_domain(hal_allocator_default, hal_allocator)
+
+type hal_allocator_default_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(hal_allocator_default)
+
+# to force stop the service when it's not supported
+set_prop(hal_allocator_default, hidl_memory_prop)
diff --git a/prebuilts/api/202504/private/hal_atrace.te b/prebuilts/api/202504/private/hal_atrace.te
new file mode 100644
index 0000000..51d9237
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_atrace.te
@@ -0,0 +1,4 @@
+# HwBinder IPC from client to server
+binder_call(hal_atrace_client, hal_atrace_server)
+
+hal_attribute_hwservice(hal_atrace, hal_atrace_hwservice)
diff --git a/prebuilts/api/202504/private/hal_audio.te b/prebuilts/api/202504/private/hal_audio.te
new file mode 100644
index 0000000..237ffcd
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_audio.te
@@ -0,0 +1,46 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_audio_client, hal_audio_server)
+binder_call(hal_audio_server, hal_audio_client)
+
+hal_attribute_hwservice(hal_audio, hal_audio_hwservice)
+hal_attribute_service(hal_audio, hal_audio_service)
+
+allow hal_audio ion_device:chr_file r_file_perms;
+
+binder_call(hal_audio_server, servicemanager)
+
+r_dir_file(hal_audio, proc)
+r_dir_file(hal_audio, proc_asound)
+allow hal_audio_server audio_device:dir r_dir_perms;
+allow hal_audio_server audio_device:chr_file rw_file_perms;
+
+# Needed to provide debug dump output via dumpsys' pipes.
+allow hal_audio shell:fd use;
+allow hal_audio shell:fifo_file write;
+allow hal_audio dumpstate:fd use;
+allow hal_audio dumpstate:fifo_file write;
+
+# Needed to allow sound trigger hal to access shared memory from apps.
+allow hal_audio_server appdomain:fd use;
+# Allow sound trigger hal to access shared memory from system server.
+allow hal_audio_server system_server_tmpfs:file { getattr map read };
+
+# allow self to set scheduler (and allows Binder RT PI)
+allow hal_audio_server self:global_capability_class_set sys_nice;
+
+# allow hal audio to use vnbinder
+vndbinder_use(hal_audio)
+
+###
+### neverallow rules
+###
+
+# Should never execute any executable without a domain transition
+neverallow hal_audio_server { file_type fs_type }:file execute_no_trans;
+
+# Only audio HAL may directly access the audio hardware
+neverallow { halserverdomain -hal_audio_server -hal_omx_server } audio_device:chr_file *;
+
+get_prop(hal_audio, audio_config_prop)
+get_prop(hal_audio, bluetooth_a2dp_offload_prop)
+get_prop(hal_audio, bluetooth_audio_hal_prop)
diff --git a/prebuilts/api/202504/private/hal_audiocontrol.te b/prebuilts/api/202504/private/hal_audiocontrol.te
new file mode 100644
index 0000000..6f45b0e
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_audiocontrol.te
@@ -0,0 +1,8 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_audiocontrol_client, hal_audiocontrol_server)
+binder_call(hal_audiocontrol_server, hal_audiocontrol_client)
+
+hal_attribute_hwservice(hal_audiocontrol, hal_audiocontrol_hwservice)
+hal_attribute_service(hal_audiocontrol, hal_audiocontrol_service)
+
+binder_call(hal_audiocontrol_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_authgraph.te b/prebuilts/api/202504/private/hal_authgraph.te
new file mode 100644
index 0000000..f053cb0
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_authgraph.te
@@ -0,0 +1,7 @@
+binder_call(hal_authgraph_client, hal_authgraph_server)
+
+hal_attribute_service(hal_authgraph, hal_authgraph_service)
+binder_call(hal_authgraph_server, servicemanager)
+
+allow hal_authgraph_server tee_device:chr_file rw_file_perms;
+allow hal_authgraph_server ion_device:chr_file r_file_perms;
diff --git a/prebuilts/api/202504/private/hal_authsecret.te b/prebuilts/api/202504/private/hal_authsecret.te
new file mode 100644
index 0000000..bbcdb9a
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_authsecret.te
@@ -0,0 +1,7 @@
+# HwBinder IPC from client to server
+binder_call(hal_authsecret_client, hal_authsecret_server)
+
+hal_attribute_hwservice(hal_authsecret, hal_authsecret_hwservice)
+hal_attribute_service(hal_authsecret, hal_authsecret_service)
+
+binder_call(hal_authsecret_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_bluetooth.te b/prebuilts/api/202504/private/hal_bluetooth.te
new file mode 100644
index 0000000..2e03ea2
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_bluetooth.te
@@ -0,0 +1,35 @@
+# HwBinder IPC from clients into server, and callbacks
+binder_call(hal_bluetooth_client, hal_bluetooth_server)
+binder_call(hal_bluetooth_server, hal_bluetooth_client)
+binder_call(hal_bluetooth_server, servicemanager)
+
+hal_attribute_hwservice(hal_bluetooth, hal_bluetooth_hwservice)
+hal_attribute_service(hal_bluetooth, hal_bluetooth_service)
+
+wakelock_use(hal_bluetooth);
+
+# The HAL toggles rfkill to power the chip off/on.
+allow hal_bluetooth self:global_capability_class_set net_admin;
+
+# bluetooth factory file accesses.
+r_dir_file(hal_bluetooth, bluetooth_efs_file)
+
+allow hal_bluetooth { uhid_device hci_attach_dev }:chr_file rw_file_perms;
+
+# sysfs access.
+r_dir_file(hal_bluetooth, sysfs_type)
+allow hal_bluetooth sysfs_bluetooth_writable:file rw_file_perms;
+allow hal_bluetooth self:global_capability2_class_set wake_alarm;
+
+# Allow write access to bluetooth-specific properties
+set_prop(hal_bluetooth, bluetooth_a2dp_offload_prop)
+set_prop(hal_bluetooth, bluetooth_audio_hal_prop)
+set_prop(hal_bluetooth, bluetooth_finder_prop)
+set_prop(hal_bluetooth, bluetooth_prop)
+set_prop(hal_bluetooth, exported_bluetooth_prop)
+
+# /proc access (bluesleep etc.).
+allow hal_bluetooth proc_bluetooth_writable:file rw_file_perms;
+
+# allow to run with real-time scheduling policy
+allow hal_bluetooth self:global_capability_class_set sys_nice;
diff --git a/prebuilts/api/202504/private/hal_bootctl.te b/prebuilts/api/202504/private/hal_bootctl.te
new file mode 100644
index 0000000..f9b50b0
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_bootctl.te
@@ -0,0 +1,10 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_bootctl_client, hal_bootctl_server)
+binder_call(hal_bootctl_server, hal_bootctl_client)
+binder_use(hal_bootctl_server)
+
+hal_attribute_hwservice(hal_bootctl, hal_bootctl_hwservice)
+allow hal_bootctl_server proc_bootconfig:file r_file_perms;
+
+# Needed to wait for AIDL hal services
+hal_attribute_service(hal_bootctl, hal_bootctl_service);
diff --git a/prebuilts/api/202504/private/hal_broadcastradio.te b/prebuilts/api/202504/private/hal_broadcastradio.te
new file mode 100644
index 0000000..bb882c9
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_broadcastradio.te
@@ -0,0 +1,7 @@
+binder_call(hal_broadcastradio_client, hal_broadcastradio_server)
+binder_call(hal_broadcastradio_server, hal_broadcastradio_client)
+
+hal_attribute_hwservice(hal_broadcastradio, hal_broadcastradio_hwservice)
+hal_attribute_service(hal_broadcastradio, hal_broadcastradio_service)
+
+binder_call(hal_broadcastradio_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_camera.te b/prebuilts/api/202504/private/hal_camera.te
new file mode 100644
index 0000000..df70ab6
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_camera.te
@@ -0,0 +1,42 @@
+# HwBinder IPC from clients to server and callbacks
+binder_call(hal_camera_client, hal_camera_server)
+binder_call(hal_camera_server, hal_camera_client)
+
+#binder IPC from client to service manager and callbacks
+binder_use(hal_camera_server)
+
+hal_attribute_hwservice(hal_camera, hal_camera_hwservice)
+hal_attribute_service(hal_camera, hal_camera_service)
+
+allow hal_camera device:dir r_dir_perms;
+allow hal_camera video_device:dir r_dir_perms;
+allow hal_camera video_device:chr_file rw_file_perms;
+allow hal_camera camera_device:chr_file rw_file_perms;
+allow hal_camera ion_device:chr_file rw_file_perms;
+allow hal_camera dmabuf_system_heap_device:chr_file r_file_perms;
+
+# Both the client and the server need to use the graphics allocator
+allow { hal_camera_client hal_camera_server } hal_graphics_allocator:fd use;
+
+# Allow hal_camera to use fd from app,gralloc,and ashmem HAL
+allow hal_camera { appdomain -isolated_app }:fd use;
+allow hal_camera surfaceflinger:fd use;
+allow hal_camera hal_allocator_server:fd use;
+
+# Needed to provide debug dump output via dumpsys' pipes.
+allow hal_camera shell:fd use;
+allow hal_camera shell:fifo_file write;
+
+###
+### neverallow rules
+###
+
+# hal_camera should never execute any executable without a
+# domain transition
+neverallow hal_camera_server { file_type fs_type }:file execute_no_trans;
+
+# hal_camera should never need network access. Disallow network sockets.
+neverallow hal_camera_server { domain userdebug_or_eng(`-su') }:{ tcp_socket udp_socket rawip_socket } *;
+
+# Only camera HAL may directly access the camera hardware
+neverallow { halserverdomain -hal_camera_server } camera_device:chr_file *;
diff --git a/prebuilts/api/202504/private/hal_can.te b/prebuilts/api/202504/private/hal_can.te
new file mode 100644
index 0000000..d48c43f
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_can.te
@@ -0,0 +1,13 @@
+# CAN controller
+binder_call(hal_can_controller_client, hal_can_controller_server)
+binder_call(hal_can_controller_server, hal_can_controller_client)
+hal_attribute_hwservice(hal_can_controller, hal_can_controller_hwservice)
+
+# CAN bus
+binder_call(hal_can_bus_client, hal_can_bus_server)
+binder_call(hal_can_bus_server, hal_can_bus_client)
+hal_attribute_hwservice(hal_can_bus, hal_can_bus_hwservice)
+
+# AIDL HAL for CAN buses (ICanController)
+hal_attribute_service(hal_can_controller, hal_can_controller_service)
+binder_use(hal_can_controller)
diff --git a/prebuilts/api/202504/private/hal_cas.te b/prebuilts/api/202504/private/hal_cas.te
new file mode 100644
index 0000000..056b4c9
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_cas.te
@@ -0,0 +1,43 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_cas_client, hal_cas_server)
+binder_call(hal_cas_server, hal_cas_client)
+
+hal_attribute_hwservice(hal_cas, hal_cas_hwservice)
+allow hal_cas_server hidl_memory_hwservice:hwservice_manager find;
+
+hal_attribute_service(hal_cas, hal_cas_service)
+
+binder_call(hal_cas_server, servicemanager)
+binder_call(hal_cas_client, servicemanager)
+
+# Permit reading device's serial number from system properties
+get_prop(hal_cas_server, serialno_prop)
+
+# Read files already opened under /data
+allow hal_cas system_data_file:file { getattr read };
+
+# Read access to pseudo filesystems
+r_dir_file(hal_cas, cgroup)
+allow hal_cas cgroup:dir { search write };
+allow hal_cas cgroup:file w_file_perms;
+
+r_dir_file(hal_cas, cgroup_v2)
+allow hal_cas cgroup_v2:dir { search write };
+allow hal_cas cgroup_v2:file w_file_perms;
+
+# Allow access to ion memory allocation device
+allow hal_cas ion_device:chr_file rw_file_perms;
+allow hal_cas hal_graphics_allocator:fd use;
+
+allow hal_cas tee_device:chr_file rw_file_perms;
+
+###
+### neverallow rules
+###
+
+# hal_cas should never execute any executable without a
+# domain transition
+neverallow hal_cas_server { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm hal_cas_server domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
diff --git a/prebuilts/api/202504/private/hal_codec2.te b/prebuilts/api/202504/private/hal_codec2.te
new file mode 100644
index 0000000..df36ff8
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_codec2.te
@@ -0,0 +1,34 @@
+get_prop(hal_codec2_client, media_variant_prop)
+get_prop(hal_codec2_server, media_variant_prop)
+get_prop(hal_codec2_client, codec2_config_prop)
+get_prop(hal_codec2_server, codec2_config_prop)
+
+binder_call(hal_codec2_client, hal_codec2_server)
+binder_call(hal_codec2_server, hal_codec2_client)
+
+hal_attribute_hwservice(hal_codec2, hal_codec2_hwservice)
+hal_attribute_service(hal_codec2, hal_codec2_service)
+
+# The following permissions are added to hal_codec2_server because vendor and
+# vndk libraries provided for Codec2 implementation need them.
+
+# Allow server access to composer sync fences
+allow hal_codec2_server hal_graphics_composer:fd use;
+
+# Allow both server and client access to ion
+allow hal_codec2_server ion_device:chr_file r_file_perms;
+
+# Allow server access to camera HAL's fences
+allow hal_codec2_server hal_camera:fd use;
+
+# Receive gralloc buffer FDs from bufferhubd.
+allow hal_codec2_server bufferhubd:fd use;
+
+allow hal_codec2_client ion_device:chr_file r_file_perms;
+
+allow { hal_codec2_client -isolated_app_all } surfaceflinger_service:service_manager find;
+
+# codec2 aidl graphic buffer allocation waitable object
+allow hal_codec2_server su:fifo_file read;
+allow hal_codec2_server hal_codec2_client:fifo_file read;
+allow hal_codec2_server { appdomain -isolated_app_all }:fifo_file read;
diff --git a/prebuilts/api/202504/private/hal_configstore.te b/prebuilts/api/202504/private/hal_configstore.te
new file mode 100644
index 0000000..d26e1db
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_configstore.te
@@ -0,0 +1,67 @@
+# HwBinder IPC from client to server
+binder_call(hal_configstore_client, hal_configstore_server)
+
+hal_attribute_hwservice(hal_configstore, hal_configstore_ISurfaceFlingerConfigs)
+
+# hal_configstore runs with a strict seccomp filter. Use crash_dump's
+# fallback path to collect crash data.
+crash_dump_fallback(hal_configstore_server)
+
+###
+### neverallow rules
+###
+
+# Should never execute an executable without a domain transition
+neverallow hal_configstore_server { file_type fs_type }:file execute_no_trans;
+
+# Should never need network access. Disallow sockets except for
+# for unix stream/dgram sockets used for logging/debugging.
+neverallow hal_configstore_server domain:{
+  rawip_socket tcp_socket udp_socket
+  netlink_route_socket netlink_selinux_socket
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket
+} *;
+neverallow hal_configstore_server {
+  domain
+  -hal_configstore_server
+  -logd
+  -prng_seeder
+  userdebug_or_eng(`-su')
+  -tombstoned
+}:{ unix_dgram_socket unix_stream_socket } *;
+
+# Should never need access to anything on /data
+neverallow hal_configstore_server {
+  data_file_type
+  -anr_data_file # for crash dump collection
+  -tombstone_data_file # for crash dump collection
+  with_native_coverage(`-method_trace_data_file')
+}:{ file fifo_file sock_file } *;
+
+# Should never need sdcard access
+neverallow hal_configstore_server {
+    sdcard_type
+    fuse sdcardfs vfat exfat fuseblk     # manual expansion for completeness
+}:dir ~getattr;
+neverallow hal_configstore_server {
+    sdcard_type
+    fuse sdcardfs vfat exfat fuseblk     # manual expansion for completeness
+}:file *;
+
+# Do not permit access to service_manager and vndservice_manager
+neverallow hal_configstore_server *:service_manager *;
+
+# No privileged capabilities
+neverallow hal_configstore_server self:capability_class_set *;
+
+# No ptracing other processes
+neverallow hal_configstore_server *:process ptrace;
+
+# no relabeling
+neverallow hal_configstore_server *:dir_file_class_set { relabelfrom relabelto };
diff --git a/prebuilts/api/202504/private/hal_confirmationui.te b/prebuilts/api/202504/private/hal_confirmationui.te
new file mode 100644
index 0000000..9896e35
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_confirmationui.te
@@ -0,0 +1,6 @@
+# HwBinder IPC from client to server
+binder_call(hal_confirmationui_client, hal_confirmationui_server)
+
+hal_attribute_hwservice(hal_confirmationui, hal_confirmationui_hwservice)
+hal_attribute_service(hal_confirmationui, hal_confirmationui_service)
+binder_call(hal_confirmationui_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_contexthub.te b/prebuilts/api/202504/private/hal_contexthub.te
new file mode 100644
index 0000000..14c2dbc
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_contexthub.te
@@ -0,0 +1,10 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_contexthub_client, hal_contexthub_server)
+binder_call(hal_contexthub_server, hal_contexthub_client)
+
+add_service(hal_contexthub_server, hal_contexthub_service)
+binder_call(hal_contexthub_server, servicemanager)
+
+allow hal_contexthub_client hal_contexthub_service:service_manager find;
+
+hal_attribute_hwservice(hal_contexthub, hal_contexthub_hwservice)
diff --git a/prebuilts/api/202504/private/hal_drm.te b/prebuilts/api/202504/private/hal_drm.te
new file mode 100644
index 0000000..211fbb7
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_drm.te
@@ -0,0 +1,64 @@
+# HwBinder IPC from client to server, and callbacks
+binder_use(hal_drm_server)
+binder_call(hal_drm_client, hal_drm_server)
+binder_call(hal_drm_server, hal_drm_client)
+
+hal_attribute_hwservice(hal_drm, hal_drm_hwservice)
+hal_attribute_service(hal_drm, hal_drm_service)
+
+allow hal_drm hidl_memory_hwservice:hwservice_manager find;
+
+# Required by Widevine DRM (b/22990512)
+allow hal_drm self:process execmem;
+
+# Permit reading device's serial number from system properties
+get_prop(hal_drm_server, serialno_prop)
+# Permit reading force L3 system property
+get_prop(hal_drm_server, drm_forcel3_prop)
+
+# Read files already opened under /data
+allow hal_drm system_data_file:file { getattr read };
+
+# Read access to pseudo filesystems
+r_dir_file(hal_drm, cgroup)
+allow hal_drm cgroup:dir { search write };
+allow hal_drm cgroup:file w_file_perms;
+
+r_dir_file(hal_drm, cgroup_v2)
+allow hal_drm cgroup_v2:dir { search write };
+allow hal_drm cgroup_v2:file w_file_perms;
+
+# Allow dumpsys Widevine without root
+allow hal_drm_server shell:fd use;
+allow hal_drm_server shell:fifo_file write;
+
+# Allow access to ion memory allocation device
+allow hal_drm ion_device:chr_file rw_file_perms;
+allow hal_drm hal_graphics_allocator:fd use;
+
+# Allow access to hidl_memory allocation service
+allow hal_drm hal_allocator_server:fd use;
+
+# Allow access to fds allocated by mediaserver
+allow hal_drm mediaserver:fd use;
+
+allow hal_drm sysfs:file r_file_perms;
+
+allow hal_drm tee_device:chr_file rw_file_perms;
+
+allow hal_drm_server { appdomain -isolated_app }:fd use;
+
+# only allow unprivileged socket ioctl commands
+allowxperm hal_drm self:{ rawip_socket tcp_socket udp_socket }
+  ioctl { unpriv_sock_ioctls unpriv_tty_ioctls };
+
+###
+### neverallow rules
+###
+
+# hal_drm should never execute any executable without a
+# domain transition
+neverallow hal_drm_server { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm hal_drm_server domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
diff --git a/prebuilts/api/202504/private/hal_dumpstate.te b/prebuilts/api/202504/private/hal_dumpstate.te
new file mode 100644
index 0000000..eaa223b
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_dumpstate.te
@@ -0,0 +1,20 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_dumpstate_client, hal_dumpstate_server)
+binder_call(hal_dumpstate_server, hal_dumpstate_client)
+
+set_prop(hal_dumpstate_server, hal_dumpstate_config_prop)
+
+hal_attribute_hwservice(hal_dumpstate, hal_dumpstate_hwservice)
+hal_attribute_service(hal_dumpstate, hal_dumpstate_service)
+
+binder_call(hal_dumpstate_server, servicemanager)
+
+binder_use(hal_dumpstate_server)
+
+# write bug reports in /data/data/com.android.shell/files/bugreports/bugreport
+allow hal_dumpstate shell_data_file:file write;
+# allow reading /proc/interrupts for all hal impls
+allow hal_dumpstate proc_interrupts:file r_file_perms;
+
+# Log fsck results
+r_dir_file(hal_dumpstate, fscklogs)
diff --git a/prebuilts/api/202504/private/hal_evs.te b/prebuilts/api/202504/private/hal_evs.te
new file mode 100644
index 0000000..09a40d8
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_evs.te
@@ -0,0 +1,15 @@
+hwbinder_use(hal_evs_client)
+hwbinder_use(hal_evs_server)
+
+binder_call(hal_evs_client, hal_evs_server)
+binder_call(hal_evs_server, hal_evs_client)
+
+# Below lines are equivalent to hal_attribute_hwservice(hal_evs, hal_evs_hwservice)
+# except it allows evsmanagerd to add hal_evs_hwservice.
+allow hal_evs_client hal_evs_hwservice:hwservice_manager find;
+allow hal_evs_server hal_evs_hwservice:hwservice_manager { add find };
+allow hal_evs_server hidl_base_hwservice:hwservice_manager add;
+neverallow { domain -hal_evs_server -evsmanagerd } hal_evs_hwservice:hwservice_manager add;
+
+# Allows to add a service
+hal_attribute_service(hal_evs, hal_evs_service)
diff --git a/prebuilts/api/202504/private/hal_face.te b/prebuilts/api/202504/private/hal_face.te
new file mode 100644
index 0000000..5e43953
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_face.te
@@ -0,0 +1,15 @@
+# Allow HwBinder IPC from client to server, and vice versa for callbacks.
+binder_call(hal_face_client, hal_face_server)
+binder_call(hal_face_server, hal_face_client)
+
+hal_attribute_hwservice(hal_face, hal_face_hwservice)
+hal_attribute_service(hal_face, hal_face_service)
+
+binder_use(hal_face_server)
+
+# Allow access to the ion memory allocation device.
+allow hal_face ion_device:chr_file r_file_perms;
+
+# Allow read/write access to the face template directory.
+allow {hal_face -coredomain} face_vendor_data_file:file create_file_perms;
+allow {hal_face -coredomain} face_vendor_data_file:dir rw_dir_perms;
diff --git a/prebuilts/api/202504/private/hal_fastboot.te b/prebuilts/api/202504/private/hal_fastboot.te
new file mode 100644
index 0000000..7aecac1
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_fastboot.te
@@ -0,0 +1,7 @@
+# allow binder connection from client to server
+binder_call(hal_fastboot_client, hal_fastboot_server)
+# allow client to find the service, allow server to register the service
+hal_attribute_service(hal_fastboot, hal_fastboot_service)
+# allow binder communication from server to service_manager
+binder_call(hal_fastboot_server, servicemanager)
+
diff --git a/prebuilts/api/202504/private/hal_fingerprint.te b/prebuilts/api/202504/private/hal_fingerprint.te
new file mode 100644
index 0000000..3295cc7
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_fingerprint.te
@@ -0,0 +1,20 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_fingerprint_client, hal_fingerprint_server)
+binder_call(hal_fingerprint_server, hal_fingerprint_client)
+
+hal_attribute_hwservice(hal_fingerprint, hal_fingerprint_hwservice)
+hal_attribute_service(hal_fingerprint, hal_fingerprint_service)
+
+binder_use(hal_fingerprint_server)
+
+# For memory allocation
+allow hal_fingerprint ion_device:chr_file r_file_perms;
+
+allow { hal_fingerprint -coredomain } fingerprint_vendor_data_file:file { create_file_perms };
+allow { hal_fingerprint -coredomain } fingerprint_vendor_data_file:dir rw_dir_perms;
+
+r_dir_file(hal_fingerprint, cgroup)
+r_dir_file(hal_fingerprint, cgroup_v2)
+r_dir_file({hal_fingerprint -coredomain}, sysfs)
+
+
diff --git a/prebuilts/api/202504/private/hal_gatekeeper.te b/prebuilts/api/202504/private/hal_gatekeeper.te
new file mode 100644
index 0000000..fc23e64
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_gatekeeper.te
@@ -0,0 +1,9 @@
+binder_call(hal_gatekeeper_client, hal_gatekeeper_server)
+
+hal_attribute_hwservice(hal_gatekeeper, hal_gatekeeper_hwservice)
+hal_attribute_service(hal_gatekeeper, hal_gatekeeper_service)
+binder_call(hal_gatekeeper_server, servicemanager)
+
+# TEE access.
+allow hal_gatekeeper tee_device:chr_file rw_file_perms;
+allow hal_gatekeeper ion_device:chr_file r_file_perms;
diff --git a/prebuilts/api/202504/private/hal_gnss.te b/prebuilts/api/202504/private/hal_gnss.te
new file mode 100644
index 0000000..59a6df8
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_gnss.te
@@ -0,0 +1,9 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_gnss_client, hal_gnss_server)
+binder_call(hal_gnss_server, hal_gnss_client)
+
+hal_attribute_hwservice(hal_gnss, hal_gnss_hwservice)
+hal_attribute_service(hal_gnss, hal_gnss_service)
+binder_use(hal_gnss_server)
+binder_use(hal_gnss_client)
+
diff --git a/prebuilts/api/202504/private/hal_graphics_allocator.te b/prebuilts/api/202504/private/hal_graphics_allocator.te
new file mode 100644
index 0000000..39ba46e
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_graphics_allocator.te
@@ -0,0 +1,24 @@
+# HwBinder IPC from client to server
+binder_call(hal_graphics_allocator_client, hal_graphics_allocator_server)
+
+hal_attribute_hwservice(hal_graphics_allocator, hal_graphics_allocator_hwservice)
+allow hal_graphics_allocator_client hal_graphics_mapper_hwservice:hwservice_manager find;
+allow hal_graphics_allocator_client hal_graphics_mapper_service:service_manager find;
+allow hal_graphics_allocator_client same_process_hal_file:file { execute read open getattr map };
+
+# GPU device access
+allow hal_graphics_allocator gpu_device:chr_file rw_file_perms;
+allow hal_graphics_allocator gpu_device:dir r_dir_perms;
+allow hal_graphics_allocator ion_device:chr_file r_file_perms;
+allow hal_graphics_allocator dmabuf_system_heap_device:chr_file r_file_perms;
+
+# Access the secure heap
+allow hal_graphics_allocator dmabuf_system_secure_heap_device:chr_file r_file_perms;
+
+# allow to run with real-time scheduling policy
+allow hal_graphics_allocator self:global_capability_class_set sys_nice;
+
+# IAllocator stable-aidl
+hal_attribute_service(hal_graphics_allocator, hal_graphics_allocator_service)
+binder_call(hal_graphics_allocator_server, servicemanager)
+binder_call(hal_graphics_allocator_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_graphics_composer.te b/prebuilts/api/202504/private/hal_graphics_composer.te
new file mode 100644
index 0000000..3250564
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_graphics_composer.te
@@ -0,0 +1,38 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_graphics_composer_client, hal_graphics_composer_server)
+binder_call(hal_graphics_composer_server, hal_graphics_composer_client)
+allow hal_graphics_composer_client hal_graphics_composer_server_tmpfs:file { getattr map read write };
+allow hal_graphics_composer_server hal_graphics_composer_client_tmpfs:file { getattr map read write };
+
+hal_attribute_hwservice(hal_graphics_composer, hal_graphics_composer_hwservice)
+
+# Coordinate with hal_graphics_mapper
+allow hal_graphics_composer_server hal_graphics_mapper_hwservice:hwservice_manager find;
+
+# GPU device access
+allow hal_graphics_composer gpu_device:chr_file rw_file_perms;
+allow hal_graphics_composer gpu_device:dir r_dir_perms;
+allow hal_graphics_composer ion_device:chr_file r_file_perms;
+allow hal_graphics_composer dmabuf_system_heap_device:chr_file r_file_perms;
+allow hal_graphics_composer hal_graphics_allocator:fd use;
+
+# Access /dev/graphics/fb0.
+allow hal_graphics_composer graphics_device:dir search;
+allow hal_graphics_composer graphics_device:chr_file rw_file_perms;
+
+# Fences
+allow hal_graphics_composer system_server:fd use;
+allow hal_graphics_composer bootanim:fd use;
+allow hal_graphics_composer appdomain:fd use;
+
+# allow self to set SCHED_FIFO
+allow hal_graphics_composer self:global_capability_class_set sys_nice;
+
+# allow surfaceflinger to use a pipe for dumpsys output
+allow hal_graphics_composer_server hal_graphics_composer_client:fifo_file write;
+
+
+binder_call(hal_graphics_composer_client, servicemanager)
+binder_call(hal_graphics_composer_server, servicemanager)
+
+hal_attribute_service(hal_graphics_composer, hal_graphics_composer_service)
diff --git a/prebuilts/api/202504/private/hal_health.te b/prebuilts/api/202504/private/hal_health.te
new file mode 100644
index 0000000..5d7aff5
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_health.te
@@ -0,0 +1,33 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_health_client, hal_health_server)
+binder_call(hal_health_server, hal_health_client)
+
+hal_attribute_hwservice(hal_health, hal_health_hwservice)
+hal_attribute_service(hal_health, hal_health_service)
+
+# Common rules for a health service.
+
+# Allow to listen to uevents for updates
+allow hal_health_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+# Allow to read /sys/class/power_supply directory
+allow hal_health_server sysfs:dir r_dir_perms;
+
+# Allow to read files under /sys/class/power_supply. Implementations typically have symlinks
+# to vendor specific files. Vendors should mark sysfs_batteryinfo on all files read by health
+# HAL service.
+r_dir_file(hal_health_server, sysfs_batteryinfo)
+
+# Allow to wake up to send periodic events
+wakelock_use(hal_health_server)
+
+# Write to /dev/kmsg
+allow hal_health_server kmsg_device:chr_file { getattr w_file_perms };
+
+# Allow to use timerfd to wake itself up periodically to send health info.
+allow hal_health_server self:capability2 wake_alarm;
+
+# Use bpf programs
+allow hal_health_server fs_bpf_vendor:dir search;
+allow hal_health_server fs_bpf_vendor:file read;
+allow hal_health_server bpfloader:bpf prog_run;
diff --git a/prebuilts/api/202504/private/hal_health_storage.te b/prebuilts/api/202504/private/hal_health_storage.te
new file mode 100644
index 0000000..4938a16
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_health_storage.te
@@ -0,0 +1,11 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_health_storage_client, hal_health_storage_server)
+binder_call(hal_health_storage_server, hal_health_storage_client)
+
+binder_use(hal_health_storage_server)
+
+hal_attribute_hwservice(hal_health_storage, hal_health_storage_hwservice)
+hal_attribute_service(hal_health_storage, hal_health_storage_service)
+
+# Allow ReadDefaultFstab().
+read_fstab(hal_health_storage_server)
diff --git a/prebuilts/api/202504/private/hal_identity.te b/prebuilts/api/202504/private/hal_identity.te
new file mode 100644
index 0000000..8d558ad
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_identity.te
@@ -0,0 +1,6 @@
+# HwBinder IPC from client to server
+binder_call(hal_identity_client, hal_identity_server)
+
+hal_attribute_service(hal_identity, hal_identity_service)
+
+binder_call(hal_identity_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_input_classifier.te b/prebuilts/api/202504/private/hal_input_classifier.te
new file mode 100644
index 0000000..70a4b7d
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_input_classifier.te
@@ -0,0 +1,4 @@
+# HwBinder IPC from client to server
+binder_call(hal_input_classifier_client, hal_input_classifier_server)
+
+hal_attribute_hwservice(hal_input_classifier, hal_input_classifier_hwservice)
diff --git a/prebuilts/api/202504/private/hal_input_processor.te b/prebuilts/api/202504/private/hal_input_processor.te
new file mode 100644
index 0000000..b59b15f
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_input_processor.te
@@ -0,0 +1,8 @@
+# HwBinder IPC from client to server
+binder_call(hal_input_processor_client, hal_input_processor_server)
+binder_call(hal_input_processor_server, servicemanager)
+
+hal_attribute_service(hal_input_processor, hal_input_processor_service)
+
+# Allow dumping of the HAL
+allow hal_input_processor_server dumpstate:fifo_file write;
diff --git a/prebuilts/api/202504/private/hal_ir.te b/prebuilts/api/202504/private/hal_ir.te
new file mode 100644
index 0000000..452127a
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_ir.te
@@ -0,0 +1,8 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_ir_client, hal_ir_server)
+binder_call(hal_ir_server, hal_ir_client)
+
+hal_attribute_service(hal_ir, hal_ir_service)
+binder_call(hal_ir_server, servicemanager)
+
+hal_attribute_hwservice(hal_ir, hal_ir_hwservice)
diff --git a/prebuilts/api/202504/private/hal_ivn.te b/prebuilts/api/202504/private/hal_ivn.te
new file mode 100644
index 0000000..617effe
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_ivn.te
@@ -0,0 +1,4 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_ivn_client, hal_ivn_server)
+
+hal_attribute_service(hal_ivn, hal_ivn_service)
diff --git a/prebuilts/api/202504/private/hal_keymaster.te b/prebuilts/api/202504/private/hal_keymaster.te
new file mode 100644
index 0000000..3e164ad
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_keymaster.te
@@ -0,0 +1,7 @@
+# HwBinder IPC from client to server
+binder_call(hal_keymaster_client, hal_keymaster_server)
+
+hal_attribute_hwservice(hal_keymaster, hal_keymaster_hwservice)
+
+allow hal_keymaster tee_device:chr_file rw_file_perms;
+allow hal_keymaster ion_device:chr_file r_file_perms;
diff --git a/prebuilts/api/202504/private/hal_keymint.te b/prebuilts/api/202504/private/hal_keymint.te
new file mode 100644
index 0000000..6c7b577
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_keymint.te
@@ -0,0 +1,8 @@
+binder_call(hal_keymint_client, hal_keymint_server)
+
+hal_attribute_service(hal_keymint, hal_keymint_service)
+hal_attribute_service(hal_keymint, hal_remotelyprovisionedcomponent_service)
+binder_call(hal_keymint_server, servicemanager)
+
+allow { hal_keymint_server -coredomain } tee_device:chr_file rw_file_perms;
+allow { hal_keymint_server -coredomain } ion_device:chr_file r_file_perms;
diff --git a/prebuilts/api/202504/private/hal_keymint_system.te b/prebuilts/api/202504/private/hal_keymint_system.te
new file mode 100644
index 0000000..0a20870
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_keymint_system.te
@@ -0,0 +1,7 @@
+type hal_keymint_system, domain, coredomain;
+hal_server_domain(hal_keymint_system, hal_keymint)
+
+type hal_keymint_system_exec, exec_type, system_file_type, file_type;
+init_daemon_domain(hal_keymint_system)
+
+allow hal_keymint_system self:vsock_socket { create_socket_perms_no_ioctl };
diff --git a/prebuilts/api/202504/private/hal_lazy_test.te b/prebuilts/api/202504/private/hal_lazy_test.te
new file mode 100644
index 0000000..93cf235
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_lazy_test.te
@@ -0,0 +1,3 @@
+userdebug_or_eng(`
+  hal_attribute_hwservice(hal_lazy_test, hal_lazy_test_hwservice)
+')
diff --git a/prebuilts/api/202504/private/hal_light.te b/prebuilts/api/202504/private/hal_light.te
new file mode 100644
index 0000000..40829b6
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_light.te
@@ -0,0 +1,15 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_light_client, hal_light_server)
+binder_call(hal_light_server, hal_light_client)
+
+hal_attribute_hwservice(hal_light, hal_light_hwservice)
+hal_attribute_service(hal_light, hal_light_service)
+
+binder_call(hal_light_server, servicemanager)
+binder_use(hal_light_client)
+
+allow hal_light_server dumpstate:fifo_file write;
+
+allow hal_light sysfs_leds:lnk_file read;
+allow hal_light sysfs_leds:file rw_file_perms;
+allow hal_light sysfs_leds:dir r_dir_perms;
diff --git a/prebuilts/api/202504/private/hal_lowpan.te b/prebuilts/api/202504/private/hal_lowpan.te
new file mode 100644
index 0000000..6fb95e9
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_lowpan.te
@@ -0,0 +1,20 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_lowpan_client, hal_lowpan_server)
+binder_call(hal_lowpan_server, hal_lowpan_client)
+
+
+# Allow hal_lowpan_client to be able to find the hal_lowpan_server
+hal_attribute_hwservice(hal_lowpan, hal_lowpan_hwservice)
+
+# hal_lowpan domain can write/read to/from lowpan_prop
+set_prop(hal_lowpan_server, lowpan_prop)
+
+# Allow hal_lowpan_server to open lowpan_devices
+allow hal_lowpan_server lowpan_device:chr_file rw_file_perms;
+
+###
+### neverallow rules
+###
+
+# Only LoWPAN HAL may directly access LoWPAN hardware
+neverallow { domain -hal_lowpan_server -init -ueventd } lowpan_device:chr_file ~getattr;
diff --git a/prebuilts/api/202504/private/hal_macsec.te b/prebuilts/api/202504/private/hal_macsec.te
new file mode 100644
index 0000000..27225db
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_macsec.te
@@ -0,0 +1,7 @@
+# Binder IPC from client to server, and callbacks
+binder_call(hal_macsec_client, hal_macsec_server)
+binder_call(hal_macsec_server, hal_macsec_client)
+
+hal_attribute_service(hal_macsec, hal_macsec_service)
+
+binder_use(hal_macsec_server)
diff --git a/prebuilts/api/202504/private/hal_mediaquality.te b/prebuilts/api/202504/private/hal_mediaquality.te
new file mode 100644
index 0000000..5bcdbbc
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_mediaquality.te
@@ -0,0 +1,9 @@
+starting_at_board_api(202504, `
+    binder_call(hal_mediaquality_client, hal_mediaquality_server)
+    binder_call(hal_mediaquality_server, hal_mediaquality_client)
+
+    hal_attribute_service(hal_mediaquality, hal_mediaquality_service)
+
+    binder_call(hal_mediaquality_server, servicemanager)
+    binder_call(hal_mediaquality_client, servicemanager)
+')
diff --git a/prebuilts/api/202504/private/hal_memtrack.te b/prebuilts/api/202504/private/hal_memtrack.te
new file mode 100644
index 0000000..30a4480
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_memtrack.te
@@ -0,0 +1,7 @@
+# HwBinder IPC from client to server
+binder_call(hal_memtrack_client, hal_memtrack_server)
+
+hal_attribute_hwservice(hal_memtrack, hal_memtrack_hwservice)
+
+hal_attribute_service(hal_memtrack, hal_memtrack_service)
+binder_call(hal_memtrack_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_neuralnetworks.te b/prebuilts/api/202504/private/hal_neuralnetworks.te
new file mode 100644
index 0000000..c7049fd
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_neuralnetworks.te
@@ -0,0 +1,47 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_neuralnetworks_client, hal_neuralnetworks_server)
+binder_call(hal_neuralnetworks_server, hal_neuralnetworks_client)
+
+hal_attribute_hwservice(hal_neuralnetworks, hal_neuralnetworks_hwservice)
+allow hal_neuralnetworks hidl_memory_hwservice:hwservice_manager find;
+allow hal_neuralnetworks hal_allocator:fd use;
+allow hal_neuralnetworks hal_graphics_mapper_hwservice:hwservice_manager find;
+allow hal_neuralnetworks hal_graphics_allocator:fd use;
+allow hal_neuralnetworks gpu_device:chr_file rw_file_perms;
+allow hal_neuralnetworks gpu_device:dir r_dir_perms;
+
+# Allow NN HAL service to use a client-provided fd residing in /data/data/.
+allow hal_neuralnetworks_server app_data_file:file { read write getattr map };
+allow hal_neuralnetworks_server privapp_data_file:file { read write getattr map };
+
+# Allow NN HAL service to use a client-provided fd residing in /data/local/tmp/.
+allow hal_neuralnetworks_server shell_data_file:file { read write getattr map };
+
+# Allow NN HAL service to read a client-provided ION memory fd.
+allow hal_neuralnetworks_server ion_device:chr_file r_file_perms;
+
+# Allow NN HAL service to use a client-provided fd residing in /storage
+allow hal_neuralnetworks_server storage_file:file { getattr map read };
+
+# Allow NN HAL service to read a client-provided fd residing in /data/app/.
+allow hal_neuralnetworks_server apk_data_file:file { getattr map read };
+
+# Allow NN HAL client to check the ro.nnapi.extensions.deny_on_product
+# property to determine whether to deny NNAPI extensions use for apps
+# on product partition (apps in GSI are not allowed to use NNAPI extensions).
+get_prop(hal_neuralnetworks_client, nnapi_ext_deny_product_prop);
+
+# Allow NN HAL client to read device_config_nnapi_native_prop.
+get_prop(hal_neuralnetworks_client, device_config_nnapi_native_prop)
+
+# This property is only expected to be found in /product/build.prop,
+# allow to be set only by init.
+neverallow { domain -init } nnapi_ext_deny_product_prop:property_service set;
+
+# Define sepolicy for NN AIDL HAL service
+hal_attribute_service(hal_neuralnetworks, hal_neuralnetworks_service)
+binder_call(hal_neuralnetworks_server, servicemanager)
+
+binder_use(hal_neuralnetworks_server)
+
+allow hal_neuralnetworks_server dumpstate:fifo_file write;
diff --git a/prebuilts/api/202504/private/hal_neverallows.te b/prebuilts/api/202504/private/hal_neverallows.te
new file mode 100644
index 0000000..3562888
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_neverallows.te
@@ -0,0 +1,103 @@
+# only HALs responsible for network hardware should have privileged
+# network capabilities
+neverallow {
+  halserverdomain
+  -hal_bluetooth_server
+  -hal_can_controller_server
+  -hal_wifi_server
+  -hal_wifi_hostapd_server
+  -hal_wifi_supplicant_server
+  -hal_telephony_server
+  -hal_uwb_server
+  # TODO(b/196225233): Remove hal_uwb_vendor_server
+  -hal_uwb_vendor_server
+  -hal_nlinterceptor_server
+  -hal_tv_tuner_server
+} self:global_capability_class_set { net_admin net_raw };
+
+# Unless a HAL's job is to communicate over the network, or control network
+# hardware, it should not be using network sockets.
+# NOTE: HALs for automotive devices have an exemption from this rule because in
+# a car it is common to have external modules and HALs need to communicate to
+# those modules using network.  Using this exemption for non-automotive builds
+# will result in CTS failure.
+neverallow {
+  halserverdomain
+  -hal_automotive_socket_exemption
+  -hal_can_controller_server
+  -hal_tetheroffload_server
+  -hal_wifi_server
+  -hal_wifi_hostapd_server
+  -hal_wifi_supplicant_server
+  -hal_telephony_server
+  -hal_uwb_server
+  # TODO(b/196225233): Remove hal_uwb_vendor_server
+  -hal_uwb_vendor_server
+  -hal_nlinterceptor_server
+  -hal_bluetooth_server
+  -hal_tv_tuner_server
+} domain:{ udp_socket rawip_socket } *;
+
+neverallow {
+  halserverdomain
+  -hal_automotive_socket_exemption
+  -hal_can_controller_server
+  -hal_tetheroffload_server
+  -hal_wifi_server
+  -hal_wifi_hostapd_server
+  -hal_wifi_supplicant_server
+  -hal_telephony_server
+  -hal_nlinterceptor_server
+  -hal_bluetooth_server
+  -hal_tv_tuner_server
+} {
+  domain
+  userdebug_or_eng(`-su')
+}:tcp_socket *;
+
+# The UWB HAL is not actually a networking HAL but may need to bring up and down
+# interfaces. Restrict it to only these networking operations.
+neverallow hal_uwb_vendor_server self:global_capability_class_set { net_raw };
+
+# Subset of socket_class_set likely to be usable for communication or accessible through net_admin.
+# udp_socket is required to use interface ioctls.
+neverallow hal_uwb_vendor_server domain:{ socket rawip_socket netlink_socket packet_socket key_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket qipcrtr_socket xdp_socket } *;
+
+###
+# HALs are defined as an attribute and so a given domain could hypothetically
+# have multiple HALs in it (or even all of them) with the subsequent policy of
+# the domain comprised of the union of all the HALs.
+#
+# This is a problem because
+# 1) Security sensitive components should only be accessed by specific HALs.
+# 2) hwbinder_call and the restrictions it provides cannot be reasoned about in
+#    the platform.
+# 3) The platform cannot reason about defense in depth if there are
+#    monolithic domains etc.
+#
+# As an example, hal_keymaster and hal_gatekeeper can access the TEE and while
+# its OK for them to share a process its not OK with them to share processes
+# with other hals.
+#
+# The following neverallow rules, in conjuntion with CTS tests, assert that
+# these security principles are adhered to.
+#
+# Do not allow a hal to exec another process without a domain transition.
+# TODO remove exemptions.
+neverallow {
+  halserverdomain
+  -hal_dumpstate_server
+  -hal_telephony_server
+} {
+  file_type
+  fs_type
+  # May invoke shell commands via /system/bin/sh
+  -shell_exec
+  -toolbox_exec
+}:file execute_no_trans;
+# Do not allow a process other than init to transition into a HAL domain.
+neverallow { domain -init } halserverdomain:process transition;
+# Only allow transitioning to a domain by running its executable. Do not
+# allow transitioning into a HAL domain by use of seclabel in an
+# init.*.rc script.
+neverallow * halserverdomain:process dyntransition;
diff --git a/prebuilts/api/202504/private/hal_nfc.te b/prebuilts/api/202504/private/hal_nfc.te
new file mode 100644
index 0000000..3d0202b
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_nfc.te
@@ -0,0 +1,13 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_nfc_client, hal_nfc_server)
+binder_call(hal_nfc_server, hal_nfc_client)
+binder_call(hal_nfc_server, servicemanager)
+
+hal_attribute_hwservice(hal_nfc, hal_nfc_hwservice)
+hal_attribute_service(hal_nfc, hal_nfc_service)
+
+# Set NFC properties (used by bcm2079x HAL).
+set_prop(hal_nfc, nfc_prop)
+
+# NFC device access.
+allow hal_nfc nfc_device:chr_file rw_file_perms;
diff --git a/prebuilts/api/202504/private/hal_nlinterceptor.te b/prebuilts/api/202504/private/hal_nlinterceptor.te
new file mode 100644
index 0000000..1a738a5
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_nlinterceptor.te
@@ -0,0 +1,8 @@
+binder_call(hal_nlinterceptor_client, hal_nlinterceptor_server)
+
+hal_attribute_service(hal_nlinterceptor, hal_nlinterceptor_service)
+binder_call(hal_nlinterceptor, servicemanager)
+
+allow hal_nlinterceptor self:global_capability_class_set net_admin;
+allow hal_nlinterceptor self:netlink_generic_socket create_socket_perms_no_ioctl;
+allow hal_nlinterceptor self:netlink_route_socket { create_socket_perms_no_ioctl nlmsg_readpriv nlmsg_write };
diff --git a/prebuilts/api/202504/private/hal_oemlock.te b/prebuilts/api/202504/private/hal_oemlock.te
new file mode 100644
index 0000000..9f38fa5
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_oemlock.te
@@ -0,0 +1,7 @@
+# HwBinder IPC from client to server
+binder_call(hal_oemlock_client, hal_oemlock_server)
+
+hal_attribute_hwservice(hal_oemlock, hal_oemlock_hwservice)
+hal_attribute_service(hal_oemlock, hal_oemlock_service)
+
+binder_call(hal_oemlock_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_omx.te b/prebuilts/api/202504/private/hal_omx.te
new file mode 100644
index 0000000..2611dcd
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_omx.te
@@ -0,0 +1,50 @@
+# applies all permissions to hal_omx NOT hal_omx_server
+# since OMX must always be in its own process.
+
+binder_call(hal_omx_server, binderservicedomain)
+binder_call(hal_omx_server, { appdomain -isolated_app })
+
+# Allow hal_omx_server access to composer sync fences
+allow hal_omx_server hal_graphics_composer:fd use;
+
+allow hal_omx_server ion_device:chr_file rw_file_perms;
+allow hal_omx_server hal_camera:fd use;
+
+crash_dump_fallback(hal_omx_server)
+
+# Recieve gralloc buffer FDs from bufferhubd. Note that hal_omx_server never
+# directly connects to bufferhubd via PDX. Instead, a VR app acts as a bridge
+# between those two: it talks to hal_omx_server via Binder and talks to bufferhubd
+# via PDX. Thus, there is no need to use pdx_client macro.
+allow hal_omx_server bufferhubd:fd use;
+
+hal_attribute_hwservice(hal_omx, hal_omx_hwservice)
+
+allow hal_omx_client hidl_token_hwservice:hwservice_manager find;
+
+get_prop(hal_omx_client, media_variant_prop)
+get_prop(hal_omx_server, media_variant_prop)
+
+binder_call(hal_omx_client, hal_omx_server)
+binder_call(hal_omx_server, hal_omx_client)
+
+###
+### neverallow rules
+###
+
+# hal_omx_server should never execute any executable without a
+# domain transition
+neverallow hal_omx_server { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow hal_omx_server domain:{ udp_socket rawip_socket } *;
+neverallow hal_omx_server { domain userdebug_or_eng(`-su') }:tcp_socket *;
diff --git a/prebuilts/api/202504/private/hal_power.te b/prebuilts/api/202504/private/hal_power.te
new file mode 100644
index 0000000..1eb10a1
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_power.te
@@ -0,0 +1,12 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_power_client, hal_power_server)
+binder_call(hal_power_server, hal_power_client)
+
+hal_attribute_hwservice(hal_power, hal_power_hwservice)
+hal_attribute_service(hal_power, hal_power_service)
+
+binder_call(hal_power_server, servicemanager)
+binder_call(hal_power_client, servicemanager)
+
+# power HAL sets dex2oat performance tuning properties
+set_prop(hal_power_server, dalvik_dynamic_config_prop)
diff --git a/prebuilts/api/202504/private/hal_power_stats.te b/prebuilts/api/202504/private/hal_power_stats.te
new file mode 100644
index 0000000..4076eff
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_power_stats.te
@@ -0,0 +1,9 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_power_stats_client, hal_power_stats_server)
+binder_call(hal_power_stats_server, hal_power_stats_client)
+
+hal_attribute_hwservice(hal_power_stats, hal_power_stats_hwservice)
+hal_attribute_service(hal_power_stats, hal_power_stats_service)
+
+binder_call(hal_power_stats_server, servicemanager)
+binder_call(hal_power_stats_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_rebootescrow.te b/prebuilts/api/202504/private/hal_rebootescrow.te
new file mode 100644
index 0000000..d16333b
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_rebootescrow.te
@@ -0,0 +1,6 @@
+# HwBinder IPC from client to server
+binder_call(hal_rebootescrow_client, hal_rebootescrow_server)
+
+hal_attribute_service(hal_rebootescrow, hal_rebootescrow_service)
+
+binder_use(hal_rebootescrow_server)
diff --git a/prebuilts/api/202504/private/hal_remoteaccess.te b/prebuilts/api/202504/private/hal_remoteaccess.te
new file mode 100644
index 0000000..8a55529
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_remoteaccess.te
@@ -0,0 +1,6 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_remoteaccess_client, hal_remoteaccess_server)
+binder_call(hal_remoteaccess_server, hal_remoteaccess_client)
+
+hal_attribute_service(hal_remoteaccess, hal_remoteaccess_service)
+
diff --git a/prebuilts/api/202504/private/hal_remotelyprovisionedcomponent_avf.te b/prebuilts/api/202504/private/hal_remotelyprovisionedcomponent_avf.te
new file mode 100644
index 0000000..8cc7ce5
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_remotelyprovisionedcomponent_avf.te
@@ -0,0 +1,8 @@
+# allow binder connection from client to server
+binder_call(hal_remotelyprovisionedcomponent_avf_client, hal_remotelyprovisionedcomponent_avf_server)
+
+# allow client to find the service, allow server to register the service
+hal_attribute_service(hal_remotelyprovisionedcomponent_avf, hal_remotelyprovisionedcomponent_avf_service)
+
+# allow binder communication from server to service_manager
+binder_use(hal_remotelyprovisionedcomponent_avf_server)
diff --git a/prebuilts/api/202504/private/hal_secretkeeper.te b/prebuilts/api/202504/private/hal_secretkeeper.te
new file mode 100644
index 0000000..359159f
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_secretkeeper.te
@@ -0,0 +1,12 @@
+# Domains for the Secretkeeper HAL, which provides secure (tamper evident, rollback protected)
+# storage of secrets guarded by DICE policies.
+binder_call(hal_secretkeeper_client, hal_secretkeeper_server)
+
+hal_attribute_service(hal_secretkeeper, hal_secretkeeper_service)
+
+binder_use(hal_secretkeeper_server)
+binder_use(hal_secretkeeper_client)
+
+# The Secretkeeper HAL service needs to communicate with a trusted application running
+# in the TEE, which is represented by the tee_device permission.
+allow hal_secretkeeper_server tee_device:chr_file rw_file_perms;
diff --git a/prebuilts/api/202504/private/hal_secure_element.te b/prebuilts/api/202504/private/hal_secure_element.te
new file mode 100644
index 0000000..8d3e15c
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_secure_element.te
@@ -0,0 +1,10 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_secure_element_client, hal_secure_element_server)
+binder_call(hal_secure_element_server, hal_secure_element_client)
+
+hal_attribute_hwservice(hal_secure_element, hal_secure_element_hwservice)
+hal_attribute_service(hal_secure_element, hal_secure_element_service)
+
+binder_use(hal_secure_element_server)
+
+allow hal_secure_element_client hal_secure_element_service:service_manager find;
diff --git a/prebuilts/api/202504/private/hal_sensors.te b/prebuilts/api/202504/private/hal_sensors.te
new file mode 100644
index 0000000..f25a2ea
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_sensors.te
@@ -0,0 +1,19 @@
+# HwBinder IPC from client to server
+binder_call(hal_sensors_client, hal_sensors_server)
+
+hal_attribute_hwservice(hal_sensors, hal_sensors_hwservice)
+
+# Allow sensor hals to access ashmem memory allocated by apps
+allow hal_sensors { appdomain -isolated_app }:fd use;
+
+# Allow sensor hals to access ashmem memory allocated by android.hidl.allocator
+# fd is passed in from framework sensorservice HAL.
+allow hal_sensors hal_allocator:fd use;
+
+# allow to run with real-time scheduling policy
+allow hal_sensors self:global_capability_class_set sys_nice;
+
+add_service(hal_sensors_server, hal_sensors_service)
+binder_call(hal_sensors_server, servicemanager)
+
+allow hal_sensors_client hal_sensors_service:service_manager find;
diff --git a/prebuilts/api/202504/private/hal_telephony.te b/prebuilts/api/202504/private/hal_telephony.te
new file mode 100644
index 0000000..306d459
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_telephony.te
@@ -0,0 +1,47 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_telephony_client, hal_telephony_server)
+binder_call(hal_telephony_server, hal_telephony_client)
+
+hal_attribute_hwservice(hal_telephony, hal_telephony_hwservice)
+hal_attribute_service(hal_telephony, hal_radio_service)
+
+allowxperm hal_telephony_server self:udp_socket ioctl priv_sock_ioctls;
+
+allow hal_telephony_server self:netlink_route_socket nlmsg_write;
+allow hal_telephony_server self:global_capability_class_set { setpcap setgid setuid net_admin net_raw };
+allow hal_telephony_server cgroup:dir create_dir_perms;
+allow hal_telephony_server cgroup:{ file lnk_file } r_file_perms;
+allow hal_telephony_server cgroup_v2:dir create_dir_perms;
+allow hal_telephony_server cgroup_v2:{ file lnk_file } r_file_perms;
+allow hal_telephony_server radio_device:chr_file rw_file_perms;
+allow hal_telephony_server radio_device:blk_file r_file_perms;
+allow hal_telephony_server efs_file:dir create_dir_perms;
+allow hal_telephony_server efs_file:file create_file_perms;
+allow hal_telephony_server vendor_shell_exec:file rx_file_perms;
+allow hal_telephony_server bluetooth_efs_file:file r_file_perms;
+allow hal_telephony_server bluetooth_efs_file:dir r_dir_perms;
+
+# property service
+get_prop(hal_telephony_server, telephony_config_prop)
+set_prop(hal_telephony_server, radio_control_prop)
+set_prop(hal_telephony_server, radio_prop)
+set_prop(hal_telephony_server, telephony_status_prop)
+
+allow hal_telephony_server tty_device:chr_file rw_file_perms;
+
+# Allow hal_telephony_server to create and use netlink sockets.
+allow hal_telephony_server self:netlink_socket create_socket_perms_no_ioctl;
+allow hal_telephony_server self:netlink_generic_socket create_socket_perms_no_ioctl;
+allow hal_telephony_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+# Access to wake locks
+wakelock_use(hal_telephony_server)
+
+r_dir_file(hal_telephony_server, proc_net_type)
+r_dir_file(hal_telephony_server, sysfs_type)
+
+# granting the ioctl permission for hal_telephony_server should be device specific
+allow hal_telephony_server self:socket create_socket_perms_no_ioctl;
+
+# Allow AIDL HAL shim to call HIDL HAL implementation
+binder_call(hal_telephony_server, hal_telephony_server)
diff --git a/prebuilts/api/202504/private/hal_tetheroffload.te b/prebuilts/api/202504/private/hal_tetheroffload.te
new file mode 100644
index 0000000..c9553dc
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tetheroffload.te
@@ -0,0 +1,11 @@
+## HwBinder IPC from client to server, and callbacks
+binder_call(hal_tetheroffload_client, hal_tetheroffload_server)
+binder_call(hal_tetheroffload_server, hal_tetheroffload_client)
+
+hal_attribute_hwservice(hal_tetheroffload, hal_tetheroffload_hwservice)
+hal_attribute_service(hal_tetheroffload, hal_tetheroffload_service)
+
+binder_use(hal_tetheroffload_server)
+
+# allow the client to pass the server already open netlink sockets
+allow hal_tetheroffload_server hal_tetheroffload_client:netlink_netfilter_socket { getattr read setopt write };
diff --git a/prebuilts/api/202504/private/hal_thermal.te b/prebuilts/api/202504/private/hal_thermal.te
new file mode 100644
index 0000000..13fed00
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_thermal.te
@@ -0,0 +1,10 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_thermal_client, hal_thermal_server)
+binder_call(hal_thermal_server, hal_thermal_client)
+
+hal_attribute_hwservice(hal_thermal, hal_thermal_hwservice)
+hal_attribute_service(hal_thermal, hal_thermal_service)
+
+add_service(hal_thermal_server, hal_thermal_service)
+binder_call(hal_thermal_server, servicemanager)
+binder_call(hal_thermal_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_threadnetwork.te b/prebuilts/api/202504/private/hal_threadnetwork.te
new file mode 100644
index 0000000..1f0745b
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_threadnetwork.te
@@ -0,0 +1,7 @@
+binder_call(hal_threadnetwork_client, hal_threadnetwork_server)
+binder_call(hal_threadnetwork_server, hal_threadnetwork_client)
+
+hal_attribute_service(hal_threadnetwork, hal_threadnetwork_service)
+
+binder_call(hal_threadnetwork_server, servicemanager)
+binder_call(hal_threadnetwork_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_tv_cec.te b/prebuilts/api/202504/private/hal_tv_cec.te
new file mode 100644
index 0000000..6584904
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tv_cec.te
@@ -0,0 +1,5 @@
+# HwBinder IPC from clients into server, and callbacks
+binder_call(hal_tv_cec_client, hal_tv_cec_server)
+binder_call(hal_tv_cec_server, hal_tv_cec_client)
+
+hal_attribute_hwservice(hal_tv_cec, hal_tv_cec_hwservice)
diff --git a/prebuilts/api/202504/private/hal_tv_hdmi_cec.te b/prebuilts/api/202504/private/hal_tv_hdmi_cec.te
new file mode 100644
index 0000000..eb01b67
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tv_hdmi_cec.te
@@ -0,0 +1,7 @@
+# Binder IPC from clients into server, and callbacks
+binder_call(hal_tv_hdmi_cec_client, hal_tv_hdmi_cec_server)
+binder_call(hal_tv_hdmi_cec_server, hal_tv_hdmi_cec_client)
+binder_use(hal_tv_hdmi_cec_client)
+binder_use(hal_tv_hdmi_cec_server)
+
+hal_attribute_service(hal_tv_hdmi_cec, hal_tv_hdmi_cec_service)
diff --git a/prebuilts/api/202504/private/hal_tv_hdmi_connection.te b/prebuilts/api/202504/private/hal_tv_hdmi_connection.te
new file mode 100644
index 0000000..f6de27d
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tv_hdmi_connection.te
@@ -0,0 +1,7 @@
+# Binder IPC from clients into server, and callbacks
+binder_call(hal_tv_hdmi_connection_client, hal_tv_hdmi_connection_server)
+binder_call(hal_tv_hdmi_connection_server, hal_tv_hdmi_connection_client)
+binder_use(hal_tv_hdmi_connection_client)
+binder_use(hal_tv_hdmi_connection_server)
+
+hal_attribute_service(hal_tv_hdmi_connection, hal_tv_hdmi_connection_service)
diff --git a/prebuilts/api/202504/private/hal_tv_hdmi_earc.te b/prebuilts/api/202504/private/hal_tv_hdmi_earc.te
new file mode 100644
index 0000000..2d76fc6
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tv_hdmi_earc.te
@@ -0,0 +1,7 @@
+# Binder IPC from clients into server, and callbacks
+binder_call(hal_tv_hdmi_earc_client, hal_tv_hdmi_earc_server)
+binder_call(hal_tv_hdmi_earc_server, hal_tv_hdmi_earc_client)
+binder_use(hal_tv_hdmi_earc_client)
+binder_use(hal_tv_hdmi_earc_server)
+
+hal_attribute_service(hal_tv_hdmi_earc, hal_tv_hdmi_earc_service)
diff --git a/prebuilts/api/202504/private/hal_tv_input.te b/prebuilts/api/202504/private/hal_tv_input.te
new file mode 100644
index 0000000..b345189
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tv_input.te
@@ -0,0 +1,9 @@
+# HwBinder IPC from clients into server, and callbacks
+binder_call(hal_tv_input_client, hal_tv_input_server)
+binder_call(hal_tv_input_server, hal_tv_input_client)
+
+hal_attribute_hwservice(hal_tv_input, hal_tv_input_hwservice)
+hal_attribute_service(hal_tv_input, hal_tv_input_service)
+
+binder_call(hal_tv_input_server, servicemanager)
+binder_call(hal_tv_input_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_tv_tuner.te b/prebuilts/api/202504/private/hal_tv_tuner.te
new file mode 100644
index 0000000..4b7c030
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_tv_tuner.te
@@ -0,0 +1,8 @@
+binder_call(hal_tv_tuner_client, hal_tv_tuner_server)
+binder_call(hal_tv_tuner_server, hal_tv_tuner_client)
+
+hal_attribute_hwservice(hal_tv_tuner, hal_tv_tuner_hwservice)
+hal_attribute_service(hal_tv_tuner, hal_tv_tuner_service)
+
+binder_call(hal_tv_tuner_server, servicemanager)
+binder_call(hal_tv_tuner_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_usb.te b/prebuilts/api/202504/private/hal_usb.te
new file mode 100644
index 0000000..45cafaa
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_usb.te
@@ -0,0 +1,21 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_usb_client, hal_usb_server)
+binder_call(hal_usb_server, hal_usb_client)
+
+hal_attribute_service(hal_usb, hal_usb_service)
+binder_call(hal_usb_server, servicemanager)
+
+hal_attribute_hwservice(hal_usb, hal_usb_hwservice)
+
+allow hal_usb self:netlink_kobject_uevent_socket create;
+allow hal_usb self:netlink_kobject_uevent_socket setopt;
+allow hal_usb self:netlink_kobject_uevent_socket getopt;
+allow hal_usb self:netlink_kobject_uevent_socket bind;
+allow hal_usb self:netlink_kobject_uevent_socket read;
+allow hal_usb sysfs:dir open;
+allow hal_usb sysfs:dir read;
+allow hal_usb sysfs:file read;
+allow hal_usb sysfs:file open;
+allow hal_usb sysfs:file write;
+allow hal_usb sysfs:file getattr;
+
diff --git a/prebuilts/api/202504/private/hal_usb_gadget.te b/prebuilts/api/202504/private/hal_usb_gadget.te
new file mode 100644
index 0000000..c0df9a9
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_usb_gadget.te
@@ -0,0 +1,19 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_usb_gadget_client, hal_usb_gadget_server)
+binder_call(hal_usb_gadget_server, hal_usb_gadget_client)
+
+hal_attribute_service(hal_usb_gadget, hal_usb_gadget_service)
+binder_call(hal_usb_gadget_server, servicemanager)
+
+hal_attribute_hwservice(hal_usb_gadget, hal_usb_gadget_hwservice)
+
+# Configuring usb gadget functions
+allow hal_usb_gadget_server configfs:lnk_file { read create unlink};
+allow hal_usb_gadget_server configfs:dir rw_dir_perms;
+allow hal_usb_gadget_server configfs:file create_file_perms;
+allow hal_usb_gadget_server functionfs:dir { read search };
+allow hal_usb_gadget_server functionfs:file read;
+allow hal_usb_gadget_server proc_interrupts:file r_file_perms;
+
+# Read access to ro.usb.uvc.enabled
+get_prop(hal_usb_gadget_server, usb_uvc_enabled_prop)
diff --git a/prebuilts/api/202504/private/hal_uwb.te b/prebuilts/api/202504/private/hal_uwb.te
new file mode 100644
index 0000000..dc334fc
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_uwb.te
@@ -0,0 +1,8 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_uwb_client, hal_uwb_server)
+binder_call(hal_uwb_server, hal_uwb_client)
+
+hal_attribute_service(hal_uwb, hal_uwb_service)
+
+binder_call(hal_uwb_server, servicemanager)
+binder_call(hal_uwb_client, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_vehicle.te b/prebuilts/api/202504/private/hal_vehicle.te
new file mode 100644
index 0000000..c9eff55
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_vehicle.te
@@ -0,0 +1,7 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_vehicle_client, hal_vehicle_server)
+binder_call(hal_vehicle_server, hal_vehicle_client)
+
+
+hal_attribute_hwservice(hal_vehicle, hal_vehicle_hwservice)
+hal_attribute_service(hal_vehicle, hal_vehicle_service)
diff --git a/prebuilts/api/202504/private/hal_vibrator.te b/prebuilts/api/202504/private/hal_vibrator.te
new file mode 100644
index 0000000..6909ff2
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_vibrator.te
@@ -0,0 +1,17 @@
+# HwBinder IPC client/server
+binder_call(hal_vibrator_client, hal_vibrator_server)
+binder_call(hal_vibrator_server, hal_vibrator_client);
+
+hal_attribute_hwservice(hal_vibrator, hal_vibrator_hwservice)
+hal_attribute_service(hal_vibrator, hal_vibrator_service)
+
+binder_call(hal_vibrator_server, servicemanager)
+
+allow hal_vibrator_server dumpstate:fifo_file write;
+
+# vibrator sysfs rw access
+allow hal_vibrator sysfs_vibrator:file rw_file_perms;
+allow hal_vibrator sysfs_vibrator:dir search;
+
+# Allow HAL vibrator to control some parameters of a vibration, such as scaling.
+allow hal_vibrator fwk_vibrator_control_service:service_manager find;
diff --git a/prebuilts/api/202504/private/hal_vm_capabilities.te b/prebuilts/api/202504/private/hal_vm_capabilities.te
new file mode 100644
index 0000000..3197784
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_vm_capabilities.te
@@ -0,0 +1,9 @@
+# Domain for the VM capability HAL, which is used to allow some pVMs to issue
+# vendor-specific SMCs.
+
+binder_call(hal_vm_capabilities_client, hal_vm_capabilities_server)
+
+hal_attribute_service(hal_vm_capabilities, hal_vm_capabilities_service)
+
+binder_use(hal_vm_capabilities_client)
+binder_use(hal_vm_capabilities_server)
diff --git a/prebuilts/api/202504/private/hal_vr.te b/prebuilts/api/202504/private/hal_vr.te
new file mode 100644
index 0000000..e52c77f
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_vr.te
@@ -0,0 +1,5 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_vr_client, hal_vr_server)
+binder_call(hal_vr_server, hal_vr_client)
+
+hal_attribute_hwservice(hal_vr, hal_vr_hwservice)
diff --git a/prebuilts/api/202504/private/hal_weaver.te b/prebuilts/api/202504/private/hal_weaver.te
new file mode 100644
index 0000000..2b34989
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_weaver.te
@@ -0,0 +1,7 @@
+# HwBinder IPC from client to server
+binder_call(hal_weaver_client, hal_weaver_server)
+
+hal_attribute_hwservice(hal_weaver, hal_weaver_hwservice)
+hal_attribute_service(hal_weaver, hal_weaver_service)
+
+binder_call(hal_weaver_server, servicemanager)
diff --git a/prebuilts/api/202504/private/hal_wifi.te b/prebuilts/api/202504/private/hal_wifi.te
new file mode 100644
index 0000000..a0826bb
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_wifi.te
@@ -0,0 +1,35 @@
+# HwBinder IPC from client to server, and callbacks
+binder_call(hal_wifi_client, hal_wifi_server)
+binder_call(hal_wifi_server, hal_wifi_client)
+
+hal_attribute_hwservice(hal_wifi, hal_wifi_hwservice)
+hal_attribute_service(hal_wifi, hal_wifi_service)
+
+binder_use(hal_wifi_server)
+
+r_dir_file(hal_wifi, proc_net_type)
+r_dir_file(hal_wifi, sysfs_type)
+
+set_prop(hal_wifi_server, wifi_hal_prop)
+set_prop(hal_wifi, wifi_prop)
+userdebug_or_eng(`get_prop(hal_wifi, persist_vendor_debug_wifi_prop)')
+
+# allow hal wifi set interfaces up and down and get the factory MAC
+allow hal_wifi self:udp_socket create_socket_perms;
+allowxperm hal_wifi self:udp_socket ioctl { SIOCSIFFLAGS SIOCSIFHWADDR SIOCETHTOOL };
+
+allow hal_wifi self:global_capability_class_set { net_admin net_raw };
+# allow hal_wifi to speak to nl80211 in the kernel
+allow hal_wifi self:netlink_socket create_socket_perms_no_ioctl;
+# newer kernels (e.g. 4.4 but not 4.1) have a new class for sockets
+allow hal_wifi self:netlink_generic_socket create_socket_perms_no_ioctl;
+# hal_wifi writes firmware paths to this file.
+allow hal_wifi sysfs_wlan_fwpath:file { w_file_perms };
+# allow hal_wifi to access /proc/modules to check if Wi-Fi driver is loaded
+allow hal_wifi proc_modules:file { getattr open read };
+# Allow hal_wifi to send dump info to dumpstate
+allow hal_wifi dumpstate:fifo_file write;
+
+# allow hal_wifi to write into /data/vendor/tombstones/wifi
+allow hal_wifi_server tombstone_wifi_data_file:dir rw_dir_perms;
+allow hal_wifi_server tombstone_wifi_data_file:file create_file_perms;
diff --git a/prebuilts/api/202504/private/hal_wifi_hostapd.te b/prebuilts/api/202504/private/hal_wifi_hostapd.te
new file mode 100644
index 0000000..eeb72ba
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_wifi_hostapd.te
@@ -0,0 +1,32 @@
+# HwBinder IPC from client to server
+binder_call(hal_wifi_hostapd_client, hal_wifi_hostapd_server)
+binder_call(hal_wifi_hostapd_server, hal_wifi_hostapd_client)
+
+hal_attribute_hwservice(hal_wifi_hostapd, hal_wifi_hostapd_hwservice)
+hal_attribute_service(hal_wifi_hostapd, hal_wifi_hostapd_service)
+
+binder_use(hal_wifi_hostapd_server)
+
+allow hal_wifi_hostapd_server dumpstate:fifo_file write;
+
+allow hal_wifi_hostapd_server self:global_capability_class_set { net_admin net_raw };
+
+allow hal_wifi_hostapd_server sysfs_net:dir search;
+
+# Allow hal_wifi_hostapd to access /proc/net/psched
+allow hal_wifi_hostapd_server proc_net_type:file { getattr open read };
+
+# Various socket permissions.
+allowxperm hal_wifi_hostapd_server self:udp_socket ioctl priv_sock_ioctls;
+allow hal_wifi_hostapd_server self:netlink_socket create_socket_perms_no_ioctl;
+allow hal_wifi_hostapd_server self:netlink_generic_socket create_socket_perms_no_ioctl;
+allow hal_wifi_hostapd_server self:packet_socket create_socket_perms_no_ioctl;
+allow hal_wifi_hostapd_server self:netlink_route_socket nlmsg_write;
+
+###
+### neverallow rules
+###
+
+# hal_wifi_hostapd should not trust any data from sdcards
+neverallow hal_wifi_hostapd_server { sdcard_type fuse }:dir ~getattr;
+neverallow hal_wifi_hostapd_server { sdcard_type fuse }:file *;
diff --git a/prebuilts/api/202504/private/hal_wifi_supplicant.te b/prebuilts/api/202504/private/hal_wifi_supplicant.te
new file mode 100644
index 0000000..498469d
--- /dev/null
+++ b/prebuilts/api/202504/private/hal_wifi_supplicant.te
@@ -0,0 +1,38 @@
+# HwBinder IPC from client to server
+binder_call(hal_wifi_supplicant_client, hal_wifi_supplicant_server)
+binder_call(hal_wifi_supplicant_server, hal_wifi_supplicant_client)
+
+hal_attribute_hwservice(hal_wifi_supplicant, hal_wifi_supplicant_hwservice)
+hal_attribute_service(hal_wifi_supplicant, hal_wifi_supplicant_service)
+
+# in addition to ioctls allowlisted for all domains, grant hal_wifi_supplicant priv_sock_ioctls.
+allowxperm hal_wifi_supplicant self:udp_socket ioctl priv_sock_ioctls;
+
+r_dir_file(hal_wifi_supplicant, sysfs_type)
+r_dir_file(hal_wifi_supplicant, proc_net_type)
+
+allow hal_wifi_supplicant self:global_capability_class_set { setuid net_admin setgid net_raw };
+allow hal_wifi_supplicant cgroup:dir create_dir_perms;
+allow hal_wifi_supplicant cgroup_v2:dir create_dir_perms;
+allow hal_wifi_supplicant self:netlink_route_socket nlmsg_write;
+allow hal_wifi_supplicant self:netlink_socket create_socket_perms_no_ioctl;
+allow hal_wifi_supplicant self:netlink_generic_socket create_socket_perms_no_ioctl;
+allow hal_wifi_supplicant self:packet_socket create_socket_perms;
+allowxperm hal_wifi_supplicant self:packet_socket ioctl { unpriv_sock_ioctls priv_sock_ioctls unpriv_tty_ioctls };
+
+use_keystore(hal_wifi_supplicant)
+binder_use(hal_wifi_supplicant_server)
+
+# Allow the WI-FI HAL to use keys in the keystore namespace wifi_key.
+allow hal_wifi_supplicant wifi_key:keystore2_key {
+    get_info
+    use
+};
+
+###
+### neverallow rules
+###
+
+# wpa_supplicant should not trust any data from sdcards
+neverallow hal_wifi_supplicant_server { sdcard_type fuse }:dir ~getattr;
+neverallow hal_wifi_supplicant_server { sdcard_type fuse }:file *;
diff --git a/prebuilts/api/202504/private/halclientdomain.te b/prebuilts/api/202504/private/halclientdomain.te
new file mode 100644
index 0000000..9dcd3ee
--- /dev/null
+++ b/prebuilts/api/202504/private/halclientdomain.te
@@ -0,0 +1,13 @@
+###
+### Rules for all domains which are clients of a HAL
+###
+
+# Find out whether a HAL in passthrough/in-process mode or
+# binderized/out-of-process mode
+hwbinder_use(halclientdomain)
+
+# Used to wait for hwservicemanager
+get_prop(halclientdomain, hwservicemanager_prop)
+
+# Wait for HAL server to be up (used by getService)
+allow halclientdomain hidl_manager_hwservice:hwservice_manager find;
diff --git a/prebuilts/api/202504/private/halserverdomain.te b/prebuilts/api/202504/private/halserverdomain.te
new file mode 100644
index 0000000..f36e0e7
--- /dev/null
+++ b/prebuilts/api/202504/private/halserverdomain.te
@@ -0,0 +1,12 @@
+###
+### Rules for all domains which offer a HAL service over HwBinder
+###
+
+# Register the HAL service with hwservicemanager
+hwbinder_use(halserverdomain)
+
+# Find HAL implementations
+allow halserverdomain system_file:dir r_dir_perms;
+
+# Used to wait for hwservicemanager
+get_prop(halserverdomain, hwservicemanager_prop)
diff --git a/prebuilts/api/202504/private/healthd.te b/prebuilts/api/202504/private/healthd.te
new file mode 100644
index 0000000..cf422ed
--- /dev/null
+++ b/prebuilts/api/202504/private/healthd.te
@@ -0,0 +1 @@
+typeattribute healthd coredomain;
diff --git a/prebuilts/api/202504/private/heapprofd.te b/prebuilts/api/202504/private/heapprofd.te
new file mode 100644
index 0000000..39d0bbb
--- /dev/null
+++ b/prebuilts/api/202504/private/heapprofd.te
@@ -0,0 +1,75 @@
+# Android heap profiling daemon. go/heapprofd.
+type heapprofd_exec, exec_type, file_type, system_file_type;
+type heapprofd_tmpfs, file_type;
+
+init_daemon_domain(heapprofd)
+tmpfs_domain(heapprofd)
+
+# Allow apps in other MLS contexts (for multi-user) to access
+# shared memory buffers created by heapprofd.
+typeattribute heapprofd_tmpfs mlstrustedobject;
+
+set_prop(heapprofd, heapprofd_prop);
+
+# Necessary for /proc/[pid]/cmdline access & sending signals.
+typeattribute heapprofd mlstrustedsubject;
+
+# Allow sending signals to processes. This excludes SIGKILL, SIGSTOP and
+# SIGCHLD, which are controlled by separate permissions.
+allow heapprofd self:capability kill;
+
+# When scanning /proc/[pid]/cmdline to find matching processes for by-name
+# profiling, only allowlisted domains will be allowed by SELinux. Avoid
+# spamming logs with denials for entries that we can not access.
+dontaudit heapprofd domain:dir { search open };
+
+# Write trace data to the Perfetto traced daemon. This requires connecting to
+# its producer socket and obtaining a (per-process) tmpfs fd.
+perfetto_producer(heapprofd)
+
+# When handling profiling for all processes, heapprofd needs to read
+# executables/libraries/etc to do stack unwinding.
+r_dir_file(heapprofd, nativetest_data_file)
+r_dir_file(heapprofd, system_file_type)
+r_dir_file(heapprofd, apk_data_file)
+r_dir_file(heapprofd, dalvikcache_data_file)
+r_dir_file(heapprofd, vendor_file_type)
+r_dir_file(heapprofd, shell_test_data_file)
+# ART apex files and directory access to the containing /data/misc/apexdata.
+r_dir_file(heapprofd, apex_art_data_file)
+allow heapprofd apex_module_data_file:dir { getattr search };
+
+# Some dex files are not world-readable.
+# We are still constrained by the SELinux rules above.
+allow heapprofd self:global_capability_class_set dac_read_search;
+
+# For checking profileability.
+allow heapprofd packages_list_file:file r_file_perms;
+
+# Never allow profiling privileged or otherwise incompatible domains.
+# Corresponding allow-rule is in private/domain.te.
+never_profile_heap(`{
+  apexd
+  app_zygote
+  bpfloader
+  hal_configstore_server
+  init
+  kernel
+  keystore
+  llkd
+  logd
+  logpersist
+  recovery
+  recovery_persist
+  recovery_refresh
+  ueventd
+  vendor_init
+  vold
+  webview_zygote
+  zygote
+}')
+
+full_treble_only(`
+  neverallow heapprofd vendor_file_type:file no_w_file_perms;
+  neverallow heapprofd { vendor_file_type -vndk_sp_file }:file no_x_file_perms;
+')
diff --git a/prebuilts/api/202504/private/hidl_lazy_test_server.te b/prebuilts/api/202504/private/hidl_lazy_test_server.te
new file mode 100644
index 0000000..04e8c9f
--- /dev/null
+++ b/prebuilts/api/202504/private/hidl_lazy_test_server.te
@@ -0,0 +1,8 @@
+type hidl_lazy_test_server, domain;
+type hidl_lazy_test_server_exec, exec_type, file_type, system_file_type;
+
+userdebug_or_eng(`
+  typeattribute hidl_lazy_test_server coredomain;
+  init_daemon_domain(hidl_lazy_test_server)
+  hal_server_domain(hidl_lazy_test_server, hal_lazy_test)
+')
diff --git a/prebuilts/api/202504/private/hwservice.te b/prebuilts/api/202504/private/hwservice.te
new file mode 100644
index 0000000..1a56eb7
--- /dev/null
+++ b/prebuilts/api/202504/private/hwservice.te
@@ -0,0 +1,10 @@
+type hal_lazy_test_hwservice, hwservice_manager_type, protected_hwservice;
+
+###
+### Neverallow rules
+###
+
+# hwservicemanager handles registering or looking up named services.
+# It does not make sense to register or lookup something which is not a
+# hwservice. Trigger a compile error if this occurs.
+neverallow domain ~hwservice_manager_type:hwservice_manager { add find };
diff --git a/prebuilts/api/202504/private/hwservice_contexts b/prebuilts/api/202504/private/hwservice_contexts
new file mode 100644
index 0000000..c56454f
--- /dev/null
+++ b/prebuilts/api/202504/private/hwservice_contexts
@@ -0,0 +1,87 @@
+android.frameworks.automotive.display::IAutomotiveDisplayProxyService u:object_r:fwk_automotive_display_hwservice:s0
+android.frameworks.bufferhub::IBufferHub                        u:object_r:fwk_bufferhub_hwservice:s0
+android.frameworks.cameraservice.service::ICameraService        u:object_r:fwk_camera_hwservice:s0
+android.frameworks.displayservice::IDisplayService              u:object_r:fwk_display_hwservice:s0
+android.frameworks.schedulerservice::ISchedulingPolicyService   u:object_r:fwk_scheduler_hwservice:s0
+android.frameworks.sensorservice::ISensorManager                u:object_r:fwk_sensor_hwservice:s0
+android.frameworks.stats::IStats                                u:object_r:fwk_stats_hwservice:s0
+android.hardware.atrace::IAtraceDevice                          u:object_r:hal_atrace_hwservice:s0
+android.hardware.audio.effect::IEffectsFactory                  u:object_r:hal_audio_hwservice:s0
+android.hardware.audio::IDevicesFactory                         u:object_r:hal_audio_hwservice:s0
+android.hardware.authsecret::IAuthSecret                        u:object_r:hal_authsecret_hwservice:s0
+android.hardware.automotive.audiocontrol::IAudioControl         u:object_r:hal_audiocontrol_hwservice:s0
+android.hardware.automotive.can::ICanController                 u:object_r:hal_can_controller_hwservice:s0
+android.hardware.automotive.can::ICanBus                        u:object_r:hal_can_bus_hwservice:s0
+android.hardware.automotive.evs::IEvsEnumerator                 u:object_r:hal_evs_hwservice:s0
+android.hardware.automotive.vehicle::IVehicle                   u:object_r:hal_vehicle_hwservice:s0
+android.hardware.biometrics.face::IBiometricsFace               u:object_r:hal_face_hwservice:s0
+android.hardware.biometrics.fingerprint::IBiometricsFingerprint u:object_r:hal_fingerprint_hwservice:s0
+android.hardware.bluetooth::IBluetoothHci                       u:object_r:hal_bluetooth_hwservice:s0
+android.hardware.bluetooth.a2dp::IBluetoothAudioOffload         u:object_r:hal_audio_hwservice:s0
+android.hardware.bluetooth.audio::IBluetoothAudioProvidersFactory   u:object_r:hal_audio_hwservice:s0
+android.hardware.boot::IBootControl                             u:object_r:hal_bootctl_hwservice:s0
+android.hardware.broadcastradio::IBroadcastRadio                u:object_r:hal_broadcastradio_hwservice:s0
+android.hardware.broadcastradio::IBroadcastRadioFactory         u:object_r:hal_broadcastradio_hwservice:s0
+android.hardware.camera.provider::ICameraProvider               u:object_r:hal_camera_hwservice:s0
+android.hardware.configstore::ISurfaceFlingerConfigs            u:object_r:hal_configstore_ISurfaceFlingerConfigs:s0
+android.hardware.confirmationui::IConfirmationUI                u:object_r:hal_confirmationui_hwservice:s0
+android.hardware.contexthub::IContexthub                        u:object_r:hal_contexthub_hwservice:s0
+android.hardware.cas::IMediaCasService                          u:object_r:hal_cas_hwservice:s0
+android.hardware.drm::ICryptoFactory                            u:object_r:hal_drm_hwservice:s0
+android.hardware.drm::IDrmFactory                               u:object_r:hal_drm_hwservice:s0
+android.hardware.dumpstate::IDumpstateDevice                    u:object_r:hal_dumpstate_hwservice:s0
+android.hardware.gatekeeper::IGatekeeper                        u:object_r:hal_gatekeeper_hwservice:s0
+android.hardware.gnss::IGnss                                    u:object_r:hal_gnss_hwservice:s0
+android.hardware.graphics.allocator::IAllocator                 u:object_r:hal_graphics_allocator_hwservice:s0
+android.hardware.graphics.composer::IComposer                   u:object_r:hal_graphics_composer_hwservice:s0
+android.hardware.tv.mediaquality::IPictureProfileChangedListener     u:object_r:hal_graphics_composer_hwservice:s0
+android.hardware.graphics.mapper::IMapper                       u:object_r:hal_graphics_mapper_hwservice:s0
+android.hardware.health::IHealth                                u:object_r:hal_health_hwservice:s0
+android.hardware.health.storage::IStorage                       u:object_r:hal_health_storage_hwservice:s0
+android.hardware.input.classifier::IInputClassifier             u:object_r:hal_input_classifier_hwservice:s0
+android.hardware.ir::IConsumerIr                                u:object_r:hal_ir_hwservice:s0
+android.hardware.keymaster::IKeymasterDevice                    u:object_r:hal_keymaster_hwservice:s0
+android.hardware.tests.lazy::ILazy                              u:object_r:hal_lazy_test_hwservice:s0
+android.hardware.tests.lazy_cb::ILazyCb                         u:object_r:hal_lazy_test_hwservice:s0
+android.hardware.light::ILight                                  u:object_r:hal_light_hwservice:s0
+android.hardware.lowpan::ILowpanDevice                          u:object_r:hal_lowpan_hwservice:s0
+android.hardware.media.omx::IOmx                                u:object_r:hal_omx_hwservice:s0
+android.hardware.media.omx::IOmxStore                           u:object_r:hal_omx_hwservice:s0
+android.hardware.media.c2::IComponentStore                      u:object_r:hal_codec2_hwservice:s0
+android.hardware.memtrack::IMemtrack                            u:object_r:hal_memtrack_hwservice:s0
+android.hardware.neuralnetworks::IDevice                        u:object_r:hal_neuralnetworks_hwservice:s0
+android.hardware.nfc::INfc                                      u:object_r:hal_nfc_hwservice:s0
+android.hardware.oemlock::IOemLock                              u:object_r:hal_oemlock_hwservice:s0
+android.hardware.power::IPower                                  u:object_r:hal_power_hwservice:s0
+android.hardware.power.stats::IPowerStats                       u:object_r:hal_power_stats_hwservice:s0
+android.hardware.radio.config::IRadioConfig                     u:object_r:hal_telephony_hwservice:s0
+android.hardware.radio.deprecated::IOemHook                     u:object_r:hal_telephony_hwservice:s0
+android.hardware.radio::IRadio                                  u:object_r:hal_telephony_hwservice:s0
+android.hardware.radio::ISap                                    u:object_r:hal_telephony_hwservice:s0
+android.hardware.renderscript::IDevice                          u:object_r:hal_renderscript_hwservice:s0
+android.hardware.secure_element::ISecureElement                 u:object_r:hal_secure_element_hwservice:s0
+android.hardware.sensors::ISensors                              u:object_r:hal_sensors_hwservice:s0
+android.hardware.soundtrigger::ISoundTriggerHw                  u:object_r:hal_audio_hwservice:s0
+android.hardware.tetheroffload.config::IOffloadConfig           u:object_r:hal_tetheroffload_hwservice:s0
+android.hardware.tetheroffload.control::IOffloadControl         u:object_r:hal_tetheroffload_hwservice:s0
+android.hardware.thermal::IThermal                              u:object_r:hal_thermal_hwservice:s0
+android.hardware.tv.cec::IHdmiCec                               u:object_r:hal_tv_cec_hwservice:s0
+android.hardware.tv.input::ITvInput                             u:object_r:hal_tv_input_hwservice:s0
+android.hardware.tv.tuner::ITuner                             	u:object_r:hal_tv_tuner_hwservice:s0
+android.hardware.usb::IUsb                                      u:object_r:hal_usb_hwservice:s0
+android.hardware.usb.gadget::IUsbGadget                         u:object_r:hal_usb_gadget_hwservice:s0
+android.hardware.vibrator::IVibrator                            u:object_r:hal_vibrator_hwservice:s0
+android.hardware.vr::IVr                                        u:object_r:hal_vr_hwservice:s0
+android.hardware.weaver::IWeaver                                u:object_r:hal_weaver_hwservice:s0
+android.hardware.wifi::IWifi                                    u:object_r:hal_wifi_hwservice:s0
+android.hardware.wifi.hostapd::IHostapd                         u:object_r:hal_wifi_hostapd_hwservice:s0
+android.hardware.wifi.supplicant::ISupplicant                   u:object_r:hal_wifi_supplicant_hwservice:s0
+android.hidl.allocator::IAllocator                              u:object_r:hidl_allocator_hwservice:s0
+android.hidl.base::IBase                                        u:object_r:hidl_base_hwservice:s0
+android.hidl.manager::IServiceManager                           u:object_r:hidl_manager_hwservice:s0
+android.hidl.memory::IMapper                                    u:object_r:hidl_memory_hwservice:s0
+android.hidl.token::ITokenManager                               u:object_r:hidl_token_hwservice:s0
+android.system.net.netd::INetd                                  u:object_r:system_net_netd_hwservice:s0
+android.system.suspend::ISystemSuspend                          u:object_r:system_suspend_hwservice:s0
+android.system.wifi.keystore::IKeystore                         u:object_r:system_wifi_keystore_hwservice:s0
+*                                                               u:object_r:default_android_hwservice:s0
diff --git a/prebuilts/api/202504/private/hwservicemanager.te b/prebuilts/api/202504/private/hwservicemanager.te
new file mode 100644
index 0000000..5605c4d
--- /dev/null
+++ b/prebuilts/api/202504/private/hwservicemanager.te
@@ -0,0 +1,32 @@
+typeattribute hwservicemanager coredomain;
+
+init_daemon_domain(hwservicemanager)
+
+add_hwservice(hwservicemanager, hidl_manager_hwservice)
+add_hwservice(hwservicemanager, hidl_token_hwservice)
+
+set_prop(hwservicemanager, ctl_interface_start_prop)
+set_prop(hwservicemanager, hwservicemanager_prop)
+
+# hwservicemanager is using bootstrap bionic
+use_bootstrap_libs(hwservicemanager)
+
+# hwservicemanager is using apex_info via libvintf
+use_apex_info(hwservicemanager)
+
+# Note that we do not use the binder_* macros here.
+# hwservicemanager provides name service (aka context manager)
+# for hwbinder.
+# Additionally, it initiates binder IPC calls to
+# clients who request service notifications. The permission
+# to do this is granted in the hwbinder_use macro.
+allow hwservicemanager self:binder set_context_mgr;
+
+# Scan through /system/lib64/hw looking for installed HALs
+allow hwservicemanager system_file:dir r_dir_perms;
+
+# Read hwservice_contexts
+allow hwservicemanager hwservice_contexts_file:file r_file_perms;
+
+# Check SELinux permissions.
+selinux_check_access(hwservicemanager)
diff --git a/prebuilts/api/202504/private/idmap.te b/prebuilts/api/202504/private/idmap.te
new file mode 100644
index 0000000..2c32b91
--- /dev/null
+++ b/prebuilts/api/202504/private/idmap.te
@@ -0,0 +1,26 @@
+typeattribute idmap coredomain;
+
+init_daemon_domain(idmap)
+
+# Allow read + write access to /data/resource-cache
+allow idmap resourcecache_data_file:file create_file_perms;
+allow idmap resourcecache_data_file:dir rw_dir_perms;
+
+# Open and read from target and overlay apk files passed by argument.
+allow idmap apk_data_file:file r_file_perms;
+allow idmap apk_data_file:dir search;
+
+# Allow /data/app/vmdl*.tmp, /data/app-private/vmdl*.tmp files
+allow idmap { apk_tmp_file apk_private_tmp_file }:file r_file_perms;
+allow idmap { apk_tmp_file apk_private_tmp_file }:dir search;
+
+# Allow apps access to /vendor/app
+r_dir_file(idmap, vendor_app_file)
+
+# Allow apps access to /vendor/overlay
+r_dir_file(idmap, vendor_overlay_file)
+
+# Allow the idmap2d binary to register as a service and communicate via AIDL
+binder_use(idmap)
+binder_service(idmap)
+add_service(idmap, idmap_service)
diff --git a/prebuilts/api/202504/private/incident.te b/prebuilts/api/202504/private/incident.te
new file mode 100644
index 0000000..19db7d7
--- /dev/null
+++ b/prebuilts/api/202504/private/incident.te
@@ -0,0 +1,47 @@
+typeattribute incident coredomain;
+
+type incident_exec, system_file_type, exec_type, file_type;
+
+# switch to incident domain for incident command
+domain_auto_trans(shell, incident_exec, incident)
+domain_auto_trans(dumpstate, incident_exec, incident)
+
+# allow incident access to stdout from its parent shell.
+allow incident shell:fd use;
+
+# allow incident to communicate with dumpstate, and write incident report to
+# /data/data/com.android.shell/files/bugreports/tmp_incident_report
+allow incident dumpstate:fd use;
+allow incident dumpstate:unix_stream_socket { read write };
+allow incident shell_data_file:file write;
+
+# allow incident be able to output data for CTS to fetch.
+allow incident devpts:chr_file { read write };
+
+# allow incident to communicate use, read and write over the adb
+# connection.
+allow incident adbd:fd use;
+allow incident adbd:unix_stream_socket { read write };
+
+# allow adbd to reap incident
+allow incident adbd:process { sigchld };
+
+# Allow the incident command to talk to the incidentd over the binder, and get
+# back the incident report data from a ParcelFileDescriptor.
+binder_use(incident)
+allow incident incident_service:service_manager find;
+binder_call(incident, incidentd)
+allow incident incidentd:fifo_file write;
+
+# only allow incident being called by shell or dumpstate
+neverallow {
+    domain
+    -su
+    -shell
+    -incident
+    -dumpstate
+    userdebug_or_eng(`-overlay_remounter')
+} incident_exec:file {
+    execute
+    execute_no_trans
+};
diff --git a/prebuilts/api/202504/private/incident_helper.te b/prebuilts/api/202504/private/incident_helper.te
new file mode 100644
index 0000000..cdaf144
--- /dev/null
+++ b/prebuilts/api/202504/private/incident_helper.te
@@ -0,0 +1,23 @@
+typeattribute incident_helper coredomain;
+
+type incident_helper_exec, system_file_type, exec_type, file_type;
+
+# switch to incident_helper domain for incident_helper command
+domain_auto_trans(incidentd, incident_helper_exec, incident_helper)
+
+# use pipe to transmit data from/to incidentd/incident_helper for parsing
+allow incident_helper { shell incident incidentd dumpstate }:fd use;
+allow incident_helper { shell incident incidentd dumpstate }:fifo_file { getattr read write };
+allow incident_helper incidentd:unix_stream_socket { read write };
+
+# only allow incidentd and shell to call incident_helper
+neverallow {
+    domain
+    -incidentd
+    -incident_helper
+    -shell
+    userdebug_or_eng(`-overlay_remounter')
+} incident_helper_exec:file {
+    execute
+    execute_no_trans
+};
diff --git a/prebuilts/api/202504/private/incidentd.te b/prebuilts/api/202504/private/incidentd.te
new file mode 100644
index 0000000..11da9ea
--- /dev/null
+++ b/prebuilts/api/202504/private/incidentd.te
@@ -0,0 +1,220 @@
+typeattribute incidentd coredomain;
+typeattribute incidentd mlstrustedsubject;
+
+init_daemon_domain(incidentd)
+type incidentd_exec, system_file_type, exec_type, file_type;
+binder_use(incidentd)
+wakelock_use(incidentd)
+
+# Allow incidentd to scan through /proc/pid for all processes
+r_dir_file(incidentd, domain)
+
+# Allow incidentd to kill incident_helper when timeout
+allow incidentd incident_helper:process sigkill;
+
+# Allow executing files on system, such as:
+#   /system/bin/toolbox
+#   /system/bin/logcat
+#   /system/bin/dumpsys
+allow incidentd system_file:file execute_no_trans;
+allow incidentd toolbox_exec:file rx_file_perms;
+
+# section id 1002, allow reading kernel version /proc/version
+allow incidentd proc_version:file r_file_perms;
+
+# section id 1116, allow accessing statsd socket
+unix_socket_send(incidentd, statsdw, statsd)
+
+# section id 1116, allow using userfaultfd
+userfaultfd_use(incidentd)
+
+# section id 2001, allow reading /proc/pagetypeinfo
+allow incidentd proc_pagetypeinfo:file r_file_perms;
+
+# section id 2002, allow reading /d/wakeup_sources
+userdebug_or_eng(`allow incidentd debugfs_wakeup_sources:file r_file_perms');
+
+# section id 2003, allow executing top
+allow incidentd proc_meminfo:file { open read };
+
+# section id 2004, allow reading /sys/devices/system/cpu/cpufreq/all_time_in_state
+allow incidentd sysfs_devices_system_cpu:file r_file_perms;
+
+# section id 2005, allow reading ps dump in full
+allow incidentd domain:process getattr;
+
+# section id 2006, allow reading /sys/class/power_supply/bms/battery_type
+allow incidentd sysfs_batteryinfo:dir { search };
+allow incidentd sysfs_batteryinfo:file r_file_perms;
+
+# section id 2007, allow reading LAST_KMSG /sys/fs/pstore/console-ramoops
+userdebug_or_eng(`allow incidentd pstorefs:dir search');
+userdebug_or_eng(`allow incidentd pstorefs:file r_file_perms');
+
+# section id 3023, allow obtaining stats report
+allow incidentd stats_service:service_manager find;
+binder_call(incidentd, statsd)
+
+# section id 3026, allow reading /data/misc/perfetto-traces.
+allow incidentd perfetto_traces_data_file:dir r_dir_perms;
+allow incidentd perfetto_traces_data_file:file r_file_perms;
+
+# section id 3052, allow accessing nfc_service
+allow incidentd nfc_service:service_manager find;
+
+# Create and write into /data/misc/incidents
+allow incidentd incident_data_file:dir rw_dir_perms;
+allow incidentd incident_data_file:file create_file_perms;
+
+# Enable incidentd to get stack traces.
+binder_use(incidentd)
+hwbinder_use(incidentd)
+allow incidentd hwservicemanager:hwservice_manager { list };
+get_prop(incidentd, hwservicemanager_prop)
+allow incidentd hidl_manager_hwservice:hwservice_manager { find };
+
+# Read files in /proc
+allow incidentd {
+  proc_cmdline
+  proc_pid_max
+  proc_pipe_conf
+  proc_stat
+}:file r_file_perms;
+
+# Signal java processes to dump their stack and get the results
+allow incidentd { appdomain ephemeral_app system_server }:process signal;
+
+# Signal native processes to dump their stack.
+# This list comes from native_processes_to_dump in incidentd/utils.c
+allow incidentd {
+  # This list comes from native_processes_to_dump in dumputils/dump_utils.cpp
+  audioserver
+  cameraserver
+  drmserver
+  inputflinger
+  mediadrmserver
+  mediaextractor
+  mediametrics
+  mediaserver
+  sdcardd
+  statsd
+  surfaceflinger
+
+  # This list comes from hal_interfaces_to_dump in dumputils/dump_utils.cpp
+  hal_audio_server
+  hal_bluetooth_server
+  hal_camera_server
+  hal_codec2_server
+  hal_face_server
+  hal_graphics_allocator_server
+  hal_graphics_composer_server
+  hal_health_server
+  hal_omx_server
+  hal_sensors_server
+  hal_vr_server
+}:process signal;
+
+# Allow incidentd to make binder calls to any binder service
+binder_call(incidentd, system_server)
+binder_call(incidentd, appdomain)
+
+# Reading /proc/PID/maps of other processes
+userdebug_or_eng(`allow incidentd self:global_capability_class_set { sys_ptrace }');
+# incidentd has capability sys_ptrace, but should only use that capability for
+# accessing sensitive /proc/PID files, never for using ptrace attach.
+neverallow incidentd *:process ptrace;
+
+allow incidentd self:global_capability_class_set {
+    # Send signals to processes
+    kill
+};
+
+# Connect to tombstoned to intercept dumps.
+unix_socket_connect(incidentd, tombstoned_intercept, tombstoned)
+
+# Run a shell.
+allow incidentd shell_exec:file rx_file_perms;
+
+# For running am, incident-helper-cmd and similar framework commands.
+# Run /system/bin/app_process.
+allow incidentd zygote_exec:file { rx_file_perms };
+# Access the runtime feature flag properties.
+get_prop(incidentd, device_config_runtime_native_prop)
+get_prop(incidentd, device_config_runtime_native_boot_prop)
+# Access odsign verification status.
+get_prop(incidentd, odsign_prop)
+# ART locks profile files.
+allow incidentd system_file:file lock;
+# Incidentd should never exec from the memory (e.g. JIT cache). These denials are expected.
+dontaudit incidentd dalvikcache_data_file:dir r_dir_perms;
+dontaudit incidentd apex_module_data_file:dir r_dir_perms;
+dontaudit incidentd apex_art_data_file:dir r_dir_perms;
+dontaudit incidentd tmpfs:file rwx_file_perms;
+
+# Allow incidentd to read /apex/apex-info-list.xml
+allow incidentd apex_info_file:file r_file_perms;
+
+# logd access - work to be done is a PII safe log (possibly an event log?)
+userdebug_or_eng(`read_logd(incidentd)')
+# TODO control_logd(incidentd)
+
+# Access /data/misc/logd
+r_dir_file(incidentd, misc_logd_file)
+
+# Allow incidentd to find these standard groups of services.
+# Others can be allowlisted individually.
+allow incidentd {
+  system_server_service
+  app_api_service
+  system_api_service
+  -tracingproxy_service
+}:service_manager find;
+
+# Only incidentd can publish the binder service
+add_service(incidentd, incident_service)
+
+# Allow pipes only from dumpstate and incident
+allow incidentd { dumpstate incident }:fd use;
+allow incidentd { dumpstate incident }:fifo_file write;
+
+# Allow incident to call back to incident with status updates.
+binder_call(incidentd, incident)
+
+# Read device serial number from system properties
+# This is used to track reports from lab testing devices
+userdebug_or_eng(`
+  get_prop(incidentd, serialno_prop)
+')
+
+# Read ro.boot.bootreason, persist.sys.boot.bootreason
+# This is used to track reports from lab testing devices
+userdebug_or_eng(`
+  get_prop(incidentd, bootloader_boot_reason_prop);
+  get_prop(incidentd, system_boot_reason_prop);
+  get_prop(incidentd, last_boot_reason_prop);
+')
+
+# Allow incident to read the build properties for attestation feature
+get_prop(incidentd, build_attestation_prop);
+
+###
+### neverallow rules
+###
+# only incidentd and the other root services in limited circumstances
+# can get to the files in /data/misc/incidents
+#
+# write, execute, append are forbidden almost everywhere
+neverallow { domain -incidentd -init -vold } incident_data_file:file {
+  w_file_perms
+  x_file_perms
+  create
+  rename
+  setattr
+  unlink
+  append
+};
+# read is also allowed by system_server, for when the file is handed to dropbox
+neverallow { domain -incidentd -init -vold -system_server } incident_data_file:file r_file_perms;
+# limited access to the directory itself
+neverallow { domain -incidentd -init -vold } incident_data_file:dir create_dir_perms;
+
diff --git a/prebuilts/api/202504/private/init.te b/prebuilts/api/202504/private/init.te
new file mode 100644
index 0000000..6f0ee80
--- /dev/null
+++ b/prebuilts/api/202504/private/init.te
@@ -0,0 +1,878 @@
+typeattribute init coredomain;
+
+tmpfs_domain(init)
+
+# Transitions to seclabel processes in init.rc
+domain_trans(init, rootfs, slideshow)
+domain_auto_trans(init, charger_exec, charger)
+domain_auto_trans(init, e2fs_exec, e2fs)
+domain_auto_trans(init, bpfloader_exec, bpfloader)
+
+recovery_only(`
+  # Files in recovery image are labeled as rootfs.
+  domain_trans(init, rootfs, adbd)
+  domain_trans(init, rootfs, hal_bootctl_server)
+  domain_trans(init, rootfs, charger)
+  domain_trans(init, rootfs, fastbootd)
+  domain_trans(init, rootfs, hal_fastboot_server)
+  domain_trans(init, rootfs, hal_health_server)
+  domain_trans(init, rootfs, recovery)
+  domain_trans(init, rootfs, linkerconfig)
+  domain_trans(init, rootfs, servicemanager)
+  domain_trans(init, rootfs, snapuserd)
+')
+domain_trans(init, shell_exec, shell)
+domain_trans(init, init_exec, ueventd)
+domain_trans(init, init_exec, vendor_init)
+domain_trans(init, { rootfs toolbox_exec }, modprobe)
+userdebug_or_eng(`
+  # case where logpersistd is actually logcat -f in logd context (nee: logcatd)
+  domain_auto_trans(init, logcat_exec, logpersist)
+
+  # allow init to execute services marked with seclabel u:r:su:s0 in userdebug/eng
+  allow init su:process transition;
+  dontaudit init su:process noatsecure;
+  allow init su:process { siginh rlimitinh };
+')
+
+# Allow init to figure out name of dm-device from it's /dev/block/dm-XX path.
+# This is useful in case of remounting ext4 userdata into checkpointing mode,
+# since it potentially requires tearing down dm-devices (e.g. dm-bow, dm-crypto)
+# that userdata is mounted onto.
+allow init sysfs_dm:file read;
+
+# Allow init to modify the properties of loop devices.
+allow init sysfs_loop:dir r_dir_perms;
+allow init sysfs_loop:file rw_file_perms;
+
+# Allow init to examine the properties of block devices.
+allow init sysfs_type:file { getattr read };
+# Allow init get the attributes of block devices in /dev/block.
+allow init dev_type:dir r_dir_perms;
+allow init dev_type:blk_file getattr;
+
+# Allow init to write to the drop_caches file.
+allow init proc_drop_caches:file rw_file_perms;
+
+# Allow the BoringSSL self test to request a reboot upon failure
+set_prop(init, powerctl_prop)
+
+set_prop(init, userspace_reboot_exported_prop)
+
+# Second-stage init performs a test for whether the kernel has SELinux hooks
+# for the perf_event_open() syscall. This is done by testing for the syscall
+# outcomes corresponding to this policy.
+# TODO(b/137092007): this can be removed once the platform stops supporting
+# kernels that precede the perf_event_open hooks (Android common kernels 4.4
+# and 4.9).
+allow init self:perf_event { open cpu };
+allow init self:global_capability2_class_set perfmon;
+
+# Allow opening /proc/kallsyms so that on boot, init can create and retain an
+# fd with the full address visibility (which is evaluated on open and persists
+# for the lifetime of the open file description). This fd can then be shared
+# with other privileged processes.
+allow init proc_kallsyms:file r_file_perms;
+
+# Allow init to communicate with snapuserd to transition Virtual A/B devices
+# from the first-stage daemon to the second-stage.
+allow init snapuserd_socket:sock_file write;
+allow init snapuserd:unix_stream_socket connectto;
+# Allow for libsnapshot's use of flock() on /metadata/ota.
+allow init ota_metadata_file:dir lock;
+
+# Allow init to restore contexts of vd_device(/dev/block/vd[..]) when labeling
+# /dev/block.
+allow init vd_device:blk_file relabelto;
+
+set_prop(init, init_perf_lsm_hooks_prop)
+set_prop(init, vts_status_prop)
+
+# Allow init to set 16kb app compatibility props
+set_prop(init, bionic_linker_16kb_app_compat_prop)
+set_prop(init, pm_16kb_app_compat_prop)
+
+
+# Allow init to set/get prefetch boot prop to initiate record/replay
+set_prop(init, ctl_prefetch_prop);
+
+# Allow accessing /sys/kernel/tracing/instances/bootreceiver to set up tracing.
+allow init debugfs_bootreceiver_tracing:file w_file_perms;
+
+# PRNG seeder daemon socket is created and listened on by init before forking.
+allow init prng_seeder:unix_stream_socket { create bind listen };
+
+# Devices with kernels where CONFIG_HIST_TRIGGERS isn't enabled will
+# attempt to write a non exisiting 'synthetic_events' file, when setting
+# up synthetic events. This is a no-op in tracefs.
+dontaudit init debugfs_tracing_debug:dir { write add_name };
+
+# chown/chmod on devices.
+allow init {
+  dev_type
+  -hw_random_device
+  -keychord_device
+  -vm_manager_device_type
+  -port_device
+}:chr_file setattr;
+
+# /dev/__null__ node created by init.
+allow init tmpfs:chr_file { create setattr unlink rw_file_perms };
+
+#
+# init direct restorecon calls.
+#
+# /dev/kmsg
+allow init tmpfs:chr_file relabelfrom;
+allow init kmsg_device:chr_file { getattr write relabelto };
+# /dev/kmsg_debug
+userdebug_or_eng(`
+  allow init kmsg_debug_device:chr_file { open write relabelto };
+')
+# /mnt/vm, also permissions to mkdir / mount / chmod / chown
+allow init vm_data_file:dir { add_name create search write getattr setattr relabelto mounton };
+
+# allow init to mount and unmount debugfs in debug builds
+userdebug_or_eng(`
+  allow init debugfs:dir mounton;
+')
+
+# /dev/__properties__
+allow init properties_device:dir relabelto;
+allow init properties_serial:file { write relabelto };
+allow init property_type:file { append create getattr map open read relabelto rename setattr unlink write };
+# /dev/__properties__/property_info and /dev/__properties/appcompat_override/property_info
+allow init properties_device:file create_file_perms;
+allow init property_info:file relabelto;
+# /dev/event-log-tags
+allow init device:file relabelfrom;
+allow init runtime_event_log_tags_file:file { open write setattr relabelto create };
+# /dev/socket
+allow init { device socket_device dm_user_device }:dir relabelto;
+# allow init to establish connection and communicate with lmkd
+unix_socket_connect(init, lmkd, lmkd)
+# Relabel /dev nodes created in first stage init: /dev/console, /dev/null, /dev/ptmx, /dev/random
+# and /dev/urandom
+allow init { console_device null_device ptmx_device random_device } : chr_file relabelto;
+# /dev/device-mapper, /dev/block(/.*)?
+allow init tmpfs:{ chr_file blk_file } relabelfrom;
+allow init tmpfs:blk_file getattr;
+allow init block_device:{ dir blk_file lnk_file } relabelto;
+allow init dm_device:{ chr_file blk_file } relabelto;
+allow init dm_user_device:chr_file relabelto;
+allow init kernel:fd use;
+# restorecon for early mount device symlinks
+allow init tmpfs:lnk_file { getattr read relabelfrom };
+allow init {
+  metadata_block_device
+  misc_block_device
+  recovery_block_device
+  system_block_device
+  userdata_block_device
+}:{ blk_file lnk_file } relabelto;
+
+allow init dtbo_block_device:lnk_file relabelto;
+allow init super_block_device:lnk_file relabelto;
+
+# Create /mnt/sdcard -> /storage/self/primary symlink.
+allow init mnt_sdcard_file:lnk_file create;
+
+# setrlimit
+allow init self:global_capability_class_set sys_resource;
+
+# Remove /dev/.booting and load /debug_ramdisk/* files
+allow init tmpfs:file { getattr unlink };
+
+# Access pty created for fsck.
+allow init devpts:chr_file { read write open };
+
+# Create /dev/fscklogs files.
+allow init fscklogs:file create_file_perms;
+
+# Access /dev/__null__ node created prior to initial policy load.
+allow init tmpfs:chr_file write;
+
+# Access /dev/console.
+allow init console_device:chr_file rw_file_perms;
+
+# Access /dev/tty0.
+allow init tty_device:chr_file rw_file_perms;
+
+# Call mount(2).
+allow init self:global_capability_class_set sys_admin;
+
+# Call setns(2).
+allow init self:global_capability_class_set sys_chroot;
+
+# Create and mount on directories in /.
+allow init rootfs:dir create_dir_perms;
+allow init {
+    rootfs
+    cache_file
+    cgroup
+    linkerconfig_file
+    storage_file
+    mnt_user_file
+    system_data_file
+    system_data_root_file
+    system_dlkm_file
+    system_file
+    vendor_file
+    postinstall_mnt_dir
+    mirror_data_file
+    shell_data_file
+}:dir mounton;
+
+# Mount bpf fs on sys/fs/bpf
+allow init fs_bpf:dir mounton;
+
+# Mount on /dev/usb-ffs/adb.
+allow init device:dir mounton;
+
+# Mount tmpfs on /apex
+allow init apex_mnt_dir:dir mounton;
+
+# Bind-mount on /system/apex/com.android.art
+allow init art_apex_dir:dir mounton;
+
+# Create and remove symlinks in /.
+allow init rootfs:lnk_file { create unlink };
+
+# Mount debugfs on /sys/kernel/debug.
+allow init sysfs:dir mounton;
+
+# Create cgroups mount points in tmpfs and mount cgroups on them.
+allow init tmpfs:dir create_dir_perms;
+allow init tmpfs:dir mounton;
+allow init cgroup:dir create_dir_perms;
+allow init cgroup:file rw_file_perms;
+allow init cgroup_rc_file:file rw_file_perms;
+allow init cgroup_desc_file:file r_file_perms;
+allow init vendor_cgroup_desc_file:file r_file_perms;
+allow init cgroup_v2:dir { mounton create_dir_perms};
+allow init cgroup_v2:file rw_file_perms;
+
+# /config
+allow init configfs:dir mounton;
+allow init configfs:dir create_dir_perms;
+allow init configfs:{ file lnk_file } create_file_perms;
+
+# /metadata
+allow init metadata_file:dir mounton;
+
+# Run restorecon on /dev
+allow init tmpfs:dir relabelfrom;
+
+# Create directories under /dev/cpuctl after chowning it to system.
+allow init self:global_capability_class_set { dac_override dac_read_search };
+
+# Set system clock.
+allow init self:global_capability_class_set sys_time;
+
+allow init self:global_capability_class_set { sys_rawio mknod };
+
+# Mounting filesystems from block devices.
+allow init dev_type:blk_file r_file_perms;
+allowxperm init dev_type:blk_file ioctl BLKROSET;
+allowxperm init system_data_root_file:dir ioctl F2FS_IOC_SHUTDOWN;
+
+# Mounting filesystems.
+# Only allow relabelto for types used in context= mount options,
+# which should all be assigned the contextmount_type attribute.
+# This can be done in device-specific policy via type or typeattribute
+# declarations.
+allow init {
+  fs_type
+  enforce_debugfs_restriction(`-debugfs_type')
+}:filesystem ~relabelto;
+
+# Allow init to mount/unmount debugfs in non-user builds.
+enforce_debugfs_restriction(`
+  userdebug_or_eng(`allow init debugfs_type:filesystem { mount unmount };')
+')
+
+# Allow init to mount tracefs in /sys/kernel/tracing
+allow init debugfs_tracing_debug:filesystem mount;
+
+allow init unlabeled:filesystem ~relabelto;
+allow init contextmount_type:filesystem relabelto;
+
+# Allow read-only access to context= mounted filesystems.
+allow init contextmount_type:dir r_dir_perms;
+allow init contextmount_type:notdevfile_class_set r_file_perms;
+
+# restorecon /adb_keys or any other rootfs files and directories to a more
+# specific type.
+allow init rootfs:{ dir file } relabelfrom;
+
+# mkdir, symlink, write, rm/rmdir, chown/chmod, restorecon/restorecon_recursive from init.rc files.
+# chown/chmod require open+read+setattr required for open()+fchown/fchmod().
+# system/core/init.rc requires at least cache_file and data_file_type.
+# init.<board>.rc files often include device-specific types, so
+# we just allow all file types except /system files here.
+allow init self:global_capability_class_set { chown fowner fsetid };
+
+allow init {
+  file_type
+  -app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    -storage_area_dir
+    -storage_area_app_dir
+    -storage_area_content_file
+  ')
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+}:dir { create search getattr open read setattr ioctl };
+
+allow init {
+  file_type
+  -app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    -storage_area_dir
+    -storage_area_app_dir
+    -storage_area_content_file
+  ')
+  -vm_data_file
+  -bpffs_type
+  -credstore_data_file
+  -exec_type
+  -keystore_data_file
+  -media_userdir_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -system_userdir_file
+  -vendor_file_type
+  -vendor_userdir_file
+  -vold_data_file
+}:dir { write add_name remove_name rmdir relabelfrom };
+
+allow init {
+  file_type
+  -apex_info_file
+  -app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    -storage_area_dir
+    -storage_area_app_dir
+    -storage_area_content_file
+  ')
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -gsi_data_file
+  -credstore_data_file
+  -keystore_data_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -runtime_event_log_tags_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_data_file
+  enforce_debugfs_restriction(`-debugfs_type')
+}:file { create getattr open read write setattr relabelfrom unlink map };
+
+allow init tracefs_type:file { create_file_perms relabelfrom };
+
+# Allow init to read /apex/apex-info-list.xml for preinstalled paths of APEXes to determine
+# subcontext for action/service defined in APEXes.
+allow init apex_info_file:file r_file_perms;
+
+allow init {
+  file_type
+  -app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    -storage_area_dir
+    -storage_area_app_dir
+    -storage_area_content_file
+  ')
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -gsi_data_file
+  -credstore_data_file
+  -keystore_data_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_data_file
+}:{ sock_file fifo_file } { create getattr open read setattr relabelfrom unlink };
+
+allow init {
+  file_type
+  -apex_mnt_dir
+  -app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    -storage_area_dir
+    -storage_area_app_dir
+    -storage_area_content_file
+  ')
+  -vm_data_file
+  -bpffs_type
+  -exec_type
+  -gsi_data_file
+  -credstore_data_file
+  -keystore_data_file
+  -misc_logd_file
+  -nativetest_data_file
+  -privapp_data_file
+  -shell_data_file
+  -system_app_data_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_data_file
+}:lnk_file { create getattr setattr relabelfrom unlink };
+
+allow init cache_file:lnk_file r_file_perms;
+
+allow init {
+  file_type
+  -bpffs_type
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -exec_type
+  -app_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    -storage_area_dir
+    -storage_area_app_dir
+    -storage_area_content_file
+  ')
+  -vm_data_file
+  -privapp_data_file
+}:dir_file_class_set relabelto;
+
+allow init { sysfs no_debugfs_restriction(`debugfs') debugfs_tracing debugfs_tracing_debug }:{ dir file lnk_file } { getattr relabelfrom };
+allow init { sysfs_type no_debugfs_restriction(`debugfs_type') tracefs_type }:{ dir file lnk_file } { relabelto getattr };
+allow init dev_type:dir create_dir_perms;
+allow init dev_type:lnk_file create;
+
+# Disable tracing by writing to /sys/kernel/debug/tracing/tracing_on
+allow init debugfs_tracing:file w_file_perms;
+
+# Setup and control wifi event tracing (see wifi-events.rc)
+allow init debugfs_tracing_instances:dir create_dir_perms;
+allow init debugfs_tracing_instances:file w_file_perms;
+allow init debugfs_wifi_tracing:file w_file_perms;
+allow init debugfs_wifi_tracing:dir create_dir_perms;
+
+# chown/chmod on pseudo files.
+allow init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -keychord_device
+  -proc_type
+  -sdcard_type
+  -fusefs_type
+  -sysfs_type
+  -rootfs
+  enforce_debugfs_restriction(`-debugfs_type')
+}:file { open read setattr };
+allow init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -sdcard_type
+  -fusefs_type
+  -rootfs
+}:dir { open read setattr search };
+
+allow init {
+  binder_device
+  console_device
+  devpts
+  dm_device
+  hwbinder_device
+  input_device
+  kmsg_device
+  null_device
+  owntty_device
+  pmsg_device
+  ptmx_device
+  random_device
+  tty_device
+  zero_device
+}:chr_file { read open };
+
+# Unlabeled file access for upgrades from 4.2.
+allow init unlabeled:dir { create_dir_perms relabelfrom };
+allow init unlabeled:notdevfile_class_set { create_file_perms relabelfrom };
+
+# Any operation that can modify the kernel ring buffer, e.g. clear
+# or a read that consumes the messages that were read.
+allow init kernel:system syslog_mod;
+allow init self:global_capability2_class_set syslog;
+
+# init access to /proc.
+r_dir_file(init, proc_net_type)
+allow init proc_filesystems:file r_file_perms;
+
+userdebug_or_eng(`
+  # Overlayfs workdir write access check during mount to permit remount,rw
+  allow init overlayfs_file:dir { relabelfrom mounton write };
+  allow init overlayfs_file:file { append rename };
+  allow init overlayfs_file:chr_file unlink;
+  allow init system_block_device:blk_file { write };
+')
+
+allow init {
+  proc # b/67049235 processes /proc/<pid>/* files are mislabeled.
+  proc_allocinfo
+  proc_bootconfig
+  proc_cmdline
+  proc_diskstats
+  proc_kmsg # Open /proc/kmsg for logd service.
+  proc_meminfo
+  proc_stat # Read /proc/stat for bootchart.
+  proc_uptime
+  proc_version
+}:file r_file_perms;
+
+allow init {
+  proc_abi
+  proc_cpu_alignment
+  proc_dirty
+  proc_hostname
+  proc_hung_task
+  proc_extra_free_kbytes
+  proc_net_type
+  proc_max_map_count
+  proc_min_free_order_shift
+  proc_overcommit_memory      # /proc/sys/vm/overcommit_memory
+  proc_panic
+  proc_page_cluster
+  proc_perf
+  proc_sched
+  proc_sysrq
+  proc_watermark_boost_factor
+}:file w_file_perms;
+
+allow init {
+  proc_security
+}:file rw_file_perms;
+
+# init chmod/chown access to /proc files.
+allow init {
+  proc_allocinfo
+  proc_cmdline
+  proc_bootconfig
+  proc_kmsg
+  proc_net
+  proc_pagetypeinfo
+  proc_qtaguid_stat
+  proc_slabinfo
+  proc_sysrq
+  proc_qtaguid_ctrl
+  proc_vmallocinfo
+}:file setattr;
+
+# init access to /sys files.
+allow init {
+  sysfs_android_usb
+  sysfs_dm_verity
+  sysfs_leds
+  sysfs_power
+  sysfs_fs_f2fs
+  sysfs_dm
+  sysfs_lru_gen_enabled
+  sysfs_pgsize_migration
+}:file w_file_perms;
+
+allow init {
+  sysfs_dt_firmware_android
+  sysfs_fs_ext4_features
+}:file r_file_perms;
+
+allow init {
+  sysfs_zram
+}:file rw_file_perms;
+
+# allow init to create loop devices with /dev/loop-control
+allow init loop_control_device:chr_file rw_file_perms;
+allow init loop_device:blk_file rw_file_perms;
+allowxperm init loop_device:blk_file ioctl {
+  LOOP_SET_FD
+  LOOP_CLR_FD
+  LOOP_CTL_GET_FREE
+  LOOP_SET_BLOCK_SIZE
+  LOOP_SET_DIRECT_IO
+  LOOP_GET_STATUS
+  LOOP_SET_STATUS64
+};
+
+# Allow init to write to vibrator/trigger
+allow init sysfs_vibrator:file w_file_perms;
+
+# init chmod/chown access to /sys files.
+allow init {
+  sysfs_android_usb
+  sysfs_devices_system_cpu
+  sysfs_firmware_acpi_tables
+  sysfs_ipv4
+  sysfs_leds
+  sysfs_lowmemorykiller
+  sysfs_power
+  sysfs_vibrator
+  sysfs_wake_lock
+  sysfs_zram
+}:file setattr;
+
+# Set usermodehelpers.
+allow init { usermodehelper sysfs_usermodehelper }:file rw_file_perms;
+
+allow init self:global_capability_class_set net_admin;
+
+# Reboot.
+allow init self:global_capability_class_set sys_boot;
+
+# Init will create /data/misc/logd when the property persist.logd.logpersistd is "logcatd".
+# Init will also walk through the directory as part of a recursive restorecon.
+allow init misc_logd_file:dir { add_name open create read getattr setattr search write };
+allow init misc_logd_file:file { open create getattr setattr write };
+
+# Support "adb shell stop"
+allow init self:global_capability_class_set kill;
+allow init domain:process { getpgid sigkill signal };
+
+# Init creates credstore's directory on boot, and walks through
+# the directory as part of a recursive restorecon.
+allow init credstore_data_file:dir { open create read getattr setattr search };
+allow init credstore_data_file:file { getattr };
+
+# Init creates keystore's directory on boot, and walks through
+# the directory as part of a recursive restorecon.
+allow init keystore_data_file:dir { open create read getattr setattr search };
+allow init keystore_data_file:file { getattr };
+
+# Init creates vold's directory on boot, and walks through
+# the directory as part of a recursive restorecon.
+allow init vold_data_file:dir { open create read getattr setattr search };
+allow init vold_data_file:file { getattr };
+
+# Init creates /data/local/tmp at boot
+allow init shell_data_file:dir { open create read getattr setattr search };
+allow init shell_data_file:file { getattr };
+
+# Set UID, GID, and adjust capability bounding set for services.
+allow init self:global_capability_class_set { setuid setgid setpcap };
+
+# For bootchart to read the /proc/$pid/cmdline file of each process,
+# we need to have following line to allow init to have access
+# to different domains.
+r_dir_file(init, domain)
+
+# Use setexeccon(), setfscreatecon(), and setsockcreatecon().
+# setexec is for services with seclabel options.
+# setfscreate is for labeling directories and socket files.
+# setsockcreate is for labeling local/unix domain sockets.
+allow init self:process { setexec setfscreate setsockcreate };
+
+# Get file context
+allow init file_contexts_file:file r_file_perms;
+
+# sepolicy access
+allow init sepolicy_file:file r_file_perms;
+
+# Perform SELinux access checks on setting properties.
+selinux_check_access(init)
+
+# Ask the kernel for the new context on services to label their sockets.
+allow init kernel:security compute_create;
+
+# Create sockets for the services.
+allow init domain:unix_stream_socket { create bind setopt };
+allow init domain:unix_dgram_socket { create bind setopt };
+
+# Create /data/property and files within it.
+allow init property_data_file:dir create_dir_perms;
+allow init property_data_file:file create_file_perms;
+
+# Set any property.
+allow init property_type:property_service set;
+
+# Send an SELinux userspace denial to the kernel audit subsystem,
+# so it can be picked up and processed by logd. These denials are
+# generated when an attempt to set a property is denied by policy.
+allow init self:netlink_audit_socket { create_socket_perms_no_ioctl nlmsg_relay };
+allow init self:global_capability_class_set audit_write;
+
+# Run "ifup lo" to bring up the localhost interface
+allow init self:udp_socket { create ioctl };
+# in addition to unpriv ioctls granted to all domains, init also needs:
+allowxperm init self:udp_socket ioctl SIOCSIFFLAGS;
+allow init self:global_capability_class_set net_raw;
+
+# Set scheduling info for psi monitor thread.
+# TODO: delete or revise this line b/131761776
+allow init kernel:process { getsched setsched };
+
+# swapon() needs write access to swap device
+# system/core/fs_mgr/fs_mgr.c - fs_mgr_swapon_all
+allow init swap_block_device:blk_file rw_file_perms;
+# Allow to change group owner and permissions for new swap setup in mmd
+allow init swap_block_device:blk_file setattr;
+
+# Create and access /dev files without a specific type,
+# e.g. /dev/.coldboot_done, /dev/.booting
+# TODO:  Move these files into their own type unless they are
+# only ever accessed by init.
+allow init device:file create_file_perms;
+
+# keychord retrieval from /dev/input/ devices
+allow init input_device:dir r_dir_perms;
+allow init input_device:chr_file rw_file_perms;
+
+# Access device mapper for setting up dm-verity
+allow init dm_device:chr_file rw_file_perms;
+allow init dm_device:blk_file rw_file_perms;
+
+# Access dm-user for OTA boot
+allow init dm_user_device:chr_file rw_file_perms;
+
+# Access metadata block device for storing dm-verity state
+allow init metadata_block_device:blk_file rw_file_perms;
+
+# Read /sys/fs/pstore/console-ramoops to detect restarts caused
+# by dm-verity detecting corrupted blocks
+allow init pstorefs:dir search;
+allow init pstorefs:file r_file_perms;
+allow init kernel:system syslog_read;
+
+# linux keyring configuration
+allow init init:key { write search setattr };
+
+# Allow init to create /data/unencrypted
+allow init unencrypted_data_file:dir create_dir_perms;
+
+# Set encryption policy on dirs in /data
+allowxperm init { data_file_type unlabeled }:dir ioctl {
+  FS_IOC_GET_ENCRYPTION_POLICY
+  FS_IOC_SET_ENCRYPTION_POLICY
+};
+
+# Raw writes to misc block device
+allow init misc_block_device:blk_file w_file_perms;
+
+r_dir_file(init, system_file)
+r_dir_file(init, system_dlkm_file_type)
+r_dir_file(init, vendor_file_type)
+
+allow init system_data_file:file { getattr read };
+allow init system_data_file:lnk_file r_file_perms;
+
+# For init to be able to run shell scripts from vendor
+allow init vendor_shell_exec:file execute;
+
+# Metadata setup
+allow init vold_metadata_file:dir create_dir_perms;
+allow init vold_metadata_file:file getattr;
+allow init metadata_bootstat_file:dir create_dir_perms;
+allow init metadata_bootstat_file:file w_file_perms;
+allow init userspace_reboot_metadata_file:file w_file_perms;
+
+# Allow init to touch PSI monitors
+allow init proc_pressure_mem:file { rw_file_perms setattr };
+
+# init is using bootstrap bionic
+use_bootstrap_libs(init)
+
+# stat the root dir of fuse filesystems (for the mount handler)
+allow init fuse:dir { search getattr };
+
+# allow filesystem tuning
+allow init userdata_sysdev:file create_file_perms;
+
+# allow disk tuning
+allow init rootdisk_sysdev:file create_file_perms;
+
+###
+### neverallow rules
+###
+
+# The init domain is only entered via an exec based transition from the
+# kernel domain, never via setcon().
+neverallow domain init:process dyntransition;
+neverallow { domain -kernel userdebug_or_eng(`-overlay_remounter') } init:process transition;
+neverallow init { file_type fs_type -init_exec }:file entrypoint;
+
+# Never read/follow symlinks created by shell or untrusted apps.
+neverallow init shell_data_file:lnk_file read;
+neverallow init app_data_file_type:lnk_file read;
+
+# init should never execute a program without changing to another domain.
+neverallow init { file_type fs_type }:file execute_no_trans;
+
+# The use of sensitive environment variables, such as LD_PRELOAD, is disallowed
+# when init is executing other binaries. The use of LD_PRELOAD for init spawned
+# services is generally considered a no-no, as it injects libraries which the
+# binary was not expecting. This is especially problematic for APEXes. The use
+# of LD_PRELOAD via APEXes is a layering violation, and inappropriately loads
+# code into a process which wasn't expecting that code, with potentially
+# unexpected side effects. (b/140789528)
+neverallow init *:process noatsecure;
+
+# init can never add binder services
+neverallow init service_manager_type:service_manager { add find };
+# init can never list binder services
+neverallow init servicemanager:service_manager list;
+
+# Init should not be creating subdirectories in /data/local/tmp
+neverallow init shell_data_file:dir { write add_name remove_name };
+
+# Init should not access sysfs node that are not explicitly labeled.
+neverallow init sysfs:file { open write };
+
+# No domain should be allowed to ptrace init.
+neverallow * init:process ptrace;
+
+# init owns the root of /data
+# TODO(b/140259336) We want to remove vendor_init
+# TODO(b/141108496) We want to remove toolbox
+neverallow { domain -init -toolbox -vendor_init -vold } system_data_root_file:dir { write add_name remove_name };
+
+# Only init is allowed to set userspace reboot related properties.
+neverallow { domain -init } userspace_reboot_exported_prop:property_service set;
+
+neverallow init self:perf_event { kernel tracepoint read write };
+dontaudit init self:perf_event { kernel tracepoint read write };
+
+# Only init is allowed to set the sysprop indicating whether perf_event_open()
+# SELinux hooks were detected.
+neverallow { domain -init } init_perf_lsm_hooks_prop:property_service set;
+
+# Only init can write vts.native_server.on
+neverallow { domain -init } vts_status_prop:property_service set;
+
+# Only init can write normal ro.boot. properties
+neverallow { domain -init } bootloader_prop:property_service set;
+
+# Only init can write hal.instrumentation.enable
+neverallow { domain -init } hal_instrumentation_prop:property_service set;
+
+# Only init can write ro.property_service.version
+neverallow { domain -init } property_service_version_prop:property_service set;
+
+# Only init can set keystore.boot_level
+neverallow { domain -init } keystore_listen_prop:property_service set;
diff --git a/prebuilts/api/202504/private/initial_sid_contexts b/prebuilts/api/202504/private/initial_sid_contexts
new file mode 100644
index 0000000..9819051
--- /dev/null
+++ b/prebuilts/api/202504/private/initial_sid_contexts
@@ -0,0 +1,27 @@
+sid kernel u:r:kernel:s0
+sid security u:object_r:kernel:s0
+sid unlabeled u:object_r:unlabeled:s0
+sid fs u:object_r:labeledfs:s0
+sid file u:object_r:unlabeled:s0
+sid file_labels u:object_r:unlabeled:s0
+sid init u:object_r:unlabeled:s0
+sid any_socket u:object_r:unlabeled:s0
+sid port u:object_r:port:s0
+sid netif u:object_r:netif:s0
+sid netmsg u:object_r:unlabeled:s0
+sid node u:object_r:node:s0
+sid igmp_packet u:object_r:unlabeled:s0
+sid icmp_socket u:object_r:unlabeled:s0
+sid tcp_socket u:object_r:unlabeled:s0
+sid sysctl_modprobe u:object_r:unlabeled:s0
+sid sysctl u:object_r:proc:s0
+sid sysctl_fs u:object_r:unlabeled:s0
+sid sysctl_kernel u:object_r:unlabeled:s0
+sid sysctl_net u:object_r:unlabeled:s0
+sid sysctl_net_unix u:object_r:unlabeled:s0
+sid sysctl_vm u:object_r:unlabeled:s0
+sid sysctl_dev u:object_r:unlabeled:s0
+sid kmod u:object_r:unlabeled:s0
+sid policy u:object_r:unlabeled:s0
+sid scmp_packet u:object_r:unlabeled:s0
+sid devnull u:object_r:null_device:s0
diff --git a/prebuilts/api/202504/private/initial_sids b/prebuilts/api/202504/private/initial_sids
new file mode 100644
index 0000000..91ac816
--- /dev/null
+++ b/prebuilts/api/202504/private/initial_sids
@@ -0,0 +1,35 @@
+# FLASK
+
+#
+# Define initial security identifiers
+#
+
+sid kernel
+sid security
+sid unlabeled
+sid fs
+sid file
+sid file_labels
+sid init
+sid any_socket
+sid port
+sid netif
+sid netmsg
+sid node
+sid igmp_packet
+sid icmp_socket
+sid tcp_socket
+sid sysctl_modprobe
+sid sysctl
+sid sysctl_fs
+sid sysctl_kernel
+sid sysctl_net
+sid sysctl_net_unix
+sid sysctl_vm
+sid sysctl_dev
+sid kmod
+sid policy
+sid scmp_packet
+sid devnull
+
+# FLASK
diff --git a/prebuilts/api/202504/private/inputflinger.te b/prebuilts/api/202504/private/inputflinger.te
new file mode 100644
index 0000000..9e8e35b
--- /dev/null
+++ b/prebuilts/api/202504/private/inputflinger.te
@@ -0,0 +1,16 @@
+typeattribute inputflinger coredomain;
+
+init_daemon_domain(inputflinger)
+
+binder_use(inputflinger)
+binder_service(inputflinger)
+
+binder_call(inputflinger, system_server)
+
+wakelock_use(inputflinger)
+
+allow inputflinger input_device:dir r_dir_perms;
+allow inputflinger input_device:chr_file rw_file_perms;
+
+r_dir_file(inputflinger, cgroup)
+r_dir_file(inputflinger, cgroup_v2)
diff --git a/prebuilts/api/202504/private/installd.te b/prebuilts/api/202504/private/installd.te
new file mode 100644
index 0000000..50c378a
--- /dev/null
+++ b/prebuilts/api/202504/private/installd.te
@@ -0,0 +1,248 @@
+typeattribute installd coredomain;
+
+init_daemon_domain(installd)
+
+# Run migrate_legacy_obb_data.sh in its own sandbox.
+domain_auto_trans(installd, migrate_legacy_obb_data_exec, migrate_legacy_obb_data)
+allow installd shell_exec:file rx_file_perms;
+
+# Run dex2oat in its own sandbox.
+domain_auto_trans(installd, dex2oat_exec, dex2oat)
+
+# Run profman in its own sandbox.
+domain_auto_trans(installd, profman_exec, profman)
+
+# Run idmap in its own sandbox.
+domain_auto_trans(installd, idmap_exec, idmap)
+
+# For collecting bugreports.
+allow installd dumpstate:fd use;
+allow installd dumpstate:fifo_file r_file_perms;
+
+# Delete /system/bin/bcc generated artifacts
+allow installd app_exec_data_file:file unlink;
+
+# Capture userdata snapshots to /data/misc_[ce|de]/rollback and
+# subsequently restore them.
+allow installd rollback_data_file:dir create_dir_perms;
+allow installd rollback_data_file:file create_file_perms;
+
+# Allow installd to access the runtime feature flag properties.
+get_prop(installd, device_config_runtime_native_prop)
+get_prop(installd, device_config_runtime_native_boot_prop)
+
+# Allow installd to access apk verity feature flag (for legacy case).
+get_prop(installd, apk_verity_prop)
+
+# Allow installd to access odsign verification status
+get_prop(installd, odsign_prop)
+
+# Allow installd to delete files in /data/staging
+allow installd staging_data_file:file unlink;
+allow installd staging_data_file:dir { open read add_name remove_name rename rmdir search write getattr };
+
+# Allow installd manage dirs in /data/misc_ce/0/sdksandbox
+allow installd sdk_sandbox_system_data_file:dir { create_dir_perms relabelfrom };
+
+# Allow installd to enable fs-verity for app file passed as FD;
+allow installd { untrusted_app_all priv_app gmscore_app }:fd use;
+allowxperm installd app_data_file_type:file ioctl FS_IOC_ENABLE_VERITY;
+
+typeattribute installd mlstrustedsubject;
+allow installd self:global_capability_class_set { chown dac_override dac_read_search fowner fsetid setgid setuid sys_admin kill };
+
+# Allow labeling of files under /data/app/com.example/oat/
+allow installd dalvikcache_data_file:dir relabelto;
+allow installd dalvikcache_data_file:file { relabelto link };
+
+# Allow movement of APK files between volumes
+allow installd apk_data_file:dir { create_dir_perms relabelfrom };
+allow installd apk_data_file:file { create_file_perms relabelfrom link };
+allow installd apk_data_file:lnk_file { create r_file_perms unlink };
+
+allow installd asec_apk_file:file r_file_perms;
+allow installd apk_tmp_file:file { r_file_perms unlink };
+allow installd apk_tmp_file:dir { relabelfrom create_dir_perms };
+allow installd oemfs:dir r_dir_perms;
+allow installd oemfs:file r_file_perms;
+allow installd cgroup:dir create_dir_perms;
+allow installd cgroup_v2:dir create_dir_perms;
+allow installd mnt_expand_file:dir { search getattr };
+# Check validity of SELinux context before use.
+selinux_check_context(installd)
+
+r_dir_file(installd, rootfs)
+# Scan through APKs in /system/app and /system/priv-app
+r_dir_file(installd, system_file)
+# Scan through APKs in /vendor/app
+r_dir_file(installd, vendor_app_file)
+# Scan through JARs in /vendor/framework
+r_dir_file(installd, vendor_framework_file)
+# Scan through Runtime Resource Overlay APKs in /vendor/overlay
+r_dir_file(installd, vendor_overlay_file)
+# Vendor overlay can be found in vendor apex
+allow installd vendor_apex_metadata_file:dir { getattr search };
+# Get file context
+allow installd file_contexts_file:file r_file_perms;
+# Get seapp_context
+allow installd seapp_contexts_file:file r_file_perms;
+
+# Search /data/app-asec and stat files in it.
+allow installd asec_image_file:dir search;
+allow installd asec_image_file:file getattr;
+
+# Required to initially create subdirectories of /data/user/$userId
+# and lib symlinks before the setfilecon call.  May want to
+# move symlink creation after setfilecon in installd.
+allow installd system_data_file:dir create_dir_perms;
+# Also, allow read for lnk_file so that we can process symlinks within
+# /data/user/$userId when optimizing application code.
+allow installd system_data_file:lnk_file { create getattr read setattr unlink };
+
+# Manage lower filesystem via pass_through mounts
+allow installd mnt_pass_through_file:dir r_dir_perms;
+
+# Upgrade /data/media for multi-user if necessary.
+allow installd media_rw_data_file:dir create_dir_perms;
+allow installd media_rw_data_file:file { getattr unlink };
+# restorecon new /data/media directory.
+allow installd system_data_file:dir relabelfrom;
+allow installd media_rw_data_file:dir relabelto;
+
+# Delete /data/media files through sdcardfs, instead of going behind its back
+allow installd media_userdir_file:dir r_dir_perms;
+allow installd tmpfs:dir r_dir_perms;
+allow installd storage_file:dir search;
+allow installd { sdcard_type fuse }:dir { search open read write remove_name getattr rmdir };
+allow installd { sdcard_type fuse }:file { getattr unlink };
+
+# Create app's mirror data directory in /data_mirror, and bind mount the real directory to it
+allow installd mirror_data_file:dir { create_dir_perms mounton };
+
+# Upgrade /data/misc/keychain for multi-user if necessary.
+allow installd system_userdir_file:dir r_dir_perms;
+allow installd misc_user_data_file:dir create_dir_perms;
+allow installd misc_user_data_file:file create_file_perms;
+allow installd keychain_data_file:dir create_dir_perms;
+allow installd keychain_data_file:file {r_file_perms unlink};
+
+# Create /data/misc/installd/layout_version.* file
+allow installd install_data_file:file create_file_perms;
+allow installd install_data_file:dir rw_dir_perms;
+
+# Create files under /data/dalvik-cache.
+allow installd dalvikcache_data_file:dir create_dir_perms;
+allow installd dalvikcache_data_file:file create_file_perms;
+allow installd dalvikcache_data_file:lnk_file getattr;
+
+# Create files under /data/resource-cache.
+allow installd resourcecache_data_file:dir rw_dir_perms;
+allow installd resourcecache_data_file:file create_file_perms;
+
+# Upgrade from unlabeled userdata.
+# Just need enough to remove and/or relabel it.
+allow installd unlabeled:dir { getattr search relabelfrom rw_dir_perms rmdir };
+allow installd unlabeled:notdevfile_class_set { getattr relabelfrom rename unlink setattr };
+# Read pkg.apk file for input during dexopt.
+allow installd unlabeled:file r_file_perms;
+
+# Upgrade from before system_app_data_file was used for system UID apps.
+# Just need enough to relabel it and to unlink removed package files.
+# Directory access covered by earlier rule above.
+allow installd system_data_file:notdevfile_class_set { getattr relabelfrom unlink };
+
+# Manage /data/data subdirectories, including initially labeling them
+# upon creation via setfilecon or running restorecon_recursive,
+# setting owner/mode, creating symlinks within them, and deleting them
+# upon package uninstall.
+allow installd app_data_file_type:dir { create_dir_perms relabelfrom relabelto };
+allow installd app_data_file_type:notdevfile_class_set { create_file_perms relabelfrom relabelto };
+
+# Allow setting extended attributes (for project quota IDs) on dirs and files
+# and to enable project ID inheritance through FS_IOC_SETFLAGS
+# Added install_data_file to be able to create file under /data/misc/installd/ioctl_check
+allowxperm installd { app_data_file_type system_data_file install_data_file}:{ dir file } ioctl {
+  FS_IOC_FSGETXATTR
+  FS_IOC_FSSETXATTR
+  FS_IOC_GETFLAGS
+  FS_IOC_SETFLAGS
+};
+
+# Similar for the files under /data/misc/profiles/
+allow installd user_profile_root_file:dir { create_dir_perms relabelfrom };
+allow installd user_profile_data_file:dir { create_dir_perms relabelto };
+allow installd user_profile_data_file:file create_file_perms;
+allow installd user_profile_data_file:file unlink;
+
+# Allow zygote to unmount mirror directories
+allow installd labeledfs:filesystem unmount;
+
+# Files created/updated by profman dumps.
+allow installd profman_dump_data_file:dir { search add_name write };
+allow installd profman_dump_data_file:file { create setattr open write };
+
+# Create and use pty created by android_fork_execvp().
+allow installd devpts:chr_file rw_file_perms;
+
+# execute toybox for app relocation
+allow installd toolbox_exec:file rx_file_perms;
+
+# Allow installd to publish a binder service and make binder calls.
+binder_use(installd)
+add_service(installd, installd_service)
+allow installd dumpstate:fifo_file  { getattr write };
+
+# Allow installd to call into the system server so it can check permissions.
+binder_call(installd, system_server)
+allow installd permission_service:service_manager find;
+
+# Allow installd to read and write quotas
+allow installd block_device:dir { search };
+allow installd labeledfs:filesystem { quotaget quotamod };
+
+# Allow installd to delete from /data/preloads when trimming data caches
+# TODO b/34690396 Remove when time-based purge policy for preloads is implemented in system_server
+allow installd preloads_data_file:file { r_file_perms unlink };
+allow installd preloads_data_file:dir { r_dir_perms write remove_name rmdir };
+allow installd preloads_media_file:file { r_file_perms unlink };
+allow installd preloads_media_file:dir { r_dir_perms write remove_name rmdir };
+
+# Allow installd to read /proc/filesystems
+allow installd proc_filesystems:file r_file_perms;
+
+#add for move app to sd card
+get_prop(installd, storage_config_prop)
+
+# Allow installd to access apps installed on the Incremental File System
+# Accessing files on the Incremental File System uses fds opened in the context of vold.
+allow installd vold:fd use;
+
+# on app uninstall, installd deletes the storage area keys for the app
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  allow installd storage_area_key_file:dir {
+    open search write remove_name
+    lock read getattr rmdir
+  };
+  allow installd storage_area_key_file:file unlink;
+')
+
+# Allow installd to delete the terminal app's data file.
+# `virtualizationservice_data_file` was used for a while, but it needs to be
+# deleted when terminal feature is disabled.
+# TODO(b/383026786): Remove this rule once the there is no
+# `virtualizationservice_data_file` in terminal app anymore..
+allow installd virtualizationservice_data_file:file unlink;
+
+###
+### Neverallow rules
+###
+
+# only system_server, installd, dumpstate, and servicemanager may interact with installd over binder
+neverallow { domain -system_server -dumpstate -installd } installd_service:service_manager find;
+neverallow { domain -system_server -dumpstate -servicemanager } installd:binder call;
+neverallow installd {
+    domain
+    -system_server
+    -servicemanager
+    userdebug_or_eng(`-su')
+}:binder call;
diff --git a/prebuilts/api/202504/private/isolated_app.te b/prebuilts/api/202504/private/isolated_app.te
new file mode 100644
index 0000000..9d0fd73
--- /dev/null
+++ b/prebuilts/api/202504/private/isolated_app.te
@@ -0,0 +1,36 @@
+###
+### isolated_apps.
+###
+### This file defines the rules for isolated apps that does not wish to use
+### service managers and does not require extra computational resources.
+###
+
+typeattribute isolated_app coredomain;
+
+app_domain(isolated_app)
+isolated_app_domain(isolated_app)
+
+allow isolated_app webviewupdate_service:service_manager find;
+
+# Allow access to network sockets received over IPC. New socket creation is not
+# permitted.
+allow isolated_app { ephemeral_app priv_app untrusted_app_all }:{ tcp_socket udp_socket } { rw_socket_perms_no_ioctl };
+
+# b/32896414: Allow accessing sdcard file descriptors passed to isolated_apps
+# by other processes. Open should never be allowed, and is blocked by
+# neverallow rules in isolated_app_all attribute.
+# media_rw_data_file is included for sdcardfs, and can be removed if sdcardfs
+# is modified to change the secontext when accessing the lower filesystem.
+allow isolated_app { sdcard_type fuse media_rw_data_file }:file { read write append getattr lock map };
+
+# For webviews, isolated_app processes can be forked from the webview_zygote
+# in addition to the zygote. Allow access to resources inherited from the
+# webview_zygote process. These rules are specialized copies of the ones in app.te.
+# Inherit FDs from the webview_zygote.
+allow isolated_app webview_zygote:fd use;
+# Notify webview_zygote of child death.
+allow isolated_app webview_zygote:process sigchld;
+# Inherit logd write socket.
+allow isolated_app webview_zygote:unix_dgram_socket write;
+# Read system properties managed by webview_zygote.
+allow isolated_app webview_zygote_tmpfs:file read;
diff --git a/prebuilts/api/202504/private/isolated_app_all.te b/prebuilts/api/202504/private/isolated_app_all.te
new file mode 100644
index 0000000..43f1ac6
--- /dev/null
+++ b/prebuilts/api/202504/private/isolated_app_all.te
@@ -0,0 +1,125 @@
+###
+### isolated_app_all.
+###
+### Services with isolatedProcess=true in their manifest.
+###
+### This file defines the rules shared by all isolated apps. An "isolated
+### app" is an APP with UID between AID_ISOLATED_START (99000)
+### and AID_ISOLATED_END (99999).
+###
+
+# Access already open app data files received over Binder or local socket IPC.
+allow isolated_app_all { app_data_file privapp_data_file sdk_sandbox_data_file}:file { append read write getattr lock map };
+
+allow isolated_app_all activity_service:service_manager find;
+allow isolated_app_all display_service:service_manager find;
+
+# Google Breakpad (crash reporter for Chrome) relies on ptrace
+# functionality. Without the ability to ptrace, the crash reporter
+# tool is broken.
+# b/20150694
+# https://code.google.com/p/chromium/issues/detail?id=475270
+allow isolated_app_all self:process ptrace;
+
+# Inherit FDs from the app_zygote.
+allow isolated_app_all app_zygote:fd use;
+# Notify app_zygote of child death.
+allow isolated_app_all app_zygote:process sigchld;
+# Inherit logd write socket.
+allow isolated_app_all app_zygote:unix_dgram_socket write;
+
+# TODO (b/63631799) fix this access
+# suppress denials to /data/local/tmp
+dontaudit isolated_app_all shell_data_file:dir search;
+
+# Allow to read, map (but not open) staged apks.
+allow isolated_app_all { apk_tmp_file apk_private_tmp_file }:file { read getattr map };
+
+#####
+##### Neverallow
+#####
+
+# Isolated apps should not directly open app data files themselves.
+neverallow isolated_app_all app_data_file_type:file open;
+
+# Only allow appending to /data/anr/traces.txt (b/27853304, b/18340553)
+# TODO: are there situations where isolated_apps write to this file?
+# TODO: should we tighten these restrictions further?
+neverallow isolated_app_all anr_data_file:file ~{ open append };
+neverallow isolated_app_all anr_data_file:dir ~search;
+
+# Isolated apps must not be permitted to use HwBinder
+neverallow { isolated_app_all -isolated_compute_app } hwbinder_device:chr_file *;
+neverallow { isolated_app_all -isolated_compute_app } *:hwservice_manager *;
+
+# Isolated apps must not be permitted to use VndBinder
+neverallow isolated_app_all vndbinder_device:chr_file *;
+
+# Isolated apps must not be permitted to perform actions on Binder and VndBinder service_manager
+# except the find actions for services allowlisted below.
+neverallow { isolated_app_all -isolated_compute_app } *:service_manager ~find;
+
+# b/17487348
+# Isolated apps can only access three services,
+# activity_service, display_service, webviewupdate_service.
+neverallow { isolated_app_all -isolated_compute_app } {
+    service_manager_type
+    -activity_service
+    -display_service
+    -webviewupdate_service
+}:service_manager find;
+
+# Isolated apps shouldn't be able to access the driver directly.
+neverallow { isolated_app_all -isolated_compute_app } gpu_device:chr_file { rw_file_perms execute };
+
+# Do not allow isolated_apps access to /cache
+neverallow isolated_app_all cache_file:dir ~{ r_dir_perms };
+neverallow isolated_app_all cache_file:file ~{ read getattr };
+
+# Do not allow isolated_app_all to access external storage, except for files passed
+# via file descriptors (b/32896414).
+neverallow isolated_app_all { storage_file mnt_user_file sdcard_type fuse }:dir ~getattr;
+neverallow isolated_app_all { storage_file mnt_user_file }:file_class_set *;
+neverallow isolated_app_all { sdcard_type fuse }:{ devfile_class_set lnk_file sock_file fifo_file } *;
+neverallow isolated_app_all { sdcard_type fuse }:file ~{ read write append getattr lock map };
+
+# Do not allow USB access
+neverallow isolated_app_all { usb_device usbaccessory_device }:chr_file *;
+
+# Restrict the webview_zygote control socket.
+neverallow isolated_app_all webview_zygote:sock_file write;
+
+# Limit the /sys files which isolated_app_all can access. This is important
+# for controlling isolated_app_all attack surface.
+# TODO (b/266555480): The permission should be guarded by compliance test.
+# Remove the negation for member domains when refactorization is done.
+neverallow { isolated_app_all -isolated_compute_app } {
+  sysfs_type
+  -sysfs_devices_system_cpu
+  -sysfs_transparent_hugepage
+  -sysfs_usb # TODO: check with audio team if needed for isolated_apps (b/28417852)
+  -sysfs_fs_fuse_features
+  -sysfs_fs_incfs_features
+  -sysfs_pgsize_migration
+}:file no_rw_file_perms;
+
+# No creation of sockets families other than AF_UNIX sockets.
+# List taken from system/sepolicy/public/global_macros - socket_class_set
+# excluding unix_stream_socket and unix_dgram_socket.
+# Many of these are socket families which have never and will never
+# be compiled into the Android kernel.
+neverallow isolated_app_all { self ephemeral_app priv_app sdk_sandbox_all untrusted_app_all }:{
+  socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket
+  key_socket appletalk_socket netlink_route_socket
+  netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket
+  netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket
+  netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket
+  netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket
+  netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket
+  netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket
+  netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket
+  rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket
+  ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket
+  qipcrtr_socket smc_socket xdp_socket
+} create;
diff --git a/prebuilts/api/202504/private/isolated_compute_app.te b/prebuilts/api/202504/private/isolated_compute_app.te
new file mode 100644
index 0000000..f34850e
--- /dev/null
+++ b/prebuilts/api/202504/private/isolated_compute_app.te
@@ -0,0 +1,56 @@
+###
+### isolated_compute_apps.
+###
+### This file defines the rules for isolated apps that requires the permission
+### to gather data with service manager and require computational resources to
+### improve the performance to process data under a sandbox. This
+### isolated_compute_app restricts data egress to protect the privacy.
+###
+### TODO(b/266923392): Clean rules for isolated_compute_app characteristics
+###
+
+typeattribute isolated_compute_app coredomain;
+
+app_domain(isolated_compute_app)
+isolated_app_domain(isolated_compute_app)
+
+allow isolated_compute_app isolated_compute_allowed_service:service_manager find;
+allow isolated_compute_app isolated_compute_allowed_device:chr_file { read write ioctl map };
+
+# Enable access to hardware services for camera functionalilites
+hal_client_domain(isolated_compute_app, hal_allocator)
+hwbinder_use(isolated_compute_app)
+
+hal_client_domain(isolated_compute_app, hal_codec2)
+
+allow isolated_compute_app dmabuf_system_heap_device:chr_file r_file_perms;
+
+# Allow access to network sockets received over IPC. New socket creation is not
+# permitted.
+allow isolated_compute_app { ephemeral_app priv_app untrusted_app_all }:{ tcp_socket udp_socket } { rw_socket_perms_no_ioctl };
+
+# Allow access to the toybox: b/275024392
+allow isolated_compute_app toolbox_exec:file rx_file_perms;
+
+# Grant GPU access to isolated_compute_app as it is required for acceleration.
+allow isolated_compute_app gpu_device:chr_file rw_file_perms;
+allow isolated_compute_app gpu_device:dir r_dir_perms;
+allow isolated_compute_app sysfs_gpu:file r_file_perms;
+
+
+#####
+##### Neverallow
+#####
+
+# Do not allow isolated_compute_app to access hardware service except for the
+# ones necessary for camera service.
+# TODO (b/266555480): The permission should be guarded by compliance test.
+# Remove the negation for member domains when refactorization is done.
+# neverallow isolated_compute_app {
+# hwservice_manager_type
+#  -hal_graphics_allocator_hwservice
+#  -hal_graphics_mapper_hwservice
+#  -hidl_allocator_hwservice
+#  -hidl_manager_hwservice
+#  -hidl_memory_hwservice
+# }:hwservice_manager *;
diff --git a/prebuilts/api/202504/private/iw.te b/prebuilts/api/202504/private/iw.te
new file mode 100644
index 0000000..adc8c96
--- /dev/null
+++ b/prebuilts/api/202504/private/iw.te
@@ -0,0 +1,4 @@
+type iw, domain, coredomain;
+type iw_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(iw)
diff --git a/prebuilts/api/202504/private/kcmdlinectrl.te b/prebuilts/api/202504/private/kcmdlinectrl.te
new file mode 100644
index 0000000..d569dc0
--- /dev/null
+++ b/prebuilts/api/202504/private/kcmdlinectrl.te
@@ -0,0 +1,22 @@
+# kcmdlinectrl is a tool to have the bootloader send kernel commandline flags
+# for enabling dogfood features in the kernel
+type kcmdlinectrl, domain, coredomain;
+type kcmdlinectrl_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(kcmdlinectrl)
+
+# for setting kcmdline properties to match the bootloader state.
+set_prop(kcmdlinectrl, kcmdline_prop)
+
+# kcmdlinectrl communicates the request to the bootloader via the misc partition.
+# needs to write to update the request in misc partition, and read to sync
+# back to the property.
+allow kcmdlinectrl misc_block_device:blk_file rw_file_perms;
+allow kcmdlinectrl block_device:dir r_dir_perms;
+read_fstab(kcmdlinectrl)
+
+# bootloader_message tries to find the fstab in the device config path first,
+# but because we've already booted up we can use the ro.boot properties instead,
+# so we can just ignore the SELinux denial.
+dontaudit kcmdlinectrl sysfs_dt_firmware_android:dir search;
+dontaudit kcmdlinectrl vendor_property_type:file read;
diff --git a/prebuilts/api/202504/private/kernel.te b/prebuilts/api/202504/private/kernel.te
new file mode 100644
index 0000000..0d3aa77
--- /dev/null
+++ b/prebuilts/api/202504/private/kernel.te
@@ -0,0 +1,202 @@
+typeattribute kernel coredomain;
+
+domain_auto_trans(kernel, init_exec, init)
+domain_auto_trans(kernel, snapuserd_exec, snapuserd)
+userdebug_or_eng(`
+  domain_auto_trans(kernel, overlay_remounter_exec, overlay_remounter)
+')
+
+# Allow the kernel to read otapreopt_chroot's file descriptors and files under
+# /postinstall, as it uses apexd logic to mount APEX packages in /postinstall/apex.
+allow kernel otapreopt_chroot:fd use;
+allow kernel postinstall_file:file read;
+
+# The following sections are for the transition period during a Virtual A/B
+# OTA. Once sepolicy is loaded, snapuserd must be re-launched in the correct
+# context, and with properly labelled devices. This must be done before
+# enabling enforcement, eg, in permissive mode while still in the kernel
+# context.
+allow kernel tmpfs:blk_file { getattr relabelfrom };
+allow kernel tmpfs:chr_file { getattr relabelfrom };
+allow kernel tmpfs:lnk_file { getattr relabelfrom };
+allow kernel tmpfs:dir { open read relabelfrom };
+
+allow kernel block_device:blk_file relabelto;
+allow kernel block_device:lnk_file relabelto;
+allow kernel dm_device:chr_file relabelto;
+allow kernel dm_device:blk_file relabelto;
+allow kernel dm_user_device:dir { read open search relabelto };
+allow kernel dm_user_device:chr_file relabelto;
+allow kernel kmsg_device:chr_file relabelto;
+allow kernel null_device:chr_file relabelto;
+allow kernel random_device:chr_file relabelto;
+allow kernel snapuserd_exec:file relabelto;
+
+allow kernel kmsg_device:chr_file write;
+allow kernel gsid:fd use;
+
+allow kernel self:global_capability_class_set sys_nice;
+
+# Root fs.
+r_dir_file(kernel, rootfs)
+
+# Used to read androidboot.selinux property
+allow kernel {
+  proc_bootconfig
+  proc_cmdline
+}:file r_file_perms;
+
+# Get SELinux enforcing status.
+allow kernel selinuxfs:dir r_dir_perms;
+allow kernel selinuxfs:file r_file_perms;
+
+# Get file contexts during first stage
+allow kernel file_contexts_file:file r_file_perms;
+
+# Allow init relabel itself.
+allow kernel rootfs:file relabelfrom;
+allow kernel init_exec:file relabelto;
+# TODO: investigate why we need this.
+allow kernel init:process share;
+
+# cgroup filesystem initialization prior to setting the cgroup root directory label.
+allow kernel unlabeled:dir search;
+
+# Mount usbfs.
+allow kernel usbfs:filesystem mount;
+allow kernel usbfs:dir search;
+
+# Initial setenforce by init prior to switching to init domain.
+# We use dontaudit instead of allow to prevent a kernel spawned userspace
+# process from turning off SELinux once enabled.
+dontaudit kernel self:security setenforce;
+
+# Write to /proc/1/oom_adj prior to switching to init domain.
+allow kernel self:global_capability_class_set sys_resource;
+
+# Init reboot before switching selinux domains under certain error
+# conditions. Allow it.
+# As part of rebooting, init writes "u" to /proc/sysrq-trigger to
+# remount filesystems read-only. /data is not mounted at this point,
+# so we could ignore this. For now, we allow it.
+allow kernel self:global_capability_class_set sys_boot;
+allow kernel proc_sysrq:file w_file_perms;
+
+# Allow writing to /dev/kmsg which was created prior to loading policy.
+allow kernel tmpfs:chr_file write;
+
+# Set checkreqprot by init.rc prior to switching to init domain.
+allow kernel selinuxfs:file write;
+allow kernel self:security setcheckreqprot;
+
+# kernel thread "loop0", used by the loop block device, for ASECs (b/17158723)
+allow kernel { sdcard_type fuse }:file { read write };
+
+# f_mtp driver accesses files from kernel context.
+allow kernel mediaprovider:fd use;
+
+# Allow the kernel to read OBB files from app directories. (b/17428116)
+# Kernel thread "loop0" reads a vold supplied file descriptor.
+# Fixes CTS tests:
+#  * android.os.storage.cts.StorageManagerTest#testMountAndUnmountObbNormal
+#  * android.os.storage.cts.StorageManagerTest#testMountAndUnmountTwoObbs
+allow kernel vold:fd use;
+allow kernel { app_data_file privapp_data_file }:file read;
+allow kernel asec_image_file:file read;
+
+# Allow mounting loop device in update_engine_unittests. (b/28319454)
+# and for LTP kernel tests (b/73220071)
+userdebug_or_eng(`
+  allow kernel update_engine_data_file:file { read write };
+  allow kernel nativetest_data_file:file { read write };
+')
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow kernel media_rw_data_file:dir create_dir_perms;
+allow kernel media_rw_data_file:file create_file_perms;
+
+# Access to /data/misc/vold/virtual_disk.
+allow kernel vold_data_file:file { read write };
+
+# Allow the kernel to read APEX file descriptors and (staged) data files;
+# Needed because APEX uses the loopback driver, which issues requests from
+# a kernel thread in earlier kernel version.
+allow kernel apexd:fd use;
+allow kernel {
+  apex_data_file
+  staging_data_file
+  vendor_apex_file
+}:file read;
+# Also allow the kernel to read/write /data/local/tmp files via loop device
+# for ApexTestCases and fiemap_image_test.
+userdebug_or_eng(`
+  allow kernel shell_data_file:file { read write };
+')
+
+# Allow the first-stage init (which is running in the kernel domain) to execute the
+# dynamic linker when it re-executes /init to switch into the second stage.
+# Until Linux 4.8, the program interpreter (dynamic linker in this case) is executed
+# before the domain is switched to the target domain. So, we need to allow the kernel
+# domain (the source domain) to execute the dynamic linker (system_file type).
+# TODO(b/110147943) remove these allow rules when we no longer need to support Linux
+# kernel older than 4.8.
+allow kernel system_file:file execute;
+# The label for the dynamic linker is rootfs in the recovery partition. This is because
+# the recovery partition which is rootfs does not support xattr and thus labeling can't be
+# done at build-time. All files are by default labeled as rootfs upon booting.
+recovery_only(`
+  allow kernel rootfs:file execute;
+')
+
+# required by VTS lidbm unit test
+allow kernel appdomain_tmpfs:file { read write };
+
+# Allow first stage init to copy and then launch overlay_remounter
+userdebug_or_eng(`
+  allow kernel tmpfs:dir rw_dir_perms;
+  allow kernel tmpfs:file { create_file_perms relabelfrom };
+  allow kernel overlay_remounter_exec:file { relabelto unlink };
+  allow kernel overlay_remounter:process2 nosuid_transition;
+  allow kernel overlay_remounter:process share;
+')
+
+dontaudit kernel metadata_file:dir search;
+dontaudit kernel ota_metadata_file:dir rw_dir_perms;
+dontaudit kernel sysfs:dir r_dir_perms;
+dontaudit kernel sysfs:file { open read write };
+dontaudit kernel sysfs:chr_file { open read write };
+dontaudit kernel dm_device:chr_file ioctl;
+dontaudit kernel self:capability { sys_admin setgid mknod };
+
+dontaudit kernel dm_user_device:dir { write add_name };
+dontaudit kernel dm_user_device:chr_file { create setattr };
+dontaudit kernel tmpfs:lnk_file read;
+dontaudit kernel tmpfs:blk_file { open read };
+
+###
+### neverallow rules
+###
+
+# The initial task starts in the kernel domain (assigned via
+# initial_sid_contexts), but nothing ever transitions to it.
+neverallow * kernel:process { transition dyntransition };
+
+# The kernel domain is never entered via an exec, nor should it
+# ever execute a program outside the rootfs without changing to another domain.
+# If you encounter an execute_no_trans denial on the kernel domain, then
+# possible causes include:
+# - The program is a kernel usermodehelper.  In this case, define a domain
+#   for the program and domain_auto_trans() to it.
+# - You are running an exploit which switched to the init task credentials
+#   and is then trying to exec a shell or other program.  You lose!
+neverallow kernel *:file { entrypoint execute_no_trans };
+
+# the kernel should not be accessing files owned by other users.
+# Instead of adding dac_{read_search,override}, fix the unix permissions
+# on files being accessed.
+neverallow kernel self:global_capability_class_set { dac_override dac_read_search };
+
+# Nobody should be ptracing kernel threads
+neverallow * kernel:process ptrace;
diff --git a/prebuilts/api/202504/private/keys.conf b/prebuilts/api/202504/private/keys.conf
new file mode 100644
index 0000000..fc50ef3
--- /dev/null
+++ b/prebuilts/api/202504/private/keys.conf
@@ -0,0 +1,37 @@
+#
+# Maps an arbitrary tag [TAGNAME] with the string contents found in
+# TARGET_BUILD_VARIANT. Common convention is to start TAGNAME with an @ and
+# name it after the base file name of the pem file.
+#
+# Each tag (section) then allows one to specify any string found in
+# TARGET_BUILD_VARIANT. Typcially this is user, eng, and userdebug. Another
+# option is to use ALL which will match ANY TARGET_BUILD_VARIANT string.
+#
+
+[@PLATFORM]
+ALL : $DEFAULT_SYSTEM_DEV_CERTIFICATE/platform.x509.pem
+
+[@SDK_SANDBOX]
+ALL : $MAINLINE_SEPOLICY_DEV_CERTIFICATES/sdk_sandbox.x509.pem
+
+[@BLUETOOTH]
+ALL : $MAINLINE_SEPOLICY_DEV_CERTIFICATES/bluetooth.x509.pem
+
+[@MEDIA]
+ALL : $DEFAULT_SYSTEM_DEV_CERTIFICATE/media.x509.pem
+
+[@NETWORK_STACK]
+ALL : $MAINLINE_SEPOLICY_DEV_CERTIFICATES/networkstack.x509.pem
+
+[@NFC]
+ALL : $MAINLINE_SEPOLICY_DEV_CERTIFICATES/nfc.x509.pem
+
+[@SHARED]
+ALL : $DEFAULT_SYSTEM_DEV_CERTIFICATE/shared.x509.pem
+
+# Example of ALL TARGET_BUILD_VARIANTS
+[@RELEASE]
+ENG       : $DEFAULT_SYSTEM_DEV_CERTIFICATE/testkey.x509.pem
+USER      : $DEFAULT_SYSTEM_DEV_CERTIFICATE/testkey.x509.pem
+USERDEBUG : $DEFAULT_SYSTEM_DEV_CERTIFICATE/testkey.x509.pem
+
diff --git a/prebuilts/api/202504/private/keystore.te b/prebuilts/api/202504/private/keystore.te
new file mode 100644
index 0000000..41c29db
--- /dev/null
+++ b/prebuilts/api/202504/private/keystore.te
@@ -0,0 +1,107 @@
+typeattribute keystore coredomain;
+
+init_daemon_domain(keystore)
+
+# talk to keymaster
+hal_client_domain(keystore, hal_keymaster)
+
+# talk to confirmationui
+hal_client_domain(keystore, hal_confirmationui)
+
+# talk to keymint
+hal_client_domain(keystore, hal_keymint)
+
+# This is used for the ConfirmationUI async callback.
+allow keystore platform_app:binder call;
+
+# Allow to check whether security logging is enabled.
+get_prop(keystore, device_logging_prop)
+
+# Allow keystore to check if the system is rkp only.
+get_prop(keystore, remote_prov_prop)
+
+# Allow keystore to check whether to post-process RKP certificates
+get_prop(keystore, remote_prov_cert_prop)
+
+# Allow keystore to check rkpd feature flags
+get_prop(keystore, device_config_remote_key_provisioning_native_prop)
+
+# Allow keystore to write to statsd.
+unix_socket_send(keystore, statsdw, statsd)
+
+# Keystore need access to the keystore2_key_contexts file to load the keystore key backend.
+allow keystore keystore2_key_contexts_file:file r_file_perms;
+
+# Allow keystore to listen to changing boot levels
+get_prop(keystore, keystore_listen_prop)
+
+# Keystore needs to transfer binder references to vold so that it
+# can call keystore methods on those references.
+allow keystore vold:binder transfer;
+
+set_prop(keystore, keystore_diagnostics_prop)
+
+# Allow keystore to monitor the `apexd.status` property.
+get_prop(keystore, apexd_prop)
+
+# keystore is using apex_info via libvintf
+use_apex_info(keystore)
+
+typeattribute keystore mlstrustedsubject;
+binder_use(keystore)
+binder_service(keystore)
+binder_call(keystore, remote_provisioning_service_server)
+binder_call(keystore, rkp_cert_processor)
+binder_call(keystore, system_server)
+binder_call(keystore, wificond)
+
+allow keystore keystore_data_file:dir create_dir_perms;
+allow keystore keystore_data_file:notdevfile_class_set create_file_perms;
+allow keystore keystore_exec:file { getattr };
+
+add_service(keystore, keystore_service)
+allow keystore sec_key_att_app_id_provider_service:service_manager find;
+allow keystore remote_provisioning_service:service_manager find;
+allow keystore rkp_cert_processor_service:service_manager find;
+
+# Allow keystore to communicate to apexd
+allow keystore apex_service:service_manager find;
+allow keystore apexd:binder call;
+
+add_service(keystore, apc_service)
+add_service(keystore, keystore_compat_hal_service)
+add_service(keystore, authorization_service)
+add_service(keystore, keystore_maintenance_service)
+add_service(keystore, keystore_metrics_service)
+add_service(keystore, legacykeystore_service)
+
+# Check SELinux permissions.
+selinux_check_access(keystore)
+
+r_dir_file(keystore, cgroup)
+r_dir_file(keystore, cgroup_v2)
+
+# The software KeyMint implementation used in km_compat needs
+# to read the vendor security patch level.
+get_prop(keystore, vendor_security_patch_level_prop);
+
+# Allow keystore to read its vendor configuration
+get_prop(keystore, keystore_config_prop)
+
+###
+### Neverallow rules
+###
+### Protect ourself from others
+###
+
+neverallow { domain -keystore } keystore_data_file:dir ~{ open create read getattr setattr search relabelto ioctl };
+neverallow { domain -keystore } keystore_data_file:notdevfile_class_set ~{ relabelto getattr };
+
+neverallow { domain -keystore -init } keystore_data_file:dir *;
+neverallow { domain -keystore -init } keystore_data_file:notdevfile_class_set *;
+
+neverallow * keystore:process ptrace;
+
+# Only keystore can set keystore_diagnostics_prop system properties. Since init is allowed to set
+# any system property, an exception is added for init as well.
+neverallow { domain -keystore -init } keystore_diagnostics_prop:property_service set;
diff --git a/prebuilts/api/202504/private/keystore2_key_contexts b/prebuilts/api/202504/private/keystore2_key_contexts
new file mode 100644
index 0000000..868bf15
--- /dev/null
+++ b/prebuilts/api/202504/private/keystore2_key_contexts
@@ -0,0 +1,28 @@
+# Keystore 2.0 key contexts.
+# This file defines Keystore 2.0 namespaces and maps them to labels.
+# Format:
+# <namespace> <label>
+#
+# <namespace> must be an integer in the interval [0 ...  2^31)
+# su_key is a keystore2_key namespace for the su domain intended for native tests.
+0              u:object_r:su_key:s0
+
+# shell_key is a keystore2_key namespace for the shell domain intended for native tests.
+1              u:object_r:shell_key:s0
+
+# vold_key is a keystore2_key namespace for vold. It allows using raw Keymint blobs.
+100            u:object_r:vold_key:s0
+
+# odsign_key is a keystore2_key namespace for the on-device signing daemon.
+101            u:object_r:odsign_key:s0
+
+# wifi_key is a keystore2_key namespace for the WI-FI subsystem. It replaces the WIFI_UID
+# namespace in keystore.
+102            u:object_r:wifi_key:s0
+
+# locksettings_key is a keystore2_key namespace for the LockSettingsService.
+103            u:object_r:locksettings_key:s0
+
+# resume_on_reboot_key is a keystore2_key namespace intended for resume on reboot.
+120            u:object_r:resume_on_reboot_key:s0
+
diff --git a/prebuilts/api/202504/private/keystore_keys.te b/prebuilts/api/202504/private/keystore_keys.te
new file mode 100644
index 0000000..2f97608
--- /dev/null
+++ b/prebuilts/api/202504/private/keystore_keys.te
@@ -0,0 +1,22 @@
+# Specify keystore2_key namespaces in this file.
+# Please keep the names in alphabetical order and comment each new entry.
+
+# A keystore2_key namespace for the shell domain. Mainly used for native tests.
+type shell_key, keystore2_key_type;
+
+# A keystore2 namespace for the su domain. Mainly used for native tests.
+type su_key, keystore2_key_type;
+
+# A keystore2 namespace for vold. Vold need special permission to handle
+# its own Keymint blobs.
+type vold_key, keystore2_key_type;
+
+# A keystore2 namespace for the on-device signing daemon.
+type odsign_key, keystore2_key_type;
+
+# A keystore2 namespace for LockSettingsService.
+type locksettings_key, keystore2_key_type;
+
+# A keystore2 namespace for resume on reboot.
+type resume_on_reboot_key, keystore2_key_type;
+
diff --git a/prebuilts/api/202504/private/linkerconfig.te b/prebuilts/api/202504/private/linkerconfig.te
new file mode 100644
index 0000000..5459c1d
--- /dev/null
+++ b/prebuilts/api/202504/private/linkerconfig.te
@@ -0,0 +1,40 @@
+type linkerconfig, domain, coredomain;
+type linkerconfig_exec, exec_type, file_type, system_file_type;
+
+init_daemon_domain(linkerconfig)
+
+## Read and write linkerconfig subdirectory.
+allow linkerconfig linkerconfig_file:dir create_dir_perms;
+allow linkerconfig linkerconfig_file:file create_file_perms;
+
+# Allow linkerconfig to log to the kernel.
+allow linkerconfig kmsg_device:chr_file w_file_perms;
+
+# Allow linkerconfig to be invoked with logwrapper from init.
+allow linkerconfig devpts:chr_file { getattr ioctl read write };
+
+# Allow linkerconfig to scan for apex modules
+allow linkerconfig apex_mnt_dir:dir r_dir_perms;
+
+# Allow linkerconfig to read apex-info-list.xml
+allow linkerconfig apex_info_file:file r_file_perms;
+
+# Allow linkerconfig to read apex_manifest.pb file from vendor apex
+r_dir_file(linkerconfig, vendor_apex_metadata_file)
+
+# Allow linkerconfig to be called in the otapreopt_chroot
+allow linkerconfig otapreopt_chroot:fd use;
+allow linkerconfig postinstall_apex_mnt_dir:dir r_dir_perms;
+allow linkerconfig postinstall_apex_mnt_dir:file r_file_perms;
+
+# Allow for use in Pre-reboot Dexopt.
+allow linkerconfig dexopt_chroot_setup:fd use;
+
+neverallow {
+  domain
+  -dexopt_chroot_setup
+  -init
+  -linkerconfig
+  -otapreopt_chroot
+  userdebug_or_eng(`-overlay_remounter')
+} linkerconfig_exec:file no_x_file_perms;
diff --git a/prebuilts/api/202504/private/linux_vm_setup.te b/prebuilts/api/202504/private/linux_vm_setup.te
new file mode 100644
index 0000000..ba483e8
--- /dev/null
+++ b/prebuilts/api/202504/private/linux_vm_setup.te
@@ -0,0 +1,6 @@
+type linux_vm_setup, domain, coredomain;
+type linux_vm_setup_exec, system_file_type, exec_type, file_type;
+
+is_flag_enabled(RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES, `
+  init_daemon_domain(linux_vm_setup)
+')
diff --git a/prebuilts/api/202504/private/llkd.te b/prebuilts/api/202504/private/llkd.te
new file mode 100644
index 0000000..9c96dfb
--- /dev/null
+++ b/prebuilts/api/202504/private/llkd.te
@@ -0,0 +1,53 @@
+# llkd Live LocK Daemon
+typeattribute llkd coredomain;
+
+init_daemon_domain(llkd)
+
+get_prop(llkd, llkd_prop)
+
+allow llkd self:global_capability_class_set kill;
+userdebug_or_eng(`
+  allow llkd self:global_capability_class_set { sys_ptrace sys_admin };
+  allow llkd self:global_capability_class_set { dac_override dac_read_search };
+')
+
+# llkd optionally locks itself in memory, to prevent it from being
+# swapped out and unable to discover a kernel in live-lock state.
+allow llkd self:global_capability_class_set ipc_lock;
+
+# Send kill signals to _anyone_ suffering from Live Lock
+allow llkd domain:process sigkill;
+
+# read stack to check for Live Lock
+userdebug_or_eng(`
+  allow llkd {
+    domain
+    -apexd
+    -kernel
+    -keystore
+    -init
+    -llkd
+    -ueventd
+    -vendor_init
+  }:process ptrace;
+')
+
+# live lock watchdog process allowed to look through /proc/
+allow llkd domain:dir r_dir_perms;
+allow llkd domain:file r_file_perms;
+allow llkd domain:lnk_file read;
+# Set /proc/sys/kernel/hung_task_*
+allow llkd proc_hung_task:file rw_file_perms;
+
+# live lock watchdog process allowed to dump process trace and
+# reboot because orderly shutdown may not be possible.
+allow llkd proc_sysrq:file rw_file_perms;
+allow llkd kmsg_device:chr_file w_file_perms;
+
+### neverallow rules
+
+neverallow { domain -init } llkd:process { dyntransition transition };
+neverallow { domain userdebug_or_eng(`-crash_dump') } llkd:process ptrace;
+
+# never honor LD_PRELOAD
+neverallow * llkd:process noatsecure;
diff --git a/prebuilts/api/202504/private/lmkd.te b/prebuilts/api/202504/private/lmkd.te
new file mode 100644
index 0000000..97dc398
--- /dev/null
+++ b/prebuilts/api/202504/private/lmkd.te
@@ -0,0 +1,95 @@
+typeattribute lmkd coredomain;
+typeattribute lmkd bpfdomain;
+
+init_daemon_domain(lmkd)
+
+# Set sys.lmk.* properties.
+set_prop(lmkd, system_lmk_prop)
+
+# Set lmkd.* properties.
+set_prop(lmkd, lmkd_prop)
+
+# Get persist.device_config.lmk_native.* properties.
+get_prop(lmkd, device_config_lmkd_native_prop)
+
+# Needed for reading tracepoint ids in order to attach bpf programs.
+allow lmkd debugfs_tracing:file r_file_perms;
+allow lmkd self:perf_event { cpu kernel open write };
+
+allow lmkd fs_bpf:file read;
+allow lmkd bpfloader:bpf { map_read map_write prog_run };
+
+# Needed to interact with memevents-eBPF and receive notifications for memory events
+allow lmkd fs_bpf_memevents:file { read write };
+allow lmkd fs_bpf_memevents:dir search;
+
+allow lmkd self:global_capability_class_set { dac_override dac_read_search sys_resource kill };
+
+# lmkd locks itself in memory, to prevent it from being
+# swapped out and unable to kill other memory hogs.
+# system/core commit b28ff9131363f7b4a698990da5748b2a88c3ed35
+# b/16236289
+allow lmkd self:global_capability_class_set ipc_lock;
+
+## Open and write to /proc/PID/oom_score_adj and /proc/PID/timerslack_ns
+## TODO: maybe scope this down?
+r_dir_file(lmkd, domain)
+allow lmkd domain:file write;
+
+## Writes to /sys/module/lowmemorykiller/parameters/minfree
+r_dir_file(lmkd, sysfs_lowmemorykiller)
+allow lmkd sysfs_lowmemorykiller:file w_file_perms;
+
+# setsched and send kill signals to any registered process
+allow lmkd domain:process { setsched sigkill };
+# TODO: delete this line b/131761776
+allow lmkd kernel:process { setsched };
+
+# Clean up old cgroups
+allow lmkd cgroup:dir { remove_name rmdir };
+allow lmkd cgroup_v2:dir { remove_name rmdir };
+
+# Allow to read memcg stats
+allow lmkd cgroup:file r_file_perms;
+allow lmkd cgroup_v2:file r_file_perms;
+
+# Set self to SCHED_FIFO
+allow lmkd self:global_capability_class_set sys_nice;
+
+allow lmkd proc_zoneinfo:file r_file_perms;
+allow lmkd proc_vmstat:file r_file_perms;
+
+# live lock watchdog process allowed to look through /proc/
+allow lmkd domain:dir { search open read };
+allow lmkd domain:file { open read };
+
+# live lock watchdog process allowed to dump process trace and
+# reboot because orderly shutdown may not be possible.
+allow lmkd proc_sysrq:file rw_file_perms;
+
+# Read /proc/lowmemorykiller
+allow lmkd proc_lowmemorykiller:file r_file_perms;
+
+# Read /proc/meminfo
+allow lmkd proc_meminfo:file r_file_perms;
+
+# Read /proc/pressure/cpu and /proc/pressure/io
+allow lmkd proc_pressure_cpu:file r_file_perms;
+allow lmkd proc_pressure_io:file r_file_perms;
+
+# Read/Write /proc/pressure/memory
+allow lmkd proc_pressure_mem:file rw_file_perms;
+
+# Allow lmkd to connect during reinit.
+allow lmkd lmkd_socket:sock_file write;
+
+# Allow lmkd to write to statsd.
+unix_socket_send(lmkd, statsdw, statsd)
+
+### neverallow rules
+
+# never honor LD_PRELOAD
+neverallow * lmkd:process noatsecure;
+neverallow lmkd self:global_capability_class_set sys_ptrace;
+neverallow { domain -init -lmkd -vendor_init } lmkd_prop:property_service set;
+neverallow lmkd self:perf_event ~{ cpu kernel open write };
diff --git a/prebuilts/api/202504/private/logd.te b/prebuilts/api/202504/private/logd.te
new file mode 100644
index 0000000..b6e8b27
--- /dev/null
+++ b/prebuilts/api/202504/private/logd.te
@@ -0,0 +1,127 @@
+typeattribute logd coredomain;
+
+init_daemon_domain(logd)
+
+# Access device logging gating property
+get_prop(logd, device_logging_prop)
+
+# logd is not allowed to write anywhere other than /data/misc/logd, and then
+# only on userdebug or eng builds
+neverallow logd {
+  file_type
+  -runtime_event_log_tags_file
+  # shell_data_file access is needed to dump bugreports
+  -shell_data_file
+  userdebug_or_eng(`-coredump_file -misc_logd_file')
+  with_native_coverage(`-method_trace_data_file')
+}:file { create write append };
+
+# protect the event-log-tags file
+neverallow {
+  domain
+  -appdomain # covered below
+  -bootstat
+  -dumpstate
+  -init
+  -logd
+  userdebug_or_eng(`-logpersist')
+  -servicemanager
+  -system_server
+  -surfaceflinger
+  -zygote
+} runtime_event_log_tags_file:file no_rw_file_perms;
+
+neverallow {
+  appdomain
+  -bluetooth
+  -platform_app
+  -priv_app
+  -radio
+  -shell
+  userdebug_or_eng(`-su')
+  -system_app
+} runtime_event_log_tags_file:file no_rw_file_perms;
+
+# Only binder communication between logd and system_server is allowed
+binder_use(logd)
+binder_service(logd)
+binder_call(logd, system_server)
+
+add_service(logd, logd_service)
+allow logd logcat_service:service_manager find;
+
+# Read access to pseudo filesystems.
+r_dir_file(logd, cgroup)
+r_dir_file(logd, cgroup_v2)
+r_dir_file(logd, proc_kmsg)
+r_dir_file(logd, proc_meminfo)
+
+allow logd self:global_capability_class_set { setuid setgid setpcap sys_nice audit_control };
+allow logd self:global_capability2_class_set syslog;
+allow logd self:netlink_audit_socket { create_socket_perms_no_ioctl nlmsg_write };
+allow logd kernel:system syslog_read;
+allow logd kmsg_device:chr_file { getattr w_file_perms };
+allow logd system_data_file:{ file lnk_file } r_file_perms;
+allow logd packages_list_file:file r_file_perms;
+allow logd pstorefs:dir search;
+allow logd pstorefs:file r_file_perms;
+userdebug_or_eng(`
+  # Access to /data/misc/logd/event-log-tags
+  allow logd misc_logd_file:dir r_dir_perms;
+  allow logd misc_logd_file:file rw_file_perms;
+')
+allow logd runtime_event_log_tags_file:file rw_file_perms;
+
+r_dir_file(logd, domain)
+
+allow logd kernel:system syslog_mod;
+
+control_logd(logd)
+read_runtime_log_tags(logd)
+
+allow runtime_event_log_tags_file tmpfs:filesystem associate;
+# Typically harmlessly blindly trying to access via liblog
+# event tag mapping while in the untrusted_app domain.
+# Access for that domain is controlled and gated via the
+# event log tag service (albeit at a performance penalty,
+# expected to be locally cached).
+dontaudit domain runtime_event_log_tags_file:file { map open read };
+
+# Logd sets defaults if certain properties are empty.
+set_prop(logd, logd_prop)
+
+###
+### Neverallow rules
+###
+### logd should NEVER do any of this
+
+# Block device access.
+neverallow logd dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow logd domain:process ptrace;
+
+# ... and nobody may ptrace me (except on userdebug or eng builds)
+neverallow { domain userdebug_or_eng(`-crash_dump -llkd') } logd:process ptrace;
+
+# Write to /system.
+neverallow logd system_file_type:dir_file_class_set write;
+
+# Write to files in /data/data or system files on /data
+neverallow logd {
+    app_data_file_type
+    system_data_file
+    packages_list_file
+    -shell_data_file # for bugreports
+}:dir_file_class_set write;
+
+# Only init is allowed to enter the logd domain via exec()
+neverallow { domain -init } logd:process transition;
+neverallow * logd:process dyntransition;
+
+# protect the event-log-tags file
+neverallow {
+  domain
+  -init
+  -logd
+} runtime_event_log_tags_file:file no_w_file_perms;
diff --git a/prebuilts/api/202504/private/logpersist.te b/prebuilts/api/202504/private/logpersist.te
new file mode 100644
index 0000000..34022d6
--- /dev/null
+++ b/prebuilts/api/202504/private/logpersist.te
@@ -0,0 +1,64 @@
+typeattribute logpersist coredomain;
+
+# android debug log storage in logpersist domains (eng and userdebug only)
+userdebug_or_eng(`
+
+  r_dir_file(logpersist, cgroup)
+  r_dir_file(logpersist, cgroup_v2)
+
+  allow logpersist misc_logd_file:file create_file_perms;
+  allow logpersist misc_logd_file:dir rw_dir_perms;
+
+  allow logpersist self:global_capability_class_set sys_nice;
+  allow logpersist pstorefs:dir search;
+  allow logpersist pstorefs:file r_file_perms;
+
+  control_logd(logpersist)
+  unix_socket_connect(logpersist, logdr, logd)
+  get_prop(logpersist, logd_prop)
+  read_runtime_log_tags(logpersist)
+
+')
+
+# logcatd is a shell script that execs logcat with various parameters.
+allow logpersist shell_exec:file rx_file_perms;
+allow logpersist logcat_exec:file rx_file_perms;
+
+allowxperm logpersist misc_logd_file:file ioctl {
+  F2FS_IOC_RELEASE_COMPRESS_BLOCKS
+  FS_IOC_SETFLAGS
+};
+
+###
+### Neverallow rules
+###
+### logpersist should NEVER do any of this
+
+# Block device access.
+neverallow logpersist dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow logpersist domain:process ptrace;
+
+# Write to files in /data/data or system files on /data except misc_logd_file
+neverallow logpersist { app_data_file_type system_data_file }:dir_file_class_set write;
+
+# Only init should be allowed to enter the logpersist domain via exec()
+# Following is a list of debug domains we know that transition to logpersist
+# neverallow_with_undefined_domains {
+#   domain
+#   -init       # goldfish, logcatd, raft
+#   -mmi        # bat, mtp8996, msmcobalt
+#   -system_app # Smith.apk
+# } logpersist:process transition;
+neverallow * logpersist:process dyntransition;
+
+# logpersist is allowed to write to /data/misc/log for userdebug and eng builds
+neverallow logpersist {
+  file_type
+  userdebug_or_eng(`-misc_logd_file -coredump_file')
+  with_native_coverage(`-method_trace_data_file')
+}:file { create write append };
+neverallow { domain -init -dumpstate -incidentd userdebug_or_eng(`-logpersist -logd') } misc_logd_file:file no_rw_file_perms;
+neverallow { domain -init userdebug_or_eng(`-logpersist -logd') } misc_logd_file:file no_w_file_perms;
+neverallow { domain -init userdebug_or_eng(`-logpersist -logd') } misc_logd_file:dir { add_name link relabelfrom remove_name rename reparent rmdir write };
diff --git a/prebuilts/api/202504/private/lpdumpd.te b/prebuilts/api/202504/private/lpdumpd.te
new file mode 100644
index 0000000..09ba079
--- /dev/null
+++ b/prebuilts/api/202504/private/lpdumpd.te
@@ -0,0 +1,47 @@
+type lpdumpd, domain, coredomain;
+type lpdumpd_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(lpdumpd)
+
+# Allow lpdumpd to register itself as a service.
+binder_use(lpdumpd)
+add_service(lpdumpd, lpdump_service)
+
+# Allow lpdumpd to find the super partition block device.
+allow lpdumpd block_device:dir r_dir_perms;
+
+# Allow lpdumpd to read super partition metadata.
+allow lpdumpd super_block_device_type:blk_file r_file_perms;
+
+# Allow lpdumpd to read fstab.
+allow lpdumpd sysfs_dt_firmware_android:dir r_dir_perms;
+allow lpdumpd sysfs_dt_firmware_android:file r_file_perms;
+read_fstab(lpdumpd)
+
+# Allow to get A/B slot suffix from device tree or kernel cmdline.
+r_dir_file(lpdumpd, sysfs_dt_firmware_android);
+allow lpdumpd proc_cmdline:file r_file_perms;
+
+# Allow reading Virtual A/B status information.
+get_prop(lpdumpd, virtual_ab_prop)
+allow lpdumpd metadata_file:dir search;
+allow lpdumpd ota_metadata_file:dir { r_dir_perms lock };
+allow lpdumpd ota_metadata_file:file r_file_perms;
+
+### Neverallow rules
+
+# Disallow other domains to get lpdump_service and call lpdumpd.
+neverallow {
+    domain
+    -dumpstate
+    -lpdumpd
+    -shell
+} lpdump_service:service_manager find;
+
+neverallow {
+    domain
+    -dumpstate
+    -lpdumpd
+    -shell
+    -servicemanager
+} lpdumpd:binder call;
diff --git a/prebuilts/api/202504/private/mac_permissions.xml b/prebuilts/api/202504/private/mac_permissions.xml
new file mode 100644
index 0000000..fa8ffcf
--- /dev/null
+++ b/prebuilts/api/202504/private/mac_permissions.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<policy>
+
+<!--
+
+    * A signature is a hex encoded X.509 certificate or a tag defined in
+      keys.conf and is required for each signer tag. The signature can
+      either appear as a set of attached cert child tags or as an attribute.
+    * A signer tag must contain a seinfo tag XOR multiple package stanzas.
+    * Each signer/package tag is allowed to contain one seinfo tag. This tag
+      represents additional info that each app can use in setting a SELinux security
+      context on the eventual process as well as the apps data directory.
+    * seinfo assignments are made according to the following rules:
+      - Stanzas with package name refinements will be checked first.
+      - Stanzas w/o package name refinements will be checked second.
+      - The "default" seinfo label is automatically applied.
+
+    * valid stanzas can take one of the following forms:
+
+     // single cert protecting seinfo
+     <signer signature="@PLATFORM" >
+       <seinfo value="platform" />
+     </signer>
+
+     // multiple certs protecting seinfo (all contained certs must match)
+     <signer>
+       <cert signature="@PLATFORM1"/>
+       <cert signature="@PLATFORM2"/>
+       <seinfo value="platform" />
+     </signer>
+
+     // single cert protecting explicitly named app
+     <signer signature="@PLATFORM" >
+       <package name="com.android.foo">
+         <seinfo value="bar" />
+       </package>
+     </signer>
+
+     // multiple certs protecting explicitly named app (all certs must match)
+     <signer>
+       <cert signature="@PLATFORM1"/>
+       <cert signature="@PLATFORM2"/>
+       <package name="com.android.foo">
+         <seinfo value="bar" />
+       </package>
+     </signer>
+-->
+
+    <!-- Platform dev key in AOSP -->
+    <signer signature="@PLATFORM" >
+      <seinfo value="platform" />
+    </signer>
+
+    <!-- Sdk Sandbox key -->
+    <signer signature="@SDK_SANDBOX" >
+      <seinfo value="sdk_sandbox" />
+    </signer>
+
+    <!-- Bluetooth key in AOSP -->
+    <signer signature="@BLUETOOTH" >
+      <seinfo value="bluetooth" />
+    </signer>
+
+    <!-- Media key in AOSP -->
+    <signer signature="@MEDIA" >
+      <seinfo value="media" />
+    </signer>
+
+    <signer signature="@NETWORK_STACK" >
+      <seinfo value="network_stack" />
+    </signer>
+
+    <!-- NFC key in AOSP -->
+    <signer signature="@NFC" >
+      <seinfo value="nfc" />
+    </signer>
+</policy>
diff --git a/prebuilts/api/202504/private/mdnsd.te b/prebuilts/api/202504/private/mdnsd.te
new file mode 100644
index 0000000..98e95da
--- /dev/null
+++ b/prebuilts/api/202504/private/mdnsd.te
@@ -0,0 +1,12 @@
+# mdns daemon
+
+typeattribute mdnsd coredomain;
+typeattribute mdnsd mlstrustedsubject;
+
+type mdnsd_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(mdnsd)
+
+net_domain(mdnsd)
+
+# Read from /proc/net
+r_dir_file(mdnsd, proc_net_type)
diff --git a/prebuilts/api/202504/private/mediadrmserver.te b/prebuilts/api/202504/private/mediadrmserver.te
new file mode 100644
index 0000000..fdc7681
--- /dev/null
+++ b/prebuilts/api/202504/private/mediadrmserver.te
@@ -0,0 +1,37 @@
+typeattribute mediadrmserver coredomain;
+
+init_daemon_domain(mediadrmserver)
+
+# allocate and use graphic buffers
+hal_client_domain(mediadrmserver, hal_graphics_allocator)
+auditallow mediadrmserver hal_graphics_allocator_server:binder call;
+
+typeattribute mediadrmserver mlstrustedsubject;
+
+net_domain(mediadrmserver)
+binder_use(mediadrmserver)
+binder_call(mediadrmserver, binderservicedomain)
+binder_call(mediadrmserver, appdomain)
+binder_service(mediadrmserver)
+hal_client_domain(mediadrmserver, hal_drm)
+
+add_service(mediadrmserver, mediadrmserver_service)
+allow mediadrmserver mediaserver_service:service_manager find;
+allow mediadrmserver mediametrics_service:service_manager find;
+allow mediadrmserver processinfo_service:service_manager find;
+allow mediadrmserver surfaceflinger_service:service_manager find;
+allow mediadrmserver system_file:dir r_dir_perms;
+
+# TODO(b/80317992): remove
+binder_call(mediadrmserver, hal_omx_server)
+
+###
+### neverallow rules
+###
+
+# mediadrmserver should never execute any executable without a
+# domain transition
+neverallow mediadrmserver { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm mediadrmserver domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
diff --git a/prebuilts/api/202504/private/mediaextractor.te b/prebuilts/api/202504/private/mediaextractor.te
new file mode 100644
index 0000000..c800d89
--- /dev/null
+++ b/prebuilts/api/202504/private/mediaextractor.te
@@ -0,0 +1,78 @@
+typeattribute mediaextractor coredomain;
+
+init_daemon_domain(mediaextractor)
+tmpfs_domain(mediaextractor)
+allow mediaextractor appdomain_tmpfs:file { getattr map read write };
+allow mediaextractor mediaserver_tmpfs:file { getattr map read write };
+allow mediaextractor system_server_tmpfs:file { getattr map read write };
+
+get_prop(mediaextractor, device_config_media_native_prop)
+get_prop(mediaextractor, device_config_swcodec_native_prop)
+
+typeattribute mediaextractor mlstrustedsubject;
+
+binder_use(mediaextractor)
+binder_call(mediaextractor, binderservicedomain)
+binder_call(mediaextractor, appdomain)
+binder_service(mediaextractor)
+
+add_service(mediaextractor, mediaextractor_service)
+allow mediaextractor mediametrics_service:service_manager find;
+allow mediaextractor hidl_token_hwservice:hwservice_manager find;
+
+allow mediaextractor system_server:fd use;
+
+hal_client_domain(mediaextractor, hal_cas)
+hal_client_domain(mediaextractor, hal_allocator)
+
+r_dir_file(mediaextractor, cgroup)
+r_dir_file(mediaextractor, cgroup_v2)
+allow mediaextractor proc_meminfo:file r_file_perms;
+
+crash_dump_fallback(mediaextractor)
+
+# allow mediaextractor read permissions for file sources
+allow mediaextractor { sdcard_type fuse }:file { getattr read };
+allow mediaextractor media_rw_data_file:file { getattr read };
+allow mediaextractor { app_data_file privapp_data_file }:file { getattr read };
+
+# Read resources from open apk files passed over Binder
+allow mediaextractor apk_data_file:file { read getattr };
+allow mediaextractor asec_apk_file:file { read getattr };
+allow mediaextractor ringtone_file:file { read getattr };
+
+# overlay package access
+allow mediaextractor vendor_overlay_file:file { read map };
+
+# scan extractor library directory to dynamically load extractors
+allow mediaextractor system_file:dir { read open };
+
+###
+### neverallow rules
+###
+
+# mediaextractor should never execute any executable without a
+# domain transition
+neverallow mediaextractor { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediaextractor domain:{ udp_socket rawip_socket } *;
+neverallow mediaextractor { domain userdebug_or_eng(`-su') }:tcp_socket *;
+
+# mediaextractor should not be opening /data files directly. Any files
+# it touches (with a few exceptions) need to be passed to it via a file
+# descriptor opened outside the process.
+neverallow mediaextractor {
+  data_file_type
+  userdebug_or_eng(`-apk_data_file') # for loading media extractor plugins
+  with_native_coverage(`-method_trace_data_file')
+}:file open;
diff --git a/prebuilts/api/202504/private/mediametrics.te b/prebuilts/api/202504/private/mediametrics.te
new file mode 100644
index 0000000..bb12900
--- /dev/null
+++ b/prebuilts/api/202504/private/mediametrics.te
@@ -0,0 +1,50 @@
+typeattribute mediametrics coredomain;
+
+init_daemon_domain(mediametrics)
+
+# Needed for stats callback registration to statsd.
+allow mediametrics stats_service:service_manager find;
+allow mediametrics statsmanager_service:service_manager find;
+binder_call(mediametrics, statsd)
+
+binder_use(mediametrics)
+binder_call(mediametrics, binderservicedomain)
+binder_service(mediametrics)
+
+add_service(mediametrics, mediametrics_service)
+
+allow mediametrics system_server:fd use;
+
+r_dir_file(mediametrics, cgroup)
+r_dir_file(mediametrics, cgroup_v2)
+allow mediametrics proc_meminfo:file r_file_perms;
+
+# allows interactions with dumpsys to GMScore
+allow mediametrics { app_data_file privapp_data_file }:file write;
+
+# allow access to package manager for uid->apk mapping
+allow mediametrics package_native_service:service_manager find;
+
+# Allow metrics service to send information to statsd socket.
+unix_socket_send(mediametrics, statsdw, statsd)
+
+###
+### neverallow rules
+###
+
+# mediametrics should never execute any executable without a
+# domain transition
+neverallow mediametrics { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediametrics domain:{ udp_socket rawip_socket } *;
+neverallow mediametrics { domain userdebug_or_eng(`-su') }:tcp_socket *;
diff --git a/prebuilts/api/202504/private/mediaprovider.te b/prebuilts/api/202504/private/mediaprovider.te
new file mode 100644
index 0000000..545d9ea
--- /dev/null
+++ b/prebuilts/api/202504/private/mediaprovider.te
@@ -0,0 +1,49 @@
+###
+### A domain for android.process.media, which contains both
+### MediaProvider and DownloadProvider and associated services.
+###
+
+typeattribute mediaprovider coredomain;
+app_domain(mediaprovider)
+
+# DownloadProvider accesses the network.
+net_domain(mediaprovider)
+
+# DownloadProvider uses /cache.
+allow mediaprovider cache_file:dir create_dir_perms;
+allow mediaprovider cache_file:file create_file_perms;
+# /cache is a symlink to /data/cache on some devices. Allow reading the link.
+allow mediaprovider cache_file:lnk_file r_file_perms;
+# mediaprovider searches through /cache looking for orphans
+# Ignore denials to /cache/recovery and /cache/backup.
+dontaudit mediaprovider cache_private_backup_file:dir getattr;
+dontaudit mediaprovider cache_recovery_file:dir getattr;
+
+# Access external sdcards through /mnt/media_rw
+allow mediaprovider { mnt_media_rw_file }:dir search;
+
+allow mediaprovider app_api_service:service_manager find;
+allow mediaprovider audioserver_service:service_manager find;
+allow mediaprovider cameraserver_service:service_manager find;
+allow mediaprovider drmserver_service:service_manager find;
+allow mediaprovider mediaextractor_service:service_manager find;
+allow mediaprovider mediaserver_service:service_manager find;
+
+# Allow MediaProvider to read/write cached ringtones (opened by system).
+allow mediaprovider ringtone_file:file { getattr read write };
+
+# MtpServer uses /dev/mtp_usb
+allow mediaprovider mtp_device:chr_file rw_file_perms;
+
+# MtpServer uses /dev/usb-ffs/mtp
+allow mediaprovider functionfs:dir search;
+allow mediaprovider functionfs:file rw_file_perms;
+allowxperm mediaprovider functionfs:file ioctl FUNCTIONFS_ENDPOINT_DESC;
+allowxperm mediaprovider functionfs:file ioctl FUNCTIONFS_ENDPOINT_ALLOC;
+
+# MtpServer sets sys.usb.ffs.mtp.ready
+get_prop(mediaprovider, ffs_config_prop)
+set_prop(mediaprovider, ffs_control_prop)
+
+# DownloadManager may retrieve DRM status
+get_prop(mediaprovider, drm_service_config_prop)
diff --git a/prebuilts/api/202504/private/mediaprovider_app.te b/prebuilts/api/202504/private/mediaprovider_app.te
new file mode 100644
index 0000000..064d0d9
--- /dev/null
+++ b/prebuilts/api/202504/private/mediaprovider_app.te
@@ -0,0 +1,78 @@
+###
+### A domain for further sandboxing the MediaProvider mainline module.
+###
+type mediaprovider_app, domain, coredomain, bpfdomain;
+
+app_domain(mediaprovider_app)
+
+# Access to /mnt/pass_through.
+r_dir_file(mediaprovider_app, mnt_pass_through_file)
+
+# Allow MediaProvider to host a FUSE daemon for external storage
+allow mediaprovider_app fuse_device:chr_file { read write ioctl getattr };
+
+# Allow MediaProvider to access fuseblk devices for external storage.
+allow mediaprovider_app fuseblk:dir create_dir_perms;
+allow mediaprovider_app fuseblk:file create_file_perms;
+
+# Allow MediaProvider to read/write media_rw_data_file files and dirs
+allow mediaprovider_app media_userdir_file:dir r_dir_perms;
+allow mediaprovider_app media_rw_data_file:file create_file_perms;
+allow mediaprovider_app media_rw_data_file:dir create_dir_perms;
+
+# Talk to the DRM service
+allow mediaprovider_app drmserver_service:service_manager find;
+
+# Talk to the MediaServer service
+allow mediaprovider_app mediaserver_service:service_manager find;
+
+# Talk to the AudioServer service
+allow mediaprovider_app audioserver_service:service_manager find;
+
+# Talk to the MediaCodec APIs that log media metrics
+allow mediaprovider_app mediametrics_service:service_manager find;
+
+# Talk to regular app services
+allow mediaprovider_app app_api_service:service_manager find;
+
+# Talk to the GPU service
+binder_call(mediaprovider_app, gpuservice)
+
+# Talk to statsd
+allow mediaprovider_app statsmanager_service:service_manager find;
+binder_call(mediaprovider_app, statsd)
+
+# read pipe-max-size configuration
+allow mediaprovider_app proc_pipe_conf:file r_file_perms;
+
+# Allow MediaProvider to set extended attributes (such as quota project ID)
+# on media files.
+allowxperm mediaprovider_app media_rw_data_file:{ dir file } ioctl {
+  FS_IOC_FSGETXATTR
+  FS_IOC_FSSETXATTR
+  FS_IOC_GETFLAGS
+  FS_IOC_SETFLAGS
+};
+
+# Access external sdcards through /mnt/media_rw
+allow mediaprovider_app { mnt_media_rw_file }:dir search;
+
+allow mediaprovider_app proc_filesystems:file r_file_perms;
+
+#Allow MediaProvider to see if sdcardfs is in use
+get_prop(mediaprovider_app, storage_config_prop)
+
+get_prop(mediaprovider_app, drm_service_config_prop)
+
+allow mediaprovider_app gpu_device:chr_file rw_file_perms;
+allow mediaprovider_app gpu_device:dir r_dir_perms;
+
+dontaudit mediaprovider_app sysfs_vendor_sched:dir search;
+dontaudit mediaprovider_app sysfs_vendor_sched:file w_file_perms;
+
+# bpfprog access for FUSE BPF
+allow mediaprovider_app fs_bpf:file read;
+allow mediaprovider_app bpfloader:bpf { map_read map_write prog_run };
+
+# boot animations on oem are stored with specific label
+allow mediaprovider_app bootanim_oem_file:file r_file_perms;
diff --git a/prebuilts/api/202504/private/mediaserver.te b/prebuilts/api/202504/private/mediaserver.te
new file mode 100644
index 0000000..d72caf6
--- /dev/null
+++ b/prebuilts/api/202504/private/mediaserver.te
@@ -0,0 +1,189 @@
+typeattribute mediaserver coredomain;
+
+init_daemon_domain(mediaserver)
+tmpfs_domain(mediaserver)
+allow mediaserver appdomain_tmpfs:file { getattr map read write };
+
+# allocate and use graphic buffers
+hal_client_domain(mediaserver, hal_graphics_allocator)
+hal_client_domain(mediaserver, hal_configstore)
+hal_client_domain(mediaserver, hal_drm)
+hal_client_domain(mediaserver, hal_omx)
+hal_client_domain(mediaserver, hal_codec2)
+
+set_prop(mediaserver, audio_prop)
+
+get_prop(mediaserver, drm_service_config_prop)
+get_prop(mediaserver, media_config_prop)
+
+# Allow MediaCodec running on mediaserver to read media_native flags
+get_prop(mediaserver, device_config_media_native_prop)
+
+# Allow mediaserver to start media.transcoding service via ctl.start.
+set_prop(mediaserver, ctl_mediatranscoding_prop);
+
+# Allow mediaserver to read SDK sandbox data files
+allow mediaserver sdk_sandbox_data_file:file { getattr read };
+
+# Needed for stats callback registration to statsd.
+allow mediaserver stats_service:service_manager find;
+allow mediaserver statsmanager_service:service_manager find;
+binder_call(mediaserver, statsd)
+
+# Allow mediaserver to communicate with Surface provided
+# by virtual camera.
+binder_call(mediaserver, virtual_camera)
+
+typeattribute mediaserver mlstrustedsubject;
+
+net_domain(mediaserver)
+
+r_dir_file(mediaserver, sdcard_type)
+r_dir_file(mediaserver, fuse)
+r_dir_file(mediaserver, cgroup)
+r_dir_file(mediaserver, cgroup_v2)
+
+# stat /proc/self
+allow mediaserver proc:lnk_file getattr;
+
+# open /vendor/lib/mediadrm
+allow mediaserver system_file:dir r_dir_perms;
+
+userdebug_or_eng(`
+  # ptrace to processes in the same domain for memory leak detection
+  allow mediaserver self:process ptrace;
+')
+
+binder_use(mediaserver)
+binder_call(mediaserver, binderservicedomain)
+binder_call(mediaserver, appdomain)
+binder_service(mediaserver)
+
+allow mediaserver media_data_file:dir create_dir_perms;
+allow mediaserver media_data_file:file create_file_perms;
+allow mediaserver { app_data_file privapp_data_file }:file { append getattr ioctl lock map read write };
+allow mediaserver { sdcard_type fuse }:file write;
+allow mediaserver gpu_device:chr_file rw_file_perms;
+allow mediaserver gpu_device:dir r_dir_perms;
+allow mediaserver video_device:dir r_dir_perms;
+allow mediaserver video_device:chr_file rw_file_perms;
+
+# Read resources from open apk files passed over Binder.
+allow mediaserver apk_data_file:file { read getattr };
+allow mediaserver asec_apk_file:file { read getattr };
+allow mediaserver ringtone_file:file { read getattr };
+
+# Read /data/data/com.android.providers.telephony files passed over Binder.
+allow mediaserver radio_data_file:file { read getattr };
+
+# Use pipes passed over Binder from app domains.
+allow mediaserver appdomain:fifo_file { getattr read write };
+
+allow mediaserver rpmsg_device:chr_file rw_file_perms;
+
+# Inter System processes communicate over named pipe (FIFO)
+allow mediaserver system_server:fifo_file r_file_perms;
+
+r_dir_file(mediaserver, media_rw_data_file)
+
+# Grant access to read files on appfuse.
+allow mediaserver app_fuse_file:file { read getattr };
+
+# Needed on some devices for playing DRM protected content,
+# but seems expected and appropriate for all devices.
+unix_socket_connect(mediaserver, drmserver, drmserver)
+
+# Needed on some devices for playing audio on paired BT device,
+# but seems appropriate for all devices.
+unix_socket_connect(mediaserver, bluetooth, bluetooth)
+
+# Needed for mediaserver to send information to statsd socket.
+unix_socket_send(mediaserver, statsdw, statsd)
+
+add_service(mediaserver, mediaserver_service)
+allow mediaserver activity_service:service_manager find;
+allow mediaserver appops_service:service_manager find;
+allow mediaserver audio_service:service_manager find;
+allow mediaserver audioserver_service:service_manager find;
+allow mediaserver cameraserver_service:service_manager find;
+allow mediaserver batterystats_service:service_manager find;
+allow mediaserver drmserver_service:service_manager find;
+allow mediaserver mediaextractor_service:service_manager find;
+allow mediaserver mediametrics_service:service_manager find;
+allow mediaserver media_session_service:service_manager find;
+allow mediaserver package_native_service:service_manager find;
+allow mediaserver permission_service:service_manager find;
+allow mediaserver permission_checker_service:service_manager find;
+allow mediaserver power_service:service_manager find;
+allow mediaserver processinfo_service:service_manager find;
+allow mediaserver scheduling_policy_service:service_manager find;
+allow mediaserver surfaceflinger_service:service_manager find;
+
+# for ModDrm/MediaPlayer
+allow mediaserver mediadrmserver_service:service_manager find;
+
+# For hybrid interfaces
+allow mediaserver hidl_token_hwservice:hwservice_manager find;
+
+# /oem access
+allow mediaserver oemfs:dir search;
+allow mediaserver oemfs:file r_file_perms;
+
+# /oem boot animation file
+allow mediaserver bootanim_oem_file:file r_file_perms;
+
+# /vendor apk access
+allow mediaserver vendor_app_file:file { read map getattr };
+
+use_drmservice(mediaserver)
+allow mediaserver drmserver:drmservice {
+    consumeRights
+    setPlaybackStatus
+    openDecryptSession
+    closeDecryptSession
+    initializeDecryptUnit
+    decrypt
+    finalizeDecryptUnit
+    pread
+};
+
+# only allow unprivileged socket ioctl commands
+allowxperm mediaserver self:{ rawip_socket tcp_socket udp_socket }
+  ioctl { unpriv_sock_ioctls unpriv_tty_ioctls };
+
+# Access to /data/media.
+# This should be removed if sdcardfs is modified to alter the secontext for its
+# accesses to the underlying FS.
+allow mediaserver media_rw_data_file:dir create_dir_perms;
+allow mediaserver media_rw_data_file:file create_file_perms;
+
+# Access to media in /data/preloads
+allow mediaserver preloads_media_file:file { getattr read ioctl };
+
+allow mediaserver ion_device:chr_file r_file_perms;
+allow mediaserver dmabuf_system_heap_device:chr_file r_file_perms;
+allow mediaserver dmabuf_system_secure_heap_device:chr_file r_file_perms;
+allow mediaserver hal_graphics_allocator:fd use;
+allow mediaserver hal_graphics_composer:fd use;
+allow mediaserver hal_camera:fd use;
+
+allow mediaserver system_server:fd use;
+
+# b/120491318 allow mediaserver to access void:fd
+allow mediaserver vold:fd use;
+
+# overlay package access
+allow mediaserver vendor_overlay_file:file { read getattr map };
+
+hal_client_domain(mediaserver, hal_allocator)
+
+###
+### neverallow rules
+###
+
+# mediaserver should never execute any executable without a
+# domain transition
+neverallow mediaserver { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm mediaserver domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
diff --git a/prebuilts/api/202504/private/mediaswcodec.te b/prebuilts/api/202504/private/mediaswcodec.te
new file mode 100644
index 0000000..c96c9dd
--- /dev/null
+++ b/prebuilts/api/202504/private/mediaswcodec.te
@@ -0,0 +1,41 @@
+typeattribute mediaswcodec coredomain;
+
+init_daemon_domain(mediaswcodec)
+
+get_prop(mediaswcodec, device_config_media_native_prop)
+get_prop(mediaswcodec, device_config_swcodec_native_prop)
+
+hal_server_domain(mediaswcodec, hal_codec2)
+
+# mediaswcodec may use an input surface from a different Codec2 service or an
+# OMX service
+hal_client_domain(mediaswcodec, hal_codec2)
+hal_client_domain(mediaswcodec, hal_omx)
+
+hal_client_domain(mediaswcodec, hal_allocator)
+hal_client_domain(mediaswcodec, hal_graphics_allocator)
+
+# get aac_drc_* properties
+get_prop(mediaswcodec, aac_drc_prop)
+
+crash_dump_fallback(mediaswcodec)
+
+allow mediaswcodec dmabuf_system_heap_device:chr_file r_file_perms;
+allow mediaswcodec dmabuf_system_secure_heap_device:chr_file r_file_perms;
+allow mediaswcodec gpu_device:chr_file rw_file_perms;
+allow mediaswcodec gpu_device:dir r_dir_perms;
+
+###
+### Neverallow rules
+###
+
+# mediaswcodec_server should never execute any executable without a
+# domain transition
+neverallow mediaswcodec { file_type fs_type }:file execute_no_trans;
+
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediaswcodec domain:{ udp_socket rawip_socket } *;
+neverallow mediaswcodec { domain userdebug_or_eng(`-su') }:tcp_socket *;
diff --git a/prebuilts/api/202504/private/mediatranscoding.te b/prebuilts/api/202504/private/mediatranscoding.te
new file mode 100644
index 0000000..829d948
--- /dev/null
+++ b/prebuilts/api/202504/private/mediatranscoding.te
@@ -0,0 +1,66 @@
+# mediatranscoding - daemon for transcoding video and image.
+type mediatranscoding_exec, system_file_type, exec_type, file_type;
+type mediatranscoding_tmpfs, file_type;
+typeattribute mediatranscoding coredomain;
+
+init_daemon_domain(mediatranscoding)
+tmpfs_domain(mediatranscoding)
+allow mediatranscoding appdomain_tmpfs:file { getattr map read write };
+
+binder_use(mediatranscoding)
+binder_call(mediatranscoding, binderservicedomain)
+binder_call(mediatranscoding, appdomain)
+binder_service(mediatranscoding)
+
+add_service(mediatranscoding, mediatranscoding_service)
+
+hal_client_domain(mediatranscoding, hal_graphics_allocator)
+hal_client_domain(mediatranscoding, hal_configstore)
+hal_client_domain(mediatranscoding, hal_omx)
+hal_client_domain(mediatranscoding, hal_codec2)
+hal_client_domain(mediatranscoding, hal_allocator)
+
+allow mediatranscoding mediaserver_service:service_manager find;
+allow mediatranscoding mediametrics_service:service_manager find;
+allow mediatranscoding mediaextractor_service:service_manager find;
+allow mediatranscoding package_native_service:service_manager find;
+allow mediatranscoding thermal_service:service_manager find;
+
+allow mediatranscoding system_server:fd use;
+allow mediatranscoding activity_service:service_manager find;
+
+# allow mediatranscoding service read/write permissions for file sources
+allow mediatranscoding sdcardfs:file { getattr read write };
+allow mediatranscoding media_rw_data_file:file { getattr read write };
+allow mediatranscoding apk_data_file:file { getattr read };
+allow mediatranscoding app_data_file:file { getattr read write };
+allow mediatranscoding shell_data_file:file { getattr read write };
+
+# allow mediatranscoding service write permission to statsd socket
+unix_socket_send(mediatranscoding, statsdw, statsd)
+
+# Allow mediatranscoding to access the DMA-BUF system heap
+allow mediatranscoding dmabuf_system_heap_device:chr_file r_file_perms;
+
+allow mediatranscoding gpu_device:chr_file rw_file_perms;
+allow mediatranscoding gpu_device:dir r_dir_perms;
+
+# Allow mediatranscoding service to access media-related system properties
+get_prop(mediatranscoding, media_config_prop)
+
+# mediatranscoding should never execute any executable without a
+# domain transition
+neverallow mediatranscoding { file_type fs_type }:file execute_no_trans;
+
+# The goal of the mediaserver split is to place media processing code into
+# restrictive sandboxes with limited responsibilities and thus limited
+# permissions. Example: Audioserver is only responsible for controlling audio
+# hardware and processing audio content. Cameraserver does the same for camera
+# hardware/content. Etc.
+#
+# Media processing code is inherently risky and thus should have limited
+# permissions and be isolated from the rest of the system and network.
+# Lengthier explanation here:
+# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
+neverallow mediatranscoding domain:{ udp_socket rawip_socket } *;
+neverallow mediatranscoding { domain userdebug_or_eng(`-su') }:tcp_socket *;
diff --git a/prebuilts/api/202504/private/mediatuner.te b/prebuilts/api/202504/private/mediatuner.te
new file mode 100644
index 0000000..5871bea
--- /dev/null
+++ b/prebuilts/api/202504/private/mediatuner.te
@@ -0,0 +1,36 @@
+# mediatuner - mediatuner daemon
+type mediatuner, domain;
+type mediatuner_exec, system_file_type, exec_type, file_type;
+
+typeattribute mediatuner coredomain;
+
+init_daemon_domain(mediatuner)
+hal_client_domain(mediatuner, hal_tv_tuner)
+
+binder_use(mediatuner)
+binder_call(mediatuner, appdomain)
+binder_service(mediatuner)
+
+add_service(mediatuner, mediatuner_service)
+allow mediatuner system_server:fd use;
+allow mediatuner tv_tuner_resource_mgr_service:service_manager find;
+allow mediatuner package_native_service:service_manager find;
+binder_call(mediatuner, system_server)
+
+# Read ro.tuner.lazyhal
+get_prop(mediatuner, tuner_config_prop)
+
+# Read tuner.server.enable
+get_prop(mediatuner, tuner_server_ctl_prop)
+
+###
+### neverallow rules
+###
+
+# mediatuner should never execute any executable without a
+# domain transition
+neverallow mediatuner { file_type fs_type }:file execute_no_trans;
+
+# do not allow privileged socket ioctl commands
+neverallowxperm mediatuner domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
+
diff --git a/prebuilts/api/202504/private/memcgv2_activation_depth.te b/prebuilts/api/202504/private/memcgv2_activation_depth.te
new file mode 100644
index 0000000..80378d3
--- /dev/null
+++ b/prebuilts/api/202504/private/memcgv2_activation_depth.te
@@ -0,0 +1,26 @@
+# The memcgv2_activation_depth.sh script run by init.
+
+type memcgv2_activation_depth, domain, coredomain;
+type memcgv2_activation_depth_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(memcgv2_activation_depth)
+
+# required permissions to run the script from init
+allow memcgv2_activation_depth shell_exec:file rx_file_perms;
+allow memcgv2_activation_depth system_file:file x_file_perms;
+allow memcgv2_activation_depth toolbox_exec:file rx_file_perms;
+
+# for system default max activation depth
+allow memcgv2_activation_depth cgroup_desc_file:file r_file_perms;
+
+# /metadata/libprocessgroup/*
+allow memcgv2_activation_depth libprocessgroup_metadata_file:dir rw_dir_perms;
+allow memcgv2_activation_depth libprocessgroup_metadata_file:file create_file_perms;
+
+# /sys/fs/cgroup/cgroup.controllers
+# /sys/fs/cgroup/**/cgroup.subtree_control
+allow memcgv2_activation_depth cgroup_v2:dir r_dir_perms;
+allow memcgv2_activation_depth cgroup_v2:file rw_file_perms;
+
+# For reboot, when reducing the depth override
+set_prop(memcgv2_activation_depth, powerctl_prop)
diff --git a/prebuilts/api/202504/private/microfuchsiad.te b/prebuilts/api/202504/private/microfuchsiad.te
new file mode 100644
index 0000000..f02acaf
--- /dev/null
+++ b/prebuilts/api/202504/private/microfuchsiad.te
@@ -0,0 +1,18 @@
+is_flag_enabled(RELEASE_AVF_ENABLE_MICROFUCHSIA, `
+    type microfuchsiad, domain, coredomain;
+    type microfuchsiad_exec, system_file_type, exec_type, file_type;
+
+    # Host dynamic AIDL services
+    init_daemon_domain(microfuchsiad)
+    binder_use(microfuchsiad)
+    add_service(microfuchsiad, microfuchsia_service)
+
+    # Call back into system server
+    binder_call(microfuchsiad, system_server)
+
+    # Start a VM
+    virtualizationservice_use(microfuchsiad)
+
+    # Create pty devices
+    allow microfuchsiad devpts:chr_file { read write open getattr ioctl };
+')
diff --git a/prebuilts/api/202504/private/migrate_legacy_obb_data.te b/prebuilts/api/202504/private/migrate_legacy_obb_data.te
new file mode 100644
index 0000000..b2a1fb1
--- /dev/null
+++ b/prebuilts/api/202504/private/migrate_legacy_obb_data.te
@@ -0,0 +1,28 @@
+type migrate_legacy_obb_data, domain, coredomain;
+type migrate_legacy_obb_data_exec, system_file_type, exec_type, file_type;
+
+allow migrate_legacy_obb_data media_rw_data_file:dir create_dir_perms;
+allow migrate_legacy_obb_data media_rw_data_file:file create_file_perms;
+
+allow migrate_legacy_obb_data shell_exec:file rx_file_perms;
+
+allow migrate_legacy_obb_data toolbox_exec:file rx_file_perms;
+
+allow migrate_legacy_obb_data self:capability { chown dac_override dac_read_search fowner fsetid };
+
+allow migrate_legacy_obb_data mnt_user_file:dir search;
+allow migrate_legacy_obb_data mnt_user_file:lnk_file read;
+allow migrate_legacy_obb_data storage_file:dir search;
+allow migrate_legacy_obb_data storage_file:lnk_file read;
+
+allow migrate_legacy_obb_data sdcard_type:dir create_dir_perms;
+allow migrate_legacy_obb_data sdcard_type:file create_file_perms;
+
+# TODO: This should not be necessary. We don't deliberately hand over
+# any open file descriptors to this domain, so anything that triggers this
+# should be a candidate for O_CLOEXEC.
+allow migrate_legacy_obb_data installd:fd use;
+
+# This rule is required to let this process read /proc/{parent_pid}/mount.
+# TODO: Why is this required ?
+allow migrate_legacy_obb_data installd:file read;
diff --git a/prebuilts/api/202504/private/misctrl.te b/prebuilts/api/202504/private/misctrl.te
new file mode 100644
index 0000000..2352067
--- /dev/null
+++ b/prebuilts/api/202504/private/misctrl.te
@@ -0,0 +1,17 @@
+# binary for generic misc partition management
+type misctrl, domain, coredomain;
+type misctrl_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(misctrl)
+
+allow misctrl misc_block_device:blk_file rw_file_perms;
+allow misctrl block_device:dir r_dir_perms;
+read_fstab(misctrl)
+
+set_prop(misctrl, misctrl_prop)
+
+# bootloader_message tries to find the fstab in the device config path first,
+# but because we've already booted up we can use the ro.boot properties instead,
+# so we can just ignore the SELinux denial.
+dontaudit misctrl sysfs_dt_firmware_android:dir search;
+dontaudit misctrl vendor_property_type:file read;
diff --git a/prebuilts/api/202504/private/mls b/prebuilts/api/202504/private/mls
new file mode 100644
index 0000000..955c27b
--- /dev/null
+++ b/prebuilts/api/202504/private/mls
@@ -0,0 +1,116 @@
+#################################################
+# MLS policy constraints
+#
+
+#
+# Process constraints
+#
+
+# Process transition:  Require equivalence unless the subject is trusted.
+mlsconstrain process { transition dyntransition }
+	     ((h1 eq h2 and l1 eq l2) or t1 == mlstrustedsubject);
+
+# Process read operations: No read up unless trusted.
+mlsconstrain process { getsched getsession getpgid getcap getattr ptrace share }
+	     (l1 dom l2 or t1 == mlstrustedsubject);
+
+# Process write operations:  Require equivalence unless trusted.
+mlsconstrain process { sigkill sigstop signal setsched setpgid setcap setrlimit ptrace share }
+	     (l1 eq l2 or t1 == mlstrustedsubject);
+
+#
+# Socket constraints
+#
+
+# Create/relabel operations:  Subject must be equivalent to object unless
+# the subject is trusted.  Sockets inherit the range of their creator.
+mlsconstrain socket_class_set { create relabelfrom relabelto }
+	     ((h1 eq h2 and l1 eq l2) or t1 == mlstrustedsubject);
+
+# Datagram send: Sender must be equivalent to the receiver unless one of them
+# is trusted.
+mlsconstrain unix_dgram_socket { sendto }
+	     (l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedsubject);
+
+# Stream connect:  Client must be equivalent to server unless one of them
+# is trusted.
+mlsconstrain unix_stream_socket { connectto }
+	     (l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedsubject);
+
+#
+# Directory/file constraints
+#
+
+# Create/relabel operations:  Subject must be equivalent to object unless
+# the subject is trusted. Also, files should always be single-level.
+# Do NOT exempt mlstrustedobject types from this constraint.
+mlsconstrain dir_file_class_set { create relabelfrom relabelto }
+	     (l2 eq h2 and (l1 eq l2 or t1 == mlstrustedsubject));
+
+#
+# Userfaultfd constraints
+#
+# To enforce that anonymous inodes are self contained in the application's process.
+mlsconstrain anon_inode { ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute open execmod }
+	     (l1 eq l2);
+
+#
+# Constraints for app data files only.
+#
+
+# Only constrain open, not read/write, so already open fds can be used.
+# Also constrain other forms of manipulation, e.g. chmod/chown, unlink, rename, etc.
+# Subject must dominate object unless the subject is trusted.
+mlsconstrain dir { open search getattr setattr rename add_name remove_name reparent rmdir }
+	     (t2 != app_data_file_type or l1 dom l2 or t1 == mlstrustedsubject);
+mlsconstrain { file sock_file } { open setattr unlink link rename }
+	     ( (t2 != app_data_file_type and t2 != appdomain_tmpfs) or l1 dom l2 or t1 == mlstrustedsubject);
+
+# For symlinks in app data files, require equivalence in order to manipulate or follow (read).
+mlsconstrain { lnk_file } { open setattr unlink link rename read }
+	     ( (t2 != app_data_file_type or t2 == privapp_data_file) or l1 eq l2 or t1 == mlstrustedsubject);
+# But for priv_app_data_file, continue to use dominance for symlinks because dynamite relies on this.
+# TODO: Migrate to equivalence when it's no longer needed.
+mlsconstrain { lnk_file } { open setattr unlink link rename read }
+	     ( (t2 != privapp_data_file and t2 != appdomain_tmpfs) or l1 dom l2 or t1 == mlstrustedsubject);
+
+#
+# Constraints for file types other than app data files.
+#
+
+# Read operations: Subject must dominate object unless the subject
+# or the object is trusted.
+mlsconstrain dir { read getattr search }
+	     (t2 == app_data_file_type or l1 dom l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject
+	     or (t1 == mlsvendorcompat and (t2 == system_data_file or t2 == user_profile_root_file) ) );
+
+mlsconstrain { file lnk_file sock_file chr_file blk_file } { read getattr execute }
+	     (t2 == app_data_file_type or t2 == appdomain_tmpfs or l1 dom l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
+
+# Write operations: Subject must be equivalent to the object unless the
+# subject or the object is trusted.
+mlsconstrain dir { write setattr rename add_name remove_name reparent rmdir }
+	     (t2 == app_data_file_type or l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
+
+mlsconstrain { file lnk_file sock_file chr_file blk_file } { write setattr append unlink link rename }
+	     (t2 == app_data_file_type or t2 == appdomain_tmpfs or l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
+
+# Special case for FIFOs.
+# These can be unnamed pipes, in which case they will be labeled with the
+# creating process' label. Thus we also have an exemption when the "object"
+# is a domain type, so that processes can communicate via unnamed pipes
+# passed by binder or local socket IPC.
+mlsconstrain fifo_file { read getattr }
+	     (l1 dom l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject or t2 == domain);
+
+mlsconstrain fifo_file { write setattr append unlink link rename }
+	     (l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject or t2 == domain);
+
+#
+# Binder IPC constraints
+#
+# Presently commented out, as apps are expected to call one another.
+# This would only make sense if apps were assigned categories
+# based on allowable communications rather than per-app categories.
+#mlsconstrain binder call
+#	(l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedsubject);
diff --git a/prebuilts/api/202504/private/mls_decl b/prebuilts/api/202504/private/mls_decl
new file mode 100644
index 0000000..dd53bea
--- /dev/null
+++ b/prebuilts/api/202504/private/mls_decl
@@ -0,0 +1,10 @@
+#########################################
+# MLS declarations
+#
+
+# Generate the desired number of sensitivities and categories.
+gen_sens(mls_num_sens)
+gen_cats(mls_num_cats)
+
+# Generate level definitions for each sensitivity and category.
+gen_levels(mls_num_sens,mls_num_cats)
diff --git a/prebuilts/api/202504/private/mls_macros b/prebuilts/api/202504/private/mls_macros
new file mode 100644
index 0000000..83e0542
--- /dev/null
+++ b/prebuilts/api/202504/private/mls_macros
@@ -0,0 +1,54 @@
+########################################
+#
+# gen_cats(N)
+#
+# declares categores c0 to c(N-1)
+#
+define(`decl_cats',`dnl
+category c$1;
+ifelse(`$1',`$2',,`decl_cats(incr($1),$2)')dnl
+')
+
+define(`gen_cats',`decl_cats(0,decr($1))')
+
+########################################
+#
+# gen_sens(N)
+#
+# declares sensitivites s0 to s(N-1) with dominance
+# in increasing numeric order with s0 lowest, s(N-1) highest
+#
+define(`decl_sens',`dnl
+sensitivity s$1;
+ifelse(`$1',`$2',,`decl_sens(incr($1),$2)')dnl
+')
+
+define(`gen_dominance',`s$1 ifelse(`$1',`$2',,`gen_dominance(incr($1),$2)')')
+
+define(`gen_sens',`
+# Each sensitivity has a name and zero or more aliases.
+decl_sens(0,decr($1))
+
+# Define the ordering of the sensitivity levels (least to greatest)
+dominance { gen_dominance(0,decr($1)) }
+')
+
+########################################
+#
+# gen_levels(N,M)
+#
+# levels from s0 to (N-1) with categories c0 to (M-1)
+#
+define(`decl_levels',`dnl
+level s$1:c0.c$3;
+ifelse(`$1',`$2',,`decl_levels(incr($1),$2,$3)')dnl
+')
+
+define(`gen_levels',`decl_levels(0,decr($1),decr($2))')
+
+########################################
+#
+# Basic level names for system low and high
+#
+define(`mls_systemlow',`s0')
+define(`mls_systemhigh',`s`'decr(mls_num_sens):c0.c`'decr(mls_num_cats)')
diff --git a/prebuilts/api/202504/private/mlstrustedsubject.te b/prebuilts/api/202504/private/mlstrustedsubject.te
new file mode 100644
index 0000000..8fcc1d4
--- /dev/null
+++ b/prebuilts/api/202504/private/mlstrustedsubject.te
@@ -0,0 +1,63 @@
+# MLS override can't be used to access private app data.
+
+# Apps should not normally be mlstrustedsubject, but if they must be
+# they cannot use this to access app private data files; their own app
+# data files must use a different label.
+
+neverallow {
+  mlstrustedsubject
+  -artd # compile secondary dex files
+  -installd
+} {
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:file ~{ read write map getattr ioctl lock append };
+
+neverallow {
+  mlstrustedsubject
+  -artd # compile secondary dex files
+  -installd
+} {
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir ~{ read getattr search };
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallow {
+    mlstrustedsubject
+    -artd # compile secondary dex files
+    -installd
+    -vold # encryption of storage areas
+    -vold_prepare_subdirs # creation of storage area directories
+  } { storage_area_dir storage_area_app_dir }:dir ~{ read getattr search };
+')
+
+neverallow {
+  mlstrustedsubject
+  -artd # compile secondary dex files
+  -installd
+  -system_server
+  -adbd
+  -runas
+  -zygote
+} {
+  app_data_file
+  privapp_data_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
+}:dir { read getattr search };
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallow {
+    mlstrustedsubject
+    -artd # compile secondary dex files
+    -installd
+    -system_server
+    -adbd
+    -runas
+    -vold # encryption of storage area directories
+    -vold_prepare_subdirs # creation of storage area directories
+    -zygote
+  } { storage_area_dir storage_area_app_dir }:dir { read getattr search };
+')
diff --git a/prebuilts/api/202504/private/mm_events.te b/prebuilts/api/202504/private/mm_events.te
new file mode 100644
index 0000000..4875d40
--- /dev/null
+++ b/prebuilts/api/202504/private/mm_events.te
@@ -0,0 +1,14 @@
+type mm_events, domain, coredomain;
+type mm_events_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(mm_events)
+
+allow mm_events shell_exec:file rx_file_perms;
+
+# Allow running the sleep command to rate limit attempts
+# to arm mm_events on failure.
+allow mm_events toolbox_exec:file rx_file_perms;
+
+allow mm_events perfetto_exec:file rx_file_perms;
+
+domain_auto_trans(mm_events, perfetto_exec, perfetto)
diff --git a/prebuilts/api/202504/private/mmd.te b/prebuilts/api/202504/private/mmd.te
new file mode 100644
index 0000000..9a76909
--- /dev/null
+++ b/prebuilts/api/202504/private/mmd.te
@@ -0,0 +1,40 @@
+# mmd memory management daemon
+type mmd, domain;
+typeattribute mmd coredomain;
+type mmd_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(mmd)
+
+# Set mmd.enabled_aconfig and zram backing device size.
+set_prop(mmd, mmd_shared_status_prop)
+set_prop(mmd, mmd_status_prop)
+get_prop(mmd, mmd_prop)
+get_prop(mmd, device_config_mmd_native_prop)
+
+# mmd binder setup
+add_service(mmd, mmd_service)
+binder_use(mmd)
+
+# Read /proc/swaps
+allow mmd proc_swaps:file r_file_perms;
+
+# zram sysfs access
+allow mmd sysfs_zram:dir search;
+allow mmd sysfs_zram:file rw_file_perms;
+
+# procfs
+allow mmd proc_meminfo:file r_file_perms;
+
+# mkswap /dev/block/zram command
+allow mmd block_device:dir search;
+allow mmd swap_block_device:blk_file rw_file_perms;
+
+# swapon syscall
+allow mmd self:capability sys_admin;
+
+# Allow mmd to write to statsd socket.
+unix_socket_send(mmd, statsdw, statsd)
+# Allow mmd to interact with statsd binder calls for pulled atoms.
+allow mmd stats_service:service_manager find;
+allow mmd statsmanager_service:service_manager find;
+binder_call(mmd, statsd)
diff --git a/prebuilts/api/202504/private/modprobe.te b/prebuilts/api/202504/private/modprobe.te
new file mode 100644
index 0000000..d7b2fc3
--- /dev/null
+++ b/prebuilts/api/202504/private/modprobe.te
@@ -0,0 +1,13 @@
+typeattribute modprobe coredomain;
+
+allow modprobe proc_modules:file r_file_perms;
+allow modprobe proc_cmdline:file r_file_perms;
+allow modprobe self:global_capability_class_set sys_module;
+allow modprobe kernel:key search;
+allow modprobe system_dlkm_file:dir search;
+allow modprobe system_dlkm_file:file r_file_perms;
+allow modprobe system_dlkm_file:system module_load;
+recovery_only(`
+  allow modprobe rootfs:system module_load;
+  allow modprobe rootfs:file r_file_perms;
+')
diff --git a/prebuilts/api/202504/private/mtectrl.te b/prebuilts/api/202504/private/mtectrl.te
new file mode 100644
index 0000000..e0418bc
--- /dev/null
+++ b/prebuilts/api/202504/private/mtectrl.te
@@ -0,0 +1,21 @@
+# mtectrl is a tool to request MTE (Memory Tagging Extensions) from the bootloader.
+type mtectrl, domain, coredomain;
+type mtectrl_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(mtectrl)
+
+# to set the sys prop to match the bootloader message state.
+set_prop(mtectrl, arm64_memtag_prop)
+
+# mtectrl communicates the request to the bootloader via the misc partition.
+# needs to write to update the request in misc partition, and read to sync
+# back to the property.
+allow mtectrl misc_block_device:blk_file rw_file_perms;
+allow mtectrl block_device:dir r_dir_perms;
+read_fstab(mtectrl)
+
+# bootloader_message tries to find the fstab in the device config path first,
+# but because we've already booted up we can use the ro.boot properties instead,
+# so we can just ignore the SELinux denial.
+dontaudit mtectrl sysfs_dt_firmware_android:dir search;
+dontaudit mtectrl vendor_property_type:file read;
diff --git a/prebuilts/api/202504/private/net.te b/prebuilts/api/202504/private/net.te
new file mode 100644
index 0000000..2c2f091
--- /dev/null
+++ b/prebuilts/api/202504/private/net.te
@@ -0,0 +1,37 @@
+# Bind to ports.
+allow {netdomain -ephemeral_app -sdk_sandbox_all} node_type:{ icmp_socket rawip_socket tcp_socket udp_socket } node_bind;
+allow {netdomain -ephemeral_app -sdk_sandbox_all} port_type:udp_socket name_bind;
+allow {netdomain -ephemeral_app -sdk_sandbox_all} port_type:tcp_socket name_bind;
+
+# b/141455849 gate RTM_GETLINK with a new permission nlmsg_readpriv and block access from
+# untrusted_apps.
+# b/171572148 gate RTM_GETNEIGH{TBL} with a new permission nlmsg_getneigh and block access from
+# untrusted_apps. Some untrusted apps (e.g. untrusted_app_25-30) are granted access elsewhere
+# to avoid app-compat breakage.
+allow {
+  netdomain
+  -ephemeral_app
+  -mediaprovider
+  -priv_app
+  -sdk_sandbox_all
+  -untrusted_app_all
+} self:netlink_route_socket { bind nlmsg_readpriv nlmsg_getneigh };
+
+###
+### Domain with network access
+###
+
+# Use network sockets.
+allow netdomain self:tcp_socket create_stream_socket_perms;
+allow netdomain self:{ icmp_socket udp_socket rawip_socket } create_socket_perms;
+
+# Connect to ports.
+allow netdomain port_type:tcp_socket name_connect;
+# See changes to the routing table.
+allow netdomain self:netlink_route_socket { create read getattr write setattr lock append connect getopt setopt shutdown nlmsg_read };
+
+# Talks to netd via dnsproxyd socket.
+unix_socket_connect(netdomain, dnsproxyd, netd)
+
+# Talks to netd via fwmarkd socket.
+unix_socket_connect(netdomain, fwmarkd, netd)
diff --git a/prebuilts/api/202504/private/netd.te b/prebuilts/api/202504/private/netd.te
new file mode 100644
index 0000000..3b3c697
--- /dev/null
+++ b/prebuilts/api/202504/private/netd.te
@@ -0,0 +1,225 @@
+typeattribute netd coredomain;
+typeattribute netd bpfdomain;
+
+init_daemon_domain(netd)
+
+# Allow netd to spawn dnsmasq in it's own domain
+domain_auto_trans(netd, dnsmasq_exec, dnsmasq)
+
+allow netd { fs_bpf fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_vendor }:dir search;
+allow netd { fs_bpf fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_vendor }:file { getattr read };
+allow netd { fs_bpf                      fs_bpf_netd_shared               }:file write;
+
+# give netd permission to setup iptables rule with xt_bpf, attach program to cgroup,
+# create maps, and read/write maps created by bpfloader, itself and NS/SS mainline networking
+allow netd bpfloader:bpf prog_run;
+allow netd self:bpf map_create;
+allow netd { bpfloader netd network_stack system_server }:bpf { map_read map_write };
+
+# in order to invoke side effect of close() on such a socket calling synchronize_rcu()
+# TODO: Still needed as of kernel 6.6-rc1 - see BpfUtils.h synchronizeKernelRCU()
+# TODO: Remove this after we remove all bpf interactions from netd.
+allow netd self:key_socket create;
+
+set_prop(netd, ctl_mdnsd_prop)
+set_prop(netd, netd_stable_secret_prop)
+
+get_prop(netd, adbd_config_prop)
+get_prop(netd, hwservicemanager_prop)
+get_prop(netd, device_config_netd_native_prop)
+
+# Allow netd to write to statsd.
+unix_socket_send(netd, statsdw, statsd)
+
+# Allow netd to send callbacks to network_stack
+binder_call(netd, network_stack)
+
+# Allow netd to send dump info to dumpstate
+allow netd dumpstate:fd use;
+allow netd dumpstate:fifo_file { getattr write };
+
+net_domain(netd)
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(netd, mdnsd, mdnsd)
+# in addition to ioctls allowlisted for all domains, grant netd priv_sock_ioctls.
+allowxperm netd self:udp_socket ioctl priv_sock_ioctls;
+
+r_dir_file(netd, cgroup)
+
+allow netd system_server:fd use;
+
+allow netd self:global_capability_class_set { net_admin net_raw net_bind_service kill };
+# Note: fsetid is deliberately not included above. fsetid checks are
+# triggered by chmod on a directory or file owned by a group other
+# than one of the groups assigned to the current process to see if
+# the setgid bit should be cleared, regardless of whether the setgid
+# bit was even set.  We do not appear to truly need this capability
+# for netd to operate.
+dontaudit netd self:global_capability_class_set fsetid;
+
+# Allow netd to open /dev/tun, set it up and pass it to clatd
+allow netd tun_device:chr_file rw_file_perms;
+allowxperm netd tun_device:chr_file ioctl { TUNGETIFF TUNSETIFF };
+allow netd self:tun_socket create;
+
+allow netd self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+allow netd self:netlink_route_socket nlmsg_write;
+allow netd self:netlink_nflog_socket create_socket_perms_no_ioctl;
+allow netd self:netlink_socket create_socket_perms_no_ioctl;
+allow netd self:netlink_tcpdiag_socket { create_socket_perms_no_ioctl nlmsg_read nlmsg_write };
+allow netd self:netlink_generic_socket create_socket_perms_no_ioctl;
+allow netd self:netlink_netfilter_socket create_socket_perms_no_ioctl;
+allow netd shell_exec:file rx_file_perms;
+allow netd system_file:file x_file_perms;
+not_full_treble(`allow netd vendor_file:file x_file_perms;')
+allow netd devpts:chr_file rw_file_perms;
+
+# Acquire advisory lock on /system/etc/xtables.lock. If this file doesn't
+# exist, suppress the denial.
+allow netd system_file:file lock;
+dontaudit netd system_file:dir write;
+
+r_dir_file(netd, proc_net_type)
+# For /proc/sys/net/ipv[46]/route/flush.
+allow netd proc_net_type:file rw_file_perms;
+
+# Enables PppController and interface enumeration (among others)
+allow netd sysfs:dir r_dir_perms;
+r_dir_file(netd, sysfs_net)
+
+# Allows setting interface MTU
+allow netd sysfs_net:file w_file_perms;
+
+# TODO: added to match above sysfs rule. Remove me?
+allow netd sysfs_usb:file write;
+
+r_dir_file(netd, cgroup_v2)
+
+# TODO: netd previously thought it needed these permissions to do WiFi related
+#       work.  However, after all the WiFi stuff is gone, we still need them.
+#       Why?
+allow netd self:global_capability_class_set { dac_override dac_read_search chown };
+
+# Needed to update /data/misc/net/rt_tables
+allow netd net_data_file:file create_file_perms;
+allow netd net_data_file:dir rw_dir_perms;
+allow netd self:global_capability_class_set fowner;
+
+# Needed to lock the iptables lock.
+allow netd system_file:file lock;
+
+# Allow netd to spawn dnsmasq in it's own domain
+allow netd dnsmasq:process { sigkill signal };
+
+# Allow netd to publish a binder service and make binder calls.
+binder_use(netd)
+add_service(netd, netd_service)
+add_service(netd, dnsresolver_service)
+add_service(netd, mdns_service)
+allow netd dumpstate:fifo_file  { getattr write };
+
+# Allow netd to call into the system server so it can check permissions.
+allow netd system_server:binder call;
+allow netd permission_service:service_manager find;
+
+# Allow netd to talk to the framework service which collects netd events.
+allow netd netd_listener_service:service_manager find;
+
+# Allow netd to operate on sockets that are passed to it.
+allow netd netdomain:{
+  icmp_socket
+  tcp_socket
+  udp_socket
+  rawip_socket
+  tun_socket
+} { read write getattr setattr getopt setopt };
+allow netd netdomain:fd use;
+
+# give netd permission to read and write netlink xfrm
+allow netd self:netlink_xfrm_socket { create_socket_perms_no_ioctl nlmsg_write nlmsg_read };
+
+# Allow netd to register as hal server.
+add_hwservice(netd, system_net_netd_hwservice)
+hwbinder_use(netd)
+
+# AIDL hal server
+binder_call(system_net_netd_service, servicemanager)
+add_service(netd, system_net_netd_service)
+
+###
+### Neverallow rules
+###
+### netd should NEVER do any of this
+
+# Block device access.
+neverallow netd dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow netd { domain }:process ptrace;
+
+# Write to /system.
+neverallow netd system_file_type:dir_file_class_set write;
+
+# Write to files in /data/data or system files on /data
+neverallow netd { app_data_file_type system_data_file }:dir_file_class_set write;
+
+# only system_server, dumpstate and network stack app may find netd service
+neverallow {
+    domain
+    -system_server
+    -dumpstate
+    -network_stack
+    -netd
+    -netutils_wrapper
+} netd_service:service_manager find;
+
+# only system_server, dumpstate and network stack app may find dnsresolver service
+neverallow {
+    domain
+    -system_server
+    -dumpstate
+    -network_stack
+    -netd
+    -netutils_wrapper
+} dnsresolver_service:service_manager find;
+
+# only system_server, dumpstate and network stack app may find mdns service
+neverallow {
+    domain
+    -system_server
+    -dumpstate
+    -network_stack
+    -netd
+    -netutils_wrapper
+} mdns_service:service_manager find;
+
+# apps may not interact with netd over binder.
+neverallow { appdomain -network_stack } netd:binder call;
+neverallow netd { appdomain -network_stack userdebug_or_eng(`-su') }:binder call;
+
+# If an already existing file is opened with O_CREATE, the kernel might generate
+# a false report of a create denial. Silence these denials and make sure that
+# inappropriate permissions are not granted.
+neverallow netd proc_net:dir no_w_dir_perms;
+dontaudit netd proc_net:dir write;
+
+neverallow netd sysfs_net:dir no_w_dir_perms;
+dontaudit netd sysfs_net:dir write;
+
+# Netd should not have SYS_ADMIN privs.
+neverallow netd self:capability sys_admin;
+dontaudit netd self:capability sys_admin;
+
+# Netd should not have SYS_MODULE privs, nor should it be requesting module loads
+# (things it requires should be built directly into the kernel)
+dontaudit netd self:capability sys_module;
+
+dontaudit netd appdomain:unix_stream_socket { read write };
+
+# persist.netd.stable_secret contains RFC 7217 secret key which should never be
+# leaked to other processes. Make sure it never leaks.
+neverallow { domain -netd -init -dumpstate } netd_stable_secret_prop:file r_file_perms;
+
+# We want to ensure that no other process ever tries tampering with persist.netd.stable_secret,
+# the RFC 7217 secret key managed by netd. Doing so could compromise user privacy.
+neverallow { domain -netd -init } netd_stable_secret_prop:property_service set;
diff --git a/prebuilts/api/202504/private/netutils_wrapper.te b/prebuilts/api/202504/private/netutils_wrapper.te
new file mode 100644
index 0000000..28766dd
--- /dev/null
+++ b/prebuilts/api/202504/private/netutils_wrapper.te
@@ -0,0 +1,53 @@
+typeattribute netutils_wrapper coredomain;
+typeattribute netutils_wrapper bpfdomain;
+
+r_dir_file(netutils_wrapper, system_file);
+
+# For netutils (ip, iptables, tc)
+allow netutils_wrapper self:global_capability_class_set net_raw;
+
+allow netutils_wrapper system_file:file { execute execute_no_trans };
+allow netutils_wrapper proc_net_type:file { open read getattr };
+allow netutils_wrapper self:rawip_socket create_socket_perms;
+allow netutils_wrapper self:udp_socket create_socket_perms;
+allow netutils_wrapper self:global_capability_class_set net_admin;
+# ip utils need everything but ioctl
+allow netutils_wrapper self:netlink_route_socket ~ioctl;
+allow netutils_wrapper self:netlink_xfrm_socket ~ioctl;
+
+# For netutils (ndc) to be able to talk to netd
+allow netutils_wrapper netd_service:service_manager find;
+allow netutils_wrapper dnsresolver_service:service_manager find;
+allow netutils_wrapper mdns_service:service_manager find;
+binder_use(netutils_wrapper);
+binder_call(netutils_wrapper, netd);
+
+# For vendor code that update the iptables rules at runtime. They need to reload
+# the whole chain including the xt_bpf rules. They need to access to the pinned
+# program when reloading the rule.
+allow netutils_wrapper { fs_bpf fs_bpf_netd_shared fs_bpf_vendor }:dir search;
+allow netutils_wrapper { fs_bpf fs_bpf_netd_shared fs_bpf_vendor }:file { getattr read };
+allow netutils_wrapper { fs_bpf                                  }:file write;
+allow netutils_wrapper bpfloader:bpf prog_run;
+
+# For /data/misc/net access to ndc and ip
+r_dir_file(netutils_wrapper, net_data_file)
+
+domain_auto_trans({
+    domain
+    -coredomain
+    -appdomain
+}, netutils_wrapper_exec, netutils_wrapper)
+
+###
+### Neverallow rules
+###
+
+# suppress spurious denials
+dontaudit netutils_wrapper self:global_capability_class_set sys_resource;
+dontaudit netutils_wrapper sysfs_type:file read;
+
+# netutils wrapper may only use the following capabilities.
+neverallow netutils_wrapper self:global_capability_class_set ~{ net_admin net_raw };
+
+neverallow { domain userdebug_or_eng(`-overlay_remounter') } netutils_wrapper_exec:file execute_no_trans;
diff --git a/prebuilts/api/202504/private/network_stack.te b/prebuilts/api/202504/private/network_stack.te
new file mode 100644
index 0000000..8a07245
--- /dev/null
+++ b/prebuilts/api/202504/private/network_stack.te
@@ -0,0 +1,112 @@
+# Networking service app
+typeattribute network_stack coredomain;
+typeattribute network_stack mlstrustedsubject;
+typeattribute network_stack bpfdomain;
+
+app_domain(network_stack);
+net_domain(network_stack);
+
+allow network_stack self:global_capability_class_set {
+    net_admin
+    net_bind_service
+    net_broadcast
+    net_raw
+};
+
+allow network_stack self:global_capability2_class_set wake_alarm;
+
+# Allow access to net_admin ioctl, DHCP server uses SIOCSARP
+allowxperm network_stack self:udp_socket ioctl priv_sock_ioctls;
+
+# The DhcpClient uses packet_sockets
+allow network_stack self:packet_socket create_socket_perms_no_ioctl;
+
+# Monitor neighbors via netlink.
+allow network_stack self:netlink_route_socket nlmsg_write;
+
+# Use netlink uevent sockets.
+allow network_stack self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+# give network_stack the same netlink permissions as netd
+allow network_stack self:netlink_nflog_socket create_socket_perms_no_ioctl;
+allow network_stack self:netlink_socket create_socket_perms_no_ioctl;
+allow network_stack self:netlink_generic_socket create_socket_perms_no_ioctl;
+
+allow network_stack app_api_service:service_manager find;
+allow network_stack dnsresolver_service:service_manager find;
+allow network_stack mdns_service:service_manager find;
+allow network_stack netd_service:service_manager find;
+allow network_stack network_watchlist_service:service_manager find;
+allow network_stack radio_service:service_manager find;
+allow network_stack system_config_service:service_manager find;
+allow network_stack radio_data_file:dir create_dir_perms;
+allow network_stack radio_data_file:file create_file_perms;
+
+binder_call(network_stack, netd);
+
+# in order to invoke side effect of close() on such a socket calling synchronize_rcu()
+# TODO: Still needed as of kernel 6.6-rc1 - see BpfUtils.h synchronizeKernelRCU()
+allow network_stack self:key_socket create;
+# Java's Os.close() in libcore/luni/src/main/java/libcore/io/BlockGuardOs.java;l=100
+# calls if (fd.isSocket$()) if (isLingerSocket(fd)) ...
+dontaudit network_stack self:key_socket getopt;
+
+# Allow network_stack to open/read/getattr various /proc/net files
+# (includes /proc/net/{anycast6,igmp,psched} /proc/sys/net/ipv4/ip_default_ttl)
+r_dir_file(network_stack, proc_net_type)
+
+# Grant read permission of connectivity namespace system property prefix.
+get_prop(network_stack, device_config_connectivity_prop)
+
+# Create/use netlink_tcpdiag_socket to get tcp info
+allow network_stack self:netlink_tcpdiag_socket { create_socket_perms_no_ioctl nlmsg_read nlmsg_write };
+############### Tethering Service app - Tethering.apk ##############
+hal_client_domain(network_stack, hal_tetheroffload)
+# Create and share netlink_netfilter_sockets for tetheroffload.
+allow network_stack self:netlink_netfilter_socket create_socket_perms_no_ioctl;
+allow network_stack network_stack_service:service_manager find;
+# allow Tethering(network_stack process) to run/update/read the eBPF maps to offload tethering traffic by eBPF.
+allow network_stack { fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:dir search;
+allow network_stack { fs_bpf_net_private fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared fs_bpf_tethering }:file { getattr read write };
+allow network_stack bpfloader:bpf prog_run;
+allow network_stack self:bpf map_create;
+allow network_stack { bpfloader netd network_stack system_server }:bpf { map_read map_write };
+
+# allow Tethering(network_stack process) to read flag value in tethering_u_or_later_native namespace
+get_prop(network_stack, device_config_tethering_u_or_later_native_prop)
+
+# Use XFRM (IPsec) netlink sockets
+allow network_stack self:netlink_xfrm_socket { create_socket_perms_no_ioctl nlmsg_write nlmsg_read };
+
+# tun device used for 3rd party vpn apps and test network manager
+allow network_stack tun_device:chr_file rw_file_perms;
+allowxperm network_stack tun_device:chr_file ioctl { TUNGETIFF TUNSETIFF TUNSETLINK TUNSETCARRIER };
+
+############### NEVER ALLOW RULES
+# This place is as good as any for these rules,
+# and it is probably the most appropriate because
+# network_stack itself is entirely mainline code.
+
+# T+: Only the bpfloader and the network_stack should ever touch 'fs_bpf_net_private' programs/maps.
+neverallow { domain -bpfloader -network_stack } fs_bpf_net_private:dir ~getattr;
+neverallow { domain -bpfloader -network_stack } fs_bpf_net_private:file *;
+
+# T+: Only the bpfloader, network_stack and system_server should ever touch 'fs_bpf_net_shared' programs/maps.
+neverallow { domain -bpfloader -network_stack -system_server } fs_bpf_net_shared:dir ~getattr;
+neverallow { domain -bpfloader -network_stack -system_server } fs_bpf_net_shared:file *;
+
+# T+: Only the bpfloader, netd, network_stack and system_server should ever touch 'fs_bpf_netd_readonly' programs/maps.
+# netd's access should be readonly
+neverallow { domain -bpfloader -netd -network_stack -system_server } fs_bpf_netd_readonly:dir ~getattr;
+neverallow { domain -bpfloader -netd -network_stack -system_server } fs_bpf_netd_readonly:file *;
+neverallow netd fs_bpf_netd_readonly:file write;
+
+# T+: Only the bpfloader, netd, netutils_wrapper, network_stack and system_server should ever touch 'fs_bpf_netd_shared' programs/maps.
+# netutils_wrapper requires access to be able to run iptables and only needs readonly access
+neverallow { domain -bpfloader -netd -netutils_wrapper -network_stack -system_server } fs_bpf_netd_shared:dir ~getattr;
+neverallow { domain -bpfloader -netd -netutils_wrapper -network_stack -system_server } fs_bpf_netd_shared:file *;
+neverallow netutils_wrapper fs_bpf_netd_shared:file write;
+
+# S+: Only the bpfloader and the network_stack should ever touch 'fs_bpf_tethering' programs/maps.
+neverallow { domain -bpfloader -network_stack } fs_bpf_tethering:dir ~getattr;
+neverallow { domain -bpfloader -network_stack } fs_bpf_tethering:file *;
diff --git a/prebuilts/api/202504/private/nfc.te b/prebuilts/api/202504/private/nfc.te
new file mode 100644
index 0000000..7050d5a
--- /dev/null
+++ b/prebuilts/api/202504/private/nfc.te
@@ -0,0 +1,38 @@
+# nfc subsystem
+typeattribute nfc coredomain, mlstrustedsubject;
+app_domain(nfc)
+net_domain(nfc)
+
+binder_service(nfc)
+add_service(nfc, nfc_service)
+
+hal_client_domain(nfc, hal_nfc)
+
+# Data file accesses.
+allow nfc nfc_data_file:dir create_dir_perms;
+allow nfc nfc_data_file:notdevfile_class_set create_file_perms;
+allow nfc nfc_logs_data_file:dir rw_dir_perms;
+allow nfc nfc_logs_data_file:file create_file_perms;
+
+# SoundPool loading and playback
+allow nfc audioserver_service:service_manager find;
+allow nfc drmserver_service:service_manager find;
+allow nfc mediametrics_service:service_manager find;
+allow nfc mediaextractor_service:service_manager find;
+allow nfc mediaserver_service:service_manager find;
+
+allow nfc radio_service:service_manager find;
+allow nfc app_api_service:service_manager find;
+allow nfc system_api_service:service_manager find;
+allow nfc vr_manager_service:service_manager find;
+allow nfc secure_element_service:service_manager find;
+
+set_prop(nfc, nfc_prop);
+
+# already open bugreport file descriptors may be shared with
+# the nfc process, from a file in
+# /data/data/com.android.shell/files/bugreports/bugreport-*.
+allow nfc shell_data_file:file read;
+
+# Allow to check whether security logging is enabled.
+get_prop(nfc, device_logging_prop)
diff --git a/prebuilts/api/202504/private/odrefresh.te b/prebuilts/api/202504/private/odrefresh.te
new file mode 100644
index 0000000..97205c2
--- /dev/null
+++ b/prebuilts/api/202504/private/odrefresh.te
@@ -0,0 +1,72 @@
+# odrefresh
+type odrefresh, domain, coredomain, artd_subprocess_type;
+type odrefresh_exec, system_file_type, exec_type, file_type;
+
+# Allow odrefresh to create files and directories for on device signing.
+allow odrefresh apex_module_data_file:dir { getattr search };
+allow odrefresh apex_art_data_file:dir { create_dir_perms relabelfrom };
+allow odrefresh apex_art_data_file:file { create_file_perms relabelto } ;
+
+# Allow odrefresh to create data files (typically for metrics before statsd starts).
+allow odrefresh odrefresh_data_file:dir create_dir_perms;
+allow odrefresh odrefresh_data_file:file create_file_perms;
+
+userfaultfd_use(odrefresh)
+
+# Staging area labels (/data/misc/apexdata/com.android.art/staging). odrefresh
+# sets up files here and passes file descriptors for dex2oat to write to.
+allow odrefresh apex_art_staging_data_file:dir { create_dir_perms relabelto };
+allow odrefresh apex_art_staging_data_file:file { create_file_perms relabelfrom };
+
+# Run dex2oat in its own sandbox.
+domain_auto_trans(odrefresh, dex2oat_exec, dex2oat)
+
+# Allow odrefresh to kill dex2oat if compilation times out.
+allow odrefresh dex2oat:process sigkill;
+
+# Use devpts and fd from odsign (which exec()'s odrefresh)
+allow odrefresh odsign_devpts:chr_file { read write };
+allow odrefresh odsign:fd use;
+
+# Allow odrefresh to read /apex/apex-info-list.xml to determine
+# whether current apex is in /system or /data.
+allow odrefresh apex_info_file:file r_file_perms;
+
+# Allow updating boot animation status.
+set_prop(odrefresh, bootanim_system_prop)
+
+# Allow query ART device config properties
+get_prop(odrefresh, device_config_runtime_native_prop)
+get_prop(odrefresh, device_config_runtime_native_boot_prop)
+
+# Do not audit unused resources from parent processes (adb, shell, su).
+# These appear to be unnecessary for odrefresh.
+dontaudit odrefresh { adbd shell }:fd use;
+dontaudit odrefresh devpts:chr_file rw_file_perms;
+dontaudit odrefresh adbd:unix_stream_socket { getattr read write };
+
+# Read access to SELinux context files, for restorecon.
+allow odrefresh file_contexts_file:file r_file_perms;
+allow odrefresh seapp_contexts_file:file r_file_perms;
+
+# Check validity of SELinux context, for restorecon.
+selinux_check_context(odrefresh)
+
+# odrefresh iterates over all properties to find the ones that it's interested
+# in. It's okay to ignore denials on other properties.
+dontaudit odrefresh property_type:file r_file_perms;
+
+# Allow to be called by artd in Pre-reboot Dexopt.
+allow odrefresh artd:fd use;
+
+# Neverallow rules.
+
+# No other processes should be creating files in the staging area.
+neverallow { domain -init -odrefresh -compos_fd_server } apex_art_staging_data_file:file open;
+
+# No processes other than init, odrefresh, system_server, and artd access
+# odrefresh_data_files.
+# Among those, artd only needs to bind-mount /data/misc/odrefresh, but doesn't
+# need to access the files.
+neverallow { domain -init -odrefresh -system_server -artd } odrefresh_data_file:dir *;
+neverallow { domain -init -odrefresh -system_server } odrefresh_data_file:file *;
diff --git a/prebuilts/api/202504/private/odsign.te b/prebuilts/api/202504/private/odsign.te
new file mode 100644
index 0000000..4af0708
--- /dev/null
+++ b/prebuilts/api/202504/private/odsign.te
@@ -0,0 +1,66 @@
+# odsign - on-device signing.
+type odsign, domain;
+
+# odsign - Binary for signing ART artifacts.
+typeattribute odsign coredomain;
+
+type odsign_exec, exec_type, file_type, system_file_type;
+
+# Allow init to start odsign
+init_daemon_domain(odsign)
+
+# Allow using persistent storage in /data/odsign
+allow odsign odsign_data_file:dir create_dir_perms;
+allow odsign odsign_data_file:file create_file_perms;
+
+# Allow using persistent storage in /data/odsign/metrics - to add metrics related files
+allow odsign odsign_metrics_file:dir rw_dir_perms;
+allow odsign odsign_metrics_file:file create_file_perms;
+
+# Create and use pty created by android_fork_execvp().
+create_pty(odsign)
+
+# FS_IOC_ENABLE_VERITY and FS_IOC_MEASURE_VERITY on ART data files
+allowxperm odsign apex_art_data_file:file ioctl {
+  FS_IOC_ENABLE_VERITY FS_IOC_MEASURE_VERITY FS_IOC_GETFLAGS
+};
+
+# talk to binder services (for keystore)
+binder_use(odsign);
+
+# talk to keystore specifically
+use_keystore(odsign);
+
+# Use our dedicated keystore key
+allow odsign odsign_key:keystore2_key {
+    delete
+    get_info
+    rebind
+    use
+};
+
+# talk to keymaster
+hal_client_domain(odsign, hal_keymaster)
+
+# For ART apex data dir access
+allow odsign apex_module_data_file:dir { getattr search };
+
+allow odsign apex_art_data_file:dir { rw_dir_perms rmdir rename };
+allow odsign apex_art_data_file:file { rw_file_perms unlink };
+
+# Run odrefresh to refresh ART artifacts
+domain_auto_trans(odsign, odrefresh_exec, odrefresh)
+
+# Run compos_verify to verify CompOs signatures
+domain_auto_trans(odsign, compos_verify_exec, compos_verify)
+
+# only odsign can set odsign sysprop
+set_prop(odsign, odsign_prop)
+neverallow { domain -odsign -init } odsign_prop:property_service set;
+
+# Allow odsign to stop itself
+set_prop(odsign, ctl_odsign_prop)
+
+# Neverallows
+neverallow { domain -odsign -init} odsign_data_file:dir ~search;
+neverallow { domain -odsign -init} odsign_data_file:file *;
diff --git a/prebuilts/api/202504/private/ot_ctl.te b/prebuilts/api/202504/private/ot_ctl.te
new file mode 100644
index 0000000..7325ce5
--- /dev/null
+++ b/prebuilts/api/202504/private/ot_ctl.te
@@ -0,0 +1,12 @@
+#
+# ot-ctl is a command line tool for controlling ot-daemon
+#
+
+type ot_ctl, domain, coredomain;
+type ot_ctl_exec, exec_type, file_type, system_file_type;
+
+# ot-ctl is available in only userdebug or eng build
+userdebug_or_eng(`
+  # ot-ctl connects to ot-daemon via the socket
+  allow ot_ctl ot_daemon_socket:sock_file rw_file_perms;
+')
diff --git a/prebuilts/api/202504/private/ot_daemon.te b/prebuilts/api/202504/private/ot_daemon.te
new file mode 100644
index 0000000..04cb70f
--- /dev/null
+++ b/prebuilts/api/202504/private/ot_daemon.te
@@ -0,0 +1,53 @@
+#
+# ot_daemon is the native Thread network stack on the host (Android) side.
+# Refer to https://www.threadgroup.org for Thread network knowledge.
+#
+
+# ot_daemon
+type ot_daemon, domain, coredomain;
+type ot_daemon_exec, exec_type, file_type, system_file_type;
+
+# Allow init ot_daemon
+init_daemon_domain(ot_daemon)
+# Allow the ot_daemon to use the net domain.
+net_domain(ot_daemon)
+
+# Allow ot_daemon to find /data/misc/apexdata/com.android.tethering
+allow ot_daemon apex_module_data_file:dir search;
+
+# Allow the ot_daemon to access files and subdirectories under
+# /data/misc/apexdata/com\.android\.tethering
+allow ot_daemon apex_tethering_data_file:dir {create rw_dir_perms};
+allow ot_daemon apex_tethering_data_file:file create_file_perms;
+
+# Allow OT daemon to read/write the Thread tunnel interface
+allow ot_daemon tun_device:chr_file {read write};
+
+# Allow OT daemon to read/write on the socket created by System Server
+allow ot_daemon system_server:rawip_socket rw_socket_perms_no_ioctl;
+
+# Allow OT daemon to read/write on the UDP sockets created by system server
+allow ot_daemon system_server:udp_socket rw_socket_perms;
+
+hal_client_domain(ot_daemon, hal_threadnetwork)
+
+# Only ot_daemon can publish the binder service
+binder_use(ot_daemon)
+add_service(ot_daemon, ot_daemon_service)
+binder_call(ot_daemon, system_server)
+
+# Allow OT daemon to write to statsd
+unix_socket_send(ot_daemon, statsdw, statsd)
+
+# For collecting bugreports.
+allow ot_daemon dumpstate:fd use;
+allow ot_daemon dumpstate:fifo_file write;
+
+# ot-daemon socket is for only ot-daemon and ot-ctl
+neverallow {
+  domain
+  -ot_daemon
+  userdebug_or_eng(`-ot_ctl')
+  -init
+  -vendor_init
+} ot_daemon_socket:sock_file *;
diff --git a/prebuilts/api/202504/private/otapreopt_chroot.te b/prebuilts/api/202504/private/otapreopt_chroot.te
new file mode 100644
index 0000000..2aeab0b
--- /dev/null
+++ b/prebuilts/api/202504/private/otapreopt_chroot.te
@@ -0,0 +1,100 @@
+# otapreopt_chroot executable
+starting_at_board_api(202504, `type otapreopt_chroot, domain;')
+typeattribute otapreopt_chroot coredomain;
+type otapreopt_chroot_exec, exec_type, file_type, system_file_type;
+
+# Chroot preparation and execution.
+# We need to create an unshared mount namespace, and then mount /data.
+allow otapreopt_chroot postinstall_file:dir { search mounton };
+allow otapreopt_chroot apex_mnt_dir:dir mounton;
+allow otapreopt_chroot device:dir mounton;
+allow otapreopt_chroot linkerconfig_file:dir mounton;
+allow otapreopt_chroot rootfs:dir mounton;
+allow otapreopt_chroot sysfs:dir mounton;
+allow otapreopt_chroot system_data_root_file:dir mounton;
+allow otapreopt_chroot system_file:dir mounton;
+allow otapreopt_chroot vendor_file:dir mounton;
+allow otapreopt_chroot self:global_capability_class_set { sys_admin sys_chroot };
+
+# This is required to mount /vendor and mount/unmount ext4 images from
+# APEX packages in /postinstall/apex.
+allow otapreopt_chroot block_device:dir search;
+allow otapreopt_chroot labeledfs:filesystem { mount unmount };
+# This is required for dynamic partitions.
+allow otapreopt_chroot dm_device:chr_file rw_file_perms;
+
+# This is required to unmount flattened APEX packages under
+# /postinstall/system/apex (which are bind-mounted in /postinstall/apex).
+allow otapreopt_chroot postinstall_file:filesystem unmount;
+# Mounting /vendor can have this side-effect. Ignore denial.
+dontaudit otapreopt_chroot kernel:process setsched;
+
+# Allow otapreopt_chroot to read SELinux policy files.
+allow otapreopt_chroot file_contexts_file:file r_file_perms;
+
+# Allow otapreopt_chroot to open and read the contents of /postinstall/system/apex.
+allow otapreopt_chroot postinstall_file:dir r_dir_perms;
+# Allow otapreopt_chroot to read the persist.apexd.verity_on_system system property.
+get_prop(otapreopt_chroot, apexd_prop)
+
+# Allow otapreopt to use file descriptors from update-engine and the postinstall
+# script. It will read dexopt commands from stdin and write progress to stdout.
+allow otapreopt_chroot postinstall:fd use;
+allow otapreopt_chroot postinstall:fifo_file { read write getattr };
+allow otapreopt_chroot update_engine:fd use;
+allow otapreopt_chroot update_engine:fifo_file write;
+
+# Allow to transition to postinstall_dexopt, to run otapreopt in its own sandbox.
+domain_auto_trans(otapreopt_chroot, postinstall_dexopt_exec, postinstall_dexopt)
+domain_auto_trans(otapreopt_chroot, linkerconfig_exec, linkerconfig)
+domain_auto_trans(otapreopt_chroot, apexd_exec, apexd)
+
+# Allow otapreopt_chroot to control linkerconfig
+allow otapreopt_chroot linkerconfig_file:dir { create_dir_perms relabelto };
+allow otapreopt_chroot linkerconfig_file:file create_file_perms;
+
+# Allow otapreopt_chroot to create loop devices with /dev/loop-control.
+allow otapreopt_chroot loop_control_device:chr_file rw_file_perms;
+# Allow otapreopt_chroot to access loop devices.
+allow otapreopt_chroot loop_device:blk_file rw_file_perms;
+allowxperm otapreopt_chroot loop_device:blk_file ioctl {
+  LOOP_CONFIGURE
+  LOOP_GET_STATUS64
+  LOOP_SET_STATUS64
+  LOOP_SET_FD
+  LOOP_SET_BLOCK_SIZE
+  LOOP_SET_DIRECT_IO
+  LOOP_CLR_FD
+  BLKFLSBUF
+};
+
+# Allow otapreopt_chroot to configure read-ahead of loop devices.
+allow otapreopt_chroot sysfs_loop:dir r_dir_perms;
+allow otapreopt_chroot sysfs_loop:file rw_file_perms;
+
+# Allow otapreopt_chroot to mount a tmpfs filesystem in /postinstall/apex.
+allow otapreopt_chroot tmpfs:filesystem mount;
+# Allow otapreopt_chroot to restore the security context of /postinstall/apex.
+allow otapreopt_chroot tmpfs:dir relabelfrom;
+allow otapreopt_chroot postinstall_apex_mnt_dir:dir relabelto;
+
+# Allow otapreopt_chroot to manipulate directory /postinstall/apex.
+allow otapreopt_chroot postinstall_apex_mnt_dir:dir create_dir_perms;
+allow otapreopt_chroot postinstall_apex_mnt_dir:file create_file_perms;
+# Allow otapreopt_chroot to mount APEX packages in /postinstall/apex.
+allow otapreopt_chroot postinstall_apex_mnt_dir:dir mounton;
+
+# Allow otapreopt_chroot to access /dev/block (needed to detach loop
+# devices used by ext4 images from APEX packages).
+allow otapreopt_chroot block_device:dir r_dir_perms;
+
+# Allow to access the linker through the symlink.
+allow otapreopt_chroot postinstall_file:lnk_file r_file_perms;
+
+# Allow otapreopt_chroot to read ro.cold_boot_done prop.
+# This is a temporary solution to make sure that otapreopt_chroot doesn't block indefinetelly.
+# TODO(b/165948777): remove this once otapreopt_chroot is migrated to libapexmount.
+get_prop(otapreopt_chroot, cold_boot_done_prop)
+
+# allow otapreopt_chroot to run the linkerconfig from the new image.
+allow otapreopt_chroot linkerconfig_exec:file rx_file_perms;
diff --git a/prebuilts/api/202504/private/otapreopt_slot.te b/prebuilts/api/202504/private/otapreopt_slot.te
new file mode 100644
index 0000000..27a3b0e
--- /dev/null
+++ b/prebuilts/api/202504/private/otapreopt_slot.te
@@ -0,0 +1,28 @@
+# This command set moves the artifact corresponding to the current slot
+# from /data/ota to /data/dalvik-cache.
+
+type otapreopt_slot, domain, mlstrustedsubject, coredomain;
+type otapreopt_slot_exec, system_file_type, exec_type, file_type;
+
+# Technically not a daemon but we do want the transition from init domain to
+# cppreopts to occur.
+init_daemon_domain(otapreopt_slot)
+
+# The otapreopt_slot renames the OTA dalvik-cache to the regular dalvik-cache, and cleans up
+# the directory afterwards. For logging of aggregate size, we need getattr.
+allow otapreopt_slot ota_data_file:dir { rw_dir_perms rename reparent rmdir };
+allow otapreopt_slot ota_data_file:{ file lnk_file } getattr;
+# (du follows symlinks)
+allow otapreopt_slot ota_data_file:lnk_file read;
+
+# Delete old content of the dalvik-cache.
+allow otapreopt_slot dalvikcache_data_file:dir { add_name getattr open read remove_name rmdir search write };
+allow otapreopt_slot dalvikcache_data_file:file { getattr unlink };
+allow otapreopt_slot dalvikcache_data_file:lnk_file { getattr read unlink };
+
+# Allow cppreopts to execute itself using #!/system/bin/sh
+allow otapreopt_slot shell_exec:file rx_file_perms;
+
+# Allow running the mv and rm/rmdir commands using otapreopt_slot  permissions.
+# Needed so we can move artifacts into /data/dalvik-cache/dalvik-cache.
+allow otapreopt_slot toolbox_exec:file rx_file_perms;
diff --git a/prebuilts/api/202504/private/overlay_remounter.te b/prebuilts/api/202504/private/overlay_remounter.te
new file mode 100644
index 0000000..12f7b0d
--- /dev/null
+++ b/prebuilts/api/202504/private/overlay_remounter.te
@@ -0,0 +1,47 @@
+# Domain used for overlay_remounter process
+
+# All types must be defined regardless of build variant to ensure
+# policy compilation succeeds with userdebug/user combination at boot
+type overlay_remounter, domain, coredomain;
+
+# File types must be defined for file_contexts.
+type overlay_remounter_exec, system_file_type, exec_type, file_type;
+
+userdebug_or_eng(`
+  domain_auto_trans(overlay_remounter, init_exec, init)
+
+  allow overlay_remounter init:process share;
+  allow overlay_remounter init:process2 nosuid_transition;
+  allow overlay_remounter kernel:fd use;
+  allow overlay_remounter tmpfs:chr_file { open read write };
+  allow overlay_remounter labeledfs:filesystem { mount unmount };
+  allow overlay_remounter overlayfs_file:chr_file { unlink create link rename };
+  allow overlay_remounter overlayfs_file:dir create_dir_perms;
+  allow overlay_remounter overlayfs_file:file { create open rename unlink write };
+  allow overlay_remounter self:capability { chown fowner sys_admin dac_override dac_read_search };
+  allow overlay_remounter unlabeled:dir { rmdir search };
+  use_bootstrap_libs(overlay_remounter)
+
+  # overlay_remounter must be able to perform all possible operations
+  # on the overlaid partitions
+  allow overlay_remounter {
+    system_dlkm_file_type
+    vendor_file_type
+    system_file_type
+    adb_keys_file
+  }:{ file } ~{ entrypoint };
+
+  allow overlay_remounter {
+    system_dlkm_file_type
+    vendor_file_type
+    system_file_type
+    adb_keys_file
+  }:chr_file unlink;
+
+  allow overlay_remounter {
+    system_dlkm_file_type
+    vendor_file_type
+    system_file_type
+    adb_keys_file
+  }:{ dir lnk_file } *;
+')
diff --git a/prebuilts/api/202504/private/perfetto.te b/prebuilts/api/202504/private/perfetto.te
new file mode 100644
index 0000000..07d4399
--- /dev/null
+++ b/prebuilts/api/202504/private/perfetto.te
@@ -0,0 +1,152 @@
+# Perfetto command-line client. Can be used only from the domains that are
+# explicitly allowlisted with a domain_auto_trans(X, perfetto_exec, perfetto).
+# This command line client accesses the privileged socket of the traced
+# daemon.
+
+type perfetto_exec, system_file_type, exec_type, file_type;
+type perfetto_tmpfs, file_type;
+
+tmpfs_domain(perfetto);
+
+# Allow init to start a trace (for perfetto_boottrace).
+init_daemon_domain(perfetto)
+
+# Allow to access traced's privileged consumer socket.
+unix_socket_connect(perfetto, traced_consumer, traced)
+
+# Connect to the Perfetto traced daemon as a producer. This requires
+# connecting to its producer socket and obtaining a (per-process) tmpfs fd.
+perfetto_producer(perfetto)
+
+# Allow to write and unlink traces into /data/misc/perfetto-traces.
+allow perfetto perfetto_traces_data_file:dir rw_dir_perms;
+allow perfetto perfetto_traces_data_file:file create_file_perms;
+
+# Allow to write and unlink trace into /data/misc/perfetto-traces/bugreport*
+allow perfetto perfetto_traces_bugreport_data_file:file create_file_perms;
+allow perfetto perfetto_traces_bugreport_data_file:dir rw_dir_perms;
+
+# Allow to write and unlink traces into /data/misc/perfetto-traces/profiling.
+allow perfetto perfetto_traces_profiling_data_file:dir rw_dir_perms;
+allow perfetto perfetto_traces_profiling_data_file:file create_file_perms;
+
+# Allow perfetto to access the proxy service for reporting traces.
+allow perfetto tracingproxy_service:service_manager find;
+binder_use(perfetto)
+binder_call(perfetto, system_server)
+
+# Allow perfetto to read the trace config from /data/misc/perfetto-configs.
+# shell and adb can write files into that directory.
+allow perfetto perfetto_configs_data_file:dir r_dir_perms;
+allow perfetto perfetto_configs_data_file:file r_file_perms;
+
+# Allow perfetto to read the trace config from /system/etc/perfetto.
+allow perfetto system_perfetto_config_file:dir r_dir_perms;
+allow perfetto system_perfetto_config_file:file r_file_perms;
+
+# Allow perfetto to read the trace config from statsd, mm_events and shell
+# (both root and non-root) on stdin and also to write the resulting trace to
+# stdout.
+allow perfetto { statsd mm_events shell su }:fd use;
+allow perfetto { statsd mm_events shell su system_server }:fifo_file { getattr read write ioctl };
+
+# Allow to communicate use, read and write over the adb connection.
+allow perfetto adbd:fd use;
+allow perfetto adbd:unix_stream_socket { read write };
+
+# Allow adbd to reap perfetto.
+allow perfetto adbd:process { sigchld };
+
+# Allow perfetto to write to statsd.
+unix_socket_send(perfetto, statsdw, statsd)
+
+# Allow to access /dev/pts when launched in an adb shell.
+allow perfetto devpts:chr_file rw_file_perms;
+
+# Allow perfetto to ask incidentd to start a report.
+# TODO(lalitm): remove all incidentd rules when proxy service is stable.
+allow perfetto incident_service:service_manager find;
+binder_call(perfetto, incidentd)
+
+# perfetto log formatter calls isatty() on its stderr. Denial when running
+# under adbd is harmless. Avoid generating denial logs.
+dontaudit perfetto adbd:unix_stream_socket getattr;
+dontauditxperm perfetto adbd:unix_stream_socket ioctl unpriv_tty_ioctls;
+# As above, when adbd is running in "su" domain (only the ioctl is denied in
+# practice).
+dontauditxperm perfetto su:unix_stream_socket ioctl unpriv_tty_ioctls;
+# Similarly, CTS tests end up hitting a denial on shell pipes.
+dontauditxperm perfetto shell:fifo_file ioctl unpriv_tty_ioctls;
+
+###
+### Neverallow rules
+###
+
+# Disallow anyone else from being able to handle traces except selected system
+# components.
+neverallow {
+  domain
+  -init      # The creator of the folder.
+  -perfetto  # The owner of the folder.
+  -adbd      # For pulling traces.
+  -shell     # For devepment purposes.
+  -traced    # For write_into_file traces.
+  -dumpstate # For attaching traces to bugreports.
+  -incidentd # For receiving reported traces. TODO(lalitm): remove this.
+  -priv_app  # For stating traces for bug-report UI.
+  -system_server # For accessing traces started by profiling apis.
+  -trace_redactor # For accessing traces to be redacted.
+} perfetto_traces_data_file:dir *;
+neverallow {
+  domain
+  -init      # The creator of the folder.
+  -perfetto  # The owner of the folder.
+  -adbd      # For pulling traces.
+  -shell     # For devepment purposes.
+  -traced    # For write_into_file traces.
+  -incidentd      # For receiving reported traces. TODO(lalitm): remove this.
+  -trace_redactor # For redacting trace files.
+} perfetto_traces_data_file:file ~{ getattr read };
+
+### perfetto should NEVER do any of the following
+
+# Disallow mapping executable memory (execstack and exec are already disallowed
+# globally in domain.te).
+neverallow perfetto self:process execmem;
+
+# Block device access.
+neverallow perfetto dev_type:blk_file { read write };
+
+# ptrace any other process
+neverallow perfetto domain:process ptrace;
+
+# Disallows access to other /data files.
+neverallow perfetto {
+  data_file_type
+  -system_data_file
+  -system_data_root_file
+  -media_userdir_file
+  -system_userdir_file
+  -vendor_userdir_file
+  # TODO(b/72998741) Remove exemption. Further restricted in a subsequent
+  # neverallow. Currently only getattr and search are allowed.
+  -vendor_data_file
+  -perfetto_traces_data_file
+  -perfetto_traces_bugreport_data_file
+  -perfetto_traces_profiling_data_file
+  -perfetto_configs_data_file
+  with_native_coverage(`-method_trace_data_file')
+}:dir *;
+neverallow perfetto {
+  system_data_file
+  -perfetto_traces_data_file
+  -perfetto_traces_profiling_data_file
+}:dir ~{ getattr search };
+neverallow perfetto {
+  data_file_type
+  -perfetto_traces_data_file
+  -perfetto_traces_bugreport_data_file
+  -perfetto_traces_profiling_data_file
+  -perfetto_configs_data_file
+  with_native_coverage(`-method_trace_data_file')
+}:file ~write;
diff --git a/prebuilts/api/202504/private/performanced.te b/prebuilts/api/202504/private/performanced.te
new file mode 100644
index 0000000..98107ca
--- /dev/null
+++ b/prebuilts/api/202504/private/performanced.te
@@ -0,0 +1,31 @@
+typeattribute performanced coredomain;
+
+init_daemon_domain(performanced)
+
+# Needed to check for app permissions.
+binder_use(performanced)
+binder_call(performanced, system_server)
+allow performanced permission_service:service_manager find;
+
+pdx_server(performanced, performance_client)
+
+# TODO: use file caps to obtain sys_nice instead of setuid / setgid.
+allow performanced self:global_capability_class_set { setuid setgid sys_nice };
+
+# Access /proc to validate we're only affecting threads in the same thread group.
+# Performanced also shields unbound kernel threads.  It scans every task in the
+# root cpu set, but only affects the kernel threads.
+r_dir_file(performanced, { appdomain bufferhubd kernel surfaceflinger })
+dontaudit performanced domain:dir read;
+allow performanced { appdomain bufferhubd kernel surfaceflinger }:process setsched;
+
+# These /proc accesses only show up in permissive mode but they
+# generate a lot of noise in the log.
+userdebug_or_eng(`
+  dontaudit performanced domain:dir open;
+  dontaudit performanced domain:file { open read getattr };
+')
+
+# Access /dev/cpuset/cpuset.cpus
+r_dir_file(performanced, cgroup)
+r_dir_file(performanced, cgroup_v2)
diff --git a/prebuilts/api/202504/private/permissioncontroller_app.te b/prebuilts/api/202504/private/permissioncontroller_app.te
new file mode 100644
index 0000000..5f81875
--- /dev/null
+++ b/prebuilts/api/202504/private/permissioncontroller_app.te
@@ -0,0 +1,22 @@
+###
+### A domain for further sandboxing the GooglePermissionController app.
+###
+type permissioncontroller_app, domain, coredomain;
+
+app_domain(permissioncontroller_app)
+
+allow permissioncontroller_app app_api_service:service_manager find;
+allow permissioncontroller_app system_api_service:service_manager find;
+
+# Allow interaction with gpuservice
+binder_call(permissioncontroller_app, gpuservice)
+
+allow permissioncontroller_app radio_service:service_manager find;
+
+# Allow the app to request and collect incident reports.
+# (Also requires DUMP and PACKAGE_USAGE_STATS permissions)
+allow permissioncontroller_app incident_service:service_manager find;
+binder_call(permissioncontroller_app, incidentd)
+allow permissioncontroller_app incidentd:fifo_file { read write };
+
+allow permissioncontroller_app gpu_device:dir search;
diff --git a/prebuilts/api/202504/private/platform_app.te b/prebuilts/api/202504/private/platform_app.te
new file mode 100644
index 0000000..38339da
--- /dev/null
+++ b/prebuilts/api/202504/private/platform_app.te
@@ -0,0 +1,157 @@
+###
+### Apps signed with the platform key.
+###
+
+typeattribute platform_app coredomain;
+
+app_domain(platform_app)
+
+# Access the network.
+net_domain(platform_app)
+# Access bluetooth.
+bluetooth_domain(platform_app)
+# Read from /data/local/tmp or /data/data/com.android.shell.
+allow platform_app shell_data_file:dir search;
+allow platform_app shell_data_file:file { open getattr read };
+allow platform_app icon_file:file { open getattr read };
+# Populate /data/app/vmdl*.tmp, /data/app-private/vmdl*.tmp files
+# created by system server.
+allow platform_app { apk_tmp_file apk_private_tmp_file }:dir rw_dir_perms;
+allow platform_app { apk_tmp_file apk_private_tmp_file }:file rw_file_perms;
+allow platform_app apk_private_data_file:dir search;
+# ASEC
+allow platform_app asec_apk_file:dir create_dir_perms;
+allow platform_app asec_apk_file:file create_file_perms;
+
+# Access to /data/media.
+allow platform_app media_rw_data_file:dir create_dir_perms;
+allow platform_app media_rw_data_file:file create_file_perms;
+
+# Write to /cache.
+allow platform_app cache_file:dir create_dir_perms;
+allow platform_app cache_file:file create_file_perms;
+
+# Direct access to vold-mounted storage under /mnt/media_rw
+# This is a performance optimization that allows platform apps to bypass the FUSE layer
+allow platform_app mnt_media_rw_file:dir r_dir_perms;
+allow platform_app sdcard_type:dir create_dir_perms;
+allow platform_app sdcard_type:file create_file_perms;
+
+# com.android.systemui
+allow platform_app rootfs:dir getattr;
+get_prop(platform_app, radio_cdma_ecm_prop)
+userdebug_or_eng(`
+  set_prop(platform_app, persist_wm_debug_prop)
+')
+neverallow { domain -init -dumpstate -system_server userdebug_or_eng(`-domain') } persist_wm_debug_prop:property_service set;
+
+userdebug_or_eng(`
+  set_prop(platform_app, persist_sysui_builder_extras_prop)
+')
+userdebug_or_eng(`
+  set_prop(platform_app, persist_sysui_ranking_update_prop)
+')
+set_prop(platform_app, debug_tracing_desktop_mode_visible_tasks_prop)
+
+# com.android.captiveportallogin reads /proc/vmstat
+allow platform_app {
+  proc_vmstat
+}:file r_file_perms;
+
+# /proc/net access.
+# TODO(b/9496886) Audit access for removal.
+r_dir_file(platform_app, proc_net_type)
+userdebug_or_eng(`
+  auditallow platform_app proc_net_type:{ dir file lnk_file } { getattr open read };
+')
+
+# Allow sharing traces to betterbug from /data/misc/wmtrace.
+userdebug_or_eng(`
+  allow platform_app trace_data_file:file create_file_perms;
+  allow platform_app trace_data_file:dir rw_dir_perms;
+')
+
+# Allow writing and removing wmshell protolog in /data/misc/wmtrace.
+userdebug_or_eng(`
+  allow platform_app wm_trace_data_file:dir rw_dir_perms;
+  allow platform_app wm_trace_data_file:file { getattr setattr create unlink rw_file_perms };
+')
+
+
+# To exec the perfetto cmdline client and pass it the trace config on
+# stdint through a pipe. Allow to access traced's privileged consumer socket.
+userdebug_or_eng(`
+  allow platform_app perfetto_exec:file rx_file_perms;
+  unix_socket_connect(platform_app, traced_consumer, traced);
+')
+
+allow platform_app audioserver_service:service_manager find;
+allow platform_app cameraserver_service:service_manager find;
+allow platform_app drmserver_service:service_manager find;
+allow platform_app mediaserver_service:service_manager find;
+allow platform_app mediametrics_service:service_manager find;
+allow platform_app mediaextractor_service:service_manager find;
+allow platform_app mediadrmserver_service:service_manager find;
+allow platform_app persistent_data_block_service:service_manager find;
+allow platform_app radio_service:service_manager find;
+allow platform_app thermal_service:service_manager find;
+allow platform_app app_api_service:service_manager find;
+allow platform_app system_api_service:service_manager find;
+allow platform_app vr_manager_service:service_manager find;
+allow platform_app stats_service:service_manager find;
+allow platform_app tradeinmode_service:service_manager find;
+
+# Allow platform apps to log via statsd.
+binder_call(platform_app, statsd)
+
+# Allow platform applications to find and call artd for testing
+userdebug_or_eng(`
+  allow platform_app artd_service:service_manager find;
+  binder_call(platform_app, artd)
+')
+
+# Access to /data/preloads
+allow platform_app preloads_data_file:file r_file_perms;
+allow platform_app preloads_data_file:dir r_dir_perms;
+allow platform_app preloads_media_file:file r_file_perms;
+allow platform_app preloads_media_file:dir r_dir_perms;
+
+read_runtime_log_tags(platform_app)
+
+# allow platform apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow platform_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow platform apps to connect to the property service
+set_prop(platform_app, test_boot_reason_prop)
+
+# allow platform apps to read keyguard.no_require_sim
+get_prop(platform_app, keyguard_config_prop)
+
+# allow platform apps to read qemu.hw.mainkeys
+get_prop(platform_app, qemu_hw_prop)
+
+# allow platform apps to read sys.boot.reason.last
+get_prop(platform_app, last_boot_reason_prop)
+
+# allow platform apps to create symbolic link
+allow platform_app app_data_file:lnk_file create_file_perms;
+
+# suppress denials caused by debugfs_tracing
+dontaudit platform_app debugfs_tracing:file rw_file_perms;
+
+# Allow platform apps to create VMs
+virtualizationservice_use(platform_app)
+
+# Allow platform apps to read files and directories under /data/system/shutdown-checkpoints/
+r_dir_file(platform_app, shutdown_checkpoints_system_data_file)
+
+###
+### Neverallow rules
+###
+
+neverallow { domain -init userdebug_or_eng(`-shell -platform_app') } persist_sysui_builder_extras_prop:property_service set;
+
+# app domains which access /dev/fuse should not run as platform_app
+neverallow platform_app fuse_device:chr_file *;
diff --git a/prebuilts/api/202504/private/policy_capabilities b/prebuilts/api/202504/private/policy_capabilities
new file mode 100644
index 0000000..9290e3a
--- /dev/null
+++ b/prebuilts/api/202504/private/policy_capabilities
@@ -0,0 +1,20 @@
+# Enable new networking controls.
+policycap network_peer_controls;
+
+# Enable open permission check.
+policycap open_perms;
+
+# Enable separate security classes for
+# all network address families previously
+# mapped to the socket class and for
+# ICMP and SCTP sockets previously mapped
+# to the rawip_socket class.
+policycap extended_socket_class;
+
+# Enable NoNewPrivileges support.  Requires libsepol 2.7+
+# and kernel 4.14 (estimated).
+#
+# Checks enabled;
+# process2: nnp_transition, nosuid_transition
+#
+policycap nnp_nosuid_transition;
diff --git a/prebuilts/api/202504/private/port_contexts b/prebuilts/api/202504/private/port_contexts
new file mode 100644
index 0000000..b473c0c
--- /dev/null
+++ b/prebuilts/api/202504/private/port_contexts
@@ -0,0 +1,3 @@
+# portcon statements go here, e.g.
+# portcon tcp 80 u:object_r:http_port:s0
+
diff --git a/prebuilts/api/202504/private/postinstall.te b/prebuilts/api/202504/private/postinstall.te
new file mode 100644
index 0000000..5a2804b
--- /dev/null
+++ b/prebuilts/api/202504/private/postinstall.te
@@ -0,0 +1,53 @@
+typeattribute postinstall coredomain;
+type postinstall_exec, system_file_type, exec_type, file_type;
+domain_auto_trans(postinstall, otapreopt_chroot_exec, otapreopt_chroot)
+
+allow postinstall rootfs:dir r_dir_perms;
+
+# Allow invoking `pm` shell commands.
+allow postinstall package_service:service_manager find;
+
+# Allow postinstall to write to its stdout/stderr when redirected via pipes to
+# update_engine.
+allow postinstall update_engine_common:fd use;
+allow postinstall update_engine_common:fifo_file rw_file_perms;
+
+# Allow postinstall to read and execute directories and files in the same
+# mounted location.
+allow postinstall postinstall_file:file rx_file_perms;
+allow postinstall postinstall_file:lnk_file r_file_perms;
+allow postinstall postinstall_file:dir r_dir_perms;
+
+# Allow postinstall to execute the shell or other system executables.
+allow postinstall shell_exec:file rx_file_perms;
+allow postinstall system_file:file rx_file_perms;
+allow postinstall toolbox_exec:file rx_file_perms;
+
+# Allow postinstall to execute shell in recovery.
+recovery_only(`
+  allow postinstall rootfs:file rx_file_perms;
+')
+
+#
+# For OTA dexopt.
+#
+
+# Allow postinstall scripts to talk to the system server.
+binder_use(postinstall)
+binder_call(postinstall, system_server)
+
+# Need to talk to the otadexopt service.
+allow postinstall otadexopt_service:service_manager find;
+
+# Allow postinstall scripts to trigger f2fs garbage collection
+allow postinstall sysfs_fs_f2fs:file rw_file_perms;
+allow postinstall sysfs_fs_f2fs:dir r_dir_perms;
+
+###
+### Neverallow rules
+###
+
+# No domain other than update_engine and recovery (via update_engine_sideload)
+# should transition to postinstall, as it is only meant to run during the
+# update.
+neverallow { domain -update_engine -recovery } postinstall:process { transition dyntransition };
diff --git a/prebuilts/api/202504/private/postinstall_dexopt.te b/prebuilts/api/202504/private/postinstall_dexopt.te
new file mode 100644
index 0000000..cdf403c
--- /dev/null
+++ b/prebuilts/api/202504/private/postinstall_dexopt.te
@@ -0,0 +1,90 @@
+# Domain for the otapreopt executable, running under postinstall_dexopt
+#
+# Note: otapreopt is a driver for dex2oat, and reuses parts of installd. As such,
+# this is derived and adapted from installd.te.
+
+type postinstall_dexopt, domain, coredomain, mlstrustedsubject;
+type postinstall_dexopt_exec, system_file_type, exec_type, file_type;
+type postinstall_dexopt_tmpfs, file_type;
+
+# Run dex2oat/patchoat in its own sandbox.
+# We have to manually transition, as we don't have an entrypoint.
+# - Case where dex2oat is in a non-flattened APEX, which has retained
+#   the correct type (`dex2oat_exec`).
+domain_auto_trans(postinstall_dexopt, dex2oat_exec, dex2oat)
+# - Case where dex2oat is in a flattened APEX, which has been tagged
+#   with the `postinstall_file` type by update_engine.
+domain_auto_trans(postinstall_dexopt, postinstall_file, dex2oat)
+
+# Run derive_classpath to get the current BCP.
+domain_auto_trans(postinstall_dexopt, derive_classpath_exec, derive_classpath)
+# Allow postinstall_dexopt to make a tempfile for derive_classpath to write into
+tmpfs_domain(postinstall_dexopt);
+allow postinstall_dexopt postinstall_dexopt_tmpfs:file open;
+
+allow postinstall_dexopt self:global_capability_class_set { chown dac_override dac_read_search fowner fsetid setgid setuid };
+
+allow postinstall_dexopt postinstall_file:filesystem getattr;
+allow postinstall_dexopt postinstall_file:dir { getattr read search };
+allow postinstall_dexopt postinstall_file:lnk_file { getattr read };
+allow postinstall_dexopt proc_filesystems:file { getattr open read };
+allow postinstall_dexopt rootfs:file r_file_perms;
+
+allow postinstall_dexopt tmpfs:file read;
+
+# Allow access odsign verification status
+get_prop(postinstall_dexopt, odsign_prop)
+
+# Allow access to /postinstall/apex.
+allow postinstall_dexopt postinstall_apex_mnt_dir:dir { getattr search };
+
+# Note: /data/ota is created by init (see system/core/rootdir/init.rc) to avoid giving access
+# here and having to relabel the directory.
+
+# Read app data (APKs) as input to dex2oat.
+r_dir_file(postinstall_dexopt, apk_data_file)
+# Read vendor app data (APKs) as input to dex2oat.
+r_dir_file(postinstall_dexopt, vendor_app_file)
+# Read vendor overlay files (APKs) as input to dex2oat.
+r_dir_file(postinstall_dexopt, vendor_overlay_file)
+# Vendor overlay can be found in vendor apex
+allow postinstall_dexopt vendor_apex_metadata_file:dir { getattr search };
+# Access to app oat directory.
+r_dir_file(postinstall_dexopt, dalvikcache_data_file)
+
+# Read profile data.
+allow postinstall_dexopt { user_profile_root_file user_profile_data_file }:dir { getattr search };
+allow postinstall_dexopt user_profile_data_file:file r_file_perms;
+# Suppress deletion denial (we do not want to update the profile).
+dontaudit postinstall_dexopt user_profile_data_file:file { write };
+
+# Write to /data/ota(/*). Create symlinks in /data/ota(/*)
+allow postinstall_dexopt ota_data_file:dir create_dir_perms;
+allow postinstall_dexopt ota_data_file:file create_file_perms;
+allow postinstall_dexopt ota_data_file:lnk_file create_file_perms;
+
+# Need to write .b files, which are dalvikcache_data_file, not ota_data_file.
+# TODO: See whether we can apply ota_data_file?
+allow postinstall_dexopt dalvikcache_data_file:dir rw_dir_perms;
+allow postinstall_dexopt dalvikcache_data_file:file create_file_perms;
+
+# Allow labeling of files under /data/app/com.example/oat/
+# TODO: Restrict to .b suffix?
+allow postinstall_dexopt dalvikcache_data_file:dir relabelto;
+allow postinstall_dexopt dalvikcache_data_file:file { relabelto link };
+
+# Check validity of SELinux context before use.
+selinux_check_context(postinstall_dexopt)
+selinux_check_access(postinstall_dexopt)
+
+
+# Postinstall wants to know about our child.
+allow postinstall_dexopt postinstall:process sigchld;
+
+# Allow otapreopt to use file descriptors from otapreopt_chroot.
+# TODO: Probably we can actually close file descriptors...
+allow postinstall_dexopt otapreopt_chroot:fd use;
+
+# Allow postinstall_dexopt to access the runtime feature flag properties.
+get_prop(postinstall_dexopt, device_config_runtime_native_prop)
+get_prop(postinstall_dexopt, device_config_runtime_native_boot_prop)
diff --git a/prebuilts/api/202504/private/prefetch.te b/prebuilts/api/202504/private/prefetch.te
new file mode 100644
index 0000000..21287f3
--- /dev/null
+++ b/prebuilts/api/202504/private/prefetch.te
@@ -0,0 +1,24 @@
+type prefetch, coredomain, domain;
+type prefetch_exec, exec_type, file_type, system_file_type;
+
+init_daemon_domain(prefetch)
+
+# Allow prefetch to start recording by enabling tracing event under
+# /sys/kernel/tracing/events/filemap/mm_filemap_add_to_page_cache
+allow prefetch debugfs_tracing_instances:dir create_dir_perms;
+allow prefetch debugfs_tracing_instances:file rw_file_perms;
+
+# Allow to read/write/create/delete to storage prefetch record files
+allow prefetch metadata_file:dir search;
+allow prefetch prefetch_metadata_file:dir rw_dir_perms;
+allow prefetch prefetch_metadata_file:file create_file_perms;
+
+get_prop(prefetch, prefetch_boot_prop);
+set_prop(prefetch, prefetch_service_prop);
+
+# Disallow other domains controlling prefetch service.
+neverallow {
+  domain
+  -init
+  -shell
+} ctl_prefetch_prop:property_service set;
diff --git a/prebuilts/api/202504/private/preloads_copy.te b/prebuilts/api/202504/private/preloads_copy.te
new file mode 100644
index 0000000..ba54b70
--- /dev/null
+++ b/prebuilts/api/202504/private/preloads_copy.te
@@ -0,0 +1,18 @@
+type preloads_copy, domain, coredomain;
+type preloads_copy_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(preloads_copy)
+
+allow preloads_copy shell_exec:file rx_file_perms;
+allow preloads_copy toolbox_exec:file rx_file_perms;
+allow preloads_copy preloads_data_file:dir create_dir_perms;
+allow preloads_copy preloads_data_file:file create_file_perms;
+allow preloads_copy preloads_media_file:dir create_dir_perms;
+allow preloads_copy preloads_media_file:file create_file_perms;
+
+# Allow to copy from /postinstall
+allow preloads_copy system_file:dir r_dir_perms;
+
+# Silence the denial when /postinstall cannot be mounted, e.g., system_other
+# is wiped, but preloads_copy.sh still runs.
+dontaudit preloads_copy postinstall_mnt_dir:dir search;
diff --git a/prebuilts/api/202504/private/preopt2cachename.te b/prebuilts/api/202504/private/preopt2cachename.te
new file mode 100644
index 0000000..dcfba14
--- /dev/null
+++ b/prebuilts/api/202504/private/preopt2cachename.te
@@ -0,0 +1,17 @@
+# preopt2cachename executable
+#
+# This executable translates names from the preopted versions the build system
+# creates to the names the runtime expects in the data directory.
+
+type preopt2cachename, domain, coredomain;
+type preopt2cachename_exec, system_file_type, exec_type, file_type;
+
+# Allow write to stdout.
+allow preopt2cachename cppreopts:fd use;
+allow preopt2cachename cppreopts:fifo_file { getattr read write };
+
+# Allow write to logcat.
+allow preopt2cachename proc_net_type:file r_file_perms;
+userdebug_or_eng(`
+  auditallow preopt2cachename proc_net_type:{ dir file lnk_file } { getattr open read };
+')
diff --git a/prebuilts/api/202504/private/priv_app.te b/prebuilts/api/202504/private/priv_app.te
new file mode 100644
index 0000000..1ef5be1
--- /dev/null
+++ b/prebuilts/api/202504/private/priv_app.te
@@ -0,0 +1,299 @@
+###
+### A domain for further sandboxing privileged apps.
+###
+
+typeattribute priv_app coredomain;
+app_domain(priv_app)
+
+# Access the network.
+net_domain(priv_app)
+# Access bluetooth.
+bluetooth_domain(priv_app)
+
+# Allow the allocation and use of ptys
+# Used by: https://play.privileged.com/store/apps/details?id=jackpal.androidterm
+create_pty(priv_app)
+
+# Allow loading executable code from writable priv-app home
+# directories. This is a W^X violation, however, it needs
+# to be supported for now for the following reasons.
+# * /data/user_*/0/*/code_cache/* POSSIBLE uses (b/117841367)
+#   1) com.android.opengl.shaders_cache
+#   2) com.android.skia.shaders_cache
+#   3) com.android.renderscript.cache
+# * /data/user_de/0/com.google.android.gms/app_chimera
+# TODO: Tighten (b/112357170)
+allow priv_app privapp_data_file:file execute;
+
+# Chrome Crashpad uses the the dynamic linker to load native executables
+# from an APK (b/112050209, crbug.com/928422)
+allow priv_app system_linker_exec:file execute_no_trans;
+
+allow priv_app privapp_data_file:lnk_file create_file_perms;
+
+# Priv apps can find services that expose both @SystemAPI and normal APIs.
+allow priv_app app_api_service:service_manager find;
+allow priv_app system_api_service:service_manager find;
+
+allow priv_app audioserver_service:service_manager find;
+allow priv_app cameraserver_service:service_manager find;
+allow priv_app drmserver_service:service_manager find;
+allow priv_app mediadrmserver_service:service_manager find;
+allow priv_app mediaextractor_service:service_manager find;
+allow priv_app mediametrics_service:service_manager find;
+allow priv_app mediaserver_service:service_manager find;
+allow priv_app music_recognition_service:service_manager find;
+allow priv_app network_watchlist_service:service_manager find;
+allow priv_app nfc_service:service_manager find;
+allow priv_app oem_lock_service:service_manager find;
+allow priv_app persistent_data_block_service:service_manager find;
+allow priv_app radio_service:service_manager find;
+allow priv_app recovery_service:service_manager find;
+allow priv_app stats_service:service_manager find;
+
+# Write to /cache.
+allow priv_app { cache_file cache_recovery_file }:dir create_dir_perms;
+allow priv_app { cache_file cache_recovery_file }:file create_file_perms;
+# /cache is a symlink to /data/cache on some devices. Allow reading the link.
+allow priv_app cache_file:lnk_file r_file_perms;
+
+# Access to /data/media.
+allow priv_app media_rw_data_file:dir create_dir_perms;
+allow priv_app media_rw_data_file:file create_file_perms;
+
+# Used by Finsky / Android "Verify Apps" functionality when
+# running "adb install foo.apk".
+allow priv_app shell_data_file:file r_file_perms;
+allow priv_app shell_data_file:dir r_dir_perms;
+
+# Allow traceur to pass file descriptors through a content provider to betterbug
+allow priv_app trace_data_file:file { getattr read };
+
+# Allow betterbug to read profile reports generated by profcollect.
+userdebug_or_eng(`
+  allow priv_app profcollectd_data_file:file r_file_perms;
+')
+
+# Allow the bug reporting frontend to read the presence and timestamp of the
+# trace attached to the bugreport (but not its contents, which will go in the
+# usual bugreport .zip file). This is used by the bug reporting UI to tell if
+# the bugreport will contain a system trace or not while the bugreport is still
+# in progress.
+allow priv_app wm_trace_data_file:dir r_dir_perms;
+allow priv_app wm_trace_data_file:file getattr;
+allow priv_app perfetto_traces_bugreport_data_file:dir r_dir_perms;
+allow priv_app perfetto_traces_bugreport_data_file:file { getattr };
+# Required to traverse the parent dir (/data/misc/perfetto-traces).
+allow priv_app perfetto_traces_data_file:dir { search };
+
+# Allow priv apps (e.g. BetterBug) to receive Perfetto traces through
+# the framework (i.e. TracingServiceProxy) and sendfile them into their private
+# directories for reporting when network and battery conditions are
+# appropriate.
+allow priv_app perfetto:fd use;
+allow priv_app perfetto_traces_data_file:file { read getattr };
+
+# Allow verifier to access staged apks.
+allow priv_app { apk_tmp_file apk_private_tmp_file }:dir r_dir_perms;
+allow priv_app { apk_tmp_file apk_private_tmp_file }:file r_file_perms;
+allowxperm priv_app { apk_tmp_file apk_private_tmp_file }:file ioctl FS_IOC_MEASURE_VERITY;
+
+# For AppFuse.
+allow priv_app vold:fd use;
+allow priv_app fuse_device:chr_file { read write };
+
+# /proc access
+allow priv_app {
+  proc_vmstat
+}:file r_file_perms;
+
+allow priv_app sysfs_type:dir search;
+# Read access to /sys/block/zram*/mm_stat
+r_dir_file(priv_app, sysfs_zram)
+
+r_dir_file(priv_app, rootfs)
+
+# Allow com.android.vending to communicate with statsd.
+binder_call(priv_app, statsd)
+
+# Allow Phone to read/write cached ringtones (opened by system).
+allow priv_app ringtone_file:file { getattr read write };
+
+# Access to /data/preloads
+allow priv_app preloads_data_file:file r_file_perms;
+allow priv_app preloads_data_file:dir r_dir_perms;
+allow priv_app preloads_media_file:file r_file_perms;
+allow priv_app preloads_media_file:dir r_dir_perms;
+
+read_runtime_log_tags(priv_app)
+
+# Allow priv_apps to request and collect incident reports.
+# (Also requires DUMP and PACKAGE_USAGE_STATS permissions)
+allow priv_app incident_service:service_manager find;
+binder_call(priv_app, incidentd)
+allow priv_app incidentd:fifo_file { read write };
+
+# Allow priv_apps to check whether Dynamic System Update is enabled
+get_prop(priv_app, dynamic_system_prop)
+
+# Allow privileged apps to read trade in mode property
+get_prop(priv_app, adbd_tradeinmode_prop)
+
+# suppress denials for non-API accesses.
+dontaudit priv_app exec_type:file getattr;
+dontaudit priv_app device:dir read;
+dontaudit priv_app fs_bpf:dir search;
+dontaudit priv_app net_dns_prop:file read;
+dontaudit priv_app proc:file read;
+dontaudit priv_app proc_interrupts:file read;
+dontaudit priv_app proc_modules:file read;
+dontaudit priv_app proc_net:file read;
+dontaudit priv_app proc_stat:file read;
+dontaudit priv_app proc_version:file read;
+dontaudit priv_app sysfs:dir read;
+dontaudit priv_app sysfs:file read;
+dontaudit priv_app sysfs_android_usb:file read;
+dontaudit priv_app sysfs_dm:file r_file_perms;
+dontaudit priv_app { wifi_prop wifi_config_prop wifi_hal_prop }:file read;
+
+# allow privileged apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow priv_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow apps like Phonesky to check the file signature of an apk installed on
+# the Incremental File System, fill missing blocks and get the app status and loading progress
+allowxperm priv_app apk_data_file:file ioctl {
+  INCFS_IOCTL_READ_SIGNATURE
+  INCFS_IOCTL_FILL_BLOCKS
+  INCFS_IOCTL_GET_BLOCK_COUNT
+  INCFS_IOCTL_GET_FILLED_BLOCKS
+};
+
+# allow privileged data loader apps (e.g. com.android.vending) to read logs from Incremental File System
+allow priv_app incremental_control_file:file { read getattr ioctl };
+
+# allow apps like Phonesky to request permission to fill blocks of an apk file
+# on the Incremental File System.
+allowxperm priv_app incremental_control_file:file ioctl INCFS_IOCTL_PERMIT_FILL;
+
+# allow privileged apps to read the vendor property that indicates if Incremental File System is enabled
+get_prop(priv_app, incremental_prop)
+
+# allow privileged apps to read the device config flags.
+get_prop(priv_app, device_config_aconfig_flags_prop)
+
+# allow privileged apps to read boot reason property
+get_prop(priv_app, system_boot_reason_prop)
+
+# Required for Phonesky to be able to read APEX files under /data/apex/active/.
+allow priv_app apex_data_file:dir search;
+allow priv_app staging_data_file:file r_file_perms;
+# Required for Phonesky to be able to read staged files under /data/app-staging.
+allow priv_app staging_data_file:dir r_dir_perms;
+
+# Allow com.android.vending to access files under vendor/apex as well as system apex files.
+# This is required for com.android.vending to handle APEXes for e.g. delta patch optimization.
+allow priv_app vendor_apex_file:dir r_dir_perms;
+allow priv_app vendor_apex_file:file r_file_perms;
+
+# allow priv app to access the system app data files for ContentProvider case.
+allow priv_app system_app_data_file:file { read getattr };
+
+# Allow the renderscript compiler to be run.
+domain_auto_trans(priv_app, rs_exec, rs)
+
+# Allow loading and deleting executable shared libraries
+# within an application home directory. Such shared libraries would be
+# created by things like renderscript or via other mechanisms.
+allow priv_app app_exec_data_file:file { r_file_perms execute unlink };
+
+# Allow privileged apps to create a VM. Note that access is still
+# guarded with the `android.permission.MANAGE_VIRTUAL_MACHINE`
+# permission.
+virtualizationservice_use(priv_app)
+
+###
+### neverallow rules
+###
+
+# Receive or send uevent messages.
+neverallow priv_app domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow priv_app domain:netlink_socket *;
+
+# Read or write kernel printk buffer
+neverallow priv_app kmsg_device:chr_file no_rw_file_perms;
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow priv_app debugfs_type:file read;
+
+# Do not allow privileged apps to register services.
+# Only trusted components of Android should be registering
+# services.
+neverallow priv_app service_manager_type:service_manager add;
+
+# Do not allow privileged apps to connect to the property service
+# or set properties. b/10243159
+neverallow priv_app property_socket:sock_file write;
+neverallow priv_app init:unix_stream_socket connectto;
+neverallow priv_app property_type:property_service set;
+
+# Do not allow priv_app to be assigned mlstrustedsubject.
+# This would undermine the per-user isolation model being
+# enforced via levelFrom=user in seapp_contexts and the mls
+# constraints.  As there is no direct way to specify a neverallow
+# on attribute assignment, this relies on the fact that fork
+# permission only makes sense within a domain (hence should
+# never be granted to any other domain within mlstrustedsubject)
+# and priv_app is allowed fork permission to itself.
+neverallow priv_app mlstrustedsubject:process fork;
+
+# Do not allow priv_app to hard link to any files.
+# In particular, if priv_app links to other app data
+# files, installd will not be able to guarantee the deletion
+# of the linked to file. Hard links also contribute to security
+# bugs, so we want to ensure priv_app never has this
+# capability.
+neverallow priv_app file_type:file link;
+
+# priv apps should not be able to open trace data files, they should depend
+# upon traceur to pass a file descriptor which they can then read
+neverallow priv_app trace_data_file:dir *;
+neverallow priv_app trace_data_file:file { no_w_file_perms open };
+
+# Do not allow priv_app access to cgroups.
+neverallow priv_app cgroup:file *;
+neverallow priv_app cgroup_v2:file *;
+
+# Do not allow loading executable code from non-privileged
+# application home directories. Code loading across a security boundary
+# is dangerous and allows a full compromise of a privileged process
+# by an unprivileged process. b/112357170
+neverallow priv_app { app_data_file_type -privapp_data_file }:file no_x_file_perms;
+
+# Do not follow any app provided symlinks
+neverallow priv_app { app_data_file_type -privapp_data_file }:lnk_file { open read getattr };
+
+# Do not allow getting permission-protected network information from sysfs.
+neverallow priv_app sysfs_net:file *;
+
+# Restrict socket ioctls. Either 1. disallow privileged ioctls, 2. disallow the
+# ioctl permission, or 3. disallow the socket class.
+neverallowxperm priv_app domain:{ icmp_socket rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
+neverallow priv_app *:{ netlink_route_socket netlink_selinux_socket } ioctl;
+neverallow priv_app *:{
+  socket netlink_socket packet_socket key_socket appletalk_socket
+  netlink_tcpdiag_socket netlink_nflog_socket
+  netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket
+  netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket
+  netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket
+  netlink_rdma_socket netlink_crypto_socket sctp_socket
+  ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket
+  atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket
+  bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket kcm_socket qipcrtr_socket smc_socket xdp_socket
+} *;
diff --git a/prebuilts/api/202504/private/prng_seeder.te b/prebuilts/api/202504/private/prng_seeder.te
new file mode 100644
index 0000000..299e37b
--- /dev/null
+++ b/prebuilts/api/202504/private/prng_seeder.te
@@ -0,0 +1,17 @@
+# PRNG seeder daemon
+# Started from early init, maintains a FIPS approved DRBG which it periodically reseeds from
+# /dev/hw_random.  When BoringSSL (libcrypto) in other processes needs seeding data for its
+# internal DRBGs it will connect to /dev/socket/prng_seeder and the daemon will write a
+# fixed size block of entropy then disconnect.  No other IO is performed.
+typeattribute prng_seeder coredomain;
+
+# mlstrustedsubject required in order to allow connections from trusted app domains.
+typeattribute prng_seeder mlstrustedsubject;
+
+type prng_seeder_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(prng_seeder)
+
+# Socket open and listen are performed by init.
+allow prng_seeder prng_seeder:unix_stream_socket { read write getattr accept };
+allow prng_seeder hw_random_device:chr_file { read open };
+allow prng_seeder kmsg_debug_device:chr_file { w_file_perms getattr ioctl };
diff --git a/prebuilts/api/202504/private/profcollectd.te b/prebuilts/api/202504/private/profcollectd.te
new file mode 100644
index 0000000..8dc2d89
--- /dev/null
+++ b/prebuilts/api/202504/private/profcollectd.te
@@ -0,0 +1,69 @@
+# profcollectd - hardware profile collection daemon
+type profcollectd, domain, coredomain, mlstrustedsubject;
+type profcollectd_exec, system_file_type, exec_type, file_type;
+
+userdebug_or_eng(`
+  init_daemon_domain(profcollectd)
+
+  # profcollectd opens a file for writing in /data/misc/profcollectd.
+  allow profcollectd profcollectd_data_file:file create_file_perms;
+  allow profcollectd profcollectd_data_file:dir create_dir_perms;
+
+  # Allow profcollectd full use of perf_event_open(2), to enable system wide profiling.
+  allow profcollectd self:perf_event { cpu kernel open read write };
+
+  # Allow profcollectd to scan through /proc/pid for all processes.
+  r_dir_file(profcollectd, domain)
+
+  # Allow profcollectd to read executable binaries.
+  allow profcollectd system_file_type:file r_file_perms;
+  allow profcollectd vendor_file_type:file r_file_perms;
+
+  # Allow profcollectd to search for and read kernel modules.
+  allow profcollectd vendor_file:dir r_dir_perms;
+  allow profcollectd vendor_kernel_modules:file r_file_perms;
+
+  # Allow profcollectd to read (but not execute) system bootstrap libs.
+  allow profcollectd system_bootstrap_lib_file:dir search;
+  allow profcollectd system_bootstrap_lib_file:file r_file_perms;
+
+  # Allow profcollectd to access tracefs.
+  allow profcollectd debugfs_tracing:dir r_dir_perms;
+  allow profcollectd debugfs_tracing:file rw_file_perms;
+  allow profcollectd debugfs_tracing_debug:dir r_dir_perms;
+  allow profcollectd debugfs_tracing_debug:file rw_file_perms;
+
+  # Allow profcollectd to write to perf_event_paranoid under /proc.
+  allow profcollectd proc_perf:file write;
+
+  # Allow profcollectd to access cs_etm sysfs.
+  r_dir_file(profcollectd, sysfs_devices_cs_etm)
+
+  # Allow profcollectd to ptrace.
+  allow profcollectd self:global_capability_class_set sys_ptrace;
+
+  # Allow profcollectd to read its system properties.
+  get_prop(profcollectd, device_config_profcollect_native_boot_prop)
+  set_prop(profcollectd, profcollectd_node_id_prop)
+
+  # Allow profcollectd to trigger manual probe of coresight etr.
+  set_prop(profcollectd, profcollectd_etr_prop)
+
+  # Allow profcollectd to publish a binder service and make binder calls.
+  binder_use(profcollectd)
+  # Allow profcollectd to call callbacks registered by system_server when ETM is ready.
+  binder_call(profcollectd, system_server)
+  add_service(profcollectd, profcollectd_service)
+
+  # Allow profcollectd to request wakelock from system-suspend.
+  wakelock_use(profcollectd)
+
+  # Allow to temporarily lift the kptr_restrict setting and get kernel start address
+  # by reading /proc/kallsyms, get module start address by reading /proc/modules.
+  set_prop(profcollectd, lower_kptr_restrict_prop)
+  allow profcollectd proc_kallsyms:file r_file_perms;
+  allow profcollectd proc_modules:file r_file_perms;
+
+  # Allow profcollectd to read kernel build id.
+  allow profcollectd sysfs_kernel_notes:file r_file_perms;
+')
diff --git a/prebuilts/api/202504/private/profman.te b/prebuilts/api/202504/private/profman.te
new file mode 100644
index 0000000..d1ce926
--- /dev/null
+++ b/prebuilts/api/202504/private/profman.te
@@ -0,0 +1,48 @@
+typeattribute profman coredomain;
+typeattribute profman artd_subprocess_type;
+
+# Allow profman to read APKs and profile files next to them by FDs passed from
+# other programs. In addition, allow profman to acquire flocks on those files.
+allow profman {
+  system_file
+  apk_data_file
+  apk_tmp_file
+  vendor_app_file
+}:file { getattr read map lock };
+
+# Allow profman to use file descriptors passed from privileged programs.
+allow profman { artd installd }:fd use;
+
+# Allow profman to read from memfd created by artd.
+# profman needs to read the embedded profile that artd extracts from an APK,
+# which is passed by a memfd.
+allow profman artd_tmpfs:file { getattr read map lock };
+
+allow profman user_profile_data_file:file { getattr read write lock map };
+
+# Dumping profile info opens the application APK file for pretty printing.
+allow profman asec_apk_file:file { read map };
+allow profman apk_data_file:file { getattr read map };
+allow profman apk_data_file:dir { getattr read search };
+allow profman apk_tmp_file:dir { getattr read search };
+
+allow profman oemfs:file { read map };
+# Reading an APK opens a ZipArchive, which unpack to tmpfs.
+allow profman tmpfs:file { read map };
+allow profman profman_dump_data_file:file { write map };
+
+# Allow profman to analyze profiles for the secondary dex files. These
+# are application dex files reported back to the framework when using
+# BaseDexClassLoader.
+allow profman { privapp_data_file app_data_file }:file { getattr read write lock map };
+allow profman { privapp_data_file app_data_file }:dir { getattr read search };
+
+# Allow query ART device config properties
+get_prop(profman, device_config_runtime_native_prop)
+get_prop(profman, device_config_runtime_native_boot_prop)
+
+###
+### neverallow rules
+###
+
+neverallow profman app_data_file_type:notdevfile_class_set open;
diff --git a/prebuilts/api/202504/private/property.te b/prebuilts/api/202504/private/property.te
new file mode 100644
index 0000000..b39c7ed
--- /dev/null
+++ b/prebuilts/api/202504/private/property.te
@@ -0,0 +1,896 @@
+# Properties used only in /system
+system_internal_prop(adbd_prop)
+system_internal_prop(adbd_tradeinmode_prop)
+system_internal_prop(apexd_payload_metadata_prop)
+system_internal_prop(ctl_snapuserd_prop)
+system_internal_prop(ctl_prefetch_prop)
+system_internal_prop(ctl_uprobestats_prop)
+system_internal_prop(crashrecovery_prop)
+system_internal_prop(debug_tracing_desktop_mode_visible_tasks_prop)
+system_internal_prop(device_config_core_experiments_team_internal_prop)
+system_internal_prop(device_config_lmkd_native_prop)
+system_internal_prop(device_config_mglru_native_prop)
+system_internal_prop(device_config_mmd_native_prop)
+system_internal_prop(device_config_profcollect_native_boot_prop)
+system_internal_prop(device_config_remote_key_provisioning_native_prop)
+system_internal_prop(device_config_statsd_native_prop)
+system_internal_prop(device_config_statsd_native_boot_prop)
+system_internal_prop(device_config_storage_native_boot_prop)
+system_internal_prop(device_config_sys_traced_prop)
+system_internal_prop(device_config_window_manager_native_boot_prop)
+system_internal_prop(device_config_configuration_prop)
+system_internal_prop(device_config_connectivity_prop)
+system_internal_prop(device_config_swcodec_native_prop)
+system_internal_prop(device_config_tethering_u_or_later_native_prop)
+system_internal_prop(dmesgd_start_prop)
+system_internal_prop(fastbootd_protocol_prop)
+system_internal_prop(gsid_prop)
+system_internal_prop(init_perf_lsm_hooks_prop)
+system_internal_prop(init_service_status_private_prop)
+system_internal_prop(init_storage_prop)
+system_internal_prop(init_svc_debug_prop)
+system_internal_prop(kcmdline_prop)
+system_internal_prop(keystore_diagnostics_prop)
+system_internal_prop(keystore_listen_prop)
+system_internal_prop(last_boot_reason_prop)
+system_internal_prop(localization_prop)
+system_internal_prop(logd_auditrate_prop)
+system_internal_prop(lower_kptr_restrict_prop)
+system_internal_prop(mmd_status_prop)
+system_internal_prop(net_464xlat_fromvendor_prop)
+system_internal_prop(net_connectivity_prop)
+system_internal_prop(netd_stable_secret_prop)
+system_internal_prop(next_boot_prop)
+system_internal_prop(odsign_prop)
+system_internal_prop(misctrl_prop)
+system_internal_prop(perf_drop_caches_prop)
+system_internal_prop(pm_prop)
+system_internal_prop(prefetch_service_prop)
+system_internal_prop(profcollectd_node_id_prop)
+system_internal_prop(radio_cdma_ecm_prop)
+system_internal_prop(remote_prov_prop)
+system_internal_prop(remote_prov_cert_prop)
+system_internal_prop(rollback_test_prop)
+system_internal_prop(setupwizard_prop)
+system_internal_prop(snapshotctl_prop)
+system_internal_prop(snapuserd_prop)
+system_internal_prop(system_adbd_prop)
+system_internal_prop(system_audio_config_prop)
+system_internal_prop(timezone_metadata_prop)
+system_internal_prop(traced_config_prop)
+system_internal_prop(traced_perf_enabled_prop)
+system_internal_prop(traced_relay_relay_port_prop)
+system_internal_prop(uprobestats_start_with_config_prop)
+system_internal_prop(tuner_server_ctl_prop)
+system_internal_prop(userspace_reboot_log_prop)
+system_internal_prop(userspace_reboot_test_prop)
+system_internal_prop(verity_status_prop)
+system_internal_prop(zygote_wrap_prop)
+system_internal_prop(ctl_mediatranscoding_prop)
+system_internal_prop(ctl_odsign_prop)
+system_internal_prop(virtualizationservice_prop)
+system_internal_prop(ctl_apex_load_prop)
+system_internal_prop(sensors_config_prop)
+system_internal_prop(hypervisor_pvmfw_prop)
+system_internal_prop(hypervisor_virtualizationmanager_prop)
+system_internal_prop(game_manager_config_prop)
+system_internal_prop(hidl_memory_prop)
+system_internal_prop(suspend_debug_prop)
+system_internal_prop(system_service_enable_prop)
+system_internal_prop(ctl_artd_pre_reboot_prop)
+system_internal_prop(trusty_security_vm_sys_prop)
+system_internal_prop(hint_manager_config_prop)
+
+# Properties which can't be written outside system
+system_restricted_prop(bionic_linker_16kb_app_compat_prop)
+system_restricted_prop(device_config_virtualization_framework_native_prop)
+system_restricted_prop(fstype_prop)
+system_restricted_prop(log_file_logger_prop)
+system_restricted_prop(mmd_shared_status_prop)
+system_restricted_prop(persist_sysui_builder_extras_prop)
+system_restricted_prop(persist_sysui_ranking_update_prop)
+system_restricted_prop(page_size_prop)
+system_restricted_prop(pm_16kb_app_compat_prop)
+
+
+# Properties with no restrictions
+until_board_api(202504, `
+    system_public_prop(bluetooth_finder_prop)
+    system_public_prop(virtual_fingerprint_prop)
+    system_public_prop(virtual_face_prop)
+')
+
+# These types will be public starting at board api 202504
+until_board_api(202504, `
+    system_restricted_prop(enable_16k_pages_prop)
+    system_restricted_prop(profcollectd_etr_prop)
+')
+
+# These types will be public starting at board api 202504
+until_board_api(202504, `
+    system_vendor_config_prop(trusty_security_vm_sys_vendor_prop)
+')
+
+# Properties which should only be written by vendor_init
+system_vendor_config_prop(avf_virtualizationservice_prop)
+system_vendor_config_prop(high_barometer_quality_prop)
+system_vendor_config_prop(mmd_prop)
+system_vendor_config_prop(mmd_shared_prop)
+system_vendor_config_prop(prefetch_boot_prop)
+until_board_api(202504, `
+    system_vendor_config_prop(drm_config_prop)
+')
+
+typeattribute log_prop log_property_type;
+typeattribute log_tag_prop log_property_type;
+typeattribute wifi_log_prop log_property_type;
+
+allow property_type tmpfs:filesystem associate;
+
+# core_property_type should not be used for new properties or
+# device specific properties. Properties with this attribute
+# are readable to everyone, which is overly broad and should
+# be avoided.
+# New properties should have appropriate read / write access
+# control rules written.
+
+typeattribute audio_prop         core_property_type;
+typeattribute config_prop        core_property_type;
+typeattribute cppreopt_prop      core_property_type;
+typeattribute dalvik_prop        core_property_type;
+typeattribute debuggerd_prop     core_property_type;
+typeattribute debug_prop         core_property_type;
+typeattribute dhcp_prop          core_property_type;
+typeattribute dumpstate_prop     core_property_type;
+typeattribute logd_prop          core_property_type;
+typeattribute net_radio_prop     core_property_type;
+typeattribute nfc_prop           core_property_type;
+typeattribute ota_prop           core_property_type;
+typeattribute pan_result_prop    core_property_type;
+typeattribute persist_debug_prop core_property_type;
+typeattribute powerctl_prop      core_property_type;
+typeattribute radio_prop         core_property_type;
+typeattribute restorecon_prop    core_property_type;
+typeattribute shell_prop         core_property_type;
+typeattribute system_prop        core_property_type;
+typeattribute usb_prop           core_property_type;
+typeattribute vold_prop          core_property_type;
+
+typeattribute dalvik_config_prop         dalvik_config_prop_type;
+typeattribute dalvik_dynamic_config_prop dalvik_config_prop_type;
+
+###
+### Neverallow rules
+###
+
+treble_sysprop_neverallow(`
+
+enforce_sysprop_owner(`
+  neverallow domain {
+    property_type
+    -system_property_type
+    -product_property_type
+    -vendor_property_type
+  }:file no_rw_file_perms;
+')
+
+neverallow { domain -coredomain } {
+  system_property_type
+  system_internal_property_type
+  -system_restricted_property_type
+  -system_public_property_type
+}:file no_rw_file_perms;
+
+neverallow { domain -coredomain } {
+  system_property_type
+  -system_public_property_type
+}:property_service set;
+
+# init is in coredomain, but should be able to read/write all props.
+# dumpstate is also in coredomain, but should be able to read all props.
+neverallow { coredomain -init -dumpstate } {
+  vendor_property_type
+  vendor_internal_property_type
+  -vendor_restricted_property_type
+  -vendor_public_property_type
+}:file no_rw_file_perms;
+
+neverallow { coredomain -init } {
+  vendor_property_type
+  -vendor_public_property_type
+}:property_service set;
+
+')
+
+# There is no need to perform ioctl or advisory locking operations on
+# property files. If this neverallow is being triggered, it is
+# likely that the policy is using r_file_perms directly instead of
+# the get_prop() macro.
+neverallow domain property_type:file { ioctl lock };
+
+neverallow * {
+  core_property_type
+  -audio_prop
+  -config_prop
+  -cppreopt_prop
+  -dalvik_prop
+  -debuggerd_prop
+  -debug_prop
+  -dhcp_prop
+  -dumpstate_prop
+  -fingerprint_prop
+  -logd_prop
+  -net_radio_prop
+  -nfc_prop
+  -ota_prop
+  -pan_result_prop
+  -persist_debug_prop
+  -powerctl_prop
+  -radio_prop
+  -restorecon_prop
+  -shell_prop
+  -system_prop
+  -usb_prop
+  -vold_prop
+}:file no_rw_file_perms;
+
+# sigstop property is only used for debugging; should only be set by su which is permissive
+# for userdebug/eng
+neverallow {
+  domain
+  -init
+  -vendor_init
+} ctl_sigstop_prop:property_service set;
+
+# Don't audit legacy ctl. property handling.  We only want the newer permission check to appear
+# in the audit log
+dontaudit domain {
+  ctl_bootanim_prop
+  ctl_bugreport_prop
+  ctl_console_prop
+  ctl_default_prop
+  ctl_dumpstate_prop
+  ctl_fuse_prop
+  ctl_mdnsd_prop
+  ctl_rildaemon_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -extra_free_kbytes
+} init_storage_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} init_svc_debug_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -dumpstate
+  userdebug_or_eng(`-su')
+} init_svc_debug_prop:file no_rw_file_perms;
+
+# DO NOT ADD: compat risk
+neverallow {
+  domain
+  -init
+  -crash_dump
+  -dumpstate
+  -misctrl
+  -statsd
+  userdebug_or_eng(`-su')
+} misctrl_prop:file no_rw_file_perms;
+neverallow {
+  domain
+  -init
+  -misctrl
+  userdebug_or_eng(`-su')
+} misctrl_prop:property_service set;
+
+compatible_property_only(`
+# Prevent properties from being set
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -vendor_init
+  } {
+    core_property_type
+    extended_core_property_type
+    exported_config_prop
+    exported_default_prop
+    exported_dumpstate_prop
+    exported_system_prop
+    exported3_system_prop
+    usb_control_prop
+    -nfc_prop
+    -powerctl_prop
+    -radio_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -hal_nfc_server
+  } {
+    nfc_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -hal_telephony_server
+    -vendor_init
+  } {
+    radio_control_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -hal_telephony_server
+  } {
+    radio_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -bluetooth
+    -hal_bluetooth_server
+  } {
+    bluetooth_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -bluetooth
+    -hal_bluetooth_server
+    -vendor_init
+  } {
+    exported_bluetooth_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -hal_camera_server
+    -cameraserver
+    -vendor_init
+  } {
+    exported_camera_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -coredomain
+    -hal_wifi_server
+    -wificond
+  } {
+    wifi_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -init
+    -dumpstate
+    -hal_wifi_server
+    -wificond
+    -vendor_init
+  } {
+    wifi_hal_prop
+  }:property_service set;
+
+# Prevent properties from being read
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -vendor_init
+  } {
+    core_property_type
+    dalvik_config_prop_type
+    extended_core_property_type
+    exported3_system_prop
+    systemsound_config_prop
+    -debug_prop
+    -logd_prop
+    -nfc_prop
+    -powerctl_prop
+    -radio_prop
+    -dalvik_dynamic_config_prop
+  }:file no_rw_file_perms;
+
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -vendor_init
+    -hal_power_server
+  } dalvik_dynamic_config_prop:file no_rw_file_perms;
+
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -hal_nfc_server
+  } {
+    nfc_prop
+  }:file no_rw_file_perms;
+
+  neverallow {
+    domain
+    -coredomain
+    -appdomain
+    -hal_telephony_server
+  } {
+    radio_prop
+  }:file no_rw_file_perms;
+
+  neverallow {
+    domain
+    -coredomain
+    -bluetooth
+    -hal_bluetooth_server
+  } {
+    bluetooth_prop
+  }:file no_rw_file_perms;
+
+  neverallow {
+    domain
+    -coredomain
+    -hal_wifi_server
+    -wificond
+  } {
+    wifi_prop
+  }:file no_rw_file_perms;
+
+  neverallow {
+    domain
+    -coredomain
+    -vendor_init
+  } {
+    suspend_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -init
+  } {
+    suspend_debug_prop
+  }:property_service set;
+
+  neverallow {
+    domain
+    -init
+    -vendor_init
+  } {
+    high_barometer_quality_prop
+    }:property_service set;
+
+  neverallow {
+    domain
+    -init
+    -dumpstate
+    userdebug_or_eng(`-system_suspend')
+    } {
+      suspend_debug_prop
+    }:file no_rw_file_perms;
+')
+
+dontaudit system_suspend suspend_debug_prop:file r_file_perms;
+
+compatible_property_only(`
+  # Neverallow coredomain to set vendor properties
+  neverallow {
+    coredomain
+    -init
+    -system_writes_vendor_properties_violators
+  } {
+    property_type
+    -system_property_type
+    -extended_core_property_type
+  }:property_service set;
+')
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} {
+  ffs_config_prop
+  ffs_control_prop
+}:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -system_server
+} {
+  userspace_reboot_log_prop
+}:property_service set;
+
+neverallow {
+  # Only allow init and system_server to set system_adbd_prop
+  domain
+  -init
+  -system_server
+} {
+  system_adbd_prop
+}:property_service set;
+
+# Let (vendor_)init, adbd, and system_server set service.adb.tcp.port
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -adbd
+  -adbd_tradeinmode
+  -system_server
+} {
+  adbd_config_prop
+}:property_service set;
+
+neverallow {
+  # Only allow init and adbd to set adbd_prop
+  domain
+  -init
+  -adbd
+  -adbd_tradeinmode
+} {
+  adbd_prop
+}:property_service set;
+
+neverallow {
+  # Only allow init to set apexd_payload_metadata_prop
+  domain
+  -init
+} {
+  apexd_payload_metadata_prop
+}:property_service set;
+
+
+neverallow {
+  # Only allow init and shell to set userspace_reboot_test_prop
+  domain
+  -init
+  -shell
+} {
+  userspace_reboot_test_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+  -vendor_init
+} {
+  surfaceflinger_color_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+} {
+  libc_debug_prop
+}:property_service set;
+
+# Allow the shell to set MTE & GWP-ASan props, so that non-root users with adb
+# shell access can control the settings on their device. Allow system apps to
+# set MTE props, so Developer Options can set them.
+neverallow {
+  domain
+  -init
+  -shell
+  -system_app
+  -system_server
+  -mtectrl
+} {
+  arm64_memtag_prop
+  gwp_asan_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -shell
+  -kcmdlinectrl
+} {
+  kcmdline_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+  -vendor_init
+} zram_control_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+  -vendor_init
+} dalvik_runtime_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} {
+  usb_config_prop
+  usb_control_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -system_server
+} {
+  provisioned_prop
+  retaildemo_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} {
+  provisioned_prop
+  retaildemo_prop
+}:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+} {
+  init_service_status_private_prop
+  init_service_status_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -radio
+  -appdomain
+  -hal_telephony_server
+  not_compatible_property(`-vendor_init')
+} telephony_status_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} {
+  graphics_config_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -surfaceflinger
+} {
+  surfaceflinger_display_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -appdomain
+  -vendor_init
+} packagemanager_config_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} keyguard_config_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+} {
+  localization_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -system_app
+} oem_unlock_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -coredomain
+  -vendor_init
+} storagemanager_config_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -appdomain
+} sendbug_config_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -appdomain
+} camera_calibration_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -dumpstate
+  -hal_dumpstate_server
+  not_compatible_property(`-vendor_init')
+} hal_dumpstate_config_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  userdebug_or_eng(`-profcollectd')
+  userdebug_or_eng(`-simpleperf_boot')
+  userdebug_or_eng(`-traced_probes')
+  userdebug_or_eng(`-traced_perf')
+} {
+  lower_kptr_restrict_prop
+}:property_service set;
+
+neverallow {
+  domain
+  -init
+} zygote_wrap_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} verity_status_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} setupwizard_mode_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} setupwizard_prop:property_service set;
+
+# ro.product.property_source_order is useless after initialization of ro.product.* props.
+# So making it accessible only from init and vendor_init.
+neverallow {
+  domain
+  -init
+  -dumpstate
+  -vendor_init
+} build_config_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -shell
+} sqlite_log_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -appdomain
+} sqlite_log_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+} default_prop:property_service set;
+
+# Only one of system_property_type and vendor_property_type can be assigned.
+# Property types having both attributes won't be accessible from anywhere.
+neverallow domain system_and_vendor_property_type:{file property_service} *;
+
+neverallow {
+  domain
+  -init
+  -keystore
+  -shell
+  -system_server
+  -rkpdapp
+} remote_prov_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+} remote_prov_cert_prop:property_service set;
+
+neverallow {
+  # Only allow init and shell to set rollback_test_prop
+  domain
+  -init
+  -shell
+} rollback_test_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -apexd
+} ctl_apex_load_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -init
+  -dumpstate
+  -apexd
+} ctl_apex_load_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -apexd
+} apex_ready_prop:property_service set;
+
+neverallow {
+  domain
+  -coredomain
+  -dumpstate
+  -apexd
+  -vendor_init
+} apex_ready_prop:file no_rw_file_perms;
+
+neverallow {
+  # Only allow init and profcollectd to access profcollectd_node_id_prop
+  domain
+  -init
+  -dumpstate
+  -profcollectd
+} profcollectd_node_id_prop:file r_file_perms;
+
+neverallow {
+  domain
+  -init
+} log_file_logger_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} usb_uvc_enabled_prop:property_service set;
+
+# Disallow non system apps from reading ro.usb.uvc.enabled
+neverallow {
+  appdomain
+  -system_app
+  -device_as_webcam
+} usb_uvc_enabled_prop:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+} pm_archiving_enabled_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -shell
+  userdebug_or_eng(`-su')
+} bionic_linker_16kb_app_compat_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -shell
+  userdebug_or_eng(`-su')
+} pm_16kb_app_compat_prop:property_service set;
diff --git a/prebuilts/api/202504/private/property_contexts b/prebuilts/api/202504/private/property_contexts
new file mode 100644
index 0000000..2694d22
--- /dev/null
+++ b/prebuilts/api/202504/private/property_contexts
@@ -0,0 +1,1828 @@
+##########################
+# property service keys
+#
+#
+net.rmnet               u:object_r:net_radio_prop:s0
+net.gprs                u:object_r:net_radio_prop:s0
+net.ppp                 u:object_r:net_radio_prop:s0
+net.qmi                 u:object_r:net_radio_prop:s0
+net.lte                 u:object_r:net_radio_prop:s0
+net.cdma                u:object_r:net_radio_prop:s0
+net.dns                 u:object_r:net_dns_prop:s0
+ril.                    u:object_r:radio_prop:s0
+ro.ril.                 u:object_r:radio_prop:s0
+gsm.                    u:object_r:radio_prop:s0
+persist.radio           u:object_r:radio_prop:s0
+
+net.                    u:object_r:system_prop:s0
+dev.                    u:object_r:system_prop:s0
+ro.runtime.             u:object_r:system_prop:s0
+ro.runtime.firstboot    u:object_r:firstboot_prop:s0
+hw.                     u:object_r:system_prop:s0
+ro.hw.                  u:object_r:system_prop:s0
+sys.                    u:object_r:system_prop:s0
+sys.audio.              u:object_r:audio_prop:s0
+sys.init.perf_lsm_hooks u:object_r:init_perf_lsm_hooks_prop:s0
+sys.cppreopt            u:object_r:cppreopt_prop:s0
+sys.lpdumpd             u:object_r:lpdumpd_prop:s0
+sys.powerctl            u:object_r:powerctl_prop:s0
+service.                u:object_r:system_prop:s0
+dhcp.                   u:object_r:dhcp_prop:s0
+dhcp.bt-pan.result      u:object_r:pan_result_prop:s0
+bluetooth.              u:object_r:bluetooth_prop:s0
+
+debug.                  u:object_r:debug_prop:s0
+debug.db.               u:object_r:debuggerd_prop:s0
+debug.tracing.desktop_mode_visible_tasks u:object_r:debug_tracing_desktop_mode_visible_tasks_prop:s0 exact uint
+dumpstate.              u:object_r:dumpstate_prop:s0
+dumpstate.options       u:object_r:dumpstate_options_prop:s0
+init.svc_debug_pid.     u:object_r:init_svc_debug_prop:s0
+llk.                    u:object_r:llkd_prop:s0
+khungtask.              u:object_r:llkd_prop:s0
+ro.llk.                 u:object_r:llkd_prop:s0
+ro.khungtask.           u:object_r:llkd_prop:s0
+log.                    u:object_r:log_prop:s0
+log.tag                 u:object_r:log_tag_prop:s0
+log.tag.WifiHAL         u:object_r:wifi_log_prop:s0
+ro.log.file_logger.path    u:object_r:log_file_logger_prop:s0 exact string
+security.perf_harden    u:object_r:shell_prop:s0
+persist.simpleperf.profile_app_uid              u:object_r:shell_prop:s0
+persist.simpleperf.profile_app_expiration_time  u:object_r:shell_prop:s0
+security.lower_kptr_restrict u:object_r:lower_kptr_restrict_prop:s0
+service.adb.root        u:object_r:shell_prop:s0
+service.adb.tls.port    u:object_r:adbd_prop:s0
+persist.adb.tradeinmode u:object_r:adbd_tradeinmode_prop:s0
+persist.adb.test_tradeinmode u:object_r:adbd_tradeinmode_prop:s0
+persist.adb.wifi.       u:object_r:adbd_prop:s0
+persist.adb.tls_server.enable  u:object_r:system_adbd_prop:s0
+
+persist.audio.          u:object_r:audio_prop:s0
+persist.bluetooth.      u:object_r:bluetooth_prop:s0
+persist.nfc.            u:object_r:nfc_prop:s0
+persist.nfc_cfg.        u:object_r:nfc_prop:s0
+persist.debug.          u:object_r:persist_debug_prop:s0
+persist.debug.user_mode_emulation u:object_r:system_user_mode_emulation_prop:s0
+logd.                   u:object_r:logd_prop:s0
+persist.logd.           u:object_r:logd_prop:s0
+ro.logd.                u:object_r:logd_prop:s0
+persist.logd.audit.rate u:object_r:logd_auditrate_prop:s0
+persist.logd.security   u:object_r:device_logging_prop:s0
+persist.logd.logpersistd        u:object_r:logpersistd_logging_prop:s0
+logd.logpersistd        u:object_r:logpersistd_logging_prop:s0
+persist.log.tag         u:object_r:log_tag_prop:s0
+persist.mmc.            u:object_r:mmc_prop:s0
+persist.netd.stable_secret      u:object_r:netd_stable_secret_prop:s0
+persist.pm.mock-upgrade u:object_r:mock_ota_prop:s0
+persist.profcollectd.node_id    u:object_r:profcollectd_node_id_prop:s0     exact   string
+persist.sys.            u:object_r:system_prop:s0
+persist.sys.safemode    u:object_r:safemode_prop:s0
+persist.sys.tap_gesture u:object_r:gesture_prop:s0
+persist.sys.theme       u:object_r:theme_prop:s0
+persist.sys.fflag.override.settings_dynamic_system    u:object_r:dynamic_system_prop:s0
+dynamic_system.data_transfer.shared_memory.size       u:object_r:dynamic_system_prop:s0   exact   uint
+ro.sys.safemode         u:object_r:safemode_prop:s0
+persist.sys.audit_safemode      u:object_r:safemode_prop:s0
+persist.sys.dalvik.jvmtiagent   u:object_r:system_jvmti_agent_prop:s0
+persist.service.        u:object_r:system_prop:s0
+persist.service.bdroid. u:object_r:bluetooth_prop:s0
+persist.security.       u:object_r:system_prop:s0
+persist.traced.enable   u:object_r:traced_enabled_prop:s0
+traced.lazy.            u:object_r:traced_lazy_prop:s0
+traced_relay.relay_port u:object_r:traced_relay_relay_port_prop:s0
+ro.traced.              u:object_r:traced_config_prop:s0
+traced.relay_producer_port u:object_r:traced_config_prop:s0
+persist.heapprofd.enable u:object_r:heapprofd_enabled_prop:s0
+persist.traced_perf.enable u:object_r:traced_perf_enabled_prop:s0
+uprobestats.start_with_config u:object_r:uprobestats_start_with_config_prop:s0
+persist.vendor.debug.wifi. u:object_r:persist_vendor_debug_wifi_prop:s0
+persist.vendor.overlay.  u:object_r:overlay_prop:s0
+ril.cdma.inecmmode      u:object_r:radio_cdma_ecm_prop:s0 exact bool
+ro.boot.vendor.overlay.  u:object_r:overlay_prop:s0
+ro.boottime.             u:object_r:boottime_prop:s0
+ro.serialno             u:object_r:serialno_prop:s0
+ro.boot.btmacaddr       u:object_r:bluetooth_prop:s0
+ro.boot.serialno        u:object_r:serialno_prop:s0
+ro.bt.                  u:object_r:bluetooth_prop:s0
+ro.boot.bootreason      u:object_r:bootloader_boot_reason_prop:s0
+ro.misctrl.             u:object_r:misctrl_prop:s0
+persist.sys.boot.reason u:object_r:last_boot_reason_prop:s0
+sys.boot.reason         u:object_r:system_boot_reason_prop:s0
+sys.boot.reason.last    u:object_r:last_boot_reason_prop:s0
+pm.                     u:object_r:pm_prop:s0
+test.sys.boot.reason    u:object_r:test_boot_reason_prop:s0
+test.userspace_reboot.requested u:object_r:userspace_reboot_test_prop:s0
+sys.lmk.                u:object_r:system_lmk_prop:s0
+sys.trace.              u:object_r:system_trace_prop:s0
+wrap.                   u:object_r:zygote_wrap_prop:s0 prefix string
+persist.wm.debug.       u:object_r:persist_wm_debug_prop:s0
+profcollectd.etr.probe  u:object_r:profcollectd_etr_prop:s0
+
+# Suspend service properties
+suspend.max_sleep_time_millis u:object_r:suspend_prop:s0 exact uint
+suspend.base_sleep_time_millis u:object_r:suspend_prop:s0 exact uint
+suspend.backoff_threshold_count u:object_r:suspend_prop:s0 exact uint
+suspend.short_suspend_threshold_millis u:object_r:suspend_prop:s0 exact uint
+suspend.sleep_time_scale_factor u:object_r:suspend_prop:s0 exact double
+suspend.failed_suspend_backoff_enabled u:object_r:suspend_prop:s0 exact bool
+suspend.short_suspend_backoff_enabled u:object_r:suspend_prop:s0 exact bool
+suspend.disable_sync_on_suspend u:object_r:suspend_prop:s0 exact bool
+
+# Suspend service debug properties
+suspend.debug.wakestats_log.enabled u:object_r:suspend_debug_prop:s0 exact bool
+
+# Fastbootd protocol control property
+fastbootd.protocol    u:object_r:fastbootd_protocol_prop:s0 exact enum usb tcp
+
+# adbd protoctl configuration property
+service.adb.tcp.port    u:object_r:adbd_config_prop:s0 exact int
+service.adb.transport   u:object_r:adbd_config_prop:s0 exact string
+
+# Boolean property set by system server upon boot indicating
+# if device is fully owned by organization instead of being
+# a personal device.
+ro.organization_owned   u:object_r:device_logging_prop:s0
+
+# selinux non-persistent properties
+selinux.restorecon_recursive   u:object_r:restorecon_prop:s0
+
+# default property context
+*                       u:object_r:default_prop:s0
+
+# data partition encryption properties
+vold.                   u:object_r:vold_prop:s0
+ro.crypto.              u:object_r:vold_prop:s0
+
+# ro.build.fingerprint is either set in /system/build.prop, or is
+# set at runtime by system_server.
+ro.build.fingerprint    u:object_r:fingerprint_prop:s0 exact string
+
+ro.persistent_properties.ready  u:object_r:persistent_properties_ready_prop:s0
+
+# ctl properties
+ctl.bootanim            u:object_r:ctl_bootanim_prop:s0
+ctl.dumpstate           u:object_r:ctl_dumpstate_prop:s0
+ctl.fuse_               u:object_r:ctl_fuse_prop:s0
+ctl.mdnsd               u:object_r:ctl_mdnsd_prop:s0
+ctl.ril-daemon          u:object_r:ctl_rildaemon_prop:s0
+ctl.bugreport           u:object_r:ctl_bugreport_prop:s0
+ctl.console             u:object_r:ctl_console_prop:s0
+ctl.                    u:object_r:ctl_default_prop:s0
+
+# Don't allow uncontrolled access to all services
+ctl.sigstop_on$         u:object_r:ctl_sigstop_prop:s0
+ctl.sigstop_off$        u:object_r:ctl_sigstop_prop:s0
+ctl.start$              u:object_r:ctl_start_prop:s0
+ctl.stop$               u:object_r:ctl_stop_prop:s0
+ctl.restart$            u:object_r:ctl_restart_prop:s0
+ctl.interface_start$    u:object_r:ctl_interface_start_prop:s0
+ctl.interface_stop$     u:object_r:ctl_interface_stop_prop:s0
+ctl.interface_restart$  u:object_r:ctl_interface_restart_prop:s0
+ctl.apex_load$          u:object_r:ctl_apex_load_prop:s0
+ctl.apex_unload$        u:object_r:ctl_apex_load_prop:s0
+
+ # Restrict access to starting/stopping adbd
+ctl.start$adbd             u:object_r:ctl_adbd_prop:s0
+ctl.stop$adbd              u:object_r:ctl_adbd_prop:s0
+ctl.restart$adbd           u:object_r:ctl_adbd_prop:s0
+
+# Restrict access to starting/stopping gsid.
+ctl.start$gsid          u:object_r:ctl_gsid_prop:s0
+ctl.stop$gsid           u:object_r:ctl_gsid_prop:s0
+ctl.restart$gsid        u:object_r:ctl_gsid_prop:s0
+
+# Restrict access to stopping apexd.
+ctl.stop$apexd          u:object_r:ctl_apexd_prop:s0
+
+# Restrict access to stopping odsign
+ctl.stop$odsign         u:object_r:ctl_odsign_prop:s0
+
+# Restrict access to starting media.transcoding.
+ctl.start$media.transcoding  u:object_r:ctl_mediatranscoding_prop:s0
+
+# Restrict access to restart dumpstate
+ctl.interface_restart$android.hardware.dumpstate u:object_r:ctl_dumpstate_prop:s0
+
+# Restrict access to control snapuserd
+ctl.start$snapuserd     u:object_r:ctl_snapuserd_prop:s0
+ctl.stop$snapuserd      u:object_r:ctl_snapuserd_prop:s0
+ctl.restart$snapuserd   u:object_r:ctl_snapuserd_prop:s0
+
+# Restrict access to control prefetch
+ctl.start$prefetch     u:object_r:ctl_prefetch_prop:s0
+ctl.stop$prefetch      u:object_r:ctl_prefetch_prop:s0
+ctl.restart$prefetch   u:object_r:ctl_prefetch_prop:s0
+
+# Restrict access to control uprobestats
+ctl.start$uprobestats     u:object_r:ctl_uprobestats_prop:s0
+ctl.stop$uprobestats      u:object_r:ctl_uprobestats_prop:s0
+ctl.restart$uprobestats   u:object_r:ctl_uprobestats_prop:s0
+
+# Restrict access to starting/stopping artd_pre_reboot.
+ctl.start$artd_pre_reboot          u:object_r:ctl_artd_pre_reboot_prop:s0
+ctl.stop$artd_pre_reboot           u:object_r:ctl_artd_pre_reboot_prop:s0
+ctl.restart$artd_pre_reboot        u:object_r:ctl_artd_pre_reboot_prop:s0
+
+# NFC properties
+nfc.                    u:object_r:nfc_prop:s0
+
+# These properties are not normally set by processes other than init.
+# They are only distinguished here for setting by qemu-props on the
+# emulator/goldfish.
+config.                 u:object_r:config_prop:s0
+ro.config.              u:object_r:config_prop:s0
+dalvik.                 u:object_r:dalvik_prop:s0
+ro.dalvik.              u:object_r:dalvik_prop:s0
+
+# qemu_hw_prop is read/written by both system and vendor.
+qemu.hw.mainkeys        u:object_r:qemu_hw_prop:s0 exact string
+
+# qemu_sf_lcd_density_prop is read/written by both system and vendor.
+qemu.sf.lcd_density     u:object_r:qemu_sf_lcd_density_prop:s0 exact int
+
+# Shared between system server and wificond
+wifi.                   u:object_r:wifi_prop:s0
+wlan.                   u:object_r:wifi_prop:s0
+
+# Lowpan properties
+lowpan.                 u:object_r:lowpan_prop:s0
+ro.lowpan.              u:object_r:lowpan_prop:s0
+
+# heapprofd properties
+heapprofd.              u:object_r:heapprofd_prop:s0
+
+# traced properties
+traced.oome_heap_session.count u:object_r:traced_oome_heap_session_count_prop:s0 exact uint
+
+# servicemanager properties
+servicemanager.ready     u:object_r:servicemanager_prop:s0 exact bool
+servicemanager.installed u:object_r:servicemanager_prop:s0 exact bool
+
+# hwservicemanager properties
+hwservicemanager.       u:object_r:hwservicemanager_prop:s0
+
+# hidl_memory properties to intentionally force a shutdown
+hidl_memory.            u:object_r:hidl_memory_prop:s0
+
+# Common default properties for vendor, odm, vendor_dlkm, and odm_dlkm.
+init.svc.odm.           u:object_r:vendor_default_prop:s0
+init.svc.vendor.        u:object_r:vendor_default_prop:s0
+ro.hardware.            u:object_r:vendor_default_prop:s0
+ro.odm.                 u:object_r:vendor_default_prop:s0
+ro.vendor.              u:object_r:vendor_default_prop:s0
+ro.vendor_dlkm.         u:object_r:vendor_default_prop:s0
+ro.odm_dlkm.            u:object_r:vendor_default_prop:s0
+odm.                    u:object_r:vendor_default_prop:s0
+persist.odm.            u:object_r:vendor_default_prop:s0
+persist.vendor.         u:object_r:vendor_default_prop:s0
+vendor.                 u:object_r:vendor_default_prop:s0
+
+# Properties that relate to time / time zone detection behavior.
+persist.time.           u:object_r:time_prop:s0
+
+# Properties that relate to server configurable flags
+device_config.reset_performed                       u:object_r:device_config_reset_performed_prop:s0
+persist.device_config.activity_manager_native_boot. u:object_r:device_config_activity_manager_native_boot_prop:s0
+persist.device_config.attempted_boot_count          u:object_r:device_config_boot_count_prop:s0
+persist.device_config.camera_native.                u:object_r:device_config_camera_native_prop:s0
+persist.device_config.configuration.                u:object_r:device_config_configuration_prop:s0
+persist.device_config.connectivity.                 u:object_r:device_config_connectivity_prop:s0
+persist.device_config.core_experiments_team_internal.  u:object_r:device_config_core_experiments_team_internal_prop:s0
+persist.device_config.edgetpu_native.               u:object_r:device_config_edgetpu_native_prop:s0
+persist.device_config.input_native_boot.            u:object_r:device_config_input_native_boot_prop:s0
+persist.device_config.lmkd_native.                  u:object_r:device_config_lmkd_native_prop:s0
+persist.device_config.media_native.                 u:object_r:device_config_media_native_prop:s0
+persist.device_config.netd_native.                  u:object_r:device_config_netd_native_prop:s0
+persist.device_config.nnapi_native.                 u:object_r:device_config_nnapi_native_prop:s0
+persist.device_config.profcollect_native_boot.      u:object_r:device_config_profcollect_native_boot_prop:s0
+persist.device_config.remote_key_provisioning_native.  u:object_r:device_config_remote_key_provisioning_native_prop:s0
+persist.device_config.runtime_native.               u:object_r:device_config_runtime_native_prop:s0
+persist.device_config.runtime_native_boot.          u:object_r:device_config_runtime_native_boot_prop:s0
+persist.device_config.statsd_native.                u:object_r:device_config_statsd_native_prop:s0
+persist.device_config.statsd_native_boot.           u:object_r:device_config_statsd_native_boot_prop:s0
+persist.device_config.storage_native_boot.          u:object_r:device_config_storage_native_boot_prop:s0
+persist.device_config.surface_flinger_native_boot.  u:object_r:device_config_surface_flinger_native_boot_prop:s0
+persist.device_config.swcodec_native.               u:object_r:device_config_swcodec_native_prop:s0
+persist.device_config.aconfig_flags.                u:object_r:device_config_aconfig_flags_prop:s0
+persist.device_config.vendor_system_native.         u:object_r:device_config_vendor_system_native_prop:s0
+persist.device_config.vendor_system_native_boot.    u:object_r:device_config_vendor_system_native_boot_prop:s0
+persist.device_config.virtualization_framework_native. u:object_r:device_config_virtualization_framework_native_prop:s0
+persist.device_config.window_manager_native_boot.   u:object_r:device_config_window_manager_native_boot_prop:s0
+persist.device_config.memory_safety_native_boot.    u:object_r:device_config_memory_safety_native_boot_prop:s0
+persist.device_config.memory_safety_native.         u:object_r:device_config_memory_safety_native_prop:s0
+persist.device_config.tethering_u_or_later_native.  u:object_r:device_config_tethering_u_or_later_native_prop:s0
+persist.device_config.mmd_native.                   u:object_r:device_config_mmd_native_prop:s0
+
+# Prop indicates the apex that bundles input configuration files (*.idc,*.kl,*.kcm)
+input_device.config_file.apex    u:object_r:input_device_config_prop:s0 exact string
+
+# Properties that is for staging
+next_boot.  u:object_r:next_boot_prop:s0
+
+# F2FS smart idle maint prop
+persist.device_config.storage_native_boot.smart_idle_maint_enabled u:object_r:smart_idle_maint_enabled_prop:s0 exact bool
+
+# MGLRU experiment prop
+persist.device_config.mglru_native.lru_gen_config   u:object_r:device_config_mglru_native_prop:s0 exact enum none core core_and_mm_walk core_and_nonleaf_young all
+
+# MM Events config props
+persist.mm_events.enabled                           u:object_r:mm_events_config_prop:s0 exact bool
+
+# Properties that relate to legacy server configurable flags
+persist.device_config.global_settings.sys_traced u:object_r:device_config_sys_traced_prop:s0
+
+apexd.                  u:object_r:apexd_prop:s0
+apexd.config.           u:object_r:apexd_config_prop:s0
+apexd.config.dm_delete.timeout           u:object_r:apexd_config_prop:s0 exact uint
+apexd.config.dm_create.timeout           u:object_r:apexd_config_prop:s0 exact uint
+apexd.config.loop_wait.attempts          u:object_r:apexd_config_prop:s0 exact uint
+apexd.config.boot_activation.threads     u:object_r:apexd_config_prop:s0 exact uint
+apexd.config.loopback.readahead          u:object_r:apexd_config_prop:s0 exact uint
+persist.apexd.          u:object_r:apexd_prop:s0
+persist.vendor.apex.    u:object_r:apexd_select_prop:s0
+ro.boot.vendor.apex.    u:object_r:apexd_select_prop:s0
+
+# Property that indicates if an apex is ready: apex.<apex-name>.ready
+apex.                   u:object_r:apex_ready_prop:s0 prefix bool
+
+bpf.progs_loaded        u:object_r:bpf_progs_loaded_prop:s0 exact bool
+
+gsid.                   u:object_r:gsid_prop:s0
+ro.gsid.                u:object_r:gsid_prop:s0
+
+# Property for disabling NNAPI vendor extensions on product image (used on GSI /product image,
+# which can't use NNAPI vendor extensions).
+ro.nnapi.extensions.deny_on_product                u:object_r:nnapi_ext_deny_product_prop:s0
+
+# Property that is set once ueventd finishes cold boot.
+ro.cold_boot_done       u:object_r:cold_boot_done_prop:s0
+
+# Properties that control performance operations.
+# Leave space to later set drop_caches to 1, 2, and 4.
+perf.drop_caches        u:object_r:perf_drop_caches_prop:s0 exact enum 0 3
+
+# Charger properties
+ro.charger.                 u:object_r:charger_prop:s0
+sys.boot_from_charger_mode  u:object_r:charger_status_prop:s0 exact int
+ro.enable_boot_charger_mode u:object_r:charger_config_prop:s0 exact bool
+ro.product.charger.unplugged_shutdown_time  u:object_r:charger_config_prop:s0 exact int
+
+# Prefetch boot properties which are tunables
+ro.prefetch_boot.enabled u:object_r:prefetch_boot_prop:s0 exact bool
+ro.prefetch_boot.trace_buffer_size_kib u:object_r:prefetch_boot_prop:s0 exact int
+ro.prefetch_boot.duration_s u:object_r:prefetch_boot_prop:s0 exact int
+ro.prefetch_boot.io_depth u:object_r:prefetch_boot_prop:s0 exact int
+ro.prefetch_boot.max_fds u:object_r:prefetch_boot_prop:s0 exact int
+# Prefetch property to start and stop the record/replay
+prefetch_boot.record u:object_r:prefetch_service_prop:s0 exact bool
+prefetch_boot.record_stop u:object_r:prefetch_boot_prop:s0 exact bool
+prefetch_boot.replay u:object_r:prefetch_service_prop:s0 exact bool
+
+# Virtual A/B and snapuserd properties
+ro.virtual_ab.enabled   u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.retrofit  u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.compression.enabled  u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.compression.xor.enabled   u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.userspace.snapshots.enabled u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.io_uring.enabled u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.compression.threads u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.batch_writes u:object_r:virtual_ab_prop:s0 exact bool
+
+# Virtual A/B device configurations
+ro.virtual_ab.read_ahead_size u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.o_direct.enabled u:object_r:virtual_ab_prop:s0 exact bool
+ro.virtual_ab.merge_thread_priority u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.worker_thread_priority u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.num_worker_threads u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.num_merge_threads u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.num_verify_threads u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.cow_op_merge_size u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.verify_threshold_size u:object_r:virtual_ab_prop:s0 exact int
+ro.virtual_ab.verify_block_size u:object_r:virtual_ab_prop:s0 exact int
+
+# OEMs can set this prop at build time to configure how many seconds to delay
+# merge after installing a Virtual AB OTA. The default behavior is to start
+# merge immediately.
+ro.virtual_ab.merge_delay_seconds u:object_r:virtual_ab_prop:s0 exact int
+snapuserd.ready         u:object_r:snapuserd_prop:s0 exact bool
+snapuserd.proxy_ready   u:object_r:snapuserd_prop:s0 exact bool
+snapuserd.test.dm.snapshots u:object_r:snapuserd_prop:s0 exact bool
+snapuserd.test.io_uring.force_disable u:object_r:snapuserd_prop:s0 exact bool
+
+ro.product.ab_ota_partitions u:object_r:ota_prop:s0 exact string
+ro.vendor.build.ab_ota_partitions u:object_r:ota_build_prop:s0 exact string
+# Property to set/clear the warm reset flag after an OTA update.
+ota.warm_reset  u:object_r:ota_prop:s0
+# The vbmeta digest for the inactive slot. It can be set after installing
+# ota updates to the b partition of a/b devices.
+ota.other.vbmeta_digest  u:object_r:ota_prop:s0 exact string
+
+# Module properties
+com.android.sdkext.                  u:object_r:module_sdkextensions_prop:s0
+persist.com.android.sdkext.          u:object_r:module_sdkextensions_prop:s0
+
+# Connectivity module
+net.464xlat.cellular.enabled         u:object_r:net_464xlat_fromvendor_prop:s0 exact bool
+net.tcp_def_init_rwnd                u:object_r:net_connectivity_prop:s0 exact int
+
+# Userspace reboot properties
+sys.userspace_reboot.log.         u:object_r:userspace_reboot_log_prop:s0
+persist.sys.userspace_reboot.log. u:object_r:userspace_reboot_log_prop:s0
+
+# Integer property which is used in libgui to configure the number of frames
+# tracked by buffer queue's frame event timing history. The property is set
+# by devices with video decoding pipelines long enough to overflow the default
+# history size.
+ro.lib_gui.frame_event_history_size u:object_r:bq_config_prop:s0
+
+af.fast_track_multiplier         u:object_r:audio_config_prop:s0 exact int
+ro.af.client_heap_size_kbyte     u:object_r:audio_config_prop:s0 exact int
+ro.audio.flinger_standbytime_ms  u:object_r:audio_config_prop:s0 exact int
+
+audio.camerasound.force         u:object_r:audio_config_prop:s0 exact bool
+audio.deep_buffer.media         u:object_r:audio_config_prop:s0 exact bool
+audio.offload.video             u:object_r:audio_config_prop:s0 exact bool
+audio.offload.min.duration.secs u:object_r:audio_config_prop:s0 exact int
+
+# Timecheck configuration
+audio.timecheck.disabled                  u:object_r:audio_config_prop:s0 exact bool
+audio.timecheck.timeout_duration_ms       u:object_r:audio_config_prop:s0 exact int
+audio.timecheck.second_chance_duration_ms u:object_r:audio_config_prop:s0 exact int
+
+# spatializer tuning
+audio.spatializer.priority               u:object_r:audio_config_prop:s0 exact int
+audio.spatializer.effect.affinity        u:object_r:audio_config_prop:s0 exact int
+audio.spatializer.effect.util_clamp_min  u:object_r:audio_config_prop:s0 exact int
+audio.spatializer.pose_predictor_type    u:object_r:audio_config_prop:s0 exact enum 0 1 2 3
+audio.spatializer.prediction_duration_ms u:object_r:audio_config_prop:s0 exact int
+
+# Timestamp correction for MSD
+audio.timestamp.corrected_output_device  u:object_r:audio_config_prop:s0 exact int
+
+ro.audio.ignore_effects   u:object_r:audio_config_prop:s0 exact bool
+ro.audio.monitorRotation  u:object_r:audio_config_prop:s0 exact bool
+ro.audio.offload_wakelock u:object_r:audio_config_prop:s0 exact bool
+
+# Configure whether new device has spatialization default enabled.
+ro.audio.spatializer_binaural_enabled_default u:object_r:audio_config_prop:s0 exact bool
+ro.audio.spatializer_transaural_enabled_default u:object_r:audio_config_prop:s0 exact bool
+# Boolean property used in AudioService to configure whether
+# spatializer functionality should be initialized
+ro.audio.spatializer_enabled u:object_r:audio_config_prop:s0 exact bool
+# Boolean property used in AudioService to configure whether
+# to enable head tracking for spatial audio
+ro.audio.headtracking_enabled u:object_r:audio_config_prop:s0 exact bool
+# Boolean property used in AudioPolicyManager to configure whether
+# to enable spatialization for stereo channel mask
+ro.audio.stereo_spatialization_enabled u:object_r:audio_config_prop:s0 exact bool
+
+# Boolean property used in AudioPolicyInterfaceImpl to configure whether
+# to disable usecase validator for game mode
+ro.audio.usecase_validator_enabled u:object_r:audio_config_prop:s0 exact bool
+
+# Boolean property used in UsbAlsaManager to decide if only one or multiple
+# USB devices can be connected to audio system at a certain time
+ro.audio.multi_usb_mode u:object_r:audio_config_prop:s0 exact bool
+
+# Boolean property used in libaudiohal@aidl to check if the SoC vendor
+# provides an implementation of IHalAdapterVendorExtension interface.
+# See b/323989070 for the discussion why this approach was chosen.
+ro.audio.ihaladaptervendorextension_enabled u:object_r:system_audio_config_prop:s0 exact bool
+
+# String property used in audioparameterparser.example service to load
+# vendor implementation IHalAdapterVendorExtension
+ro.audio.ihaladaptervendorextension_libname u:object_r:system_audio_config_prop:s0 exact string
+
+persist.config.calibration_fac u:object_r:camera_calibration_prop:s0 exact string
+
+config.disable_cameraservice u:object_r:camera_config_prop:s0 exact bool
+
+camera.disable_preview_scheduler u:object_r:camera_config_prop:s0 exact bool
+camera.disable_zsl_mode       u:object_r:camera_config_prop:s0 exact bool
+camera.fifo.disable           u:object_r:camera_config_prop:s0 exact bool
+camera.enable_landscape_to_portrait u:object_r:camera_config_prop:s0 exact bool
+ro.camera.notify_nfc          u:object_r:camera_config_prop:s0 exact bool
+ro.camera.enableLazyHal       u:object_r:camera_config_prop:s0 exact bool
+ro.camera.enableCamera1MaxZsl u:object_r:camera_config_prop:s0 exact bool
+ro.camera.disableJpegR        u:object_r:camera_config_prop:s0 exact bool
+ro.camera.enableCompositeAPI0JpegR u:object_r:camera_config_prop:s0 exact bool
+ro.camera.enableVirtualCamera      u:object_r:camera_config_prop:s0 exact bool
+
+ro.camerax.extensions.enabled u:object_r:camerax_extensions_prop:s0 exact bool
+
+ro.vendor.camera.extensions.package u:object_r:camera2_extensions_prop:s0 exact string
+ro.vendor.camera.extensions.service u:object_r:camera2_extensions_prop:s0 exact string
+
+# ART properties.
+dalvik.vm.                 u:object_r:dalvik_config_prop:s0
+ro.dalvik.vm.              u:object_r:dalvik_config_prop:s0
+ro.zygote                  u:object_r:dalvik_config_prop:s0 exact string
+
+# A set of ART properties listed explicitly for compatibility purposes.
+ro.dalvik.vm.native.bridge                    u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.always_debuggable                   u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.appimageformat                      u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.backgroundgctype                    u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.boot-image                          u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.bgdexopt.new-classes-percent        u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.bgdexopt.new-methods-percent        u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.checkjni                            u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.dex2oat-Xms                         u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.dex2oat-Xmx                         u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.dex2oat-filter                      u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.dex2oat-flags                       u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.dex2oat-max-image-block-size        u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.dex2oat-minidebuginfo               u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.dex2oat-resolve-startup-strings     u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.dex2oat-very-large                  u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.dex2oat-swap                        u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.dex2oat64.enabled                   u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.dexopt.secondary                    u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.dexopt.thermal-cutoff               u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.execution-mode                      u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.extra-opts                          u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.foreground-heap-growth-multiplier   u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.gctype                              u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.heapgrowthlimit                     u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.heapmaxfree                         u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.heapminfree                         u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.heapsize                            u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.heapstartsize                       u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.heaptargetutilization               u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.hot-startup-method-samples          u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.image-dex2oat-Xms                   u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.image-dex2oat-Xmx                   u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.image-dex2oat-filter                u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.image-dex2oat-flags                 u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.arm.features                    u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.arm.variant                     u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.arm64.features                  u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.arm64.variant                   u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.mips.features                   u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.mips.variant                    u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.mips64.features                 u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.mips64.variant                  u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.unknown.features                u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.unknown.variant                 u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.x86.features                    u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.x86.variant                     u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.x86_64.features                 u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.isa.x86_64.variant                  u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.jitinitialsize                      u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.jitmaxsize                          u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.jitprithreadweight                  u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.jitthreshold                        u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.jittransitionweight                 u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.jniopts                             u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.lockprof.threshold                  u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.method-trace                        u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.method-trace-file                   u:object_r:dalvik_config_prop:s0 exact string
+dalvik.vm.method-trace-file-siz               u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.method-trace-stream                 u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.profilesystemserver                 u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.profilebootclasspath                u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.ps-min-save-period-ms               u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.ps-resolved-classes-delay-ms        u:object_r:dalvik_config_prop:s0 exact int
+dalvik.vm.usejit                              u:object_r:dalvik_config_prop:s0 exact bool
+dalvik.vm.zygote.max-boot-retry               u:object_r:dalvik_config_prop:s0 exact int
+
+# A list of ART properties that can be set dynamically.
+dalvik.vm.background-dex2oat-cpu-set          u:object_r:dalvik_dynamic_config_prop:s0 exact string
+dalvik.vm.background-dex2oat-threads          u:object_r:dalvik_dynamic_config_prop:s0 exact int
+dalvik.vm.boot-dex2oat-cpu-set                u:object_r:dalvik_dynamic_config_prop:s0 exact string
+dalvik.vm.boot-dex2oat-threads                u:object_r:dalvik_dynamic_config_prop:s0 exact int
+dalvik.vm.dex2oat-cpu-set                     u:object_r:dalvik_dynamic_config_prop:s0 exact string
+dalvik.vm.dex2oat-threads                     u:object_r:dalvik_dynamic_config_prop:s0 exact int
+dalvik.vm.image-dex2oat-cpu-set               u:object_r:dalvik_dynamic_config_prop:s0 exact string
+dalvik.vm.image-dex2oat-threads               u:object_r:dalvik_dynamic_config_prop:s0 exact int
+dalvik.vm.restore-dex2oat-cpu-set             u:object_r:dalvik_dynamic_config_prop:s0 exact string
+dalvik.vm.restore-dex2oat-threads             u:object_r:dalvik_dynamic_config_prop:s0 exact int
+dalvik.vm.pre-reboot.                         u:object_r:dalvik_dynamic_config_prop:s0 prefix
+
+persist.sys.dalvik.vm.lib.2 u:object_r:dalvik_runtime_prop:s0 exact string
+
+keyguard.no_require_sim u:object_r:keyguard_config_prop:s0 exact bool
+
+media.c2.dmabuf.padding                      u:object_r:codec2_config_prop:s0 exact int
+media.c2.hal.selection                       u:object_r:codec2_config_prop:s0 exact enum aidl hidl
+media.c2.remove_rendering_depth              u:object_r:codec2_config_prop:s0 exact bool
+
+media.recorder.show_manufacturer_and_model   u:object_r:media_config_prop:s0 exact bool
+media.resolution.limit.32bit                 u:object_r:media_config_prop:s0 exact int
+media.stagefright.cache-params               u:object_r:media_config_prop:s0 exact string
+media.stagefright.enable-aac                 u:object_r:media_config_prop:s0 exact bool
+media.stagefright.enable-fma2dp              u:object_r:media_config_prop:s0 exact bool
+media.stagefright.enable-http                u:object_r:media_config_prop:s0 exact bool
+media.stagefright.enable-player              u:object_r:media_config_prop:s0 exact bool
+media.stagefright.enable-qcp                 u:object_r:media_config_prop:s0 exact bool
+media.stagefright.enable-scan                u:object_r:media_config_prop:s0 exact bool
+media.stagefright.thumbnail.prefer_hw_codecs u:object_r:media_config_prop:s0 exact bool
+persist.sys.media.avsync                     u:object_r:media_config_prop:s0 exact bool
+
+persist.bluetooth.a2dp_offload.cap                          u:object_r:bluetooth_a2dp_offload_prop:s0 exact string
+persist.bluetooth.a2dp_offload.disabled                     u:object_r:bluetooth_a2dp_offload_prop:s0 exact bool
+persist.bluetooth.leaudio_offload.disabled                  u:object_r:bluetooth_a2dp_offload_prop:s0 exact bool
+persist.bluetooth.bluetooth_audio_hal.disabled              u:object_r:bluetooth_audio_hal_prop:s0 exact bool
+persist.bluetooth.btsnoopenable                             u:object_r:exported_bluetooth_prop:s0 exact bool
+persist.bluetooth.btsnoopdefaultmode                        u:object_r:bluetooth_prop:s0 exact enum empty disabled filtered full
+persist.bluetooth.btsnooplogmode                            u:object_r:bluetooth_prop:s0 exact enum empty disabled filtered full
+persist.bluetooth.finder.supported                          u:object_r:bluetooth_finder_prop:s0 exact bool
+persist.bluetooth.sniff_offload.enabled                     u:object_r:bluetooth_config_prop:s0 exact bool
+persist.bluetooth.snooplogfilter.headers.enabled            u:object_r:bluetooth_prop:s0 exact bool
+persist.bluetooth.snooplogfilter.profiles.a2dp.enabled      u:object_r:bluetooth_prop:s0 exact bool
+persist.bluetooth.snooplogfilter.profiles.map               u:object_r:bluetooth_prop:s0 exact enum empty disabled fullfilter header magic
+persist.bluetooth.snooplogfilter.profiles.pbap              u:object_r:bluetooth_prop:s0 exact enum empty disabled fullfilter header magic
+persist.bluetooth.snooplogfilter.profiles.rfcomm.enabled    u:object_r:bluetooth_prop:s0 exact bool
+persist.bluetooth.factoryreset                              u:object_r:bluetooth_prop:s0 exact bool
+persist.bluetooth.leaudio.allow_list                        u:object_r:bluetooth_prop:s0 exact string
+
+bluetooth.a2dp.source.sbc_priority.config            u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.a2dp.source.aac_priority.config            u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.a2dp.source.aptx_priority.config           u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.a2dp.source.aptx_hd_priority.config        u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.a2dp.source.ldac_priority.config           u:object_r:bluetooth_config_prop:s0 exact int
+
+bluetooth.hardware.power.operating_voltage_mv        u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.hardware.power.idle_cur_ma                 u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.hardware.power.tx_cur_ma                   u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.hardware.power.rx_cur_ma                   u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.hardware.radio.le_tx_path_loss_comp_db     u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.hardware.radio.le_rx_path_loss_comp_db     u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.hardware.wakeup_supported                  u:object_r:bluetooth_config_prop:s0 exact bool
+
+bluetooth.hci.msft_vendor_opcode                     u:object_r:bluetooth_config_prop:s0 exact uint
+
+bluetooth.framework.support_persisted_state          u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.framework.adapter_address_validation       u:object_r:bluetooth_config_prop:s0 exact bool
+
+bluetooth.core.gap.le.privacy.enabled                u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.core.gap.le.conn.min.limit                 u:object_r:bluetooth_config_prop:s0 exact int
+bluetooth.core.gap.le.conn.only_init_1m_phy.enabled  u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.core.le_audio.inband_ringtone.supported    u:object_r:bluetooth_config_prop:s0 exact bool
+
+bluetooth.device.default_name                        u:object_r:bluetooth_config_prop:s0 exact string
+bluetooth.device.class_of_device                     u:object_r:bluetooth_config_prop:s0 exact string
+
+bluetooth.profile.a2dp.sink.enabled                  u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.a2dp.source.enabled                u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.asha.central.enabled               u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.avrcp.controller.enabled           u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.avrcp.target.enabled               u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.bap.broadcast.assist.enabled       u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.bap.broadcast.source.enabled       u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.bap.unicast.client.enabled         u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.bas.client.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.bass.client.enabled                u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.ccp.server.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.csip.set_coordinator.enabled       u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.gatt.enabled                       u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.hap.client.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.hfp.ag.enabled                     u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.hfp.hf.enabled                     u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.hid.device.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.hid.host.enabled                   u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.map.client.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.map.server.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.mcp.server.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.opp.enabled                        u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.pan.nap.enabled                    u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.pan.panu.enabled                   u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.pbap.client.enabled                u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.pbap.server.enabled                u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.pbap.sim.enabled                   u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.sap.server.enabled                 u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.profile.vcp.controller.enabled             u:object_r:bluetooth_config_prop:s0 exact bool
+
+bluetooth.core.acl.link_supervision_timeout          u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.page_scan_type                u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.page_scan_interval            u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.page_scan_window              u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.inq_scan_type                 u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.inq_scan_interval             u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.inq_scan_window               u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.page_timeout                  u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.classic.sniff_max_intervals           u:object_r:bluetooth_config_prop:s0 exact string
+bluetooth.core.classic.sniff_min_intervals           u:object_r:bluetooth_config_prop:s0 exact string
+bluetooth.core.classic.sniff_attempts                u:object_r:bluetooth_config_prop:s0 exact string
+bluetooth.core.classic.sniff_timeouts                u:object_r:bluetooth_config_prop:s0 exact string
+
+bluetooth.core.le.min_connection_interval            u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.max_connection_interval            u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.min_connection_interval_relaxed    u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.max_connection_interval_relaxed    u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.min_connection_interval_aggressive u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.max_connection_interval_aggressive u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.aggressive_connection_threshold    u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_latency                 u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_supervision_timeout     u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.direct_connection_timeout          u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_scan_interval_fast      u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_scan_window_fast        u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_scan_window_2m_fast     u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_scan_window_coded_fast  u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_scan_interval_slow      u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.connection_scan_window_slow        u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.inquiry_scan_interval              u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.inquiry_scan_window                u:object_r:bluetooth_config_prop:s0 exact uint
+
+bluetooth.core.le.vendor_capabilities.enabled        u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.hfp.software_datapath.enabled              u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.sco.disable_enhanced_connection            u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.sco.managed_by_audio                       u:object_r:bluetooth_config_prop:s0 exact bool
+bluetooth.core.le.dsa_transport_preference           u:object_r:bluetooth_config_prop:s0 exact string
+
+persist.nfc.debug_enabled                      u:object_r:nfc_prop:s0 exact bool
+persist.nfc.vendor_debug_enabled               u:object_r:nfc_prop:s0 exact bool
+persist.nfc.snoop_log_mode                     u:object_r:nfc_prop:s0 exact enum full filtered
+nfc.dta.skip_ndef_read                         u:object_r:nfc_prop:s0 exact bool
+
+persist.radio.multisim.config u:object_r:radio_control_prop:s0 exact string
+persist.radio.allow_mock_modem u:object_r:radio_control_prop:s0 exact bool
+
+persist.sys.hdmi.keep_awake                                        u:object_r:hdmi_config_prop:s0 exact bool
+ro.hdmi.cec_device_types                                           u:object_r:hdmi_config_prop:s0 exact string
+ro.hdmi.device_type                                                u:object_r:hdmi_config_prop:s0 exact string
+ro.hdmi.set_menu_language                                          u:object_r:hdmi_config_prop:s0 exact bool
+ro.hdmi.cec.source.set_menu_language.enabled                       u:object_r:hdmi_config_prop:s0 exact bool
+ro.hdmi.property_sytem_audio_device_arc_port                       u:object_r:hdmi_config_prop:s0 exact string
+ro.hdmi.cec_audio_device_forward_volume_keys_system_audio_mode_off u:object_r:hdmi_config_prop:s0 exact bool
+ro.hdmi.property_is_device_hdmi_cec_switch                         u:object_r:hdmi_config_prop:s0 exact bool
+ro.hdmi.wake_on_hotplug                                            u:object_r:hdmi_config_prop:s0 exact bool
+ro.hdmi.cec.source.send_standby_on_sleep                           u:object_r:hdmi_config_prop:s0 exact enum to_tv broadcast none
+ro.hdmi.cec.source.playback_device_action_on_routing_control       u:object_r:hdmi_config_prop:s0 exact enum none wake_up_only wake_up_and_send_active_source
+
+pm.dexopt.bg-dexopt                                     u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.bg-dexopt.concurrency                         u:object_r:exported_pm_prop:s0 exact int
+pm.dexopt.first-boot                                    u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.first-boot.concurrency                        u:object_r:exported_pm_prop:s0 exact int
+pm.dexopt.boot-after-ota                                u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.boot-after-ota.concurrency                    u:object_r:exported_pm_prop:s0 exact int
+pm.dexopt.boot-after-mainline-update                    u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.boot-after-mainline-update.concurrency        u:object_r:exported_pm_prop:s0 exact int
+pm.dexopt.post-boot                                     u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.post-boot.concurrency                         u:object_r:exported_pm_prop:s0 exact int
+pm.dexopt.ab-ota                                        u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.ab-ota.concurrency                            u:object_r:exported_pm_prop:s0 exact int
+
+pm.dexopt.cmdline                                       u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.inactive                                      u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.install                                       u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.install-fast                                  u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.install-bulk                                  u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.install-bulk-secondary                        u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.install-bulk-downgraded                       u:object_r:exported_pm_prop:s0 exact string
+pm.dexopt.install-bulk-secondary-downgraded             u:object_r:exported_pm_prop:s0 exact string
+
+pm.dexopt.shared                                        u:object_r:exported_pm_prop:s0 exact string
+
+pm.dexopt.disable_bg_dexopt                             u:object_r:exported_pm_prop:s0 exact bool
+pm.dexopt.downgrade_after_inactive_days                 u:object_r:exported_pm_prop:s0 exact int
+
+pm.dexopt.                                              u:object_r:future_pm_prop:s0 prefix
+
+pm.16kb.app_compat.disabled                             u:object_r:pm_16kb_app_compat_prop:s0 exact bool
+
+ro.apk_verity.mode u:object_r:apk_verity_prop:s0 exact int
+
+ro.bluetooth.a2dp_offload.supported u:object_r:bluetooth_a2dp_offload_prop:s0 exact bool
+ro.bluetooth.leaudio_offload.supported u:object_r:bluetooth_a2dp_offload_prop:s0 exact bool
+
+ro.boot.vendor.overlay.theme u:object_r:exported_overlay_prop:s0 exact string
+
+ro.bt.bdaddr_path u:object_r:exported_bluetooth_prop:s0 exact string
+
+ro.config.alarm_alert         u:object_r:systemsound_config_prop:s0 exact string
+ro.config.alarm_vol_default   u:object_r:systemsound_config_prop:s0 exact int
+ro.config.alarm_vol_steps     u:object_r:systemsound_config_prop:s0 exact int
+ro.config.assistant_vol_min   u:object_r:systemsound_config_prop:s0 exact int
+ro.config.media_vol_default   u:object_r:systemsound_config_prop:s0 exact int
+ro.config.media_vol_steps     u:object_r:systemsound_config_prop:s0 exact int
+ro.config.notification_sound  u:object_r:systemsound_config_prop:s0 exact string
+ro.config.ringtone            u:object_r:systemsound_config_prop:s0 exact string
+ro.config.system_vol_default  u:object_r:systemsound_config_prop:s0 exact int
+ro.config.system_vol_steps    u:object_r:systemsound_config_prop:s0 exact int
+ro.config.vc_call_vol_default u:object_r:systemsound_config_prop:s0 exact int
+
+ro.control_privapp_permissions u:object_r:packagemanager_config_prop:s0 exact enum disable enforce log
+ro.cp_system_other_odex        u:object_r:packagemanager_config_prop:s0 exact bool
+
+ro.crypto.allow_encrypt_override                u:object_r:vold_config_prop:s0 exact bool
+ro.crypto.dm_default_key.options_format.version u:object_r:vold_config_prop:s0 exact int
+ro.crypto.fde_algorithm                         u:object_r:vold_config_prop:s0 exact string
+ro.crypto.fde_sector_size                       u:object_r:vold_config_prop:s0 exact int
+ro.crypto.hw_wrapped_keys.kdf                   u:object_r:vold_config_prop:s0 exact string
+ro.crypto.metadata_init_delete_all_keys.enabled u:object_r:vold_config_prop:s0 exact bool
+ro.crypto.scrypt_params                         u:object_r:vold_config_prop:s0 exact string
+ro.crypto.set_dun                               u:object_r:vold_config_prop:s0 exact bool
+ro.crypto.volume.contents_mode                  u:object_r:vold_config_prop:s0 exact string
+ro.crypto.volume.filenames_mode                 u:object_r:vold_config_prop:s0 exact string
+ro.crypto.volume.metadata.encryption            u:object_r:vold_config_prop:s0 exact string
+ro.crypto.volume.metadata.method                u:object_r:vold_config_prop:s0 exact string
+ro.crypto.volume.options                        u:object_r:vold_config_prop:s0 exact string
+
+external_storage.projid.enabled   u:object_r:storage_config_prop:s0 exact bool
+external_storage.casefold.enabled u:object_r:storage_config_prop:s0 exact bool
+external_storage.sdcardfs.enabled u:object_r:storage_config_prop:s0 exact bool
+external_storage.cross_user.enabled u:object_r:storage_config_prop:s0 exact bool
+ro.fuse.bpf.enabled u:object_r:storage_config_prop:s0 exact bool
+ro.fuse.bpf.is_running u:object_r:vold_status_prop:s0 exact bool
+
+# Allow the vendor to disable the remote attestation feature at boot-time.
+avf.remote_attestation.enabled u:object_r:avf_virtualizationservice_prop:s0 exact bool
+
+hypervisor.pvmfw.path                              u:object_r:hypervisor_pvmfw_prop:s0 exact string
+hypervisor.virtualizationmanager.debug_policy.path u:object_r:hypervisor_virtualizationmanager_prop:s0 exact string
+hypervisor.virtualizationmanager.dump_device_tree u:object_r:hypervisor_virtualizationmanager_prop:s0 exact bool
+
+# hypervisor.*: configured by the vendor to advertise capabilities of their
+# hypervisor to virtualizationservice.
+hypervisor.memory_reclaim.supported u:object_r:hypervisor_restricted_prop:s0 exact bool
+
+ro.config.per_app_memcg         u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.critical                 u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.critical_upgrade         u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.debug                    u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.delay_monitors_until_boot u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.downgrade_pressure       u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.filecache_min_kb         u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.kill_heaviest_task       u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.kill_timeout_ms          u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.log_stats                u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.low                      u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.lowmem_min_oom_score     u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.medium                   u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.pressure_after_kill_min_score u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.psi_partial_stall_ms     u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.psi_complete_stall_ms    u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.stall_limit_critical     u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.swap_compression_ratio   u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.swap_free_low_percentage u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.swap_util_max            u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.thrashing_limit          u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.thrashing_limit_critical u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.thrashing_limit_decay    u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.direct_reclaim_threshold_ms u:object_r:lmkd_config_prop:s0 exact int
+ro.lmk.use_minfree_levels       u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.use_new_strategy         u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.use_psi                  u:object_r:lmkd_config_prop:s0 exact bool
+ro.lmk.upgrade_pressure         u:object_r:lmkd_config_prop:s0 exact int
+lmkd.reinit                     u:object_r:lmkd_prop:s0 exact int
+
+ro.media.xml_variant.codecs             u:object_r:media_variant_prop:s0 exact string
+ro.media.xml_variant.codecs_performance u:object_r:media_variant_prop:s0 exact string
+ro.media.xml_variant.profiles           u:object_r:media_variant_prop:s0 exact string
+
+ro.minui.default_rotation u:object_r:recovery_config_prop:s0 exact string
+ro.minui.overscan_percent u:object_r:recovery_config_prop:s0 exact int
+ro.minui.pixel_format     u:object_r:recovery_config_prop:s0 exact string
+
+ro.oem_unlock_supported u:object_r:oem_unlock_prop:s0 exact int
+
+ro.rebootescrow.device u:object_r:rebootescrow_hal_prop:s0 exact string
+
+ro.recovery.usb.vid          u:object_r:recovery_usb_config_prop:s0 exact string
+ro.recovery.usb.adb.pid      u:object_r:recovery_usb_config_prop:s0 exact string
+ro.recovery.usb.fastboot.pid u:object_r:recovery_usb_config_prop:s0 exact string
+
+ro.storage_manager.enabled     u:object_r:storagemanager_config_prop:s0 exact bool
+ro.storage_manager.show_opt_in u:object_r:storagemanager_config_prop:s0 exact bool
+
+ro.vehicle.hal u:object_r:vehicle_hal_prop:s0 exact string
+
+ro.vendor.build.security_patch u:object_r:vendor_security_patch_level_prop:s0 exact string
+
+ro.zram.mark_idle_delay_mins    u:object_r:zram_config_prop:s0 exact int
+ro.zram.first_wb_delay_mins     u:object_r:zram_config_prop:s0 exact int
+ro.zram.periodic_wb_delay_hours u:object_r:zram_config_prop:s0 exact int
+zram.force_writeback            u:object_r:zram_config_prop:s0 exact bool
+persist.sys.zram_enabled        u:object_r:zram_control_prop:s0 exact bool
+
+sendbug.preferred.domain u:object_r:sendbug_config_prop:s0 exact string
+
+persist.sys.usb.usbradio.config u:object_r:usb_control_prop:s0 exact string
+
+sys.usb.config     u:object_r:usb_control_prop:s0 exact string
+sys.usb.configfs   u:object_r:usb_control_prop:s0 exact int
+sys.usb.controller u:object_r:usb_control_prop:s0 exact string
+sys.usb.state      u:object_r:usb_control_prop:s0 exact string
+
+sys.usb.mtp.batchcancel u:object_r:usb_config_prop:s0 exact bool
+sys.usb.mtp.device_type u:object_r:usb_config_prop:s0 exact int
+
+sys.usb.config. u:object_r:usb_prop:s0
+
+sys.usb.ffs.aio_compat u:object_r:ffs_config_prop:s0 exact bool
+sys.usb.ffs.io_uring_enabled u:object_r:ffs_config_prop:s0 exact bool
+sys.usb.ffs.max_read   u:object_r:ffs_config_prop:s0 exact int
+sys.usb.ffs.max_write  u:object_r:ffs_config_prop:s0 exact int
+
+sys.usb.ffs.ready     u:object_r:ffs_control_prop:s0 exact bool
+sys.usb.ffs.mtp.ready u:object_r:ffs_control_prop:s0 exact bool
+
+tombstoned.max_tombstone_count u:object_r:tombstone_config_prop:s0 exact int
+
+vold.post_fs_data_done u:object_r:vold_post_fs_data_prop:s0 exact int
+
+apexd.payload_metadata.path u:object_r:apexd_payload_metadata_prop:s0 exact string
+apexd.status u:object_r:apexd_prop:s0 exact enum starting activated ready
+
+dmesgd.start u:object_r:dmesgd_start_prop:s0 exact bool
+
+odsign.key.done u:object_r:odsign_prop:s0 exact bool
+odsign.verification.done u:object_r:odsign_prop:s0 exact bool
+odsign.verification.success u:object_r:odsign_prop:s0 exact bool
+
+dev.bootcomplete   u:object_r:boot_status_prop:s0 exact bool
+sys.boot_completed u:object_r:boot_status_prop:s0 exact bool
+
+persist.sys.device_provisioned u:object_r:provisioned_prop:s0 exact string
+
+persist.sys.theme               u:object_r:theme_prop:s0 exact string
+
+sys.retaildemo.enabled u:object_r:retaildemo_prop:s0 exact int
+
+sys.user.0.ce_available u:object_r:exported3_system_prop:s0 exact bool
+
+aac_drc_boost            u:object_r:aac_drc_prop:s0 exact int
+aac_drc_cut              u:object_r:aac_drc_prop:s0 exact int
+aac_drc_enc_target_level u:object_r:aac_drc_prop:s0 exact int
+aac_drc_heavy            u:object_r:aac_drc_prop:s0 exact int
+aac_drc_reference_level  u:object_r:aac_drc_prop:s0 exact int
+ro.aac_drc_effect_type   u:object_r:aac_drc_prop:s0 exact int
+
+build.version.extensions. u:object_r:module_sdkextensions_prop:s0 prefix int
+
+drm.64bit.enabled            u:object_r:mediadrm_config_prop:s0 exact bool
+media.mediadrmservice.enable u:object_r:mediadrm_config_prop:s0 exact bool
+persist.drm.forcel3.enabled  u:object_r:drm_forcel3_prop:s0 exact bool
+
+drm.service.enabled u:object_r:drm_service_config_prop:s0 exact bool
+
+dumpstate.dry_run u:object_r:exported_dumpstate_prop:s0 exact bool
+dumpstate.unroot  u:object_r:exported_dumpstate_prop:s0 exact bool
+persist.dumpstate.verbose_logging.enabled u:object_r:hal_dumpstate_config_prop:s0 exact bool
+
+hal.instrumentation.enable u:object_r:hal_instrumentation_prop:s0 exact bool
+
+# default contexts only accessible by coredomain
+init.svc. u:object_r:init_service_status_private_prop:s0 prefix string
+
+# Globally-readable init service props
+init.svc.adbd           u:object_r:init_service_status_prop:s0 exact string
+init.svc.bugreport      u:object_r:init_service_status_prop:s0 exact string
+init.svc.bugreportd     u:object_r:init_service_status_prop:s0 exact string
+init.svc.console        u:object_r:init_service_status_prop:s0 exact string
+init.svc.dumpstatez     u:object_r:init_service_status_prop:s0 exact string
+init.svc.mediadrm       u:object_r:init_service_status_prop:s0 exact string
+init.svc.statsd         u:object_r:init_service_status_prop:s0 exact string
+init.svc.surfaceflinger u:object_r:init_service_status_prop:s0 exact string
+init.svc.tombstoned     u:object_r:init_service_status_prop:s0 exact string
+init.svc.zygote         u:object_r:init_service_status_prop:s0 exact string
+
+# Epoch time at which last fatal reboot was performed
+persist.init.svc.last_fatal_reboot_epoch u:object_r:init_service_status_private_prop:s0 exact int
+
+libc.debug.malloc.options u:object_r:libc_debug_prop:s0 exact string
+libc.debug.malloc.program u:object_r:libc_debug_prop:s0 exact string
+libc.debug.hooks.enable   u:object_r:libc_debug_prop:s0 exact string
+
+# GWP-ASan props. Separate from other libc.debug.* props, because we want users
+# to be able to set them from `adb shell` even on release devices.
+libc.debug.gwp_asan.          u:object_r:gwp_asan_prop:s0 prefix string
+persist.libc.debug.gwp_asan.  u:object_r:gwp_asan_prop:s0 prefix string
+
+# shell-only props for ARM memory tagging (MTE).
+arm64.memtag.         u:object_r:arm64_memtag_prop:s0 prefix string
+persist.arm64.memtag. u:object_r:arm64_memtag_prop:s0 prefix string
+
+# kcmdline props for dogfood experiments
+# All kcmdline properties share the kcmdline_prop context
+kcmdline.loaded     u:object_r:kcmdline_prop:s0 exact bool
+kcmdline.binder     u:object_r:kcmdline_prop:s0 exact enum c rust
+
+net.redirect_socket_calls.hooked u:object_r:socket_hook_prop:s0 exact bool
+
+# Settings system properties containing mutable "global" device settings.
+#
+# These can't be Android settings because they are also read by low-level
+# binaries that don't have access to "real" SettingsProvider settings. This
+# will usually be because of when they execute, e.g. during boot when Android
+# services are not yet running, and/or because they are needed by binaries that
+# are not "Android aware", i.e. they have light integration with the Android
+# platform via the low-level system properties lib.  Processes like shell may
+# modify these for testing purposes, but doing so is generally discouraged;
+# updates to these props will generally require intents to be sent to
+# long-running Android apps so they can update cached data and their UI state.
+persist.sys.locale       u:object_r:locale_prop:s0 exact string
+persist.sys.timezone     u:object_r:timezone_prop:s0 exact string
+
+# Time zone metadata system properties. Holds information associated with the
+# device's time zone and will therefore be written to at the same time.  Unlike
+# timezone_prop props, these do not need to be read by other processes.
+persist.sys.timezone_confidence u:object_r:timezone_metadata_prop:s0 exact uint
+
+persist.sys.mte.permissive u:object_r:permissive_mte_prop:s0 exact string
+persist.sys.test_harness u:object_r:test_harness_prop:s0 exact bool
+
+ro.arch u:object_r:build_prop:s0 exact string
+
+# ro.boot. properties are set based on kernel commandline arguments, which are vendor owned.
+ro.boot.                   u:object_r:bootloader_prop:s0
+ro.boot.avb_version        u:object_r:bootloader_prop:s0 exact string
+ro.boot.baseband           u:object_r:bootloader_prop:s0 exact string
+ro.boot.bootdevice         u:object_r:bootloader_prop:s0 exact string
+ro.boot.bootloader         u:object_r:bootloader_prop:s0 exact string
+ro.boot.boottime           u:object_r:bootloader_prop:s0 exact string
+ro.boot.console            u:object_r:bootloader_prop:s0 exact string
+ro.boot.ddr_size           u:object_r:bootloader_prop:s0 exact string
+ro.boot.hardware           u:object_r:bootloader_prop:s0 exact string
+ro.boot.hardware.color     u:object_r:bootloader_prop:s0 exact string
+ro.boot.hardware.sku       u:object_r:bootloader_prop:s0 exact string
+ro.boot.keymaster          u:object_r:bootloader_prop:s0 exact string
+ro.boot.mode               u:object_r:bootloader_prop:s0 exact string
+# Populated on Android Studio Emulator (for emulator specific workarounds)
+ro.boot.qemu               u:object_r:bootloader_prop:s0 exact bool
+ro.boot.revision           u:object_r:bootloader_prop:s0 exact string
+ro.boot.serialconsole      u:object_r:bootloader_prop:s0 exact bool
+ro.boot.vbmeta.avb_version u:object_r:bootloader_prop:s0 exact string
+ro.boot.vbmeta.public_key_digest  u:object_r:bootloader_prop:s0 exact string
+ro.boot.verifiedbootstate  u:object_r:bootloader_prop:s0 exact string
+ro.boot.veritymode         u:object_r:bootloader_prop:s0 exact string
+# Properties specific to virtualized deployments of Android
+ro.boot.hypervisor.protected_vm.supported   u:object_r:hypervisor_prop:s0 exact bool
+ro.boot.hypervisor.version                  u:object_r:hypervisor_prop:s0 exact string
+ro.boot.hypervisor.vm.supported             u:object_r:hypervisor_prop:s0 exact bool
+
+# These ro.X properties are set to values of ro.boot.X by property_service.
+ro.baseband   u:object_r:bootloader_prop:s0 exact string
+ro.bootloader u:object_r:bootloader_prop:s0 exact string
+ro.bootmode   u:object_r:bootloader_prop:s0 exact string
+ro.hardware   u:object_r:bootloader_prop:s0 exact string
+ro.revision   u:object_r:bootloader_prop:s0 exact string
+
+ro.boot.dynamic_partitions          u:object_r:exported_default_prop:s0 exact string
+ro.boot.dynamic_partitions_retrofit u:object_r:exported_default_prop:s0 exact string
+
+ro.boottime.init.mount.data u:object_r:boottime_public_prop:s0 exact string
+ro.boottime.init.fsck.data  u:object_r:boottime_public_prop:s0 exact string
+ro.fstype.data  u:object_r:fstype_prop:s0 exact string
+
+ro.build.backported_fixes.alias_bitset.long_list u:object_r:build_prop:s0 exact string
+ro.build.characteristics                  u:object_r:build_prop:s0 exact string
+ro.build.date                             u:object_r:build_prop:s0 exact string
+ro.build.date.utc                         u:object_r:build_prop:s0 exact int
+ro.build.description                      u:object_r:build_prop:s0 exact string
+ro.build.display.id                       u:object_r:build_prop:s0 exact string
+ro.build.flavor                           u:object_r:build_prop:s0 exact string
+ro.build.host                             u:object_r:build_prop:s0 exact string
+ro.build.id                               u:object_r:build_prop:s0 exact string
+ro.build.product                          u:object_r:build_prop:s0 exact string
+ro.build.system_root_image                u:object_r:build_prop:s0 exact bool
+ro.build.tags                             u:object_r:build_prop:s0 exact string
+ro.build.type                             u:object_r:build_prop:s0 exact string
+ro.build.user                             u:object_r:build_prop:s0 exact string
+ro.build.version.all_codenames            u:object_r:build_prop:s0 exact string
+ro.build.version.base_os                  u:object_r:build_prop:s0 exact string
+ro.build.version.codename                 u:object_r:build_prop:s0 exact string
+ro.build.version.incremental              u:object_r:build_prop:s0 exact string
+ro.build.version.min_supported_target_sdk u:object_r:build_prop:s0 exact int
+ro.build.version.preview_sdk              u:object_r:build_prop:s0 exact int
+ro.build.version.preview_sdk_fingerprint  u:object_r:build_prop:s0 exact string
+ro.build.version.release                  u:object_r:build_prop:s0 exact string
+ro.build.version.release_or_codename      u:object_r:build_prop:s0 exact string
+ro.build.version.sdk                      u:object_r:build_prop:s0 exact int
+ro.build.version.security_patch           u:object_r:build_prop:s0 exact string
+
+ro.actionable_compatible_property.enabled u:object_r:build_prop:s0 exact bool
+
+
+# Property for enabling 16k pages developer option.
+ro.product.build.16k_page.enabled u:object_r:enable_16k_pages_prop:s0 exact bool
+
+# Property that indicates which page size the device boots by default.
+ro.product.page_size u:object_r:page_size_prop:s0 exact int
+
+ro.debuggable       u:object_r:userdebug_or_eng_prop:s0 exact bool
+ro.force.debuggable u:object_r:build_prop:s0 exact bool
+
+ro.treble.enabled u:object_r:build_prop:s0 exact bool
+
+ro.product.cpu.abi       u:object_r:build_prop:s0 exact string
+ro.product.cpu.abilist   u:object_r:build_prop:s0 exact string
+ro.product.cpu.abilist32 u:object_r:build_prop:s0 exact string
+ro.product.cpu.abilist64 u:object_r:build_prop:s0 exact string
+
+ro.product.cpu.pagesize.max    u:object_r:build_prop:s0 exact enum 4096 16384 65536
+
+ro.product.system.brand        u:object_r:build_prop:s0 exact string
+ro.product.system.device       u:object_r:build_prop:s0 exact string
+ro.product.system.manufacturer u:object_r:build_prop:s0 exact string
+ro.product.system.model        u:object_r:build_prop:s0 exact string
+ro.product.system.name         u:object_r:build_prop:s0 exact string
+
+ro.system.build.date                        u:object_r:build_prop:s0 exact string
+ro.system.build.date.utc                    u:object_r:build_prop:s0 exact int
+ro.system.build.fingerprint                 u:object_r:build_prop:s0 exact string
+ro.system.build.id                          u:object_r:build_prop:s0 exact string
+ro.system.build.tags                        u:object_r:build_prop:s0 exact string
+ro.system.build.type                        u:object_r:build_prop:s0 exact string
+ro.system.build.version.incremental         u:object_r:build_prop:s0 exact string
+ro.system.build.version.release             u:object_r:build_prop:s0 exact string
+ro.system.build.version.release_or_codename u:object_r:build_prop:s0 exact string
+ro.system.build.version.sdk                 u:object_r:build_prop:s0 exact int
+
+ro.adb.secure u:object_r:build_prop:s0 exact bool
+ro.secure     u:object_r:userdebug_or_eng_prop:s0 exact int
+
+ro.product.system_ext.brand        u:object_r:build_prop:s0 exact string
+ro.product.system_ext.device       u:object_r:build_prop:s0 exact string
+ro.product.system_ext.manufacturer u:object_r:build_prop:s0 exact string
+ro.product.system_ext.model        u:object_r:build_prop:s0 exact string
+ro.product.system_ext.name         u:object_r:build_prop:s0 exact string
+
+ro.system_ext.build.date                        u:object_r:build_prop:s0 exact string
+ro.system_ext.build.date.utc                    u:object_r:build_prop:s0 exact int
+ro.system_ext.build.fingerprint                 u:object_r:build_prop:s0 exact string
+ro.system_ext.build.id                          u:object_r:build_prop:s0 exact string
+ro.system_ext.build.tags                        u:object_r:build_prop:s0 exact string
+ro.system_ext.build.type                        u:object_r:build_prop:s0 exact string
+ro.system_ext.build.version.incremental         u:object_r:build_prop:s0 exact string
+ro.system_ext.build.version.release             u:object_r:build_prop:s0 exact string
+ro.system_ext.build.version.release_or_codename u:object_r:build_prop:s0 exact string
+ro.system_ext.build.version.sdk                 u:object_r:build_prop:s0 exact int
+
+# These ro.product.product.* and ro.product.build.* are set by /product/etc/build.prop
+ro.product.product.brand        u:object_r:build_prop:s0 exact string
+ro.product.product.device       u:object_r:build_prop:s0 exact string
+ro.product.product.manufacturer u:object_r:build_prop:s0 exact string
+ro.product.product.model        u:object_r:build_prop:s0 exact string
+ro.product.product.name         u:object_r:build_prop:s0 exact string
+
+ro.product.build.date                        u:object_r:build_prop:s0 exact string
+ro.product.build.date.utc                    u:object_r:build_prop:s0 exact int
+ro.product.build.fingerprint                 u:object_r:build_prop:s0 exact string
+ro.product.build.id                          u:object_r:build_prop:s0 exact string
+ro.product.build.tags                        u:object_r:build_prop:s0 exact string
+ro.product.build.type                        u:object_r:build_prop:s0 exact string
+ro.product.build.version.incremental         u:object_r:build_prop:s0 exact string
+ro.product.build.version.release             u:object_r:build_prop:s0 exact string
+ro.product.build.version.release_or_codename u:object_r:build_prop:s0 exact string
+ro.product.build.version.sdk                 u:object_r:build_prop:s0 exact int
+
+# These 5 properties are set by property_service
+ro.product.brand         u:object_r:build_prop:s0 exact string
+ro.product.device        u:object_r:build_prop:s0 exact string
+ro.product.manufacturer  u:object_r:build_prop:s0 exact string
+ro.product.model         u:object_r:build_prop:s0 exact string
+ro.product.name          u:object_r:build_prop:s0 exact string
+
+# Sanitizer properties
+ro.sanitize.address          u:object_r:build_prop:s0 exact bool
+ro.sanitize.cfi              u:object_r:build_prop:s0 exact bool
+ro.sanitize.default-ub       u:object_r:build_prop:s0 exact bool
+ro.sanitize.fuzzer           u:object_r:build_prop:s0 exact bool
+ro.sanitize.hwaddress        u:object_r:build_prop:s0 exact bool
+ro.sanitize.integer_overflow u:object_r:build_prop:s0 exact bool
+ro.sanitize.safe-stack       u:object_r:build_prop:s0 exact bool
+ro.sanitize.scudo            u:object_r:build_prop:s0 exact bool
+ro.sanitize.thread           u:object_r:build_prop:s0 exact bool
+ro.sanitize.undefined        u:object_r:build_prop:s0 exact bool
+
+# All odm build props are set by /odm/build.prop
+ro.odm.build.date                u:object_r:build_odm_prop:s0 exact string
+ro.odm.build.date.utc            u:object_r:build_odm_prop:s0 exact int
+ro.odm.build.fingerprint         u:object_r:build_odm_prop:s0 exact string
+ro.odm.build.version.incremental u:object_r:build_odm_prop:s0 exact string
+ro.odm.build.media_performance_class   u:object_r:build_odm_prop:s0 exact int
+
+ro.product.odm.brand        u:object_r:build_odm_prop:s0 exact string
+ro.product.odm.device       u:object_r:build_odm_prop:s0 exact string
+ro.product.odm.manufacturer u:object_r:build_odm_prop:s0 exact string
+ro.product.odm.model        u:object_r:build_odm_prop:s0 exact string
+ro.product.odm.name         u:object_r:build_odm_prop:s0 exact string
+
+# All vendor_dlkm build props are set by /vendor_dlkm/etc/build.prop
+ro.vendor_dlkm.build.date                        u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.date.utc                    u:object_r:build_vendor_prop:s0 exact int
+ro.vendor_dlkm.build.fingerprint                 u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.id                          u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.tags                        u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.type                        u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.version.incremental         u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.version.release             u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.version.release_or_codename u:object_r:build_vendor_prop:s0 exact string
+ro.vendor_dlkm.build.version.sdk                 u:object_r:build_vendor_prop:s0 exact int
+
+# All odm_dlkm build props are set by /odm_dlkm/etc/build.prop
+ro.product.odm_dlkm.brand        u:object_r:build_odm_prop:s0 exact string
+ro.product.odm_dlkm.device       u:object_r:build_odm_prop:s0 exact string
+ro.product.odm_dlkm.manufacturer u:object_r:build_odm_prop:s0 exact string
+ro.product.odm_dlkm.model        u:object_r:build_odm_prop:s0 exact string
+ro.product.odm_dlkm.name         u:object_r:build_odm_prop:s0 exact string
+
+ro.odm_dlkm.build.date                        u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.date.utc                    u:object_r:build_odm_prop:s0 exact int
+ro.odm_dlkm.build.fingerprint                 u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.id                          u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.tags                        u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.type                        u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.version.incremental         u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.version.release             u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.version.release_or_codename u:object_r:build_odm_prop:s0 exact string
+ro.odm_dlkm.build.version.sdk                 u:object_r:build_odm_prop:s0 exact int
+
+# enforces debugfs restrictions in non-user builds, set by /vendor/build.prop
+ro.product.debugfs_restrictions.enabled u:object_r:debugfs_restriction_prop:s0 exact bool
+
+# All vendor build props are set by /vendor/build.prop
+ro.vendor.build.date                        u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.date.utc                    u:object_r:build_vendor_prop:s0 exact int
+ro.vendor.build.fingerprint                 u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.fingerprint_has_digest      u:object_r:build_vendor_prop:s0 exact bool
+ro.vendor.build.id                          u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.tags                        u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.type                        u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.version.incremental         u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.version.release             u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.version.release_or_codename u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.build.version.sdk                 u:object_r:build_vendor_prop:s0 exact int
+ro.vendor.build.dont_use_vabc               u:object_r:build_vendor_prop:s0 exact bool
+
+# All vendor CPU abilist props are set by /vendor/build.prop
+ro.vendor.product.cpu.abilist   u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.product.cpu.abilist32 u:object_r:build_vendor_prop:s0 exact string
+ro.vendor.product.cpu.abilist64 u:object_r:build_vendor_prop:s0 exact string
+
+ro.product.board                    u:object_r:build_vendor_prop:s0 exact string
+ro.product.first_api_level          u:object_r:build_vendor_prop:s0 exact int
+ro.product.vendor.brand             u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor.device            u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor.manufacturer      u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor.model             u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor.name              u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor_dlkm.brand        u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor_dlkm.device       u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor_dlkm.manufacturer u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor_dlkm.model        u:object_r:build_vendor_prop:s0 exact string
+ro.product.vendor_dlkm.name         u:object_r:build_vendor_prop:s0 exact string
+
+# build props for attestation feature are set by property_service
+ro.product.brand_for_attestation u:object_r:build_attestation_prop:s0 exact string
+ro.product.model_for_attestation u:object_r:build_attestation_prop:s0 exact string
+ro.product.name_for_attestation  u:object_r:build_attestation_prop:s0 exact string
+ro.product.device_for_attestation  u:object_r:build_attestation_prop:s0 exact string
+ro.product.manufacturer_for_attestation  u:object_r:build_attestation_prop:s0 exact string
+
+# Vendor API level properties for the vFRC and GRF
+ro.board.first_api_level u:object_r:build_vendor_prop:s0 exact int
+ro.board.api_level       u:object_r:build_vendor_prop:s0 exact int
+ro.board.api_frozen      u:object_r:build_vendor_prop:s0 exact bool
+ro.llndk.api_level       u:object_r:build_prop:s0 exact int
+ro.vendor.api_level      u:object_r:build_vendor_prop:s0 exact int
+
+# Boot image build props set by /{second_stage_resources/,}boot/etc/build.prop
+ro.bootimage.build.date                        u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.date.utc                    u:object_r:build_bootimage_prop:s0 exact int
+ro.bootimage.build.fingerprint                 u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.id                          u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.tags                        u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.type                        u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.version.incremental         u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.version.release             u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.version.release_or_codename u:object_r:build_bootimage_prop:s0 exact string
+ro.bootimage.build.version.sdk                 u:object_r:build_bootimage_prop:s0 exact int
+
+ro.product.bootimage.brand        u:object_r:build_bootimage_prop:s0 exact string
+ro.product.bootimage.device       u:object_r:build_bootimage_prop:s0 exact string
+ro.product.bootimage.manufacturer u:object_r:build_bootimage_prop:s0 exact string
+ro.product.bootimage.model        u:object_r:build_bootimage_prop:s0 exact string
+ro.product.bootimage.name         u:object_r:build_bootimage_prop:s0 exact string
+
+# ro.product.property_source_order is settable from any build.prop
+ro.product.property_source_order u:object_r:build_config_prop:s0 exact string
+
+ro.crypto.state u:object_r:vold_status_prop:s0 exact enum encrypted unencrypted unsupported
+ro.crypto.type  u:object_r:vold_status_prop:s0 exact enum block file managed none
+
+ro.property_service.version u:object_r:property_service_version_prop:s0 exact int
+ro.property_service.async_persist_writes u:object_r:build_config_prop:s0 exact bool
+
+ro.vendor.redirect_socket_calls u:object_r:vendor_socket_hook_prop:s0 exact bool
+
+service.bootanim.exit       u:object_r:bootanim_system_prop:s0 exact int
+service.bootanim.progress   u:object_r:bootanim_system_prop:s0 exact int
+persist.bootanim.color1     u:object_r:bootanim_system_prop:s0 exact int
+persist.bootanim.color2     u:object_r:bootanim_system_prop:s0 exact int
+persist.bootanim.color3     u:object_r:bootanim_system_prop:s0 exact int
+persist.bootanim.color4     u:object_r:bootanim_system_prop:s0 exact int
+
+sys.init.userspace_reboot.in_progress u:object_r:userspace_reboot_exported_prop:s0 exact bool
+sys.use_memfd                         u:object_r:use_memfd_prop:s0 exact bool
+
+vold.decrypt u:object_r:vold_status_prop:s0 exact string
+
+aaudio.hw_burst_min_usec     u:object_r:aaudio_config_prop:s0 exact int
+aaudio.minimum_sleep_usec    u:object_r:aaudio_config_prop:s0 exact int
+aaudio.mixer_bursts          u:object_r:aaudio_config_prop:s0 exact int
+aaudio.mmap_exclusive_policy u:object_r:aaudio_config_prop:s0 exact int
+aaudio.mmap_policy           u:object_r:aaudio_config_prop:s0 exact int
+aaudio.wakeup_delay_usec     u:object_r:aaudio_config_prop:s0 exact int
+
+persist.rcs.supported u:object_r:exported_default_prop:s0 exact int
+
+ro.bionic.2nd_arch        u:object_r:cpu_variant_prop:s0 exact string
+ro.bionic.2nd_cpu_variant u:object_r:cpu_variant_prop:s0 exact string
+ro.bionic.arch            u:object_r:cpu_variant_prop:s0 exact string
+ro.bionic.cpu_variant     u:object_r:cpu_variant_prop:s0 exact string
+
+bionic.linker.16kb.app_compat.enabled u:object_r:bionic_linker_16kb_app_compat_prop:s0 exact bool
+
+ro.board.platform u:object_r:exported_default_prop:s0 exact string
+
+ro.boot.fake_battery         u:object_r:exported_default_prop:s0 exact int
+ro.boot.fstab_suffix         u:object_r:exported_default_prop:s0 exact string
+ro.boot.hardware.revision    u:object_r:exported_default_prop:s0 exact string
+ro.boot.product.hardware.sku u:object_r:exported_default_prop:s0 exact string
+ro.boot.product.vendor.sku   u:object_r:exported_default_prop:s0 exact string
+ro.boot.slot_suffix          u:object_r:exported_default_prop:s0 exact string
+
+# Vendor configurable property to be used specifically to assign industrial
+# design ID or vendor hardware identifier that encodes on device components.
+# This property should not be assigned a generic device name or identifier and
+# should not be redundant to properties like ro.boot.hardware. ro.product.name
+# etc.
+ro.boot.product.hardware.id  u:object_r:exported_default_prop:s0 exact string
+
+ro.boringcrypto.hwrand u:object_r:exported_default_prop:s0 exact bool
+
+# Update related props
+ro.build.ab_update                                u:object_r:exported_default_prop:s0 exact string
+ro.build.ab_update.gki.prevent_downgrade_version  u:object_r:ab_update_gki_prop:s0 exact bool
+ro.build.ab_update.gki.prevent_downgrade_spl      u:object_r:ab_update_gki_prop:s0 exact bool
+
+ro.build.expect.baseband   u:object_r:exported_default_prop:s0 exact string
+ro.build.expect.bootloader u:object_r:exported_default_prop:s0 exact string
+
+ro.carrier u:object_r:exported_default_prop:s0 exact string
+
+ro.config.low_ram           u:object_r:exported_config_prop:s0 exact bool
+ro.config.vc_call_vol_steps u:object_r:exported_config_prop:s0 exact int
+
+ro.frp.pst u:object_r:exported_default_prop:s0 exact string
+
+ro.hardware.activity_recognition u:object_r:exported_default_prop:s0 exact string
+ro.hardware.audio                u:object_r:exported_default_prop:s0 exact string
+ro.hardware.audio.a2dp           u:object_r:exported_default_prop:s0 exact string
+ro.hardware.audio.hearing_aid    u:object_r:exported_default_prop:s0 exact string
+ro.hardware.audio.primary        u:object_r:exported_default_prop:s0 exact string
+ro.hardware.audio.usb            u:object_r:exported_default_prop:s0 exact string
+ro.hardware.audio_policy         u:object_r:exported_default_prop:s0 exact string
+ro.hardware.bootctrl             u:object_r:exported_default_prop:s0 exact string
+ro.hardware.camera               u:object_r:exported_default_prop:s0 exact string
+ro.hardware.consumerir           u:object_r:exported_default_prop:s0 exact string
+ro.hardware.context_hub          u:object_r:exported_default_prop:s0 exact string
+ro.hardware.egl                  u:object_r:exported_default_prop:s0 exact string
+ro.hardware.fingerprint          u:object_r:exported_default_prop:s0 exact string
+ro.hardware.flp                  u:object_r:exported_default_prop:s0 exact string
+ro.hardware.gatekeeper           u:object_r:exported_default_prop:s0 exact string
+ro.hardware.gps                  u:object_r:exported_default_prop:s0 exact string
+ro.hardware.gralloc              u:object_r:exported_default_prop:s0 exact string
+ro.hardware.hdmi_cec             u:object_r:exported_default_prop:s0 exact string
+ro.hardware.hwcomposer           u:object_r:exported_default_prop:s0 exact string
+ro.hardware.input                u:object_r:exported_default_prop:s0 exact string
+ro.hardware.keystore             u:object_r:exported_default_prop:s0 exact string
+ro.hardware.keystore_desede      u:object_r:exported_default_prop:s0 exact string
+ro.hardware.lights               u:object_r:exported_default_prop:s0 exact string
+ro.hardware.local_time           u:object_r:exported_default_prop:s0 exact string
+ro.hardware.memtrack             u:object_r:exported_default_prop:s0 exact string
+ro.hardware.nfc                  u:object_r:exported_default_prop:s0 exact string
+ro.hardware.nfc_nci              u:object_r:exported_default_prop:s0 exact string
+ro.hardware.nfc_tag              u:object_r:exported_default_prop:s0 exact string
+ro.hardware.nvram                u:object_r:exported_default_prop:s0 exact string
+ro.hardware.power                u:object_r:exported_default_prop:s0 exact string
+ro.hardware.radio                u:object_r:exported_default_prop:s0 exact string
+ro.hardware.sensors              u:object_r:exported_default_prop:s0 exact string
+ro.hardware.sound_trigger        u:object_r:exported_default_prop:s0 exact string
+ro.hardware.thermal              u:object_r:exported_default_prop:s0 exact string
+ro.hardware.tv_input             u:object_r:exported_default_prop:s0 exact string
+ro.hardware.type                 u:object_r:exported_default_prop:s0 exact string
+ro.hardware.vehicle              u:object_r:exported_default_prop:s0 exact string
+ro.hardware.vibrator             u:object_r:exported_default_prop:s0 exact string
+ro.hardware.virtual_device       u:object_r:exported_default_prop:s0 exact string
+ro.hardware.vulkan               u:object_r:exported_default_prop:s0 exact string
+
+ro.hw_timeout_multiplier u:object_r:hw_timeout_multiplier_prop:s0 exact int
+
+ro.hwui.use_vulkan u:object_r:exported_default_prop:s0 exact bool
+
+# ro.kernel.* properties are emulator specific and deprecated. Do not use.
+# Should be retired once presubmit allows.
+ro.kernel.qemu             u:object_r:exported_default_prop:s0 exact bool
+ro.kernel.qemu.            u:object_r:exported_default_prop:s0
+ro.kernel.android.bootanim u:object_r:exported_default_prop:s0 exact int
+
+# This property is used by init to store the original value or /proc/sys/vm/watermark_scale_factor
+ro.kernel.watermark_scale_factor          u:object_r:init_storage_prop:s0 exact int
+
+ro.oem.key1 u:object_r:exported_default_prop:s0 exact string
+
+ro.product.vndk.version u:object_r:vndk_prop:s0 exact string
+
+ro.vndk.lite    u:object_r:vndk_prop:s0 exact bool
+ro.vndk.version u:object_r:vndk_prop:s0 exact string
+
+ro.vts.coverage u:object_r:vts_config_prop:s0 exact int
+
+vts.native_server.on u:object_r:vts_status_prop:s0 exact bool
+
+wifi.active.interface     u:object_r:wifi_hal_prop:s0 exact string
+wifi.aware.interface      u:object_r:wifi_hal_prop:s0 exact string
+wifi.concurrent.interface u:object_r:wifi_hal_prop:s0 exact string
+wifi.direct.interface     u:object_r:wifi_hal_prop:s0 exact string
+wifi.interface            u:object_r:wifi_hal_prop:s0 exact string
+wifi.interface.           u:object_r:wifi_hal_prop:s0 prefix string
+wlan.driver.status        u:object_r:wifi_hal_prop:s0 exact enum ok unloaded
+
+ro.boot.wificountrycode u:object_r:wifi_config_prop:s0 exact string
+
+ro.apex.updatable u:object_r:exported_default_prop:s0 exact bool
+
+# Property to enable incremental feature
+ro.incremental.enable      u:object_r:incremental_prop:s0
+
+# Properties to configure userspace reboot.
+init.userspace_reboot.is_supported u:object_r:userspace_reboot_config_prop:s0 exact bool
+init.userspace_reboot.sigkill.timeoutmillis u:object_r:userspace_reboot_config_prop:s0 exact int
+init.userspace_reboot.sigterm.timeoutmillis u:object_r:userspace_reboot_config_prop:s0 exact int
+init.userspace_reboot.started.timeoutmillis u:object_r:userspace_reboot_config_prop:s0 exact int
+init.userspace_reboot.userdata_remount.timeoutmillis u:object_r:userspace_reboot_config_prop:s0 exact int
+init.userspace_reboot.watchdog.timeoutmillis u:object_r:userspace_reboot_config_prop:s0 exact int
+
+sys.shutdown.requested u:object_r:exported_system_prop:s0 exact string
+
+# surfaceflinger properties
+ro.surface_flinger.default_composition_dataspace          u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.default_composition_pixel_format       u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.force_hwc_copy_for_virtual_displays    u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.has_HDR_display                        u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.has_wide_color_display                 u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.max_frame_buffer_acquired_buffers      u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.max_graphics_height                    u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.max_graphics_width                     u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.max_virtual_display_dimension          u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.primary_display_orientation            u:object_r:surfaceflinger_prop:s0 exact enum ORIENTATION_0 ORIENTATION_180 ORIENTATION_270 ORIENTATION_90
+ro.surface_flinger.present_time_offset_from_vsync_ns      u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.running_without_sync_framework         u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.start_graphics_allocator_service       u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.use_color_management                   u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.use_context_priority                   u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.use_vr_flinger                         u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.vsync_event_phase_offset_ns            u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.vsync_sf_event_phase_offset_ns         u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.wcg_composition_dataspace              u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.wcg_composition_pixel_format           u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.display_primary_red                    u:object_r:surfaceflinger_prop:s0 exact string
+ro.surface_flinger.display_primary_green                  u:object_r:surfaceflinger_prop:s0 exact string
+ro.surface_flinger.display_primary_blue                   u:object_r:surfaceflinger_prop:s0 exact string
+ro.surface_flinger.display_primary_white                  u:object_r:surfaceflinger_prop:s0 exact string
+ro.surface_flinger.protected_contents                     u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.set_idle_timer_ms                      u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.set_touch_timer_ms                     u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.set_display_power_timer_ms             u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.support_kernel_idle_timer              u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.supports_background_blur               u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.use_smart_90_for_video                 u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.use_content_detection_for_refresh_rate u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.color_space_agnostic_dataspace         u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.refresh_rate_switching                 u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.update_device_product_info_on_hotplug_reconnect u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.enable_adpf_cpu_hint                   u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.enable_frame_rate_override             u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.enable_layer_caching                   u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.display_update_imminent_timeout_ms     u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.uclamp.min                             u:object_r:surfaceflinger_prop:s0 exact int
+ro.surface_flinger.ignore_hdr_camera_layers               u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.clear_slots_with_set_layer_buffer      u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.prime_shader_cache.ultrahdr            u:object_r:surfaceflinger_prop:s0 exact bool
+ro.surface_flinger.game_default_frame_rate_override       u:object_r:surfaceflinger_prop:s0 exact int
+
+ro.sf.disable_triple_buffer u:object_r:surfaceflinger_prop:s0 exact bool
+ro.sf.lcd_density           u:object_r:surfaceflinger_prop:s0 exact int
+
+persist.sys.sf.color_mode       u:object_r:surfaceflinger_color_prop:s0 exact int
+persist.sys.sf.color_saturation u:object_r:surfaceflinger_color_prop:s0 exact string
+persist.sys.sf.native_mode      u:object_r:surfaceflinger_color_prop:s0 exact int
+
+# Binder cache properties.  These are world-readable
+cache_key.app_inactive                   u:object_r:binder_cache_system_server_prop:s0
+cache_key.is_compat_change_enabled       u:object_r:binder_cache_system_server_prop:s0
+cache_key.get_packages_for_uid           u:object_r:binder_cache_system_server_prop:s0
+cache_key.has_system_feature             u:object_r:binder_cache_system_server_prop:s0
+cache_key.is_interactive                 u:object_r:binder_cache_system_server_prop:s0
+cache_key.is_power_save_mode             u:object_r:binder_cache_system_server_prop:s0
+cache_key.is_user_unlocked               u:object_r:binder_cache_system_server_prop:s0
+cache_key.volume_list                    u:object_r:binder_cache_system_server_prop:s0
+cache_key.display_info                   u:object_r:binder_cache_system_server_prop:s0
+cache_key.location_enabled               u:object_r:binder_cache_system_server_prop:s0
+cache_key.package_info                   u:object_r:binder_cache_system_server_prop:s0
+
+cache_key.bluetooth.                     u:object_r:binder_cache_bluetooth_server_prop:s0 prefix string
+cache_key.system_server.                 u:object_r:binder_cache_system_server_prop:s0 prefix string
+cache_key.telephony.                     u:object_r:binder_cache_telephony_server_prop:s0 prefix string
+
+# Framework watchdog configuration properties.
+framework_watchdog.fatal_count                u:object_r:framework_watchdog_config_prop:s0 exact int
+framework_watchdog.fatal_window.second        u:object_r:framework_watchdog_config_prop:s0 exact int
+
+# Framework configuration properties.
+framework.pause_bg_animations.enabled         u:object_r:framework_status_prop:s0 exact bool
+
+gsm.operator.iso-country       u:object_r:telephony_status_prop:s0 exact string
+gsm.sim.operator.iso-country   u:object_r:telephony_status_prop:s0 exact string
+gsm.sim.operator.numeric       u:object_r:telephony_status_prop:s0 exact string
+persist.radio.airplane_mode_on u:object_r:telephony_status_prop:s0 exact bool
+
+ro.cdma.home.operator.alpha       u:object_r:telephony_config_prop:s0 exact string
+ro.cdma.home.operator.numeric     u:object_r:telephony_config_prop:s0 exact string
+ro.com.android.dataroaming        u:object_r:telephony_config_prop:s0 exact bool
+ro.com.android.prov_mobiledata    u:object_r:telephony_config_prop:s0 exact bool
+ro.radio.noril                    u:object_r:telephony_config_prop:s0 exact string
+ro.telephony.call_ring.multiple   u:object_r:telephony_config_prop:s0 exact bool
+ro.telephony.default_cdma_sub     u:object_r:telephony_config_prop:s0 exact int
+ro.telephony.default_network      u:object_r:telephony_config_prop:s0 exact string
+ro.telephony.iwlan_operation_mode u:object_r:telephony_config_prop:s0 exact enum default legacy AP-assisted
+telephony.active_modems.max_count u:object_r:telephony_config_prop:s0 exact int
+telephony.lteOnCdmaDevice         u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.volte_avail_ovr       u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.volte_avail_ovr0      u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.volte_avail_ovr1      u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.volte_avail_ovr2      u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.vt_avail_ovr          u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.vt_avail_ovr0         u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.vt_avail_ovr1         u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.vt_avail_ovr2         u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.wfc_avail_ovr         u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.wfc_avail_ovr0        u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.wfc_avail_ovr1        u:object_r:telephony_config_prop:s0 exact int
+persist.dbg.wfc_avail_ovr2        u:object_r:telephony_config_prop:s0 exact int
+
+# System locale list filter configuration
+ro.localization.locale_filter u:object_r:localization_prop:s0 exact string
+
+# Graphics related properties
+ro.opengles.version u:object_r:graphics_config_prop:s0 exact int
+
+ro.egl.blobcache.multifile       u:object_r:graphics_config_prop:s0 exact bool
+ro.egl.blobcache.multifile_limit u:object_r:graphics_config_prop:s0 exact int
+
+ro.gfx.driver.0          u:object_r:graphics_config_prop:s0 exact string
+ro.gfx.driver.1          u:object_r:graphics_config_prop:s0 exact string
+ro.gfx.angle.supported   u:object_r:graphics_config_prop:s0 exact bool
+ro.gfx.driver_build_time u:object_r:graphics_config_prop:s0 exact int
+
+graphics.gpu.profiler.support          u:object_r:graphics_config_prop:s0 exact bool
+graphics.gpu.profiler.vulkan_layer_apk u:object_r:graphics_config_prop:s0 exact string
+persist.graphics.egl             u:object_r:graphics_config_writable_prop:s0 exact string
+
+ro.cpuvulkan.version u:object_r:graphics_config_prop:s0 exact int
+
+ro.vulkan.apex          u:object_r:graphics_config_prop:s0 exact string
+
+# surfaceflinger-settable
+graphics.display.kernel_idle_timer.enabled u:object_r:surfaceflinger_display_prop:s0 exact bool
+
+# Disable/enable charger input
+power.battery_input.suspended u:object_r:power_debug_prop:s0 exact bool
+
+# zygote config property
+zygote.critical_window.minute u:object_r:zygote_config_prop:s0 exact int
+
+ro.zygote.disable_gl_preload u:object_r:zygote_config_prop:s0 exact bool
+
+# Allows a device to run without batch attestation keys
+remote_provisioning.strongbox.rkp_only u:object_r:remote_prov_prop:s0 exact bool
+remote_provisioning.tee.rkp_only u:object_r:remote_prov_prop:s0 exact bool
+
+# Hostname for the remote provisioning server a device should communicate with
+remote_provisioning.hostname u:object_r:remote_prov_prop:s0 exact string
+
+# Support for post-processing RKP certificates
+remote_provisioning.use_cert_processor u:object_r:remote_prov_cert_prop:s0 exact bool
+
+# Connection Timeout for remote provisioning step
+remote_provisioning.connect_timeout_millis u:object_r:remote_prov_prop:s0 exact int
+
+# Broadcast boot stages, which keystore listens to
+keystore.boot_level u:object_r:keystore_listen_prop:s0 exact int
+
+# Tracks keystore crash counts during a boot cycle.
+keystore.crash_count u:object_r:keystore_diagnostics_prop:s0 exact int
+
+# Tracks whether Keystore has successfully sent the module info hash to (V4+) KeyMints.
+keystore.module_hash.sent u:object_r:keystore_diagnostics_prop:s0 exact bool
+
+# Configure the means by which we protect the L0 key from the future
+ro.keystore.boot_level_key.strategy u:object_r:keystore_config_prop:s0 exact string
+
+partition.system.verified     u:object_r:verity_status_prop:s0 exact string
+partition.system_ext.verified u:object_r:verity_status_prop:s0 exact string
+partition.product.verified    u:object_r:verity_status_prop:s0 exact string
+partition.vendor.verified     u:object_r:verity_status_prop:s0 exact string
+partition.odm.verified        u:object_r:verity_status_prop:s0 exact string
+
+# Properties that holds the hashtree information for verity partitions.
+partition.system.verified.hash_alg     u:object_r:verity_status_prop:s0 exact string
+partition.system_ext.verified.hash_alg u:object_r:verity_status_prop:s0 exact string
+partition.product.verified.hash_alg    u:object_r:verity_status_prop:s0 exact string
+partition.vendor.verified.hash_alg     u:object_r:verity_status_prop:s0 exact string
+partition.odm.verified.hash_alg        u:object_r:verity_status_prop:s0 exact string
+partition.system.verified.root_digest     u:object_r:verity_status_prop:s0 exact string
+partition.system_ext.verified.root_digest u:object_r:verity_status_prop:s0 exact string
+partition.product.verified.root_digest    u:object_r:verity_status_prop:s0 exact string
+partition.vendor.verified.root_digest     u:object_r:verity_status_prop:s0 exact string
+partition.odm.verified.root_digest        u:object_r:verity_status_prop:s0 exact string
+
+ro.setupwizard.enterprise_mode u:object_r:setupwizard_prop:s0 exact bool
+ro.setupwizard.esim_cid_ignore u:object_r:setupwizard_prop:s0 exact string
+ro.setupwizard.rotation_locked u:object_r:setupwizard_prop:s0 exact bool
+ro.setupwizard.wifi_on_exit    u:object_r:setupwizard_prop:s0 exact bool
+
+ro.setupwizard.mode            u:object_r:setupwizard_mode_prop:s0 exact string
+
+setupwizard.enable_assist_gesture_training                         u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.avoid_duplicate_tos                            u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.baseline_setupwizard_enabled                   u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.day_night_mode_enabled                         u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.deferred_setup_low_ram_filter                  u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.deferred_setup_notification                    u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.deferred_setup_suggestion                      u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.device_default_dark_mode                       u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.esim_enabled                                   u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.google_services_deferred_setup_pretend_not_suw u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.lock_mobile_data                               u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.lock_mobile_data.carrier-1                     u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.portal_notification                            u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.predeferred_enabled                            u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.return_partner_customization_bundle            u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.show_pixel_tos                                 u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.use_biometric_lock                             u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.feature.wallpaper_suggestion_after_restore             u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.logging                                                u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.metrics_debug_mode                                     u:object_r:setupwizard_prop:s0 exact bool
+setupwizard.theme                                                  u:object_r:setupwizard_prop:s0 exact string
+
+db.log.detailed              u:object_r:sqlite_log_prop:s0 exact bool
+db.log.slow_query_threshold  u:object_r:sqlite_log_prop:s0 exact int
+db.log.slow_query_threshold. u:object_r:sqlite_log_prop:s0 prefix int
+
+# SOC related props
+ro.soc.manufacturer u:object_r:soc_prop:s0 exact string
+ro.soc.model        u:object_r:soc_prop:s0 exact string
+
+# set to true when running rollback tests to disable fallback-to-copy when enabling rollbacks
+# to detect failures where hard linking should work otherwise
+persist.rollback.is_test u:object_r:rollback_test_prop:s0 exact bool
+
+# bootanimation properties
+ro.bootanim.quiescent.enabled u:object_r:bootanim_config_prop:s0 exact bool
+ro.product.bootanim.file u:object_r:bootanim_config_prop:s0 exact string
+
+# dck properties
+ro.gms.dck.eligible_wcc u:object_r:dck_prop:s0 exact int
+ro.gms.dck.se_capability u:object_r:dck_prop:s0 exact int
+
+# virtualization service properties
+virtualizationservice.state.last_cid u:object_r:virtualizationservice_prop:s0 exact uint
+
+# composd properties
+composd.vm.art.memory_mib.config u:object_r:composd_vm_art_prop:s0 exact uint
+composd.vm.vendor.memory_mib.config u:object_r:composd_vm_vendor_prop:s0 exact int
+
+# properties for the virtual Face HAL
+persist.vendor.face.virtual.type u:object_r:virtual_face_prop:s0 exact string
+persist.vendor.face.virtual.strength u:object_r:virtual_face_prop:s0 exact string
+persist.vendor.face.virtual.enrollments u:object_r:virtual_face_prop:s0 exact string
+persist.vendor.face.virtual.features u:object_r:virtual_face_prop:s0 exact string
+persist.vendor.face.virtual.lockout_enable u:object_r:virtual_face_prop:s0 exact bool
+persist.vendor.face.virtual.lockout_timed_enable u:object_r:virtual_face_prop:s0 exact bool
+persist.vendor.face.virtual.lockout_timed_threshold u:object_r:virtual_face_prop:s0 exact int
+persist.vendor.face.virtual.lockout_timed_duration u:object_r:virtual_face_prop:s0 exact int
+persist.vendor.face.virtual.lockout_permanent_threshold u:object_r:virtual_face_prop:s0 exact int
+vendor.face.virtual.no_human_face_detected u:object_r:virtual_face_prop:s0 exact bool
+vendor.face.virtual.enrollment_hit u:object_r:virtual_face_prop:s0 exact int
+vendor.face.virtual.next_enrollment u:object_r:virtual_face_prop:s0 exact string
+vendor.face.virtual.authenticator_id u:object_r:virtual_face_prop:s0 exact int
+vendor.face.virtual.challenge u:object_r:virtual_face_prop:s0 exact int
+vendor.face.virtual.lockout u:object_r:virtual_face_prop:s0 exact bool
+vendor.face.virtual.operation_authenticate_fails u:object_r:virtual_face_prop:s0 exact bool
+vendor.face.virtual.operation_detect_interaction_fails u:object_r:virtual_face_prop:s0 exact bool
+vendor.face.virtual.operation_enroll_fails u:object_r:virtual_face_prop:s0 exact bool
+vendor.face.virtual.operation_authenticate_latency u:object_r:virtual_face_prop:s0 exact string
+vendor.face.virtual.operation_detect_interaction_latency u:object_r:virtual_face_prop:s0 exact string
+vendor.face.virtual.operation_enroll_latency u:object_r:virtual_face_prop:s0 exact string
+vendor.face.virtual.operation_authenticate_duration u:object_r:virtual_face_prop:s0 exact int
+
+# properties for the virtual Fingerprint HAL
+persist.vendor.fingerprint.virtual.type u:object_r:virtual_fingerprint_prop:s0 exact string
+persist.vendor.fingerprint.virtual.enrollments u:object_r:virtual_fingerprint_prop:s0 exact string
+persist.vendor.fingerprint.virtual.lockout u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.authenticator_id u:object_r:virtual_fingerprint_prop:s0 exact int
+persist.vendor.fingerprint.virtual.sensor_location u:object_r:virtual_fingerprint_prop:s0 exact string
+persist.vendor.fingerprint.virtual.sensor_id u:object_r:virtual_fingerprint_prop:s0 exact int
+persist.vendor.fingerprint.virtual.sensor_strength u:object_r:virtual_fingerprint_prop:s0 exact int
+persist.vendor.fingerprint.virtual.max_enrollments u:object_r:virtual_fingerprint_prop:s0 exact int
+persist.vendor.fingerprint.virtual.navigation_gesture u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.detect_interaction u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.udfps.display_touch u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.udfps.control_illumination u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.lockout_enable u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.lockout_timed_threshold u:object_r:virtual_fingerprint_prop:s0 exact int
+persist.vendor.fingerprint.virtual.lockout_timed_duration u:object_r:virtual_fingerprint_prop:s0 exact int
+persist.vendor.fingerprint.virtual.lockout_permanent_threshold u:object_r:virtual_fingerprint_prop:s0 exact int
+vendor.fingerprint.virtual.enrollment_hit u:object_r:virtual_fingerprint_prop:s0 exact int
+vendor.fingerprint.virtual.next_enrollment u:object_r:virtual_fingerprint_prop:s0 exact string
+vendor.fingerprint.virtual.challenge u:object_r:virtual_fingerprint_prop:s0 exact int
+vendor.fingerprint.virtual.operation_authenticate_fails u:object_r:virtual_fingerprint_prop:s0 exact bool
+vendor.fingerprint.virtual.operation_detect_interaction_fails u:object_r:virtual_fingerprint_prop:s0 exact bool
+vendor.fingerprint.virtual.operation_enroll_fails u:object_r:virtual_fingerprint_prop:s0 exact bool
+vendor.fingerprint.virtual.operation_authenticate_latency u:object_r:virtual_fingerprint_prop:s0 exact string
+vendor.fingerprint.virtual.operation_detect_interaction_latency u:object_r:virtual_fingerprint_prop:s0 exact string
+vendor.fingerprint.virtual.operation_enroll_latency u:object_r:virtual_fingerprint_prop:s0 exact string
+vendor.fingerprint.virtual.operation_authenticate_duration u:object_r:virtual_fingerprint_prop:s0 exact int
+
+# properties for tuner
+ro.tuner.lazyhal    u:object_r:tuner_config_prop:s0 exact bool
+tuner.server.enable u:object_r:tuner_server_ctl_prop:s0 exact bool
+
+# Adaptive haptics settings property
+vibrator.adaptive_haptics.enabled u:object_r:adaptive_haptics_prop:s0 exact string
+
+# UVC Gadget property
+ro.usb.uvc.enabled      u:object_r:usb_uvc_enabled_prop:s0 exact bool
+
+# System UI notification properties
+persist.sysui.notification.ranking_update_ashmem u:object_r:persist_sysui_ranking_update_prop:s0 exact bool
+persist.sysui.notification.builder_extras_override u:object_r:persist_sysui_builder_extras_prop:s0 exact bool
+
+# Properties for Quick Start setup.
+ro.quick_start.oem_id u:object_r:quick_start_prop:s0 exact string
+ro.quick_start.device_id u:object_r:quick_start_prop:s0 exact string
+
+# Properties for sensor service
+sensors.aosp_low_power_sensor_fusion.maximum_rate u:object_r:sensors_config_prop:s0 exact uint
+
+# Whether the device has a high quality barometer as defined on the CDD.
+# Set by OEMs, read for xTS verifier tests
+sensor.barometer.high_quality.implemented  u:object_r:high_barometer_quality_prop:s0 exact bool
+
+# Properties for game manager service
+persist.graphics.game_default_frame_rate.enabled  u:object_r:game_manager_config_prop:s0 exact bool
+
+# Properties for the HintManagerService
+persist.hms.use_hal_headrooms u:object_r:hint_manager_config_prop:s0 exact bool
+persist.hms.check_headroom_tid u:object_r:hint_manager_config_prop:s0 exact bool
+persist.hms.check_headroom_affinity u:object_r:hint_manager_config_prop:s0 exact bool
+persist.hms.check_headroom_proc_stat_min_millis u:object_r:hint_manager_config_prop:s0 exact int
+persist.hms.cpu_headroom_tid_max_cnt u:object_r:hint_manager_config_prop:s0 exact int
+
+# Properties for ThreadNetworkService
+threadnetwork.country_code u:object_r:threadnetwork_config_prop:s0 exact string
+
+# Properties for crashrecovery
+crashrecovery.attempting_factory_reset u:object_r:crashrecovery_prop:s0 exact bool
+crashrecovery.attempting_reboot u:object_r:crashrecovery_prop:s0 exact bool
+crashrecovery.boot_mitigation_count u:object_r:crashrecovery_prop:s0 exact int
+crashrecovery.boot_mitigation_start u:object_r:crashrecovery_prop:s0 exact int
+crashrecovery.max_rescue_level_attempted u:object_r:crashrecovery_prop:s0 exact int
+crashrecovery.rescue_boot_count u:object_r:crashrecovery_prop:s0 exact int
+crashrecovery.rescue_boot_start u:object_r:crashrecovery_prop:s0 exact int
+persist.crashrecovery.enable_rescue u:object_r:crashrecovery_prop:s0 exact bool
+persist.crashrecovery.last_factory_reset u:object_r:crashrecovery_prop:s0 exact int
+
+# Properties for controlling snapshotctl.
+sys.snapshotctl.map u:object_r:snapshotctl_prop:s0 exact string
+sys.snapshotctl.unmap u:object_r:snapshotctl_prop:s0 exact string
+
+# Properties for enabling/disabling system services
+ro.system_settings.service.odp_enabled   u:object_r:system_service_enable_prop:s0 exact bool
+ro.system_settings.service.backgound_install_control_enabled   u:object_r:system_service_enable_prop:s0 exact bool
+
+# Properties related to Trusty VMs
+trusty.security_vm.nonsecure_vm_ready u:object_r:trusty_security_vm_sys_prop:s0 exact bool
+trusty.security_vm.vm_cid u:object_r:trusty_security_vm_sys_prop:s0 exact int
+
+# Properties that allows vendors to enable Trusty security VM features
+trusty.security_vm.enabled u:object_r:trusty_security_vm_sys_vendor_prop:s0 exact bool
+trusty.security_vm.keymint.enabled u:object_r:trusty_security_vm_sys_vendor_prop:s0 exact bool
+
+# Properties that allows vendors to enable Trusty widevine VM features
+# Enable Widevine VM
+trusty.widevine_vm.enabled           u:object_r:drm_config_prop:s0 exact bool
+# Sets the path used by Widevine HALs to find correct library for the widevine
+# service provider location
+widevine.liboemcrypto.path          u:object_r:drm_config_prop:s0 exact string
+
+# Properties for mmd
+mmd. u:object_r:mmd_prop:s0
+mmd.zram.enabled u:object_r:mmd_shared_prop:s0 exact bool
+mmd.enabled_aconfig u:object_r:mmd_shared_status_prop:s0 exact bool
+mmd.status. u:object_r:mmd_status_prop:s0
diff --git a/prebuilts/api/202504/private/radio.te b/prebuilts/api/202504/private/radio.te
new file mode 100644
index 0000000..ef384ba
--- /dev/null
+++ b/prebuilts/api/202504/private/radio.te
@@ -0,0 +1,74 @@
+typeattribute radio coredomain, mlstrustedsubject;
+
+app_domain(radio)
+
+read_runtime_log_tags(radio)
+
+# Property service
+set_prop(radio, radio_control_prop)
+set_prop(radio, radio_prop)
+set_prop(radio, net_radio_prop)
+set_prop(radio, telephony_status_prop)
+set_prop(radio, radio_cdma_ecm_prop)
+
+# ctl interface
+set_prop(radio, ctl_rildaemon_prop)
+
+# Telephony code contains time / time zone detection logic so it reads the associated properties.
+get_prop(radio, time_prop)
+
+# allow telephony to access platform compat to log permission denials
+allow radio platform_compat_service:service_manager find;
+
+allow radio uce_service:service_manager find;
+
+# Manage /data/misc/emergencynumberdb
+allow radio emergency_data_file:dir r_dir_perms;
+allow radio emergency_data_file:file r_file_perms;
+
+# allow telephony to access related cache properties
+set_prop(radio, binder_cache_telephony_server_prop);
+
+# allow sending pulled atoms to statsd
+binder_call(radio, statsd)
+
+net_domain(radio)
+bluetooth_domain(radio)
+binder_service(radio)
+
+# Talks to hal_telephony_server via the rild socket only for devices without full treble
+not_full_treble(`unix_socket_connect(radio, rild, hal_telephony_server)')
+
+# Data file accesses.
+allow radio radio_data_file:dir create_dir_perms;
+allow radio radio_data_file:notdevfile_class_set create_file_perms;
+allow radio radio_core_data_file:dir r_dir_perms;
+allow radio radio_core_data_file:file r_file_perms;
+
+allow radio net_data_file:dir search;
+allow radio net_data_file:file r_file_perms;
+
+add_service(radio, radio_service)
+allow radio audioserver_service:service_manager find;
+allow radio cameraserver_service:service_manager find;
+allow radio drmserver_service:service_manager find;
+allow radio mediaserver_service:service_manager find;
+allow radio nfc_service:service_manager find;
+allow radio app_api_service:service_manager find;
+allow radio system_api_service:service_manager find;
+allow radio timedetector_service:service_manager find;
+allow radio timezonedetector_service:service_manager find;
+
+# Perform HwBinder IPC.
+hwbinder_use(radio)
+hal_client_domain(radio, hal_telephony)
+
+# Used by TelephonyManager
+allow radio proc_cmdline:file r_file_perms;
+
+###
+### Neverallow rules
+###
+
+neverallow { domain -radio -init }
+    binder_cache_telephony_server_prop:property_service set;
diff --git a/prebuilts/api/202504/private/recovery.te b/prebuilts/api/202504/private/recovery.te
new file mode 100644
index 0000000..24dfd43
--- /dev/null
+++ b/prebuilts/api/202504/private/recovery.te
@@ -0,0 +1,212 @@
+typeattribute recovery coredomain;
+
+# The allow rules are only included in the recovery policy.
+# Otherwise recovery is only allowed the domain rules.
+recovery_only(`
+  # Reboot the device
+  set_prop(recovery, powerctl_prop)
+
+  # Read serial number of the device from system properties
+  get_prop(recovery, serialno_prop)
+
+  # Set sys.usb.ffs.ready when starting minadbd for sideload.
+  get_prop(recovery, ffs_config_prop)
+  set_prop(recovery, ffs_control_prop)
+
+  # Set sys.usb.config when switching into fastboot.
+  set_prop(recovery, usb_control_prop)
+  set_prop(recovery, usb_prop)
+
+  # Read ro.boot.bootreason
+  get_prop(recovery, bootloader_boot_reason_prop)
+
+  # Read storage properties (for correctly formatting filesystems)
+  get_prop(recovery, storage_config_prop)
+
+  set_prop(recovery, gsid_prop)
+
+  # These are needed to allow recovery to manage network
+  allow recovery self:netlink_route_socket { create write read nlmsg_readpriv nlmsg_read };
+  allow recovery self:global_capability_class_set net_admin;
+  allow recovery self:tcp_socket { create ioctl };
+  allowxperm recovery self:tcp_socket ioctl { SIOCGIFFLAGS SIOCSIFFLAGS };
+
+  # Start snapuserd for merging VABC updates
+  set_prop(recovery, ctl_snapuserd_prop)
+
+  # Needed to communicate with snapuserd to complete merges.
+  allow recovery snapuserd_socket:sock_file write;
+  allow recovery snapuserd:unix_stream_socket connectto;
+  allow recovery dm_user_device:dir r_dir_perms;
+  get_prop(recovery, snapuserd_prop)
+
+  # Set fastbootd protocol property
+  set_prop(recovery, fastbootd_protocol_prop)
+
+  get_prop(recovery, recovery_config_prop)
+
+  # Needed to read bootconfig parameters through libfs_mgr
+  allow recovery proc_bootconfig:file r_file_perms;
+
+  # Allow recovery to perform an update as update_engine would do.
+  typeattribute recovery update_engine_common;
+  # Recovery can use HIDL HALs in passthrough mode
+  passthrough_hal_client_domain(recovery, hal_bootctl)
+
+  # Recovery can use AIDL HALs in binder mode
+  binder_use(recovery)
+  hal_client_domain(recovery, hal_health)
+
+  allow recovery self:global_capability_class_set {
+    chown
+    dac_override
+    dac_read_search
+    fowner
+    setuid
+    setgid
+    sys_admin
+    sys_tty_config
+  };
+
+  # Run helpers from / or /system without changing domain.
+  r_dir_file(recovery, rootfs)
+  allow recovery rootfs:file execute_no_trans;
+  allow recovery system_file:file execute_no_trans;
+  allow recovery toolbox_exec:file rx_file_perms;
+
+  # Mount filesystems.
+  allow recovery rootfs:dir mounton;
+  allow recovery tmpfs:dir mounton;
+  allow recovery { fs_type enforce_debugfs_restriction(`-debugfs_type') }:filesystem ~relabelto;
+  allow recovery unlabeled:filesystem ~relabelto;
+  allow recovery contextmount_type:filesystem relabelto;
+
+  # We may be asked to set an SELinux label for a type not known to the
+  # currently loaded policy. Allow it.
+  allow recovery unlabeled:{ file lnk_file } { create_file_perms relabelfrom relabelto };
+  allow recovery unlabeled:dir { create_dir_perms relabelfrom relabelto };
+
+  # Get file contexts
+  allow recovery file_contexts_file:file r_file_perms;
+
+  # Write to /proc/sys/vm/drop_caches
+  allow recovery proc_drop_caches:file w_file_perms;
+
+  # Read /proc/swaps
+  allow recovery proc_swaps:file r_file_perms;
+
+  # Read kernel config through libvintf for OTA matching
+  allow recovery config_gz:file { open read getattr };
+
+  # Write to /sys/class/android_usb/android0/enable.
+  r_dir_file(recovery, sysfs_android_usb)
+  allow recovery sysfs_android_usb:file w_file_perms;
+
+  # Write to /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq.
+  allow recovery sysfs_devices_system_cpu:file w_file_perms;
+
+  allow recovery sysfs_batteryinfo:file r_file_perms;
+
+  # Read /sysfs/fs/ext4/features
+  r_dir_file(recovery, sysfs_fs_ext4_features)
+
+  # Read from /sys/class/leds/lcd-backlight/max_brightness and write to /s/c/l/l/brightness to
+  # control backlight brightness.
+  allow recovery sysfs_leds:dir r_dir_perms;
+  allow recovery sysfs_leds:file rw_file_perms;
+  allow recovery sysfs_leds:lnk_file read;
+
+  allow recovery kernel:system syslog_read;
+
+  # Access /dev/usb-ffs/adb/ep0
+  allow recovery functionfs:dir search;
+  allow recovery functionfs:file rw_file_perms;
+  allowxperm recovery functionfs:file ioctl FUNCTIONFS_ENDPOINT_DESC;
+
+  # Access to /sys/fs/selinux/policyvers for compatibility check
+  allow recovery selinuxfs:file r_file_perms;
+
+  # Required to e.g. wipe userdata/cache.
+  allow recovery device:dir r_dir_perms;
+  allow recovery block_device:dir r_dir_perms;
+  allow recovery dev_type:blk_file rw_file_perms;
+  allowxperm recovery { userdata_block_device metadata_block_device cache_block_device }:blk_file ioctl BLKPBSZGET;
+
+  # GUI
+  allow recovery graphics_device:chr_file rw_file_perms;
+  allow recovery graphics_device:dir r_dir_perms;
+  allow recovery input_device:dir r_dir_perms;
+  allow recovery input_device:chr_file r_file_perms;
+  allow recovery tty_device:chr_file rw_file_perms;
+
+  # Create /tmp/recovery.log and execute /tmp/update_binary.
+  allow recovery tmpfs:file { create_file_perms x_file_perms };
+  allow recovery tmpfs:dir create_dir_perms;
+
+  # Manage files on /cache and /cache/recovery
+  allow recovery { cache_file cache_recovery_file }:dir create_dir_perms;
+  allow recovery { cache_file cache_recovery_file }:file create_file_perms;
+
+  # Read /sys/class/thermal/*/temp for thermal info.
+  r_dir_file(recovery, sysfs_thermal)
+
+  # Read files on /oem.
+  r_dir_file(recovery, oemfs);
+
+  # Use setfscreatecon() to label files for OTA updates.
+  allow recovery self:process setfscreate;
+
+  # Allow recovery to create a fuse filesystem, and read files from it.
+  allow recovery fuse_device:chr_file rw_file_perms;
+  allow recovery fuse:dir r_dir_perms;
+  allow recovery fuse:file r_file_perms;
+
+  wakelock_use(recovery)
+
+  # This line seems suspect, as it should not really need to
+  # set scheduling parameters for a kernel domain task.
+  allow recovery kernel:process setsched;
+
+  # These are needed to update dynamic partitions in recovery.
+  r_dir_file(recovery, sysfs_dm)
+  allowxperm recovery super_block_device_type:blk_file ioctl { BLKIOMIN BLKALIGNOFF };
+
+  # Allow using libfiemap/gsid directly (no binder in recovery).
+  allow recovery gsi_metadata_file_type:dir search;
+  allow recovery ota_metadata_file:dir rw_dir_perms;
+  allow recovery ota_metadata_file:file create_file_perms;
+
+  # Allow mounting /metadata for writing update states
+  allow recovery metadata_file:dir { getattr mounton };
+
+  # Recovery uses liblogwrap to write fsck logs to kmsg, liblogwrap requires devpts.
+  allow recovery devpts:chr_file rw_file_perms;
+  allow recovery kmsg_device:chr_file { getattr w_file_perms };
+')
+
+###
+### neverallow rules
+###
+
+# Recovery should never touch /data.
+#
+# In particular, if /data is encrypted, it is not accessible
+# to recovery anyway.
+#
+# For now, we only enforce write/execute restrictions, as domain.te
+# contains a number of read-only rules that apply to all
+# domains, including recovery.
+#
+# TODO: tighten this up further.
+neverallow recovery {
+   data_file_type
+   -cache_file
+   -cache_recovery_file
+  with_native_coverage(`-method_trace_data_file')
+}:file { no_w_file_perms no_x_file_perms };
+neverallow recovery {
+   data_file_type
+   -cache_file
+   -cache_recovery_file
+  with_native_coverage(`-method_trace_data_file')
+}:dir no_w_dir_perms;
diff --git a/prebuilts/api/202504/private/recovery_persist.te b/prebuilts/api/202504/private/recovery_persist.te
new file mode 100644
index 0000000..3e3c66c
--- /dev/null
+++ b/prebuilts/api/202504/private/recovery_persist.te
@@ -0,0 +1,39 @@
+typeattribute recovery_persist coredomain;
+
+init_daemon_domain(recovery_persist)
+
+allow recovery_persist pstorefs:dir search;
+allow recovery_persist pstorefs:file r_file_perms;
+
+allow recovery_persist recovery_data_file:file create_file_perms;
+allow recovery_persist recovery_data_file:dir create_dir_perms;
+
+allow recovery_persist cache_file:dir search;
+allow recovery_persist cache_file:lnk_file read;
+allow recovery_persist cache_recovery_file:dir rw_dir_perms;
+allow recovery_persist cache_recovery_file:file { r_file_perms unlink };
+
+###
+### Neverallow rules
+###
+### recovery_persist should NEVER do any of this
+
+# Block device access.
+neverallow recovery_persist dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow recovery_persist domain:process ptrace;
+
+# Write to /system.
+neverallow recovery_persist system_file_type:dir_file_class_set write;
+
+# Write to files in /data/data
+neverallow recovery_persist { app_data_file_type system_data_file }:dir_file_class_set write;
+
+# recovery_persist is not allowed to write anywhere other than recovery_data_file
+neverallow recovery_persist {
+  file_type
+  -recovery_data_file
+  userdebug_or_eng(`-coredump_file')
+  with_native_coverage(`-method_trace_data_file')
+}:file write;
diff --git a/prebuilts/api/202504/private/recovery_refresh.te b/prebuilts/api/202504/private/recovery_refresh.te
new file mode 100644
index 0000000..9dd95e3
--- /dev/null
+++ b/prebuilts/api/202504/private/recovery_refresh.te
@@ -0,0 +1,31 @@
+typeattribute recovery_refresh coredomain;
+
+init_daemon_domain(recovery_refresh)
+
+allow recovery_refresh pstorefs:dir search;
+allow recovery_refresh pstorefs:file r_file_perms;
+# NB: domain inherits write_logd which hands us write to pmsg_device
+
+###
+### Neverallow rules
+###
+### recovery_refresh should NEVER do any of this
+
+# Block device access.
+neverallow recovery_refresh dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow recovery_refresh domain:process ptrace;
+
+# Write to /system.
+neverallow recovery_refresh system_file_type:dir_file_class_set write;
+
+# Write to files in /data/data or system files on /data
+neverallow recovery_refresh { app_data_file_type system_data_file }:dir_file_class_set write;
+
+# recovery_refresh is not allowed to write anywhere
+neverallow recovery_refresh {
+  file_type
+  userdebug_or_eng(`-coredump_file')
+  with_native_coverage(`-method_trace_data_file')
+}:file write;
diff --git a/prebuilts/api/202504/private/remote_provisioning_service_server.te b/prebuilts/api/202504/private/remote_provisioning_service_server.te
new file mode 100644
index 0000000..710b43d
--- /dev/null
+++ b/prebuilts/api/202504/private/remote_provisioning_service_server.te
@@ -0,0 +1,5 @@
+# This service is hosted by system server, and provides a stable aidl
+# front-end for a mainline module that is loaded into system server.
+add_service(remote_provisioning_service_server, remote_provisioning_service)
+
+binder_use(remote_provisioning_service_server)
diff --git a/prebuilts/api/202504/private/remount.te b/prebuilts/api/202504/private/remount.te
new file mode 100644
index 0000000..5ef7fac
--- /dev/null
+++ b/prebuilts/api/202504/private/remount.te
@@ -0,0 +1,25 @@
+type remount, domain, coredomain;
+type remount_exec, system_file_type, exec_type, file_type;
+
+userdebug_or_eng(`
+  # Allow init to run clean_scratch_files and do auto domain transfer.
+  init_daemon_domain(remount)
+
+  # Allow talking to gsid.
+  binder_use(remount)
+  allow remount gsi_service:service_manager find;
+  binder_call(remount, gsid)
+
+  # Allow searching for /metadata/gsi/remount/lp_metadata.
+  allow remount { metadata_file gsi_metadata_file_type }:dir search;
+
+  # Allow remount to flip the overlayfs bit in the super partition.
+  # This requires being able to read fstab, find /dev/block/by-name/super,
+  # and read-write super.
+  r_dir_file(remount, sysfs_dt_firmware_android)
+  allow remount proc_bootconfig:file r_file_perms;
+  allow remount proc_cmdline:file r_file_perms;
+  allow remount block_device:dir r_dir_perms;
+  allow remount super_block_device_type:blk_file rw_file_perms;
+  allowxperm remount super_block_device_type:blk_file ioctl { BLKIOMIN BLKALIGNOFF };
+')
diff --git a/prebuilts/api/202504/private/rkp_cert_processor.te b/prebuilts/api/202504/private/rkp_cert_processor.te
new file mode 100644
index 0000000..e5c9d07
--- /dev/null
+++ b/prebuilts/api/202504/private/rkp_cert_processor.te
@@ -0,0 +1,15 @@
+# Cert processor service
+type rkp_cert_processor, domain, coredomain;
+type rkp_cert_processor_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(rkp_cert_processor)
+net_domain(rkp_cert_processor)
+
+binder_use(rkp_cert_processor)
+binder_call(rkp_cert_processor, system_server)
+
+add_service(rkp_cert_processor, rkp_cert_processor_service)
+
+use_bootstrap_libs(rkp_cert_processor)
+
+allow rkp_cert_processor package_native_service:service_manager find;
diff --git a/prebuilts/api/202504/private/rkpd.te b/prebuilts/api/202504/private/rkpd.te
new file mode 100644
index 0000000..45e3e8d
--- /dev/null
+++ b/prebuilts/api/202504/private/rkpd.te
@@ -0,0 +1,15 @@
+# Policies for Remote Key Provisioning Daemon (rkpd)
+type rkpd, domain;
+type rkpd_exec, system_file_type, exec_type, file_type;
+
+typeattribute rkpd coredomain;
+
+binder_use(rkpd)
+binder_service(rkpd)
+
+init_daemon_domain(rkpd)
+
+add_service(rkpd, rkpd_registrar_service)
+add_service(rkpd, rkpd_refresh_service)
+
+get_prop(rkpd, device_config_remote_key_provisioning_native_prop)
diff --git a/prebuilts/api/202504/private/rkpd_app.te b/prebuilts/api/202504/private/rkpd_app.te
new file mode 100644
index 0000000..e7809e9
--- /dev/null
+++ b/prebuilts/api/202504/private/rkpd_app.te
@@ -0,0 +1,27 @@
+###
+### A domain for sandboxing the remote key provisioning daemon
+### app that is shipped via mainline.
+###
+typeattribute rkpdapp coredomain;
+
+app_domain(rkpdapp)
+net_domain(rkpdapp)
+
+# RKPD needs to be able to call the remote provisioning HALs
+hal_client_domain(rkpdapp, hal_keymint)
+hal_client_domain(rkpdapp, hal_remotelyprovisionedcomponent_avf)
+
+# Grant access to certain system properties related to RKP
+get_prop(rkpdapp, device_config_remote_key_provisioning_native_prop)
+set_prop(rkpdapp, remote_prov_prop)
+
+# Grant access to the normal services that are available to all apps
+allow rkpdapp app_api_service:service_manager find;
+
+# Grant access to media.metrics service, needed for widevine. This
+# access is granted to all other apps already (e.g. untrusted_app_all).
+allow rkpdapp mediametrics_service:service_manager find;
+
+# Grant access to statsd
+allow rkpdapp statsmanager_service:service_manager find;
+binder_call(rkpdapp, statsd)
diff --git a/prebuilts/api/202504/private/roles_decl b/prebuilts/api/202504/private/roles_decl
new file mode 100644
index 0000000..c84fcba
--- /dev/null
+++ b/prebuilts/api/202504/private/roles_decl
@@ -0,0 +1 @@
+role r;
diff --git a/prebuilts/api/202504/private/rootdisk_sysdev.te b/prebuilts/api/202504/private/rootdisk_sysdev.te
new file mode 100644
index 0000000..f92fd79
--- /dev/null
+++ b/prebuilts/api/202504/private/rootdisk_sysdev.te
@@ -0,0 +1 @@
+allow rootdisk_sysdev sysfs:filesystem associate;
diff --git a/prebuilts/api/202504/private/rs.te b/prebuilts/api/202504/private/rs.te
new file mode 100644
index 0000000..2674c0e
--- /dev/null
+++ b/prebuilts/api/202504/private/rs.te
@@ -0,0 +1,46 @@
+# Any files which would have been created as app_data_file and
+# privapp_data_file will be created as app_exec_data_file instead.
+allow rs { app_data_file privapp_data_file }:dir ra_dir_perms;
+allow rs app_exec_data_file:file create_file_perms;
+type_transition rs app_data_file:file app_exec_data_file;
+type_transition rs privapp_data_file:file app_exec_data_file;
+
+# Follow /data/user/0 symlink
+allow rs system_data_file:lnk_file read;
+
+# Read files from the app home directory.
+allow rs { app_data_file privapp_data_file }:file r_file_perms;
+allow rs { app_data_file privapp_data_file }:dir r_dir_perms;
+
+# Cleanup app_exec_data_file files in the app home directory.
+allow rs { app_data_file privapp_data_file }:dir remove_name;
+
+# Use vendor resources
+allow rs vendor_file:dir r_dir_perms;
+r_dir_file(rs, vendor_overlay_file)
+r_dir_file(rs, vendor_app_file)
+# Vendor overlay can be found in vendor apex
+allow rs vendor_apex_metadata_file:dir { getattr search };
+
+# Read contents of app apks
+r_dir_file(rs, apk_data_file)
+
+allow rs gpu_device:chr_file rw_file_perms;
+allow rs ion_device:chr_file r_file_perms;
+allow rs same_process_hal_file:file { r_file_perms execute };
+
+# File descriptors passed from app to renderscript
+allow rs { untrusted_app_all ephemeral_app priv_app }:fd use;
+
+# See b/291211299. Since rs is deprecated, this shouldn't be too dangerous, since new
+# renderscript usages shouldn't be popping up.
+dontaudit rs { zygote surfaceflinger hal_graphics_allocator }:fd use;
+
+# rs can access app data, so ensure it can only be entered via an app domain and cannot have
+# CAP_DAC_OVERRIDE.
+neverallow rs rs:capability_class_set *;
+neverallow { domain -appdomain } rs:process { dyntransition transition };
+neverallow rs { domain -crash_dump }:process { dyntransition transition };
+neverallow rs app_data_file_type:file_class_set ~r_file_perms;
+# rs should never use network sockets
+neverallow rs *:network_socket_class_set *;
diff --git a/prebuilts/api/202504/private/rss_hwm_reset.te b/prebuilts/api/202504/private/rss_hwm_reset.te
new file mode 100644
index 0000000..30818c2
--- /dev/null
+++ b/prebuilts/api/202504/private/rss_hwm_reset.te
@@ -0,0 +1,14 @@
+type rss_hwm_reset_exec, system_file_type, exec_type, file_type;
+
+# Start rss_hwm_reset from init.
+init_daemon_domain(rss_hwm_reset)
+
+# Search /proc/pid directories.
+allow rss_hwm_reset domain:dir search;
+
+# Write to /proc/pid/clear_refs of other processes.
+# /proc/pid/clear_refs is S_IWUSER, see: fs/proc/base.c
+allow rss_hwm_reset self:global_capability_class_set { dac_override };
+
+# Write to /prc/pid/clear_refs.
+allow rss_hwm_reset domain:file w_file_perms;
diff --git a/prebuilts/api/202504/private/runas.te b/prebuilts/api/202504/private/runas.te
new file mode 100644
index 0000000..1d9aed0
--- /dev/null
+++ b/prebuilts/api/202504/private/runas.te
@@ -0,0 +1,45 @@
+typeattribute runas coredomain;
+
+# ndk-gdb invokes adb shell run-as.
+domain_auto_trans(shell, runas_exec, runas)
+
+allow runas adbd:fd use;
+allow runas adbd:process sigchld;
+allow runas adbd:unix_stream_socket { read write };
+allow runas shell:fd use;
+allow runas shell:fifo_file { read write };
+allow runas shell:unix_stream_socket { read write };
+allow runas devpts:chr_file { read write ioctl };
+allow runas shell_data_file:file { read write };
+
+# run-as reads package information.
+allow runas system_data_file:file r_file_perms;
+allow runas system_data_file:lnk_file getattr;
+allow runas packages_list_file:file r_file_perms;
+
+# The app's data dir may be accessed through a symlink.
+allow runas system_data_file:lnk_file read;
+
+# run-as checks and changes to the app data dir.
+dontaudit runas self:global_capability_class_set { dac_override dac_read_search };
+allow runas app_data_file:dir { getattr search };
+
+# run-as switches to the app UID/GID.
+allow runas self:global_capability_class_set { setuid setgid };
+
+# run-as switches to the app security context.
+selinux_check_context(runas) # validate context
+allow runas self:process setcurrent;
+allow runas non_system_app_set:process dyntransition; # setcon
+
+# runas/libselinux needs access to seapp_contexts_file to
+# determine which domain to transition to.
+allow runas seapp_contexts_file:file r_file_perms;
+
+###
+### neverallow rules
+###
+
+# run-as cannot have capabilities other than CAP_SETUID and CAP_SETGID
+neverallow runas self:global_capability_class_set ~{ setuid setgid };
+neverallow runas self:global_capability2_class_set *;
diff --git a/prebuilts/api/202504/private/runas_app.te b/prebuilts/api/202504/private/runas_app.te
new file mode 100644
index 0000000..88b4abb
--- /dev/null
+++ b/prebuilts/api/202504/private/runas_app.te
@@ -0,0 +1,32 @@
+typeattribute runas_app coredomain;
+
+app_domain(runas_app)
+untrusted_app_domain(runas_app)
+net_domain(runas_app)
+bluetooth_domain(runas_app)
+
+# The ability to call exec() on files in the apps home directories
+# when using run-as on a debuggable app. Used to run lldb/ndk-gdb/simpleperf,
+# which are copied to the apps home directories.
+allow runas_app app_data_file:file execute_no_trans;
+
+# Allow lldb/ndk-gdb/simpleperf to read maps of debuggable app processes.
+r_dir_file(runas_app, untrusted_app_all)
+
+# Allow lldb/ndk-gdb/simpleperf to ptrace attach to debuggable app processes.
+allow runas_app untrusted_app_all:process { ptrace sigkill signal sigstop };
+allow runas_app untrusted_app_all:unix_stream_socket connectto;
+
+# Suppress denial logspam when simpleperf is trying to find a matching process
+# by scanning /proc/<pid>/cmdline files. The /proc/<pid> directories are within
+# the same domain as their respective process, most of which this domain is not
+# allowed to see.
+dontaudit runas_app domain:dir search;
+
+# Allow runas_app to call perf_event_open for profiling debuggable app
+# processes, but not the whole system.
+allow runas_app self:perf_event { open read write };
+neverallow runas_app self:perf_event ~{ open read write };
+
+# Suppress bionic loader denial /data/local/tests directories.
+dontaudit runas_app shell_test_data_file:dir search;
diff --git a/prebuilts/api/202504/private/scheduler_service_server.te b/prebuilts/api/202504/private/scheduler_service_server.te
new file mode 100644
index 0000000..b3cede1
--- /dev/null
+++ b/prebuilts/api/202504/private/scheduler_service_server.te
@@ -0,0 +1 @@
+add_hwservice(scheduler_service_server, fwk_scheduler_hwservice)
diff --git a/prebuilts/api/202504/private/sdcardd.te b/prebuilts/api/202504/private/sdcardd.te
new file mode 100644
index 0000000..7cea890
--- /dev/null
+++ b/prebuilts/api/202504/private/sdcardd.te
@@ -0,0 +1,47 @@
+typeattribute sdcardd coredomain;
+
+type_transition sdcardd system_data_file:{ dir file } media_rw_data_file;
+
+allow sdcardd cgroup:dir create_dir_perms;
+allow sdcardd cgroup_v2:dir create_dir_perms;
+allow sdcardd fuse_device:chr_file rw_file_perms;
+allow sdcardd rootfs:dir mounton;  # TODO: deprecated in M
+allow sdcardd sdcardfs:filesystem remount;
+allow sdcardd tmpfs:dir r_dir_perms;
+allow sdcardd mnt_media_rw_file:dir r_dir_perms;
+allow sdcardd storage_file:dir search;
+allow sdcardd storage_stub_file:dir { search mounton };
+allow sdcardd { sdcard_type fuse }:filesystem { mount unmount };
+allow sdcardd self:global_capability_class_set { setuid setgid dac_override dac_read_search sys_admin sys_resource };
+
+allow sdcardd { sdcard_type fuse }:dir create_dir_perms;
+allow sdcardd { sdcard_type fuse }:file create_file_perms;
+
+allow sdcardd media_rw_data_file:dir create_dir_perms;
+allow sdcardd media_rw_data_file:file create_file_perms;
+
+# Read /data/system/packages.list.
+allow sdcardd system_data_file:file r_file_perms;
+allow sdcardd packages_list_file:file r_file_perms;
+
+# Read /data/misc/installd/layout_version
+allow sdcardd install_data_file:file r_file_perms;
+allow sdcardd install_data_file:dir search;
+
+# Allow stdin/out back to vold
+allow sdcardd vold:fd use;
+allow sdcardd vold:fifo_file { read write getattr };
+
+# Allow running on top of expanded storage
+allow sdcardd mnt_expand_file:dir search;
+
+# access /proc/filesystems
+allow sdcardd proc_filesystems:file r_file_perms;
+
+###
+### neverallow rules
+###
+
+# The sdcard daemon should no longer be started from init
+neverallow init sdcardd_exec:file execute;
+neverallow init sdcardd:process { transition dyntransition };
diff --git a/prebuilts/api/202504/private/sdk_sandbox_34.te b/prebuilts/api/202504/private/sdk_sandbox_34.te
new file mode 100644
index 0000000..bb15057
--- /dev/null
+++ b/prebuilts/api/202504/private/sdk_sandbox_34.te
@@ -0,0 +1,9 @@
+###
+### SDK Sandbox process.
+###
+### This file defines the security policy for the sdk sandbox processes
+### for targetSdkVersion=34.
+type sdk_sandbox_34, domain, coredomain, sdk_sandbox_all, sdk_sandbox_current;
+
+net_domain(sdk_sandbox_34)
+app_domain(sdk_sandbox_34)
diff --git a/prebuilts/api/202504/private/sdk_sandbox_all.te b/prebuilts/api/202504/private/sdk_sandbox_all.te
new file mode 100644
index 0000000..41b2799
--- /dev/null
+++ b/prebuilts/api/202504/private/sdk_sandbox_all.te
@@ -0,0 +1,148 @@
+###
+### sdk_sandbox_all
+###
+### This file defines the rules shared by all sdk_sandbox_all domains.
+### Apps are labeled based on mac_permissions.xml (maps signer and
+### optionally package name to seinfo value) and seapp_contexts (maps UID
+### and optionally seinfo value to domain for process and type for data
+### directory).  The sdk_sandbox_all_all attribute is assigned to all default
+### seapp_contexts for any app with UID between FIRST_SDK_SANDBOX_UID (20000)
+### and LAST_SDK_SANDBOX_UID (29999) if the app has no specific seinfo
+### value as determined from mac_permissions.xml.
+
+allow sdk_sandbox_all system_linker_exec:file execute_no_trans;
+
+# Required to read CTS tests data from the shell_data_file location.
+allow sdk_sandbox_all shell_data_file:file r_file_perms;
+allow sdk_sandbox_all shell_data_file:dir r_dir_perms;
+
+# allow sdk sandbox to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow sdk_sandbox_all system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow sandbox to search in sdk system server directory
+# additionally, for webview to work, getattr has been permitted
+allow sdk_sandbox_all sdk_sandbox_system_data_file:dir { getattr search };
+# allow sandbox to create files and dirs in sdk data directory
+allow sdk_sandbox_all sdk_sandbox_data_file:dir create_dir_perms;
+allow sdk_sandbox_all sdk_sandbox_data_file:file create_file_perms;
+
+# allow apps to pass open fds to the sdk sandbox
+allow sdk_sandbox_all { app_data_file privapp_data_file }:file { getattr read };
+
+###
+### neverallow rules
+###
+
+neverallow sdk_sandbox_all app_data_file_type:file { execute execute_no_trans };
+
+# Receive or send uevent messages.
+neverallow sdk_sandbox_all domain:netlink_kobject_uevent_socket *;
+
+# Receive or send generic netlink messages
+neverallow sdk_sandbox_all domain:netlink_socket *;
+
+# Too much leaky information in debugfs. It's a security
+# best practice to ensure these files aren't readable.
+neverallow sdk_sandbox_all debugfs_type:file read;
+
+# execute gpu_device
+neverallow sdk_sandbox_all gpu_device:chr_file execute;
+
+# access files in /sys with the default sysfs label
+neverallow sdk_sandbox_all sysfs:file *;
+
+# Avoid reads from generically labeled /proc files
+# Create a more specific label if needed
+neverallow sdk_sandbox_all proc:file { no_rw_file_perms no_x_file_perms };
+
+# Directly access external storage
+neverallow sdk_sandbox_all { sdcard_type media_rw_data_file }:file {open create};
+neverallow sdk_sandbox_all { sdcard_type media_rw_data_file }:dir search;
+
+# Avoid reads to proc_net, it contains too much device wide information about
+# ongoing connections.
+neverallow sdk_sandbox_all proc_net:file no_rw_file_perms;
+
+# SDK sandbox processes have their own storage not related to app_data_file or privapp_data_file
+# TODO(b/280514080): shell_data_file shouldn't be allowed here
+neverallow sdk_sandbox_all { app_data_file_type -sdk_sandbox_data_file -shell_data_file -radio_data_file }:dir no_rw_file_perms;
+neverallow sdk_sandbox_all { app_data_file_type -sdk_sandbox_data_file -shell_data_file -radio_data_file }:file ~{ getattr read };
+
+# SDK sandbox processes don't  have any access to external storage
+neverallow sdk_sandbox_all { media_rw_data_file }:dir no_rw_file_perms;
+neverallow sdk_sandbox_all { media_rw_data_file }:file no_rw_file_perms;
+
+neverallow { sdk_sandbox_all } tmpfs:dir no_rw_file_perms;
+
+neverallow sdk_sandbox_all hal_drm_service:service_manager find;
+
+# Only certain system components should have access to sdk_sandbox_system_data_file
+# sdk_sandbox only needs search. Restricted in follow up neverallow rule.
+neverallow {
+    domain
+    -init
+    -installd
+    -system_server
+    -vold_prepare_subdirs
+} sdk_sandbox_system_data_file:dir { relabelfrom };
+
+neverallow {
+    domain
+    -init
+    -installd
+    -sdk_sandbox_all
+    -system_server
+    -vold_prepare_subdirs
+    -zygote
+} sdk_sandbox_system_data_file:dir { create_dir_perms relabelto };
+
+# Only certain system components should have access to sdk_sandbox_all_system_data_file
+# sdk_sandbox_all only needs search. Restricted in follow up neverallow rule.
+neverallow {
+    domain
+    -init
+    -installd
+    -system_server
+    -vold_prepare_subdirs
+} sdk_sandbox_system_data_file:dir { relabelfrom };
+
+neverallow {
+    domain
+    -init
+    -installd
+    -sdk_sandbox_all
+    -system_server
+    -vold_prepare_subdirs
+    -zygote
+} sdk_sandbox_system_data_file:dir { create_dir_perms relabelto };
+
+# sdk_sandbox_all only needs to traverse through the sdk_sandbox_all_system_data_file
+neverallow sdk_sandbox_all sdk_sandbox_system_data_file:dir ~{ getattr search };
+
+# Only dirs should be created at sdk_sandbox_all_system_data_file level
+neverallow { domain -init } sdk_sandbox_system_data_file:file *;
+
+# Restrict unix stream sockets for IPC.
+neverallow sdk_sandbox_all {
+    domain
+    -sdk_sandbox_all
+    -netd
+    -logd
+    -adbd
+    userdebug_or_eng(`-su')
+    # needed for profiling
+    -traced
+    -traced_perf
+    -heapprofd
+    # fallback crash handling for processes that can't exec crash_dump.
+    -tombstoned
+    # needed to connect to PRNG seeder daemon.
+    -prng_seeder
+}:unix_stream_socket connectto;
+neverallow {
+    domain
+    -adbd
+    -sdk_sandbox_all
+} sdk_sandbox_all:unix_stream_socket connectto;
diff --git a/prebuilts/api/202504/private/sdk_sandbox_audit.te b/prebuilts/api/202504/private/sdk_sandbox_audit.te
new file mode 100644
index 0000000..bb531ca
--- /dev/null
+++ b/prebuilts/api/202504/private/sdk_sandbox_audit.te
@@ -0,0 +1,34 @@
+###
+### SDK Sandbox process.
+###
+### This file defines the audit sdk sandbox security policy for
+### the set of restrictions proposed for the next SDK level.
+###
+### The sdk_sandbox_audit domain has the same rules as the
+### sdk_sandbox_current domain and additional auditing rules
+### for the accesses we are considering forbidding in the upcoming
+### sdk_sandbox_next domain.
+type sdk_sandbox_audit, domain, coredomain, sdk_sandbox_all, sdk_sandbox_current;
+
+net_domain(sdk_sandbox_audit)
+app_domain(sdk_sandbox_audit)
+
+# Auditallow rules for accesses that are currently allowed but we
+# might remove in the future.
+
+auditallow sdk_sandbox_audit {
+    cameraserver_service
+    ephemeral_app_api_service
+    mediadrmserver_service
+    radio_service
+}:service_manager find;
+
+auditallow sdk_sandbox_audit {
+    property_type
+    -system_property_type
+}:file rw_file_perms;
+
+auditallow sdk_sandbox_audit {
+    property_type
+    -system_property_type
+}:dir rw_dir_perms;
diff --git a/prebuilts/api/202504/private/sdk_sandbox_current.te b/prebuilts/api/202504/private/sdk_sandbox_current.te
new file mode 100644
index 0000000..55e5bc1
--- /dev/null
+++ b/prebuilts/api/202504/private/sdk_sandbox_current.te
@@ -0,0 +1,87 @@
+###
+### SDK Sandbox process.
+###
+### This file defines the security policy for the sdk sandbox processes
+### for the current SDK level.
+
+# Allow finding services. This is different from ephemeral_app policy.
+# Adding services manually to the allowlist is preferred hence app_api_service is not used.
+allow sdk_sandbox_current {
+    activity_service
+    activity_task_service
+    appops_service
+    audio_service
+    audioserver_service
+    batteryproperties_service
+    batterystats_service
+    cameraserver_service
+    connectivity_service
+    connmetrics_service
+    deviceidle_service
+    display_service
+    dropbox_service
+    ephemeral_app_api_service
+    font_service
+    game_service
+    gpu_service
+    graphicsstats_service
+    hardware_properties_service
+    hint_service
+    imms_service
+    input_method_service
+    input_service
+    IProxyService_service
+    ipsec_service
+    launcherapps_service
+    legacy_permission_service
+    light_service
+    locale_service
+    media_communication_service
+    mediadrmserver_service
+    mediaextractor_service
+    mediametrics_service
+    media_projection_service
+    media_router_service
+    mediaserver_service
+    media_session_service
+    memtrackproxy_service
+    midi_service
+    netpolicy_service
+    netstats_service
+    network_management_service
+    notification_service
+    package_service
+    permission_checker_service
+    permission_service
+    permissionmgr_service
+    platform_compat_service
+    power_service
+    procstats_service
+    radio_service
+    registry_service
+    restrictions_service
+    rttmanager_service
+    search_service
+    selection_toolbar_service
+    sensor_privacy_service
+    sensorservice_service
+    servicediscovery_service
+    settings_service
+    speech_recognition_service
+    statusbar_service
+    storagestats_service
+    surfaceflinger_service
+    telecom_service
+    tethering_service
+    textclassification_service
+    textservices_service
+    texttospeech_service
+    thermal_service
+    translation_service
+    tv_iapp_service
+    tv_input_service
+    uimode_service
+    vcn_management_service
+    webviewupdate_service
+}:service_manager find;
+
diff --git a/prebuilts/api/202504/private/sdk_sandbox_next.te b/prebuilts/api/202504/private/sdk_sandbox_next.te
new file mode 100644
index 0000000..6fd16ca
--- /dev/null
+++ b/prebuilts/api/202504/private/sdk_sandbox_next.te
@@ -0,0 +1,89 @@
+###
+### SDK Sandbox process.
+###
+### This file defines the security policy for the sdk sandbox processes
+### for a test set of restrictions. These restrictions will be adapted
+### with modifications, into the set of restrictions for the next SDK
+### level.
+type sdk_sandbox_next, domain, coredomain, sdk_sandbox_all;
+
+net_domain(sdk_sandbox_next)
+app_domain(sdk_sandbox_next)
+
+# Allow finding services. This is different from ephemeral_app policy.
+# Adding services manually to the allowlist is preferred hence app_api_service is not used.
+allow sdk_sandbox_next {
+    activity_service
+    activity_task_service
+    appops_service
+    audio_service
+    audioserver_service
+    batteryproperties_service
+    batterystats_service
+    connectivity_service
+    connmetrics_service
+    deviceidle_service
+    display_service
+    dropbox_service
+    font_service
+    game_service
+    gpu_service
+    graphicsstats_service
+    hardware_properties_service
+    hint_service
+    imms_service
+    input_method_service
+    input_service
+    IProxyService_service
+    ipsec_service
+    launcherapps_service
+    legacy_permission_service
+    light_service
+    locale_service
+    media_communication_service
+    mediaextractor_service
+    mediametrics_service
+    media_projection_service
+    media_router_service
+    mediaserver_service
+    media_session_service
+    memtrackproxy_service
+    midi_service
+    netpolicy_service
+    netstats_service
+    network_management_service
+    notification_service
+    package_service
+    permission_checker_service
+    permission_service
+    permissionmgr_service
+    platform_compat_service
+    power_service
+    procstats_service
+    registry_service
+    restrictions_service
+    rttmanager_service
+    search_service
+    selection_toolbar_service
+    sensor_privacy_service
+    sensorservice_service
+    servicediscovery_service
+    settings_service
+    speech_recognition_service
+    statusbar_service
+    storagestats_service
+    surfaceflinger_service
+    telecom_service
+    tethering_service
+    textclassification_service
+    textservices_service
+    texttospeech_service
+    thermal_service
+    translation_service
+    tv_iapp_service
+    tv_input_service
+    uimode_service
+    vcn_management_service
+    webviewupdate_service
+}:service_manager find;
+
diff --git a/prebuilts/api/202504/private/seapp_contexts b/prebuilts/api/202504/private/seapp_contexts
new file mode 100644
index 0000000..1a4d944
--- /dev/null
+++ b/prebuilts/api/202504/private/seapp_contexts
@@ -0,0 +1,224 @@
+# The entries in this file define how security contexts for apps are determined.
+# Each entry lists input selectors, used to match the app, and outputs which are
+# used to determine the security contexts for matching apps.
+#
+# Input selectors:
+#       isSystemServer (boolean)
+#       isEphemeralApp (boolean)
+#       user (string)
+#       seinfo (string)
+#       name (string)
+#       isPrivApp (boolean)
+#       minTargetSdkVersion (unsigned integer)
+#       fromRunAs (boolean)
+#       isIsolatedComputeApp (boolean)
+#       isSdkSandboxNext (boolean)
+#       isSdkSandboxAudit (boolean)
+#
+# All specified input selectors in an entry must match (i.e. logical AND).
+# An unspecified string or boolean selector with no default will match any
+# value.
+# A user, or name string selector that ends in * will perform a prefix
+# match.
+# String matching is case-insensitive.
+# See external/selinux/libselinux/src/android/android_platform.c,
+# seapp_context_lookup().
+#
+# isSystemServer=true only matches the system server.
+# An unspecified isSystemServer defaults to false.
+# isEphemeralApp=true will match apps marked by PackageManager as Ephemeral
+# user=_app will match any regular app process.
+# user=_isolated will match any isolated service process.
+# user=_sdksandbox will match sdk sandbox process for an app.
+# Other values of user are matched against the name associated with the process
+# UID.
+# seinfo= matches aginst the seinfo tag for the app, determined from
+# mac_permissions.xml files.
+# The ':' character is reserved and may not be used in seinfo.
+# name= matches against the package name of the app.
+# isPrivApp=true will only match for applications preinstalled in
+#       /system/priv-app.
+# minTargetSdkVersion will match applications with a targetSdkVersion
+#       greater than or equal to the specified value. If unspecified,
+#       it has a default value of 0.
+# fromRunAs=true means the process being labeled is started by run-as. Default
+# is false.
+# isIsolatedComputeApp=true means the process re-uses an isolated Uid but not
+# restricted to run in an isolated_app domain. Processes match this selector will
+# be mapped to isolated_compute_app by default. It is expected to be used together
+# with user=_isolated. This selector should not be used unless it is intended
+# to provide isolated processes with relaxed security restrictions.
+# An unspecified isIsolatedComputeApp defaults to false.
+#
+# The sdk_sandbox_next and sdk_sandbox_audit domains are special domains for the
+# SDK sandbox process. sdk_sandbox_next defines the set of restrictions proposed
+# for the upcoming dessert release. sdk_sandbox_audit uses the same restrictions
+# as the current dessert release, with additional auditing rules for the accesses
+# we are considering forbidding in the upcoming release.
+#
+# The sdk_sandbox_next and sdk_sandbox_audit domains are special domains for the
+# SDK sandbox process. sdk_sandbox_next defines the set of restrictions proposed
+# for the upcoming dessert release. sdk_sandbox_audit uses the same restrictions
+# as the current dessert release, with additional auditing rules for the accesses
+# we are considering forbidding in the upcoming release.
+#
+# isSdkSandboxNext=true means sdk sandbox processes will get
+# sdk_sandbox_next sepolicy applied to them.
+# An unspecified isSdkSandboxNext defaults to false.
+#
+# isSdkSandboxAudit=true means sdk sandbox processes will get
+# sdk_sandbox_audit sepolicy applied to them.
+# An unspecified isSdkSandboxAudit defaults to false.
+#
+# isSdkSandboxAudit=true means sdk sandbox processes will get
+# sdk_sandbox_audit sepolicy applied to them.
+# An unspecified isSdkSandboxAudit defaults to false.
+#
+# Precedence: entries are compared using the following rules, in the order shown
+# (see external/selinux/libselinux/src/android/android_seapp.c,
+# seapp_context_cmp()).
+#       (1) isSystemServer=true before isSystemServer=false.
+#       (2) Specified isEphemeralApp= before unspecified isEphemeralApp=
+#             boolean.
+#       (3) Specified user= string before unspecified user= string;
+#             more specific user= string before less specific user= string.
+#       (4) Specified seinfo= string before unspecified seinfo= string.
+#       (5) Specified name= string before unspecified name= string;
+#             more specific name= string before less specific name= string.
+#       (6) Specified isPrivApp= before unspecified isPrivApp= boolean.
+#       (7) Higher value of minTargetSdkVersion= before lower value of
+#              minTargetSdkVersion= integer. Note that minTargetSdkVersion=
+#              defaults to 0 if unspecified.
+#       (8) fromRunAs=true before fromRunAs=false.
+#       (9) Platform seapp_contexts files (system, system_ext, product) before
+#              vendor seapp_contexts files (vendor, odm).
+# (A fixed selector is more specific than a prefix, i.e. ending in *, and a
+# longer prefix is more specific than a shorter prefix.)
+# Apps are checked against entries in precedence order until the first match,
+# regardless of their order in this file.
+#
+# Duplicate entries, i.e. with identical input selectors, are not allowed.
+#
+# Outputs:
+#       domain (string)
+#       type (string)
+#       levelFrom (string; one of none, all, app, or user)
+#       level (string)
+#
+# domain= determines the label to be used for the app process; entries
+# without domain= are ignored for this purpose.
+# type= specifies the label to be used for the app data directory; entries
+# without type= are ignored for this purpose. The label specified must
+# have the app_data_file_type attribute.
+# levelFrom and level are used to determine the level (sensitivity + categories)
+# for MLS/MCS.
+# levelFrom=none omits the level.
+# levelFrom=app determines the level from the process UID.
+# levelFrom=user determines the level from the user ID.
+# levelFrom=all determines the level from both UID and user ID.
+#
+# levelFrom=user is only supported for _app or _isolated UIDs.
+# levelFrom=app or levelFrom=all is only supported for _app UIDs.
+# level may be used to specify a fixed level for any UID.
+#
+#
+# Neverallow Assertions
+# Additional compile time assertion checks for the rules in this file can be
+# added as well. The assertion
+# rules are lines beginning with the keyword neverallow. Full support for PCRE
+# regular expressions exists on all input and output selectors. Neverallow
+# rules are never output to the built seapp_contexts file. Like all keywords,
+# neverallows are case-insensitive. A neverallow is asserted when all key value
+# inputs are matched on a key value rule line.
+#
+
+# only the system server can be assigned the system_server domains
+neverallow isSystemServer=false domain=system_server
+neverallow isSystemServer=false domain=system_server_startup
+neverallow isSystemServer="" domain=system_server
+neverallow isSystemServer="" domain=system_server_startup
+
+# system domains should never be assigned outside of system uid
+neverallow user=((?!system).)* domain=system_app
+neverallow user=((?!system).)* type=system_app_data_file
+
+# any non priv-app with a non-known uid with a specified name should have a specified
+# seinfo
+neverallow user=_app isPrivApp=false name=.* seinfo=""
+neverallow user=_app isPrivApp=false name=.* seinfo=default
+
+# neverallow shared relro to any other domain
+# and neverallow any other uid into shared_relro
+neverallow user=shared_relro domain=((?!shared_relro).)*
+neverallow user=((?!shared_relro).)* domain=shared_relro
+
+# neverallow non-isolated uids into isolated_app domain
+# and vice versa
+neverallow user=_isolated isIsolatedComputeApp=false domain=((?!isolated_app).)*
+neverallow user=((?!_isolated).)* domain=isolated_app
+
+# neverallow isolatedComputeApp into domains other than isolated_compute_app
+neverallow user=_isolated isIsolatedComputeApp=true domain=((?!isolated_compute_app).)*
+
+# uid shell should always be in shell domain, however non-shell
+# uid's can be in shell domain
+neverallow user=shell domain=((?!shell).)*
+
+# only the package named com.android.shell can run in the shell domain
+neverallow domain=shell name=((?!com\.android\.shell).)*
+neverallow user=shell name=((?!com\.android\.shell).)*
+
+# Ephemeral Apps must run in the ephemeral_app domain
+neverallow isEphemeralApp=true domain=((?!ephemeral_app).)*
+
+isSystemServer=true domain=system_server_startup
+
+# sdksandbox must run in an sdksandbox domain
+neverallow user=_sdksandbox domain=((?!sdk_sandbox).)*
+
+user=_app seinfo=platform name=com.android.traceur domain=traceur_app type=app_data_file levelFrom=all
+user=system seinfo=platform domain=system_app type=system_app_data_file
+user=system seinfo=platform isPrivApp=true name=com.android.DeviceAsWebcam domain=device_as_webcam type=system_app_data_file levelFrom=all
+user=bluetooth seinfo=bluetooth domain=bluetooth type=bluetooth_data_file
+user=network_stack seinfo=network_stack domain=network_stack type=radio_data_file
+# NFC stack signed with platform cert needed for maintaining backwards comptibility for -next release config.
+user=nfc seinfo=platform domain=nfc type=nfc_data_file
+user=nfc seinfo=nfc domain=nfc type=nfc_data_file
+user=secure_element seinfo=platform domain=secure_element levelFrom=all
+user=radio seinfo=platform domain=radio type=radio_data_file
+user=shared_relro domain=shared_relro levelFrom=all
+user=shell seinfo=platform domain=shell name=com.android.shell type=shell_data_file
+user=webview_zygote seinfo=webview_zygote domain=webview_zygote
+user=_isolated domain=isolated_app levelFrom=user
+user=_isolated isIsolatedComputeApp=true domain=isolated_compute_app levelFrom=user
+user=_sdksandbox domain=sdk_sandbox_34 type=sdk_sandbox_data_file levelFrom=all
+user=_sdksandbox isSdkSandboxNext=true domain=sdk_sandbox_next type=sdk_sandbox_data_file levelFrom=all
+user=_sdksandbox isSdkSandboxAudit=true domain=sdk_sandbox_audit type=sdk_sandbox_data_file levelFrom=all
+user=_app seinfo=app_zygote domain=app_zygote levelFrom=user
+user=_app seinfo=media domain=mediaprovider type=app_data_file levelFrom=user
+user=_app seinfo=platform domain=platform_app type=app_data_file levelFrom=user
+user=_app isEphemeralApp=true domain=ephemeral_app type=app_data_file levelFrom=all
+user=_app isPrivApp=true domain=priv_app type=privapp_data_file levelFrom=user
+user=_app isPrivApp=true name=com.google.android.permissioncontroller domain=permissioncontroller_app type=privapp_data_file levelFrom=all
+user=_app seinfo=media isPrivApp=true name=com.android.providers.media.module domain=mediaprovider_app type=privapp_data_file levelFrom=all
+user=_app seinfo=media isPrivApp=true name=com.android.providers.media.module:* domain=mediaprovider_app type=privapp_data_file levelFrom=all
+user=_app isPrivApp=true name=com.google.android.providers.media.module domain=mediaprovider_app type=privapp_data_file levelFrom=all
+user=_app isPrivApp=true name=com.google.android.providers.media.module:* domain=mediaprovider_app type=privapp_data_file levelFrom=all
+user=_app seinfo=platform isPrivApp=true name=com.android.permissioncontroller domain=permissioncontroller_app type=privapp_data_file levelFrom=all
+user=_app isPrivApp=true name=com.android.vzwomatrigger domain=vzwomatrigger_app type=privapp_data_file levelFrom=all
+user=_app isPrivApp=true name=com.android.rkpdapp domain=rkpdapp type=privapp_data_file levelFrom=all
+user=_app isPrivApp=true name=com.google.android.rkpdapp domain=rkpdapp type=privapp_data_file levelFrom=all
+user=_app isPrivApp=true name=com.google.android.gms domain=gmscore_app type=privapp_data_file levelFrom=user
+user=_app isPrivApp=true name=com.google.android.gms.* domain=gmscore_app type=privapp_data_file levelFrom=user
+user=_app isPrivApp=true name=com.google.android.gms:* domain=gmscore_app type=privapp_data_file levelFrom=user
+user=_app isPrivApp=true name=com.google.android.gsf domain=gmscore_app type=privapp_data_file levelFrom=user
+user=_app minTargetSdkVersion=34 domain=untrusted_app type=app_data_file levelFrom=all
+user=_app minTargetSdkVersion=32 domain=untrusted_app_32 type=app_data_file levelFrom=all
+user=_app minTargetSdkVersion=30 domain=untrusted_app_30 type=app_data_file levelFrom=all
+user=_app minTargetSdkVersion=29 domain=untrusted_app_29 type=app_data_file levelFrom=all
+user=_app minTargetSdkVersion=28 domain=untrusted_app_27 type=app_data_file levelFrom=all
+user=_app minTargetSdkVersion=26 domain=untrusted_app_27 type=app_data_file levelFrom=user
+user=_app domain=untrusted_app_25 type=app_data_file levelFrom=user
+user=_app minTargetSdkVersion=28 fromRunAs=true domain=runas_app levelFrom=all
+user=_app fromRunAs=true domain=runas_app levelFrom=user
+user=_app isPrivApp=true name=com.android.virtualization.terminal domain=vmlauncher_app type=privapp_data_file levelFrom=all
diff --git a/prebuilts/api/202504/private/secure_element.te b/prebuilts/api/202504/private/secure_element.te
new file mode 100644
index 0000000..fd3b688
--- /dev/null
+++ b/prebuilts/api/202504/private/secure_element.te
@@ -0,0 +1,16 @@
+# secure element subsystem
+typeattribute secure_element coredomain;
+app_domain(secure_element)
+
+binder_service(secure_element)
+add_service(secure_element, secure_element_service)
+
+allow secure_element app_api_service:service_manager find;
+hal_client_domain(secure_element, hal_secure_element)
+
+# already open bugreport file descriptors may be shared with
+# the secure element process, from a file in
+# /data/data/com.android.shell/files/bugreports/bugreport-*.
+allow secure_element shell_data_file:file read;
+
+allow secure_element vendor_uuid_mapping_config_file:file r_file_perms;
diff --git a/prebuilts/api/202504/private/security_classes b/prebuilts/api/202504/private/security_classes
new file mode 100644
index 0000000..0537214
--- /dev/null
+++ b/prebuilts/api/202504/private/security_classes
@@ -0,0 +1,177 @@
+# FLASK
+
+#
+# Define the security object classes
+#
+
+# Classes marked as userspace are classes
+# for userspace object managers
+
+class security
+class process
+class system
+class capability
+
+# file-related classes
+class filesystem
+class file
+class anon_inode
+class dir
+class fd
+class lnk_file
+class chr_file
+class blk_file
+class sock_file
+class fifo_file
+
+# network-related classes
+class socket
+class tcp_socket
+class udp_socket
+class rawip_socket
+class node
+class netif
+class netlink_socket
+class packet_socket
+class key_socket
+class unix_stream_socket
+class unix_dgram_socket
+
+# sysv-ipc-related classes
+class sem
+class msg
+class msgq
+class shm
+class ipc
+
+# extended netlink sockets
+class netlink_route_socket
+class netlink_tcpdiag_socket
+class netlink_nflog_socket
+class netlink_xfrm_socket
+class netlink_selinux_socket
+class netlink_audit_socket
+class netlink_dnrt_socket
+
+# IPSec association
+class association
+
+# Updated Netlink class for KOBJECT_UEVENT family.
+class netlink_kobject_uevent_socket
+
+class appletalk_socket
+
+class packet
+
+# Kernel access key retention
+class key
+
+class dccp_socket
+
+class memprotect
+
+# network peer labels
+class peer
+
+# Capabilities >= 32
+class capability2
+
+# kernel services that need to override task security, e.g. cachefiles
+class kernel_service
+
+class tun_socket
+
+class binder
+
+# Updated netlink classes for more recent netlink protocols.
+class netlink_iscsi_socket
+class netlink_fib_lookup_socket
+class netlink_connector_socket
+class netlink_netfilter_socket
+class netlink_generic_socket
+class netlink_scsitransport_socket
+class netlink_rdma_socket
+class netlink_crypto_socket
+
+# Infiniband
+class infiniband_pkey
+class infiniband_endport
+
+# Capability checks when on a non-init user namespace
+class cap_userns
+class cap2_userns
+
+# New socket classes introduced by extended_socket_class policy capability.
+# These two were previously mapped to rawip_socket.
+class sctp_socket
+class icmp_socket
+# These were previously mapped to socket.
+class ax25_socket
+class ipx_socket
+class netrom_socket
+class atmpvc_socket
+class x25_socket
+class rose_socket
+class decnet_socket
+class atmsvc_socket
+class rds_socket
+class irda_socket
+class pppox_socket
+class llc_socket
+class can_socket
+class tipc_socket
+class bluetooth_socket
+class iucv_socket
+class rxrpc_socket
+class isdn_socket
+class phonet_socket
+class ieee802154_socket
+class caif_socket
+class alg_socket
+class nfc_socket
+class vsock_socket
+class kcm_socket
+class qipcrtr_socket
+class smc_socket
+class xdp_socket
+class mctp_socket
+
+class process2
+
+class bpf
+
+class perf_event
+
+class io_uring
+
+# Introduced in https://github.com/torvalds/linux/commit/59438b46471ae6cdfb761afc8c9beaf1e428a331
+class lockdown
+
+class user_namespace
+
+# Property service
+class property_service          # userspace
+
+# Service manager
+class service_manager           # userspace
+
+# hardware service manager      # userspace
+class hwservice_manager
+
+# Legacy Keystore key permissions
+class keystore_key              # userspace
+
+# Keystore 2.0 permissions
+class keystore2                 # userspace
+
+# Keystore 2.0 key permissions
+class keystore2_key             # userspace
+
+# Diced permissions
+class diced                     # userspace
+
+class drmservice                # userspace
+# FLASK
+
+# Permissions for VMs to access SMC services
+class tee_service            		# userspace
diff --git a/prebuilts/api/202504/private/sensor_service_server.te b/prebuilts/api/202504/private/sensor_service_server.te
new file mode 100644
index 0000000..7c526a5
--- /dev/null
+++ b/prebuilts/api/202504/private/sensor_service_server.te
@@ -0,0 +1 @@
+add_hwservice(sensor_service_server, fwk_sensor_hwservice)
diff --git a/prebuilts/api/202504/private/service.te b/prebuilts/api/202504/private/service.te
new file mode 100644
index 0000000..96f208d
--- /dev/null
+++ b/prebuilts/api/202504/private/service.te
@@ -0,0 +1,88 @@
+type ambient_context_service,        app_api_service, system_server_service, service_manager_type;
+type authentication_policy_service,  system_api_service, system_server_service, service_manager_type;
+
+# These types will be public starting at board api 202504
+until_board_api(202504, `
+    type app_function_service, app_api_service, system_server_service, service_manager_type;
+')
+type attention_service,              system_server_service, service_manager_type;
+type bg_install_control_service,     system_api_service, system_server_service, service_manager_type;
+type compos_service,                 service_manager_type;
+type communal_service,               app_api_service, system_server_service, service_manager_type;
+type dynamic_system_service,         system_api_service, system_server_service, service_manager_type;
+type feature_flags_service,          app_api_service, system_server_service, service_manager_type;
+type fwk_devicestate_service, system_server_service, service_manager_type;
+type gsi_service,                    service_manager_type;
+type incidentcompanion_service,      app_api_service, system_api_service, system_server_service, service_manager_type;
+type logcat_service,                 system_server_service, service_manager_type;
+type logd_service,                   service_manager_type;
+type mediatuner_service,             app_api_service, service_manager_type;
+type mmd_service,                    service_manager_type;
+type on_device_intelligence_service, app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type profcollectd_service,           service_manager_type;
+type protolog_configuration_service, app_api_service, system_api_service, system_server_service, service_manager_type, ephemeral_app_api_service;
+type resolver_service,               system_server_service, service_manager_type;
+type rkpd_registrar_service,         service_manager_type;
+type rkpd_refresh_service,           service_manager_type;
+type rkp_cert_processor_service,     service_manager_type;
+type safety_center_service,          app_api_service, system_api_service, system_server_service, service_manager_type;
+type stats_service,                  service_manager_type;
+type statsbootstrap_service,         system_server_service, service_manager_type;
+type statscompanion_service,         system_server_service, service_manager_type;
+type statsmanager_service,           system_api_service, system_server_service, service_manager_type;
+until_board_api(202504, `
+    type media_quality_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+')
+
+until_board_api(202504, `
+    type hal_mediaquality_service, protected_service, hal_service_type, service_manager_type;
+')
+until_board_api(202504, `
+    type hal_hwcrypto_service, protected_service, hal_service_type, service_manager_type;
+')
+is_flag_enabled(RELEASE_SUPERVISION_SERVICE, `
+    type supervision_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+')
+type tracingproxy_service,          system_server_service, service_manager_type;
+type tradeinmode_service,           system_server_service, service_manager_type;
+type transparency_service,          system_server_service, service_manager_type;
+
+is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT, `
+    type vfio_handler_service,          service_manager_type;
+')
+is_flag_enabled(RELEASE_AVF_ENABLE_LLPVM_CHANGES, `
+    type virtualization_maintenance_service, service_manager_type;
+')
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    type vm_tethering_service, system_server_service, service_manager_type;
+    type vmnic_service,        service_manager_type;
+')
+is_flag_enabled(RELEASE_AVF_ENABLE_MICROFUCHSIA, `
+    type microfuchsia_service,          service_manager_type;
+')
+
+type uce_service,                      service_manager_type;
+until_board_api(202504, `
+    type fwk_vold_service,                 service_manager_type;
+')
+type wearable_sensing_service,         app_api_service, system_server_service, service_manager_type;
+type wifi_mainline_supplicant_service, service_manager_type;
+type dynamic_instrumentation_service,  app_api_service, system_server_service, service_manager_type;
+type advanced_protection_service,      app_api_service, system_server_service, service_manager_type;
+
+is_flag_enabled(RELEASE_RANGING_STACK, `
+    type ranging_service, app_api_service, system_server_service, service_manager_type;
+')
+
+until_board_api(202504, `
+    type hal_vm_capabilities_service, protected_service, hal_service_type, service_manager_type;
+')
+
+###
+### Neverallow rules
+###
+
+# servicemanager handles registering or looking up named services.
+# It does not make sense to register or lookup something which is not a service.
+# Trigger a compile error if this occurs.
+neverallow domain ~{ service_manager_type vndservice_manager_type }:service_manager { add find };
diff --git a/prebuilts/api/202504/private/service_contexts b/prebuilts/api/202504/private/service_contexts
new file mode 100644
index 0000000..ad41229
--- /dev/null
+++ b/prebuilts/api/202504/private/service_contexts
@@ -0,0 +1,523 @@
+android.frameworks.cameraservice.service.ICameraService/default      u:object_r:fwk_camera_service:s0
+android.frameworks.location.altitude.IAltitudeService/default        u:object_r:fwk_altitude_service:s0
+android.frameworks.stats.IStats/default                              u:object_r:fwk_stats_service:s0
+android.frameworks.sensorservice.ISensorManager/default              u:object_r:fwk_sensor_service:s0
+android.frameworks.vibrator.IVibratorControlService/default          u:object_r:fwk_vibrator_control_service:s0
+android.frameworks.devicestate.IDeviceStateService/default           u:object_r:fwk_devicestate_service:s0
+android.hardware.audio.core.IConfig/default                          u:object_r:hal_audio_service:s0
+# 'default' IModule is equivalent to 'primary' in HIDL
+android.hardware.audio.core.IModule/default                          u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/a2dp                             u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/bluetooth                        u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/hearing_aid                      u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/msd                              u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/r_submix                         u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/stub                             u:object_r:hal_audio_service:s0
+android.hardware.audio.core.IModule/usb                              u:object_r:hal_audio_service:s0
+android.hardware.audio.effect.IFactory/default                       u:object_r:hal_audio_service:s0
+android.hardware.audio.sounddose.ISoundDoseFactory/default           u:object_r:hal_audio_service:s0
+android.hardware.authsecret.IAuthSecret/default                      u:object_r:hal_authsecret_service:s0
+android.hardware.automotive.evs.IEvsEnumerator/hw/0                  u:object_r:hal_evs_service:s0
+android.hardware.boot.IBootControl/default                           u:object_r:hal_bootctl_service:s0
+android.hardware.automotive.can.ICanController/default               u:object_r:hal_can_controller_service:s0
+android.hardware.automotive.evs.IEvsEnumerator/hw/1                  u:object_r:hal_evs_service:s0
+android.hardware.automotive.audiocontrol.IAudioControl/default       u:object_r:hal_audiocontrol_service:s0
+android.hardware.automotive.ivn.IIvnAndroidDevice/default            u:object_r:hal_ivn_service:s0
+android.hardware.automotive.remoteaccess.IRemoteAccess/default       u:object_r:hal_remoteaccess_service:s0
+android.hardware.automotive.vehicle.IVehicle/default                 u:object_r:hal_vehicle_service:s0
+android.hardware.biometrics.face.IFace/default                       u:object_r:hal_face_service:s0
+android.hardware.biometrics.face.IFace/virtual                       u:object_r:hal_face_service:s0
+android.hardware.biometrics.face.virtualhal.IVirtualHal/virtual      u:object_r:hal_face_service:s0
+android.hardware.biometrics.fingerprint.IFingerprint/default         u:object_r:hal_fingerprint_service:s0
+android.hardware.biometrics.fingerprint.IFingerprint/virtual         u:object_r:hal_fingerprint_service:s0
+android.hardware.biometrics.fingerprint.virtualhal.IVirtualHal/virtual u:object_r:hal_fingerprint_service:s0
+android.hardware.bluetooth.IBluetoothHci/default                     u:object_r:hal_bluetooth_service:s0
+android.hardware.bluetooth.offload.leaudio.IHciProxy/default         u:object_r:hal_bluetooth_service:s0
+android.hardware.bluetooth.finder.IBluetoothFinder/default           u:object_r:hal_bluetooth_service:s0
+is_flag_enabled(RELEASE_HARDWARE_BLUETOOTH_RANGING_SERVICE, `
+    android.hardware.bluetooth.ranging.IBluetoothChannelSounding/default u:object_r:hal_bluetooth_service:s0
+')
+android.hardware.bluetooth.lmp_event.IBluetoothLmpEvent/default      u:object_r:hal_bluetooth_service:s0
+android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default u:object_r:hal_audio_service:s0
+android.hardware.bluetooth.socket.IBluetoothSocket/default           u:object_r:hal_bluetooth_service:s0
+android.hardware.broadcastradio.IBroadcastRadio/amfm                 u:object_r:hal_broadcastradio_service:s0
+android.hardware.broadcastradio.IBroadcastRadio/dab                  u:object_r:hal_broadcastradio_service:s0
+# The instance here is internal/0 following naming convention for ICameraProvider.
+# It advertises internal camera devices.
+android.hardware.camera.provider.ICameraProvider/internal/0          u:object_r:hal_camera_service:s0
+android.hardware.camera.provider.ICameraProvider/virtual/0           u:object_r:virtual_camera_service:s0
+android.hardware.cas.IMediaCasService/default                        u:object_r:hal_cas_service:s0
+android.hardware.confirmationui.IConfirmationUI/default              u:object_r:hal_confirmationui_service:s0
+android.hardware.contexthub.IContextHub/default                      u:object_r:hal_contexthub_service:s0
+android.hardware.drm.IDrmFactory/clearkey                            u:object_r:hal_drm_service:s0
+android.hardware.drm.ICryptoFactory/clearkey                         u:object_r:hal_drm_service:s0
+android.hardware.dumpstate.IDumpstateDevice/default                  u:object_r:hal_dumpstate_service:s0
+android.hardware.fastboot.IFastboot/default                          u:object_r:hal_fastboot_service:s0
+android.hardware.gnss.IGnss/default                                  u:object_r:hal_gnss_service:s0
+android.hardware.graphics.allocator.IAllocator/default               u:object_r:hal_graphics_allocator_service:s0
+android.hardware.graphics.composer3.IComposer/default                u:object_r:hal_graphics_composer_service:s0
+android.hardware.tv.mediaquality.IPictureProfileChangedListener/default     u:object_r:hal_graphics_composer_service:s0
+android.hardware.health.storage.IStorage/default                     u:object_r:hal_health_storage_service:s0
+android.hardware.health.IHealth/default                              u:object_r:hal_health_service:s0
+android.hardware.identity.IIdentityCredentialStore/default           u:object_r:hal_identity_service:s0
+android.hardware.input.processor.IInputProcessor/default           u:object_r:hal_input_processor_service:s0
+android.hardware.ir.IConsumerIr/default                              u:object_r:hal_ir_service:s0
+android.hardware.light.ILights/default                               u:object_r:hal_light_service:s0
+android.hardware.macsec.IMacsecPskPlugin/default                     u:object_r:hal_macsec_service:s0
+android.hardware.media.c2.IComponentStore/default                    u:object_r:hal_codec2_service:s0
+android.hardware.media.c2.IComponentStore/default1                   u:object_r:hal_codec2_service:s0
+android.hardware.media.c2.IComponentStore/default2                   u:object_r:hal_codec2_service:s0
+android.hardware.media.c2.IComponentStore/software                   u:object_r:hal_codec2_service:s0
+android.hardware.memtrack.IMemtrack/default                          u:object_r:hal_memtrack_service:s0
+android.hardware.net.nlinterceptor.IInterceptor/default              u:object_r:hal_nlinterceptor_service:s0
+android.hardware.nfc.INfc/default                                    u:object_r:hal_nfc_service:s0
+android.hardware.oemlock.IOemLock/default                            u:object_r:hal_oemlock_service:s0
+android.hardware.power.IPower/default                                u:object_r:hal_power_service:s0
+android.hardware.power.stats.IPowerStats/default                     u:object_r:hal_power_stats_service:s0
+android.hardware.radio.config.IRadioConfig/default                   u:object_r:hal_radio_service:s0
+android.hardware.radio.data.IRadioData/slot1                         u:object_r:hal_radio_service:s0
+android.hardware.radio.data.IRadioData/slot2                         u:object_r:hal_radio_service:s0
+android.hardware.radio.data.IRadioData/slot3                         u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.IRadioIms/slot1                           u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.IRadioIms/slot2                           u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.IRadioIms/slot3                           u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.media.IImsMedia/default                   u:object_r:hal_radio_service:s0
+android.hardware.radio.messaging.IRadioMessaging/slot1               u:object_r:hal_radio_service:s0
+android.hardware.radio.messaging.IRadioMessaging/slot2               u:object_r:hal_radio_service:s0
+android.hardware.radio.messaging.IRadioMessaging/slot3               u:object_r:hal_radio_service:s0
+android.hardware.radio.modem.IRadioModem/slot1                       u:object_r:hal_radio_service:s0
+android.hardware.radio.modem.IRadioModem/slot2                       u:object_r:hal_radio_service:s0
+android.hardware.radio.modem.IRadioModem/slot3                       u:object_r:hal_radio_service:s0
+android.hardware.radio.network.IRadioNetwork/slot1                   u:object_r:hal_radio_service:s0
+android.hardware.radio.network.IRadioNetwork/slot2                   u:object_r:hal_radio_service:s0
+android.hardware.radio.network.IRadioNetwork/slot3                   u:object_r:hal_radio_service:s0
+android.hardware.radio.satellite.IRadioSatellite/slot1               u:object_r:hal_radio_service:s0
+android.hardware.radio.satellite.IRadioSatellite/slot2               u:object_r:hal_radio_service:s0
+android.hardware.radio.satellite.IRadioSatellite/slot3               u:object_r:hal_radio_service:s0
+android.hardware.radio.sim.IRadioSim/slot1                           u:object_r:hal_radio_service:s0
+android.hardware.radio.sim.IRadioSim/slot2                           u:object_r:hal_radio_service:s0
+android.hardware.radio.sim.IRadioSim/slot3                           u:object_r:hal_radio_service:s0
+android.hardware.radio.sap.ISap/slot1                                u:object_r:hal_radio_service:s0
+android.hardware.radio.sap.ISap/slot2                                u:object_r:hal_radio_service:s0
+android.hardware.radio.sap.ISap/slot3                                u:object_r:hal_radio_service:s0
+android.hardware.radio.voice.IRadioVoice/slot1                       u:object_r:hal_radio_service:s0
+android.hardware.radio.voice.IRadioVoice/slot2                       u:object_r:hal_radio_service:s0
+android.hardware.radio.voice.IRadioVoice/slot3                       u:object_r:hal_radio_service:s0
+android.hardware.rebootescrow.IRebootEscrow/default                  u:object_r:hal_rebootescrow_service:s0
+android.hardware.security.authgraph.IAuthGraphKeyExchange/nonsecure  u:object_r:hal_authgraph_service:s0
+android.hardware.security.keymint.IKeyMintDevice/default             u:object_r:hal_keymint_service:s0
+android.hardware.security.keymint.IRemotelyProvisionedComponent/default u:object_r:hal_remotelyprovisionedcomponent_service:s0
+android.hardware.security.keymint.IRemotelyProvisionedComponent/avf     u:object_r:hal_remotelyprovisionedcomponent_avf_service:s0
+android.hardware.gatekeeper.IGatekeeper/default                      u:object_r:hal_gatekeeper_service:s0
+android.hardware.security.secureclock.ISecureClock/default             u:object_r:hal_secureclock_service:s0
+android.hardware.security.sharedsecret.ISharedSecret/default             u:object_r:hal_sharedsecret_service:s0
+android.hardware.sensors.ISensors/default                            u:object_r:hal_sensors_service:s0
+android.hardware.soundtrigger3.ISoundTriggerHw/default               u:object_r:hal_audio_service:s0
+android.hardware.tetheroffload.IOffload/default                      u:object_r:hal_tetheroffload_service:s0
+android.hardware.thermal.IThermal/default                            u:object_r:hal_thermal_service:s0
+android.hardware.threadnetwork.IThreadChip/chip0                     u:object_r:hal_threadnetwork_service:s0
+android.hardware.tv.hdmi.cec.IHdmiCec/default                        u:object_r:hal_tv_hdmi_cec_service:s0
+android.hardware.tv.hdmi.connection.IHdmiConnection/default          u:object_r:hal_tv_hdmi_connection_service:s0
+android.hardware.tv.hdmi.earc.IEArc/default                          u:object_r:hal_tv_hdmi_earc_service:s0
+android.hardware.tv.mediaquality.IMediaQuality/default               u:object_r:hal_mediaquality_service:s0
+android.hardware.tv.tuner.ITuner/default                             u:object_r:hal_tv_tuner_service:s0
+android.hardware.tv.input.ITvInput/default                           u:object_r:hal_tv_input_service:s0
+android.hardware.usb.IUsb/default                                    u:object_r:hal_usb_service:s0
+android.hardware.usb.gadget.IUsbGadget/default                       u:object_r:hal_usb_gadget_service:s0
+android.hardware.uwb.IUwb/default                                    u:object_r:hal_uwb_service:s0
+android.hardware.vibrator.IVibrator/default                          u:object_r:hal_vibrator_service:s0
+android.hardware.vibrator.IVibratorManager/default                   u:object_r:hal_vibrator_service:s0
+android.hardware.weaver.IWeaver/default                              u:object_r:hal_weaver_service:s0
+android.hardware.wifi.IWifi/default                                  u:object_r:hal_wifi_service:s0
+android.hardware.wifi.hostapd.IHostapd/default                       u:object_r:hal_wifi_hostapd_service:s0
+android.hardware.wifi.supplicant.ISupplicant/default                 u:object_r:hal_wifi_supplicant_service:s0
+android.se.omapi.ISecureElementService/default                       u:object_r:secure_element_service:s0
+android.hardware.secure_element.ISecureElement/eSE1                  u:object_r:hal_secure_element_service:s0
+android.hardware.secure_element.ISecureElement/eSE2                  u:object_r:hal_secure_element_service:s0
+android.hardware.secure_element.ISecureElement/eSE3                  u:object_r:hal_secure_element_service:s0
+android.hardware.secure_element.ISecureElement/SIM1                  u:object_r:hal_secure_element_service:s0
+android.hardware.secure_element.ISecureElement/SIM2                  u:object_r:hal_secure_element_service:s0
+android.hardware.secure_element.ISecureElement/SIM3                  u:object_r:hal_secure_element_service:s0
+android.hardware.security.secretkeeper.ISecretkeeper/default         u:object_r:hal_secretkeeper_service:s0
+android.hardware.security.secretkeeper.ISecretkeeper/nonsecure       u:object_r:hal_secretkeeper_service:s0
+android.hardware.virtualization.capabilities.IVmCapabilitiesService/default u:object_r:hal_vm_capabilities_service:s0
+android.hardware.virtualization.capabilities.IVmCapabilitiesService/noop u:object_r:hal_vm_capabilities_service:s0
+android.system.keystore2.IKeystoreService/default                    u:object_r:keystore_service:s0
+android.system.net.netd.INetd/default                                u:object_r:system_net_netd_service:s0
+android.system.suspend.ISystemSuspend/default                        u:object_r:hal_system_suspend_service:s0
+android.system.vold.IVold/default                                    u:object_r:fwk_vold_service:s0
+
+accessibility                             u:object_r:accessibility_service:s0
+account                                   u:object_r:account_service:s0
+activity                                  u:object_r:activity_service:s0
+activity_task                             u:object_r:activity_task_service:s0
+adb                                       u:object_r:adb_service:s0
+adservices_manager                        u:object_r:adservices_manager_service:s0
+advanced_protection                       u:object_r:advanced_protection_service:s0
+aidl_lazy_test_1                          u:object_r:aidl_lazy_test_service:s0
+aidl_lazy_test_2                          u:object_r:aidl_lazy_test_service:s0
+aidl_lazy_test_quit                       u:object_r:aidl_lazy_test_service:s0
+aidl_lazy_cb_test                         u:object_r:aidl_lazy_test_service:s0
+alarm                                     u:object_r:alarm_service:s0
+android.hardware.automotive.evs.IEvsEnumerator/default u:object_r:evsmanagerd_service:s0
+android.os.UpdateEngineService            u:object_r:update_engine_service:s0
+android.os.UpdateEngineStableService      u:object_r:update_engine_stable_service:s0
+android.frameworks.automotive.display.ICarDisplayProxy/default u:object_r:fwk_automotive_display_service:s0
+android.security.apc                      u:object_r:apc_service:s0
+android.security.authorization            u:object_r:authorization_service:s0
+android.security.compat                   u:object_r:keystore_compat_hal_service:s0
+android.security.identity                 u:object_r:credstore_service:s0
+android.security.keystore                 u:object_r:keystore_service:s0
+android.security.legacykeystore           u:object_r:legacykeystore_service:s0
+android.security.maintenance              u:object_r:keystore_maintenance_service:s0
+android.security.metrics                  u:object_r:keystore_metrics_service:s0
+android.service.gatekeeper.IGateKeeperService    u:object_r:gatekeeper_service:s0
+android.system.composd                    u:object_r:compos_service:s0
+android.system.virtualizationservice      u:object_r:virtualization_service:s0
+is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT, `
+    android.system.virtualizationservice_internal.IVfioHandler u:object_r:vfio_handler_service:s0
+')
+is_flag_enabled(RELEASE_AVF_ENABLE_LLPVM_CHANGES, `
+    android.system.virtualizationmaintenance u:object_r:virtualization_maintenance_service:s0
+')
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    android.system.virtualizationservice_internal.IVmnic u:object_r:vmnic_service:s0
+    android.system.vmtethering.IVmTethering              u:object_r:vm_tethering_service:s0
+')
+is_flag_enabled(RELEASE_AVF_ENABLE_MICROFUCHSIA, `
+    android.system.microfuchsiad              u:object_r:microfuchsia_service:s0
+')
+ambient_context                           u:object_r:ambient_context_service:s0
+app_binding                               u:object_r:app_binding_service:s0
+app_function                              u:object_r:app_function_service:s0
+app_hibernation                           u:object_r:app_hibernation_service:s0
+dynamic_instrumentation                   u:object_r:dynamic_instrumentation_service:s0
+app_integrity                             u:object_r:app_integrity_service:s0
+app_prediction                            u:object_r:app_prediction_service:s0
+app_search                                u:object_r:app_search_service:s0
+apexservice                               u:object_r:apex_service:s0
+archive                                   u:object_r:archive_service:s0
+attestation_verification                  u:object_r:attestation_verification_service:s0
+blob_store                                u:object_r:blob_store_service:s0
+gsiservice                                u:object_r:gsi_service:s0
+appops                                    u:object_r:appops_service:s0
+appwidget                                 u:object_r:appwidget_service:s0
+artd                                      u:object_r:artd_service:s0
+artd_pre_reboot                           u:object_r:artd_pre_reboot_service:s0
+assetatlas                                u:object_r:assetatlas_service:s0
+attention                                 u:object_r:attention_service:s0
+audio                                     u:object_r:audio_service:s0
+auth                                      u:object_r:auth_service:s0
+authentication_policy                     u:object_r:authentication_policy_service:s0
+autofill                                  u:object_r:autofill_service:s0
+background_install_control                u:object_r:bg_install_control_service:s0
+backup                                    u:object_r:backup_service:s0
+batteryproperties                         u:object_r:batteryproperties_service:s0
+batterystats                              u:object_r:batterystats_service:s0
+battery                                   u:object_r:battery_service:s0
+binder_calls_stats                        u:object_r:binder_calls_stats_service:s0
+biometric                                 u:object_r:biometric_service:s0
+bluetooth_manager                         u:object_r:bluetooth_manager_service:s0
+bluetooth                                 u:object_r:bluetooth_service:s0
+broadcastradio                            u:object_r:broadcastradio_service:s0
+bugreport                                 u:object_r:bugreport_service:s0
+cacheinfo                                 u:object_r:cacheinfo_service:s0
+carrier_config                            u:object_r:radio_service:s0
+clipboard                                 u:object_r:clipboard_service:s0
+cloudsearch                               u:object_r:cloudsearch_service:s0
+cloudsearch_service                       u:object_r:cloudsearch_service:s0
+com.android.net.IProxyService             u:object_r:IProxyService_service:s0
+companiondevice                           u:object_r:companion_device_service:s0
+communal                                  u:object_r:communal_service:s0
+credential                                u:object_r:credential_service:s0
+platform_compat                           u:object_r:platform_compat_service:s0
+platform_compat_native                    u:object_r:platform_compat_service:s0
+connectivity                              u:object_r:connectivity_service:s0
+connectivity_native                       u:object_r:connectivity_native_service:s0
+connmetrics                               u:object_r:connmetrics_service:s0
+consumer_ir                               u:object_r:consumer_ir_service:s0
+content                                   u:object_r:content_service:s0
+content_capture                           u:object_r:content_capture_service:s0
+content_suggestions                       u:object_r:content_suggestions_service:s0
+contexthub                                u:object_r:contexthub_service:s0
+contextual_search                         u:object_r:contextual_search_service:s0
+country_detector                          u:object_r:country_detector_service:s0
+coverage                                  u:object_r:coverage_service:s0
+cpuinfo                                   u:object_r:cpuinfo_service:s0
+cpu_monitor                               u:object_r:cpu_monitor_service:s0
+crossprofileapps                          u:object_r:crossprofileapps_service:s0
+dataloader_manager                        u:object_r:dataloader_manager_service:s0
+dbinfo                                    u:object_r:dbinfo_service:s0
+device_config                             u:object_r:device_config_service:s0
+device_config_updatable                   u:object_r:device_config_updatable_service:s0
+device_policy                             u:object_r:device_policy_service:s0
+device_identifiers                        u:object_r:device_identifiers_service:s0
+deviceidle                                u:object_r:deviceidle_service:s0
+device_lock                               u:object_r:devicelock_service:s0
+device_state                              u:object_r:device_state_service:s0
+devicestoragemonitor                      u:object_r:devicestoragemonitor_service:s0
+dexopt_chroot_setup                       u:object_r:dexopt_chroot_setup_service:s0
+diskstats                                 u:object_r:diskstats_service:s0
+display                                   u:object_r:display_service:s0
+dnsresolver                               u:object_r:dnsresolver_service:s0
+domain_verification                       u:object_r:domain_verification_service:s0
+color_display                             u:object_r:color_display_service:s0
+netd_listener                             u:object_r:netd_listener_service:s0
+network_watchlist                         u:object_r:network_watchlist_service:s0
+DockObserver                              u:object_r:DockObserver_service:s0
+dreams                                    u:object_r:dreams_service:s0
+drm.drmManager                            u:object_r:drmserver_service:s0
+dropbox                                   u:object_r:dropbox_service:s0
+dumpstate                                 u:object_r:dumpstate_service:s0
+dynamic_system                            u:object_r:dynamic_system_service:s0
+econtroller                               u:object_r:radio_service:s0
+ecm_enhanced_confirmation                 u:object_r:ecm_enhanced_confirmation_service:s0
+emergency_affordance                      u:object_r:emergency_affordance_service:s0
+euicc_card_controller                     u:object_r:radio_service:s0
+external_vibrator_service                 u:object_r:external_vibrator_service:s0
+ethernet                                  u:object_r:ethernet_service:s0
+face                                      u:object_r:face_service:s0
+feature_flags                             u:object_r:feature_flags_service:s0
+file_integrity                            u:object_r:file_integrity_service:s0
+fingerprint                               u:object_r:fingerprint_service:s0
+font                                      u:object_r:font_service:s0
+android.hardware.fingerprint.IFingerprintDaemon u:object_r:fingerprintd_service:s0
+game                                      u:object_r:game_service:s0
+gfxinfo                                   u:object_r:gfxinfo_service:s0
+gnss_time_update_service                  u:object_r:gnss_time_update_service:s0
+grammatical_inflection                    u:object_r:grammatical_inflection_service:s0
+graphicsstats                             u:object_r:graphicsstats_service:s0
+gpu                                       u:object_r:gpu_service:s0
+hardware                                  u:object_r:hardware_service:s0
+hardware_properties                       u:object_r:hardware_properties_service:s0
+hdmi_control                              u:object_r:hdmi_control_service:s0
+healthconnect                             u:object_r:healthconnect_service:s0
+ions                                      u:object_r:radio_service:s0
+idmap                                     u:object_r:idmap_service:s0
+incident                                  u:object_r:incident_service:s0
+incidentcompanion                         u:object_r:incidentcompanion_service:s0
+inputflinger                              u:object_r:inputflinger_service:s0
+input_method                              u:object_r:input_method_service:s0
+input                                     u:object_r:input_service:s0
+installd                                  u:object_r:installd_service:s0
+starting_at_board_api(202504, `
+    intrusion_detection                   u:object_r:intrusion_detection_service:s0
+')
+iphonesubinfo_msim                        u:object_r:radio_service:s0
+iphonesubinfo2                            u:object_r:radio_service:s0
+iphonesubinfo                             u:object_r:radio_service:s0
+ims                                       u:object_r:radio_service:s0
+imms                                      u:object_r:imms_service:s0
+incremental                               u:object_r:incremental_service:s0
+ipsec                                     u:object_r:ipsec_service:s0
+ircsmessage                               u:object_r:radio_service:s0
+iris                                      u:object_r:iris_service:s0
+isms_msim                                 u:object_r:radio_service:s0
+isms2                                     u:object_r:radio_service:s0
+isms                                      u:object_r:radio_service:s0
+isub                                      u:object_r:radio_service:s0
+jobscheduler                              u:object_r:jobscheduler_service:s0
+launcherapps                              u:object_r:launcherapps_service:s0
+legacy_permission                         u:object_r:legacy_permission_service:s0
+lights                                    u:object_r:light_service:s0
+locale                                    u:object_r:locale_service:s0
+location                                  u:object_r:location_service:s0
+location_time_zone_manager                u:object_r:location_time_zone_manager_service:s0
+lock_settings                             u:object_r:lock_settings_service:s0
+logcat                                    u:object_r:logcat_service:s0
+logd                                      u:object_r:logd_service:s0
+looper_stats                              u:object_r:looper_stats_service:s0
+lpdump_service                            u:object_r:lpdump_service:s0
+mdns                                      u:object_r:mdns_service:s0
+media.aaudio                              u:object_r:audioserver_service:s0
+media.audio_flinger                       u:object_r:audioserver_service:s0
+media.audio_policy                        u:object_r:audioserver_service:s0
+media.camera                              u:object_r:cameraserver_service:s0
+media.camera.proxy                        u:object_r:cameraproxy_service:s0
+media.log                                 u:object_r:audioserver_service:s0
+media.player                              u:object_r:mediaserver_service:s0
+media.metrics                             u:object_r:mediametrics_service:s0
+media.extractor                           u:object_r:mediaextractor_service:s0
+media.transcoding                         u:object_r:mediatranscoding_service:s0
+media.resource_manager                    u:object_r:mediaserver_service:s0
+media.resource_observer                   u:object_r:mediaserver_service:s0
+media.sound_trigger_hw                    u:object_r:audioserver_service:s0
+media.drm                                 u:object_r:mediadrmserver_service:s0
+media.tuner                               u:object_r:mediatuner_service:s0
+media_communication                       u:object_r:media_communication_service:s0
+media_metrics                             u:object_r:media_metrics_service:s0
+media_projection                          u:object_r:media_projection_service:s0
+media_quality                             u:object_r:media_quality_service:s0
+media_resource_monitor                    u:object_r:media_session_service:s0
+media_router                              u:object_r:media_router_service:s0
+media_session                             u:object_r:media_session_service:s0
+meminfo                                   u:object_r:meminfo_service:s0
+memtrack.proxy                            u:object_r:memtrackproxy_service:s0
+midi                                      u:object_r:midi_service:s0
+mmd                                       u:object_r:mmd_service:s0
+mount                                     u:object_r:mount_service:s0
+music_recognition                         u:object_r:music_recognition_service:s0
+nearby                                    u:object_r:nearby_service:s0
+netd                                      u:object_r:netd_service:s0
+netpolicy                                 u:object_r:netpolicy_service:s0
+netstats                                  u:object_r:netstats_service:s0
+network_stack                             u:object_r:network_stack_service:s0
+network_management                        u:object_r:network_management_service:s0
+network_score                             u:object_r:network_score_service:s0
+network_time_update_service               u:object_r:network_time_update_service:s0
+nfc                                       u:object_r:nfc_service:s0
+notification                              u:object_r:notification_service:s0
+oem_lock                                  u:object_r:oem_lock_service:s0
+ondevicepersonalization_system_service    u:object_r:ondevicepersonalization_system_service:s0
+on_device_intelligence                    u:object_r:on_device_intelligence_service:s0
+otadexopt                                 u:object_r:otadexopt_service:s0
+ot_daemon                                 u:object_r:ot_daemon_service:s0
+overlay                                   u:object_r:overlay_service:s0
+pac_proxy                                 u:object_r:pac_proxy_service:s0
+package                                   u:object_r:package_service:s0
+package_native                            u:object_r:package_native_service:s0
+people                                    u:object_r:people_service:s0
+performance_hint                          u:object_r:hint_service:s0
+permission                                u:object_r:permission_service:s0
+permissionmgr                             u:object_r:permissionmgr_service:s0
+permission_checker                        u:object_r:permission_checker_service:s0
+persistent_data_block                     u:object_r:persistent_data_block_service:s0
+phone_msim                                u:object_r:radio_service:s0
+phone1                                    u:object_r:radio_service:s0
+phone2                                    u:object_r:radio_service:s0
+phone                                     u:object_r:radio_service:s0
+pinner                                    u:object_r:pinner_service:s0
+powerstats                                u:object_r:powerstats_service:s0
+power                                     u:object_r:power_service:s0
+profiling_service                         u:object_r:profiling_service:s0
+protolog_configuration                    u:object_r:protolog_configuration_service:s0
+print                                     u:object_r:print_service:s0
+processinfo                               u:object_r:processinfo_service:s0
+procstats                                 u:object_r:procstats_service:s0
+profcollectd                              u:object_r:profcollectd_service:s0
+radio.phonesubinfo                        u:object_r:radio_service:s0
+radio.phone                               u:object_r:radio_service:s0
+radio.sms                                 u:object_r:radio_service:s0
+is_flag_enabled(RELEASE_RANGING_STACK, `
+    ranging                               u:object_r:ranging_service:s0
+')
+rcs                                       u:object_r:radio_service:s0
+reboot_readiness                          u:object_r:reboot_readiness_service:s0
+recovery                                  u:object_r:recovery_service:s0
+remote_auth                               u:object_r:remote_auth_service:s0
+remote_provisioning                       u:object_r:remote_provisioning_service:s0
+resolver                                  u:object_r:resolver_service:s0
+resources                                 u:object_r:resources_manager_service:s0
+restrictions                              u:object_r:restrictions_service:s0
+rkpd.registrar                            u:object_r:rkpd_registrar_service:s0
+rkpd.refresh                              u:object_r:rkpd_refresh_service:s0
+rkp_cert_processor.service                u:object_r:rkp_cert_processor_service:s0
+role                                      u:object_r:role_service:s0
+rollback                                  u:object_r:rollback_service:s0
+rttmanager                                u:object_r:rttmanager_service:s0
+runtime                                   u:object_r:runtime_service:s0
+safety_center                             u:object_r:safety_center_service:s0
+samplingprofiler                          u:object_r:samplingprofiler_service:s0
+scheduling_policy                         u:object_r:scheduling_policy_service:s0
+search                                    u:object_r:search_service:s0
+search_ui                                 u:object_r:search_ui_service:s0
+secure_element                            u:object_r:secure_element_service:s0
+sec_key_att_app_id_provider               u:object_r:sec_key_att_app_id_provider_service:s0
+security_state                            u:object_r:security_state_service:s0
+selection_toolbar                         u:object_r:selection_toolbar_service:s0
+sensitive_content_protection_service      u:object_r:sensitive_content_protection_service:s0
+sensorservice                             u:object_r:sensorservice_service:s0
+sensor_privacy                            u:object_r:sensor_privacy_service:s0
+serial                                    u:object_r:serial_service:s0
+servicediscovery                          u:object_r:servicediscovery_service:s0
+manager                                   u:object_r:service_manager_service:s0
+settings                                  u:object_r:settings_service:s0
+shortcut                                  u:object_r:shortcut_service:s0
+simphonebook_msim                         u:object_r:radio_service:s0
+simphonebook2                             u:object_r:radio_service:s0
+simphonebook                              u:object_r:radio_service:s0
+sip                                       u:object_r:radio_service:s0
+slice                                     u:object_r:slice_service:s0
+smartspace                                u:object_r:smartspace_service:s0
+speech_recognition                        u:object_r:speech_recognition_service:s0
+stats                                     u:object_r:stats_service:s0
+statsbootstrap                            u:object_r:statsbootstrap_service:s0
+statscompanion                            u:object_r:statscompanion_service:s0
+statsmanager                              u:object_r:statsmanager_service:s0
+soundtrigger                              u:object_r:voiceinteraction_service:s0
+soundtrigger_middleware                   u:object_r:soundtrigger_middleware_service:s0
+statusbar                                 u:object_r:statusbar_service:s0
+storaged                                  u:object_r:storaged_service:s0
+storaged_pri                              u:object_r:storaged_service:s0
+storagestats                              u:object_r:storagestats_service:s0
+# sdk_sandbox here refers to the service name, not the domain name.
+sdk_sandbox                               u:object_r:sdk_sandbox_service:s0
+
+is_flag_enabled(RELEASE_SUPERVISION_SERVICE, `
+    supervision                               u:object_r:supervision_service:s0
+')
+SurfaceFlinger                            u:object_r:surfaceflinger_service:s0
+SurfaceFlingerAIDL                        u:object_r:surfaceflinger_service:s0
+suspend_control                           u:object_r:system_suspend_control_service:s0
+suspend_control_internal                  u:object_r:system_suspend_control_internal_service:s0
+system_config                             u:object_r:system_config_service:s0
+system_server_dumper                      u:object_r:system_server_dumper_service:s0
+system_update                             u:object_r:system_update_service:s0
+tare                                      u:object_r:tare_service:s0
+task                                      u:object_r:task_service:s0
+telecom                                   u:object_r:telecom_service:s0
+telephony.registry                        u:object_r:registry_service:s0
+telephony_ims                             u:object_r:radio_service:s0
+testharness                               u:object_r:testharness_service:s0
+tethering                                 u:object_r:tethering_service:s0
+textclassification                        u:object_r:textclassification_service:s0
+textservices                              u:object_r:textservices_service:s0
+texttospeech                              u:object_r:texttospeech_service:s0
+time_detector                             u:object_r:timedetector_service:s0
+time_zone_detector                        u:object_r:timezonedetector_service:s0
+thermalservice                            u:object_r:thermal_service:s0
+thread_network                            u:object_r:threadnetwork_service:s0
+tracing.proxy                             u:object_r:tracingproxy_service:s0
+tradeinmode                               u:object_r:tradeinmode_service:s0
+translation                               u:object_r:translation_service:s0
+transparency                              u:object_r:transparency_service:s0
+trust                                     u:object_r:trust_service:s0
+tv_ad                                     u:object_r:tv_ad_service:s0
+tv_interactive_app                        u:object_r:tv_iapp_service:s0
+tv_input                                  u:object_r:tv_input_service:s0
+tv_tuner_resource_mgr                     u:object_r:tv_tuner_resource_mgr_service:s0
+uce                                       u:object_r:uce_service:s0
+uimode                                    u:object_r:uimode_service:s0
+updatelock                                u:object_r:updatelock_service:s0
+uri_grants                                u:object_r:uri_grants_service:s0
+usagestats                                u:object_r:usagestats_service:s0
+usb                                       u:object_r:usb_service:s0
+user                                      u:object_r:user_service:s0
+uwb                                       u:object_r:uwb_service:s0
+vcn_management                            u:object_r:vcn_management_service:s0
+vibrator                                  u:object_r:vibrator_service:s0
+vibrator_manager                          u:object_r:vibrator_manager_service:s0
+virtual_camera                            u:object_r:virtual_camera_service:s0
+virtualdevice                             u:object_r:virtual_device_service:s0
+virtualdevice_native                      u:object_r:virtual_device_native_service:s0
+virtual_touchpad                          u:object_r:virtual_touchpad_service:s0
+voiceinteraction                          u:object_r:voiceinteraction_service:s0
+vold                                      u:object_r:vold_service:s0
+vpn_management                            u:object_r:vpn_management_service:s0
+vrmanager                                 u:object_r:vr_manager_service:s0
+wallpaper                                 u:object_r:wallpaper_service:s0
+wallpaper_effects_generation              u:object_r:wallpaper_effects_generation_service:s0
+wearable_sensing                          u:object_r:wearable_sensing_service:s0
+webviewupdate                             u:object_r:webviewupdate_service:s0
+wifip2p                                   u:object_r:wifip2p_service:s0
+wifiscanner                               u:object_r:wifiscanner_service:s0
+wifi                                      u:object_r:wifi_service:s0
+wifinl80211                               u:object_r:wifinl80211_service:s0
+wifiaware                                 u:object_r:wifiaware_service:s0
+wifirtt                                   u:object_r:rttmanager_service:s0
+starting_at_board_api(202504, `
+   wifi_usd                                  u:object_r:wifi_usd_service:s0
+')
+wifi_mainline_supplicant                  u:object_r:wifi_mainline_supplicant_service:s0
+window                                    u:object_r:window_service:s0
+*                                         u:object_r:default_android_service:s0
diff --git a/prebuilts/api/202504/private/servicemanager.te b/prebuilts/api/202504/private/servicemanager.te
new file mode 100644
index 0000000..6764b45
--- /dev/null
+++ b/prebuilts/api/202504/private/servicemanager.te
@@ -0,0 +1,52 @@
+typeattribute servicemanager coredomain;
+
+init_daemon_domain(servicemanager)
+
+read_runtime_log_tags(servicemanager)
+
+set_prop(servicemanager, ctl_interface_start_prop)
+set_prop(servicemanager, servicemanager_prop)
+
+# servicemanager is using bootstrap bionic
+use_bootstrap_libs(servicemanager)
+
+# servicemanager is using apex_info via libvintf
+use_apex_info(servicemanager)
+
+# Note that we do not use the binder_* macros here.
+# servicemanager is unique in that it only provides
+# name service (aka context manager) for Binder.
+# As such, it only ever receives and transfers other references
+# created by other domains.  It never passes its own references
+# or initiates a Binder IPC.
+allow servicemanager self:binder set_context_mgr;
+allow servicemanager {
+  domain
+  -init
+  -vendor_init
+  -hwservicemanager
+  -vndservicemanager
+}:binder transfer;
+
+allow servicemanager service_contexts_file:file r_file_perms;
+
+allow servicemanager vendor_service_contexts_file:file r_file_perms;
+
+# nonplat_service_contexts only accessible on non full-treble devices
+not_full_treble(`allow servicemanager vendor_service_contexts_file:file r_file_perms;')
+
+add_service(servicemanager, service_manager_service)
+allow servicemanager dumpstate:fd use;
+allow servicemanager dumpstate:fifo_file write;
+
+# Check SELinux permissions.
+selinux_check_access(servicemanager)
+
+allow servicemanager kmsg_device:chr_file rw_file_perms;
+
+perfetto_producer(servicemanager)
+
+recovery_only(`
+  # Read VINTF files.
+  r_dir_file(servicemanager, rootfs)
+')
diff --git a/prebuilts/api/202504/private/sgdisk.te b/prebuilts/api/202504/private/sgdisk.te
new file mode 100644
index 0000000..42b8c6b
--- /dev/null
+++ b/prebuilts/api/202504/private/sgdisk.te
@@ -0,0 +1,38 @@
+typeattribute sgdisk coredomain;
+
+# Allowed to read/write low-level partition tables
+allow sgdisk block_device:dir search;
+allow sgdisk vold_device:blk_file rw_file_perms;
+# HDIO_GETGEO needed to get the number of disk heads
+# on vold_device. How quaint.
+allowxperm sgdisk vold_device:blk_file ioctl { HDIO_GETGEO };
+# sgdisk also uses BLKGETSIZE and BLKGETSIZE64. BLKGETSIZE64
+# is granted to all block device users in domain.te, so
+# no need to mention it here. sgdisk should not be
+# using the BLKGETSIZE ioctl as it is useless for devices over
+# 2T in size, but we allow it for now and hope that sgdisk
+# will fix their bug.
+allowxperm sgdisk vold_device:blk_file ioctl { BLKGETSIZE };
+# Force a re-read of the partition table.
+allowxperm sgdisk vold_device:blk_file ioctl { BLKRRPART };
+# Allow reading of the physical block size.
+allowxperm sgdisk vold_device:blk_file ioctl { BLKPBSZGET };
+
+# Inherit and use pty created by android_fork_execvp()
+allow sgdisk devpts:chr_file { read write ioctl getattr };
+
+# Allow stdin/out back to vold
+allow sgdisk vold:fd use;
+allow sgdisk vold:fifo_file { read write getattr };
+
+# Used to probe kernel to reload partition tables
+allow sgdisk self:global_capability_class_set sys_admin;
+
+###
+### Neverallow rules
+###
+
+# Only allow entry from vold
+neverallow { domain -vold } sgdisk:process transition;
+neverallow * sgdisk:process dyntransition;
+neverallow sgdisk { file_type fs_type -sgdisk_exec }:file entrypoint;
diff --git a/prebuilts/api/202504/private/shared_relro.te b/prebuilts/api/202504/private/shared_relro.te
new file mode 100644
index 0000000..31fdb8c
--- /dev/null
+++ b/prebuilts/api/202504/private/shared_relro.te
@@ -0,0 +1,15 @@
+typeattribute shared_relro coredomain;
+
+# The shared relro process is a Java program forked from the zygote, so it
+# inherits from app to get basic permissions it needs to run.
+app_domain(shared_relro)
+
+allow shared_relro shared_relro_file:dir rw_dir_perms;
+allow shared_relro shared_relro_file:file create_file_perms;
+
+allow shared_relro activity_service:service_manager find;
+allow shared_relro webviewupdate_service:service_manager find;
+allow shared_relro package_service:service_manager find;
+
+# StrictMode may attempt to find this service, failure is harmless.
+dontaudit shared_relro network_management_service:service_manager find;
diff --git a/prebuilts/api/202504/private/shell.te b/prebuilts/api/202504/private/shell.te
new file mode 100644
index 0000000..492d8f5
--- /dev/null
+++ b/prebuilts/api/202504/private/shell.te
@@ -0,0 +1,552 @@
+typeattribute shell coredomain, mlstrustedsubject;
+
+# allow shell input injection
+allow shell uhid_device:chr_file rw_file_perms;
+
+# systrace support - allow atrace to run
+allow shell debugfs_tracing_debug:dir r_dir_perms;
+allow shell debugfs_tracing:dir r_dir_perms;
+allow shell debugfs_tracing:file rw_file_perms;
+allow shell debugfs_trace_marker:file getattr;
+allow shell atrace_exec:file rx_file_perms;
+
+userdebug_or_eng(`
+  allow shell debugfs_tracing_debug:file rw_file_perms;
+')
+
+# read config.gz for CTS purposes
+allow shell config_gz:file r_file_perms;
+
+# allow reading tombstones. users can already use bugreports to get those.
+allow shell tombstone_data_file:dir r_dir_perms;
+allow shell tombstone_data_file:file r_file_perms;
+
+# Run app_process.
+# XXX Transition into its own domain?
+app_domain(shell)
+
+# allow shell to call dumpsys storaged
+binder_call(shell, storaged)
+
+# Perform SELinux access checks, needed for CTS
+selinux_check_access(shell)
+selinux_check_context(shell)
+
+# Control Perfetto traced and obtain traces from it.
+# Needed for Studio and debugging.
+unix_socket_connect(shell, traced_consumer, traced)
+
+# Allow shell binaries to write trace data to Perfetto. Used for testing and
+# cmdline utils.
+perfetto_producer(shell)
+
+domain_auto_trans(shell, vendor_shell_exec, vendor_shell)
+
+# Allow shell to execute tradeinmode for testing.
+domain_auto_trans(shell, tradeinmode_exec, tradeinmode)
+
+# Allow shell binaries to exec the perfetto cmdline util and have that
+# transition into its own domain, so that it behaves consistently to
+# when exec()-d by statsd.
+domain_auto_trans(shell, perfetto_exec, perfetto)
+# Allow to send SIGINT to perfetto when daemonized.
+allow shell perfetto:process signal;
+
+# Allow shell to run adb shell cmd stats commands. Needed for CTS.
+binder_call(shell, statsd);
+
+# Allow shell to read and unlink traces stored in /data/misc/a11ytraces.
+userdebug_or_eng(`
+  allow shell accessibility_trace_data_file:dir rw_dir_perms;
+  allow shell accessibility_trace_data_file:file { r_file_perms unlink };
+')
+
+# Allow shell to read and unlink traces stored in /data/misc/perfetto-traces.
+allow shell perfetto_traces_data_file:dir rw_dir_perms;
+allow shell perfetto_traces_data_file:file { r_file_perms unlink };
+# ... and /data/misc/perfetto-traces/bugreport/ .
+allow shell perfetto_traces_bugreport_data_file:dir rw_dir_perms;
+allow shell perfetto_traces_bugreport_data_file:file { r_file_perms unlink };
+# ... and /data/misc/perfetto-traces/profiling/ .
+allow shell perfetto_traces_profiling_data_file:dir rw_dir_perms;
+allow shell perfetto_traces_profiling_data_file:file { r_file_perms unlink };
+
+# Allow shell to create/remove configs stored in /data/misc/perfetto-configs.
+allow shell perfetto_configs_data_file:dir rw_dir_perms;
+allow shell perfetto_configs_data_file:file create_file_perms;
+
+# Allow shell to run adb shell cmd gpu commands.
+binder_call(shell, gpuservice);
+
+# Allow shell to use atrace HAL
+hal_client_domain(shell, hal_atrace)
+
+# For hostside tests such as CTS listening ports test.
+allow shell proc_net_tcp_udp:file r_file_perms;
+
+# The dl.exec_linker* tests need to execute /system/bin/linker
+# b/124789393
+allow shell system_linker_exec:file rx_file_perms;
+
+# Renderscript host side tests depend on being able to execute
+# /system/bin/bcc (b/126388046)
+allow shell rs_exec:file rx_file_perms;
+
+# Allow (host-driven) ART run-tests to execute dex2oat, in order to
+# check ART's compiler.
+allow shell dex2oat_exec:file rx_file_perms;
+allow shell dex2oat_exec:lnk_file read;
+
+# Allow shell to start and comminicate with lpdumpd.
+set_prop(shell, lpdumpd_prop);
+binder_call(shell, lpdumpd)
+
+# Allow shell to set and read value of properties used for CTS tests of
+# userspace reboot
+set_prop(shell, userspace_reboot_test_prop)
+
+# Allow shell to set this property to disable charging.
+set_prop(shell, power_debug_prop)
+
+# Allow shell to set this property used for rollback tests
+set_prop(shell, rollback_test_prop)
+
+# Allow shell to set RKP properties for testing purposes
+set_prop(shell, remote_prov_prop)
+
+# Allow shell to enable 16 KB backcompat globally.
+set_prop(shell, bionic_linker_16kb_app_compat_prop)
+
+# Allow shell to disable compat in package manager
+set_prop(shell, pm_16kb_app_compat_prop)
+
+# Allow shell to get encryption policy of /data/local/tmp/, for CTS
+allowxperm shell shell_data_file:dir ioctl {
+  FS_IOC_GET_ENCRYPTION_POLICY
+  FS_IOC_GET_ENCRYPTION_POLICY_EX
+};
+
+# Allow shell to execute simpleperf without a domain transition.
+allow shell simpleperf_exec:file rx_file_perms;
+
+userdebug_or_eng(`
+  # Allow shell to execute profcollectctl without a domain transition.
+  allow shell profcollectd_exec:file rx_file_perms;
+
+  # Allow shell to read profcollectd data files.
+  r_dir_file(shell, profcollectd_data_file)
+
+  # Allow to issue control commands to profcollectd binder service.
+  allow shell profcollectd:binder call;
+')
+
+# Allow shell to run remount command.
+allow shell remount_exec:file rx_file_perms;
+
+# Allow shell to call perf_event_open for profiling other shell processes, but
+# not the whole system.
+allow shell self:perf_event { open read write };
+
+# Allow shell to read microdroid vendor image
+r_dir_file(shell, vendor_microdroid_file)
+
+# Allow shell to read /apex/apex-info-list.xml and the vendor apexes
+allow shell apex_info_file:file r_file_perms;
+allow shell vendor_apex_file:file r_file_perms;
+allow shell vendor_apex_file:dir r_dir_perms;
+allow shell vendor_apex_metadata_file:dir r_dir_perms;
+
+# Allow shell to read updated APEXes under /data/apex
+allow shell apex_data_file:dir search;
+allow shell staging_data_file:file r_file_perms;
+
+# Set properties.
+set_prop(shell, shell_prop)
+set_prop(shell, ctl_bugreport_prop)
+set_prop(shell, ctl_dumpstate_prop)
+set_prop(shell, dumpstate_prop)
+set_prop(shell, exported_dumpstate_prop)
+set_prop(shell, debug_prop)
+set_prop(shell, perf_drop_caches_prop)
+set_prop(shell, powerctl_prop)
+set_prop(shell, log_tag_prop)
+set_prop(shell, wifi_log_prop)
+# Allow shell to start/stop traced via the persist.traced.enable
+# property (which also takes care of /data/misc initialization).
+set_prop(shell, traced_enabled_prop)
+# adjust SELinux audit rates
+set_prop(shell, logd_auditrate_prop)
+# adjust is_loggable properties
+userdebug_or_eng(`set_prop(shell, log_prop)')
+# logpersist script
+userdebug_or_eng(`set_prop(shell, logpersistd_logging_prop)')
+# Allow shell to start/stop heapprofd via the persist.heapprofd.enable
+# property.
+set_prop(shell, heapprofd_enabled_prop)
+# Allow shell to start/stop traced_perf via the persist.traced_perf.enable
+# property.
+set_prop(shell, traced_perf_enabled_prop)
+# Allow shell to start/stop gsid via ctl.start|stop|restart gsid.
+set_prop(shell, ctl_gsid_prop)
+set_prop(shell, ctl_snapuserd_prop)
+# Allow shell to start/stop prefetch
+set_prop(shell, ctl_prefetch_prop)
+# Allow shell to enable Dynamic System Update
+set_prop(shell, dynamic_system_prop)
+# Allow shell to mock an OTA using persist.pm.mock-upgrade
+set_prop(shell, mock_ota_prop)
+
+# Read device's serial number from system properties
+get_prop(shell, serialno_prop)
+
+# Allow shell to read the vendor security patch level for CTS
+get_prop(shell, vendor_security_patch_level_prop)
+
+# Read state of logging-related properties
+get_prop(shell, device_logging_prop)
+
+# Read state of boot reason properties
+get_prop(shell, bootloader_boot_reason_prop)
+get_prop(shell, last_boot_reason_prop)
+get_prop(shell, system_boot_reason_prop)
+
+# Allow shell to execute the remote key provisioning factory tool
+binder_call(shell, hal_keymint)
+# Allow shell to run the AVF RKP HAL during the execution of the remote key
+# provisioning factory tool.
+# TODO(b/351113293): Remove this once the AVF RKP HAL registration is moved to
+# a separate process.
+binder_call(shell, virtualizationservice)
+# Allow the shell to inspect whether AVF remote attestation is supported
+# through the system property.
+get_prop(shell, avf_virtualizationservice_prop)
+
+# Allow reading the outcome of perf_event_open LSM support test for CTS.
+get_prop(shell, init_perf_lsm_hooks_prop)
+
+# Allow shell to read boot image timestamps and fingerprints.
+get_prop(shell, build_bootimage_prop)
+
+# Allow shell to read odsign verification properties
+get_prop(shell, odsign_prop)
+
+userdebug_or_eng(`set_prop(shell, persist_debug_prop)')
+
+# Allow shell to read the keystore key contexts files. Used by native tests to test label lookup.
+allow shell keystore2_key_contexts_file:file r_file_perms;
+
+# Allow shell to access the keystore2_key namespace shell_key. Mainly used for native tests.
+allow shell shell_key:keystore2_key { delete rebind use get_info update };
+
+# Allow shell to open and execute memfd files for minijail unit tests.
+userdebug_or_eng(`
+  allow shell appdomain_tmpfs:file { open execute_no_trans };
+')
+
+# Allow shell to write db.log.detailed, db.log.slow_query_threshold*
+set_prop(shell, sqlite_log_prop)
+
+# Allow shell to write MTE properties even on user builds.
+set_prop(shell, arm64_memtag_prop)
+set_prop(shell, permissive_mte_prop)
+
+# Allow shell to write kcmdline properties even on user builds.
+set_prop(shell, kcmdline_prop)
+
+# Allow shell to read the dm-verity props on user builds.
+get_prop(shell, verity_status_prop)
+
+# Allow shell to read Virtual A/B related properties
+get_prop(shell, virtual_ab_prop)
+
+# Allow ReadDefaultFstab() for CTS.
+read_fstab(shell)
+
+# Allow shell read access to /apex/apex-info-list.xml for CTS.
+allow shell apex_info_file:file r_file_perms;
+
+# Let the shell user call virtualizationservice (and
+# virtualizationservice call back to shell) for debugging.
+virtualizationservice_use(shell)
+
+# Allow shell to set persist.wm.debug properties
+userdebug_or_eng(`set_prop(shell, persist_wm_debug_prop)')
+
+# Allow shell to write GWP-ASan properties even on user builds.
+set_prop(shell, gwp_asan_prop)
+
+# Allow shell to set persist.sysui.notification.builder_extras_override property
+userdebug_or_eng(`set_prop(shell, persist_sysui_builder_extras_prop)')
+# Allow shell to set persist.sysui.notification.ranking_update_ashmem property
+userdebug_or_eng(`set_prop(shell, persist_sysui_ranking_update_prop)')
+
+# Allow shell to read the build properties for attestation feature
+get_prop(shell, build_attestation_prop)
+
+# Allow shell to execute oatdump.
+# TODO (b/350628688): Remove this once it's safe to do so.
+allow shell oatdump_exec:file rx_file_perms;
+
+# Create and use network sockets.
+net_domain(shell)
+
+# logcat
+read_logd(shell)
+control_logd(shell)
+get_prop(shell, logd_prop)
+# logcat -L (directly, or via dumpstate)
+allow shell pstorefs:dir search;
+allow shell pstorefs:file r_file_perms;
+
+# Root fs.
+allow shell rootfs:dir r_dir_perms;
+
+# read files in /data/anr
+allow shell anr_data_file:dir r_dir_perms;
+allow shell anr_data_file:file r_file_perms;
+
+# Access /data/local/tmp.
+allow shell shell_data_file:dir create_dir_perms;
+allow shell shell_data_file:file create_file_perms;
+allow shell shell_data_file:file rx_file_perms;
+allow shell shell_data_file:lnk_file create_file_perms;
+
+# Access /data/local/tests.
+allow shell shell_test_data_file:dir create_dir_perms;
+allow shell shell_test_data_file:file create_file_perms;
+allow shell shell_test_data_file:file rx_file_perms;
+allow shell shell_test_data_file:lnk_file create_file_perms;
+allow shell shell_test_data_file:sock_file create_file_perms;
+
+# Read and delete from /data/local/traces.
+allow shell trace_data_file:file { r_file_perms unlink };
+allow shell trace_data_file:dir { r_dir_perms remove_name write };
+
+# Access /data/misc/profman.
+allow shell profman_dump_data_file:dir { write remove_name r_dir_perms };
+allow shell profman_dump_data_file:file { unlink r_file_perms };
+
+# Read/execute files in /data/nativetest
+userdebug_or_eng(`
+  allow shell nativetest_data_file:dir r_dir_perms;
+  allow shell nativetest_data_file:file rx_file_perms;
+')
+
+# adb bugreport
+unix_socket_connect(shell, dumpstate, dumpstate)
+
+allow shell devpts:chr_file rw_file_perms;
+allow shell tty_device:chr_file rw_file_perms;
+allow shell console_device:chr_file rw_file_perms;
+
+allow shell input_device:dir r_dir_perms;
+allow shell input_device:chr_file r_file_perms;
+
+r_dir_file(shell, system_file)
+allow shell system_file:file x_file_perms;
+allow shell toolbox_exec:file rx_file_perms;
+allow shell shell_exec:file rx_file_perms;
+allow shell zygote_exec:file rx_file_perms;
+
+userdebug_or_eng(`
+  # "systrace --boot" support - allow boottrace service to run
+  allow shell boottrace_data_file:dir rw_dir_perms;
+  allow shell boottrace_data_file:file create_file_perms;
+')
+
+# allow shell access to services
+allow shell servicemanager:service_manager list;
+# don't allow shell to access GateKeeper service
+# TODO: why is this so broad? Tightening candidate? It needs at list:
+# - dumpstate_service (so it can receive dumpstate progress updates)
+allow shell {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -gatekeeper_service
+  -hal_keymint_service
+  -hal_secureclock_service
+  -hal_sharedsecret_service
+  -incident_service
+  -installd_service
+  -mdns_service
+  -netd_service
+  -system_suspend_control_internal_service
+  -system_suspend_control_service
+  -virtual_touchpad_service
+  -vold_service
+  -default_android_service
+  -virtualization_service
+}:service_manager find;
+allow shell dumpstate:binder call;
+
+# allow shell to get information from hwservicemanager
+# for instance, listing hardware services with lshal
+hwbinder_use(shell)
+allow shell hwservicemanager:hwservice_manager list;
+
+# allow shell to look through /proc/ for lsmod, ps, top, netstat, vmstat.
+r_dir_file(shell, proc_net_type)
+
+allow shell {
+  proc_asound
+  proc_cgroups
+  proc_filesystems
+  proc_interrupts
+  proc_loadavg # b/124024827
+  proc_meminfo
+  proc_modules
+  proc_pid_max
+  proc_slabinfo
+  proc_stat
+  proc_timer
+  proc_uptime
+  proc_version
+  proc_vmstat
+  proc_zoneinfo
+}:file r_file_perms;
+
+# allow listing network interfaces under /sys/class/net.
+allow shell sysfs_net:dir r_dir_perms;
+
+r_dir_file(shell, cgroup)
+allow shell cgroup_desc_file:file r_file_perms;
+allow shell vendor_cgroup_desc_file:file r_file_perms;
+r_dir_file(shell, cgroup_v2)
+allow shell domain:dir { search open read getattr };
+allow shell domain:{ file lnk_file } { open read getattr };
+
+# statvfs() of /proc and other labeled filesystems
+# (yaffs2, jffs2, ext2, ext3, ext4, xfs, btrfs, f2fs, squashfs, overlay)
+allow shell { proc labeledfs }:filesystem getattr;
+
+# stat() of /dev
+allow shell device:dir getattr;
+
+# allow shell to read /proc/pid/attr/current for ps -Z
+allow shell domain:process getattr;
+
+# Allow pulling the SELinux policy for CTS purposes
+allow shell selinuxfs:dir r_dir_perms;
+allow shell selinuxfs:file r_file_perms;
+
+# enable shell domain to read/write files/dirs for bootchart data
+# User will creates the start and stop file via adb shell
+# and read other files created by init process under /data/bootchart
+allow shell bootchart_data_file:dir rw_dir_perms;
+allow shell bootchart_data_file:file create_file_perms;
+
+# Make sure strace works for the non-privileged shell user
+allow shell self:process ptrace;
+
+# allow shell to get battery info
+allow shell sysfs:dir r_dir_perms;
+allow shell sysfs_batteryinfo:dir r_dir_perms;
+allow shell sysfs_batteryinfo:file r_file_perms;
+
+# Allow reads (but not writes) of the MGLRU state
+allow shell sysfs_lru_gen_enabled:file r_file_perms;
+
+# Allow reads (but not writes) of mem_sleep to determine suspend mechanism
+allow shell sysfs_mem_sleep:file r_file_perms;
+
+# Allow communicating with the VM terminal.
+userdebug_or_eng(`
+  allow shell vmlauncher_app_devpts:chr_file rw_file_perms;
+  allowxperm shell vmlauncher_app_devpts:chr_file ioctl unpriv_tty_ioctls;
+')
+
+# Allow CTS to check whether AVF debug policy is installed
+allow shell { proc_dt_avf sysfs_dt_avf }:dir search;
+
+# Allow access to ion memory allocation device.
+allow shell ion_device:chr_file rw_file_perms;
+
+#
+# filesystem test for insecure chr_file's is done
+# via a host side test
+#
+allow shell dev_type:dir r_dir_perms;
+allow shell dev_type:chr_file getattr;
+
+# /dev/fd is a symlink
+allow shell proc:lnk_file getattr;
+
+#
+# filesystem test for insucre blk_file's is done
+# via hostside test
+#
+allow shell dev_type:blk_file getattr;
+
+# read selinux policy files
+allow shell file_contexts_file:file r_file_perms;
+allow shell property_contexts_file:file r_file_perms;
+allow shell seapp_contexts_file:file r_file_perms;
+allow shell service_contexts_file:file r_file_perms;
+allow shell sepolicy_file:file r_file_perms;
+
+# Allow shell to start up vendor shell
+allow shell vendor_shell_exec:file rx_file_perms;
+
+is_flag_enabled(RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES, `
+  allow shell linux_vm_setup_exec:file { entrypoint r_file_perms };
+')
+
+allow shell tee_service_contexts_file:file r_file_perms;
+allow shell test_pkvm_tee_service:tee_service use;
+
+# Everything is labeled as rootfs in recovery mode. Allow shell to
+# execute them.
+recovery_only(`
+  allow shell rootfs:file rx_file_perms;
+')
+
+###
+### Neverallow rules
+###
+
+# Do not allow shell to talk directly to security HAL services other than
+# hal_remotelyprovisionedcomponent_service
+neverallow shell {
+  hal_keymint_service
+  hal_secureclock_service
+  hal_sharedsecret_service
+  virtualization_service
+}:service_manager find;
+
+# Do not allow shell to hard link to any files.
+# In particular, if shell hard links to app data
+# files, installd will not be able to guarantee the deletion
+# of the linked to file. Hard links also contribute to security
+# bugs, so we want to ensure the shell user never has this
+# capability.
+neverallow shell file_type:file link;
+
+# Do not allow privileged socket ioctl commands
+neverallowxperm shell domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;
+
+# limit shell access to sensitive char drivers to
+# only getattr required for host side test.
+neverallow shell {
+  fuse_device
+  hw_random_device
+  port_device
+}:chr_file ~getattr;
+
+# Limit shell to only getattr on blk devices for host side tests.
+neverallow shell dev_type:blk_file ~getattr;
+
+# b/30861057: Shell access to existing input devices is an abuse
+# vector. The shell user can inject events that look like they
+# originate from the touchscreen etc.
+# Everyone should have already moved to UiAutomation#injectInputEvent
+# if they are running instrumentation tests (i.e. CTS), Monkey for
+# their stress tests, and the input command (adb shell input ...) for
+# injecting swipes and things.
+neverallow shell input_device:chr_file no_w_file_perms;
+
+neverallow shell self:perf_event ~{ open read write kernel };
+
+# Never allow others to set or get the perf.drop_caches property.
+neverallow { domain -shell -init } perf_drop_caches_prop:property_service set;
+neverallow { domain -shell -init -dumpstate } perf_drop_caches_prop:file read;
diff --git a/prebuilts/api/202504/private/simpleperf.te b/prebuilts/api/202504/private/simpleperf.te
new file mode 100644
index 0000000..46769cb
--- /dev/null
+++ b/prebuilts/api/202504/private/simpleperf.te
@@ -0,0 +1,66 @@
+# Domain used when running /system/bin/simpleperf to profile a specific app.
+# Entered either by the app itself exec-ing the binary, or through
+# simpleperf_app_runner (with shell as its origin). Certain other domains
+# (runas_app, shell) can also exec this binary without a domain transition.
+typeattribute simpleperf coredomain;
+type simpleperf_exec, system_file_type, exec_type, file_type;
+
+# Define apps that can be marked debuggable/profileable and be profiled by simpleperf.
+define(`simpleperf_profileable_apps', `{
+  ephemeral_app
+  isolated_app
+  platform_app
+  priv_app
+  untrusted_app_all
+}')
+
+domain_auto_trans(simpleperf_profileable_apps, simpleperf_exec, simpleperf)
+
+# When running in this domain, simpleperf is scoped to profiling an individual
+# app. The necessary MAC permissions for profiling are more maintainable and
+# consistent if simpleperf is marked as an app domain as well (as, for example,
+# it will then see the same set of system libraries as the app).
+app_domain(simpleperf)
+
+# Allow ptrace attach to the target app, for reading JIT debug info (using
+# process_vm_readv) during unwinding and symbolization.
+allow simpleperf simpleperf_profileable_apps:process ptrace;
+
+# Allow using perf_event_open syscall for profiling the target app.
+allow simpleperf self:perf_event { open read write kernel };
+
+# Allow /proc/<pid> access for the target app (for example, when trying to
+# discover it by cmdline).
+r_dir_file(simpleperf, simpleperf_profileable_apps)
+
+# Allow apps signalling simpleperf domain, which is the domain that the simpleperf
+# profiler runs as when executed by the app. The signals are used to control
+# the profiler (which would be profiling the app that is sending the signal).
+allow simpleperf_profileable_apps simpleperf:process signal;
+
+# Suppress denial logspam when simpleperf is trying to find a matching process
+# by scanning /proc/<pid>/cmdline files. The /proc/<pid> directories are within
+# the same domain as their respective processes, most of which this domain is
+# not allowed to see.
+dontaudit simpleperf domain:dir search;
+
+# Allow simpleperf to read apk files and libraries executed by the app.
+r_dir_file(simpleperf, privapp_data_file);
+r_dir_file(simpleperf, app_data_file);
+allow simpleperf { apk_tmp_file apk_private_tmp_file }:file { getattr read };
+allow simpleperf system_linker_exec:file r_file_perms;
+allow simpleperf app_exec_data_file:file r_file_perms;
+allow simpleperf asec_public_file:file r_file_perms;
+r_dir_file(simpleperf, vendor_app_file);
+
+# Allow simpleperf to read input files passed from adb shell.
+allow simpleperf shell_data_file:file r_file_perms;
+allow simpleperf shell_data_file:dir r_dir_perms;
+
+# Neverallows:
+
+# Profiling must be confined to the scope of an individual app.
+neverallow simpleperf self:perf_event ~{ open read write kernel };
+# Never allow other processes to ptrace simpleperf, as this could leak sensitive infomation from
+# raw samples.
+neverallow { domain -crash_dump -llkd } simpleperf:process ptrace;
diff --git a/prebuilts/api/202504/private/simpleperf_app_runner.te b/prebuilts/api/202504/private/simpleperf_app_runner.te
new file mode 100644
index 0000000..e4871ac
--- /dev/null
+++ b/prebuilts/api/202504/private/simpleperf_app_runner.te
@@ -0,0 +1,46 @@
+typeattribute simpleperf_app_runner coredomain;
+
+domain_auto_trans(shell, simpleperf_app_runner_exec, simpleperf_app_runner)
+
+# run simpleperf_app_runner in adb shell.
+allow simpleperf_app_runner adbd:fd use;
+allow simpleperf_app_runner adbd:unix_stream_socket { read write };
+allow simpleperf_app_runner shell:fd use;
+allow simpleperf_app_runner devpts:chr_file { read write ioctl };
+
+# simpleperf_app_runner reads package information.
+allow simpleperf_app_runner system_data_file:file r_file_perms;
+allow simpleperf_app_runner system_data_file:lnk_file getattr;
+allow simpleperf_app_runner packages_list_file:file r_file_perms;
+
+# The app's data dir may be accessed through a symlink.
+allow simpleperf_app_runner system_data_file:lnk_file read;
+
+# simpleperf_app_runner switches to the app UID/GID.
+allow simpleperf_app_runner self:global_capability_class_set { setuid setgid };
+
+# simpleperf_app_runner switches to the app security context.
+selinux_check_context(simpleperf_app_runner) # validate context
+allow simpleperf_app_runner self:process setcurrent;
+allow simpleperf_app_runner { ephemeral_app isolated_app platform_app priv_app untrusted_app_all }:process dyntransition; # setcon
+
+# simpleperf_app_runner/libselinux needs access to seapp_contexts_file to
+# determine which domain to transition to.
+allow simpleperf_app_runner seapp_contexts_file:file r_file_perms;
+
+# simpleperf_app_runner passes pipe fds.
+# simpleperf_app_runner writes app type (debuggable or profileable) to pipe fds.
+allow simpleperf_app_runner shell:fifo_file { getattr read write };
+
+# simpleperf_app_runner checks shell data paths.
+# simpleperf_app_runner passes shell data fds.
+allow simpleperf_app_runner shell_data_file:dir { getattr search };
+allow simpleperf_app_runner shell_data_file:file { getattr write };
+
+###
+### neverallow rules
+###
+
+# simpleperf_app_runner cannot have capabilities other than CAP_SETUID and CAP_SETGID
+neverallow simpleperf_app_runner self:global_capability_class_set ~{ setuid setgid };
+neverallow simpleperf_app_runner self:global_capability2_class_set *;
diff --git a/prebuilts/api/202504/private/simpleperf_boot.te b/prebuilts/api/202504/private/simpleperf_boot.te
new file mode 100644
index 0000000..e71c492
--- /dev/null
+++ b/prebuilts/api/202504/private/simpleperf_boot.te
@@ -0,0 +1,59 @@
+# Domain used when running /system/bin/simpleperf to record boot-time profiles.
+# It is started by init process. It's only available on userdebug/eng build.
+
+type simpleperf_boot, domain, coredomain, mlstrustedsubject;
+
+# /data/simpleperf_boot_data, used to store boot-time profiles.
+type simpleperf_boot_data_file, file_type;
+
+userdebug_or_eng(`
+  domain_auto_trans(init, simpleperf_exec, simpleperf_boot)
+
+  # simpleperf_boot writes profile data to /data/simpleperf_boot_data.
+  allow simpleperf_boot simpleperf_boot_data_file:file create_file_perms;
+  allow simpleperf_boot simpleperf_boot_data_file:dir rw_dir_perms;
+
+  # Allow simpleperf_boot full use of perf_event_open(2), to enable system wide profiling.
+  allow simpleperf_boot self:perf_event { cpu kernel open read write };
+  allow simpleperf_boot self:global_capability2_class_set perfmon;
+
+  # Allow simpleperf_boot to scan through /proc/pid for all processes.
+  r_dir_file(simpleperf_boot, domain)
+
+  # Allow simpleperf_boot to read executable binaries.
+  allow simpleperf_boot system_file_type:file r_file_perms;
+  allow simpleperf_boot vendor_file_type:file r_file_perms;
+
+  # Allow simpleperf_boot to search for and read kernel modules.
+  allow simpleperf_boot vendor_file:dir r_dir_perms;
+  allow simpleperf_boot vendor_kernel_modules:file r_file_perms;
+
+  # Allow simpleperf_boot to read system bootstrap libs.
+  allow simpleperf_boot system_bootstrap_lib_file:dir search;
+  allow simpleperf_boot system_bootstrap_lib_file:file r_file_perms;
+
+  # Allow simpleperf_boot to access tracefs.
+  allow simpleperf_boot debugfs_tracing:dir r_dir_perms;
+  allow simpleperf_boot debugfs_tracing:file rw_file_perms;
+  allow simpleperf_boot debugfs_tracing_debug:dir r_dir_perms;
+  allow simpleperf_boot debugfs_tracing_debug:file rw_file_perms;
+
+  # Allow simpleperf_boot to write to perf_event_paranoid under /proc.
+  allow simpleperf_boot proc_perf:file write;
+
+  # Allow simpleperf_boot to read process maps.
+  allow simpleperf_boot self:global_capability_class_set sys_ptrace;
+  # Allow simpleperf_boot to read JIT debug info from system_server and zygote.
+  allow simpleperf_boot { system_server zygote }:process ptrace;
+
+  # Allow to temporarily lift the kptr_restrict setting and get kernel start address
+  # by reading /proc/kallsyms, get module start address by reading /proc/modules.
+  set_prop(simpleperf_boot, lower_kptr_restrict_prop)
+  allow simpleperf_boot proc_kallsyms:file r_file_perms;
+  allow simpleperf_boot proc_modules:file r_file_perms;
+
+  # Allow simpleperf_boot to read kernel build id.
+  allow simpleperf_boot sysfs_kernel_notes:file r_file_perms;
+
+  dontaudit simpleperf_boot shell_data_file:dir search;
+')
diff --git a/prebuilts/api/202504/private/slideshow.te b/prebuilts/api/202504/private/slideshow.te
new file mode 100644
index 0000000..d7c9868
--- /dev/null
+++ b/prebuilts/api/202504/private/slideshow.te
@@ -0,0 +1,11 @@
+typeattribute slideshow coredomain;
+
+allow slideshow kmsg_device:chr_file rw_file_perms;
+wakelock_use(slideshow)
+allow slideshow device:dir r_dir_perms;
+allow slideshow self:global_capability_class_set sys_tty_config;
+allow slideshow graphics_device:dir r_dir_perms;
+allow slideshow graphics_device:chr_file rw_file_perms;
+allow slideshow input_device:dir r_dir_perms;
+allow slideshow input_device:chr_file r_file_perms;
+allow slideshow tty_device:chr_file rw_file_perms;
diff --git a/prebuilts/api/202504/private/snapshotctl.te b/prebuilts/api/202504/private/snapshotctl.te
new file mode 100644
index 0000000..c92217d
--- /dev/null
+++ b/prebuilts/api/202504/private/snapshotctl.te
@@ -0,0 +1,64 @@
+type snapshotctl, domain, coredomain;
+type snapshotctl_exec, system_file_type, exec_type, file_type;
+
+# Allow init to run snapshotctl and do auto domain transfer.
+init_daemon_domain(snapshotctl);
+
+# Allow to start gsid service.
+set_prop(snapshotctl, ctl_gsid_prop)
+
+# Allow to talk to gsid.
+binder_use(snapshotctl)
+allow snapshotctl gsi_service:service_manager find;
+binder_call(snapshotctl, gsid)
+
+# Allow to create/read/write/delete OTA metadata files for snapshot status and COW file status.
+allow snapshotctl metadata_file:dir search;
+allow snapshotctl ota_metadata_file:dir rw_dir_perms;
+allow snapshotctl ota_metadata_file:file create_file_perms;
+
+# Allow to get A/B slot suffix from device tree or kernel cmdline.
+r_dir_file(snapshotctl, sysfs_dt_firmware_android);
+allow snapshotctl proc_cmdline:file r_file_perms;
+
+# Needed to (re-)map logical partitions.
+allow snapshotctl block_device:dir r_dir_perms;
+allow snapshotctl super_block_device:blk_file r_file_perms;
+
+# Interact with device-mapper to collapse snapshots.
+allow snapshotctl dm_device:chr_file rw_file_perms;
+
+# Needed to mutate device-mapper nodes.
+allow snapshotctl self:global_capability_class_set sys_admin;
+
+# Snapshotctl talk to boot control HAL to set merge status.
+hwbinder_use(snapshotctl)
+hal_client_domain(snapshotctl, hal_bootctl)
+
+# Allow snapshotctl to write to statsd socket.
+unix_socket_send(snapshotctl, statsdw, statsd)
+
+# Logging
+userdebug_or_eng(`
+  allow snapshotctl snapshotctl_log_data_file:dir rw_dir_perms;
+  allow snapshotctl snapshotctl_log_data_file:file create_file_perms;
+')
+
+# Allow to read /proc/bootconfig.
+allow snapshotctl proc_bootconfig:file r_file_perms;
+
+# Allow to control snapuserd.
+set_prop(snapshotctl, ctl_snapuserd_prop)
+
+# Allow to read snapuserd.* properties.
+get_prop(snapshotctl, snapuserd_prop)
+
+# Allow to talk to snapuserd.
+allow snapshotctl snapuserd_socket:sock_file write;
+allow snapshotctl snapuserd:unix_stream_socket { connectto };
+
+# Allow to read /dev/block/dm-* (device-mapper) nodes.
+allow snapshotctl dm_device:blk_file r_file_perms;
+
+# Allow to read dm-user control nodes.
+allow snapshotctl dm_user_device:dir search;
diff --git a/prebuilts/api/202504/private/snapuserd.te b/prebuilts/api/202504/private/snapuserd.te
new file mode 100644
index 0000000..fda3fd1
--- /dev/null
+++ b/prebuilts/api/202504/private/snapuserd.te
@@ -0,0 +1,84 @@
+# snapuserd - Daemon for servicing dm-user requests for Virtual A/B snapshots.
+type snapuserd, domain;
+type snapuserd_exec, exec_type, file_type, system_file_type;
+
+typeattribute snapuserd coredomain;
+
+init_daemon_domain(snapuserd)
+
+allow snapuserd kmsg_device:chr_file rw_file_perms;
+
+# Allow snapuserd to reach block devices in /dev/block.
+allow snapuserd block_device:dir search;
+
+# Read /sys/block to find all the DM directories like (/sys/block/dm-X).
+allow snapuserd sysfs:dir { open read };
+
+# Read /sys/block/dm-X/dm/name (which is a symlink to
+# /sys/devices/virtual/block/dm-X/dm/name) to identify the mapping between
+# dm-X and dynamic partitions.
+allow snapuserd sysfs_dm:dir { open read search };
+allow snapuserd sysfs_dm:file r_file_perms;
+
+# Reading and writing to /dev/block/dm-* (device-mapper) nodes.
+allow snapuserd block_device:dir r_dir_perms;
+allow snapuserd dm_device:chr_file rw_file_perms;
+allow snapuserd dm_device:blk_file rw_file_perms;
+
+# Reading and writing to dm-user control nodes.
+allow snapuserd dm_user_device:dir r_dir_perms;
+allow snapuserd dm_user_device:chr_file rw_file_perms;
+
+# Reading and writing to /dev/socket/snapuserd and snapuserd_proxy.
+allow snapuserd snapuserd_socket:unix_stream_socket { accept listen getattr read write };
+allow snapuserd snapuserd_proxy_socket:sock_file write;
+
+# Required for setting GID to system while calling SetTaskProfile() API
+allow snapuserd self:global_capability_class_set { setgid };
+
+# This arises due to first-stage init opening /dev/null without F_CLOEXEC
+# (see SetStdioToDevNull in init). When we fork() and execveat() snapuserd
+# again, the descriptor leaks into the new process.
+allow snapuserd kernel:fd use;
+
+# snapuserd.* properties
+set_prop(snapuserd, snapuserd_prop)
+get_prop(snapuserd, virtual_ab_prop)
+
+# For inotify watching for /dev/socket/snapuserd_proxy to appear.
+allow snapuserd tmpfs:dir { read watch };
+
+# Forbid anything other than snapuserd and init setting snapuserd properties.
+neverallow {
+  domain
+  -snapuserd
+  -init
+} snapuserd_prop:property_service set;
+
+# Allow to read/write/create OTA metadata files
+allow snapuserd metadata_file:dir search;
+allow snapuserd ota_metadata_file:dir rw_dir_perms;
+allow snapuserd ota_metadata_file:file create_file_perms;
+
+# write to /data/misc/snapuserd_log
+allow snapuserd snapuserd_log_data_file:dir create_dir_perms;
+allow snapuserd snapuserd_log_data_file:file create_file_perms;
+
+# Read /proc/stat to determine boot time
+allow snapuserd proc_stat:file r_file_perms;
+
+# This capability allows snapuserd to circumvent memlock rlimits while using
+# io_uring. An Alternative would be to up the memlock rlimit for the snapuserd service.
+allow snapuserd self:capability ipc_lock;
+io_uring_use(snapuserd)
+
+# Disallow other domains controlling snapuserd.
+neverallow {
+  domain
+  -fastbootd
+  -init
+  -recovery
+  -shell
+  -snapshotctl
+  -update_engine
+} ctl_snapuserd_prop:property_service set;
diff --git a/prebuilts/api/202504/private/stats.te b/prebuilts/api/202504/private/stats.te
new file mode 100644
index 0000000..6261303
--- /dev/null
+++ b/prebuilts/api/202504/private/stats.te
@@ -0,0 +1,35 @@
+type stats, domain;
+typeattribute stats coredomain;
+type stats_exec, system_file_type, exec_type, file_type;
+
+# switch to stats domain for stats command
+domain_auto_trans(shell, stats_exec, stats)
+
+# allow stats access to stdout from its parent shell.
+allow stats shell:fd use;
+
+# allow stats to communicate use, read and write over the adb
+# connection.
+allow stats adbd:fd use;
+allow stats adbd:unix_stream_socket { read write };
+
+# allow adbd to reap stats
+allow stats adbd:process { sigchld };
+
+# Allow the stats command to talk to the statsd over the binder, and get
+# back the stats report data from a ParcelFileDescriptor.
+binder_use(stats)
+allow stats stats_service:service_manager find;
+binder_call(stats, statsd)
+allow stats statsd:fifo_file write;
+
+# Only statsd can publish the binder service.
+add_service(statsd, stats_service)
+
+# Allow pipes from (and only from) stats.
+allow statsd stats:fd use;
+allow statsd stats:fifo_file write;
+
+# Allow statsd to call back to stats with status updates.
+binder_call(statsd, stats)
+
diff --git a/prebuilts/api/202504/private/stats_service_server.te b/prebuilts/api/202504/private/stats_service_server.te
new file mode 100644
index 0000000..ab8e58a
--- /dev/null
+++ b/prebuilts/api/202504/private/stats_service_server.te
@@ -0,0 +1,4 @@
+add_hwservice(stats_service_server, fwk_stats_hwservice)
+add_service(stats_service_server, fwk_stats_service)
+
+binder_use(stats_service_server)
diff --git a/prebuilts/api/202504/private/statsd.te b/prebuilts/api/202504/private/statsd.te
new file mode 100644
index 0000000..acc3aa6
--- /dev/null
+++ b/prebuilts/api/202504/private/statsd.te
@@ -0,0 +1,150 @@
+typeattribute statsd coredomain;
+
+init_daemon_domain(statsd)
+
+# Allow to exec the perfetto cmdline client and pass it the trace config on
+# stdint through a pipe. It allows statsd to  capture traces and hand them
+# to Android dropbox.
+allow statsd perfetto_exec:file rx_file_perms;
+domain_auto_trans(statsd, perfetto_exec, perfetto)
+
+# Grant statsd with permissions to register the services.
+allow statsd {
+  statscompanion_service
+}:service_manager find;
+
+# Allow incidentd to obtain the statsd incident section.
+allow statsd incidentd:fifo_file write;
+
+# Allow StatsCompanionService to pipe data to statsd.
+allow statsd system_server:fifo_file { read write getattr };
+
+# Allow any app to pipe data to statsd.
+# Access control to all statsd APIs inherit from system_api_service, so
+# appdomain permissions are granted to avoid listing each individual
+# service that can access system_api_service.
+allow statsd appdomain:fifo_file { read write getattr };
+
+# Allow statsd to retrieve SF statistics over binder
+binder_call(statsd, surfaceflinger);
+
+# Allow statsd to read its system properties
+get_prop(statsd, device_config_statsd_native_prop)
+get_prop(statsd, device_config_statsd_native_boot_prop)
+
+# Allow statsd to read misctl properties (for 16 KB)
+get_prop(statsd, misctrl_prop)
+
+# Allow statsd to write uprobestats configs.
+allow statsd uprobestats_configs_data_file:dir rw_dir_perms;
+allow statsd uprobestats_configs_data_file:file create_file_perms;
+
+# Allow statsd to trigger uprobestats via property.
+set_prop(statsd, uprobestats_start_with_config_prop);
+
+# Allow statsd to use io_uring
+io_uring_use(statsd)
+
+# Allow statsd to start the uprobestats service.
+set_prop(statsd, ctl_uprobestats_prop)
+binder_use(statsd)
+
+# Allow statsd to scan through /proc/pid for all processes.
+r_dir_file(statsd, domain)
+
+# Allow executing files on system, such as running a shell or running:
+#   /system/bin/toolbox
+#   /system/bin/logcat
+#   /system/bin/dumpsys
+allow statsd devpts:chr_file { getattr ioctl read write };
+allow statsd shell_exec:file rx_file_perms;
+allow statsd system_file:file execute_no_trans;
+allow statsd toolbox_exec:file rx_file_perms;
+
+userdebug_or_eng(`
+  allow statsd su:fifo_file read;
+')
+
+# Create, read, and write into
+#   /data/misc/stats-active-metric
+#   /data/misc/stats-data
+#   /data/misc/stats-metadata
+#   /data/misc/stats-service
+#   /data/misc/train-info
+allow statsd stats_data_file:dir create_dir_perms;
+allow statsd stats_data_file:file create_file_perms;
+allow statsd stats_config_data_file:dir create_dir_perms;
+allow statsd stats_config_data_file:file create_file_perms;
+
+# Allow statsd to make binder calls to any binder service.
+binder_call(statsd, appdomain)
+binder_call(statsd, incidentd)
+binder_call(statsd, system_server)
+binder_call(statsd, traced_probes)
+
+# Allow statsd to interact with gpuservice
+allow statsd gpu_service:service_manager find;
+binder_call(statsd, gpuservice)
+
+# Allow statsd to interact with keystore to pull atoms
+allow statsd keystore_service:service_manager find;
+binder_call(statsd, keystore)
+
+# Allow statsd to interact with mediametrics
+allow statsd mediametrics_service:service_manager find;
+binder_call(statsd, mediametrics)
+
+# Allow statsd to interact with mediametrics
+allow statsd mediaserver_service:service_manager find;
+binder_call(statsd, mediaserver)
+
+# Allow statsd to interact with mmd
+allow statsd mmd_service:service_manager find;
+binder_call(statsd, mmd)
+
+# Allow logd access.
+read_logd(statsd)
+control_logd(statsd)
+
+# Grant statsd with permissions to register the services.
+allow statsd {
+  app_api_service
+  incident_service
+  system_api_service
+}:service_manager find;
+
+# Grant statsd to access health hal to access battery metrics.
+allow statsd hal_health_hwservice:hwservice_manager find;
+
+# Allow statsd to send dump info to dumpstate
+allow statsd dumpstate:fd use;
+allow statsd dumpstate:fifo_file { getattr write };
+
+# Allow access to with hardware layer and process stats.
+allow statsd proc_uid_cputime_showstat:file { getattr open read };
+hal_client_domain(statsd, hal_health)
+hal_client_domain(statsd, hal_power)
+hal_client_domain(statsd, hal_power_stats)
+hal_client_domain(statsd, hal_thermal)
+
+# Allow 'adb shell cmd' to upload configs and download output.
+allow statsd adbd:fd use;
+allow statsd adbd:unix_stream_socket { getattr read write };
+allow statsd shell:fifo_file { getattr read write };
+
+unix_socket_send(statsd, statsdw, statsd)
+
+###
+### neverallow rules
+###
+
+# Only statsd and the other root services in limited circumstances.
+# can get to the files in /data/misc/stats-data, /data/misc/stats-service.
+# Other services are prohibitted from accessing the file.
+neverallow { domain -statsd -init -vold } stats_data_file:file *;
+neverallow { domain -statsd -system_server -init -vold } stats_config_data_file:file *;
+
+
+# Limited access to the directory itself.
+neverallow { domain -statsd -init -vold } stats_data_file:dir *;
+neverallow { domain -statsd -system_server -init -vold } stats_config_data_file:dir *;
diff --git a/prebuilts/api/202504/private/storaged.te b/prebuilts/api/202504/private/storaged.te
new file mode 100644
index 0000000..bb39e5b
--- /dev/null
+++ b/prebuilts/api/202504/private/storaged.te
@@ -0,0 +1,69 @@
+# storaged daemon
+type storaged, domain, coredomain, mlstrustedsubject;
+type storaged_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(storaged)
+
+# Read access to pseudo filesystems
+r_dir_file(storaged, domain)
+
+# Read /proc/uid_io/stats
+allow storaged proc_uid_io_stats:file r_file_perms;
+
+# Read /data/system/packages.list
+allow storaged system_data_file:file r_file_perms;
+allow storaged packages_list_file:file r_file_perms;
+
+# Store storaged proto file
+allow storaged storaged_data_file:dir rw_dir_perms;
+allow storaged storaged_data_file:file create_file_perms;
+
+no_debugfs_restriction(`
+  userdebug_or_eng(`
+    # Read access to debugfs
+    allow storaged debugfs_mmc:dir search;
+    allow storaged debugfs_mmc:file r_file_perms;
+  ')
+')
+
+# Needed to provide debug dump output via dumpsys pipes.
+allow storaged shell:fd use;
+allow storaged shell:fifo_file write;
+
+# Needed for GMScore to call dumpsys storaged
+allow storaged priv_app:fd use;
+# b/142672293: No other priv-app should need this allow rule now that GMS core runs in its own domain.
+# Remove after no logs are seen for this rule.
+userdebug_or_eng(`
+  auditallow storaged priv_app:fd use;
+')
+allow storaged gmscore_app:fd use;
+allow storaged { privapp_data_file app_data_file }:file write;
+allow storaged permission_service:service_manager find;
+
+# Binder permissions
+add_service(storaged, storaged_service)
+
+binder_use(storaged)
+binder_call(storaged, system_server)
+
+hal_client_domain(storaged, hal_health)
+
+# Implements a dumpsys interface.
+allow storaged dumpstate:fd use;
+
+# use a subset of the package manager service
+allow storaged package_native_service:service_manager find;
+
+# Kernel does extra check on CAP_DAC_OVERRIDE for libbinder when storaged is
+# running as root. See b/35323867 #3.
+dontaudit storaged self:global_capability_class_set { dac_override dac_read_search };
+
+# For collecting bugreports.
+allow storaged dumpstate:fifo_file write;
+
+###
+### neverallow
+###
+neverallow storaged domain:process ptrace;
+neverallow storaged self:capability_class_set *;
diff --git a/prebuilts/api/202504/private/su.te b/prebuilts/api/202504/private/su.te
new file mode 100644
index 0000000..247fd0b
--- /dev/null
+++ b/prebuilts/api/202504/private/su.te
@@ -0,0 +1,136 @@
+userdebug_or_eng(`
+  typeattribute su coredomain;
+
+  domain_auto_trans(shell, su_exec, su)
+  # Allow dumpstate to call su on userdebug / eng builds to collect
+  # additional information.
+  domain_auto_trans(dumpstate, su_exec, su)
+
+  # Make sure that dumpstate runs the same from the "su" domain as
+  # from the "init" domain.
+  domain_auto_trans(su, dumpstate_exec, dumpstate)
+
+  # Put the incident command into its domain so it is the same on user, userdebug and eng.
+  domain_auto_trans(su, incident_exec, incident)
+
+  # Put the odrefresh command into its domain.
+  domain_auto_trans(su, odrefresh_exec, odrefresh)
+
+  # Put the perfetto command into its domain so it is the same on user, userdebug and eng.
+  domain_auto_trans(su, perfetto_exec, perfetto)
+
+  # Allow accessing virtualization (e.g. via the vm command) - ensures virtmgr runs in its
+  # own domain.
+  virtualizationservice_use(su)
+
+  # su is also permissive to permit setenforce.
+  permissive su;
+
+  app_domain(su)
+
+  # Do not audit accesses to keystore2 namespace for the su domain.
+  dontaudit su keystore2_key_type:{ keystore2 keystore2_key } *;
+
+  typeattribute su mlstrustedsubject;
+
+  # Add su to various domains
+  net_domain(su)
+
+  # grant su access to vndbinder
+  vndbinder_use(su)
+
+  dontaudit su self:capability_class_set *;
+  dontaudit su self:capability2 *;
+  dontaudit su kernel:security *;
+  dontaudit su { kernel file_type }:system *;
+  dontaudit su self:memprotect *;
+  dontaudit su domain:anon_inode *;
+  dontaudit su domain:{ process process2 } *;
+  dontaudit su domain:fd *;
+  dontaudit su domain:dir *;
+  dontaudit su domain:lnk_file *;
+  dontaudit su domain:{ fifo_file file } *;
+  dontaudit su domain:socket_class_set *;
+  dontaudit su domain:ipc_class_set *;
+  dontaudit su domain:key *;
+  dontaudit su {fs_type fusefs_type}:filesystem *;
+  dontaudit su {fs_type dev_type file_type}:dir_file_class_set *;
+  dontaudit su node_type:node *;
+  dontaudit su node_type:{ tcp_socket udp_socket rawip_socket } *;
+  dontaudit su netif_type:netif *;
+  dontaudit su port_type:socket_class_set *;
+  dontaudit su port_type:{ tcp_socket dccp_socket } *;
+  dontaudit su domain:peer *;
+  dontaudit su domain:binder *;
+  dontaudit su property_type:property_service *;
+  dontaudit su property_type:file *;
+  dontaudit su service_manager_type:service_manager *;
+  dontaudit su hwservice_manager_type:hwservice_manager *;
+  dontaudit su vndservice_manager_type:service_manager *;
+  dontaudit su servicemanager:service_manager list;
+  dontaudit su hwservicemanager:hwservice_manager list;
+  dontaudit su vndservicemanager:service_manager list;
+  dontaudit su keystore:keystore2 *;
+  dontaudit su domain:drmservice *;
+  dontaudit su unlabeled:filesystem *;
+  dontaudit su postinstall_file:filesystem *;
+  dontaudit su domain:bpf *;
+  dontaudit su unlabeled:vsock_socket *;
+  dontaudit su self:perf_event *;
+
+  # VTS tests run in the permissive su domain on debug builds, but the HALs
+  # being tested run in enforcing mode. Because hal_foo_server is enforcing
+  # su needs to be declared as hal_foo_client to grant hal_foo_server
+  # permission to interact with it.
+  typeattribute su halclientdomain;
+  typeattribute su hal_allocator_client;
+  typeattribute su hal_atrace_client;
+  typeattribute su hal_audio_client;
+  typeattribute su hal_authsecret_client;
+  typeattribute su hal_bluetooth_client;
+  typeattribute su hal_bootctl_client;
+  typeattribute su hal_camera_client;
+  typeattribute su hal_configstore_client;
+  typeattribute su hal_confirmationui_client;
+  typeattribute su hal_contexthub_client;
+  typeattribute su hal_drm_client;
+  typeattribute su hal_cas_client;
+  typeattribute su hal_dumpstate_client;
+  typeattribute su hal_fingerprint_client;
+  typeattribute su hal_gatekeeper_client;
+  typeattribute su hal_gnss_client;
+  typeattribute su hal_graphics_allocator_client;
+  typeattribute su hal_graphics_composer_client;
+  typeattribute su hal_health_client;
+  typeattribute su hal_input_classifier_client;
+  typeattribute su hal_ir_client;
+  typeattribute su hal_keymaster_client;
+  typeattribute su hal_light_client;
+  typeattribute su hal_mediaquality_client;
+  typeattribute su hal_memtrack_client;
+  typeattribute su hal_neuralnetworks_client;
+  typeattribute su hal_nfc_client;
+  typeattribute su hal_oemlock_client;
+  typeattribute su hal_power_client;
+  typeattribute su hal_rebootescrow_client;
+  typeattribute su hal_secretkeeper_client;
+  typeattribute su hal_secure_element_client;
+  typeattribute su hal_sensors_client;
+  typeattribute su hal_telephony_client;
+  typeattribute su hal_tetheroffload_client;
+  typeattribute su hal_thermal_client;
+  typeattribute su hal_tv_cec_client;
+  typeattribute su hal_tv_hdmi_cec_client;
+  typeattribute su hal_tv_hdmi_connection_client;
+  typeattribute su hal_tv_hdmi_earc_client;
+  typeattribute su hal_tv_input_client;
+  typeattribute su hal_tv_tuner_client;
+  typeattribute su hal_usb_client;
+  typeattribute su hal_vibrator_client;
+  typeattribute su hal_vm_capabilities_client;
+  typeattribute su hal_vr_client;
+  typeattribute su hal_weaver_client;
+  typeattribute su hal_wifi_client;
+  typeattribute su hal_wifi_hostapd_client;
+  typeattribute su hal_wifi_supplicant_client;
+')
diff --git a/prebuilts/api/202504/private/surfaceflinger.te b/prebuilts/api/202504/private/surfaceflinger.te
new file mode 100644
index 0000000..1e0e1ef
--- /dev/null
+++ b/prebuilts/api/202504/private/surfaceflinger.te
@@ -0,0 +1,166 @@
+# surfaceflinger - display compositor service
+
+typeattribute surfaceflinger coredomain;
+
+type surfaceflinger_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(surfaceflinger)
+tmpfs_domain(surfaceflinger)
+
+typeattribute surfaceflinger mlstrustedsubject;
+typeattribute surfaceflinger display_service_server;
+
+read_runtime_log_tags(surfaceflinger)
+
+# Perform HwBinder IPC.
+hal_client_domain(surfaceflinger, hal_graphics_allocator)
+hal_client_domain(surfaceflinger, hal_graphics_composer)
+typeattribute surfaceflinger_tmpfs hal_graphics_composer_client_tmpfs;
+hal_client_domain(surfaceflinger, hal_codec2)
+hal_client_domain(surfaceflinger, hal_omx)
+hal_client_domain(surfaceflinger, hal_configstore)
+hal_client_domain(surfaceflinger, hal_power)
+allow surfaceflinger hidl_token_hwservice:hwservice_manager find;
+
+# Perform Binder IPC.
+binder_use(surfaceflinger)
+binder_call(surfaceflinger, binderservicedomain)
+binder_call(surfaceflinger, appdomain)
+binder_call(surfaceflinger, bootanim)
+binder_call(surfaceflinger, system_server);
+binder_service(surfaceflinger)
+
+# Binder IPC to bu, presently runs in adbd domain.
+binder_call(surfaceflinger, adbd)
+
+# Read /proc/pid files for Binder clients.
+r_dir_file(surfaceflinger, binderservicedomain)
+r_dir_file(surfaceflinger, appdomain)
+
+# Access the GPU.
+allow surfaceflinger gpu_device:chr_file rw_file_perms;
+allow surfaceflinger gpu_device:dir r_dir_perms;
+allow surfaceflinger sysfs_gpu:file r_file_perms;
+
+# Access /dev/graphics/fb0.
+allow surfaceflinger graphics_device:dir search;
+allow surfaceflinger graphics_device:chr_file rw_file_perms;
+
+# Access /dev/video1.
+allow surfaceflinger video_device:dir r_dir_perms;
+allow surfaceflinger video_device:chr_file rw_file_perms;
+
+# Access the secure heap.
+allow surfaceflinger dmabuf_system_secure_heap_device:chr_file r_file_perms;
+
+# Create and use netlink kobject uevent sockets.
+allow surfaceflinger self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+# Set properties.
+set_prop(surfaceflinger, system_prop)
+set_prop(surfaceflinger, bootanim_system_prop)
+set_prop(surfaceflinger, exported_system_prop)
+set_prop(surfaceflinger, exported3_system_prop)
+set_prop(surfaceflinger, ctl_bootanim_prop)
+set_prop(surfaceflinger, locale_prop)
+set_prop(surfaceflinger, surfaceflinger_display_prop)
+set_prop(surfaceflinger, timezone_prop)
+
+# Get properties.
+get_prop(surfaceflinger, qemu_sf_lcd_density_prop)
+get_prop(surfaceflinger, device_config_surface_flinger_native_boot_prop)
+
+# Use open files supplied by an app.
+allow surfaceflinger appdomain:fd use;
+allow surfaceflinger { app_data_file privapp_data_file }:file { read write };
+
+# Allow writing surface traces to /data/misc/wmtrace.
+userdebug_or_eng(`
+  allow surfaceflinger wm_trace_data_file:dir rw_dir_perms;
+  allow surfaceflinger wm_trace_data_file:file { getattr setattr create w_file_perms };
+')
+
+# Needed to register as a Perfetto producer.
+perfetto_producer(surfaceflinger)
+
+# Use socket supplied by adbd, for cmd gpu vkjson etc.
+allow surfaceflinger adbd:unix_stream_socket { read write getattr };
+
+# Allow reading and writing to sockets used for BLAST buffer releases.
+# SurfaceFlinger never reads from these sockets but needs read permissions in order to receive
+# the file descriptors over binder. There's no mechanism to mark a socket as write-only.
+# shutdown is used to close the read-end of the sockets that are sent to SurfaceFlinger. See
+# b/353597444
+allow surfaceflinger { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:unix_stream_socket { read write };
+allow surfaceflinger bootanim:unix_stream_socket { read write };
+allow surfaceflinger automotive_display_service:unix_stream_socket { read write };
+
+# Allow a dumpstate triggered screenshot
+binder_call(surfaceflinger, dumpstate)
+binder_call(surfaceflinger, shell)
+r_dir_file(surfaceflinger, dumpstate)
+
+# media.player service
+
+# do not use add_service() as hal_graphics_composer_default may be the
+# provider as well
+#add_service(surfaceflinger, surfaceflinger_service)
+allow surfaceflinger surfaceflinger_service:service_manager { add find };
+
+allow surfaceflinger mediaserver_service:service_manager find;
+allow surfaceflinger permission_service:service_manager find;
+allow surfaceflinger power_service:service_manager find;
+allow surfaceflinger vr_manager_service:service_manager find;
+allow surfaceflinger window_service:service_manager find;
+allow surfaceflinger inputflinger_service:service_manager find;
+
+
+# allow self to set SCHED_FIFO
+allow surfaceflinger self:global_capability_class_set sys_nice;
+allow surfaceflinger proc_meminfo:file r_file_perms;
+r_dir_file(surfaceflinger, cgroup)
+r_dir_file(surfaceflinger, cgroup_v2)
+r_dir_file(surfaceflinger, system_file)
+allow surfaceflinger tmpfs:dir r_dir_perms;
+allow surfaceflinger system_server:fd use;
+allow surfaceflinger system_server:unix_stream_socket { read write };
+allow surfaceflinger ion_device:chr_file r_file_perms;
+allow surfaceflinger dmabuf_system_heap_device:chr_file r_file_perms;
+
+# pdx IPC
+pdx_server(surfaceflinger, display_client)
+pdx_server(surfaceflinger, display_manager)
+pdx_server(surfaceflinger, display_screenshot)
+pdx_server(surfaceflinger, display_vsync)
+
+pdx_client(surfaceflinger, bufferhub_client)
+pdx_client(surfaceflinger, performance_client)
+
+# Allow supplying timestats statistics to statsd
+allow surfaceflinger stats_service:service_manager find;
+allow surfaceflinger statsmanager_service:service_manager find;
+# TODO(146461633): remove this once native pullers talk to StatsManagerService
+binder_call(surfaceflinger, statsd);
+# Allow pushing atoms to the stats bootstrap atom service
+allow surfaceflinger statsbootstrap_service:service_manager find;
+
+# Allow to use files supplied by hal_evs
+allow surfaceflinger hal_evs:fd use;
+
+# Allow to use release fence fds supplied by hal_camera
+allow surfaceflinger hal_camera:fd use;
+
+
+# Surfaceflinger should not be reading default vendor-defined properties.
+dontaudit surfaceflinger vendor_default_prop:file read;
+
+###
+### Neverallow rules
+###
+### surfaceflinger should NEVER do any of this
+
+# Do not allow accessing SDcard files as unsafe ejection could
+# cause the kernel to kill the process.
+neverallow surfaceflinger { sdcard_type fuse }:file rw_file_perms;
+
+# b/68864350
+dontaudit surfaceflinger unlabeled:dir search;
diff --git a/prebuilts/api/202504/private/system_app.te b/prebuilts/api/202504/private/system_app.te
new file mode 100644
index 0000000..9a70375
--- /dev/null
+++ b/prebuilts/api/202504/private/system_app.te
@@ -0,0 +1,208 @@
+###
+### Apps that run with the system UID, e.g. com.android.system.ui,
+### com.android.settings.  These are not as privileged as the system
+### server.
+###
+
+typeattribute system_app coredomain, mlstrustedsubject;
+
+app_domain(system_app)
+net_domain(system_app)
+binder_service(system_app)
+
+# android.ui and system.ui
+allow system_app rootfs:dir getattr;
+
+# read/write certain subdirectories of /data/data for system UID apps.
+allow system_app system_app_data_file:dir create_dir_perms;
+allow system_app system_app_data_file:{ file lnk_file } create_file_perms;
+
+# Read and write to /data/misc/user.
+allow system_app misc_user_data_file:dir create_dir_perms;
+allow system_app misc_user_data_file:file create_file_perms;
+
+# Access to apex files stored on /data (b/136063500)
+# Needed so that Settings can access NOTICE files inside apex
+# files located in the assets/ directory.
+allow system_app apex_data_file:dir search;
+allow system_app staging_data_file:file r_file_perms;
+
+# Read wallpaper file.
+allow system_app wallpaper_file:file r_file_perms;
+
+# Read icon file.
+allow system_app icon_file:file r_file_perms;
+
+# Write to properties
+set_prop(system_app, adaptive_haptics_prop)
+set_prop(system_app, arm64_memtag_prop)
+set_prop(system_app, bluetooth_a2dp_offload_prop)
+set_prop(system_app, bluetooth_audio_hal_prop)
+set_prop(system_app, bluetooth_prop)
+set_prop(system_app, debug_prop)
+set_prop(system_app, system_prop)
+set_prop(system_app, exported_bluetooth_prop)
+set_prop(system_app, exported_system_prop)
+set_prop(system_app, exported3_system_prop)
+set_prop(system_app, gesture_prop)
+set_prop(system_app, locale_prop)
+set_prop(system_app, logd_prop)
+set_prop(system_app, net_radio_prop)
+set_prop(system_app, timezone_prop)
+set_prop(system_app, usb_control_prop)
+set_prop(system_app, usb_prop)
+set_prop(system_app, log_tag_prop)
+set_prop(system_app, drm_forcel3_prop)
+userdebug_or_eng(`set_prop(system_app, logpersistd_logging_prop)')
+auditallow system_app net_radio_prop:property_service set;
+auditallow system_app usb_control_prop:property_service set;
+auditallow system_app usb_prop:property_service set;
+# Allow Settings to enable Dynamic System Update
+set_prop(system_app, dynamic_system_prop)
+
+# ctl interface
+set_prop(system_app, ctl_default_prop)
+set_prop(system_app, ctl_bugreport_prop)
+
+# Allow developer settings to query gsid status
+get_prop(system_app, gsid_prop)
+
+# Allow developer settings to check 16k pages boot option status
+get_prop(system_app, enable_16k_pages_prop)
+
+# Allow developer settings to check virtualization capabilities
+get_prop(system_app, hypervisor_prop)
+
+# Create /data/anr/traces.txt.
+allow system_app anr_data_file:dir ra_dir_perms;
+allow system_app anr_data_file:file create_file_perms;
+
+# Settings need to access app name and icon from asec
+allow system_app asec_apk_file:file r_file_perms;
+
+# Allow system apps (like Settings) to interact with statsd
+binder_call(system_app, statsd)
+
+# Allow system apps to interact with incidentd
+binder_call(system_app, incidentd)
+
+# Allow system apps (Settings) to call into update_engine
+# in order to apply update to switch from 4k kernel to 16K and vice-versa
+binder_use(system_app)
+allow system_app update_engine_stable_service:service_manager find;
+binder_call(system_app, update_engine)
+
+# Allow system app to interact with Dumpstate HAL
+hal_client_domain(system_app, hal_dumpstate)
+
+allow system_app servicemanager:service_manager list;
+# TODO: scope this down? Too broad?
+allow system_app {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -dumpstate_service
+  -installd_service
+  -lpdump_service
+  -mdns_service
+  -netd_service
+  -system_suspend_control_internal_service
+  -system_suspend_control_service
+  -tracingproxy_service
+  -virtual_touchpad_service
+  -vold_service
+  -default_android_service
+}:service_manager find;
+# suppress denials for services system_app should not be accessing.
+dontaudit system_app {
+  dnsresolver_service
+  dumpstate_service
+  installd_service
+  mdns_service
+  netd_service
+  virtual_touchpad_service
+  vold_service
+}:service_manager find;
+
+# suppress denials caused by debugfs_tracing
+dontaudit system_app debugfs_tracing:file rw_file_perms;
+
+# Ignore access to memory properties for Settings.
+dontaudit system_app proc_pagetypeinfo:file r_file_perms;
+dontaudit system_app sysfs_zram:dir search;
+
+allow system_app keystore:keystore2_key {
+    delete
+    get_info
+    grant
+    rebind
+    update
+    use
+};
+
+# Allow Settings to manage WI-FI keys.
+allow system_app wifi_key:keystore2_key {
+    delete
+    get_info
+    rebind
+    update
+    use
+};
+
+# settings app reads /proc/version
+allow system_app {
+  proc_version
+}:file r_file_perms;
+
+# Allow system apps to modify cgroup attributes and migrate processes
+allow system_app cgroup:file w_file_perms;
+allow system_app cgroup_v2:file w_file_perms;
+allow system_app cgroup_v2:dir w_dir_perms;
+
+control_logd(system_app)
+read_runtime_log_tags(system_app)
+get_prop(system_app, device_logging_prop)
+
+# allow system apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow system_app system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# allow system apps to read game manager related sysrops
+get_prop(system_app, game_manager_config_prop)
+
+# Settings app reads ro.oem_unlock_supported
+get_prop(system_app, oem_unlock_prop)
+
+# Settings app reads ro.usb.uvc.enabled
+get_prop(system_app, usb_uvc_enabled_prop)
+
+# Settings app reads and writes the wifi blob database
+allow system_app connectivityblob_data_file:dir rw_dir_perms;
+allow system_app connectivityblob_data_file:file create_file_perms;
+
+###
+### Neverallow rules
+###
+
+# app domains which access /dev/fuse should not run as system_app
+neverallow system_app fuse_device:chr_file *;
+
+# Apps which run as UID=system should not rely on any attacker controlled
+# filesystem locations, such as /data/local/tmp. For /data/local/tmp, we
+# allow writes to files passed by file descriptor to support dumpstate and
+# bug reports, but not reads.
+neverallow system_app shell_data_file:dir { no_w_dir_perms open search read };
+neverallow system_app shell_data_file:file { open read ioctl lock };
+
+# system_app should be the only domain writing the adaptive haptics prop
+neverallow { domain -init -system_app } adaptive_haptics_prop:property_service set;
+# system_app should be the only domain writing the force l3 prop
+neverallow { domain -init -system_app } drm_forcel3_prop:property_service set;
+
+allow system_app vendor_boot_ota_file:dir { r_dir_perms };
+allow system_app vendor_boot_ota_file:file { r_file_perms };
+
+# allow system_app to read system_dlkm_file for /system_dlkm/etc/NOTICE.xml.gz
+allow system_app system_dlkm_file:dir search;
+allow system_app system_dlkm_file:file { getattr open read };
diff --git a/prebuilts/api/202504/private/system_server.te b/prebuilts/api/202504/private/system_server.te
new file mode 100644
index 0000000..4e5112e
--- /dev/null
+++ b/prebuilts/api/202504/private/system_server.te
@@ -0,0 +1,1731 @@
+#
+# System Server aka system_server spawned by zygote.
+# Most of the framework services run in this process.
+#
+
+typeattribute system_server coredomain;
+typeattribute system_server mlstrustedsubject;
+typeattribute system_server remote_provisioning_service_server;
+typeattribute system_server scheduler_service_server;
+typeattribute system_server sensor_service_server;
+typeattribute system_server stats_service_server;
+typeattribute system_server bpfdomain;
+
+# Define a type for tmpfs-backed ashmem regions.
+tmpfs_domain(system_server)
+
+userfaultfd_use(system_server)
+
+# Create a socket for connections from crash_dump.
+type_transition system_server system_data_file:sock_file system_ndebug_socket "ndebugsocket";
+
+# Create a socket for connections from zygotes.
+type_transition system_server system_data_file:sock_file system_unsolzygote_socket "unsolzygotesocket";
+
+allow system_server zygote_tmpfs:file { map read };
+allow system_server appdomain_tmpfs:file { getattr map read write };
+
+# For Incremental Service to check if incfs is available
+allow system_server proc_filesystems:file r_file_perms;
+
+# To create files, get permission to fill blocks, and configure Incremental File System
+allow system_server incremental_control_file:file { ioctl r_file_perms };
+allowxperm system_server incremental_control_file:file ioctl {
+  INCFS_IOCTL_CREATE_FILE
+  INCFS_IOCTL_CREATE_MAPPED_FILE
+  INCFS_IOCTL_PERMIT_FILL
+  INCFS_IOCTL_GET_READ_TIMEOUTS
+  INCFS_IOCTL_SET_READ_TIMEOUTS
+  INCFS_IOCTL_GET_LAST_READ_ERROR
+};
+
+# To get signature of an APK installed on Incremental File System, and fill in data
+# blocks and get the filesystem state
+allowxperm system_server apk_data_file:file ioctl {
+  INCFS_IOCTL_READ_SIGNATURE
+  INCFS_IOCTL_FILL_BLOCKS
+  INCFS_IOCTL_GET_FILLED_BLOCKS
+  INCFS_IOCTL_GET_BLOCK_COUNT
+  F2FS_IOC_GET_FEATURES
+  F2FS_IOC_GET_COMPRESS_BLOCKS
+  F2FS_IOC_COMPRESS_FILE
+  F2FS_IOC_DECOMPRESS_FILE
+  F2FS_IOC_RELEASE_COMPRESS_BLOCKS
+  F2FS_IOC_RESERVE_COMPRESS_BLOCKS
+  FS_IOC_SETFLAGS
+  FS_IOC_GETFLAGS
+};
+
+allowxperm system_server apk_tmp_file:file ioctl {
+  F2FS_IOC_RELEASE_COMPRESS_BLOCKS
+  FS_IOC_GETFLAGS
+};
+
+# For Incremental Service to check incfs metrics
+allow system_server sysfs_fs_incfs_metrics:file r_file_perms;
+
+# For f2fs-compression support
+allow system_server sysfs_fs_f2fs:dir r_dir_perms;
+allow system_server sysfs_fs_f2fs:file r_file_perms;
+
+# For SdkSandboxManagerService
+allow system_server sdk_sandbox_system_data_file:dir create_dir_perms;
+
+# For art.
+allow system_server { apex_art_data_file dalvikcache_data_file }:dir r_dir_perms;
+allow system_server { apex_art_data_file dalvikcache_data_file }:file r_file_perms;
+
+# Ignore the denial on `system@framework@com.android.location.provider.jar@classes.odex`.
+# `com.android.location.provider.jar` happens to be both a jar on system server classpath and a
+# shared library used by a system server app. The odex file is loaded fine by Zygote when it forks
+# system_server. It fails to be loaded when the jar is used as a shared library, which is expected.
+dontaudit system_server apex_art_data_file:file execute;
+
+# For release odex/vdex compress blocks
+allowxperm system_server dalvikcache_data_file:file ioctl {
+  F2FS_IOC_RELEASE_COMPRESS_BLOCKS
+  FS_IOC_GETFLAGS
+};
+
+# When running system server under --invoke-with, we'll try to load the boot image under the
+# system server domain, following links to the system partition.
+with_asan(`allow system_server dalvikcache_data_file:lnk_file r_file_perms;')
+
+# /data/resource-cache
+allow system_server resourcecache_data_file:file r_file_perms;
+allow system_server resourcecache_data_file:dir r_dir_perms;
+
+# ptrace to processes in the same domain for debugging crashes.
+allow system_server self:process ptrace;
+
+# Child of the zygote.
+allow system_server zygote:fd use;
+allow system_server zygote:process sigchld;
+
+# May kill zygote (or its child processes) on crashes.
+allow system_server {
+  app_zygote
+  crash_dump
+  crosvm
+  virtualizationmanager
+  webview_zygote
+  zygote
+}:process { getpgid sigkill signull };
+
+# Read /system/bin/app_process.
+allow system_server zygote_exec:file r_file_perms;
+
+# Needed to close the zygote socket, which involves getopt / getattr
+allow system_server zygote:unix_stream_socket { getopt getattr };
+
+# system server gets network and bluetooth permissions.
+net_domain(system_server)
+# in addition to ioctls allowlisted for all domains, also allow system_server
+# to use privileged ioctls commands. Needed to set up VPNs.
+allowxperm system_server self:udp_socket ioctl priv_sock_ioctls;
+bluetooth_domain(system_server)
+
+# Allow setup of tcp keepalive offload. This gives system_server the permission to
+# call ioctl on app domains' tcp sockets. Additional ioctl commands still need to
+# be granted individually, except for a small set of safe values allowlisted in
+# public/domain.te.
+allow system_server appdomain:tcp_socket ioctl;
+
+# These are the capabilities assigned by the zygote to the
+# system server.
+allow system_server self:global_capability_class_set {
+    ipc_lock
+    kill
+    net_admin
+    net_bind_service
+    net_broadcast
+    net_raw
+    sys_boot
+    sys_nice
+    sys_ptrace
+    sys_time
+    sys_tty_config
+};
+
+# Allow alarmtimers to be set
+allow system_server self:global_capability2_class_set wake_alarm;
+
+# Create and share netlink_netfilter_sockets for tetheroffload.
+allow system_server self:netlink_netfilter_socket create_socket_perms_no_ioctl;
+
+# Create/use netlink_tcpdiag_socket for looking up connection UIDs for VPN apps.
+allow system_server self:netlink_tcpdiag_socket
+    { create_socket_perms_no_ioctl nlmsg_read nlmsg_write };
+
+# Use netlink uevent sockets.
+allow system_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+allow system_server self:netlink_nflog_socket create_socket_perms_no_ioctl;
+
+# Use generic netlink sockets.
+allow system_server self:netlink_socket create_socket_perms_no_ioctl;
+allow system_server self:netlink_generic_socket create_socket_perms_no_ioctl;
+
+# libvintf reads the kernel config to verify vendor interface compatibility.
+allow system_server config_gz:file { read open };
+
+# Use generic "sockets" where the address family is not known
+# to the kernel. The ioctl permission is specifically omitted here, but may
+# be added to device specific policy along with the ioctl commands to be
+# allowlisted.
+allow system_server self:socket create_socket_perms_no_ioctl;
+
+# Set and get routes directly via netlink.
+allow system_server self:netlink_route_socket nlmsg_write;
+
+# Use XFRM (IPsec) netlink sockets
+allow system_server self:netlink_xfrm_socket { create_socket_perms_no_ioctl nlmsg_write nlmsg_read };
+
+# Kill apps.
+allow system_server appdomain:process { getpgid sigkill signal };
+# signull allowed for kill(pid, 0) existence test.
+allow system_server appdomain:process { signull };
+
+# Set scheduling info for apps.
+allow system_server appdomain:process { getsched setsched };
+allow system_server audioserver:process { getsched setsched };
+allow system_server hal_audio:process { getsched setsched };
+allow system_server hal_bluetooth:process { getsched setsched };
+allow system_server hal_codec2_server:process { getsched setsched };
+allow system_server hal_omx_server:process { getsched setsched };
+allow system_server mediaswcodec:process { getsched setsched };
+allow system_server cameraserver:process { getsched setsched };
+allow system_server hal_camera:process { getsched setsched };
+allow system_server mediaserver:process { getsched setsched };
+allow system_server bootanim:process { getsched setsched };
+# Set scheduling info for VMs (b/375058190)
+allow system_server { virtualizationmanager crosvm }:process { getsched setsched };
+
+# Set scheduling info for psi monitor thread.
+# TODO: delete this line b/131761776
+allow system_server kernel:process { getsched setsched };
+
+# Allow system_server to write to /proc/<pid>/*
+allow system_server domain:file w_file_perms;
+
+# Read /proc/pid data for all domains. This is used by ProcessCpuTracker
+# within system_server to keep track of memory and CPU usage for
+# all processes on the device. In addition, /proc/pid files access is needed
+# for dumping stack traces of native processes.
+r_dir_file(system_server, domain)
+
+# Write /proc/uid_cputime/remove_uid_range.
+allow system_server proc_uid_cputime_removeuid:file { w_file_perms getattr };
+
+# Write /proc/uid_procstat/set.
+allow system_server proc_uid_procstat_set:file { w_file_perms getattr };
+
+# Write to /proc/sysrq-trigger.
+allow system_server proc_sysrq:file rw_file_perms;
+
+# Delete /data/misc/stats-service/ directories.
+allow system_server stats_config_data_file:dir { open read remove_name search write };
+allow system_server stats_config_data_file:file unlink;
+
+# Read metric file & upload to statsd
+allow system_server odsign_data_file:dir search;
+allow system_server odsign_metrics_file:dir { r_dir_perms write remove_name };
+allow system_server odsign_metrics_file:file { r_file_perms unlink };
+
+# Read /sys/kernel/debug/wakeup_sources.
+no_debugfs_restriction(`
+  allow system_server debugfs_wakeup_sources:file r_file_perms;
+')
+
+# Read /sys/kernel/ion/*.
+allow system_server sysfs_ion:file r_file_perms;
+
+# Read /sys/kernel/dma_heap/*.
+allow system_server sysfs_dma_heap:file r_file_perms;
+
+# Read /sys/kernel/mm/cma/*.
+starting_at_board_api(202504, `
+allow system_server sysfs_cma:file r_file_perms;
+')
+
+# Allow reading DMA-BUF sysfs stats from /sys/kernel/dmabuf.
+allow system_server sysfs_dmabuf_stats:dir r_dir_perms;
+allow system_server sysfs_dmabuf_stats:file r_file_perms;
+
+# Allow ActivityManager to look at the list of DMA-BUF heaps from /dev/dma_heap
+# for dumpsys meminfo
+allow system_server dmabuf_heap_device:dir r_dir_perms;
+
+# Allow reading /proc/vmstat for the oom kill count
+allow system_server proc_vmstat:file r_file_perms;
+
+# The DhcpClient and WifiWatchdog use packet_sockets
+allow system_server self:packet_socket create_socket_perms_no_ioctl;
+
+# 3rd party VPN clients require a tun_socket to be created
+allow system_server self:tun_socket create_socket_perms_no_ioctl;
+
+# Talk to init and various daemons via sockets.
+unix_socket_connect(system_server, lmkd, lmkd)
+unix_socket_connect(system_server, zygote, zygote)
+unix_socket_connect(system_server, uncrypt, uncrypt)
+
+# Allow system_server to write to statsd.
+unix_socket_send(system_server, statsdw, statsd)
+
+# Communicate over a socket created by surfaceflinger.
+allow system_server surfaceflinger:unix_stream_socket { read write setopt };
+
+allow system_server gpuservice:unix_stream_socket { read write setopt };
+
+# Communicate over a socket created by webview_zygote.
+allow system_server webview_zygote:unix_stream_socket { read write connectto setopt };
+
+# Communicate over a socket created by app_zygote.
+allow system_server app_zygote:unix_stream_socket { read write connectto setopt };
+
+# Perform Binder IPC.
+binder_use(system_server)
+binder_call(system_server, appdomain)
+binder_call(system_server, artd)
+binder_call(system_server, binderservicedomain)
+binder_call(system_server, composd)
+binder_call(system_server, dexopt_chroot_setup)
+binder_call(system_server, dumpstate)
+binder_call(system_server, fingerprintd)
+binder_call(system_server, gatekeeperd)
+binder_call(system_server, gpuservice)
+binder_call(system_server, idmap)
+binder_call(system_server, installd)
+binder_call(system_server, incidentd)
+binder_call(system_server, mmd)
+binder_call(system_server, netd)
+binder_call(system_server, ot_daemon)
+userdebug_or_eng(`binder_call(system_server, profcollectd)')
+binder_call(system_server, statsd)
+binder_call(system_server, storaged)
+binder_call(system_server, update_engine)
+binder_call(system_server, virtual_camera)
+binder_call(system_server, vold)
+binder_call(system_server, logd)
+binder_call(system_server, wificond)
+binder_call(system_server, uprobestats)
+binder_call(system_server, wifi_mainline_supplicant)
+binder_service(system_server)
+
+# Use HALs
+hal_client_domain(system_server, hal_allocator)
+hal_client_domain(system_server, hal_audio)
+hal_client_domain(system_server, hal_authgraph)
+hal_client_domain(system_server, hal_authsecret)
+hal_client_domain(system_server, hal_bluetooth)
+hal_client_domain(system_server, hal_broadcastradio)
+hal_client_domain(system_server, hal_codec2)
+hal_client_domain(system_server, hal_configstore)
+hal_client_domain(system_server, hal_contexthub)
+hal_client_domain(system_server, hal_face)
+hal_client_domain(system_server, hal_fingerprint)
+hal_client_domain(system_server, hal_gnss)
+hal_client_domain(system_server, hal_graphics_allocator)
+hal_client_domain(system_server, hal_health)
+hal_client_domain(system_server, hal_input_classifier)
+hal_client_domain(system_server, hal_input_processor)
+hal_client_domain(system_server, hal_ir)
+hal_client_domain(system_server, hal_keymint)
+hal_client_domain(system_server, hal_light)
+hal_client_domain(system_server, hal_mediaquality)
+hal_client_domain(system_server, hal_memtrack)
+hal_client_domain(system_server, hal_neuralnetworks)
+hal_client_domain(system_server, hal_oemlock)
+hal_client_domain(system_server, hal_omx)
+hal_client_domain(system_server, hal_power)
+hal_client_domain(system_server, hal_power_stats)
+hal_client_domain(system_server, hal_rebootescrow)
+hal_client_domain(system_server, hal_remotelyprovisionedcomponent_avf)
+hal_client_domain(system_server, hal_sensors)
+hal_client_domain(system_server, hal_secretkeeper)
+hal_client_domain(system_server, hal_tetheroffload)
+hal_client_domain(system_server, hal_thermal)
+hal_client_domain(system_server, hal_threadnetwork)
+hal_client_domain(system_server, hal_tv_cec)
+hal_client_domain(system_server, hal_tv_hdmi_cec)
+hal_client_domain(system_server, hal_tv_hdmi_connection)
+hal_client_domain(system_server, hal_tv_hdmi_earc)
+hal_client_domain(system_server, hal_tv_input)
+hal_client_domain(system_server, hal_usb)
+hal_client_domain(system_server, hal_usb_gadget)
+hal_client_domain(system_server, hal_uwb)
+hal_client_domain(system_server, hal_vibrator)
+hal_client_domain(system_server, hal_vr)
+hal_client_domain(system_server, hal_weaver)
+hal_client_domain(system_server, hal_wifi)
+hal_client_domain(system_server, hal_wifi_hostapd)
+hal_client_domain(system_server, hal_wifi_supplicant)
+# The bootctl is a pass through HAL mode under recovery mode. So we skip the
+# permission for recovery in order not to give system server the access to
+# the low level block devices.
+not_recovery(`hal_client_domain(system_server, hal_bootctl)')
+
+# Talk with graphics composer fences
+allow system_server hal_graphics_composer:fd use;
+
+# Use RenderScript always-passthrough HAL
+allow system_server hal_renderscript_hwservice:hwservice_manager find;
+allow system_server same_process_hal_file:file { execute read open getattr map };
+
+# Talk to tombstoned to get ANR traces.
+unix_socket_connect(system_server, tombstoned_intercept, tombstoned)
+
+# List HAL interfaces to get ANR traces.
+allow system_server hwservicemanager:hwservice_manager list;
+allow system_server servicemanager:service_manager list;
+
+# Send signals to trigger ANR traces.
+allow system_server {
+  # This is derived from the list that system server defines as interesting native processes
+  # to dump during ANRs or watchdog aborts, defined in NATIVE_STACKS_OF_INTEREST in
+  # frameworks/base/services/core/java/com/android/server/Watchdog.java.
+  artd
+  audioserver
+  cameraserver
+  drmserver
+  gpuservice
+  inputflinger
+  keystore
+  mediadrmserver
+  mediaextractor
+  mediametrics
+  mediaserver
+  mediaswcodec
+  mediatranscoding
+  mediatuner
+  mmd
+  netd
+  sdcardd
+  servicemanager
+  statsd
+  surfaceflinger
+  vold
+
+  # This list comes from HAL_INTERFACES_OF_INTEREST in
+  # frameworks/base/services/core/java/com/android/server/Watchdog.java.
+  hal_audio_server
+  hal_bluetooth_server
+  hal_camera_server
+  hal_codec2_server
+  hal_drm_server
+  hal_face_server
+  hal_fingerprint_server
+  hal_gnss_server
+  hal_graphics_allocator_server
+  hal_graphics_composer_server
+  hal_health_server
+  hal_input_processor_server
+  hal_light_server
+  hal_neuralnetworks_server
+  hal_omx_server
+  hal_power_server
+  hal_power_stats_server
+  hal_sensors_server
+  hal_vibrator_server
+  hal_vr_server
+  hal_wifi_hostapd_server
+  hal_wifi_server
+  hal_wifi_supplicant_server
+  system_suspend_server
+}:process { signal };
+
+# Use sockets received over binder from various services.
+allow system_server audioserver:tcp_socket rw_socket_perms;
+allow system_server audioserver:udp_socket rw_socket_perms;
+allow system_server mediaserver:tcp_socket rw_socket_perms;
+allow system_server mediaserver:udp_socket rw_socket_perms;
+
+# Use sockets received over binder from various services.
+allow system_server mediadrmserver:tcp_socket rw_socket_perms;
+allow system_server mediadrmserver:udp_socket rw_socket_perms;
+
+# Write trace data to the Perfetto traced daemon. This requires connecting to
+# its producer socket and obtaining a (per-process) tmpfs fd.
+perfetto_producer(system_server)
+
+# Get file context
+allow system_server file_contexts_file:file r_file_perms;
+# access for mac_permissions
+allow system_server mac_perms_file: file r_file_perms;
+# Check SELinux permissions.
+selinux_check_access(system_server)
+
+allow system_server sysfs_type:dir r_dir_perms;
+
+r_dir_file(system_server, sysfs_android_usb)
+allow system_server sysfs_android_usb:file w_file_perms;
+
+r_dir_file(system_server, sysfs_extcon)
+
+r_dir_file(system_server, sysfs_ipv4)
+allow system_server sysfs_ipv4:file w_file_perms;
+
+r_dir_file(system_server, sysfs_rtc)
+r_dir_file(system_server, sysfs_switch)
+
+allow system_server sysfs_nfc_power_writable:file rw_file_perms;
+allow system_server sysfs_power:dir search;
+allow system_server sysfs_power:file rw_file_perms;
+allow system_server sysfs_thermal:dir search;
+allow system_server sysfs_thermal:file r_file_perms;
+allow system_server sysfs_uhid:dir r_dir_perms;
+allow system_server sysfs_uhid:file rw_file_perms;
+
+# TODO: Remove when HALs are forced into separate processes
+allow system_server sysfs_vibrator:file { write append };
+
+# TODO: added to match above sysfs rule. Remove me?
+allow system_server sysfs_usb:file w_file_perms;
+
+# Access devices.
+allow system_server device:dir r_dir_perms;
+allow system_server mdns_socket:sock_file rw_file_perms;
+allow system_server gpu_device:chr_file rw_file_perms;
+allow system_server gpu_device:dir r_dir_perms;
+allow system_server sysfs_gpu:file r_file_perms;
+allow system_server input_device:dir r_dir_perms;
+allow system_server input_device:chr_file rw_file_perms;
+allow system_server tty_device:chr_file rw_file_perms;
+allow system_server usbaccessory_device:chr_file rw_file_perms;
+allow system_server video_device:dir r_dir_perms;
+allow system_server video_device:chr_file rw_file_perms;
+allow system_server adbd_socket:sock_file rw_file_perms;
+allow system_server rtc_device:chr_file rw_file_perms;
+allow system_server audio_device:dir r_dir_perms;
+allow system_server uhid_device:chr_file rw_file_perms;
+allow system_server hidraw_device:dir r_dir_perms;
+allow system_server hidraw_device:chr_file rw_file_perms;
+
+# write access to ALSA interfaces (/dev/snd/*) needed for MIDI
+allow system_server audio_device:chr_file rw_file_perms;
+
+# tun device used for 3rd party vpn apps and test network manager
+allow system_server tun_device:chr_file rw_file_perms;
+allowxperm system_server tun_device:chr_file ioctl { TUNGETIFF TUNSETIFF TUNSETLINK TUNSETCARRIER };
+
+# Manage data/ota_package
+allow system_server ota_package_file:dir rw_dir_perms;
+allow system_server ota_package_file:file create_file_perms;
+
+# Manage system data files.
+allow system_server system_data_file:dir create_dir_perms;
+allow system_server system_data_file:notdevfile_class_set create_file_perms;
+allow system_server packages_list_file:file create_file_perms;
+allow system_server game_mode_intervention_list_file:file create_file_perms;
+allow system_server keychain_data_file:dir create_dir_perms;
+allow system_server keychain_data_file:file create_file_perms;
+allow system_server keychain_data_file:lnk_file create_file_perms;
+
+# Read the user parent directories like /data/user.  Don't allow write access,
+# as vold is responsible for creating and deleting the subdirectories.
+allow system_server system_userdir_file:dir r_dir_perms;
+
+# Manage /data/app.
+allow system_server apk_data_file:dir create_dir_perms;
+allow system_server apk_data_file:{ file lnk_file } { create_file_perms link };
+allow system_server apk_tmp_file:dir create_dir_perms;
+allow system_server apk_tmp_file:file create_file_perms;
+
+# Manage /data/app-metadata
+allow system_server apk_metadata_file:dir create_dir_perms;
+allow system_server apk_metadata_file:file create_file_perms;
+
+# Access input configuration files in the /vendor directory
+r_dir_file(system_server, vendor_keylayout_file)
+r_dir_file(system_server, vendor_keychars_file)
+r_dir_file(system_server, vendor_idc_file)
+get_prop(system_server, input_device_config_prop)
+
+# Access /vendor/{app,framework,overlay}
+r_dir_file(system_server, vendor_app_file)
+r_dir_file(system_server, vendor_framework_file)
+r_dir_file(system_server, vendor_overlay_file)
+
+# Manage /data/app-private.
+allow system_server apk_private_data_file:dir create_dir_perms;
+allow system_server apk_private_data_file:file create_file_perms;
+allow system_server apk_private_tmp_file:dir create_dir_perms;
+allow system_server apk_private_tmp_file:file create_file_perms;
+
+# Manage files within asec containers.
+allow system_server asec_apk_file:dir create_dir_perms;
+allow system_server asec_apk_file:file create_file_perms;
+allow system_server asec_public_file:file create_file_perms;
+
+# Manage /data/anr.
+#
+# TODO: Some of these permissions can be withdrawn once we've switched to the
+# new stack dumping mechanism, see b/32064548 and the rules below. In particular,
+# the system_server should never need to create a new anr_data_file:file or write
+# to one, but it will still need to read and append to existing files.
+allow system_server anr_data_file:dir create_dir_perms;
+allow system_server anr_data_file:file create_file_perms;
+
+# New stack dumping scheme : request an output FD from tombstoned via a unix
+# domain socket.
+#
+# Allow system_server to connect and write to the tombstoned java trace socket in
+# order to dump its traces. Also allow the system server to write its traces to
+# dumpstate during bugreport capture and incidentd during incident collection.
+unix_socket_connect(system_server, tombstoned_java_trace, tombstoned)
+allow system_server tombstoned:fd use;
+allow system_server dumpstate:fifo_file append;
+allow system_server incidentd:fifo_file append;
+# Write to a pipe created from `adb shell` (for debuggerd -j `pidof system_server`)
+userdebug_or_eng(`
+  allow system_server su:fifo_file append;
+')
+
+# Allow system_server to read pipes from incidentd (used to deliver incident reports
+# to dropbox)
+allow system_server incidentd:fifo_file read;
+
+# Read /data/misc/incidents - only read. The fd will be sent over binder,
+# with no DAC access to it, for dropbox to read.
+allow system_server incident_data_file:file read;
+
+# Manage /data/misc/prereboot.
+allow system_server prereboot_data_file:dir rw_dir_perms;
+allow system_server prereboot_data_file:file create_file_perms;
+
+# Allow tracing proxy service to read traces. Only the fd is sent over
+# binder.
+allow system_server perfetto_traces_data_file:file { read getattr };
+allow system_server perfetto:fd use;
+
+# Allow system_server to exec the perfetto cmdline client and pass it a trace config
+domain_auto_trans(system_server, perfetto_exec, perfetto);
+allow system_server perfetto:fifo_file { read write };
+
+# Allow system server to manage perfetto traces for ProfilingService.
+allow system_server perfetto_traces_profiling_data_file:dir rw_dir_perms;
+allow system_server perfetto_traces_profiling_data_file:file create_file_perms;
+allow system_server perfetto_traces_data_file:dir search;
+
+# Allow system server to exec the trace redactor cmdline client and kill the process for
+# ProfilingService.
+domain_auto_trans(system_server, trace_redactor_exec, trace_redactor);
+allow system_server trace_redactor:process signal;
+
+# Allow system server to kill perfetto processes for ProfilingService.
+allow system_server perfetto:process signal;
+
+# Manage /data/backup.
+allow system_server backup_data_file:dir create_dir_perms;
+allow system_server backup_data_file:file create_file_perms;
+
+# Write to /data/system/dropbox
+allow system_server dropbox_data_file:dir create_dir_perms;
+allow system_server dropbox_data_file:file create_file_perms;
+
+# Write to /data/system/heapdump
+allow system_server heapdump_data_file:dir rw_dir_perms;
+allow system_server heapdump_data_file:file create_file_perms;
+
+# Manage /data/misc/adb.
+allow system_server adb_keys_file:dir create_dir_perms;
+allow system_server adb_keys_file:file create_file_perms;
+
+# Manage /data/misc/appcompat.
+allow system_server appcompat_data_file:dir rw_dir_perms;
+allow system_server appcompat_data_file:file create_file_perms;
+
+# Manage /data/misc/connectivityblobdb.
+# Specifically, for vpn and wifi to create, read and write to an sqlite database.
+allow system_server connectivityblob_data_file:dir create_dir_perms;
+allow system_server connectivityblob_data_file:file create_file_perms;
+
+# Manage /data/misc/emergencynumberdb
+allow system_server emergency_data_file:dir create_dir_perms;
+allow system_server emergency_data_file:file create_file_perms;
+
+# Manage /data/misc/network_watchlist
+allow system_server network_watchlist_data_file:dir create_dir_perms;
+allow system_server network_watchlist_data_file:file create_file_perms;
+
+# Manage /data/misc/sms.
+# TODO:  Split into a separate type?
+allow system_server radio_data_file:dir create_dir_perms;
+allow system_server radio_data_file:file create_file_perms;
+
+# Manage /data/misc/systemkeys.
+allow system_server systemkeys_data_file:dir create_dir_perms;
+allow system_server systemkeys_data_file:file create_file_perms;
+
+# Manage /data/misc/textclassifier.
+allow system_server textclassifier_data_file:dir create_dir_perms;
+allow system_server textclassifier_data_file:file create_file_perms;
+
+# Manage /data/tombstones.
+allow system_server tombstone_data_file:dir rw_dir_perms;
+allow system_server tombstone_data_file:file create_file_perms;
+
+# Manage /data/misc/vpn.
+allow system_server vpn_data_file:dir create_dir_perms;
+allow system_server vpn_data_file:file create_file_perms;
+
+# Manage /data/misc/wifi.
+allow system_server wifi_data_file:dir create_dir_perms;
+allow system_server wifi_data_file:file create_file_perms;
+
+# Manage /data/app-staging.
+allow system_server staging_data_file:dir create_dir_perms;
+allow system_server staging_data_file:file create_file_perms;
+
+# Manage /data/rollback.
+allow system_server staging_data_file:{ file lnk_file } { create_file_perms link };
+
+# Walk /data/data subdirectories.
+allow system_server app_data_file_type:dir { getattr read search };
+
+# Also permit for unlabeled /data/data subdirectories and
+# for unlabeled asec containers on upgrades from 4.2.
+allow system_server unlabeled:dir r_dir_perms;
+# Read pkg.apk file before it has been relabeled by vold.
+allow system_server unlabeled:file r_file_perms;
+
+# Populate com.android.providers.settings/databases/settings.db.
+allow system_server system_app_data_file:dir create_dir_perms;
+allow system_server system_app_data_file:file create_file_perms;
+
+# Receive and use open app data files passed over binder IPC.
+allow system_server app_data_file_type:file { getattr read write append map };
+
+# Access to /data/media for measuring disk usage.
+allow system_server media_rw_data_file:dir { search getattr open read };
+
+# Receive and use open /data/media files passed over binder IPC.
+# Also used for measuring disk usage.
+allow system_server media_rw_data_file:file { getattr read write append };
+
+# System server needs to setfscreate to packages_list_file when writing
+# /data/system/packages.list
+allow system_server system_server:process setfscreate;
+
+# Relabel apk files.
+allow system_server { apk_tmp_file apk_private_tmp_file }:{ dir file } { relabelfrom relabelto };
+allow system_server { apk_data_file apk_private_data_file }:{ dir file } { relabelfrom relabelto };
+# Allow PackageManager to:
+# 1. rename file from /data/app-staging folder to /data/app
+# 2. relabel files (linked to /data/rollback) under /data/app-staging
+# during staged apk/apex install.
+allow system_server { staging_data_file }:{ dir file } { relabelfrom relabelto };
+
+# Relabel wallpaper.
+allow system_server system_data_file:file relabelfrom;
+allow system_server wallpaper_file:file relabelto;
+allow system_server wallpaper_file:file { rw_file_perms rename unlink };
+
+# Backup of wallpaper imagery uses temporary hard links to avoid data churn
+allow system_server { system_data_file wallpaper_file }:file link;
+
+# ShortcutManager icons
+allow system_server system_data_file:dir relabelfrom;
+allow system_server shortcut_manager_icons:dir { create_dir_perms relabelto };
+allow system_server shortcut_manager_icons:file create_file_perms;
+
+# Manage ringtones.
+allow system_server ringtone_file:dir { create_dir_perms relabelto };
+allow system_server ringtone_file:file create_file_perms;
+
+# Relabel icon file.
+allow system_server icon_file:file relabelto;
+allow system_server icon_file:file { rw_file_perms unlink };
+
+# FingerprintService.java does a restorecon of the directory /data/system/users/[0-9]+/fpdata(/.*)?
+allow system_server system_data_file:dir relabelfrom;
+
+# server_configurable_flags_data_file is used for storing server configurable flags which
+# have been reset during current booting. system_server needs to read the data to perform related
+# disaster recovery actions.
+allow system_server server_configurable_flags_data_file:dir r_dir_perms;
+allow system_server server_configurable_flags_data_file:file r_file_perms;
+
+# Property Service write
+set_prop(system_server, system_prop)
+set_prop(system_server, bootanim_system_prop)
+set_prop(system_server, bluetooth_prop)
+set_prop(system_server, exported_system_prop)
+set_prop(system_server, exported3_system_prop)
+set_prop(system_server, safemode_prop)
+set_prop(system_server, theme_prop)
+set_prop(system_server, dhcp_prop)
+set_prop(system_server, net_connectivity_prop)
+set_prop(system_server, net_radio_prop)
+set_prop(system_server, net_dns_prop)
+set_prop(system_server, usb_control_prop)
+set_prop(system_server, usb_prop)
+set_prop(system_server, debug_prop)
+set_prop(system_server, powerctl_prop)
+set_prop(system_server, fingerprint_prop)
+set_prop(system_server, device_logging_prop)
+set_prop(system_server, dumpstate_options_prop)
+set_prop(system_server, overlay_prop)
+set_prop(system_server, exported_overlay_prop)
+set_prop(system_server, pm_prop)
+set_prop(system_server, exported_pm_prop)
+set_prop(system_server, socket_hook_prop)
+set_prop(system_server, audio_prop)
+set_prop(system_server, boot_status_prop)
+set_prop(system_server, surfaceflinger_color_prop)
+set_prop(system_server, provisioned_prop)
+set_prop(system_server, retaildemo_prop)
+set_prop(system_server, dmesgd_start_prop)
+set_prop(system_server, locale_prop)
+set_prop(system_server, timezone_metadata_prop)
+set_prop(system_server, timezone_prop)
+set_prop(system_server, crashrecovery_prop)
+userdebug_or_eng(`set_prop(system_server, wifi_log_prop)')
+userdebug_or_eng(`set_prop(system_server, system_user_mode_emulation_prop)')
+
+# ctl interface
+set_prop(system_server, ctl_default_prop)
+set_prop(system_server, ctl_bugreport_prop)
+set_prop(system_server, ctl_gsid_prop)
+set_prop(system_server, ctl_artd_pre_reboot_prop)
+
+# cppreopt property
+set_prop(system_server, cppreopt_prop)
+
+# server configurable flags properties
+set_prop(system_server, device_config_core_experiments_team_internal_prop)
+set_prop(system_server, device_config_edgetpu_native_prop)
+set_prop(system_server, device_config_input_native_boot_prop)
+set_prop(system_server, device_config_netd_native_prop)
+set_prop(system_server, device_config_nnapi_native_prop)
+set_prop(system_server, device_config_activity_manager_native_boot_prop)
+set_prop(system_server, device_config_runtime_native_boot_prop)
+set_prop(system_server, device_config_runtime_native_prop)
+set_prop(system_server, device_config_lmkd_native_prop)
+set_prop(system_server, device_config_media_native_prop)
+set_prop(system_server, device_config_camera_native_prop)
+set_prop(system_server, device_config_mglru_native_prop)
+set_prop(system_server, device_config_profcollect_native_boot_prop)
+set_prop(system_server, device_config_statsd_native_prop)
+set_prop(system_server, device_config_statsd_native_boot_prop)
+set_prop(system_server, device_config_storage_native_boot_prop)
+set_prop(system_server, device_config_swcodec_native_prop)
+set_prop(system_server, device_config_sys_traced_prop)
+set_prop(system_server, device_config_window_manager_native_boot_prop)
+set_prop(system_server, device_config_configuration_prop)
+set_prop(system_server, device_config_connectivity_prop)
+set_prop(system_server, device_config_surface_flinger_native_boot_prop)
+set_prop(system_server, device_config_aconfig_flags_prop)
+set_prop(system_server, device_config_vendor_system_native_prop)
+set_prop(system_server, device_config_vendor_system_native_boot_prop)
+set_prop(system_server, device_config_virtualization_framework_native_prop)
+set_prop(system_server, device_config_memory_safety_native_boot_prop)
+set_prop(system_server, device_config_memory_safety_native_prop)
+set_prop(system_server, device_config_remote_key_provisioning_native_prop)
+set_prop(system_server, device_config_tethering_u_or_later_native_prop)
+set_prop(system_server, device_config_mmd_native_prop)
+set_prop(system_server, smart_idle_maint_enabled_prop)
+set_prop(system_server, arm64_memtag_prop)
+
+# staged flag properties
+set_prop(system_server, next_boot_prop)
+
+# Allow system server to read pm.16kb.app_compat.disabled
+get_prop(system_server, pm_16kb_app_compat_prop)
+
+# Allow query ART device config properties
+get_prop(system_server, device_config_runtime_native_boot_prop)
+get_prop(system_server, device_config_runtime_native_prop)
+
+# BootReceiver to read ro.boot.bootreason
+get_prop(system_server, bootloader_boot_reason_prop)
+# PowerManager to read sys.boot.reason
+get_prop(system_server, system_boot_reason_prop)
+
+# Collect metrics on boot time created by init
+get_prop(system_server, boottime_prop)
+
+# Read device's serial number from system properties
+get_prop(system_server, serialno_prop)
+
+# Read whether uvc gadget is enabled
+get_prop(system_server, usb_uvc_enabled_prop)
+
+# Read/write the property which keeps track of whether this is the first start of system_server
+set_prop(system_server, firstboot_prop)
+
+# Audio service in system server can read audio config properties,
+# such as camera shutter enforcement
+get_prop(system_server, audio_config_prop)
+
+# StorageManager service reads media config while checking if transcoding is supported.
+get_prop(system_server, media_config_prop)
+
+# system server reads this property to keep track of whether server configurable flags have been
+# reset during current boot.
+get_prop(system_server, device_config_reset_performed_prop)
+
+# Read/write the property that enables Test Harness Mode
+set_prop(system_server, test_harness_prop)
+
+# Read gsid.image_running.
+get_prop(system_server, gsid_prop)
+
+# Read the property that mocks an OTA
+get_prop(system_server, mock_ota_prop)
+
+# Read the property as feature flag for protecting apks with fs-verity.
+get_prop(system_server, apk_verity_prop)
+
+# Read wifi.interface
+get_prop(system_server, wifi_prop)
+
+# Read the vendor property that indicates if Incremental features is enabled
+get_prop(system_server, incremental_prop)
+
+# Read ro.zram. properties
+get_prop(system_server, zram_config_prop)
+
+# Read/write persist.sys.zram_enabled
+set_prop(system_server, zram_control_prop)
+
+# Read/write persist.sys.dalvik.vm.lib.2
+set_prop(system_server, dalvik_runtime_prop)
+
+# Read ro.control_privapp_permissions and ro.cp_system_other_odex
+get_prop(system_server, packagemanager_config_prop)
+
+# Read the net.464xlat.cellular.enabled property (written by init).
+get_prop(system_server, net_464xlat_fromvendor_prop)
+
+# Read hypervisor capabilities ro.boot.hypervisor.*
+get_prop(system_server, hypervisor_prop)
+
+# Read persist.wm.debug. properties
+get_prop(system_server, persist_wm_debug_prop)
+set_prop(system_server, persist_wm_debug_prop)
+
+# Read persist.sysui.notification.builder_extras_override property
+get_prop(system_server, persist_sysui_builder_extras_prop)
+# Read persist.sysui.notification.ranking_update_ashmem property
+get_prop(system_server, persist_sysui_ranking_update_prop)
+
+# Read ro.tuner.lazyhal
+get_prop(system_server, tuner_config_prop)
+# Write tuner.server.enable
+set_prop(system_server, tuner_server_ctl_prop)
+
+# Allow the heap dump ART plugin to the count of sessions waiting for OOME
+get_prop(system_server, traced_oome_heap_session_count_prop)
+
+# Allow the sensor service (running in the system service) to read sensor
+# configuration properties
+get_prop(system_server, sensors_config_prop)
+
+# Allow system server to determine if system services are enabled
+get_prop(system_server, system_service_enable_prop)
+
+# Allow system server to read shared mmd properties
+get_prop(system_server, mmd_shared_prop)
+
+# Create a socket for connections from debuggerd.
+allow system_server system_ndebug_socket:sock_file create_file_perms;
+
+# Create a socket for connections from zygotes.
+allow system_server system_unsolzygote_socket:sock_file create_file_perms;
+
+# Manage cache files.
+allow system_server cache_file:lnk_file r_file_perms;
+allow system_server { cache_file cache_recovery_file }:dir { relabelfrom create_dir_perms };
+allow system_server { cache_file cache_recovery_file }:file { relabelfrom create_file_perms };
+allow system_server { cache_file cache_recovery_file }:fifo_file create_file_perms;
+
+allow system_server system_file:dir r_dir_perms;
+allow system_server system_file:lnk_file r_file_perms;
+
+# ART locks profile files.
+allow system_server system_file:file lock;
+
+# LocationManager(e.g, GPS) needs to read and write
+# to uart driver and ctrl proc entry
+allow system_server gps_control:file rw_file_perms;
+
+# Allow system_server to use app-created sockets and pipes.
+allow system_server appdomain:{ tcp_socket udp_socket } { getattr getopt setopt read write shutdown };
+allow system_server appdomain:{ fifo_file unix_stream_socket } { getattr read write };
+
+# BackupManagerService needs to manipulate backup data files
+allow system_server cache_backup_file:dir rw_dir_perms;
+allow system_server cache_backup_file:file create_file_perms;
+# LocalTransport works inside /cache/backup
+allow system_server cache_private_backup_file:dir create_dir_perms;
+allow system_server cache_private_backup_file:file create_file_perms;
+
+# Allow system to talk to usb device
+allow system_server usb_device:chr_file rw_file_perms;
+allow system_server usb_device:dir r_dir_perms;
+
+# Read and delete files under /dev/fscklogs.
+r_dir_file(system_server, fscklogs)
+allow system_server fscklogs:dir { write remove_name add_name };
+allow system_server fscklogs:file rename;
+
+# logd access, system_server inherit logd write socket
+# (urge is to deprecate this long term)
+allow system_server zygote:unix_dgram_socket write;
+
+# Read from log daemon.
+read_logd(system_server)
+read_runtime_log_tags(system_server)
+
+# Be consistent with DAC permissions. Allow system_server to write to
+# /sys/module/lowmemorykiller/parameters/adj
+# /sys/module/lowmemorykiller/parameters/minfree
+allow system_server sysfs_lowmemorykiller:file { getattr w_file_perms };
+
+# Read /sys/fs/pstore/console-ramoops
+# Don't worry about overly broad permissions for now, as there's
+# only one file in /sys/fs/pstore
+allow system_server pstorefs:dir r_dir_perms;
+allow system_server pstorefs:file r_file_perms;
+
+# /sys access
+allow system_server sysfs_zram:dir search;
+allow system_server sysfs_zram:file rw_file_perms;
+
+# Read /sys/fs/selinux/policy
+allow system_server kernel:security read_policy;
+
+add_service(system_server, system_server_service);
+allow system_server artd_service:service_manager find;
+allow system_server artd_pre_reboot_service:service_manager find;
+allow system_server audioserver_service:service_manager find;
+allow system_server authorization_service:service_manager find;
+allow system_server batteryproperties_service:service_manager find;
+allow system_server cameraserver_service:service_manager find;
+allow system_server compos_service:service_manager find;
+allow system_server dataloader_manager_service:service_manager find;
+allow system_server dexopt_chroot_setup_service:service_manager find;
+allow system_server dnsresolver_service:service_manager find;
+allow system_server drmserver_service:service_manager find;
+allow system_server dumpstate_service:service_manager find;
+allow system_server fingerprintd_service:service_manager find;
+allow system_server gatekeeper_service:service_manager find;
+allow system_server gpu_service:service_manager find;
+allow system_server gsi_service:service_manager find;
+allow system_server idmap_service:service_manager find;
+allow system_server incident_service:service_manager find;
+allow system_server incremental_service:service_manager find;
+allow system_server installd_service:service_manager find;
+allow system_server keystore_maintenance_service:service_manager find;
+allow system_server keystore_metrics_service:service_manager find;
+allow system_server keystore_service:service_manager find;
+allow system_server mdns_service:service_manager find;
+allow system_server mediaserver_service:service_manager find;
+allow system_server mediametrics_service:service_manager find;
+allow system_server mediaextractor_service:service_manager find;
+allow system_server mediadrmserver_service:service_manager find;
+allow system_server mediatuner_service:service_manager find;
+allow system_server mmd_service:service_manager find;
+allow system_server netd_service:service_manager find;
+allow system_server nfc_service:service_manager find;
+allow system_server ot_daemon_service:service_manager find;
+allow system_server radio_service:service_manager find;
+allow system_server stats_service:service_manager find;
+allow system_server storaged_service:service_manager find;
+allow system_server surfaceflinger_service:service_manager find;
+allow system_server update_engine_service:service_manager find;
+allow system_server virtual_camera_service:service_manager find;
+is_flag_enabled(RELEASE_AVF_ENABLE_LLPVM_CHANGES, `
+    allow system_server virtualization_maintenance_service:service_manager find;
+')
+allow system_server vold_service:service_manager find;
+allow system_server wifinl80211_service:service_manager find;
+allow system_server logd_service:service_manager find;
+userdebug_or_eng(`
+  allow system_server profcollectd_service:service_manager find;
+')
+allow system_server wifi_mainline_supplicant_service:service_manager find;
+
+add_service(system_server, batteryproperties_service)
+
+allow system_server keystore:keystore2 {
+	add_auth
+	change_password
+	change_user
+	clear_ns
+	clear_uid
+	delete_all_keys
+	get_last_auth_time
+	lock
+	pull_metrics
+	reset
+	unlock
+};
+
+allow system_server keystore:keystore2_key {
+	delete
+	use_dev_id
+	grant
+	get_info
+	rebind
+	update
+	use
+};
+
+# Allow Wifi module to manage Wi-Fi keys.
+allow system_server wifi_key:keystore2_key {
+	delete
+	get_info
+	rebind
+	update
+	use
+};
+
+# Allow lock_settings service to manage RoR keys.
+allow system_server resume_on_reboot_key:keystore2_key {
+	delete
+	get_info
+	rebind
+	update
+	use
+};
+
+# Allow lock_settings service to manage locksettings keys (e.g. the synthetic password key).
+allow system_server locksettings_key:keystore2_key {
+	delete
+	get_info
+	rebind
+	update
+	use
+};
+
+
+# Allow system server to search and write to the persistent factory reset
+# protection partition. This block device does not get wiped in a factory reset.
+allow system_server block_device:dir search;
+allow system_server frp_block_device:blk_file rw_file_perms;
+allowxperm system_server frp_block_device:blk_file ioctl { BLKSECDISCARD BLKDISCARD };
+
+# Create new process groups and clean up old cgroups
+allow system_server cgroup:dir create_dir_perms;
+allow system_server cgroup:file setattr;
+allow system_server cgroup_v2:dir create_dir_perms;
+allow system_server cgroup_v2:file { r_file_perms setattr };
+
+# /oem access
+r_dir_file(system_server, oemfs)
+
+# Allow resolving per-user storage symlinks
+allow system_server { mnt_user_file storage_file }:dir { getattr search };
+allow system_server { mnt_user_file storage_file }:lnk_file { getattr read };
+
+# Allow statfs() on storage devices, which happens fast enough that
+# we shouldn't be killed during unsafe removal
+allow system_server { sdcard_type fuse }:dir { getattr search };
+
+# Traverse into expanded storage
+allow system_server mnt_expand_file:dir r_dir_perms;
+
+# Allow system process to relabel the fingerprint directory after mkdir
+# and delete the directory and files when no longer needed
+allow system_server fingerprintd_data_file:dir { r_dir_perms remove_name rmdir relabelto write };
+allow system_server fingerprintd_data_file:file { getattr unlink };
+
+userdebug_or_eng(`
+  # Allow system server to create and write method traces in /data/misc/trace.
+  allow system_server method_trace_data_file:dir w_dir_perms;
+  allow system_server method_trace_data_file:file { create w_file_perms };
+
+  # Allow system server to read dmesg
+  allow system_server kernel:system syslog_read;
+
+  # Allow writing and removing window traces in /data/misc/wmtrace.
+  allow system_server wm_trace_data_file:dir rw_dir_perms;
+  allow system_server wm_trace_data_file:file { getattr setattr create unlink w_file_perms };
+
+  # Allow writing and removing accessibility traces in /data/misc/a11ytrace.
+  allow system_server accessibility_trace_data_file:dir rw_dir_perms;
+  allow system_server accessibility_trace_data_file:file { getattr setattr create unlink w_file_perms };
+')
+
+# For AppFuse.
+allow system_server vold:fd use;
+allow system_server fuse_device:chr_file { read write ioctl getattr };
+allow system_server app_fuse_file:file { read write getattr };
+
+# For configuring sdcardfs
+allow system_server configfs:dir { create_dir_perms };
+allow system_server configfs:file { getattr open create unlink write };
+
+# Connect to adbd and use a socket transferred from it.
+# Used for e.g. jdwp.
+allow system_server adbd_common:unix_stream_socket connectto;
+allow system_server adbd_common:fd use;
+allow system_server adbd_common:unix_stream_socket { getattr getopt ioctl read write shutdown };
+
+# Read service.adb.tls.port, persist.adb.wifi. properties
+get_prop(system_server, adbd_prop)
+
+# Set persist.adb.tls_server.enable property
+set_prop(system_server, system_adbd_prop)
+
+# Set service.adbd.tradeinmode from ITradeInService.
+set_prop(system_server, adbd_tradeinmode_prop)
+
+# Allow invoking tools like "timeout"
+allow system_server toolbox_exec:file rx_file_perms;
+
+# Allow invoking pbtombstone
+allow system_server pbtombstone_exec:file rx_file_perms;
+
+# Allow system process to setup fs-verity
+allowxperm system_server { apk_data_file apk_tmp_file system_data_file apex_system_server_data_file }:file ioctl FS_IOC_ENABLE_VERITY;
+
+# Allow system process to measure fs-verity for apps, including those being installed
+allowxperm system_server { apk_data_file apk_tmp_file }:file ioctl FS_IOC_MEASURE_VERITY;
+allowxperm system_server apk_tmp_file:file ioctl FS_IOC_SETFLAGS;
+
+# Postinstall
+#
+# For OTA dexopt, allow calls coming from postinstall.
+binder_call(system_server, postinstall)
+
+allow system_server postinstall:fifo_file write;
+allow system_server update_engine:fd use;
+allow system_server update_engine:fifo_file write;
+
+# Access to /data/preloads
+allow system_server preloads_data_file:file { r_file_perms unlink };
+allow system_server preloads_data_file:dir { r_dir_perms write remove_name rmdir };
+allow system_server preloads_media_file:file { r_file_perms unlink };
+allow system_server preloads_media_file:dir { r_dir_perms write remove_name rmdir };
+
+r_dir_file(system_server, cgroup)
+r_dir_file(system_server, cgroup_v2)
+allow system_server ion_device:chr_file r_file_perms;
+
+# Access to /dev/dma_heap/system
+allow system_server dmabuf_system_heap_device:chr_file r_file_perms;
+# Access to /dev/dma_heap/system-secure
+allow system_server dmabuf_system_secure_heap_device:chr_file r_file_perms;
+
+r_dir_file(system_server, proc_asound)
+r_dir_file(system_server, proc_net_type)
+r_dir_file(system_server, proc_qtaguid_stat)
+allow system_server {
+  proc_cmdline
+  proc_loadavg
+  proc_locks
+  proc_meminfo
+  proc_pagetypeinfo
+  proc_pipe_conf
+  proc_stat
+  proc_uid_cputime_showstat
+  proc_uid_io_stats
+  proc_uid_time_in_state
+  proc_uid_concurrent_active_time
+  proc_uid_concurrent_policy_time
+  proc_version
+  proc_vmallocinfo
+}:file r_file_perms;
+
+allow system_server proc_uid_time_in_state:dir r_dir_perms;
+allow system_server proc_uid_cpupower:file r_file_perms;
+
+r_dir_file(system_server, rootfs)
+
+# Allow WifiService to start, stop, and read wifi-specific trace events.
+allow system_server debugfs_tracing_instances:dir search;
+allow system_server debugfs_wifi_tracing:dir search;
+allow system_server debugfs_wifi_tracing:file rw_file_perms;
+
+# Allow BootReceiver to watch trace error_report events.
+allow system_server debugfs_bootreceiver_tracing:dir search;
+allow system_server debugfs_bootreceiver_tracing:file r_file_perms;
+
+# Allow system_server to read tracepoint ids in order to attach BPF programs to them.
+allow system_server debugfs_tracing:file r_file_perms;
+
+# allow system_server to exec shell, asanwrapper & zygote(app_process) on ASAN builds. Needed to run
+# asanwrapper.
+with_asan(`
+  allow system_server shell_exec:file rx_file_perms;
+  allow system_server asanwrapper_exec:file rx_file_perms;
+  allow system_server zygote_exec:file rx_file_perms;
+')
+
+# allow system_server to read the eBPF maps that stores the traffic stats information and update
+# the map after snapshot is recorded, and to read, update and run the maps and programs used for
+# time in state accounting
+allow system_server { fs_bpf fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared }:dir search;
+allow system_server { fs_bpf fs_bpf_net_shared fs_bpf_netd_readonly fs_bpf_netd_shared }:file { getattr read write };
+allow system_server bpfloader:bpf prog_run;
+allow system_server self:bpf map_create;
+allow system_server { bpfloader netd network_stack system_server }:bpf { map_read map_write };
+# in order to invoke side effect of close() on such a socket calling synchronize_rcu()
+allow system_server self:key_socket create;
+# Java's Os.close() in libcore/luni/src/main/java/libcore/io/BlockGuardOs.java;l=100
+# calls if (fd.isSocket$()) if (isLingerSocket(fd)) ...
+dontaudit system_server self:key_socket getopt;
+
+# Needed to interact with memevents-eBPF and receive notifications for memory events
+allow system_server fs_bpf_memevents:dir search;
+allow system_server fs_bpf_memevents:file { read write };
+
+# Allow system_server to start clatd in its own domain and kill it.
+domain_auto_trans(system_server, clatd_exec, clatd)
+allow system_server clatd:process { sigkill signal };
+
+# ART Profiles.
+# Allow system_server to open profile snapshots for read.
+# System server never reads the actual content. It passes the descriptor to
+# to privileged apps which acquire the permissions to inspect the profiles.
+allow system_server { user_profile_root_file user_profile_data_file}:dir { getattr search };
+allow system_server user_profile_data_file:file { getattr open read };
+
+# System server may dump profile data for debuggable apps in the /data/misc/profman.
+# As such it needs to be able create files but it should never read from them.
+# It also needs to stat the directory to check if it has the right permissions.
+allow system_server profman_dump_data_file:file { create getattr setattr w_file_perms};
+allow system_server profman_dump_data_file:dir rw_dir_perms;
+
+# On userdebug build we may profile system server. Allow it to write and create its own profile.
+userdebug_or_eng(`
+  allow system_server user_profile_data_file:dir w_dir_perms;
+  allow system_server user_profile_data_file:file create_file_perms;
+')
+# Allow system server to load JVMTI agents under control of a property.
+get_prop(system_server,system_jvmti_agent_prop)
+
+# UsbDeviceManager uses /dev/usb-ffs
+allow system_server functionfs:dir search;
+allow system_server functionfs:file rw_file_perms;
+# To resolve arbitrary sysfs paths from /sys/class/udc/* symlinks.
+starting_at_board_api(202504, `
+allow system_server sysfs_type:dir search;
+r_dir_file(system_server, sysfs_udc)
+')
+
+# system_server contains time / time zone detection logic so reads the associated properties.
+get_prop(system_server, time_prop)
+
+# system_server reads this property to know it should expect the lmkd sends notification to it
+# on low memory kills.
+get_prop(system_server, system_lmk_prop)
+
+get_prop(system_server, wifi_config_prop)
+
+# Only system server can access BINDER_FREEZE and BINDER_GET_FROZEN_INFO
+allowxperm system_server binder_device:chr_file ioctl { BINDER_FREEZE BINDER_GET_FROZEN_INFO };
+
+# Watchdog prints debugging log to /dev/kmsg_debug.
+userdebug_or_eng(`
+  allow system_server kmsg_debug_device:chr_file { open append getattr };
+')
+# Watchdog reads sysprops framework_watchdog.fatal_* to handle watchdog timeout loop.
+get_prop(system_server, framework_watchdog_config_prop)
+
+
+# Font files are written by system server
+allow system_server font_data_file:file create_file_perms;
+allow system_server font_data_file:dir create_dir_perms;
+# Allow system process to setup and measure fs-verity for font files
+allowxperm system_server font_data_file:file ioctl { FS_IOC_ENABLE_VERITY FS_IOC_MEASURE_VERITY };
+
+# Read qemu.hw.mainkeys property
+get_prop(system_server, qemu_hw_prop)
+
+# Allow system server to read profcollectd reports for upload.
+userdebug_or_eng(`r_dir_file(system_server, profcollectd_data_file)')
+
+# Power controls for debugging/diagnostics
+get_prop(system_server, power_debug_prop)
+set_prop(system_server, power_debug_prop)
+
+###
+### Neverallow rules
+###
+### system_server should NEVER do any of this
+
+# Do not allow opening files from external storage as unsafe ejection
+# could cause the kernel to kill the system_server.
+neverallow system_server { sdcard_type fuse }:dir { open read write };
+neverallow system_server { sdcard_type fuse }:file rw_file_perms;
+
+# system server should never be operating on zygote spawned app data
+# files directly. Rather, they should always be passed via a
+# file descriptor.
+# Exclude those types that system_server needs to open directly.
+neverallow system_server {
+  app_data_file_type
+  -system_app_data_file
+  -radio_data_file
+}:file { open create unlink link };
+
+# Forking and execing is inherently dangerous and racy. See, for
+# example, https://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
+# Prevent the addition of new file execs to stop the problem from
+# getting worse. b/28035297
+neverallow system_server {
+  file_type
+  -toolbox_exec
+  -logcat_exec
+  -pbtombstone_exec
+  with_asan(`-shell_exec -asanwrapper_exec -zygote_exec')
+}:file execute_no_trans;
+
+# Ensure that system_server doesn't perform any domain transitions other than
+# transitioning to the crash_dump domain when a crash occurs or fork clatd.
+# add perfetto and trace_redactor which are exec'd from system server for ProfilingService.
+neverallow system_server { domain -clatd -crash_dump -perfetto -trace_redactor }:process transition;
+neverallow system_server *:process dyntransition;
+
+# Ensure that system_server doesn't access anything but search in perfetto_traces_data_file:dir.
+neverallow system_server perfetto_traces_data_file:dir ~search;
+
+# Only allow crash_dump to connect to system_ndebug_socket.
+neverallow { domain -init -system_server -crash_dump } system_ndebug_socket:sock_file { open write };
+
+# Only allow zygotes to connect to system_unsolzygote_socket.
+neverallow {
+  domain
+  -init
+  -system_server
+  -zygote
+  -app_zygote
+  -webview_zygote
+} system_unsolzygote_socket:sock_file { open write };
+
+# Only allow init, system_server, flags_health_check to set properties for server configurable flags
+neverallow {
+  domain
+  -init
+  -system_server
+  -flags_health_check
+} {
+  device_config_core_experiments_team_internal_prop
+  device_config_activity_manager_native_boot_prop
+  device_config_connectivity_prop
+  device_config_input_native_boot_prop
+  device_config_lmkd_native_prop
+  device_config_netd_native_prop
+  device_config_nnapi_native_prop
+  device_config_edgetpu_native_prop
+  device_config_runtime_native_boot_prop
+  device_config_runtime_native_prop
+  device_config_media_native_prop
+  device_config_mglru_native_prop
+  device_config_remote_key_provisioning_native_prop
+  device_config_storage_native_boot_prop
+  device_config_surface_flinger_native_boot_prop
+  device_config_sys_traced_prop
+  device_config_swcodec_native_prop
+  device_config_aconfig_flags_prop
+  device_config_window_manager_native_boot_prop
+  device_config_tethering_u_or_later_native_prop
+  device_config_mmd_native_prop
+  next_boot_prop
+}:property_service set;
+
+# Only allow system_server and init to set tuner_server_ctl_prop
+neverallow {
+  domain
+  -system_server
+  -init
+} tuner_server_ctl_prop:property_service set;
+
+# system_server should never be executing dex2oat. This is either
+# a bug (for example, bug 16317188), or represents an attempt by
+# system server to dynamically load a dex file, something we do not
+# want to allow.
+neverallow system_server dex2oat_exec:file no_x_file_perms;
+
+# system_server should never execute or load executable shared libraries
+# in /data. Executable files in /data are a persistence vector.
+# https://bugs.chromium.org/p/project-zero/issues/detail?id=955 for example.
+neverallow system_server data_file_type:file no_x_file_perms;
+
+# The only block device system_server should be writing to is
+# the frp_block_device. This helps avoid a system_server to root
+# escalation by writing to raw block devices.
+# The system_server may need to read from vd_device if it uses
+# block apexes.
+neverallow system_server { dev_type -frp_block_device }:blk_file no_w_file_perms;
+neverallow system_server { dev_type -frp_block_device -vd_device }:blk_file r_file_perms;
+
+# system_server should never use JIT functionality
+# See https://googleprojectzero.blogspot.com/2016/12/bitunmap-attacking-android-ashmem.html
+# in the section titled "A Short ROP Chain" for why.
+# However, in emulator builds without OpenGL passthrough, we use software
+# rendering via SwiftShader, which requires JIT support. These builds are
+# never shipped to users.
+ifelse(target_requires_insecure_execmem_for_swiftshader, `true',
+  `allow system_server self:process execmem;',
+  `neverallow system_server self:process execmem;')
+neverallow system_server { ashmem_device ashmem_libcutils_device }:chr_file execute;
+
+# TODO: deal with tmpfs_domain pub/priv split properly
+neverallow system_server system_server_tmpfs:file execute;
+
+# Resources handed off by system_server_startup
+allow system_server system_server_startup:fd use;
+allow system_server system_server_startup_tmpfs:file { read write map };
+allow system_server system_server_startup:unix_dgram_socket write;
+
+# Allow system server to communicate to apexd
+allow system_server apex_service:service_manager find;
+allow system_server apexd:binder call;
+
+# Allow system server to scan /apex for flattened APEXes
+allow system_server apex_mnt_dir:dir r_dir_perms;
+
+# Allow system server to read /apex/apex-info-list.xml
+allow system_server apex_info_file:file r_file_perms;
+
+# Allow system_server to communicate with tradeinmode.
+binder_call(system_server, tradeinmode)
+
+# Allow system server to communicate to system-suspend's control interface
+allow system_server system_suspend_control_internal_service:service_manager find;
+allow system_server system_suspend_control_service:service_manager find;
+binder_call(system_server, system_suspend)
+binder_call(system_suspend, system_server)
+
+# Allow system server to communicate to system-suspend's wakelock interface
+wakelock_use(system_server)
+
+# Allow the system server to read files under /data/apex. The system_server
+# needs these privileges to compare file signatures while processing installs.
+#
+# Only apexd is allowed to create new entries or write to any file under /data/apex.
+allow system_server apex_data_file:dir { getattr search };
+allow system_server apex_data_file:file r_file_perms;
+
+# Allow the system server to read files under /vendor/apex. This is where
+# vendor APEX packages might be installed and system_server needs to parse
+# these packages to inspect the signatures and other metadata.
+allow system_server vendor_apex_file:dir { getattr search };
+allow system_server vendor_apex_file:file r_file_perms;
+
+# Allow the system server to manage relevant apex module data files.
+allow system_server apex_module_data_file:dir { getattr search };
+# These are modules where the code runs in system_server, so we need full access.
+allow system_server apex_system_server_data_file:dir create_dir_perms;
+allow system_server apex_system_server_data_file:file create_file_perms;
+allow system_server apex_tethering_data_file:dir create_dir_perms;
+allow system_server apex_tethering_data_file:file create_file_perms;
+allow system_server apex_uwb_data_file:dir create_dir_perms;
+allow system_server apex_uwb_data_file:file create_file_perms;
+# Legacy labels that we still need to support (b/217581286)
+allow system_server {
+  apex_appsearch_data_file
+  apex_permission_data_file
+  apex_scheduling_data_file
+  apex_wifi_data_file
+}:dir create_dir_perms;
+allow system_server {
+  apex_appsearch_data_file
+  apex_permission_data_file
+  apex_scheduling_data_file
+  apex_wifi_data_file
+}:file create_file_perms;
+
+# Allow PasswordSlotManager rw access to /metadata/password_slots, so GSIs and the host image can
+# communicate which slots are available for use.
+allow system_server metadata_file:dir search;
+allow system_server password_slot_metadata_file:dir rw_dir_perms;
+allow system_server password_slot_metadata_file:file create_file_perms;
+
+# Allow TradeInMode service rw access to /metadata/tradeinmode.
+allow system_server tradeinmode_metadata_file:dir rw_dir_perms;
+allow system_server tradeinmode_metadata_file:file create_file_perms;
+
+allow system_server userspace_reboot_metadata_file:dir create_dir_perms;
+allow system_server userspace_reboot_metadata_file:file create_file_perms;
+
+# Allow system server rw access to files in /metadata/staged-install folder
+allow system_server staged_install_file:dir rw_dir_perms;
+allow system_server staged_install_file:file create_file_perms;
+
+allow system_server watchdog_metadata_file:dir rw_dir_perms;
+allow system_server watchdog_metadata_file:file create_file_perms;
+
+# allow system_server write to aconfigd socket
+unix_socket_connect(system_server, aconfigd, aconfigd);
+
+# allow system_server write to aconfigd_mainline socket
+unix_socket_connect(system_server, aconfigd_mainline, aconfigd_mainline);
+
+allow system_server repair_mode_metadata_file:dir rw_dir_perms;
+allow system_server repair_mode_metadata_file:file create_file_perms;
+
+allow system_server gsi_persistent_data_file:dir rw_dir_perms;
+allow system_server gsi_persistent_data_file:file create_file_perms;
+
+# Allow system server read and remove files under /data/misc/odrefresh
+allow system_server odrefresh_data_file:dir rw_dir_perms;
+allow system_server odrefresh_data_file:file { r_file_perms unlink };
+
+# Allow system server r access to /system/bin/surfaceflinger for PinnerService.
+allow system_server surfaceflinger_exec:file r_file_perms;
+
+# Allow init to set sysprop used to compute stats about userspace reboot.
+set_prop(system_server, userspace_reboot_log_prop)
+
+# JVMTI agent settings are only readable from the system server.
+neverallow {
+  domain
+  -system_server
+  -dumpstate
+  -init
+  -vendor_init
+} {
+  system_jvmti_agent_prop
+}:file no_rw_file_perms;
+
+# Read/Write /proc/pressure/memory
+allow system_server proc_pressure_mem:file rw_file_perms;
+# Read /proc/pressure/cpu and /proc/pressure/io
+allow system_server { proc_pressure_cpu proc_pressure_io }:file r_file_perms;
+
+# No ptracing others
+neverallow system_server { domain -system_server }:process ptrace;
+
+# CAP_SYS_RESOURCE was traditionally needed for sensitive /proc/PID
+# file read access. However, that is now unnecessary (b/34951864)
+neverallow system_server system_server:global_capability_class_set sys_resource;
+
+# Only system_server/init should access /metadata/password_slots.
+neverallow { domain -init -system_server } password_slot_metadata_file:dir *;
+neverallow {
+  domain
+  -init
+  -system_server
+} password_slot_metadata_file:notdevfile_class_set ~{ relabelto getattr };
+neverallow { domain -init -system_server } password_slot_metadata_file:notdevfile_class_set *;
+
+# Allow systemserver to read/write the invalidation property
+set_prop(system_server, binder_cache_system_server_prop)
+neverallow { domain -system_server -init }
+    binder_cache_system_server_prop:property_service set;
+
+# Allow system server to attach BPF programs to tracepoints. Deny read permission so that
+# system_server cannot use this access to read perf event data like process stacks.
+allow system_server self:perf_event { open write cpu kernel };
+neverallow system_server self:perf_event ~{ open write cpu kernel };
+
+# Allow writing files under /data/system/shutdown-checkpoints/
+allow system_server shutdown_checkpoints_system_data_file:dir create_dir_perms;
+allow system_server shutdown_checkpoints_system_data_file:file create_file_perms;
+
+# Do not allow any domain other than init or system server to set the property
+neverallow { domain -init -system_server } socket_hook_prop:property_service set;
+
+neverallow { domain -init -system_server } boot_status_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -system_server
+} wifi_config_prop:file no_rw_file_perms;
+
+# Only allow system server to write uhid sysfs files
+neverallow {
+    domain
+    -init
+    -system_server
+    -ueventd
+    -vendor_init
+} sysfs_uhid:file no_w_file_perms;
+
+# BINDER_FREEZE is used to block ipc transactions to frozen processes, so it
+# can be accessed by system_server only (b/143717177)
+# BINDER_GET_FROZEN_INFO is used by system_server to determine the state of a frozen binder
+# interface
+neverallowxperm { domain -system_server } binder_device:chr_file ioctl { BINDER_FREEZE BINDER_GET_FROZEN_INFO };
+
+# Only system server can write the font files.
+neverallow { domain -init -system_server } font_data_file:file no_w_file_perms;
+neverallow { domain -init -system_server } font_data_file:dir no_w_dir_perms;
+
+# Allow reading /system/etc/font_fallback.xml
+allow system_server system_font_fallback_file:file r_file_perms;
+
+# Allow system server to set dynamic ART properties.
+set_prop(system_server, dalvik_dynamic_config_prop)
+
+# Allow system server to read binderfs
+allow system_server binderfs_logs:dir r_dir_perms;
+allow system_server binderfs_logs_stats:file r_file_perms;
+
+# For ANRs
+userdebug_or_eng(`
+    allow system_server binderfs_logs_transactions:file r_file_perms;
+')
+
+# Allow GameManagerService to read and write persist.graphics.game_default_frame_rate.enabled
+set_prop(system_server, game_manager_config_prop)
+
+# Allow system server to write HintManagerService properties
+set_prop(system_server, hint_manager_config_prop)
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -system_server
+  userdebug_or_eng(`-shell')
+} hint_manager_config_prop:property_service set;
+
+# ThreadNetworkService reads Thread Network properties
+get_prop(system_server, threadnetwork_config_prop)
+
+# Do not allow any domain other than init and system server to set the property
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -dumpstate
+  -system_server
+} threadnetwork_config_prop:file no_rw_file_perms;
+
+# Allow accessing /mnt/pre_reboot_dexopt/chroot, to load the new service-art.jar
+# in Pre-reboot Dexopt.
+allow system_server pre_reboot_dexopt_file:dir { getattr search };
+
+# Allow system_server to reopen its own memfd.
+# system_server needs to copy the new service-art.jar to a memfd and reopen it with the path
+# /proc/self/fd/<fd> with a classloader.
+allow system_server system_server_tmpfs:file open;
+
+# Allow system_server to read from postinstall scripts through STDIN, to check if the
+# otapreopt_script is still alive.
+allow system_server postinstall:fifo_file read;
+
+# Allow system_server to kill artd and its subprocesses, to make sure that no process is accessing
+# files in chroot when we teardown chroot.
+allow system_server {
+  artd
+  derive_classpath
+  dex2oat
+  odrefresh
+  profman
+}:process sigkill;
+
+# Do not allow any domain other than init or system server to get or set the property
+neverallow { domain -init -system_server } crashrecovery_prop:property_service set;
+neverallow { domain -init -dumpstate -system_server } crashrecovery_prop:file no_rw_file_perms;
+
+# Do not allow anything other than system_server and init to touch /metadata/tradeinmode.
+neverallow { domain -init -system_server } tradeinmode_metadata_file:file no_rw_file_perms;
+
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -system_server
+  -shell
+} power_debug_prop:property_service set;
diff --git a/prebuilts/api/202504/private/system_server_startup.te b/prebuilts/api/202504/private/system_server_startup.te
new file mode 100644
index 0000000..064e038
--- /dev/null
+++ b/prebuilts/api/202504/private/system_server_startup.te
@@ -0,0 +1,24 @@
+type system_server_startup, domain, coredomain;
+type system_server_startup_tmpfs, file_type;
+
+tmpfs_domain(system_server_startup)
+
+# Create JIT memory
+allow system_server_startup self:process execmem;
+allow system_server_startup system_server_startup_tmpfs:file { execute read write open map };
+
+# Allow to pick up integrity-checked artifacts from the ART APEX dalvik cache.
+allow system_server_startup apex_art_data_file:dir r_dir_perms;
+allow system_server_startup apex_art_data_file:file { r_file_perms execute };
+
+# Allow system_server_startup to run setcon() and enter the
+# system_server domain
+allow system_server_startup self:process setcurrent;
+allow system_server_startup system_server:process dyntransition;
+
+# Child of the zygote.
+allow system_server_startup zygote:process sigchld;
+
+# Allow query ART device config properties
+get_prop(system_server_startup, device_config_runtime_native_boot_prop)
+get_prop(system_server_startup, device_config_runtime_native_prop)
diff --git a/prebuilts/api/202504/private/system_suspend.te b/prebuilts/api/202504/private/system_suspend.te
new file mode 100644
index 0000000..a525866
--- /dev/null
+++ b/prebuilts/api/202504/private/system_suspend.te
@@ -0,0 +1,56 @@
+type system_suspend, domain, coredomain, system_suspend_server, system_suspend_internal_server;
+
+type system_suspend_exec, system_file_type, exec_type, file_type;
+init_daemon_domain(system_suspend)
+
+# To serve ISuspendControlService.
+binder_use(system_suspend)
+add_service(system_suspend, system_suspend_control_service)
+
+add_service(system_suspend, hal_system_suspend_service)
+
+# Access to /sys/power/{ wakeup_count, state } suspend interface.
+allow system_suspend sysfs_power:file rw_file_perms;
+
+# Access to wakeup, suspend stats, and wakeup reasons.
+r_dir_file(system_suspend, sysfs_suspend_stats)
+r_dir_file(system_suspend, sysfs_wakeup)
+r_dir_file(system_suspend, sysfs_wakeup_reasons)
+# To resolve arbitrary sysfs paths from /sys/class/wakeup/* symlinks.
+allow system_suspend sysfs_type:dir search;
+
+# Access to suspend_hal system properties
+get_prop(system_suspend, suspend_prop)
+
+# Access to system_suspend debug system properties
+userdebug_or_eng(`
+  get_prop(system_suspend, suspend_debug_prop)
+')
+
+# To call BTAA registered callbacks
+allow system_suspend bluetooth:binder call;
+
+# For adding `dumpsys syspend_control` output to bugreport
+allow system_suspend dumpstate:fd use;
+allow system_suspend dumpstate:fifo_file write;
+
+# Allow init to take kernel wakelock and system suspend to
+# remove kenel wakelocks and the capability to access these
+# files
+allow init sysfs_wake_lock:file rw_file_perms;
+allow init self:global_capability2_class_set block_suspend;
+allow system_suspend sysfs_wake_lock:file rw_file_perms;
+allow system_suspend self:global_capability2_class_set block_suspend;
+
+# Allow init to set /sys/power/sync_on_suspend.
+allow init sysfs_sync_on_suspend:file w_file_perms;
+
+neverallow {
+    domain
+    -atrace # tracing
+    -bluetooth # support Bluetooth activity attribution (BTAA)
+    -dumpstate # bug reports
+    -system_suspend # implements system_suspend_control_service
+    -system_server # configures system_suspend via ISuspendControlService
+    -traceur_app # tracing
+} system_suspend_control_service:service_manager find;
diff --git a/prebuilts/api/202504/private/system_suspend_internal_server.te b/prebuilts/api/202504/private/system_suspend_internal_server.te
new file mode 100644
index 0000000..8ff9da9
--- /dev/null
+++ b/prebuilts/api/202504/private/system_suspend_internal_server.te
@@ -0,0 +1,12 @@
+# To serve ISuspendControlServiceInternal.
+add_service(system_suspend_internal_server, system_suspend_control_internal_service)
+
+neverallow {
+    domain
+    -atrace # tracing
+    -dumpstate # bug reports
+    -system_suspend_internal_server # implements system_suspend_control_internal_service
+    -system_server # configures system_suspend via ISuspendControlServiceInternal
+    -traced_probes # tracing
+    -traceur_app # tracing
+} system_suspend_control_internal_service:service_manager find;
diff --git a/prebuilts/api/202504/private/system_suspend_server.te b/prebuilts/api/202504/private/system_suspend_server.te
new file mode 100644
index 0000000..8e8310d
--- /dev/null
+++ b/prebuilts/api/202504/private/system_suspend_server.te
@@ -0,0 +1,6 @@
+# Required to export a HIDL interface.
+hwbinder_use(system_suspend_server)
+get_prop(system_suspend_server, hwservicemanager_prop)
+
+# To serve ISystemSuspend.hal.
+add_hwservice(system_suspend_server, system_suspend_hwservice)
diff --git a/prebuilts/api/202504/private/technical_debt.cil b/prebuilts/api/202504/private/technical_debt.cil
new file mode 100644
index 0000000..4286053
--- /dev/null
+++ b/prebuilts/api/202504/private/technical_debt.cil
@@ -0,0 +1,66 @@
+; THIS IS A WORKAROUND for the current limitations of the module policy language
+; This should be used sparingly until we figure out a saner way to achieve the
+; stuff below, for example, by improving typeattribute statement of module
+; language.
+;
+; NOTE: This file has no effect on recovery policy.
+
+; Apps, except isolated apps, are clients of Allocator HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_allocator_client;
+;     typeattribute hal_allocator_client halclientdomain;
+(typeattributeset hal_allocator_client ((and (appdomain) ((not (isolated_app_all))))))
+(typeattributeset halclientdomain (hal_allocator_client))
+
+; Apps, except isolated apps, are clients of OMX-related services
+; Unfortunately, we can't currently express this in module policy language:
+(typeattributeset hal_omx_client ((and (appdomain) ((not (isolated_app))))))
+
+; Apps, except isolated apps, are clients of Codec2-related services
+; Unfortunately, we can't currently express this in module policy language:
+(typeattributeset hal_codec2_client ((and (appdomain) ((not (isolated_app))))))
+
+; Apps, except isolated apps and SDK sandboxes, are clients of Drm-related services
+; Unfortunately, we can't currently express this in module policy language:
+(typeattributeset hal_drm_client ((and (appdomain) ((not (or (isolated_app_all) (sdk_sandbox_all)))))))
+
+; Apps, except isolated apps, are clients of Configstore HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_configstore_client;
+(typeattributeset hal_configstore_client ((and (appdomain) ((not (isolated_app_all))))))
+
+; Apps, except isolated apps, are clients of Graphics Allocator HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app } hal_graphics_allocator_client;
+(typeattributeset hal_graphics_allocator_client ((and (appdomain) ((not (isolated_app))))))
+
+; Apps, except isolated apps, are clients of Cas HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_cas_client;
+(typeattributeset hal_cas_client ((and (appdomain) ((not (isolated_app_all))))))
+
+; Domains hosting Camera HAL implementations are clients of Allocator HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute hal_camera hal_allocator_client;
+(typeattributeset hal_allocator_client (hal_camera))
+
+; Apps, except isolated apps, are clients of Neuralnetworks HAL
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { appdomain -isolated_app_all } hal_neuralnetworks_client;
+(typeattributeset hal_neuralnetworks_client ((and (appdomain) ((not (isolated_app))))))
+
+; TODO(b/112056006): move these to mapping files when/if we implement 'versioned' attributes.
+; Rename untrusted_app_visible_* to untrusted_app_visible_*_violators.
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute untrusted_app_visible_hwservice untrusted_app_visible_hwservice_violators;
+;     typeattribute untrusted_app_visible_halserver untrusted_app_visible_halserver_violators;
+(typeattribute untrusted_app_visible_hwservice)
+(typeattributeset untrusted_app_visible_hwservice_violators (untrusted_app_visible_hwservice))
+(typeattribute untrusted_app_visible_halserver)
+(typeattributeset untrusted_app_visible_halserver_violators (untrusted_app_visible_halserver))
+
+; Properties having both system_property_type and vendor_property_type are illegal
+; Unfortunately, we can't currently express this in module policy language:
+;     typeattribute { system_property_type && vendor_property_type } system_and_vendor_property_type;
+(typeattribute system_and_vendor_property_type)
+(typeattributeset system_and_vendor_property_type ((and (system_property_type) (vendor_property_type))))
diff --git a/prebuilts/api/202504/private/tee.te b/prebuilts/api/202504/private/tee.te
new file mode 100644
index 0000000..2f86c4d
--- /dev/null
+++ b/prebuilts/api/202504/private/tee.te
@@ -0,0 +1,2 @@
+allow tee fingerprint_vendor_data_file:dir rw_dir_perms;
+allow tee fingerprint_vendor_data_file:file create_file_perms;
diff --git a/prebuilts/api/202504/private/tee_service_contexts b/prebuilts/api/202504/private/tee_service_contexts
new file mode 100644
index 0000000..89eceae
--- /dev/null
+++ b/prebuilts/api/202504/private/tee_service_contexts
@@ -0,0 +1,13 @@
+# Tee services contexts.
+#
+# This file defines all tee services available to VMs.
+# This file is read by virtmngr.
+#
+# Format:
+# <tee_service_name> <label>
+#
+# <tee_service_name> must be a string
+
+# Example tee service that can be used for end-to-end integration of
+# custom smcs filtering on devices with pkvm hypervisor.
+test_pkvm_tee_service u:object_r:test_pkvm_tee_service:s0
diff --git a/prebuilts/api/202504/private/tee_services.te b/prebuilts/api/202504/private/tee_services.te
new file mode 100644
index 0000000..320f8b7
--- /dev/null
+++ b/prebuilts/api/202504/private/tee_services.te
@@ -0,0 +1,6 @@
+# Specify tee_services in this file.
+# Please keep the names in the alphabetical order and comment each new entry.
+
+# An example tee_service that can be used to test end-to-end integration of custom
+# smcs filtering feature on a device with pkvm hypervisor.
+type test_pkvm_tee_service, tee_service_type;
diff --git a/prebuilts/api/202504/private/tombstoned.te b/prebuilts/api/202504/private/tombstoned.te
new file mode 100644
index 0000000..1384835
--- /dev/null
+++ b/prebuilts/api/202504/private/tombstoned.te
@@ -0,0 +1,31 @@
+typeattribute tombstoned coredomain;
+
+init_daemon_domain(tombstoned)
+
+get_prop(tombstoned, tombstone_config_prop)
+
+# Write to arbitrary pipes given to us.
+allow tombstoned domain:fd use;
+allow tombstoned domain:fifo_file write;
+
+allow tombstoned domain:dir r_dir_perms;
+allow tombstoned domain:file r_file_perms;
+allow tombstoned tombstone_data_file:dir rw_dir_perms;
+allow tombstoned tombstone_data_file:file { create_file_perms link };
+
+# Changes for the new stack dumping mechanism. Each trace goes into a
+# separate file, and these files are managed by tombstoned.
+allow tombstoned anr_data_file:dir rw_dir_perms;
+allow tombstoned anr_data_file:file { append create getattr open link unlink };
+
+###
+### Neverallow rules
+###
+
+neverallow {
+    domain
+    -init
+    -vendor_init
+    -dumpstate
+    -tombstoned
+} tombstone_config_prop:file no_rw_file_perms;
diff --git a/prebuilts/api/202504/private/toolbox.te b/prebuilts/api/202504/private/toolbox.te
new file mode 100644
index 0000000..265db0a
--- /dev/null
+++ b/prebuilts/api/202504/private/toolbox.te
@@ -0,0 +1,44 @@
+typeattribute toolbox coredomain;
+
+init_daemon_domain(toolbox)
+
+# rm -rf in /data/misc/virtualizationservice
+allow toolbox virtualizationservice_data_file:dir { rmdir rw_dir_perms };
+allow toolbox virtualizationservice_data_file:file { getattr unlink };
+
+# If we can't remove these directories we try to chmod them. That
+# doesn't work, but it doesn't matter as virtualizationservice itself
+# will delete them when it starts. See b/235338094#comment39
+dontaudit toolbox virtualizationservice_data_file:dir setattr;
+
+# /dev/__null__ created by init prior to policy load,
+# open fd inherited by fsck.
+allow toolbox tmpfs:chr_file { read write ioctl };
+
+# Inherit and use pty created by android_fork_execvp_ext().
+allow toolbox devpts:chr_file { read write getattr ioctl };
+
+# mkswap-specific.
+# Read/write block devices used for swap partitions.
+# Assign swap_block_device type any such partition in your
+# device/<vendor>/<product>/sepolicy/file_contexts file.
+allow toolbox block_device:dir search;
+allow toolbox swap_block_device:blk_file rw_file_perms;
+
+# rm -rf /data/per_boot
+allow toolbox system_data_root_file:dir { remove_name write };
+allow toolbox system_data_file:dir { rmdir rw_dir_perms };
+allow toolbox system_data_file:file { getattr unlink };
+
+# chattr +F /data/media in init
+allow toolbox media_userdir_file:dir { r_dir_perms setattr };
+allowxperm toolbox media_userdir_file:dir ioctl { FS_IOC_SETFLAGS FS_IOC_GETFLAGS };
+
+###
+### Neverallow rules
+###
+
+# Only allow entry from init via the toolbox binary.
+neverallow { domain -init } toolbox:process transition;
+neverallow * toolbox:process dyntransition;
+neverallow toolbox { file_type fs_type -toolbox_exec}:file entrypoint;
diff --git a/prebuilts/api/202504/private/trace_redactor.te b/prebuilts/api/202504/private/trace_redactor.te
new file mode 100644
index 0000000..fbca3fd
--- /dev/null
+++ b/prebuilts/api/202504/private/trace_redactor.te
@@ -0,0 +1,13 @@
+# Trace Redactor command line
+type trace_redactor_exec, system_file_type, exec_type, file_type;
+type trace_redactor, domain, coredomain;
+
+# Use pipes provided by system_server
+allow trace_redactor system_server:fd use;
+allow trace_redactor system_server:fifo_file { read write getattr ioctl };
+
+# Allow trace_redactor to read output trace file and write to new redacted file.
+allow trace_redactor perfetto_traces_profiling_data_file:dir search;
+allow trace_redactor perfetto_traces_data_file:dir search;
+allow trace_redactor perfetto_traces_data_file:file { read getattr ioctl };
+allow trace_redactor perfetto_traces_profiling_data_file:file rw_file_perms;
diff --git a/prebuilts/api/202504/private/traced.te b/prebuilts/api/202504/private/traced.te
new file mode 100644
index 0000000..619a55b
--- /dev/null
+++ b/prebuilts/api/202504/private/traced.te
@@ -0,0 +1,135 @@
+# Perfetto user-space tracing daemon (unprivileged)
+type traced_exec, system_file_type, exec_type, file_type;
+
+# Allow init to exec the daemon.
+init_daemon_domain(traced)
+tmpfs_domain(traced)
+
+# Allow apps in other MLS contexts (for multi-user) to access
+# share memory buffers created by traced.
+typeattribute traced_tmpfs mlstrustedobject;
+
+# Allow traced to start with a lower scheduling class and change
+# class accordingly to what defined in the config provided by
+# the privileged process that controls it.
+allow traced self:global_capability_class_set { sys_nice };
+
+# Allow to pass a file descriptor for the output trace from "perfetto" (the
+# cmdline client) and other shell binaries to traced and let traced write
+# directly into that (rather than returning the trace contents over the socket).
+allow traced perfetto:fd use;
+allow traced shell:fd use;
+allow traced shell:fifo_file { read write };
+
+# Allow the service to create new files within /data/misc/perfetto-traces.
+allow traced perfetto_traces_data_file:file create_file_perms;
+allow traced perfetto_traces_data_file:dir rw_dir_perms;
+
+# Allow traceur to pass open file descriptors to traced, so traced can directly
+# write into the output file without doing roundtrips over IPC.
+allow traced traceur_app:fd use;
+allow traced platform_app:fd use;
+allow traced trace_data_file:file { read write };
+
+# Allow perfetto to access the proxy service for notifying Traceur.
+allow traced tracingproxy_service:service_manager find;
+binder_use(traced);
+binder_call(traced, system_server);
+
+# Allow traced to use shared memory supplied by producers. Typically, traced
+# (i.e. the tracing service) creates the shared memory used for data transfer
+# from the producer. This rule allows an alternative scheme, where the producer
+# creates the shared memory, that is then adopted by traced (after validating
+# that it is appropriately sealed).
+# This list has to replicate the tmpfs domains of all applicable domains that
+# have perfetto_producer() macro applied to them.
+# perfetto_tmpfs excluded as it should never need to use the producer-supplied
+# shared memory scheme.
+allow traced  {
+  appdomain_tmpfs
+  heapprofd_tmpfs
+  surfaceflinger_tmpfs
+  traced_probes_tmpfs
+  userdebug_or_eng(`system_server_tmpfs')
+}:file { getattr map read write };
+
+# Allow traced to detect if a process is frozen (b/381089063).
+allow traced cgroup_v2:file r_file_perms;
+
+# Allow traced/traced_relay to read the traced config properties.
+get_prop(traced, traced_config_prop)
+# Allow traced_relay to read the relay port being used
+get_prop(traced, traced_relay_relay_port_prop)
+
+# Allow setting debug properties which guard initialization of the Perfetto SDK
+# in SurfaceFlinger and HWUI's copy of Skia.
+# Required for the android.sdk_sysprop_guard data source.
+# TODO(b/281329340): remove this when no longer needed.
+set_prop(traced, debug_prop)
+# Allow traced to notify Traceur when a trace ends by setting the
+# sys.trace.trace_end_signal property.
+set_prop(traced, system_trace_prop)
+# Allow to lazily start producers.
+set_prop(traced, traced_lazy_prop)
+# Allow tracking the count of sessions intercepting Java OutOfMemoryError
+# If there are such tracing sessions and an OutOfMemoryError is thrown by ART,
+# the hprof plugin intercepts the error, lazily registers a data source to
+# traced and collects a heap dump.
+set_prop(traced, traced_oome_heap_session_count_prop)
+
+# Allow traced to talk to statsd for logging metrics.
+unix_socket_send(traced, statsdw, statsd)
+
+###
+### Neverallow rules
+###
+### traced should NEVER do any of this
+
+# Disallow mapping executable memory (execstack and exec are already disallowed
+# globally in domain.te).
+neverallow traced self:process execmem;
+
+# Block device access.
+neverallow traced dev_type:blk_file { read write };
+
+# ptrace any other process
+neverallow traced domain:process ptrace;
+
+# Disallows access to /data files, still allowing to write to file descriptors
+# passed through the socket.
+neverallow traced {
+  data_file_type
+  -perfetto_traces_data_file
+  -system_data_file
+  -system_data_root_file
+  -media_userdir_file
+  -system_userdir_file
+  -vendor_userdir_file
+  # TODO(b/72998741) Remove vendor_data_file exemption. Further restricted in a
+  # subsequent neverallow. Currently only getattr and search are allowed.
+  -vendor_data_file
+  with_native_coverage(`-method_trace_data_file')
+}:dir *;
+neverallow traced { system_data_file }:dir ~{ getattr search };
+neverallow traced {
+  data_file_type
+  -perfetto_traces_data_file
+  -trace_data_file
+  with_native_coverage(`-method_trace_data_file')
+}:file ~write;
+
+# Only init is allowed to enter the traced domain via exec()
+neverallow { domain -init } traced:process transition;
+neverallow * traced:process dyntransition;
+
+# Limit the processes that can access tracingproxy_service.
+neverallow {
+  domain
+  -traced
+  -dumpstate
+  -traceur_app
+  -platform_app
+  -shell
+  -system_server
+  -perfetto
+} tracingproxy_service:service_manager find;
diff --git a/prebuilts/api/202504/private/traced_perf.te b/prebuilts/api/202504/private/traced_perf.te
new file mode 100644
index 0000000..8bd7ad3
--- /dev/null
+++ b/prebuilts/api/202504/private/traced_perf.te
@@ -0,0 +1,83 @@
+# Performance profiler, backed by perf_event_open(2).
+# See go/perfetto-perf-android.
+typeattribute traced_perf coredomain;
+typeattribute traced_perf mlstrustedsubject;
+
+type traced_perf_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(traced_perf)
+perfetto_producer(traced_perf)
+
+# Allow traced_perf full use of perf_event_open(2). It will perform cpu-wide
+# profiling, but retain samples only for profileable processes.
+# Thread-specific profiling is still disallowed due to a PTRACE_MODE_ATTACH
+# check (which would require a process:attach SELinux allow-rule).
+allow traced_perf self:perf_event { open cpu kernel read write tracepoint };
+
+# Allow CAP_KILL for delivery of dedicated signal to obtain proc-fds from a
+# process. Allow CAP_DAC_READ_SEARCH for stack unwinding and symbolization of
+# sampled stacks, which requires opening the backing libraries/executables (as
+# symbols are usually not mapped into the process space). Not all such files
+# are world-readable, e.g. odex files that included user profiles during
+# profile-guided optimization.
+allow traced_perf self:capability { kill dac_read_search };
+
+# Allow reading /system/data/packages.list.
+allow traced_perf packages_list_file:file r_file_perms;
+
+# Allow reading files for stack unwinding and symbolization.
+r_dir_file(traced_perf, nativetest_data_file)
+r_dir_file(traced_perf, system_file_type)
+r_dir_file(traced_perf, apk_data_file)
+r_dir_file(traced_perf, dalvikcache_data_file)
+r_dir_file(traced_perf, vendor_file_type)
+# ART apex files and directory access to the containing /data/misc/apexdata.
+r_dir_file(traced_perf, apex_art_data_file)
+allow traced_perf apex_module_data_file:dir { getattr search };
+
+# For kernel address symbolisation. Allow reading from /proc/kallsyms inherited
+# from init, as well as separately opening and locking the file for
+# coordinating the use of that shared fd.
+# On debuggable builds, allow using lower_kptr_restrict_prop to temporarily
+# lift kptr_restrict systemwide.
+userdebug_or_eng(`set_prop(traced_perf, lower_kptr_restrict_prop)')
+allow traced_perf proc_kallsyms:file { open read lock };
+
+# Allow reading tracefs files to get the format and numeric ids of tracepoints.
+allow traced_perf debugfs_tracing:dir r_dir_perms;
+allow traced_perf debugfs_tracing:file r_file_perms;
+userdebug_or_eng(`
+  allow traced_perf debugfs_tracing_debug:dir r_dir_perms;
+  allow traced_perf debugfs_tracing_debug:file r_file_perms;
+')
+
+# Do not audit the cases where traced_perf attempts to access /proc/[pid] for
+# domains that it cannot read.
+dontaudit traced_perf domain:dir { search getattr open };
+
+# Do not audit failures to signal a process, as there are cases when this is
+# expected (native processes on debug builds use the policy for enforcing which
+# processes are profileable).
+dontaudit traced_perf domain:process signal;
+
+# Never allow access to app data files
+neverallow traced_perf app_data_file_type:file *;
+
+# Never allow profiling privileged or otherwise incompatible domains.
+# Corresponding allow-rule is in private/domain.te.
+never_profile_perf(`{
+  apexd
+  app_zygote
+  bpfloader
+  hal_configstore_server
+  init
+  kernel
+  keystore
+  llkd
+  logd
+  ueventd
+  vendor_init
+  vold
+  webview_zygote
+  zygote
+}')
diff --git a/prebuilts/api/202504/private/traced_probes.te b/prebuilts/api/202504/private/traced_probes.te
new file mode 100644
index 0000000..6a42eb2
--- /dev/null
+++ b/prebuilts/api/202504/private/traced_probes.te
@@ -0,0 +1,175 @@
+# Perfetto tracing probes, has tracefs access.
+type traced_probes_exec, system_file_type, exec_type, file_type;
+type traced_probes_tmpfs, file_type;
+
+# Allow init to exec the daemon.
+init_daemon_domain(traced_probes)
+tmpfs_domain(traced_probes)
+
+# Write trace data to the Perfetto traced damon. This requires connecting to its
+# producer socket and obtaining a (per-process) tmpfs fd.
+perfetto_producer(traced_probes)
+
+# Allow traced_probes to access tracefs.
+allow traced_probes debugfs_tracing:dir r_dir_perms;
+allow traced_probes debugfs_tracing:file rw_file_perms;
+allow traced_probes debugfs_trace_marker:file getattr;
+allow traced_probes debugfs_tracing_printk_formats:file r_file_perms;
+
+# Allow traced_probes to access mm_events trace instance
+allow traced_probes debugfs_tracing_instances:dir search;
+allow traced_probes debugfs_mm_events_tracing:dir search;
+allow traced_probes debugfs_mm_events_tracing:file rw_file_perms;
+
+# TODO(primiano): temporarily I/O tracing categories are still
+# userdebug only until we nail down the denylist/allowlist.
+userdebug_or_eng(`
+allow traced_probes debugfs_tracing_debug:dir r_dir_perms;
+allow traced_probes debugfs_tracing_debug:file rw_file_perms;
+')
+
+# Allow traced_probes to start with a higher scheduling class and then downgrade
+# itself.
+allow traced_probes self:global_capability_class_set { sys_nice };
+
+# Allow procfs access
+r_dir_file(traced_probes, domain)
+
+# For kernel address symbolisation. Allow reading from /proc/kallsyms inherited
+# from init, as well as separately opening and locking the file for
+# coordinating the use of that shared fd.
+# On debuggable builds, allow using lower_kptr_restrict_prop to temporarily
+# lift kptr_restrict systemwide.
+userdebug_or_eng(`set_prop(traced_probes, lower_kptr_restrict_prop)')
+allow traced_probes proc_kallsyms:file { open read lock };
+
+# Allow to read packages.list file.
+allow traced_probes packages_list_file:file r_file_perms;
+
+# Allow to read game_mode_intervention.list file.
+allow traced_probes game_mode_intervention_list_file:file r_file_perms;
+
+# Allow to log to kernel dmesg when starting / stopping ftrace.
+allow traced_probes kmsg_device:chr_file write;
+
+# Allow traced_probes to list the system partition.
+allow traced_probes system_file:dir { open read };
+
+# Allow traced_probes to list some of the data partition.
+allow traced_probes self:global_capability_class_set dac_read_search;
+
+allow traced_probes apk_data_file:dir { getattr open read search };
+allow traced_probes { apex_art_data_file apex_module_data_file }:dir { getattr open read search };
+allow traced_probes dalvikcache_data_file:dir { getattr open read search };
+userdebug_or_eng(`
+# search and getattr are granted via domain and coredomain, respectively.
+allow traced_probes system_data_file:dir { open read };
+')
+allow traced_probes system_app_data_file:dir { getattr open read search };
+allow traced_probes backup_data_file:dir { getattr open read search };
+allow traced_probes bootstat_data_file:dir { getattr open read search };
+allow traced_probes update_engine_data_file:dir { getattr open read search };
+allow traced_probes update_engine_log_data_file:dir { getattr open read search };
+allow traced_probes { user_profile_root_file user_profile_data_file}:dir { getattr open read search };
+
+# Allow traced_probes to run atrace. atrace pokes at system services to enable
+# their userspace TRACE macros.
+domain_auto_trans(traced_probes, atrace_exec, atrace);
+
+# Allow traced_probes to kill atrace on timeout.
+allow traced_probes atrace:process sigkill;
+
+# Allow traced_probes to access /proc files for system stats.
+# Note: trace data is NOT exposed to anything other than shell and privileged
+# system apps that have access to the traced consumer socket.
+allow traced_probes {
+  proc_meminfo
+  proc_vmstat
+  proc_stat
+  proc_buddyinfo
+  proc_pressure_cpu
+  proc_pressure_io
+  proc_pressure_mem
+}:file r_file_perms;
+
+# Allow access to read /sys/class/devfreq/ and /$DEVICE/cur_freq files
+allow traced_probes sysfs_devfreq_dir:dir r_dir_perms;
+allow traced_probes sysfs_devfreq_cur:file r_file_perms;
+
+# Allow access to read /proc/diskstats for I/O profiling.
+allow traced_probes proc_diskstats:file r_file_perms;
+
+# Allow access to the IHealth and IPowerStats HAL service for tracing battery counters.
+hal_client_domain(traced_probes, hal_health)
+hal_client_domain(traced_probes, hal_power_stats)
+
+# Allow access to Atrace HAL for enabling vendor/device specific tracing categories.
+hal_client_domain(traced_probes, hal_atrace)
+
+# On debug builds allow to ingest system logs into the trace.
+userdebug_or_eng(`read_logd(traced_probes)')
+
+# Allow traced_probes to talk to statsd for logging metrics and recording atoms.
+unix_socket_send(traced_probes, statsdw, statsd)
+binder_call(traced_probes, statsd)
+allow traced_probes stats_service:service_manager find;
+
+# Allow traced_probes to talk to suspend control service to read details of kernel wakelocks.
+allow traced_probes system_suspend_control_internal_service:service_manager find;
+allow traced_probes system_suspend:binder call;
+
+# Allow reading the system property representing number of desktop windows to
+# set the initial value for the counter in traces.
+get_prop(traced_probes, debug_tracing_desktop_mode_visible_tasks_prop)
+
+###
+### Neverallow rules
+###
+### traced_probes should NEVER do any of this
+
+# Disallow mapping executable memory (execstack and exec are already disallowed
+# globally in domain.te).
+neverallow traced_probes self:process execmem;
+
+# Block device access.
+neverallow traced_probes dev_type:blk_file { read write };
+
+# ptrace any other app
+neverallow traced_probes domain:process ptrace;
+
+# Disallows access to /data files.
+neverallow traced_probes {
+  data_file_type
+  -apex_module_data_file
+  -apex_art_data_file
+  -apk_data_file
+  -dalvikcache_data_file
+  -system_data_file
+  -system_data_root_file
+  -media_userdir_file
+  -system_userdir_file
+  -vendor_userdir_file
+  -system_app_data_file
+  -backup_data_file
+  -bootstat_data_file
+  -update_engine_data_file
+  -update_engine_log_data_file
+  -user_profile_root_file
+  -user_profile_data_file
+  # TODO(b/72998741) Remove vendor_data_file exemption. Further restricted in a
+  # subsequent neverallow. Currently only getattr and search are allowed.
+  -vendor_data_file
+  with_native_coverage(`-method_trace_data_file')
+}:dir *;
+neverallow traced_probes system_data_file:dir ~{ getattr userdebug_or_eng(`open read') search };
+neverallow traced_probes {
+  data_file_type
+  -packages_list_file
+  with_native_coverage(`-method_trace_data_file')
+  -game_mode_intervention_list_file
+}:file *;
+
+# Only init is allowed to enter the traced_probes domain via exec()
+neverallow { domain -init } traced_probes:process transition;
+neverallow * traced_probes:process dyntransition;
+
diff --git a/prebuilts/api/202504/private/traceur_app.te b/prebuilts/api/202504/private/traceur_app.te
new file mode 100644
index 0000000..4e6feff
--- /dev/null
+++ b/prebuilts/api/202504/private/traceur_app.te
@@ -0,0 +1,51 @@
+typeattribute traceur_app coredomain;
+
+app_domain(traceur_app);
+allow traceur_app debugfs_tracing:file rw_file_perms;
+allow traceur_app debugfs_tracing_debug:dir r_dir_perms;
+
+userdebug_or_eng(`
+  allow traceur_app debugfs_tracing_debug:file rw_file_perms;
+')
+
+allow traceur_app trace_data_file:file create_file_perms;
+allow traceur_app trace_data_file:dir rw_dir_perms;
+allow traceur_app wm_trace_data_file:dir rw_dir_perms;
+allow traceur_app wm_trace_data_file:file { getattr r_file_perms unlink };
+allow traceur_app atrace_exec:file rx_file_perms;
+
+# To exec the perfetto cmdline client and pass it the trace config on
+# stdint through a pipe.
+allow traceur_app perfetto_exec:file rx_file_perms;
+
+# Allow to access traced's privileged consumer socket.
+unix_socket_connect(traceur_app, traced_consumer, traced)
+
+dontaudit traceur_app debugfs_tracing_debug:file audit_access;
+
+set_prop(traceur_app, debug_prop)
+
+allow traceur_app servicemanager:service_manager list;
+allow traceur_app hwservicemanager:hwservice_manager list;
+
+allow traceur_app {
+  service_manager_type
+  -apex_service
+  -dnsresolver_service
+  -gatekeeper_service
+  -incident_service
+  -installd_service
+  -lpdump_service
+  -mdns_service
+  -netd_service
+  -virtual_touchpad_service
+  -vold_service
+  -default_android_service
+}:service_manager find;
+
+# Allow traceur_app to use atrace HAL
+hal_client_domain(traceur_app, hal_atrace)
+
+dontaudit traceur_app service_manager_type:service_manager find;
+dontaudit traceur_app hwservice_manager_type:hwservice_manager find;
+dontaudit traceur_app domain:binder call;
diff --git a/prebuilts/api/202504/private/tradeinmode.te b/prebuilts/api/202504/private/tradeinmode.te
new file mode 100644
index 0000000..18cf452
--- /dev/null
+++ b/prebuilts/api/202504/private/tradeinmode.te
@@ -0,0 +1,35 @@
+### trade-in mode
+
+type tradeinmode, domain, coredomain;
+type tradeinmode_exec, exec_type, file_type, system_file_type;
+
+allow tradeinmode adbd_tradeinmode:fd use;
+allow tradeinmode adbd_tradeinmode:unix_stream_socket { read write ioctl };
+
+# Needed to enable trade-in mode for testing.
+set_prop(tradeinmode, adbd_tradeinmode_prop)
+
+# Allow running from normal shell.
+allow tradeinmode { adbd shell }:fd use;
+allow tradeinmode adbd:unix_stream_socket { read write ioctl };
+
+allow tradeinmode devpts:chr_file rw_file_perms;
+
+# Allow executing am/content without a domain transition.
+allow tradeinmode system_file:file rx_file_perms;
+allow tradeinmode zygote_exec:file rx_file_perms;
+allow tradeinmode apex_info_file:file r_file_perms;
+
+allow tradeinmode activity_service:service_manager find;
+
+get_prop(tradeinmode, odsign_prop)
+get_prop(tradeinmode, build_attestation_prop)
+get_prop(tradeinmode, adbd_tradeinmode_prop)
+set_prop(tradeinmode, powerctl_prop)
+
+# Needed to start activities through "am".
+binder_call(tradeinmode, system_server)
+binder_call(tradeinmode, servicemanager)
+
+# Needed to run "content".
+binder_call(tradeinmode, platform_app)
diff --git a/prebuilts/api/202504/private/ueventd.te b/prebuilts/api/202504/private/ueventd.te
new file mode 100644
index 0000000..654f861
--- /dev/null
+++ b/prebuilts/api/202504/private/ueventd.te
@@ -0,0 +1,95 @@
+typeattribute ueventd coredomain;
+
+tmpfs_domain(ueventd)
+
+# ueventd can set properties, particularly it sets ro.cold_boot_done to signal
+# to init that cold boot has completed.
+set_prop(ueventd, cold_boot_done_prop)
+
+# Write to /dev/kmsg.
+allow ueventd kmsg_device:chr_file rw_file_perms;
+
+allow ueventd self:global_capability_class_set { chown mknod net_admin setgid fsetid sys_rawio dac_override dac_read_search fowner setuid };
+allow ueventd device:file create_file_perms;
+
+r_dir_file(ueventd, rootfs)
+
+# ueventd needs write access to files in /sys to regenerate uevents
+allow ueventd sysfs_type:file w_file_perms;
+r_dir_file(ueventd, sysfs_type)
+allow ueventd sysfs_type:{ file lnk_file } { relabelfrom relabelto setattr };
+allow ueventd sysfs_type:dir { relabelfrom relabelto setattr };
+allow ueventd tmpfs:chr_file rw_file_perms;
+allow ueventd dev_type:dir create_dir_perms;
+allow ueventd dev_type:lnk_file { create unlink };
+allow ueventd dev_type:chr_file { getattr create setattr unlink };
+allow ueventd dev_type:blk_file { getattr relabelfrom relabelto create setattr unlink };
+allow ueventd self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+allow ueventd efs_file:dir search;
+allow ueventd efs_file:file r_file_perms;
+
+# Get SELinux enforcing status.
+r_dir_file(ueventd, selinuxfs)
+
+# Access for /vendor/ueventd.rc and /vendor/firmware
+r_dir_file(ueventd, { vendor_file_type -vendor_app_file -vendor_overlay_file })
+
+# Access for /apex/*/firmware
+allow ueventd apex_mnt_dir:dir r_dir_perms;
+
+# Get file contexts for new device nodes
+allow ueventd file_contexts_file:file r_file_perms;
+
+# Use setfscreatecon() to label /dev directories and files.
+allow ueventd self:process setfscreate;
+
+# Allow ueventd to read androidboot.android_dt_dir from kernel cmdline or bootconfig.
+allow ueventd proc_cmdline:file r_file_perms;
+allow ueventd proc_bootconfig:file r_file_perms;
+
+# Everything is labeled as rootfs in recovery mode. ueventd has to execute
+# the dynamic linker and shared libraries.
+recovery_only(`
+  allow ueventd rootfs:file { r_file_perms execute };
+')
+
+# Suppress denials for ueventd to getattr /postinstall. This occurs when the
+# linker tries to resolve paths in ld.config.txt.
+dontaudit ueventd postinstall_mnt_dir:dir getattr;
+
+# ueventd loads modules in response to modalias events.
+allow ueventd self:global_capability_class_set sys_module;
+allow ueventd vendor_file:system module_load;
+allow ueventd kernel:key search;
+
+# ueventd is using bootstrap bionic
+use_bootstrap_libs(ueventd)
+
+# Allow ueventd to run shell scripts from vendor
+allow ueventd vendor_shell_exec:file execute;
+
+# Query device-mapper to extract name/uuid in response to uevents.
+allow ueventd dm_device:chr_file rw_file_perms;
+allow ueventd self:capability sys_admin;
+
+# Allow ueventd to read apexd property
+get_prop(ueventd, apexd_prop)
+
+# Allow ueventd to correctly label the symlinks it creates
+allow ueventd block_device:lnk_file relabelfrom;
+
+#####
+##### neverallow rules
+#####
+
+# Restrict ueventd access on block devices to maintenence operations.
+neverallow ueventd dev_type:blk_file ~{ getattr relabelfrom relabelto create setattr unlink };
+
+# Only relabelto as we would never want to relabelfrom port_device
+neverallow ueventd port_device:chr_file ~{ getattr create setattr unlink relabelto };
+
+# Nobody should be able to ptrace ueventd
+neverallow * ueventd:process ptrace;
+
+# ueventd should never execute a program without changing to another domain.
+neverallow ueventd { file_type fs_type }:file execute_no_trans;
diff --git a/prebuilts/api/202504/private/uncrypt.te b/prebuilts/api/202504/private/uncrypt.te
new file mode 100644
index 0000000..156f684
--- /dev/null
+++ b/prebuilts/api/202504/private/uncrypt.te
@@ -0,0 +1,49 @@
+typeattribute uncrypt coredomain;
+
+init_daemon_domain(uncrypt)
+
+# Set a property to reboot the device.
+set_prop(uncrypt, powerctl_prop)
+
+allow uncrypt self:global_capability_class_set { dac_override dac_read_search };
+
+userdebug_or_eng(`
+  # For debugging, allow /data/local/tmp access
+  r_dir_file(uncrypt, shell_data_file)
+')
+
+# Read /cache/recovery/command
+# Read /cache/recovery/uncrypt_file
+allow uncrypt cache_file:dir search;
+allow uncrypt cache_recovery_file:dir rw_dir_perms;
+allow uncrypt cache_recovery_file:file create_file_perms;
+
+# Read and write(for f2fs_pin_file) on OTA zip file at /data/ota_package/.
+allow uncrypt ota_package_file:dir r_dir_perms;
+allow uncrypt ota_package_file:file rw_file_perms;
+
+# Write to /dev/socket/uncrypt
+unix_socket_connect(uncrypt, uncrypt, uncrypt)
+
+# Raw writes to block device
+allow uncrypt self:global_capability_class_set sys_rawio;
+allow uncrypt misc_block_device:blk_file w_file_perms;
+allow uncrypt block_device:dir r_dir_perms;
+
+# Access userdata block device.
+allow uncrypt userdata_block_device:blk_file w_file_perms;
+
+r_dir_file(uncrypt, rootfs)
+
+# Access to bootconfig is needed when calling ReadDefaultFstab.
+allow uncrypt {
+  proc_bootconfig
+  proc_cmdline
+
+}:file r_file_perms;
+
+# Read files in /sys
+r_dir_file(uncrypt, sysfs_dt_firmware_android)
+
+# Allow ReadDefaultFstab().
+read_fstab(uncrypt)
diff --git a/prebuilts/api/202504/private/untrusted_app.te b/prebuilts/api/202504/private/untrusted_app.te
new file mode 100644
index 0000000..d0f9b24
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app.te
@@ -0,0 +1,23 @@
+###
+### Untrusted apps.
+###
+### This file defines the rules for untrusted apps running with
+### targetSdkVersion >= 34.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app coredomain;
+
+app_domain(untrusted_app)
+untrusted_app_domain(untrusted_app)
+net_domain(untrusted_app)
+bluetooth_domain(untrusted_app)
+
+# Allow webview to access fd shared by sdksandbox for experiments data
+# TODO(b/229249719): Will not be supported in Android U
+allow untrusted_app sdk_sandbox_data_file:fd use;
+allow untrusted_app sdk_sandbox_data_file:file write;
+
+neverallow untrusted_app sdk_sandbox_data_file:file { open create };
diff --git a/prebuilts/api/202504/private/untrusted_app_25.te b/prebuilts/api/202504/private/untrusted_app_25.te
new file mode 100644
index 0000000..d59245c
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app_25.te
@@ -0,0 +1,70 @@
+###
+### Untrusted_app_25
+###
+### This file defines the rules for untrusted apps running with
+### targetSdkVersion <= 25.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_25 coredomain;
+
+app_domain(untrusted_app_25)
+untrusted_app_domain(untrusted_app_25)
+net_domain(untrusted_app_25)
+bluetooth_domain(untrusted_app_25)
+
+# b/35917228 - /proc/misc access
+# This will go away in a future Android release
+allow untrusted_app_25 proc_misc:file r_file_perms;
+
+# Access to /proc/tty/drivers, to allow apps to determine if they
+# are running in an emulated environment.
+# b/33214085 b/33814662 b/33791054 b/33211769
+# https://github.com/strazzere/anti-emulator/blob/master/AntiEmulator/src/diff/strazzere/anti/emulator/FindEmulator.java
+# This will go away in a future Android release
+allow untrusted_app_25 proc_tty_drivers:file r_file_perms;
+
+# Text relocation support for API < 23. This is now disallowed for targetSdkVersion>=Q.
+# https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#text-relocations-enforced-for-api-level-23
+allow untrusted_app_25 { apk_data_file app_data_file asec_public_file }:file execmod;
+
+# The ability to call exec() on files in the apps home directories
+# for targetApi<=25. This is also allowed for targetAPIs 26, 27,
+# and 28 in untrusted_app_27.te.
+allow untrusted_app_25 app_data_file:file execute_no_trans;
+auditallow untrusted_app_25 app_data_file:file { execute execute_no_trans };
+
+# The ability to invoke dex2oat. Historically required by ART, now only
+# allowed for targetApi<=28 for compat reasons.
+allow untrusted_app_25 dex2oat_exec:file rx_file_perms;
+userdebug_or_eng(`auditallow untrusted_app_25 dex2oat_exec:file rx_file_perms;')
+
+# The ability to talk to /dev/ashmem directly. targetApi>=29 must use
+# ASharedMemory instead.
+allow untrusted_app_25 ashmem_device:chr_file rw_file_perms;
+auditallow untrusted_app_25 ashmem_device:chr_file open;
+
+# Read /mnt/sdcard symlink.
+allow untrusted_app_25 mnt_sdcard_file:lnk_file r_file_perms;
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_25 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_25 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(untrusted_app_25, mdnsd, mdnsd)
+userdebug_or_eng(`
+  auditallow untrusted_app_25 mdnsd_socket:sock_file write;
+  auditallow untrusted_app_25 mdnsd:unix_stream_socket connectto;
+')
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_25 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_25 apk_data_file:file { watch watch_reads };
+userdebug_or_eng(`
+  auditallow untrusted_app_25 apk_data_file:dir { watch watch_reads };
+  auditallow untrusted_app_25 apk_data_file:file { watch watch_reads };
+')
diff --git a/prebuilts/api/202504/private/untrusted_app_27.te b/prebuilts/api/202504/private/untrusted_app_27.te
new file mode 100644
index 0000000..8c970d8
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app_27.te
@@ -0,0 +1,58 @@
+###
+### Untrusted_27.
+###
+### This file defines the rules for untrusted apps running with
+### 25 < targetSdkVersion <= 28.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_27 coredomain;
+
+app_domain(untrusted_app_27)
+untrusted_app_domain(untrusted_app_27)
+net_domain(untrusted_app_27)
+bluetooth_domain(untrusted_app_27)
+
+# Text relocation support for API < 23. This is now disallowed for targetSdkVersion>=Q.
+# https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#text-relocations-enforced-for-api-level-23
+allow untrusted_app_27 { apk_data_file app_data_file asec_public_file }:file execmod;
+
+# The ability to call exec() on files in the apps home directories
+# for targetApi 26, 27, and 28.
+allow untrusted_app_27 app_data_file:file execute_no_trans;
+auditallow untrusted_app_27 app_data_file:file { execute execute_no_trans };
+
+# The ability to invoke dex2oat. Historically required by ART, now only
+# allowed for targetApi<=28 for compat reasons.
+allow untrusted_app_27 dex2oat_exec:file rx_file_perms;
+userdebug_or_eng(`auditallow untrusted_app_27 dex2oat_exec:file rx_file_perms;')
+
+# The ability to talk to /dev/ashmem directly. targetApi>=29 must use
+# ASharedMemory instead.
+allow untrusted_app_27 ashmem_device:chr_file rw_file_perms;
+auditallow untrusted_app_27 ashmem_device:chr_file open;
+
+# Read /mnt/sdcard symlink.
+allow untrusted_app_27 mnt_sdcard_file:lnk_file r_file_perms;
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_27 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_27 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(untrusted_app_27, mdnsd, mdnsd)
+userdebug_or_eng(`
+  auditallow untrusted_app_27 mdnsd_socket:sock_file write;
+  auditallow untrusted_app_27 mdnsd:unix_stream_socket connectto;
+')
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_27 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_27 apk_data_file:file { watch watch_reads };
+userdebug_or_eng(`
+  auditallow untrusted_app_27 apk_data_file:dir { watch watch_reads };
+  auditallow untrusted_app_27 apk_data_file:file { watch watch_reads };
+')
diff --git a/prebuilts/api/202504/private/untrusted_app_29.te b/prebuilts/api/202504/private/untrusted_app_29.te
new file mode 100644
index 0000000..ed0bbfc
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app_29.te
@@ -0,0 +1,36 @@
+###
+### Untrusted_29.
+###
+### This file defines the rules for untrusted apps running with
+### targetSdkVersion = 29.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_29 coredomain;
+
+app_domain(untrusted_app_29)
+untrusted_app_domain(untrusted_app_29)
+net_domain(untrusted_app_29)
+bluetooth_domain(untrusted_app_29)
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_29 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_29 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(untrusted_app_29, mdnsd, mdnsd)
+userdebug_or_eng(`
+  auditallow untrusted_app_29 mdnsd_socket:sock_file write;
+  auditallow untrusted_app_29 mdnsd:unix_stream_socket connectto;
+')
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_29 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_29 apk_data_file:file { watch watch_reads };
+userdebug_or_eng(`
+  auditallow untrusted_app_29 apk_data_file:dir { watch watch_reads };
+  auditallow untrusted_app_29 apk_data_file:file { watch watch_reads };
+')
diff --git a/prebuilts/api/202504/private/untrusted_app_30.te b/prebuilts/api/202504/private/untrusted_app_30.te
new file mode 100644
index 0000000..c87548e
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app_30.te
@@ -0,0 +1,38 @@
+###
+### Untrusted apps.
+###
+### This file defines the rules for untrusted apps running with
+### 29 < targetSdkVersion <= 31.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+### TODO(b/192334803): Merge this policy into untrusted_app_29 when possible
+###
+
+typeattribute untrusted_app_30 coredomain;
+
+app_domain(untrusted_app_30)
+untrusted_app_domain(untrusted_app_30)
+net_domain(untrusted_app_30)
+bluetooth_domain(untrusted_app_30)
+
+# allow sending RTM_GETNEIGH{TBL} messages.
+allow untrusted_app_30 self:netlink_route_socket nlmsg_getneigh;
+auditallow untrusted_app_30 self:netlink_route_socket nlmsg_getneigh;
+
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(untrusted_app_30, mdnsd, mdnsd)
+userdebug_or_eng(`
+  auditallow untrusted_app_30 mdnsd_socket:sock_file write;
+  auditallow untrusted_app_30 mdnsd:unix_stream_socket connectto;
+')
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_30 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_30 apk_data_file:file { watch watch_reads };
+userdebug_or_eng(`
+  auditallow untrusted_app_30 apk_data_file:dir { watch watch_reads };
+  auditallow untrusted_app_30 apk_data_file:file { watch watch_reads };
+')
diff --git a/prebuilts/api/202504/private/untrusted_app_32.te b/prebuilts/api/202504/private/untrusted_app_32.te
new file mode 100644
index 0000000..6e95fd1
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app_32.te
@@ -0,0 +1,39 @@
+###
+### Untrusted apps.
+###
+### This file defines the rules for untrusted apps running with
+### 31 < targetSdkVersion <= 33.
+###
+### See public/untrusted_app.te for more information about which apps are
+### placed in this selinux domain.
+###
+
+typeattribute untrusted_app_32 coredomain;
+
+app_domain(untrusted_app_32)
+untrusted_app_domain(untrusted_app_32)
+net_domain(untrusted_app_32)
+bluetooth_domain(untrusted_app_32)
+
+# Allow webview to access fd shared by sdksandbox for experiments data
+# TODO(b/229249719): Will not be supported in Android U
+allow untrusted_app_32 sdk_sandbox_data_file:fd use;
+allow untrusted_app_32 sdk_sandbox_data_file:file write;
+
+neverallow untrusted_app_32 sdk_sandbox_data_file:file { open create };
+
+# Connect to mdnsd via mdnsd socket.
+unix_socket_connect(untrusted_app_32, mdnsd, mdnsd)
+userdebug_or_eng(`
+  auditallow untrusted_app_32 mdnsd_socket:sock_file write;
+  auditallow untrusted_app_32 mdnsd:unix_stream_socket connectto;
+')
+
+# Allow calling inotify on APKs for backwards compatibility. This is disallowed
+# for targetSdkVersion>=34 to remove a sidechannel.
+allow untrusted_app_32 apk_data_file:dir { watch watch_reads };
+allow untrusted_app_32 apk_data_file:file { watch watch_reads };
+userdebug_or_eng(`
+  auditallow untrusted_app_32 apk_data_file:dir { watch watch_reads };
+  auditallow untrusted_app_32 apk_data_file:file { watch watch_reads };
+')
diff --git a/prebuilts/api/202504/private/untrusted_app_all.te b/prebuilts/api/202504/private/untrusted_app_all.te
new file mode 100644
index 0000000..c646137
--- /dev/null
+++ b/prebuilts/api/202504/private/untrusted_app_all.te
@@ -0,0 +1,179 @@
+###
+### Untrusted_app_all.
+###
+### This file defines the rules shared by all untrusted app domains except
+### ephemeral_app for instant apps and isolated_app (which has a reduced
+### permission set).
+### Apps are labeled based on mac_permissions.xml (maps signer and
+### optionally package name to seinfo value) and seapp_contexts (maps UID
+### and optionally seinfo value to domain for process and type for data
+### directory).  The untrusted_app_all attribute is assigned to all default
+### seapp_contexts for any app with UID between APP_AID (10000)
+### and AID_ISOLATED_START (99000) if the app has no specific seinfo
+### value as determined from mac_permissions.xml.  In current AOSP, this
+### attribute is assigned to all non-system apps as well as to any system apps
+### that are not signed by the platform key.  To move
+### a system app into a specific domain, add a signer entry for it to
+### mac_permissions.xml and assign it one of the pre-existing seinfo values
+### or define and use a new seinfo value in both mac_permissions.xml and
+### seapp_contexts.
+###
+### Note that rules that should apply to all untrusted apps must be in app.te or also
+### added to ephemeral_app.te.
+
+# Some apps ship with shared libraries and binaries that they write out
+# to their sandbox directory and then execute.
+allow untrusted_app_all privapp_data_file:file { r_file_perms execute };
+allow untrusted_app_all app_data_file:file     { r_file_perms execute };
+auditallow untrusted_app_all app_data_file:file execute;
+
+# Chrome Crashpad uses the the dynamic linker to load native executables
+# from an APK (b/112050209, crbug.com/928422)
+allow untrusted_app_all system_linker_exec:file execute_no_trans;
+
+# Follow priv-app symlinks. This is used for dynamite functionality.
+allow untrusted_app_all privapp_data_file:lnk_file r_file_perms;
+
+# Allow handling of less common filesystem objects
+allow untrusted_app_all app_data_file:{ lnk_file sock_file fifo_file } create_file_perms;
+
+# Allow loading and deleting executable shared libraries
+# within an application home directory. Such shared libraries would be
+# created by things like renderscript or via other mechanisms.
+allow untrusted_app_all app_exec_data_file:file { r_file_perms execute unlink };
+
+# ASEC
+allow untrusted_app_all asec_apk_file:file r_file_perms;
+allow untrusted_app_all asec_apk_file:dir r_dir_perms;
+# Execute libs in asec containers.
+allow untrusted_app_all asec_public_file:file { execute };
+
+# Used by Finsky / Android "Verify Apps" functionality when
+# running "adb install foo.apk".
+# TODO: Long term, we don't want apps probing into shell data files.
+# Figure out a way to remove these rules.
+allow untrusted_app_all shell_data_file:file r_file_perms;
+allow untrusted_app_all shell_data_file:dir r_dir_perms;
+
+# Allow traceur to pass file descriptors through a content provider to untrusted apps
+# for the purpose of sharing files through e.g. gmail
+allow untrusted_app_all trace_data_file:file { getattr read };
+
+# untrusted apps should not be able to open trace data files, they should depend
+# upon traceur to pass a file descriptor
+neverallow untrusted_app_all trace_data_file:dir *;
+neverallow untrusted_app_all trace_data_file:file { no_w_file_perms open };
+
+# neverallow untrusted apps accessing debugfs_tracing
+neverallow untrusted_app_all debugfs_tracing:file no_rw_file_perms;
+
+# Allow to read staged apks.
+allow untrusted_app_all { apk_tmp_file apk_private_tmp_file }:file {read getattr};
+
+# Read and write system app data files passed over Binder.
+# Motivating case was /data/data/com.android.settings/cache/*.jpg for
+# cropping or taking user photos.
+allow untrusted_app_all system_app_data_file:file { read write getattr };
+
+#
+# Rules migrated from old app domains coalesced into untrusted_app.
+# This includes what used to be media_app, shared_app, and release_app.
+#
+
+# Access to /data/media.
+allow untrusted_app_all media_rw_data_file:dir create_dir_perms;
+allow untrusted_app_all media_rw_data_file:file create_file_perms;
+
+# allow cts to query all services
+allow untrusted_app_all servicemanager:service_manager list;
+
+allow untrusted_app_all audioserver_service:service_manager find;
+allow untrusted_app_all cameraserver_service:service_manager find;
+allow untrusted_app_all drmserver_service:service_manager find;
+allow untrusted_app_all mediaserver_service:service_manager find;
+allow untrusted_app_all mediaextractor_service:service_manager find;
+allow untrusted_app_all mediametrics_service:service_manager find;
+allow untrusted_app_all mediadrmserver_service:service_manager find;
+allow untrusted_app_all nfc_service:service_manager find;
+allow untrusted_app_all radio_service:service_manager find;
+allow untrusted_app_all app_api_service:service_manager find;
+allow untrusted_app_all vr_manager_service:service_manager find;
+
+# gdbserver for ndk-gdb ptrace attaches to app process.
+allow untrusted_app_all self:process ptrace;
+
+# Android Studio Instant Run has the application connect to a
+# runas_app socket listening in the abstract namespace.
+# https://developer.android.com/studio/run/
+# b/123297648
+allow untrusted_app_all runas_app:unix_stream_socket connectto;
+
+# Untrusted apps need to be able to send a SIGCHLD to runas_app
+# when running under a debugger (b/123612207)
+allow untrusted_app_all runas_app:process sigchld;
+
+# Cts: HwRngTest
+allow untrusted_app_all sysfs_hwrandom:dir search;
+allow untrusted_app_all sysfs_hwrandom:file r_file_perms;
+
+# Allow apps to view preloaded media content
+allow untrusted_app_all preloads_media_file:dir r_dir_perms;
+allow untrusted_app_all preloads_media_file:file r_file_perms;
+allow untrusted_app_all preloads_data_file:dir search;
+
+# Allow untrusted apps read / execute access to /vendor/app for there can
+# be pre-installed vendor apps that package a library within themselves.
+# TODO (b/37784178) Consider creating  a special type for /vendor/app installed
+# apps.
+allow untrusted_app_all vendor_app_file:dir { open getattr read search };
+allow untrusted_app_all vendor_app_file:file { r_file_perms execute };
+allow untrusted_app_all vendor_app_file:lnk_file { open getattr read };
+
+# allow untrusted apps to use UDP sockets provided by the system server but not
+# modify them other than to connect
+allow untrusted_app_all system_server:udp_socket {
+        connect getattr read recvfrom sendto write getopt setopt };
+
+# Allow the renderscript compiler to be run.
+domain_auto_trans(untrusted_app_all, rs_exec, rs)
+
+# suppress denials caused by debugfs_tracing
+dontaudit untrusted_app_all debugfs_tracing:file rw_file_perms;
+
+# This is allowed for targetSdkVersion <= 25 but disallowed on newer versions.
+dontaudit untrusted_app_all net_dns_prop:file read;
+
+# These have been disallowed since Android O.
+# For P, we assume that apps are safely handling the denial.
+dontaudit untrusted_app_all {
+  proc_stat
+  proc_uptime
+  proc_vmstat
+  proc_zoneinfo
+}:file read;
+
+# Allow the allocation and use of ptys
+# Used by: https://play.google.com/store/apps/details?id=jackpal.androidterm
+create_pty(untrusted_app_all)
+
+# Allow access to kcov via its ioctl interface for coverage
+# guided kernel fuzzing.
+userdebug_or_eng(`
+  allow untrusted_app_all debugfs_kcov:file rw_file_perms;
+  allowxperm untrusted_app_all debugfs_kcov:file ioctl { KCOV_INIT_TRACE KCOV_ENABLE KCOV_DISABLE };
+')
+
+# Allow running a VM for test/demo purposes. Note that access to the
+# service is still guarded with the
+# `android.permission.MANAGE_VIRTUAL_MACHINE` permission. The
+# protection level of the permission is
+# `signature|privileged|development` so that it can only be granted to
+# either platform-key signed apps, privileged apps, or test-only apps
+# having `android:testOnly="true"` in their manifest.
+virtualizationservice_use(untrusted_app_all)
+
+with_native_coverage(`
+  # Allow writing coverage information to /data/misc/trace
+  allow domain method_trace_data_file:dir create_dir_perms;
+  allow domain method_trace_data_file:file create_file_perms;
+')
diff --git a/prebuilts/api/202504/private/update_engine.te b/prebuilts/api/202504/private/update_engine.te
new file mode 100644
index 0000000..1a6d9c7
--- /dev/null
+++ b/prebuilts/api/202504/private/update_engine.te
@@ -0,0 +1,120 @@
+typeattribute update_engine coredomain;
+
+init_daemon_domain(update_engine);
+
+# Allow to talk to gsid.
+allow update_engine gsi_service:service_manager find;
+binder_call(update_engine, gsid)
+
+# Allow to start gsid service.
+set_prop(update_engine, ctl_gsid_prop)
+
+# Allow to start snapuserd for dm-user communication.
+set_prop(update_engine, ctl_snapuserd_prop)
+
+# Allow to set the OTA related properties, e.g. ota.warm_reset.
+set_prop(update_engine, ota_prop)
+get_prop(update_engine, ota_build_prop)
+
+# Allow to get the DSU status
+get_prop(update_engine, gsid_prop)
+
+# Allow update_engine to call the callback function provided by GKI update hook.
+binder_call(update_engine, gki_apex_prepostinstall)
+
+# Allow update_engine to call the callback function by settings app
+# for the kernel update triggered using 16k developer option
+binder_call(update_engine, system_app)
+
+# Allow to communicate with the snapuserd service, for dm-user snapshots.
+allow update_engine snapuserd:unix_stream_socket connectto;
+allow update_engine snapuserd_socket:sock_file write;
+get_prop(update_engine, snapuserd_prop)
+
+# Allow to communicate with apexd for calculating and reserving space for
+# capex decompression
+allow update_engine apex_service:service_manager find;
+binder_call(update_engine, apexd)
+
+# let this domain use the hal service
+binder_use(update_engine)
+hal_client_domain(update_engine, hal_bootctl)
+
+net_domain(update_engine);
+
+# Following permissions are needed for update_engine.
+allow update_engine self:process { setsched };
+allow update_engine self:global_capability_class_set { fowner sys_admin };
+# Note: fsetid checks are triggered when creating a file in a directory with
+# the setgid bit set to determine if the file should inherit setgid. In this
+# case, setgid on the file is undesirable so we should just suppress the
+# denial.
+dontaudit update_engine self:global_capability_class_set fsetid;
+
+allow update_engine kmsg_device:chr_file { getattr w_file_perms };
+allow update_engine update_engine_exec:file rx_file_perms;
+wakelock_use(update_engine);
+
+# Ignore these denials.
+dontaudit update_engine kernel:process setsched;
+dontaudit update_engine self:global_capability_class_set sys_rawio;
+
+# Allow using persistent storage in /data/misc/update_engine.
+allow update_engine update_engine_data_file:dir create_dir_perms;
+allow update_engine update_engine_data_file:file create_file_perms;
+
+# Allow using persistent storage in /data/misc/update_engine_log.
+allow update_engine update_engine_log_data_file:dir create_dir_perms;
+allow update_engine update_engine_log_data_file:file create_file_perms;
+
+# Register the service to perform Binder IPC.
+binder_use(update_engine)
+add_service(update_engine, update_engine_service)
+add_service(update_engine, update_engine_stable_service)
+
+# Allow update_engine to call the callback function provided by priv_app/GMS core.
+binder_call(update_engine, priv_app)
+# b/142672293: No other priv-app should need this rule now that GMS core runs in its own domain.
+userdebug_or_eng(`
+  auditallow update_engine priv_app:binder { call transfer };
+  auditallow priv_app update_engine:binder transfer;
+  auditallow update_engine priv_app:fd use;
+')
+
+binder_call(update_engine, gmscore_app)
+
+# Allow update_engine to call the callback function provided by system_server.
+binder_call(update_engine, system_server)
+
+# Read OTA zip file at /data/ota_package/.
+allow update_engine ota_package_file:file r_file_perms;
+allow update_engine ota_package_file:dir r_dir_perms;
+
+# Use Boot Control HAL
+hal_client_domain(update_engine, hal_bootctl)
+
+# access /proc/misc
+allow update_engine proc_misc:file r_file_perms;
+
+# read directories on /system and /vendor
+allow update_engine system_file:dir r_dir_perms;
+
+# Allow ReadDefaultFstab().
+# update_engine tries to determine the parent path for all devices (e.g.
+# /dev/block/by-name) by reading the default fstab and looking for the misc
+# device.
+read_fstab(update_engine)
+
+# Allow to write to snapshotctl_log logs.
+# TODO(b/148818798) revert when parent bug is fixed.
+userdebug_or_eng(`
+allow update_engine snapshotctl_log_data_file:dir rw_dir_perms;
+allow update_engine snapshotctl_log_data_file:file create_file_perms;
+')
+
+# Allow determining filesystems available on system.
+# Needed for checking if overlayfs is enabled
+allow update_engine proc_filesystems:file r_file_perms;
+
+allow update_engine vendor_boot_ota_file:dir { r_dir_perms };
+allow update_engine vendor_boot_ota_file:file { r_file_perms };
diff --git a/prebuilts/api/202504/private/update_engine_common.te b/prebuilts/api/202504/private/update_engine_common.te
new file mode 100644
index 0000000..6de0292
--- /dev/null
+++ b/prebuilts/api/202504/private/update_engine_common.te
@@ -0,0 +1,111 @@
+# update_engine payload application permissions. These are shared between the
+# background daemon and the recovery tool to sideload an update.
+
+# type_transition must be private policy the domain_trans rules could stay
+# public, but conceptually should go with this
+# The postinstall program is run by update_engine_common and must be tagged
+# with postinstall_exec in the new filesystem.
+# TODO Have build system attempt to verify this
+domain_auto_trans(update_engine_common, postinstall_exec, postinstall)
+
+# Vendor directories can have the transition as well during OTA. This is caused
+# by update_engine execing scripts in vendor to perform any update tasks needed
+# there.
+domain_auto_trans(update_engine_common, postinstall_file, postinstall)
+
+# Allow update_engine to reach block devices in /dev/block.
+allow update_engine_common block_device:dir search;
+
+# Allow read/write on system and boot partitions.
+allow update_engine_common boot_block_device:blk_file rw_file_perms;
+allow update_engine_common system_block_device:blk_file rw_file_perms;
+
+# Where ioctls are granted via standard allow rules to block devices,
+# automatically allow common ioctls that are generally needed by
+# update_engine.
+allowxperm update_engine_common dev_type:blk_file ioctl {
+  BLKDISCARD
+  BLKDISCARDZEROES
+  BLKROGET
+  BLKROSET
+  BLKSECDISCARD
+  BLKZEROOUT
+};
+
+# Allow to set recovery options in the BCB. Used to trigger factory reset when
+# the update to an older version (channel change) or incompatible version
+# requires it.
+allow update_engine_common misc_block_device:blk_file rw_file_perms;
+
+# read fstab
+allow update_engine_common rootfs:dir getattr;
+allow update_engine_common rootfs:file r_file_perms;
+
+# Allow update_engine_common to mount on the /postinstall directory and reset the
+# labels on the mounted filesystem to postinstall_file.
+allow update_engine_common postinstall_mnt_dir:dir { mounton getattr search };
+allow update_engine_common postinstall_file:filesystem { mount unmount relabelfrom relabelto };
+allow update_engine_common labeledfs:filesystem { mount unmount relabelfrom };
+
+# Allow update_engine_common to read and execute postinstall_file.
+allow update_engine_common postinstall_file:file rx_file_perms;
+allow update_engine_common postinstall_file:lnk_file r_file_perms;
+allow update_engine_common postinstall_file:dir r_dir_perms;
+
+# install update.zip from cache
+r_dir_file(update_engine_common, cache_file)
+
+# A postinstall program is typically a shell script (with a #!), so we allow
+# to execute those.
+allow update_engine_common shell_exec:file rx_file_perms;
+
+# Allow update_engine_common to suspend, resume and kill the postinstall program.
+allow update_engine_common postinstall:process { signal sigstop sigkill };
+
+# access /proc/cmdline
+allow update_engine_common proc_cmdline:file r_file_perms;
+
+# Read files in /sys/firmware/devicetree/base/firmware/android/
+r_dir_file(update_engine_common, sysfs_dt_firmware_android)
+
+# Needed because libdm reads sysfs to validate when a dm path is ready.
+r_dir_file(update_engine_common, sysfs_dm)
+
+# Scan files in /sys/fs/ext4 and /sys/fs/f2fs for device-mapper diagnostics.
+allow update_engine_common sysfs:dir r_dir_perms;
+allow update_engine_common sysfs_fs_f2fs:dir r_dir_perms;
+
+# read / write on /dev/device-mapper to map / unmap devices
+allow update_engine_common dm_device:chr_file rw_file_perms;
+
+# apply / verify updates on devices mapped via device mapper
+allow update_engine_common dm_device:blk_file rw_file_perms;
+
+# read /dev/dm-user, so that we can inotify wait for control devices to be
+# asynchronously created by ueventd.
+allow update_engine dm_user_device:dir r_dir_perms;
+allow update_engine dm_user_device:chr_file r_file_perms;
+
+# read / write metadata on super device to resize partitions
+allow update_engine_common super_block_device_type:blk_file rw_file_perms;
+
+# ioctl on super device to get block device alignment and alignment offset
+allowxperm update_engine_common super_block_device_type:blk_file ioctl { BLKIOMIN BLKALIGNOFF };
+
+# get physical block device to map logical partitions on device mapper
+allow update_engine_common block_device:dir r_dir_perms;
+
+# Allow update_engine_common to write to statsd socket.
+unix_socket_send(update_engine_common, statsdw, statsd)
+
+# Allow to read Virtual A/B feature flags.
+get_prop(update_engine_common, virtual_ab_prop)
+
+# Allow to read GKI related flags.
+get_prop(update_engine_common, ab_update_gki_prop)
+get_prop(update_engine_common, build_bootimage_prop)
+
+# Allow to read/write/create OTA metadata files for snapshot status and COW file status.
+allow update_engine_common metadata_file:dir search;
+allow update_engine_common ota_metadata_file:dir { rw_dir_perms rmdir };
+allow update_engine_common ota_metadata_file:file create_file_perms;
diff --git a/prebuilts/api/202504/private/update_verifier.te b/prebuilts/api/202504/private/update_verifier.te
new file mode 100644
index 0000000..2c68f4c
--- /dev/null
+++ b/prebuilts/api/202504/private/update_verifier.te
@@ -0,0 +1,46 @@
+typeattribute update_verifier coredomain;
+
+init_daemon_domain(update_verifier)
+
+# Allow update_verifier to reboot the device.
+set_prop(update_verifier, powerctl_prop)
+
+# Allow to set the OTA related properties e.g. ota.warm_reset.
+set_prop(update_verifier, ota_prop)
+
+# allow update_verifier to connect to snapuserd daemon
+allow update_verifier snapuserd_socket:sock_file write;
+allow update_verifier snapuserd:unix_stream_socket connectto;
+
+# virtual a/b properties
+get_prop(update_verifier, virtual_ab_prop)
+
+# Allow update_verifier to reach block devices in /dev/block.
+allow update_verifier block_device:dir search;
+
+# Read care map in /data/ota_package/.
+allow update_verifier ota_package_file:dir r_dir_perms;
+allow update_verifier ota_package_file:file r_file_perms;
+
+# Read /sys/block to find all the DM directories like (/sys/block/dm-X).
+allow update_verifier sysfs:dir r_dir_perms;
+
+# Read /sys/block/dm-X/dm/name (which is a symlink to
+# /sys/devices/virtual/block/dm-X/dm/name) to identify the mapping between
+# dm-X and system/vendor partitions.
+allow update_verifier sysfs_dm:dir r_dir_perms;
+allow update_verifier sysfs_dm:file r_file_perms;
+
+# Read all blocks in DM wrapped system partition.
+allow update_verifier dm_device:blk_file r_file_perms;
+
+# Write to kernel message.
+allow update_verifier kmsg_device:chr_file { getattr w_file_perms };
+
+# Use Boot Control HAL
+hal_client_domain(update_verifier, hal_bootctl)
+
+# Access Checkpoint commands over binder
+allow update_verifier vold_service:service_manager find;
+binder_call(update_verifier, servicemanager)
+binder_call(update_verifier, vold)
diff --git a/prebuilts/api/202504/private/uprobestats.te b/prebuilts/api/202504/private/uprobestats.te
new file mode 100644
index 0000000..d778126
--- /dev/null
+++ b/prebuilts/api/202504/private/uprobestats.te
@@ -0,0 +1,38 @@
+type uprobestats, domain, coredomain;
+
+typeattribute uprobestats bpfdomain;
+
+type uprobestats_exec, system_file_type, exec_type, file_type;
+
+# Allow init to start uprobestats.
+init_daemon_domain(uprobestats)
+
+allow uprobestats fs_bpf_uprobestats:file { read write };
+allow uprobestats fs_bpf_uprobestats:dir search;
+allow uprobestats bpfloader:bpf { map_read map_write prog_run };
+allow uprobestats self:capability2 perfmon;
+allow uprobestats self:perf_event { cpu open write };
+allow uprobestats sysfs_uprobe:file { open read };
+allow uprobestats sysfs_uprobe:dir { search };
+
+# Allow uprobestats to popen oatdump.
+allow uprobestats system_file:file rx_file_perms;
+
+# Allow uprobestats to write atoms to statsd
+unix_socket_send(uprobestats, statsdw, statsd)
+
+# For registration with system server as a process observer.
+binder_use(uprobestats)
+allow uprobestats activity_service:service_manager find;
+allow uprobestats dynamic_instrumentation_service:service_manager find;
+binder_call(uprobestats, system_server);
+
+# Allow uprobestats to talk to native package manager
+allow uprobestats package_native_service:service_manager find;
+
+# Allow uprobestats to scan /proc/<pid>/cmdline.
+r_dir_file(uprobestats, { domain -appdomain })
+
+# Allow uprobestats to manage its own config files.
+allow uprobestats uprobestats_configs_data_file:dir rw_dir_perms;
+allow uprobestats uprobestats_configs_data_file:file { r_file_perms unlink };
diff --git a/prebuilts/api/202504/private/usbd.te b/prebuilts/api/202504/private/usbd.te
new file mode 100644
index 0000000..a444f9c
--- /dev/null
+++ b/prebuilts/api/202504/private/usbd.te
@@ -0,0 +1,17 @@
+typeattribute usbd coredomain;
+
+init_daemon_domain(usbd)
+
+# Access usb gadget hal
+hal_client_domain(usbd, hal_usb_gadget)
+
+# Access persist.sys.usb.config
+get_prop(usbd, system_prop)
+
+# start adbd during boot if adb is enabled
+set_prop(usbd, ctl_default_prop)
+
+# Start/stop adbd via ctl.start adbd
+set_prop(usbd, ctl_adbd_prop)
+
+binder_call(usbd, servicemanager)
diff --git a/prebuilts/api/202504/private/userdata_sysdev.te b/prebuilts/api/202504/private/userdata_sysdev.te
new file mode 100644
index 0000000..9974f36
--- /dev/null
+++ b/prebuilts/api/202504/private/userdata_sysdev.te
@@ -0,0 +1 @@
+allow userdata_sysdev sysfs:filesystem associate;
diff --git a/prebuilts/api/202504/private/users b/prebuilts/api/202504/private/users
new file mode 100644
index 0000000..51b7b57
--- /dev/null
+++ b/prebuilts/api/202504/private/users
@@ -0,0 +1 @@
+user u roles { r } level s0 range s0 - mls_systemhigh;
diff --git a/prebuilts/api/202504/private/vdc.te b/prebuilts/api/202504/private/vdc.te
new file mode 100644
index 0000000..e59afce
--- /dev/null
+++ b/prebuilts/api/202504/private/vdc.te
@@ -0,0 +1,17 @@
+typeattribute vdc coredomain;
+
+init_daemon_domain(vdc)
+
+# Allow stdin/out back to vehicle_binding_util
+allow vdc vehicle_binding_util:fd use;
+
+# vdc can be invoked with logwrapper, so let it write to pty
+allow vdc devpts:chr_file rw_file_perms;
+
+# vdc writes directly to kmsg during the boot process
+allow vdc kmsg_device:chr_file { getattr w_file_perms };
+
+# vdc talks to vold over Binder
+binder_use(vdc)
+binder_call(vdc, vold)
+allow vdc vold_service:service_manager find;
diff --git a/prebuilts/api/202504/private/vehicle_binding_util.te b/prebuilts/api/202504/private/vehicle_binding_util.te
new file mode 100644
index 0000000..f527944
--- /dev/null
+++ b/prebuilts/api/202504/private/vehicle_binding_util.te
@@ -0,0 +1,22 @@
+# vehicle binding util startup application
+type vehicle_binding_util, domain, coredomain;
+
+# allow init to start vehicle_binding_util
+type vehicle_binding_util_exec, exec_type, file_type, system_file_type;
+init_daemon_domain(vehicle_binding_util)
+
+# allow writing to kmsg during boot
+allow vehicle_binding_util kmsg_device:chr_file { getattr w_file_perms };
+
+# allow reading the binding property from HIDL VHAL.
+hwbinder_use(vehicle_binding_util)
+# allow reading the binding property from AIDL VHAL.
+binder_use(vehicle_binding_util)
+hal_client_domain(vehicle_binding_util, hal_vehicle)
+
+# allow executing vdc
+domain_auto_trans(vehicle_binding_util, vdc_exec, vdc)
+
+# devpts is needed to redirect output from vdc
+allow vehicle_binding_util devpts:chr_file rw_file_perms;
+
diff --git a/prebuilts/api/202504/private/vendor_init.te b/prebuilts/api/202504/private/vendor_init.te
new file mode 100644
index 0000000..939bcc0
--- /dev/null
+++ b/prebuilts/api/202504/private/vendor_init.te
@@ -0,0 +1,365 @@
+# Creating files on sysfs is impossible so this isn't a threat
+# Sometimes we have to write to non-existent files to avoid conditional
+# init behavior. See b/35303861 for an example.
+dontaudit vendor_init sysfs:dir write;
+
+# TODO(b/140259336) We want to remove vendor_init in the long term but allow for now
+allow vendor_init system_data_root_file:dir rw_dir_perms;
+
+# Let vendor_init set service.adb.tcp.port.
+set_prop(vendor_init, adbd_config_prop)
+
+# Let vendor_init react to AVF device config changes
+get_prop(vendor_init, device_config_virtualization_framework_native_prop)
+
+# Let vendor_init use apex.<name>.ready to start services from vendor APEX
+get_prop(vendor_init, apex_ready_prop)
+
+# Let vendor_init read ro.fstype.data to process init.rc triggers
+# for this property
+get_prop(vendor_init, fstype_prop)
+
+# chown/chmod on devices, e.g. /dev/ttyHS0
+allow vendor_init {
+  dev_type
+  -keychord_device
+  -vm_manager_device_type
+  -port_device
+  -lowpan_device
+  -hw_random_device
+}:chr_file setattr;
+
+# Communication to the main init process
+allow vendor_init init:unix_stream_socket { read write };
+
+# Logging to kmsg
+allow vendor_init kmsg_device:chr_file { open getattr write };
+
+# Mount on /dev/usb-ffs/adb.
+allow vendor_init device:dir mounton;
+
+# Create and remove symlinks in /.
+allow vendor_init rootfs:lnk_file { create unlink };
+
+# Create cgroups mount points in tmpfs and mount cgroups on them.
+allow vendor_init cgroup:dir create_dir_perms;
+allow vendor_init cgroup:file w_file_perms;
+allow vendor_init cgroup_v2:dir create_dir_perms;
+allow vendor_init cgroup_v2:file w_file_perms;
+
+# /config
+allow vendor_init configfs:dir mounton;
+allow vendor_init configfs:dir create_dir_perms;
+allow vendor_init configfs:{ file lnk_file } create_file_perms;
+
+# Create directories under /dev/cpuctl after chowning it to system.
+allow vendor_init self:global_capability_class_set { dac_override dac_read_search };
+
+# mkdir, symlink, write, rm/rmdir, chown/chmod, restorecon/restorecon_recursive from init.rc files.
+# chown/chmod require open+read+setattr required for open()+fchown/fchmod().
+# system/core/init.rc requires at least cache_file and data_file_type.
+# init.<board>.rc files often include device-specific types, so
+# we just allow all file types except /system files here.
+allow vendor_init self:global_capability_class_set { chown fowner fsetid };
+
+# mkdir with FBE requires reading /data/unencrypted/{ref,mode}.
+allow vendor_init unencrypted_data_file:dir search;
+allow vendor_init unencrypted_data_file:file r_file_perms;
+
+# Set encryption policy on dirs in /data
+allowxperm vendor_init data_file_type:dir ioctl {
+  FS_IOC_GET_ENCRYPTION_POLICY
+  FS_IOC_SET_ENCRYPTION_POLICY
+};
+
+allow vendor_init system_data_file:dir getattr;
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -system_dlkm_file_type
+  -system_file_type
+  -mnt_product_file
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:dir { create search getattr open read setattr ioctl write add_name remove_name rmdir relabelfrom };
+
+allow vendor_init unlabeled:{ dir notdevfile_class_set } { getattr relabelfrom };
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -runtime_event_log_tags_file
+  -system_dlkm_file_type
+  -system_file_type
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -apex_info_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+  -tradeinmode_metadata_file
+  -proc_kallsyms
+  enforce_debugfs_restriction(`-debugfs_type')
+}:file { create getattr open read write setattr relabelfrom unlink map };
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -system_dlkm_file_type
+  -system_file_type
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:{ sock_file fifo_file } { create getattr open read setattr relabelfrom unlink };
+
+allow vendor_init {
+  file_type
+  -apex_mnt_dir
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -system_dlkm_file_type
+  -system_file_type
+  -unlabeled
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:lnk_file { create getattr setattr relabelfrom unlink };
+
+allow vendor_init {
+  file_type
+  -bpffs_type
+  -core_data_file_type
+  -exec_type
+  -mnt_product_file
+  -password_slot_metadata_file
+  -ota_metadata_file
+  -system_dlkm_file_type
+  -system_file_type
+  -vendor_file_type
+  -vold_metadata_file
+  -gsi_metadata_file_type
+  -apex_metadata_file
+  -userspace_reboot_metadata_file
+  -aconfig_storage_metadata_file
+  -aconfig_storage_flags_metadata_file
+}:dir_file_class_set relabelto;
+
+allow vendor_init dev_type:dir create_dir_perms;
+allow vendor_init dev_type:lnk_file create;
+
+# Disable tracing by writing to /sys/kernel/debug/tracing/tracing_on
+allow vendor_init debugfs_tracing:file w_file_perms;
+
+# chown/chmod on pseudo files.
+allow vendor_init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -keychord_device
+  -sdcard_type
+  -fusefs_type
+  -rootfs
+  -proc_uid_time_in_state
+  -proc_uid_concurrent_active_time
+  -proc_uid_concurrent_policy_time
+  -proc_kallsyms
+  enforce_debugfs_restriction(`-debugfs_type')
+}:file { open read setattr map };
+
+allow vendor_init tracefs_type:file { open read setattr map };
+
+allow vendor_init {
+  fs_type
+  -bpffs_type
+  -contextmount_type
+  -sdcard_type
+  -fusefs_type
+  -rootfs
+  -proc_uid_time_in_state
+  -proc_uid_concurrent_active_time
+  -proc_uid_concurrent_policy_time
+}:dir { open read setattr search };
+
+allow vendor_init dev_type:blk_file getattr;
+
+# Write to /proc/sys/net/ping_group_range and other /proc/sys/net files.
+r_dir_file(vendor_init, proc_net_type)
+allow vendor_init proc_net_type:file w_file_perms;
+allow vendor_init self:global_capability_class_set net_admin;
+
+# Write to /proc/sys/vm/page-cluster
+allow vendor_init proc_page_cluster:file w_file_perms;
+
+# Write to sysfs nodes.
+allow vendor_init sysfs_type:dir r_dir_perms;
+allow vendor_init sysfs_type:lnk_file read;
+allow vendor_init { sysfs_type -sysfs_usermodehelper }:file rw_file_perms;
+
+# setfscreatecon() for labeling directories and socket files.
+allow vendor_init self:process { setfscreate };
+
+r_dir_file(vendor_init, vendor_file_type)
+
+# Vendor init can read properties
+allow vendor_init serialno_prop:file { getattr open read map };
+
+# Vendor init can perform operations on trusted and security Extended Attributes
+allow vendor_init self:global_capability_class_set sys_admin;
+
+# Raw writes to misc block device
+allow vendor_init misc_block_device:blk_file w_file_perms;
+
+# vendor_init is using bootstrap bionic
+use_bootstrap_libs(vendor_init)
+
+# allow filesystem tuning
+allow vendor_init userdata_sysdev:file create_file_perms;
+
+# Everything is labeled as rootfs in recovery mode. Vendor init has to execute
+# the dynamic linker and shared libraries.
+recovery_only(`
+  allow vendor_init rootfs:file { r_file_perms execute };
+')
+
+not_compatible_property(`
+    set_prop(vendor_init, {
+      property_type
+      -system_internal_property_type
+      -system_restricted_property_type
+    })
+')
+
+# Get file context
+allow vendor_init file_contexts_file:file r_file_perms;
+
+# Allow vendor_init to (re)set nice
+allow vendor_init self:capability sys_nice;
+
+set_prop(vendor_init, apk_verity_prop)
+set_prop(vendor_init, bluetooth_a2dp_offload_prop)
+set_prop(vendor_init, bluetooth_audio_hal_prop)
+set_prop(vendor_init, bluetooth_config_prop)
+set_prop(vendor_init, camera2_extensions_prop)
+set_prop(vendor_init, camerax_extensions_prop)
+set_prop(vendor_init, cpu_variant_prop)
+set_prop(vendor_init, dalvik_config_prop)
+set_prop(vendor_init, dalvik_dynamic_config_prop)
+set_prop(vendor_init, dalvik_runtime_prop)
+set_prop(vendor_init, debug_prop)
+set_prop(vendor_init, exported_bluetooth_prop)
+set_prop(vendor_init, exported_camera_prop)
+set_prop(vendor_init, exported_config_prop)
+set_prop(vendor_init, exported_default_prop)
+set_prop(vendor_init, exported_overlay_prop)
+set_prop(vendor_init, exported_pm_prop)
+set_prop(vendor_init, ffs_control_prop)
+set_prop(vendor_init, hw_timeout_multiplier_prop)
+set_prop(vendor_init, incremental_prop)
+set_prop(vendor_init, lmkd_prop)
+set_prop(vendor_init, logd_prop)
+set_prop(vendor_init, log_tag_prop)
+set_prop(vendor_init, log_prop)
+set_prop(vendor_init, graphics_config_writable_prop)
+set_prop(vendor_init, prefetch_boot_prop);
+set_prop(vendor_init, qemu_hw_prop)
+set_prop(vendor_init, radio_control_prop)
+set_prop(vendor_init, rebootescrow_hal_prop)
+set_prop(vendor_init, serialno_prop)
+set_prop(vendor_init, soc_prop)
+set_prop(vendor_init, surfaceflinger_color_prop)
+set_prop(vendor_init, usb_control_prop)
+set_prop(vendor_init, userspace_reboot_config_prop)
+set_prop(vendor_init, vehicle_hal_prop)
+set_prop(vendor_init, vendor_default_prop)
+set_prop(vendor_init, keystore_config_prop)
+set_prop(vendor_init, vendor_security_patch_level_prop)
+set_prop(vendor_init, vndk_prop)
+set_prop(vendor_init, virtual_ab_prop)
+set_prop(vendor_init, vold_post_fs_data_prop)
+set_prop(vendor_init, wifi_hal_prop)
+set_prop(vendor_init, wifi_log_prop)
+set_prop(vendor_init, zram_control_prop)
+
+get_prop(vendor_init, boot_status_prop)
+get_prop(vendor_init, exported3_system_prop)
+get_prop(vendor_init, mmd_shared_status_prop)
+get_prop(vendor_init, ota_prop)
+get_prop(vendor_init, power_debug_prop)
+get_prop(vendor_init, provisioned_prop)
+get_prop(vendor_init, retaildemo_prop)
+get_prop(vendor_init, surfaceflinger_display_prop)
+get_prop(vendor_init, test_harness_prop)
+get_prop(vendor_init, theme_prop)
+set_prop(vendor_init, dck_prop)
+
+# Allow vendor_init to read vendor_system_native device config changes
+get_prop(vendor_init, device_config_vendor_system_native_prop)
+get_prop(vendor_init, device_config_vendor_system_native_boot_prop)
+
+userdebug_or_eng(`
+get_prop(vendor_init, profcollectd_etr_prop)
+')
+
+###
+### neverallow rules
+###
+
+# Vendor init shouldn't communicate with any vendor process, nor most system processes.
+neverallow_establish_socket_comms(vendor_init, {
+    domain -init -logd -prng_seeder -su -vendor_init });
+
+# The vendor_init domain is only entered via an exec based transition from the
+# init domain, never via setcon().
+neverallow domain vendor_init:process dyntransition;
+neverallow { domain -init } vendor_init:process transition;
+neverallow vendor_init { file_type fs_type -init_exec }:file entrypoint;
+
+# Never read/follow symlinks created by shell or untrusted apps.
+neverallow vendor_init app_data_file_type:lnk_file read;
+neverallow vendor_init shell_data_file:lnk_file read;
+# Init should not be creating subdirectories in /data/local/tmp
+neverallow vendor_init shell_data_file:dir { write add_name remove_name };
+
+# init should never execute a program without changing to another domain.
+neverallow vendor_init { file_type fs_type }:file execute_no_trans;
+
+# Init never adds or uses services via service_manager.
+neverallow vendor_init service_manager_type:service_manager { add find };
+neverallow vendor_init servicemanager:service_manager list;
+
+# vendor_init should never be ptraced
+neverallow * vendor_init:process ptrace;
diff --git a/prebuilts/api/202504/private/vendor_misc_writer.te b/prebuilts/api/202504/private/vendor_misc_writer.te
new file mode 100644
index 0000000..1f27bf9
--- /dev/null
+++ b/prebuilts/api/202504/private/vendor_misc_writer.te
@@ -0,0 +1,12 @@
+# Raw writes to misc_block_device
+allow vendor_misc_writer misc_block_device:blk_file w_file_perms;
+allow vendor_misc_writer block_device:dir r_dir_perms;
+
+# Silence the denial when calling libfstab's ReadDefaultFstab, which tries to
+# load DT fstab.
+dontaudit vendor_misc_writer proc_cmdline:file r_file_perms;
+dontaudit vendor_misc_writer sysfs_dt_firmware_android:dir search;
+dontaudit vendor_misc_writer proc_bootconfig:file r_file_perms;
+
+# Allow ReadDefaultFstab().
+read_fstab(vendor_misc_writer)
diff --git a/prebuilts/api/202504/private/vendor_shell.te b/prebuilts/api/202504/private/vendor_shell.te
new file mode 100644
index 0000000..5a5925d
--- /dev/null
+++ b/prebuilts/api/202504/private/vendor_shell.te
@@ -0,0 +1,18 @@
+allow vendor_shell vendor_shell_exec:file rx_file_perms;
+allow vendor_shell vendor_toolbox_exec:file rx_file_perms;
+
+# Use fd from shell when vendor_shell is started from shell
+allow vendor_shell shell:fd use;
+
+# adbd: allow `adb shell /vendor/bin/sh` and `adb shell` then `/vendor/bin/sh`
+allow vendor_shell adbd:fd use;
+allow vendor_shell adbd:process sigchld;
+allow vendor_shell adbd:unix_stream_socket { getattr ioctl read write };
+
+allow vendor_shell devpts:chr_file rw_file_perms;
+allow vendor_shell tty_device:chr_file rw_file_perms;
+allow vendor_shell console_device:chr_file rw_file_perms;
+allow vendor_shell input_device:dir r_dir_perms;
+allow vendor_shell input_device:chr_file rw_file_perms;
+
+userdebug_or_eng(`set_prop(vendor_shell, persist_vendor_debug_wifi_prop)')
diff --git a/prebuilts/api/202504/private/vendor_toolbox.te b/prebuilts/api/202504/private/vendor_toolbox.te
new file mode 100644
index 0000000..5421dd5
--- /dev/null
+++ b/prebuilts/api/202504/private/vendor_toolbox.te
@@ -0,0 +1,12 @@
+# Do not allow domains to transition to vendor toolbox
+# or read, execute the vendor_toolbox file.
+full_treble_only(`
+    # Do not allow non-vendor domains to transition
+    # to vendor toolbox except for the allowlisted domains.
+    neverallow {
+        coredomain
+        -init
+        -modprobe
+        userdebug_or_eng(`-overlay_remounter')
+    } vendor_toolbox_exec:file { entrypoint execute execute_no_trans };
+')
diff --git a/prebuilts/api/202504/private/vfio_handler.te b/prebuilts/api/202504/private/vfio_handler.te
new file mode 100644
index 0000000..fd6499d
--- /dev/null
+++ b/prebuilts/api/202504/private/vfio_handler.te
@@ -0,0 +1,34 @@
+is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT, `
+    # vfio_handler is a helper service for VFIO tasks, like binding platform devices to VFIO driver.
+    # vfio_handler is separate from virtualizationservice as VFIO tasks require root.
+    type vfio_handler, domain, coredomain;
+    type vfio_handler_exec, system_file_type, exec_type, file_type;
+
+    # When init runs a file labelled with vfio_handler_exec, run it in the vfio_handler domain.
+    init_daemon_domain(vfio_handler)
+
+    # Let the vfio_handler domain register the vfio_handler_service with ServiceManager.
+    add_service(vfio_handler, vfio_handler_service)
+
+    # Let the vfio_handler domain use Binder.
+    binder_use(vfio_handler)
+
+    # Allow vfio_handler to check if VFIO is supported
+    allow vfio_handler vfio_device:chr_file getattr;
+    allow vfio_handler vfio_device:dir r_dir_perms;
+
+    # Allow vfio_handler to bind/unbind platform devices
+    allow vfio_handler sysfs:dir r_dir_perms;
+    allow vfio_handler sysfs:file rw_file_perms;
+
+    # Allow vfio_handler to write to VM DTBO via a file created by virtualizationservice.
+    allow vfio_handler virtualizationservice:fd use;
+    allow vfio_handler virtualizationservice_data_file:file write;
+
+    # vfio_handler can only use fd from virtualizationservice, and cannot open files itself
+    neverallow vfio_handler virtualizationservice_data_file:file { open create };
+
+    # Allow vfio_handler to search /dev/block for accessing dtbo.img
+    allow vfio_handler block_device:dir search;
+    allow vfio_handler dtbo_block_device:blk_file r_file_perms;
+') # is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT)
diff --git a/prebuilts/api/202504/private/virtual_camera.te b/prebuilts/api/202504/private/virtual_camera.te
new file mode 100644
index 0000000..86174b1
--- /dev/null
+++ b/prebuilts/api/202504/private/virtual_camera.te
@@ -0,0 +1,67 @@
+# virtual_camera - virtual camera daemon
+
+# The types are moved to public starting at 202502
+until_board_api(202504, `
+    type virtual_camera, domain, coredomain;
+    type virtual_camera_exec, system_file_type, exec_type, file_type;
+')
+
+init_daemon_domain(virtual_camera)
+
+# Since virtual_camera is not a real HAL we don't set the
+# hal_server_domain(virtual_camera, hal_camera) macro but only the rules that
+# we actually need from halserverdomain and hal_camera_server:
+binder_use(virtual_camera)
+binder_call(virtual_camera, cameraserver)
+binder_call(virtual_camera, system_server)
+
+# Allow virtual_camera to communicate with
+# mediaserver (required for using Surface originating
+# from virtual camera in mediaserver).
+binder_call(virtual_camera, mediaserver)
+
+# Required for the codecs to be able to decode
+# video into surface provided by virtual camera.
+hal_client_domain(virtual_camera, hal_codec2)
+hal_client_domain(virtual_camera, hal_omx)
+
+# Allow virtualCamera to call apps via binder.
+binder_call(virtual_camera, appdomain)
+
+# Allow virtual_camera to use fd from apps
+allow virtual_camera { appdomain -isolated_app }:fd use;
+
+binder_call(virtual_camera, surfaceflinger);
+
+# Only allow virtual_camera to add a virtual_camera_service and no one else.
+add_service(virtual_camera, virtual_camera_service);
+
+# Allow virtual_camera to map graphic buffers
+hal_client_domain(virtual_camera, hal_graphics_allocator)
+
+# Allow virtual_camera to use GPU
+allow virtual_camera gpu_device:chr_file rw_file_perms;
+allow virtual_camera gpu_device:dir r_dir_perms;
+r_dir_file(virtual_camera, sysfs_gpu)
+
+# ION And DMABUF are used by vendor to allocate graphic buffers needed by virtual_camera
+allow cameraserver ion_device:chr_file rw_file_perms;
+allow cameraserver dmabuf_system_heap_device:chr_file r_file_perms;
+
+# Allow virtual camera to use graphics composer fd-s (fences).
+allow virtual_camera hal_graphics_composer:fd use;
+
+# For collecting bugreports.
+allow virtual_camera dumpstate:fd use;
+allow virtual_camera dumpstate:fifo_file write;
+
+# Needed for permission checks.
+allow virtual_camera permission_service:service_manager find;
+
+# Allow 'adb shell cmd' to configure test instances of camera.
+allow virtual_camera adbd:fd use;
+allow virtual_camera adbd:unix_stream_socket { getattr read write };
+allow virtual_camera shell:fifo_file { getattr read write };
+
+# Allow virtual_camera to access dmabuf_system_heap_device
+allow virtual_camera dmabuf_system_heap_device:chr_file { read open };
diff --git a/prebuilts/api/202504/private/virtual_face.te b/prebuilts/api/202504/private/virtual_face.te
new file mode 100644
index 0000000..9a805e8
--- /dev/null
+++ b/prebuilts/api/202504/private/virtual_face.te
@@ -0,0 +1,7 @@
+# biometric virtual face sensor
+type virtual_face, domain;
+type virtual_face_exec, system_file_type, exec_type, file_type;
+hal_server_domain(virtual_face, hal_face)
+typeattribute virtual_face coredomain;
+init_daemon_domain(virtual_face)
+set_prop(virtual_face, virtual_face_prop)
diff --git a/prebuilts/api/202504/private/virtual_fingerprint.te b/prebuilts/api/202504/private/virtual_fingerprint.te
new file mode 100644
index 0000000..be20e24
--- /dev/null
+++ b/prebuilts/api/202504/private/virtual_fingerprint.te
@@ -0,0 +1,7 @@
+# biometric virtual fingerprint sensor
+type virtual_fingerprint, domain;
+type virtual_fingerprint_exec, system_file_type, exec_type, file_type;
+hal_server_domain(virtual_fingerprint, hal_fingerprint)
+typeattribute virtual_fingerprint coredomain;
+init_daemon_domain(virtual_fingerprint)
+set_prop(virtual_fingerprint, virtual_fingerprint_prop)
diff --git a/prebuilts/api/202504/private/virtual_touchpad.te b/prebuilts/api/202504/private/virtual_touchpad.te
new file mode 100644
index 0000000..035b121
--- /dev/null
+++ b/prebuilts/api/202504/private/virtual_touchpad.te
@@ -0,0 +1,17 @@
+typeattribute virtual_touchpad coredomain;
+
+init_daemon_domain(virtual_touchpad)
+
+binder_use(virtual_touchpad)
+binder_service(virtual_touchpad)
+add_service(virtual_touchpad, virtual_touchpad_service)
+
+# Needed to check app permissions.
+binder_call(virtual_touchpad, system_server)
+
+# Requires access to /dev/uinput to create and feed the virtual device.
+allow virtual_touchpad uhid_device:chr_file { w_file_perms ioctl };
+
+# Requires access to the permission service to validate that clients have the
+# appropriate VR permissions.
+allow virtual_touchpad permission_service:service_manager find;
diff --git a/prebuilts/api/202504/private/virtualizationmanager.te b/prebuilts/api/202504/private/virtualizationmanager.te
new file mode 100644
index 0000000..95bdd1c
--- /dev/null
+++ b/prebuilts/api/202504/private/virtualizationmanager.te
@@ -0,0 +1,152 @@
+until_board_api(202504, `
+    type virtualizationmanager, domain, coredomain;
+    type virtualizationmanager_exec, system_file_type, exec_type, file_type;
+')
+
+# Allow virtualizationmanager to communicate use, read and write over the adb connection.
+allow virtualizationmanager adbd:fd use;
+allow virtualizationmanager adbd:unix_stream_socket { getattr read write };
+
+# Allow writing VM logs to the shell console
+allow virtualizationmanager devpts:chr_file { read write getattr ioctl };
+
+# Let the virtualizationmanager domain use Binder.
+binder_use(virtualizationmanager)
+
+# Let virtualizationmanager find and communicate with virtualizationservice.
+allow virtualizationmanager virtualization_service:service_manager find;
+binder_call(virtualizationmanager, virtualizationservice)
+
+# Allow calling into the system server to find native services. "permission_service" to check
+# permissions, and "package_native" for staged apex info.
+binder_call(virtualizationmanager, system_server)
+allow virtualizationmanager { package_native_service permission_service }:service_manager find;
+
+# When virtualizationmanager execs a file with the crosvm_exec label, run it in the crosvm domain.
+domain_auto_trans(virtualizationmanager, crosvm_exec, crosvm)
+
+# Let virtualizationmanager kill crosvm.
+allow virtualizationmanager crosvm:process sigkill;
+
+# Let virtualizationmanager create files inside virtualizationservice's temporary directories.
+allow virtualizationmanager virtualizationservice_data_file:dir rw_dir_perms;
+allow virtualizationmanager virtualizationservice_data_file:{ file sock_file } create_file_perms;
+
+# Let virtualizationmanager read and write files from its various clients, but not open them
+# directly as they must be passed over Binder by the client.
+allow virtualizationmanager apk_data_file:file { getattr read };
+
+# Write access is needed for mutable partitions like instance.img
+allow virtualizationmanager {
+  app_data_file
+  apex_compos_data_file
+  apex_virt_data_file
+  privapp_data_file
+}:file { getattr read write };
+
+# shell_data_file is used for automated tests and manual debugging.
+allow virtualizationmanager shell_data_file:file { getattr read write };
+
+# Allow virtualizationmanager to read apex-info-list.xml and access the APEX files listed there.
+allow virtualizationmanager apex_info_file:file r_file_perms;
+allow virtualizationmanager apex_data_file:dir search;
+allow virtualizationmanager staging_data_file:file r_file_perms;
+allow virtualizationmanager staging_data_file:dir search;
+
+# Run derive_classpath in our domain
+allow virtualizationmanager derive_classpath_exec:file rx_file_perms;
+allow virtualizationmanager apex_mnt_dir:dir r_dir_perms;
+# Ignore harmless denials on /proc/self/fd
+dontaudit virtualizationmanager self:dir write;
+
+# Let virtualizationmanager to accept vsock connection from the guest VMs
+allow virtualizationmanager self:vsock_socket { create_socket_perms_no_ioctl listen accept };
+neverallow { domain -virtualizationmanager } virtualizationmanager:vsock_socket { accept bind create connect listen };
+
+# Allow virtualizationmanager to inspect all hypervisor capabilities.
+get_prop(virtualizationmanager, hypervisor_prop)
+get_prop(virtualizationmanager, hypervisor_restricted_prop)
+
+# Allow virtualizationmanager to be read custom pvmfw.img configuration
+userdebug_or_eng(`get_prop(virtualizationmanager, hypervisor_pvmfw_prop)')
+dontaudit virtualizationmanager hypervisor_pvmfw_prop:file read;
+neverallow {
+  domain
+  -init
+  -dumpstate
+  userdebug_or_eng(`-virtualizationmanager')
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, -early_virtmgr)
+} hypervisor_pvmfw_prop:file no_rw_file_perms;
+
+# Allow virtualizationmanager to be read custom virtualizationmanager configuration
+userdebug_or_eng(`get_prop(virtualizationmanager, hypervisor_virtualizationmanager_prop)')
+dontaudit virtualizationmanager hypervisor_virtualizationmanager_prop:file read;
+neverallow {
+  domain
+  -init
+  -dumpstate
+  userdebug_or_eng(`-virtualizationmanager')
+  is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, -early_virtmgr)
+} hypervisor_virtualizationmanager_prop:file no_rw_file_perms;
+
+# Allow virtualizationmanager service to talk to tombstoned to push guest ramdumps
+unix_socket_connect(virtualizationmanager, tombstoned_crash, tombstoned)
+
+# Append ramdumps to tombstone files passed as fds from tombstoned
+allow virtualizationmanager tombstone_data_file:file { append getattr };
+allow virtualizationmanager tombstoned:fd use;
+
+# Allow virtualizationmanager to read file system DT for VM reference DT and AVF debug policy
+r_dir_file(virtualizationmanager, proc_dt_avf)
+r_dir_file(virtualizationmanager, sysfs_dt_avf)
+
+# virtualizationmanager to be client of secretkeeper HAL. It ferries SecretManagement messages
+# from pVM to HAL.
+hal_client_domain(virtualizationmanager, hal_secretkeeper);
+
+# Let virtualizationmanager open test artifacts under /data/local/tmp with file path.
+# (e.g. custom debug policy)
+userdebug_or_eng(`
+  allow virtualizationmanager shell_data_file:dir search;
+  allow virtualizationmanager shell_data_file:file open;
+')
+
+# Allow virtualizationmanager to read microdroid related files in vendor partition
+r_dir_file(virtualizationmanager, vendor_microdroid_file)
+
+# Do not allow writing vendor_microdroid_file from any process.
+neverallow {
+  domain
+  recovery_only(`userdebug_or_eng(`-fastbootd')')
+  userdebug_or_eng(`-overlay_remounter')
+} vendor_microdroid_file:dir no_w_dir_perms;
+neverallow {
+  domain
+  recovery_only(`userdebug_or_eng(`-fastbootd')')
+  userdebug_or_eng(`-overlay_remounter')
+} vendor_microdroid_file:file no_w_file_perms;
+
+# Allow reading files under /proc/[crosvm pid]/, for collecting CPU & memory usage inside VM.
+r_dir_file(virtualizationmanager, crosvm);
+
+# For debug purposes we try to get the canonical path from /proc/self/fd/N. That triggers
+# a harmless denial for CompOS log files, so ignore that.
+dontaudit virtualizationmanager apex_module_data_file:dir search;
+
+is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT, `
+    # virtualizationmanager holds references to bound devices, returned from vfio_handler
+    binder_call(virtualizationmanager, vfio_handler)
+')
+
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    # Allow virtualizationmanager to deal with file descriptors of TAP interfaces.
+    allow virtualizationmanager tun_device:chr_file rw_file_perms;
+    allow virtualizationmanager vmnic:fd use;
+')
+
+# virtualizationmanager reads tee_service_contexts_file to determine if VM is allowed
+# to access requested tee services
+allow virtualizationmanager tee_service_contexts_file:file r_file_perms;
+# virtualizationmanager uses libselinux to check if VM is allowed to access requested
+# tee services.
+selinux_check_access(virtualizationmanager)
diff --git a/prebuilts/api/202504/private/virtualizationservice.te b/prebuilts/api/202504/private/virtualizationservice.te
new file mode 100644
index 0000000..1acf734
--- /dev/null
+++ b/prebuilts/api/202504/private/virtualizationservice.te
@@ -0,0 +1,146 @@
+type virtualizationservice, domain, coredomain;
+type virtualizationservice_exec, system_file_type, exec_type, file_type;
+
+# The domain needs to be a 'mlstrustedsubject' to change the memlock rlimit of
+# the virtualizationmanager domain running at a more constrained MLS level.
+typeattribute virtualizationservice mlstrustedsubject;
+
+# When init runs a file labelled with virtualizationservice_exec, run it in the
+# virtualizationservice domain.
+init_daemon_domain(virtualizationservice)
+
+# Let the virtualizationservice domain use Binder.
+binder_use(virtualizationservice)
+
+# Register our services with ServiceManager.
+add_service(virtualizationservice, virtualization_service)
+is_flag_enabled(RELEASE_AVF_ENABLE_LLPVM_CHANGES, `
+    add_service(virtualizationservice, virtualization_maintenance_service)
+')
+
+is_flag_enabled(RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES, `
+    # Let virtualizationservice find and communicate with vfio_handler.
+    allow virtualizationservice vfio_handler_service:service_manager find;
+    binder_call(virtualizationservice, vfio_handler)
+')
+
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    # Let virtualizationservice find and communicate with vmnic.
+    allow virtualizationservice vmnic_service:service_manager find;
+    binder_call(virtualizationservice, vmnic)
+    allow virtualizationservice vm_tethering_service:service_manager find;
+')
+
+# Allow the virtualizationservice domain to serve a remotely provisioned component for
+# pVM remote attestation.
+hal_server_domain(virtualizationservice, hal_remotelyprovisionedcomponent_avf)
+
+# Allow the virtualizationservice to inspect whether remote attestation is supported
+# through the system property.
+get_prop(virtualizationservice, avf_virtualizationservice_prop)
+
+# Allow calling into the system server to find "permission_service".
+binder_call(virtualizationservice, system_server)
+allow virtualizationservice permission_service:service_manager find;
+
+# Allow virtualizationservice to retrieve the remotely provisioned keys from rkpd.
+binder_call(virtualizationservice, remote_provisioning_service_server)
+allow virtualizationservice remote_provisioning_service:service_manager find;
+
+# Allow virtualizationservice to manage VM secrets via Secretkeeper.
+hal_client_domain(virtualizationservice, hal_secretkeeper)
+
+# Let virtualizationservice remove memlock rlimit of virtualizationmanager. This is necessary
+# to mlock VM memory and page tables.
+allow virtualizationservice self:capability sys_resource;
+allow virtualizationservice virtualizationmanager:process setrlimit;
+
+is_flag_enabled(RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES, `
+  # To provide display service to an app to get surface.
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+  allow virtualizationservice vmlauncher_app:binder transfer;
+')
+
+# Let virtualizationservice set the owner of a VM's temporary directory.
+allow virtualizationservice self:capability chown;
+
+# Let virtualizationservice create and delete temporary directories of VMs. To remove old
+# directories, it needs the permission to unlink the files created by virtualizationmanager.
+allow virtualizationservice virtualizationservice_data_file:dir create_dir_perms;
+allow virtualizationservice virtualizationservice_data_file:sock_file unlink;
+allow virtualizationservice virtualizationservice_data_file:file create_file_perms;
+
+# Allow to use fd (e.g. /dev/pts/0) inherited from adbd so that we can redirect output from
+# crosvm to the console
+allow virtualizationservice adbd:fd use;
+allow virtualizationservice adbd:unix_stream_socket { read write };
+
+# Allow to connnect to and run VirtMgr to start the service VM for remote attestation.
+virtualizationservice_use(virtualizationservice)
+
+# Allow virtualizationservice to read and write in the apex data directory
+# /data/misc/apexdata/com.android.virt. Also allow checking of the parent directory
+# (needed for SQLite database creation).
+allow virtualizationservice apex_module_data_file:dir { search getattr };
+allow virtualizationservice apex_virt_data_file:dir create_dir_perms;
+allow virtualizationservice apex_virt_data_file:file create_file_perms;
+
+# Accept vsock connection from the guest VMs to singleton services
+# such as the guest tombstone server.
+allow virtualizationservice self:vsock_socket { create read getattr write setattr lock append bind getopt setopt shutdown map listen accept };
+neverallow { domain -virtualizationservice -dumpstate } virtualizationservice:vsock_socket *;
+
+# Allow virtualizationservice to read/write its own sysprop. Only the process can do so.
+set_prop(virtualizationservice, virtualizationservice_prop)
+
+# Allow writing stats to statsd
+unix_socket_send(virtualizationservice, statsdw, statsd)
+
+# Allow virtualization service to talk to tombstoned to push guest tombstones
+unix_socket_connect(virtualizationservice, tombstoned_crash, tombstoned)
+
+# Append to tombstone files passed as fds from tombstoned
+allow virtualizationservice tombstone_data_file:file { append getattr };
+allow virtualizationservice tombstoned:fd use;
+
+# Allow virtualizationservice to check if VFIO is supported
+allow virtualizationservice vfio_device:chr_file getattr;
+allow virtualizationservice vfio_device:dir r_dir_perms;
+
+# Allow virtualizationservice to access VM DTBO via a file created by virtualizationmanager.
+allow virtualizationservice virtualizationmanager:fd use;
+
+# Allow virtualizationservice to access vendor_configs_file to get the list of assignable devices.
+r_dir_file(virtualizationservice, vendor_configs_file)
+
+neverallow {
+  domain
+  -init
+  -virtualizationservice
+} virtualizationservice_prop:property_service set;
+
+neverallow {
+  domain
+  -init
+  -virtualizationmanager
+  -virtualizationservice
+} virtualizationservice_data_file:file { open create };
+
+neverallow virtualizationservice {
+  domain
+  -virtualizationmanager
+  -virtualizationservice
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+  -crosvm
+}:process setrlimit;
+
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    # Allow virtualizationservice to deal with file descriptors of TAP interfaces.
+    allow virtualizationservice tun_device:chr_file rw_file_perms;
+    allow virtualizationservice vmnic:fd use;
+')
+
+is_flag_enabled(RELEASE_AVF_ENABLE_DEVICE_ASSIGNMENT, `
+    # Only virtualizationservice and virtualizationmanager can communicate to vfio_handler
+    neverallow { domain -virtualizationmanager -virtualizationservice -servicemanager } vfio_handler:binder call;
+')
diff --git a/prebuilts/api/202504/private/vmlauncher_app.te b/prebuilts/api/202504/private/vmlauncher_app.te
new file mode 100644
index 0000000..ef34c31
--- /dev/null
+++ b/prebuilts/api/202504/private/vmlauncher_app.te
@@ -0,0 +1,40 @@
+type vmlauncher_app, domain;
+typeattribute vmlauncher_app coredomain;
+
+app_domain(vmlauncher_app)
+net_domain(vmlauncher_app)
+
+allow vmlauncher_app app_api_service:service_manager find;
+allow vmlauncher_app system_api_service:service_manager find;
+
+allow vmlauncher_app shell_data_file:dir search;
+allow vmlauncher_app shell_data_file:file { read open write };
+virtualizationservice_use(vmlauncher_app)
+
+allow vmlauncher_app fsck_exec:file { r_file_perms execute execute_no_trans };
+allow vmlauncher_app crosvm:fd use;
+allow vmlauncher_app crosvm_tmpfs:file { map read write };
+allow vmlauncher_app crosvm_exec:file rx_file_perms;
+
+allow vmlauncher_app privapp_data_file:sock_file { create unlink write getattr };
+
+is_flag_enabled(RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES, `
+  # TODO(b/332677707): remove them when display service uses binder RPC.
+  allow vmlauncher_app virtualization_service:service_manager find;
+  allow vmlauncher_app virtualizationservice:binder call;
+  allow vmlauncher_app crosvm:binder { call transfer };
+')
+
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+  allow vmlauncher_app self:vsock_socket { create_socket_perms_no_ioctl listen accept };
+')
+
+userdebug_or_eng(`
+  # Create pty/pts and connect it to the guest terminal.
+  create_pty(vmlauncher_app)
+  # Allow other processes to access the pts.
+  allow vmlauncher_app vmlauncher_app_devpts:chr_file setattr;
+')
+
+# TODO(b/372664601): Remove this when we don't need linux_vm_setup
+set_prop(vmlauncher_app, debug_prop);
diff --git a/prebuilts/api/202504/private/vmnic.te b/prebuilts/api/202504/private/vmnic.te
new file mode 100644
index 0000000..4a706df
--- /dev/null
+++ b/prebuilts/api/202504/private/vmnic.te
@@ -0,0 +1,26 @@
+is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK, `
+    # vmnic is a helper service for network tasks, like creating TAP network interface.
+    # vmnic is separated from virtualizationservice as vmnic requires more permission to do network related tasks.
+    type vmnic, domain, coredomain;
+    type vmnic_exec, system_file_type, exec_type, file_type;
+
+    # When init runs a file labelled with vmnic_exec, run it in the vmnic domain.
+    init_daemon_domain(vmnic)
+
+    # Let the vmnic domain register the vmnic_service with ServiceManager.
+    add_service(vmnic, vmnic_service)
+
+    # Let the vmnic domain use Binder.
+    binder_use(vmnic)
+
+    # Allow for creating and deleting TAP network interfaces.
+    allow vmnic self:global_capability_class_set net_admin;
+    allow vmnic self:tun_socket create_socket_perms_no_ioctl;
+    allow vmnic tun_device:chr_file rw_file_perms;
+    allowxperm vmnic tun_device:chr_file ioctl { TUNGETIFF TUNSETIFF };
+    allow vmnic self:udp_socket create_socket_perms;
+    allowxperm vmnic self:udp_socket ioctl SIOCSIFFLAGS;
+
+    # Only virtualizationservice can communicate to vmnic
+    neverallow { domain -virtualizationservice -servicemanager } vmnic:binder call;
+') # is_flag_enabled(RELEASE_AVF_ENABLE_NETWORK)
diff --git a/prebuilts/api/202504/private/vold.te b/prebuilts/api/202504/private/vold.te
new file mode 100644
index 0000000..8fe8518
--- /dev/null
+++ b/prebuilts/api/202504/private/vold.te
@@ -0,0 +1,481 @@
+typeattribute vold coredomain;
+
+init_daemon_domain(vold)
+
+# Switch to more restrictive domains when executing common tools
+domain_auto_trans(vold, sgdisk_exec, sgdisk);
+domain_auto_trans(vold, sdcardd_exec, sdcardd);
+domain_auto_trans(vold, fuseblkd_untrusted_exec, fuseblkd_untrusted);
+
+# Switch to e2fs domain when running mkfs.ext4 to format a partition
+domain_auto_trans(vold, e2fs_exec, e2fs);
+
+
+# For a handful of probing tools, we choose an even more restrictive
+# domain when working with untrusted block devices
+domain_trans(vold, blkid_exec, blkid);
+domain_trans(vold, blkid_exec, blkid_untrusted);
+domain_trans(vold, fsck_exec, fsck);
+domain_trans(vold, fsck_exec, fsck_untrusted);
+
+# Newly created storage dirs are always treated as mount stubs to prevent us
+# from accidentally writing when the mount point isn't present.
+type_transition vold storage_file:dir storage_stub_file;
+type_transition vold mnt_media_rw_file:dir mnt_media_rw_stub_file;
+
+# Property Service
+get_prop(vold, vold_config_prop)
+get_prop(vold, storage_config_prop);
+get_prop(vold, incremental_prop);
+get_prop(vold, gsid_prop);
+
+set_prop(vold, vold_prop)
+set_prop(vold, vold_status_prop)
+set_prop(vold, powerctl_prop)
+set_prop(vold, ctl_fuse_prop)
+set_prop(vold, restorecon_prop)
+set_prop(vold, ota_prop)
+set_prop(vold, boottime_prop)
+set_prop(vold, boottime_public_prop)
+
+# Vold will use Keystore instead of using Keymint directly. But it still needs
+# to manage its Keymint blobs. This is why it needs the `manage_blob` permission.
+allow vold vold_key:keystore2_key {
+    convert_storage_key_to_ephemeral
+    delete
+    get_info
+    manage_blob
+    rebind
+    req_forced_op
+    update
+    use
+};
+
+# vold needs to call keystore methods
+allow vold keystore:binder call;
+
+# vold needs to find keystore2 services
+allow vold keystore_service:service_manager find;
+allow vold keystore_maintenance_service:service_manager find;
+
+# vold needs to be able to call earlyBootEnded() and deleteAllKeys()
+allow vold keystore:keystore2 early_boot_ended;
+allow vold keystore:keystore2 delete_all_keys;
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+    allow vold storage_area_app_dir:dir search;
+    # Allow vold to get the encryption policy and
+    # verify the ownership of storage areas
+    allow vold storage_area_dir:dir {
+        read
+        open
+        getattr
+        ioctl
+    };
+')
+
+# when a storage area is created (with `openStorageArea`), vold creates the key
+# and when a storage area is deleted (with `deleteStorageArea`), vold deletes the key
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  allow vold storage_area_key_file:file create_file_perms;
+  allow vold storage_area_key_file:dir create_dir_perms;
+')
+
+# Allow vold to create and delete per-user directories like /data/user/$userId.
+allow vold {
+    media_userdir_file
+    system_userdir_file
+    vendor_userdir_file
+}:dir {
+    add_name
+    remove_name
+    write
+};
+
+# Read already opened /cache files.
+allow vold cache_file:dir r_dir_perms;
+allow vold cache_file:file { getattr read };
+allow vold cache_file:lnk_file r_file_perms;
+
+r_dir_file(vold, { sysfs_type -sysfs_batteryinfo })
+# XXX Label sysfs files with a specific type?
+allow vold {
+  sysfs # writing to /sys/*/uevent during coldboot.
+  sysfs_devices_block
+  sysfs_dm
+  sysfs_loop # writing to /sys/block/loop*/uevent during coldboot.
+  sysfs_usb
+  sysfs_zram_uevent
+  sysfs_fs_f2fs
+}:file w_file_perms;
+
+r_dir_file(vold, rootfs)
+r_dir_file(vold, metadata_file)
+allow vold {
+  proc # b/67049235 processes /proc/<pid>/* files are mislabeled.
+  proc_bootconfig
+  proc_cmdline
+  proc_drop_caches
+  proc_filesystems
+  proc_meminfo
+  proc_mounts
+}:file r_file_perms;
+
+#Get file contexts
+allow vold file_contexts_file:file r_file_perms;
+
+# Allow us to jump into execution domains of above tools
+allow vold self:process setexec;
+
+# For formatting adoptable storage devices
+allow vold e2fs_exec:file rx_file_perms;
+
+# Run fstrim on mounted partitions
+# allowxperm still requires the ioctl permission for the individual type
+allowxperm vold { fs_type file_type }:dir ioctl FITRIM;
+
+# Get/set file-based encryption policies on dirs in /data and adoptable storage,
+# and add/remove file-based encryption keys.
+allowxperm vold data_file_type:dir ioctl {
+  FS_IOC_GET_ENCRYPTION_POLICY
+  FS_IOC_GET_ENCRYPTION_POLICY_EX
+  FS_IOC_SET_ENCRYPTION_POLICY
+  FS_IOC_ADD_ENCRYPTION_KEY
+  FS_IOC_REMOVE_ENCRYPTION_KEY
+  FS_IOC_GET_ENCRYPTION_KEY_STATUS
+};
+
+# Allow securely erasing crypto key files. F2FS_IOC_SEC_TRIM_FILE is
+# tried first. Otherwise, FS_IOC_FIEMAP is needed to get the
+# location of the file's blocks on the raw block device to erase.
+allowxperm vold {
+  vold_data_file
+  vold_metadata_file
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_key_file')
+}:file ioctl {
+  F2FS_IOC_SEC_TRIM_FILE
+  FS_IOC_FIEMAP
+};
+
+typeattribute vold mlstrustedsubject;
+allow vold self:process setfscreate;
+allow vold system_file:file x_file_perms;
+not_full_treble(`allow vold vendor_file:file x_file_perms;')
+allow vold block_device:dir create_dir_perms;
+allow vold device:dir write;
+allow vold devpts:chr_file rw_file_perms;
+allow vold rootfs:dir mounton;
+allow vold { sdcard_type fuse }:dir mounton; # TODO: deprecated in M
+allow vold { sdcard_type fuse }:filesystem { mount remount unmount }; # TODO: deprecated in M
+
+# Manage locations where storage is mounted
+allow vold { mnt_media_rw_file storage_file sdcard_type fuse }:dir create_dir_perms;
+allow vold { mnt_media_rw_file storage_file sdcard_type fuse }:file create_file_perms;
+
+# Access to storage that backs emulated FUSE daemons for migration optimization
+allow vold media_rw_data_file:dir create_dir_perms;
+allow vold media_rw_data_file:file create_file_perms;
+# Allow mounting (lower filesystem) on parts of media for performance
+allow vold media_rw_data_file:dir mounton;
+
+# Allow setting project quota IDs and enabling project ID inheritance on
+# /data/media/$userId/* and /mnt/expand/$volume/media/$userId/*
+allowxperm vold media_rw_data_file:{ dir file } ioctl {
+  FS_IOC_FSGETXATTR
+  FS_IOC_FSSETXATTR
+  FS_IOC_GETFLAGS
+  FS_IOC_SETFLAGS
+};
+
+# Allow mounting of storage devices
+allow vold { mnt_media_rw_stub_file storage_stub_file }:dir { mounton create rmdir getattr setattr };
+
+# Manage per-user primary symlinks
+allow vold mnt_user_file:dir { create_dir_perms mounton };
+allow vold mnt_user_file:lnk_file create_file_perms;
+allow vold mnt_user_file:file create_file_perms;
+
+# Manage per-user pass_through primary symlinks
+allow vold mnt_pass_through_file:dir { create_dir_perms mounton };
+allow vold mnt_pass_through_file:lnk_file create_file_perms;
+
+# Allow to create and mount expanded storage
+allow vold mnt_expand_file:dir { create_dir_perms mounton };
+allow vold apk_data_file:dir { create getattr setattr };
+allow vold shell_data_file:dir { create getattr setattr };
+allow vold system_userdir_file:dir { create getattr setattr };
+allow vold media_userdir_file:dir { create getattr setattr open read ioctl };
+# Needed to set the casefold flag on /mnt/expand/$volume/media
+allowxperm vold media_userdir_file:dir ioctl { FS_IOC_GETFLAGS FS_IOC_SETFLAGS };
+
+# Allow to mount incremental file system on /data/incremental and create files
+allow vold apk_data_file:dir { mounton rw_dir_perms };
+# Allow to create and write files in /data/incremental
+allow vold apk_data_file:file { rw_file_perms unlink };
+# Allow to bind-mount incremental file system on /data/app/vmdl*.tmp and read files
+allow vold apk_tmp_file:dir { mounton r_dir_perms };
+# Allow to read incremental control file and call selinux restorecon on it
+allow vold incremental_control_file:file { r_file_perms relabelto };
+
+allow vold tmpfs:filesystem { mount unmount };
+allow vold tmpfs:dir create_dir_perms;
+allow vold tmpfs:dir mounton;
+allow vold self:global_capability_class_set { net_admin dac_override dac_read_search mknod sys_admin chown fowner fsetid };
+allow vold self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+allow vold loop_control_device:chr_file rw_file_perms;
+allow vold loop_device:blk_file { create setattr unlink rw_file_perms };
+allowxperm vold loop_device:blk_file ioctl {
+  LOOP_CLR_FD
+  LOOP_CTL_GET_FREE
+  LOOP_GET_STATUS64
+  LOOP_SET_FD
+  LOOP_SET_STATUS64
+};
+allow vold vold_device:blk_file { create setattr unlink rw_file_perms };
+allowxperm vold vold_device:blk_file ioctl { BLKDISCARD BLKGETSIZE };
+allow vold dm_device:chr_file rw_file_perms;
+allow vold dm_device:blk_file rw_file_perms;
+allowxperm vold dm_device:blk_file ioctl { BLKDISCARD BLKSECDISCARD BLKREPORTZONE BLKRESETZONE BLKROSET BLKROGET };
+# For vold Process::killProcessesWithOpenFiles function.
+allow vold domain:dir r_dir_perms;
+allow vold domain:{ file lnk_file } r_file_perms;
+allow vold domain:process { signal sigkill };
+allow vold self:global_capability_class_set { sys_ptrace kill };
+
+allow vold kmsg_device:chr_file rw_file_perms;
+
+# Run fsck in the fsck domain.
+allow vold fsck_exec:file { r_file_perms execute };
+
+# Log fsck results
+allow vold fscklogs:dir rw_dir_perms;
+allow vold fscklogs:file create_file_perms;
+
+# Mount and unmount filesystems.
+allow vold labeledfs:filesystem { mount unmount remount };
+
+# Create and mount on /data/tmp_mnt and management of expansion mounts
+#
+# Also rename per-user encrypted directories such as /data/user/10 from their
+# temporary name ("10.new") to their final name ("10").
+allow vold {
+    system_data_file
+    system_data_root_file
+}:dir { create_dir_perms mounton };
+allow vold system_data_file:lnk_file getattr;
+
+# Vold create users in /data/vendor_{ce,de}/[0-9]+
+allow vold vendor_data_file:dir create_dir_perms;
+
+# for secdiscard
+allow vold system_data_file:file read;
+
+# Set scheduling policy of kernel processes
+allow vold kernel:process setsched;
+
+# ASEC
+allow vold asec_image_file:file create_file_perms;
+allow vold asec_image_file:dir rw_dir_perms;
+allow vold asec_apk_file:dir { create_dir_perms mounton relabelfrom relabelto };
+allow vold asec_public_file:dir { relabelto setattr };
+allow vold asec_apk_file:file { r_file_perms setattr relabelfrom relabelto };
+allow vold asec_public_file:file { relabelto setattr };
+# restorecon files in asec containers created on 4.2 or earlier.
+allow vold unlabeled:dir { r_dir_perms setattr relabelfrom };
+allow vold unlabeled:file { r_file_perms setattr relabelfrom };
+
+# Access to FUSE control filesystem to hard-abort FUSE mounts
+allow vold fusectlfs:file rw_file_perms;
+allow vold fusectlfs:dir rw_dir_perms;
+
+# Allow vold to use wake locks.  Needed for idle maintenance and moving storage.
+wakelock_use(vold)
+
+# Allow vold to make binder calls and publish binder services.
+binder_use(vold)
+add_service(vold, vold_service)
+add_service(vold, fwk_vold_service)
+
+# Allow vold to call into the system server so it can check permissions.
+binder_call(vold, system_server)
+allow vold permission_service:service_manager find;
+
+# talk to health storage HAL
+hal_client_domain(vold, hal_health_storage)
+
+# talk to bootloader HAL
+full_treble_only(`hal_client_domain(vold, hal_bootctl)')
+
+# Access userdata block device.
+allow vold userdata_block_device:blk_file rw_file_perms;
+allowxperm vold userdata_block_device:blk_file ioctl BLKSECDISCARD;
+
+# Access zoned block device.
+allow vold zoned_block_device:blk_file rw_file_perms;
+
+# Access metadata block device used for encryption meta-data.
+allow vold metadata_block_device:blk_file rw_file_perms;
+allowxperm vold metadata_block_device:blk_file ioctl BLKSECDISCARD;
+
+# Allow vold to manipulate /data/unencrypted
+allow vold unencrypted_data_file:{ file } create_file_perms;
+allow vold unencrypted_data_file:dir create_dir_perms;
+
+# Write to /proc/sys/vm/drop_caches
+allow vold proc_drop_caches:file w_file_perms;
+
+# Give vold a place where only vold can store files; everyone else is off limits
+allow vold vold_data_file:dir create_dir_perms;
+allow vold vold_data_file:file create_file_perms;
+
+# And a similar place in the metadata partition
+allow vold vold_metadata_file:dir create_dir_perms;
+allow vold vold_metadata_file:file create_file_perms;
+
+# linux keyring configuration
+allow vold init:key { write search setattr };
+allow vold vold:key { write search setattr };
+
+# vold temporarily changes its priority when running benchmarks
+allow vold self:global_capability_class_set sys_nice;
+
+# vold needs to chroot into app namespaces to remount when runtime permissions change
+allow vold self:global_capability_class_set sys_chroot;
+allow vold storage_file:dir mounton;
+
+# For AppFuse.
+allow vold fuse_device:chr_file rw_file_perms;
+allow vold fuse:filesystem { relabelfrom };
+allow vold app_fusefs:filesystem { relabelfrom relabelto };
+allow vold app_fusefs:filesystem { mount unmount };
+allow vold app_fuse_file:dir rw_dir_perms;
+allow vold app_fuse_file:file { read write open getattr append };
+
+# MoveStorage.cpp executes cp and rm
+allow vold toolbox_exec:file rx_file_perms;
+
+# Prepare profile dir for users.
+allow vold { user_profile_data_file user_profile_root_file }:dir create_dir_perms;
+
+# Raw writes to misc block device
+allow vold misc_block_device:blk_file w_file_perms;
+
+# vold might need to search or mount /mnt/vendor/*
+allow vold mnt_vendor_file:dir search;
+
+dontaudit vold self:global_capability_class_set sys_resource;
+
+dontaudit vold self:capability sys_rawio;
+
+# Allow ReadDefaultFstab().
+read_fstab(vold)
+
+# vold might need to search loopback apex files
+allow vold vendor_apex_file:file r_file_perms;
+
+###
+### Neverallow rules
+###
+
+neverallow {
+    domain
+    -system_server
+    -vdc
+    -vold
+    -update_verifier
+    -apexd
+    -gsid
+} vold_service:service_manager find;
+
+# Only vold should create (and delete) per-user directories like
+# /data/user/$userId.  This is very important, as these directories need to be
+# encrypted with per-user keys, which only vold can do.  Encryption can only be
+# set up on empty directories, so creation and encryption must happen together.
+neverallow {
+    domain
+    -vold
+} {
+    media_userdir_file
+    system_userdir_file
+    vendor_userdir_file
+}:dir {
+    add_name
+    remove_name
+    write
+};
+
+# Only vold and init should ever set file-based encryption policies.
+neverallowxperm {
+  domain
+  -vold
+  -init
+  -vendor_init
+  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, ` -vold_prepare_subdirs ')
+} data_file_type:dir ioctl { FS_IOC_SET_ENCRYPTION_POLICY };
+
+# Only vold should ever add/remove file-based encryption keys.
+neverallowxperm {
+  domain
+  -vold
+} data_file_type:dir ioctl { FS_IOC_ADD_ENCRYPTION_KEY FS_IOC_REMOVE_ENCRYPTION_KEY FS_IOC_GET_ENCRYPTION_KEY_STATUS };
+
+neverallow {
+    domain
+    -vold
+    -vold_prepare_subdirs
+} vold_data_file:dir ~{ open create read getattr setattr search relabelfrom relabelto ioctl };
+
+neverallow {
+    domain
+    -init
+    -vold
+    -vold_prepare_subdirs
+} vold_data_file:dir *;
+
+neverallow {
+    domain
+    -init
+    -vold
+} vold_metadata_file:dir *;
+
+neverallow {
+    domain
+    -kernel
+    -vold
+    -vold_prepare_subdirs
+} vold_data_file:notdevfile_class_set ~{ relabelto getattr };
+
+neverallow {
+    domain
+    -init
+    -vold
+    -vold_prepare_subdirs
+} vold_metadata_file:notdevfile_class_set ~{ relabelto getattr };
+
+neverallow {
+    domain
+    -init
+    -kernel
+    -vold
+    -vold_prepare_subdirs
+} { vold_data_file vold_metadata_file }:notdevfile_class_set *;
+
+neverallow { domain -vold -init } restorecon_prop:property_service set;
+
+neverallow vold {
+  domain
+  -hal_health_storage_server
+  -hal_keymaster_server
+  -system_suspend_server
+  -hal_bootctl_server
+  -hwservicemanager
+  -keystore
+  -servicemanager
+  -system_server
+  userdebug_or_eng(`-su')
+}:binder call;
+
+neverallow vold fsck_exec:file execute_no_trans;
+neverallow { domain -init } vold:process { transition dyntransition };
+neverallow vold *:process ptrace;
+neverallow vold *:rawip_socket *;
diff --git a/prebuilts/api/202504/private/vold_prepare_subdirs.te b/prebuilts/api/202504/private/vold_prepare_subdirs.te
new file mode 100644
index 0000000..44c9ea5
--- /dev/null
+++ b/prebuilts/api/202504/private/vold_prepare_subdirs.te
@@ -0,0 +1,101 @@
+domain_auto_trans(vold, vold_prepare_subdirs_exec, vold_prepare_subdirs)
+
+typeattribute vold_prepare_subdirs coredomain;
+typeattribute vold_prepare_subdirs mlstrustedsubject;
+
+allow vold_prepare_subdirs system_file:file execute_no_trans;
+allow vold_prepare_subdirs shell_exec:file rx_file_perms;
+allow vold_prepare_subdirs toolbox_exec:file rx_file_perms;
+allow vold_prepare_subdirs devpts:chr_file rw_file_perms;
+allow vold_prepare_subdirs vold:fd use;
+allow vold_prepare_subdirs vold:fifo_file { read write };
+allow vold_prepare_subdirs file_contexts_file:file r_file_perms;
+allow vold_prepare_subdirs seapp_contexts_file:file r_file_perms;
+allow vold_prepare_subdirs self:global_capability_class_set { chown dac_override dac_read_search fowner };
+allow vold_prepare_subdirs self:process setfscreate;
+allow vold_prepare_subdirs {
+  sdk_sandbox_system_data_file
+  system_data_file
+  vendor_data_file
+}:dir { open read write add_name remove_name rmdir relabelfrom };
+allow vold_prepare_subdirs {
+    apex_data_file_type
+    apex_module_data_file
+    apex_rollback_data_file
+    backup_data_file
+    checkin_data_file
+    face_vendor_data_file
+    fingerprint_vendor_data_file
+    iris_vendor_data_file
+    rollback_data_file
+    is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_key_file')
+    storaged_data_file
+    sdk_sandbox_data_file
+    sdk_sandbox_system_data_file
+    system_data_file
+    vold_data_file
+}:dir { create_dir_perms relabelto };
+allow vold_prepare_subdirs {
+    apex_data_file_type
+    apex_art_staging_data_file
+    apex_module_data_file
+    apex_rollback_data_file
+    backup_data_file
+    checkin_data_file
+    face_vendor_data_file
+    fingerprint_vendor_data_file
+    iris_vendor_data_file
+    rollback_data_file
+    storaged_data_file
+    sdk_sandbox_data_file
+    system_data_file
+    vold_data_file
+}:file { getattr unlink };
+allow vold_prepare_subdirs apex_mnt_dir:dir { open read };
+allow vold_prepare_subdirs mnt_expand_file:dir search;
+allow vold_prepare_subdirs user_profile_data_file:dir { search getattr relabelfrom };
+allow vold_prepare_subdirs user_profile_root_file:dir { search getattr relabelfrom relabelto };
+
+# Allow vold_prepare_subdirs to create storage area directories on behalf of apps.
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  allow vold_prepare_subdirs {
+      storage_area_dir
+      storage_area_app_dir
+  }:dir {
+      rw_dir_perms
+      create
+      setattr # for chown() and chmod()
+      rmdir
+      unlink
+      relabelfrom # setfilecon
+      relabelto # setfilecon
+  };
+
+  # The storage area directories should have type storage_area_dir
+  type_transition vold_prepare_subdirs storage_area_app_dir:dir storage_area_dir;
+
+  selinux_check_context(vold_prepare_subdirs)
+
+  allowxperm vold_prepare_subdirs storage_area_dir:dir ioctl FS_IOC_SET_ENCRYPTION_POLICY;
+')
+
+is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
+  neverallowxperm vold_prepare_subdirs {
+    data_file_type
+    -storage_area_dir
+  }:dir ioctl FS_IOC_SET_ENCRYPTION_POLICY;
+')
+
+# Migrate legacy labels to apex_system_server_data_file (b/217581286)
+allow vold_prepare_subdirs {
+  apex_appsearch_data_file
+  apex_permission_data_file
+  apex_scheduling_data_file
+  apex_tethering_data_file
+  apex_wifi_data_file
+}:dir relabelfrom;
+
+# /data/misc is unlabeled during early boot.
+allow vold_prepare_subdirs unlabeled:dir search;
+
+dontaudit vold_prepare_subdirs { proc unlabeled }:file r_file_perms;
diff --git a/prebuilts/api/202504/private/vzwomatrigger_app.te b/prebuilts/api/202504/private/vzwomatrigger_app.te
new file mode 100644
index 0000000..8deb22b
--- /dev/null
+++ b/prebuilts/api/202504/private/vzwomatrigger_app.te
@@ -0,0 +1,6 @@
+###
+### A domain for further sandboxing the VzwOmaTrigger app.
+###
+type vzwomatrigger_app, domain;
+
+app_domain(vzwomatrigger_app)
diff --git a/prebuilts/api/202504/private/wait_for_keymaster.te b/prebuilts/api/202504/private/wait_for_keymaster.te
new file mode 100644
index 0000000..974a297
--- /dev/null
+++ b/prebuilts/api/202504/private/wait_for_keymaster.te
@@ -0,0 +1,5 @@
+# wait_for_keymaster service. No longer used;
+# here only so that downstream code compiles.
+type wait_for_keymaster, domain, coredomain;
+type wait_for_keymaster_exec, system_file_type, exec_type, file_type;
+
diff --git a/prebuilts/api/202504/private/watchdogd.te b/prebuilts/api/202504/private/watchdogd.te
new file mode 100644
index 0000000..509e950
--- /dev/null
+++ b/prebuilts/api/202504/private/watchdogd.te
@@ -0,0 +1,6 @@
+typeattribute watchdogd coredomain;
+
+init_daemon_domain(watchdogd)
+
+allow watchdogd watchdog_device:chr_file rw_file_perms;
+allow watchdogd kmsg_device:chr_file rw_file_perms;
diff --git a/prebuilts/api/202504/private/webview_zygote.te b/prebuilts/api/202504/private/webview_zygote.te
new file mode 100644
index 0000000..1e32c1f
--- /dev/null
+++ b/prebuilts/api/202504/private/webview_zygote.te
@@ -0,0 +1,162 @@
+# webview_zygote is an auxiliary zygote process that is used to spawn
+# isolated_app processes for rendering untrusted web content.
+
+typeattribute webview_zygote coredomain;
+
+# The webview_zygote needs to be able to transition domains.
+typeattribute webview_zygote mlstrustedsubject;
+
+# Allow access to temporary files, which is normally permitted through
+# a domain macro.
+tmpfs_domain(webview_zygote);
+
+userfaultfd_use(webview_zygote)
+
+# Allow reading/executing installed binaries to enable preloading the
+# installed WebView implementation.
+allow webview_zygote apk_data_file:dir r_dir_perms;
+allow webview_zygote apk_data_file:file { r_file_perms execute };
+
+# Access to the WebView relro file.
+allow webview_zygote shared_relro_file:dir search;
+allow webview_zygote shared_relro_file:file r_file_perms;
+
+# Set the UID/GID of the process.
+allow webview_zygote self:global_capability_class_set { setgid setuid };
+# Drop capabilities from bounding set.
+allow webview_zygote self:global_capability_class_set setpcap;
+# Switch SELinux context to app domains.
+allow webview_zygote self:process setcurrent;
+allow webview_zygote isolated_app:process dyntransition;
+
+# For art.
+allow webview_zygote { apex_art_data_file dalvikcache_data_file }:dir r_dir_perms;
+allow webview_zygote dalvikcache_data_file:lnk_file r_file_perms;
+allow webview_zygote { apex_art_data_file dalvikcache_data_file }:file { r_file_perms execute };
+allow webview_zygote apex_module_data_file:dir search;
+
+# To load overlay from /apex (vendor APEXes)
+allow webview_zygote vendor_apex_metadata_file:dir search;
+
+# Allow webview_zygote to create JIT memory.
+allow webview_zygote self:process execmem;
+
+# Allow webview_zygote to stat the files that it opens. It must
+# be able to inspect them so that it can reopen them on fork
+# if necessary: b/30963384.
+allow webview_zygote debugfs_trace_marker:file getattr;
+
+# Allow webview_zygote to manage the pgroup of its children.
+allow webview_zygote system_server:process getpgid;
+
+# Interaction between the webview_zygote and its children.
+allow webview_zygote isolated_app:process setpgid;
+
+# TODO (b/63631799) fix this access
+# Suppress denials to storage. Webview zygote should not be accessing.
+dontaudit webview_zygote mnt_expand_file:dir getattr;
+
+# TODO (b/72957399) remove this when webview_zygote is reparented to
+# app_process zygote
+dontaudit webview_zygote dex2oat_exec:file execute;
+
+# Get seapp_contexts
+allow webview_zygote seapp_contexts_file:file r_file_perms;
+# Check validity of SELinux context before use.
+selinux_check_context(webview_zygote)
+# Check SELinux permissions.
+selinux_check_access(webview_zygote)
+
+# Directory listing in /system.
+allow webview_zygote system_file:dir r_dir_perms;
+
+# Read and inspect temporary files (like system properties) managed by zygote.
+allow webview_zygote zygote_tmpfs:file { read getattr };
+# Child of zygote.
+allow webview_zygote zygote:fd use;
+allow webview_zygote zygote:process sigchld;
+
+# Allow apps access to /vendor/overlay
+r_dir_file(webview_zygote, vendor_overlay_file)
+
+allow webview_zygote same_process_hal_file:file { execute read open getattr map };
+
+allow webview_zygote system_data_file:lnk_file r_file_perms;
+
+# Send unsolicited message to system_server
+unix_socket_send(webview_zygote, system_unsolzygote, system_server)
+
+# Allow the webview_zygote to access the runtime feature flag properties.
+get_prop(webview_zygote, device_config_runtime_native_prop)
+get_prop(webview_zygote, device_config_runtime_native_boot_prop)
+
+# Allow webview_zygote to access odsign verification status
+get_prop(zygote, odsign_prop)
+
+# /data/resource-cache
+allow webview_zygote resourcecache_data_file:file r_file_perms;
+allow webview_zygote resourcecache_data_file:dir r_dir_perms;
+
+#####
+##### Neverallow
+#####
+
+# Only permit transition to isolated_app.
+neverallow webview_zygote { domain -isolated_app }:process dyntransition;
+
+# Only setcon() transitions, no exec() based transitions, except for crash_dump.
+neverallow webview_zygote { domain -crash_dump }:process transition;
+
+# Must not exec() a program without changing domains.
+# Having said that, exec() above is not allowed.
+neverallow webview_zygote *:file execute_no_trans;
+
+# The only way to enter this domain is for the zygote to fork a new
+# webview_zygote child.
+neverallow { domain -zygote } webview_zygote:process dyntransition;
+
+# Disallow write access to properties.
+neverallow webview_zygote property_socket:sock_file write;
+neverallow webview_zygote property_type:property_service set;
+
+# Should not have any access to app data files.
+neverallow webview_zygote app_data_file_type:file { rwx_file_perms };
+
+neverallow webview_zygote {
+    service_manager_type
+    -activity_service
+    -webviewupdate_service
+}:service_manager find;
+
+# Isolated apps shouldn't be able to access the driver directly.
+neverallow webview_zygote gpu_device:chr_file { rwx_file_perms };
+
+# Do not allow webview_zygote access to /cache.
+neverallow webview_zygote cache_file:dir ~{ r_dir_perms };
+neverallow webview_zygote cache_file:file ~{ read getattr };
+
+# Do not allow most socket access. This is socket_class_set, excluding unix_dgram_socket,
+# unix_stream_socket, and netlink_selinux_socket.
+neverallow webview_zygote domain:{
+  socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket
+  appletalk_socket netlink_route_socket netlink_tcpdiag_socket
+  netlink_nflog_socket netlink_xfrm_socket netlink_audit_socket
+  netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket
+  netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket
+  netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket
+  sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket
+  x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket
+  pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket
+  rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
+  alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket
+  xdp_socket
+} *;
+
+# Do not allow access to Bluetooth-related system properties.
+# neverallow rules for Bluetooth-related data files are listed above.
+neverallow webview_zygote {
+  bluetooth_a2dp_offload_prop
+  bluetooth_audio_hal_prop
+  bluetooth_prop
+  exported_bluetooth_prop
+}:file create_file_perms;
diff --git a/prebuilts/api/202504/private/wifi_mainline_supplicant.te b/prebuilts/api/202504/private/wifi_mainline_supplicant.te
new file mode 100644
index 0000000..c18cef6
--- /dev/null
+++ b/prebuilts/api/202504/private/wifi_mainline_supplicant.te
@@ -0,0 +1,31 @@
+type wifi_mainline_supplicant, domain, coredomain;
+type wifi_mainline_supplicant_exec, system_file_type, exec_type, file_type;
+
+binder_use(wifi_mainline_supplicant)
+init_daemon_domain(wifi_mainline_supplicant)
+add_service(wifi_mainline_supplicant, wifi_mainline_supplicant_service)
+
+allow wifi_mainline_supplicant self:global_capability_class_set { net_admin net_raw };
+allow wifi_mainline_supplicant proc_net:file rw_file_perms;
+allow wifi_mainline_supplicant sysfs_net:dir search;
+
+# Allow limited access to the parent directory /data/misc/wifi/
+allow wifi_mainline_supplicant wifi_data_file:dir { getattr search };
+
+# Create temporary socket files in /data/misc/wifi/mainline_supplicant/sockets
+allow wifi_mainline_supplicant mainline_supplicant_data_file:dir create_dir_perms;
+allow wifi_mainline_supplicant mainline_supplicant_data_file:file create_file_perms;
+allow wifi_mainline_supplicant mainline_supplicant_data_file:sock_file { create write setattr unlink };
+
+# UDP sockets
+allow wifi_mainline_supplicant self:udp_socket create_socket_perms;
+allowxperm wifi_mainline_supplicant self:udp_socket ioctl { priv_sock_ioctls SIOCSIFFLAGS SIOCSIFHWADDR };
+
+# Packet sockets
+allow wifi_mainline_supplicant self:packet_socket create_socket_perms;
+allowxperm wifi_mainline_supplicant self:packet_socket ioctl { unpriv_sock_ioctls priv_sock_ioctls unpriv_tty_ioctls };
+
+# Netlink sockets
+allow wifi_mainline_supplicant self:netlink_route_socket { bind create read write nlmsg_readpriv nlmsg_write };
+allow wifi_mainline_supplicant self:netlink_socket create_socket_perms_no_ioctl;
+allow wifi_mainline_supplicant self:netlink_generic_socket create_socket_perms_no_ioctl;
diff --git a/prebuilts/api/202504/private/wificond.te b/prebuilts/api/202504/private/wificond.te
new file mode 100644
index 0000000..0461573
--- /dev/null
+++ b/prebuilts/api/202504/private/wificond.te
@@ -0,0 +1,49 @@
+typeattribute wificond coredomain;
+
+set_prop(wificond, wifi_hal_prop)
+set_prop(wificond, wifi_prop)
+set_prop(wificond, ctl_default_prop)
+
+get_prop(wificond, hwservicemanager_prop)
+
+allow wificond legacykeystore_service:service_manager find;
+
+init_daemon_domain(wificond)
+
+binder_use(wificond)
+binder_call(wificond, system_server)
+binder_call(wificond, keystore)
+
+add_service(wificond, wifinl80211_service)
+hal_client_domain(wificond, hal_nlinterceptor)
+
+# create sockets to set interfaces up and down
+allow wificond self:udp_socket create_socket_perms;
+# setting interface state up/down is a privileged ioctl
+allowxperm wificond self:udp_socket ioctl { SIOCSIFFLAGS SIOCSIFHWADDR };
+allow wificond self:global_capability_class_set { net_admin net_raw };
+# allow wificond to speak to nl80211 in the kernel
+allow wificond self:netlink_socket create_socket_perms_no_ioctl;
+# newer kernels (e.g. 4.4 but not 4.1) have a new class for sockets
+allow wificond self:netlink_generic_socket create_socket_perms_no_ioctl;
+
+r_dir_file(wificond, proc_net_type)
+
+# allow wificond to check permission for dumping logs
+allow wificond permission_service:service_manager find;
+
+# dumpstate support
+allow wificond dumpstate:fd use;
+allow wificond dumpstate:fifo_file write;
+
+#### Offer the Wifi Keystore HwBinder service ###
+hwbinder_use(wificond)
+typeattribute wificond wifi_keystore_service_server;
+add_hwservice(wificond, system_wifi_keystore_hwservice)
+
+# Allow keystore2 binder access to serve the HwBinder service.
+allow wificond keystore_service:service_manager find;
+allow wificond wifi_key:keystore2_key {
+    get_info
+    use
+};
diff --git a/prebuilts/api/202504/private/zygote.te b/prebuilts/api/202504/private/zygote.te
new file mode 100644
index 0000000..4815ecc
--- /dev/null
+++ b/prebuilts/api/202504/private/zygote.te
@@ -0,0 +1,309 @@
+# zygote
+typeattribute zygote coredomain;
+typeattribute zygote mlstrustedsubject;
+
+init_daemon_domain(zygote)
+tmpfs_domain(zygote)
+
+read_runtime_log_tags(zygote)
+
+# Override DAC on files and switch uid/gid.
+allow zygote self:global_capability_class_set { dac_override dac_read_search setgid setuid fowner chown };
+
+# Drop capabilities from bounding set.
+allow zygote self:global_capability_class_set setpcap;
+
+# Switch SELinux context to app domains.
+allow zygote self:process setcurrent;
+allow zygote system_server_startup:process dyntransition;
+allow zygote appdomain:process dyntransition;
+allow zygote webview_zygote:process dyntransition;
+allow zygote app_zygote:process dyntransition;
+
+# Allow zygote to read app /proc/pid dirs (b/10455872).
+allow zygote appdomain:dir { getattr search };
+allow zygote appdomain:file { r_file_perms };
+
+userfaultfd_use(zygote)
+
+# Move children into the peer process group.
+allow zygote system_server:process { getpgid setpgid };
+allow zygote appdomain:process { getpgid setpgid };
+allow zygote webview_zygote:process { getpgid setpgid };
+allow zygote app_zygote:process { getpgid setpgid };
+
+# Read system data.
+allow zygote system_data_file:dir r_dir_perms;
+allow zygote system_data_file:file r_file_perms;
+
+# Get attributes of /mnt/expand, needed by cacheNonBootClasspathClassLoaders.
+allow zygote mnt_expand_file:dir getattr;
+
+# Write to /data/dalvik-cache.
+allow zygote dalvikcache_data_file:dir create_dir_perms;
+allow zygote dalvikcache_data_file:file create_file_perms;
+
+# Create symlinks in /data/dalvik-cache.
+allow zygote dalvikcache_data_file:lnk_file create_file_perms;
+
+# Write to /data/resource-cache.
+allow zygote resourcecache_data_file:dir rw_dir_perms;
+allow zygote resourcecache_data_file:file create_file_perms;
+
+# For updateability, the zygote may fetch the current boot
+# classpath from the dalvik cache. Integrity of the files
+# is ensured by fsverity protection (checked in art_apex_boot_integrity).
+allow zygote dalvikcache_data_file:file execute;
+
+# Allow zygote to find files in APEX data directories.
+allow zygote apex_module_data_file:dir search;
+
+# Allow zygote to find and map files created by on device signing.
+allow zygote apex_art_data_file:dir { getattr search };
+allow zygote apex_art_data_file:file { r_file_perms execute };
+
+# Mount tmpfs over various directories containing per-app directories, to hide
+# them for app data isolation.  Also traverse these directories (via
+# /data_mirror) to find the allowlisted per-app directories to bind-mount in.
+allow zygote {
+    # /data/user{,_de}, /mnt/expand/$volume/user{,_de}
+    system_userdir_file
+    # /data/data
+    system_data_file
+    # /data/misc/profiles/cur
+    user_profile_root_file
+    # /data/misc/profiles/ref
+    user_profile_data_file
+    # /storage/emulated/$userId/Android/{data,obb}
+    media_rw_data_file
+    # /dev/__properties__
+    properties_device
+}:dir { mounton search };
+
+# Traverse /data_mirror to get to the above directories while their normal paths
+# are hidden, in order to bind-mount allowlisted per-app directories.
+allow zygote mirror_data_file:dir search;
+
+# List /mnt/expand to find all /mnt/expand/$volume/user{,_de} directories that
+# need to be hidden by app data isolation, and traverse /mnt/expand to get to
+# any allowlisted per-app directories within these directories.
+allow zygote mnt_expand_file:dir { open read search };
+
+# Get the inode number of app CE data directories to find them by inode number
+# when CE storage is locked.  Needed for app data isolation.
+allow zygote app_data_file_type:dir getattr;
+
+# Create dirs in the app data isolation tmpfs mounts and bind mount on them.
+allow zygote tmpfs:dir { create_dir_perms mounton };
+
+# Create the '/data/user/0 => /data/data' symlink in the /data/user tmpfs mount
+# when setting up app data isolation.
+allow zygote tmpfs:lnk_file create;
+
+# Relabel dirs and symlinks in the app and sdk sandbox data isolation tmpfs mounts to their
+# standard labels.  Note: it seems that not all dirs are actually relabeled yet,
+# but it works anyway since all domains can search tmpfs:dir.
+allow zygote tmpfs:{ dir lnk_file } relabelfrom;
+allow zygote system_userdir_file:dir relabelto;
+allow zygote system_data_file:{ dir lnk_file } relabelto;
+allow zygote sdk_sandbox_system_data_file:dir { getattr relabelto search };
+
+# Read if sdcardfs is supported
+allow zygote proc_filesystems:file r_file_perms;
+
+# Allow zygote to create JIT memory.
+allow zygote self:process execmem;
+allow zygote zygote_tmpfs:file execute;
+allow zygote ashmem_libcutils_device:chr_file execute;
+
+# Execute idmap and dex2oat within zygote's own domain.
+# TODO:  Should either of these be transitioned to the same domain
+# used by installd or stay in-domain for zygote?
+allow zygote idmap_exec:file rx_file_perms;
+allow zygote dex2oat_exec:file rx_file_perms;
+
+# Allow apps access to /vendor/overlay
+r_dir_file(zygote, vendor_overlay_file)
+
+# Control cgroups.
+allow zygote cgroup:dir create_dir_perms;
+allow zygote cgroup:{ file lnk_file } { r_file_perms setattr };
+allow zygote cgroup_v2:dir create_dir_perms;
+allow zygote cgroup_v2:{ file lnk_file } { r_file_perms setattr };
+allow zygote self:global_capability_class_set sys_admin;
+
+# Allow zygote to stat the files that it opens. The zygote must
+# be able to inspect them so that it can reopen them on fork
+# if necessary: b/30963384.
+allow zygote pmsg_device:chr_file getattr;
+allow zygote debugfs_trace_marker:file getattr;
+
+# Get seapp_contexts
+allow zygote seapp_contexts_file:file r_file_perms;
+# Check validity of SELinux context before use.
+selinux_check_context(zygote)
+# Check SELinux permissions.
+selinux_check_access(zygote)
+
+# Native bridge functionality requires that zygote replaces
+# /proc/cpuinfo with /system/lib/<ISA>/cpuinfo using a bind mount
+allow zygote proc_cpuinfo:file mounton;
+
+# Allow remounting rootfs as MS_SLAVE.
+allow zygote rootfs:dir mounton;
+allow zygote tmpfs:filesystem { mount unmount };
+allow zygote fuse:filesystem { unmount };
+allow zygote sdcardfs:filesystem { unmount };
+allow zygote labeledfs:filesystem { unmount };
+
+# Allow creating user-specific storage source if started before vold.
+allow zygote mnt_user_file:dir { create_dir_perms mounton };
+allow zygote mnt_user_file:lnk_file create_file_perms;
+allow zygote mnt_user_file:file create_file_perms;
+
+# Allow mounting user-specific storage source if started before vold.
+allow zygote mnt_pass_through_file:dir { create_dir_perms mounton };
+
+# Allowed to mount user-specific storage into place
+allow zygote storage_file:dir { search mounton };
+
+# Allow mounting and creating files, dirs on sdcardfs.
+allow zygote { sdcard_type fuse }:dir { create_dir_perms mounton };
+allow zygote { sdcard_type fuse }:file { create_file_perms };
+
+# Handle --invoke-with command when launching Zygote with a wrapper command.
+allow zygote zygote_exec:file rx_file_perms;
+
+# Allow zygote to write to statsd.
+unix_socket_send(zygote, statsdw, statsd)
+
+# Root fs.
+r_dir_file(zygote, rootfs)
+
+# System file accesses.
+r_dir_file(zygote, system_file)
+
+# /oem accesses.
+allow zygote oemfs:dir search;
+
+userdebug_or_eng(`
+  # Allow zygote to create and write method traces in /data/misc/trace.
+  allow zygote method_trace_data_file:dir w_dir_perms;
+  allow zygote method_trace_data_file:file { create w_file_perms };
+')
+
+allow zygote ion_device:chr_file r_file_perms;
+allow zygote tmpfs:dir r_dir_perms;
+
+allow zygote same_process_hal_file:file { execute read open getattr map };
+
+# Allow zygote to read build properties for attestation feature
+get_prop(zygote, build_attestation_prop)
+
+# Allow the zygote to access storage properties to check if sdcardfs is enabled.
+get_prop(zygote, storage_config_prop);
+
+# Let the zygote access overlays so it can initialize the AssetManager.
+get_prop(zygote, overlay_prop)
+get_prop(zygote, exported_overlay_prop)
+
+# Allow the zygote to access the runtime feature flag properties.
+get_prop(zygote, device_config_runtime_native_prop)
+get_prop(zygote, device_config_runtime_native_boot_prop)
+
+# Allow the zygote to access window manager native boot feature flags
+# to initialize WindowManager static properties.
+get_prop(zygote, device_config_window_manager_native_boot_prop)
+
+# ingore spurious denials
+# fsetid can be checked as a consequence of chmod when using cgroup v2 uid/pid hierarchy. This is
+# done to determine if the file should inherit setgid. In this case, setgid on the file is
+# undesirable, so suppress the denial.
+dontaudit zygote self:global_capability_class_set { sys_resource fsetid };
+
+# Ignore spurious denials calling access() on fuse.
+# Also ignore read and open as sdcardfs may read and open dir when app tries to access a dir that
+# doesn't exist.
+# TODO(b/151316657): avoid the denials
+dontaudit zygote media_rw_data_file:dir  { read open setattr };
+
+# Allow zygote to use ashmem fds from system_server.
+allow zygote system_server:fd use;
+
+# Send unsolicited message to system_server
+unix_socket_send(zygote, system_unsolzygote, system_server)
+
+# Allow zygote to access media_variant_prop for static initialization
+get_prop(zygote, media_variant_prop)
+
+# Allow zygote to access odsign verification status
+get_prop(zygote, odsign_prop)
+
+# Allow zygote to read ro.control_privapp_permissions and ro.cp_system_other_odex
+get_prop(zygote, packagemanager_config_prop)
+
+# Allow zygote to read qemu.sf.lcd_density
+get_prop(zygote, qemu_sf_lcd_density_prop)
+
+# Allow zygote to read persist.wm.debug.* to toggle experimental window manager features in
+# preloaded classes
+get_prop(zygote, persist_wm_debug_prop)
+
+# Allow zygote to read persist_sysui_builder_extras_prop
+# and persist_sysui_ranking_update_prop
+# to toggle experimental features in core preloaded classes
+get_prop(zygote, persist_sysui_builder_extras_prop)
+get_prop(zygote, persist_sysui_ranking_update_prop)
+
+# Allow zygote to read /apex/apex-info-list.xml
+allow zygote apex_info_file:file r_file_perms;
+
+# Allow zygote to canonicalize vendor APEX paths. This is used when zygote is checking the
+# preinstalled path of APEXes that contain runtime resource overlays for the 'android' package.
+allow zygote vendor_apex_file:dir { getattr search };
+allow zygote vendor_apex_file:file { getattr };
+allow zygote vendor_apex_metadata_file:dir { search };
+
+# Allow zygote to query for compression/features.
+r_dir_file(zygote, sysfs_fs_f2fs)
+
+# Allow zygote to read fonts_customization.xml for preloading font files that matches device locale.
+allow zygote system_font_fallback_file:file r_file_perms;
+
+###
+### neverallow rules
+###
+
+# Ensure that all types assigned to app processes are included
+# in the appdomain attribute, so that all allow and neverallow rules
+# written on appdomain are applied to all app processes.
+# This is achieved by ensuring that it is impossible for zygote to
+# setcon (dyntransition) to any types other than those associated
+# with appdomain plus system_server_startup, webview_zygote and
+# app_zygote.
+neverallow zygote ~{
+  appdomain
+  system_server_startup
+  webview_zygote
+  app_zygote
+}:process dyntransition;
+
+# Zygote should never execute anything from /data except for
+# /data/dalvik-cache files or files generated during on-device
+# signing under /data/misc/apexdata/com.android.art/.
+neverallow zygote {
+  data_file_type
+  -apex_art_data_file # map PROT_EXEC
+  -dalvikcache_data_file # map PROT_EXEC
+}:file no_x_file_perms;
+
+# Do not allow access to Bluetooth-related system properties and files
+neverallow zygote {
+  bluetooth_a2dp_offload_prop
+  bluetooth_audio_hal_prop
+  bluetooth_prop
+  exported_bluetooth_prop
+}:file create_file_perms;
+
+# Zygote should not be able to access app private data.
+neverallow zygote app_data_file_type:dir ~getattr;
diff --git a/prebuilts/api/202504/public/adbd.te b/prebuilts/api/202504/public/adbd.te
new file mode 100644
index 0000000..36e4bd3
--- /dev/null
+++ b/prebuilts/api/202504/public/adbd.te
@@ -0,0 +1,8 @@
+# adbd seclabel is specified in init.rc since
+# it lives in the rootfs and has no unique file type.
+type adbd, domain;
+type adbd_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/aidl_lazy_test_server.te b/prebuilts/api/202504/public/aidl_lazy_test_server.te
new file mode 100644
index 0000000..2d3b7e7
--- /dev/null
+++ b/prebuilts/api/202504/public/aidl_lazy_test_server.te
@@ -0,0 +1,6 @@
+type aidl_lazy_test_server, domain;
+type aidl_lazy_test_server_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/apexd.te b/prebuilts/api/202504/public/apexd.te
new file mode 100644
index 0000000..1964bbe
--- /dev/null
+++ b/prebuilts/api/202504/public/apexd.te
@@ -0,0 +1,7 @@
+# apexd -- manager for APEX packages
+type apexd, domain;
+type apexd_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/app.te b/prebuilts/api/202504/public/app.te
new file mode 100644
index 0000000..864557d
--- /dev/null
+++ b/prebuilts/api/202504/public/app.te
@@ -0,0 +1,13 @@
+###
+### Domain for all zygote spawned apps
+###
+### This file is the base policy for all zygote spawned apps.
+### Other policy files, such as isolated_app.te, untrusted_app.te, etc
+### extend from this policy. Only policies which should apply to ALL
+### zygote spawned apps should be added here.
+###
+type appdomain_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/app_zygote.te b/prebuilts/api/202504/public/app_zygote.te
new file mode 100644
index 0000000..5c649d2
--- /dev/null
+++ b/prebuilts/api/202504/public/app_zygote.te
@@ -0,0 +1,9 @@
+# app_zygote is an auxiliary zygote process that is used to spawn
+# isolated service processes for individual applications. It is
+# spawned from the regular zygote process as a "child zygote".
+type app_zygote, domain;
+type app_zygote_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/artd.te b/prebuilts/api/202504/public/artd.te
new file mode 100644
index 0000000..3cf8aa0
--- /dev/null
+++ b/prebuilts/api/202504/public/artd.te
@@ -0,0 +1,6 @@
+# ART service daemon.
+type artd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/asan_extract.te b/prebuilts/api/202504/public/asan_extract.te
new file mode 100644
index 0000000..cf160d0
--- /dev/null
+++ b/prebuilts/api/202504/public/asan_extract.te
@@ -0,0 +1,13 @@
+# asan_extract
+#
+# This command set moves the artifact corresponding to the current slot
+# from /data/ota to /data/dalvik-cache.
+
+with_asan(`
+  type asan_extract, domain, coredomain;
+  type asan_extract_exec, exec_type, file_type, system_file_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/atrace.te b/prebuilts/api/202504/public/atrace.te
new file mode 100644
index 0000000..26387c6
--- /dev/null
+++ b/prebuilts/api/202504/public/atrace.te
@@ -0,0 +1,5 @@
+type atrace, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/attributes b/prebuilts/api/202504/public/attributes
new file mode 100644
index 0000000..ae7720e
--- /dev/null
+++ b/prebuilts/api/202504/public/attributes
@@ -0,0 +1,477 @@
+######################################
+# Attribute declarations
+#
+
+# All types used for devices.
+# On change, update CHECK_FC_ASSERT_ATTRS
+# in tools/checkfc.c
+attribute dev_type;
+
+# Attribute for all bpf filesystem subtypes.
+attribute bpffs_type;
+
+# All types used for processes.
+attribute domain;
+
+# All types used for filesystems.
+# On change, update CHECK_FC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute fs_type;
+
+# All types used for context= mounts.
+attribute contextmount_type;
+
+# All types referencing a FUSE filesystem.
+# When mounting a new FUSE filesystem, the fscontext= option should be used to
+# set a domain-specific type with this attribute. See app_fusefs for an
+# example.
+attribute fusefs_type;
+
+# All types used for files that can exist on a labeled fs.
+# Do not use for pseudo file types.
+# On change, update CHECK_FC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute file_type;
+
+# All types used for domain entry points.
+attribute exec_type;
+
+# All types used for /data files.
+attribute data_file_type;
+expandattribute data_file_type false;
+# All types in /data, not in /data/vendor
+attribute core_data_file_type;
+expandattribute core_data_file_type false;
+
+# All types used for app private data files in seapp_contexts.
+# Such types should not be applied to any other files.
+attribute app_data_file_type;
+expandattribute app_data_file_type false;
+
+# All types in /system
+attribute system_file_type;
+
+# All types in /system_dlkm
+attribute system_dlkm_file_type;
+
+# All types in /vendor
+attribute vendor_file_type;
+
+# All types used for procfs files.
+attribute proc_type;
+expandattribute proc_type false;
+
+# Types in /proc/net, excluding qtaguid types.
+# TODO(b/9496886) Lock down access to /proc/net.
+# This attribute is used to audit access to proc_net. it is temporary and will
+# be removed.
+attribute proc_net_type;
+expandattribute proc_net_type true;
+
+# All types used for sysfs files.
+attribute sysfs_type;
+
+# All types use for debugfs files.
+attribute debugfs_type;
+
+# All types used for tracefs files.
+attribute tracefs_type;
+
+# Attribute used for all sdcards
+attribute sdcard_type;
+
+# All types used for nodes/hosts.
+attribute node_type;
+
+# All types used for network interfaces.
+attribute netif_type;
+
+# All types used for network ports.
+attribute port_type;
+
+# All types used for property service
+# On change, update CHECK_PC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute property_type;
+
+# All properties defined in core SELinux policy. Should not be
+# used by device specific properties
+attribute core_property_type;
+
+# All properties used to configure log filtering.
+attribute log_property_type;
+
+# All properties that are not specific to device but are added from
+# outside of AOSP. (e.g. OEM-specific properties)
+# These properties are not accessible from device-specific domains
+attribute extended_core_property_type;
+
+# Properties used for representing ownership. All properties should have one
+# of: system_property_type, product_property_type, or vendor_property_type.
+
+# All properties defined by /system.
+attribute system_property_type;
+expandattribute system_property_type false;
+
+# All /system-defined properties used only in /system.
+attribute system_internal_property_type;
+expandattribute system_internal_property_type false;
+
+# All /system-defined properties which can't be written outside /system.
+attribute system_restricted_property_type;
+expandattribute system_restricted_property_type false;
+
+# All /system-defined properties with no restrictions.
+attribute system_public_property_type;
+expandattribute system_public_property_type false;
+
+# All keystore2_key labels.
+attribute keystore2_key_type;
+
+# All properties defined by /product.
+# Currently there are no enforcements between /system and /product, so for now
+# /product attributes are just replaced to /system attributes.
+define(`product_property_type',   `system_property_type')
+define(`product_internal_property_type',   `system_internal_property_type')
+define(`product_restricted_property_type', `system_restricted_property_type')
+define(`product_public_property_type',     `system_public_property_type')
+
+# All properties defined by /vendor.
+attribute vendor_property_type;
+expandattribute vendor_property_type false;
+
+# All /vendor-defined properties used only in /vendor.
+attribute vendor_internal_property_type;
+expandattribute vendor_internal_property_type false;
+
+# All /vendor-defined properties which can't be written outside /vendor.
+attribute vendor_restricted_property_type;
+expandattribute vendor_restricted_property_type false;
+
+# All /vendor-defined properties with no restrictions.
+attribute vendor_public_property_type;
+expandattribute vendor_public_property_type false;
+
+# All service_manager types created by system_server
+attribute system_server_service;
+
+# services which should be available to all but isolated apps
+attribute app_api_service;
+
+# services which should be available to all ephemeral apps
+attribute ephemeral_app_api_service;
+
+# services which export only system_api
+attribute system_api_service;
+
+# services which are explicitly disallowed for untrusted apps to access
+attribute protected_service;
+
+# All types used for services managed by servicemanager.
+# On change, update CHECK_SC_ASSERT_ATTRS
+# definition in tools/checkfc.c.
+attribute service_manager_type;
+
+# All types used for services managed by hwservicemanager
+attribute hwservice_manager_type;
+
+# All HwBinder services guaranteed to be passthrough. These services always run
+# in the process of their clients, and thus operate with the same access as
+# their clients.
+attribute same_process_hwservice;
+
+# All HwBinder services guaranteed to be offered only by core domain components
+attribute coredomain_hwservice;
+
+# All HwBinder services that untrusted apps can't directly access
+attribute protected_hwservice;
+
+# All types used for services managed by vndservicemanager
+attribute vndservice_manager_type;
+
+# All services declared as part of an HAL
+attribute hal_service_type;
+
+# All domains that can override MLS restrictions.
+# i.e. processes that can read up and write down.
+attribute mlstrustedsubject;
+
+# All types that can override MLS restrictions.
+# i.e. files that can be read by lower and written by higher
+attribute mlstrustedobject;
+
+# All domains used for apps.
+attribute appdomain;
+
+# All third party apps (except isolated_app and ephemeral_app)
+attribute untrusted_app_all;
+
+# All apps with UID between AID_ISOLATED_START (99000) and AID_ISOLATED_END (99999).
+attribute isolated_app_all;
+
+# All service types that would be allowed for isolated_compute_app.
+attribute isolated_compute_allowed_service;
+
+# All device types that would be allowed for isolated_compute_app.
+attribute isolated_compute_allowed_device;
+
+# All domains used for apps with network access.
+attribute netdomain;
+
+# All domains used for apps with bluetooth access.
+attribute bluetoothdomain;
+
+# Specific domains that expose a binder service.
+# Deprecated, consider granting the exact permissions required by your service.
+attribute binderservicedomain;
+
+# All domains which have BPF access.
+attribute bpfdomain;
+expandattribute bpfdomain false;
+
+# update_engine related domains that need to apply an update and run
+# postinstall. This includes the background daemon and the sideload tool from
+# recovery for A/B devices.
+attribute update_engine_common;
+
+# All core domains (as opposed to vendor/device-specific domains)
+attribute coredomain;
+
+# All vendor hwservice.
+attribute vendor_hwservice_type;
+
+# All socket devices owned by core domain components
+attribute coredomain_socket;
+expandattribute coredomain_socket false;
+
+# All vendor domains which violate the requirement of not using sockets for
+# communicating with core components
+# TODO(b/36577153): Remove this once there are no violations
+attribute socket_between_core_and_vendor_violators;
+expandattribute socket_between_core_and_vendor_violators false;
+
+starting_at_board_api(202504, `
+# All vsock communication is required to go through AVF so that we can
+# have a consistent permission model for which is allowed to talk to
+# which. This breaks Treble as well as updatability of VMs and
+# other components.
+# TODO(b/347661724): Remove this once there are no violations.
+attribute unconstrained_vsock_violators;
+expandattribute unconstrained_vsock_violators false;
+')
+
+# All vendor domains which violate the requirement of not executing
+# system processes
+# TODO(b/36463595)
+attribute vendor_executes_system_violators;
+expandattribute vendor_executes_system_violators false;
+
+# All domains which violate the requirement of not sharing files by path
+# between between vendor and core domains.
+# TODO(b/34980020)
+attribute data_between_core_and_vendor_violators;
+expandattribute data_between_core_and_vendor_violators false;
+
+# All system domains which violate the requirement of not executing vendor
+# binaries/libraries.
+# TODO(b/62041836)
+attribute system_executes_vendor_violators;
+expandattribute system_executes_vendor_violators false;
+
+# All system domains which violate the requirement of not writing vendor
+# properties.
+# TODO(b/78598545): Remove this once there are no violations
+attribute system_writes_vendor_properties_violators;
+expandattribute system_writes_vendor_properties_violators false;
+
+# All system domains which violate the requirement of not writing to
+# /mnt/vendor/*. Must not be used on devices launched with P or later.
+attribute system_writes_mnt_vendor_violators;
+expandattribute system_writes_mnt_vendor_violators false;
+
+# hwservices that are accessible from untrusted applications
+# WARNING: Use of this attribute should be avoided unless
+# absolutely necessary.  It is a temporary allowance to aid the
+# transition to treble and will be removed in a future platform
+# version, requiring all hwservices that are labeled with this
+# attribute to be submitted to AOSP in order to maintain their
+# app-visibility.
+attribute untrusted_app_visible_hwservice_violators;
+expandattribute untrusted_app_visible_hwservice_violators false;
+
+# halserver domains that are accessible to untrusted applications.  These
+# domains are typically those hosting  hwservices attributed by the
+# untrusted_app_visible_hwservice_violators.
+# WARNING: Use of this attribute should be avoided unless absolutely necessary.
+# It is a temporary allowance to aid the transition to treble and will be
+# removed in the future platform version, requiring all halserver domains that
+# are labeled with this attribute to be submitted to AOSP in order to maintain
+# their app-visibility.
+attribute untrusted_app_visible_halserver_violators;
+expandattribute untrusted_app_visible_halserver_violators false;
+
+# PDX services
+attribute pdx_endpoint_dir_type;
+attribute pdx_endpoint_socket_type;
+expandattribute pdx_endpoint_socket_type false;
+attribute pdx_channel_socket_type;
+expandattribute pdx_channel_socket_type false;
+
+pdx_service_attributes(display_client)
+pdx_service_attributes(display_manager)
+pdx_service_attributes(display_screenshot)
+pdx_service_attributes(display_vsync)
+pdx_service_attributes(performance_client)
+pdx_service_attributes(bufferhub_client)
+
+# All HAL servers
+attribute halserverdomain;
+# All HAL clients
+attribute halclientdomain;
+expandattribute halclientdomain true;
+
+# Exempt for halserverdomain to access sockets. Only builds for automotive
+# device types are allowed to use this attribute (enforced by CTS).
+# Unlike phone, in a car many modules are external from Android perspective and
+# HALs should be able to communicate with those devices through sockets.
+attribute hal_automotive_socket_exemption;
+
+# HALs
+hal_attribute(allocator);
+hal_attribute(atrace);
+hal_attribute(audio);
+hal_attribute(audiocontrol);
+hal_attribute(authgraph);
+hal_attribute(authsecret);
+hal_attribute(bluetooth);
+hal_attribute(bootctl);
+hal_attribute(broadcastradio);
+hal_attribute(camera);
+hal_attribute(can_bus);
+hal_attribute(can_controller);
+hal_attribute(cas);
+hal_attribute(codec2);
+hal_attribute(configstore);
+hal_attribute(confirmationui);
+hal_attribute(contexthub);
+hal_attribute(drm);
+hal_attribute(dumpstate);
+hal_attribute(evs);
+hal_attribute(face);
+hal_attribute(fastboot);
+hal_attribute(fingerprint);
+hal_attribute(gatekeeper);
+hal_attribute(gnss);
+hal_attribute(graphics_allocator);
+hal_attribute(graphics_composer);
+hal_attribute(health);
+hal_attribute(health_storage);
+starting_at_board_api(202504, `
+    hal_attribute(hwcrypto);
+')
+hal_attribute(identity);
+hal_attribute(input_classifier);
+hal_attribute(input_processor);
+hal_attribute(ir);
+hal_attribute(ivn);
+hal_attribute(keymaster);
+hal_attribute(keymint);
+hal_attribute(light);
+hal_attribute(lowpan);
+hal_attribute(macsec);
+starting_at_board_api(202504, `
+    hal_attribute(mediaquality);
+')
+hal_attribute(memtrack);
+hal_attribute(neuralnetworks);
+hal_attribute(nfc);
+hal_attribute(nlinterceptor);
+hal_attribute(oemlock);
+hal_attribute(omx);
+hal_attribute(power);
+hal_attribute(power_stats);
+hal_attribute(rebootescrow);
+hal_attribute(remoteaccess);
+hal_attribute(secretkeeper);
+hal_attribute(remotelyprovisionedcomponent_avf);
+hal_attribute(secure_element);
+hal_attribute(sensors);
+hal_attribute(telephony);
+hal_attribute(tetheroffload);
+hal_attribute(thermal);
+hal_attribute(threadnetwork);
+hal_attribute(tv_cec);
+hal_attribute(tv_hdmi_cec);
+hal_attribute(tv_hdmi_connection);
+hal_attribute(tv_hdmi_earc);
+hal_attribute(tv_input);
+hal_attribute(tv_tuner);
+hal_attribute(usb);
+hal_attribute(usb_gadget);
+hal_attribute(uwb);
+# TODO(b/196225233): Remove this attribute and its usages elsewhere
+# once all chip vendors integrate to the new UWB stack.
+hal_attribute(uwb_vendor);
+hal_attribute(vehicle);
+hal_attribute(vibrator);
+hal_attribute(vr);
+hal_attribute(weaver);
+hal_attribute(wifi);
+hal_attribute(wifi_hostapd);
+hal_attribute(wifi_supplicant);
+
+# HwBinder services offered across the core-vendor boundary
+#
+# We annotate server domains with x_server  to loosen the coupling between
+# system and vendor images. For example, it should be possible to move a service
+# from one core domain to another, without having to update the vendor image
+# which contains clients of this service.
+
+attribute automotive_display_service_server;
+attribute camera_service_server;
+attribute display_service_server;
+attribute evsmanager_service_server;
+attribute remote_provisioning_service_server;
+attribute scheduler_service_server;
+attribute sensor_service_server;
+attribute stats_service_server;
+attribute system_suspend_internal_server;
+attribute system_suspend_server;
+attribute wifi_keystore_service_server;
+
+# All types used for super partition block devices.
+attribute super_block_device_type;
+
+# All types used for DMA-BUF heaps
+attribute dmabuf_heap_device_type;
+expandattribute dmabuf_heap_device_type false;
+
+# Types for VM managers
+attribute vm_manager_device_type;
+
+# All types used for DSU metadata files.
+attribute gsi_metadata_file_type;
+
+# Types used for module-specific APEX data directories under
+# /data/{misc,misc_ce,misc_de}/apexdata.
+attribute apex_data_file_type;
+
+# Domains used for charger.
+# This is the common type for domains that executes charger's
+# functionalities, including setting and getting necessary properties,
+# permissions to maintain the health loop, writing to kernel log, handling
+# inputs and drawing screens, etc.
+attribute charger_type;
+
+# All types of ART properties.
+attribute dalvik_config_prop_type;
+
+# All tee services that can be accessed by VMs
+starting_at_board_api(202504, `
+    attribute tee_service_type;
+')
+
+# HAL service used for custom smc filtering project
+starting_at_board_api(202504, `
+    hal_attribute(vm_capabilities);
+')
diff --git a/prebuilts/api/202504/public/audioserver.te b/prebuilts/api/202504/public/audioserver.te
new file mode 100644
index 0000000..64a283d
--- /dev/null
+++ b/prebuilts/api/202504/public/audioserver.te
@@ -0,0 +1,7 @@
+# audioserver - audio services daemon
+type audioserver, domain;
+type audioserver_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/blkid.te b/prebuilts/api/202504/public/blkid.te
new file mode 100644
index 0000000..4e92e72
--- /dev/null
+++ b/prebuilts/api/202504/public/blkid.te
@@ -0,0 +1,6 @@
+# blkid called from vold
+type blkid, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/blkid_untrusted.te b/prebuilts/api/202504/public/blkid_untrusted.te
new file mode 100644
index 0000000..4be4c0c
--- /dev/null
+++ b/prebuilts/api/202504/public/blkid_untrusted.te
@@ -0,0 +1,2 @@
+# blkid for untrusted block devices
+type blkid_untrusted, domain;
diff --git a/prebuilts/api/202504/public/bluetooth.te b/prebuilts/api/202504/public/bluetooth.te
new file mode 100644
index 0000000..ff868a8
--- /dev/null
+++ b/prebuilts/api/202504/public/bluetooth.te
@@ -0,0 +1,6 @@
+# bluetooth subsystem
+type bluetooth, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/bootanim.te b/prebuilts/api/202504/public/bootanim.te
new file mode 100644
index 0000000..47f1160
--- /dev/null
+++ b/prebuilts/api/202504/public/bootanim.te
@@ -0,0 +1,7 @@
+# bootanimation oneshot service
+type bootanim, domain;
+type bootanim_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/bootstat.te b/prebuilts/api/202504/public/bootstat.te
new file mode 100644
index 0000000..437f6bc
--- /dev/null
+++ b/prebuilts/api/202504/public/bootstat.te
@@ -0,0 +1,7 @@
+# bootstat command
+type bootstat, domain;
+type bootstat_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/bpfloader.te b/prebuilts/api/202504/public/bpfloader.te
new file mode 100644
index 0000000..4aae1cf
--- /dev/null
+++ b/prebuilts/api/202504/public/bpfloader.te
@@ -0,0 +1,5 @@
+type bpfloader, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/bufferhubd.te b/prebuilts/api/202504/public/bufferhubd.te
new file mode 100644
index 0000000..e688d5c
--- /dev/null
+++ b/prebuilts/api/202504/public/bufferhubd.te
@@ -0,0 +1,7 @@
+# bufferhubd
+type bufferhubd, domain, mlstrustedsubject;
+type bufferhubd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/cameraserver.te b/prebuilts/api/202504/public/cameraserver.te
new file mode 100644
index 0000000..619b386
--- /dev/null
+++ b/prebuilts/api/202504/public/cameraserver.te
@@ -0,0 +1,8 @@
+# cameraserver - camera daemon
+type cameraserver, domain;
+type cameraserver_exec, system_file_type, exec_type, file_type;
+type cameraserver_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/charger.te b/prebuilts/api/202504/public/charger.te
new file mode 100644
index 0000000..4514fde
--- /dev/null
+++ b/prebuilts/api/202504/public/charger.te
@@ -0,0 +1,6 @@
+type charger, charger_type, domain;
+type charger_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/charger_vendor.te b/prebuilts/api/202504/public/charger_vendor.te
new file mode 100644
index 0000000..dd8d020
--- /dev/null
+++ b/prebuilts/api/202504/public/charger_vendor.te
@@ -0,0 +1,6 @@
+# Context when health HAL runs charger mode
+type charger_vendor, charger_type, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/crash_dump.te b/prebuilts/api/202504/public/crash_dump.te
new file mode 100644
index 0000000..3146ac4
--- /dev/null
+++ b/prebuilts/api/202504/public/crash_dump.te
@@ -0,0 +1,6 @@
+type crash_dump, domain;
+type crash_dump_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/credstore.te b/prebuilts/api/202504/public/credstore.te
new file mode 100644
index 0000000..faa23e9
--- /dev/null
+++ b/prebuilts/api/202504/public/credstore.te
@@ -0,0 +1,7 @@
+# credstore daemon
+type credstore, domain;
+type credstore_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/crosvm.te b/prebuilts/api/202504/public/crosvm.te
new file mode 100644
index 0000000..174a8b2
--- /dev/null
+++ b/prebuilts/api/202504/public/crosvm.te
@@ -0,0 +1,7 @@
+starting_at_board_api(202504, `
+    type crosvm, domain, coredomain;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/device.te b/prebuilts/api/202504/public/device.te
new file mode 100644
index 0000000..835b532
--- /dev/null
+++ b/prebuilts/api/202504/public/device.te
@@ -0,0 +1,143 @@
+# Device types
+type device, dev_type, fs_type;
+type ashmem_device, dev_type, mlstrustedobject;
+type ashmem_libcutils_device, dev_type, mlstrustedobject;
+type audio_device, dev_type;
+type binder_device, dev_type, mlstrustedobject;
+type hwbinder_device, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type vndbinder_device, dev_type;
+type block_device, dev_type;
+type bt_device, dev_type;
+type camera_device, dev_type;
+type dm_device, dev_type;
+type ublk_block_device, dev_type;
+type dm_user_device, dev_type;
+type ublk_control_device, dev_type;
+type keychord_device, dev_type;
+type loop_control_device, dev_type;
+type loop_device, dev_type;
+type pmsg_device, dev_type, mlstrustedobject;
+type radio_device, dev_type;
+type ram_device, dev_type;
+type rtc_device, dev_type;
+type vd_device, dev_type;
+type vold_device, dev_type;
+type console_device, dev_type;
+type fscklogs, dev_type;
+# GPU (used by most UI apps)
+type gpu_device, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type graphics_device, dev_type;
+type hw_random_device, dev_type;
+type input_device, dev_type;
+type port_device, dev_type;
+type lowpan_device, dev_type;
+type mtp_device, dev_type, mlstrustedobject;
+type nfc_device, dev_type;
+type ptmx_device, dev_type, mlstrustedobject;
+type kmsg_device, dev_type, mlstrustedobject;
+type kmsg_debug_device, dev_type;
+type null_device, dev_type, mlstrustedobject;
+type random_device, dev_type, mlstrustedobject;
+type secure_element_device, dev_type;
+type sensors_device, dev_type;
+type serial_device, dev_type;
+type socket_device, dev_type;
+type owntty_device, dev_type, mlstrustedobject;
+type tty_device, dev_type;
+type video_device, dev_type;
+type zero_device, dev_type, mlstrustedobject;
+type fuse_device, dev_type, mlstrustedobject;
+type iio_device, dev_type;
+type ion_device, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type dmabuf_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject;
+type dmabuf_system_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject, isolated_compute_allowed_device;
+type dmabuf_system_secure_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject;
+type qtaguid_device, dev_type;
+type watchdog_device, dev_type;
+type uhid_device, dev_type, mlstrustedobject;
+type uio_device, dev_type;
+type tun_device, dev_type, mlstrustedobject;
+type usbaccessory_device, dev_type, mlstrustedobject;
+type usb_device, dev_type, mlstrustedobject;
+type usb_serial_device, dev_type;
+type gnss_device, dev_type;
+type properties_device, dev_type;
+type properties_serial, dev_type;
+type property_info, dev_type;
+type hidraw_device, dev_type;
+
+# All devices have a uart for the hci
+# attach service. The uart dev node
+# varies per device. This type
+# is used in per device policy
+type hci_attach_dev, dev_type;
+
+# All devices have a rpmsg device for
+# achieving remoteproc and rpmsg modules
+type rpmsg_device, dev_type;
+
+# Partition layout block device
+type root_block_device, dev_type;
+
+# factory reset protection block device
+type frp_block_device, dev_type;
+
+# System block device mounted on /system.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type system_block_device, dev_type;
+
+# Recovery block device.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type recovery_block_device, dev_type;
+
+# boot block device.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type boot_block_device, dev_type;
+
+# dtbo block device, type used for getting DTBO information for AVF.
+# Documented at https://source.android.com/docs/core/architecture/dto/partitions
+type dtbo_block_device, dev_type;
+
+# Userdata block device mounted on /data.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type userdata_block_device, dev_type;
+
+# Zoned block device.
+type zoned_block_device, dev_type;
+
+# Cache block device mounted on /cache.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type cache_block_device, dev_type;
+
+# Block device for any swap partition.
+type swap_block_device, dev_type;
+
+# Metadata block device mounted on /metadata, used for encryption metadata and
+# various other purposes.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type metadata_block_device, dev_type;
+
+# The 'misc' partition used by recovery and A/B.
+# Documented at https://source.android.com/devices/bootloader/partitions
+type misc_block_device, dev_type;
+
+# 'super' partition to be used for logical partitioning.
+type super_block_device, super_block_device_type, dev_type;
+
+# sdcard devices; normally vold uses the vold_block_device label and creates a
+# separate device node. gsid, however, accesses the original devide node
+# created through uevents, so we use a separate label.
+type sdcard_block_device, dev_type;
+
+# Userdata device file for filesystem tunables
+type userdata_sysdev, dev_type;
+
+# Root disk file for disk tunables
+type rootdisk_sysdev, dev_type;
+
+# vfio device
+type vfio_device, dev_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/dhcp.te b/prebuilts/api/202504/public/dhcp.te
new file mode 100644
index 0000000..0c1fa30
--- /dev/null
+++ b/prebuilts/api/202504/public/dhcp.te
@@ -0,0 +1,6 @@
+type dhcp, domain;
+type dhcp_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/dnsmasq.te b/prebuilts/api/202504/public/dnsmasq.te
new file mode 100644
index 0000000..08ce653
--- /dev/null
+++ b/prebuilts/api/202504/public/dnsmasq.te
@@ -0,0 +1,7 @@
+# DNS, DHCP services
+type dnsmasq, domain;
+type dnsmasq_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/drmserver.te b/prebuilts/api/202504/public/drmserver.te
new file mode 100644
index 0000000..4b59ee0
--- /dev/null
+++ b/prebuilts/api/202504/public/drmserver.te
@@ -0,0 +1,8 @@
+# drmserver - DRM service
+type drmserver, domain;
+type drmserver_exec, system_file_type, exec_type, file_type;
+type drmserver_socket, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/dumpstate.te b/prebuilts/api/202504/public/dumpstate.te
new file mode 100644
index 0000000..dd61ad1
--- /dev/null
+++ b/prebuilts/api/202504/public/dumpstate.te
@@ -0,0 +1,7 @@
+# dumpstate
+type dumpstate, domain, mlstrustedsubject;
+type dumpstate_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/e2fs.te b/prebuilts/api/202504/public/e2fs.te
new file mode 100644
index 0000000..74bab31
--- /dev/null
+++ b/prebuilts/api/202504/public/e2fs.te
@@ -0,0 +1,6 @@
+type e2fs, domain, coredomain;
+type e2fs_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/early_virtmgr.te b/prebuilts/api/202504/public/early_virtmgr.te
new file mode 100644
index 0000000..6caac18
--- /dev/null
+++ b/prebuilts/api/202504/public/early_virtmgr.te
@@ -0,0 +1,12 @@
+is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `
+    # Domain for a child process that manages early VMs available before /data mount, on behalf of
+    # its parent.
+    starting_at_board_api(202504, `
+        type early_virtmgr, domain, coredomain;
+        type early_virtmgr_exec, system_file_type, exec_type, file_type;
+    ')
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/ephemeral_app.te b/prebuilts/api/202504/public/ephemeral_app.te
new file mode 100644
index 0000000..072f8f6
--- /dev/null
+++ b/prebuilts/api/202504/public/ephemeral_app.te
@@ -0,0 +1,18 @@
+###
+### Ephemeral apps.
+###
+### This file defines the security policy for apps with the ephemeral
+### feature.
+###
+### The ephemeral_app domain is a reduced permissions sandbox allowing
+### ephemeral applications to be safely installed and run. Non ephemeral
+### applications may also opt-in to ephemeral to take advantage of the
+### additional security features.
+###
+### PackageManager flags an app as ephemeral at install time.
+
+type ephemeral_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/evsmanagerd.te b/prebuilts/api/202504/public/evsmanagerd.te
new file mode 100644
index 0000000..b436f92
--- /dev/null
+++ b/prebuilts/api/202504/public/evsmanagerd.te
@@ -0,0 +1,6 @@
+# evsmanager daemon
+type evsmanagerd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/extra_free_kbytes.te b/prebuilts/api/202504/public/extra_free_kbytes.te
new file mode 100644
index 0000000..82ba963
--- /dev/null
+++ b/prebuilts/api/202504/public/extra_free_kbytes.te
@@ -0,0 +1,7 @@
+# The extra_free_kbytes.sh script run by init.
+type extra_free_kbytes, domain;
+type extra_free_kbytes_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/fastbootd.te b/prebuilts/api/202504/public/fastbootd.te
new file mode 100644
index 0000000..360a109
--- /dev/null
+++ b/prebuilts/api/202504/public/fastbootd.te
@@ -0,0 +1,9 @@
+# fastbootd (used in recovery init.rc for /sbin/fastbootd)
+
+# Declare the domain unconditionally so we can always reference it
+# in neverallow rules.
+type fastbootd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/file.te b/prebuilts/api/202504/public/file.te
new file mode 100644
index 0000000..7a8e3af
--- /dev/null
+++ b/prebuilts/api/202504/public/file.te
@@ -0,0 +1,667 @@
+# Filesystem types
+type labeledfs, fs_type;
+type pipefs, fs_type;
+type sockfs, fs_type;
+type rootfs, fs_type;
+type proc, fs_type, proc_type;
+type binderfs, fs_type;
+type binderfs_logs, fs_type;
+type binderfs_logs_proc, fs_type;
+type binderfs_logs_stats, fs_type;
+
+starting_at_board_api(202504, `
+    type binderfs_logs_transactions, fs_type;
+    type binderfs_logs_transaction_history, fs_type;
+')
+
+type binderfs_features, fs_type;
+# Security-sensitive proc nodes that should not be writable to most.
+type proc_security, fs_type, proc_type;
+type proc_drop_caches, fs_type, proc_type;
+type proc_overcommit_memory, fs_type, proc_type;
+type proc_min_free_order_shift, fs_type, proc_type;
+type proc_kpageflags, fs_type, proc_type;
+type proc_watermark_boost_factor, fs_type, proc_type;
+type proc_percpu_pagelist_high_fraction, fs_type, proc_type;
+# proc, sysfs, or other nodes that permit configuration of kernel usermodehelpers.
+type usermodehelper, fs_type, proc_type;
+type sysfs_usermodehelper, fs_type, sysfs_type;
+type proc_qtaguid_ctrl, fs_type, mlstrustedobject, proc_type;
+type proc_qtaguid_stat, fs_type, mlstrustedobject, proc_type;
+type proc_bluetooth_writable, fs_type, proc_type;
+type proc_abi, fs_type, proc_type;
+type proc_asound, fs_type, proc_type;
+type proc_bootconfig, fs_type, proc_type;
+type proc_bpf, fs_type, proc_type;
+type proc_buddyinfo, fs_type, proc_type;
+starting_at_board_api(202504, `
+    type proc_cgroups, fs_type, proc_type;
+')
+type proc_cmdline, fs_type, proc_type;
+type proc_cpu_alignment, fs_type, proc_type;
+type proc_cpuinfo, fs_type, proc_type;
+type proc_dirty, fs_type, proc_type;
+type proc_diskstats, fs_type, proc_type;
+type proc_extra_free_kbytes, fs_type, proc_type;
+type proc_filesystems, fs_type, proc_type;
+type proc_fs_verity, fs_type, proc_type;
+type proc_hostname, fs_type, proc_type;
+type proc_hung_task, fs_type, proc_type;
+type proc_interrupts, fs_type, proc_type;
+type proc_iomem, fs_type, proc_type;
+type proc_kallsyms, fs_type, proc_type;
+type proc_keys, fs_type, proc_type;
+type proc_kmsg, fs_type, proc_type;
+type proc_loadavg, fs_type, proc_type;
+type proc_locks, fs_type, proc_type;
+type proc_lowmemorykiller, fs_type, proc_type;
+type proc_max_map_count, fs_type, proc_type;
+type proc_meminfo, fs_type, proc_type;
+type proc_misc, fs_type, proc_type;
+type proc_modules, fs_type, proc_type;
+type proc_mounts, fs_type, proc_type;
+type proc_net, fs_type, proc_type, proc_net_type;
+type proc_net_tcp_udp, fs_type, proc_type;
+type proc_page_cluster, fs_type, proc_type;
+type proc_pagetypeinfo, fs_type, proc_type;
+type proc_panic, fs_type, proc_type;
+type proc_perf, fs_type, proc_type;
+type proc_pid_max, fs_type, proc_type;
+type proc_pipe_conf, fs_type, proc_type;
+type proc_pressure_cpu, fs_type, proc_type;
+type proc_pressure_io, fs_type, proc_type;
+type proc_pressure_mem, fs_type, proc_type;
+type proc_random, fs_type, proc_type;
+type proc_sched, fs_type, proc_type;
+type proc_slabinfo, fs_type, proc_type;
+type proc_stat, fs_type, proc_type;
+type proc_swaps, fs_type, proc_type;
+type proc_sysrq, fs_type, proc_type;
+type proc_timer, fs_type, proc_type;
+type proc_tty_drivers, fs_type, proc_type;
+type proc_uid_cputime_showstat, fs_type, proc_type;
+type proc_uid_cputime_removeuid, fs_type, proc_type;
+type proc_uid_io_stats, fs_type, proc_type;
+type proc_uid_procstat_set, fs_type, proc_type;
+type proc_uid_time_in_state, fs_type, proc_type;
+type proc_uid_concurrent_active_time, fs_type, proc_type;
+type proc_uid_concurrent_policy_time, fs_type, proc_type;
+type proc_uid_cpupower, fs_type, proc_type;
+type proc_uptime, fs_type, proc_type;
+type proc_version, fs_type, proc_type;
+type proc_vmallocinfo, fs_type, proc_type;
+type proc_vmstat, fs_type, proc_type;
+type proc_watermark_scale_factor, fs_type, proc_type;
+type proc_zoneinfo, fs_type, proc_type;
+type proc_vendor_sched, proc_type, fs_type;
+type selinuxfs, fs_type, mlstrustedobject;
+type fusectlfs, fs_type;
+type cgroup, fs_type, mlstrustedobject;
+type cgroup_v2, fs_type;
+type sysfs, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_android_usb, fs_type, sysfs_type;
+type sysfs_uio, sysfs_type, fs_type;
+type sysfs_batteryinfo, fs_type, sysfs_type;
+type sysfs_bluetooth_writable, fs_type, sysfs_type, mlstrustedobject;
+
+starting_at_board_api(202504, `
+    type sysfs_cma, fs_type, sysfs_type;
+')
+
+type sysfs_devfreq_cur, fs_type, sysfs_type;
+type sysfs_devfreq_dir, fs_type, sysfs_type;
+type sysfs_devices_block, fs_type, sysfs_type;
+type sysfs_dm, fs_type, sysfs_type;
+type sysfs_dm_verity, fs_type, sysfs_type;
+type sysfs_dma_heap, fs_type, sysfs_type;
+type sysfs_dmabuf_stats, fs_type, sysfs_type;
+type sysfs_dt_firmware_android, fs_type, sysfs_type;
+type sysfs_extcon, fs_type, sysfs_type;
+type sysfs_ion, fs_type, sysfs_type;
+type sysfs_ipv4, fs_type, sysfs_type;
+type sysfs_kernel_notes, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_leds, fs_type, sysfs_type;
+type sysfs_loop, fs_type, sysfs_type;
+type sysfs_gpu, fs_type, sysfs_type;
+type sysfs_hwrandom, fs_type, sysfs_type;
+type sysfs_nfc_power_writable, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_wake_lock, fs_type, sysfs_type;
+type sysfs_net, fs_type, sysfs_type;
+type sysfs_power, fs_type, sysfs_type;
+type sysfs_rtc, fs_type, sysfs_type;
+
+starting_at_board_api(202504, `
+    type sysfs_mem_sleep, fs_type, sysfs_type;
+')
+
+type sysfs_suspend_stats, fs_type, sysfs_type;
+type sysfs_switch, fs_type, sysfs_type;
+type sysfs_sync_on_suspend, fs_type, sysfs_type;
+type sysfs_transparent_hugepage, fs_type, sysfs_type;
+type sysfs_lru_gen_enabled, fs_type, sysfs_type;
+type sysfs_usb, fs_type, sysfs_type;
+type sysfs_wakeup, fs_type, sysfs_type;
+type sysfs_wakeup_reasons, fs_type, sysfs_type;
+type sysfs_fs_ext4_features, sysfs_type, fs_type;
+type sysfs_fs_f2fs, sysfs_type, fs_type;
+type sysfs_fs_fuse_bpf, sysfs_type, fs_type;
+type sysfs_fs_fuse_features, sysfs_type, fs_type;
+type sysfs_fs_incfs_features, sysfs_type, fs_type;
+type sysfs_fs_incfs_metrics, sysfs_type, fs_type;
+type sysfs_vendor_sched, sysfs_type, fs_type;
+userdebug_or_eng(`
+    typeattribute sysfs_vendor_sched mlstrustedobject;
+')
+type fs_bpf, fs_type, bpffs_type;
+# TODO: S+ fs_bpf_tethering (used by mainline) should be private
+type fs_bpf_tethering, fs_type, bpffs_type;
+type fs_bpf_vendor, fs_type, bpffs_type;
+
+type configfs, fs_type;
+# /sys/devices/cs_etm
+type sysfs_devices_cs_etm, fs_type, sysfs_type;
+# /sys/devices/system/cpu
+type sysfs_devices_system_cpu, fs_type, sysfs_type;
+# /sys/module/lowmemorykiller
+type sysfs_lowmemorykiller, fs_type, sysfs_type;
+# /sys/module/wlan/parameters/fwpath
+type sysfs_wlan_fwpath, fs_type, sysfs_type;
+type sysfs_vibrator, fs_type, sysfs_type;
+type sysfs_uhid, fs_type, sysfs_type;
+type sysfs_thermal, sysfs_type, fs_type;
+
+type sysfs_zram, fs_type, sysfs_type;
+type sysfs_zram_uevent, fs_type, sysfs_type;
+type inotify, fs_type, mlstrustedobject;
+type devpts, fs_type, mlstrustedobject;
+type tmpfs, fs_type;
+type shm, fs_type;
+type mqueue, fs_type;
+type fuse, fusefs_type, fs_type, mlstrustedobject;
+type fuseblk, sdcard_type, fusefs_type, fs_type, mlstrustedobject;
+type sdcardfs, sdcard_type, fs_type, mlstrustedobject;
+type vfat, sdcard_type, fs_type, mlstrustedobject;
+type exfat, sdcard_type, fs_type, mlstrustedobject;
+type debugfs, fs_type, debugfs_type;
+type debugfs_kprobes, fs_type, debugfs_type;
+type debugfs_mmc, fs_type, debugfs_type;
+type debugfs_mm_events_tracing, fs_type, debugfs_type, tracefs_type;
+type debugfs_trace_marker, fs_type, debugfs_type, mlstrustedobject, tracefs_type;
+type debugfs_tracing, fs_type, debugfs_type, mlstrustedobject, tracefs_type;
+type debugfs_tracing_debug, fs_type, debugfs_type, mlstrustedobject, tracefs_type;
+type debugfs_tracing_instances, fs_type, debugfs_type, tracefs_type;
+type debugfs_tracing_printk_formats, fs_type, debugfs_type, tracefs_type;
+type debugfs_wakeup_sources, fs_type, debugfs_type;
+type debugfs_wifi_tracing, fs_type, debugfs_type, tracefs_type;
+type securityfs, fs_type;
+
+type pstorefs, fs_type;
+type functionfs, fs_type, mlstrustedobject;
+type oemfs, fs_type, contextmount_type;
+type usbfs, fs_type;
+type binfmt_miscfs, fs_type;
+type app_fusefs, fs_type, fusefs_type, contextmount_type;
+
+# File types
+type unlabeled, file_type;
+
+# Default type for anything under /system.
+type system_file, system_file_type, file_type;
+# Default type for /system/asan.options
+type system_asan_options_file, system_file_type, file_type;
+# Type for /system/etc/event-log-tags (liblog implementation detail)
+type system_event_log_tags_file, system_file_type, file_type;
+# Default type for anything under /system/lib[64].
+type system_lib_file, system_file_type, file_type;
+# system libraries that are available only to bootstrap processes
+type system_bootstrap_lib_file, system_file_type, file_type;
+# Default type for the group file /system/etc/group.
+type system_group_file, system_file_type, file_type;
+# Default type for linker executable /system/bin/linker[64].
+type system_linker_exec, system_file_type, file_type;
+# Default type for linker config /system/etc/ld.config.*.
+type system_linker_config_file, system_file_type, file_type;
+# Default type for the passwd file /system/etc/passwd.
+type system_passwd_file, system_file_type, file_type;
+# Default type for linker config /system/etc/seccomp_policy/*.
+type system_seccomp_policy_file, system_file_type, file_type;
+# Default type for cacerts in /system/etc/security/cacerts/*.
+type system_security_cacerts_file, system_file_type, file_type;
+# Default type for /system/bin/tcpdump.
+type tcpdump_exec, system_file_type, exec_type, file_type;
+# Default type for zoneinfo files in /system/usr/share/zoneinfo/*.
+type system_zoneinfo_file, system_file_type, file_type;
+# Cgroups description file under /system/etc/cgroups.json or
+# API file under /system/etc/task_profiles/cgroups_*.json
+type cgroup_desc_file, system_file_type, file_type;
+until_board_api(202504, `
+    # Cgroups description file under /system/etc/task_profiles/cgroups_*.json
+    type cgroup_desc_api_file, system_file_type, file_type;
+')
+# Vendor cgroups description file under /vendor/etc/cgroups.json
+type vendor_cgroup_desc_file, vendor_file_type, file_type;
+# Task profiles file under /system/etc/task_profiles.json or
+# API file under /system/etc/task_profiles/task_profiles_*.json
+type task_profiles_file, system_file_type, file_type;
+until_board_api(202504, `
+    # Task profiles file under /system/etc/task_profiles/task_profiles_*.json
+    type task_profiles_api_file, system_file_type, file_type;
+')
+# Vendor task profiles file under /vendor/etc/task_profiles.json
+type vendor_task_profiles_file, vendor_file_type, file_type;
+# Type for /system/apex/com.android.art
+type art_apex_dir, system_file_type, file_type;
+# /linkerconfig(/.*)?
+type linkerconfig_file, file_type;
+# Control files under /data/incremental
+type incremental_control_file, file_type, data_file_type, core_data_file_type;
+# /oem/media/bootanimation.zip|shutdownanimation.zip|userspace-reboot.zip
+type bootanim_oem_file, file_type, system_file_type;
+
+# Default type for directories search for
+# HAL implementations
+type vendor_hal_file, vendor_file_type, file_type;
+# Default type for under /vendor or /system/vendor
+type vendor_file, vendor_file_type, file_type;
+# Default type for everything in /vendor/app
+type vendor_app_file, vendor_file_type, file_type;
+# Default type for everything under /vendor/etc/
+type vendor_configs_file, vendor_file_type, file_type;
+# Default type for all *same process* HALs and their lib/bin dependencies.
+# e.g. libEGL_xxx.so, android.hardware.graphics.mapper@2.0-impl.so
+type same_process_hal_file, vendor_file_type, file_type;
+# Default type for vndk-sp libs. /vendor/lib/vndk-sp
+type vndk_sp_file, vendor_file_type, file_type;
+# Default type for everything in /vendor/framework
+type vendor_framework_file, vendor_file_type, file_type;
+# Default type for everything in /vendor/overlay
+type vendor_overlay_file, vendor_file_type, file_type;
+# Type for all vendor public libraries. These libs should only be exposed to
+# apps. ABI stability of these libs is vendor's responsibility.
+type vendor_public_lib_file, vendor_file_type, file_type;
+# Type for all vendor public libraries for system. These libs should only be exposed to
+# system. ABI stability of these libs is vendor's responsibility.
+type vendor_public_framework_file, vendor_file_type, file_type;
+# Type for all microdroid related files in the vendor partition.
+# Files having this type should be read-only.
+type vendor_microdroid_file, vendor_file_type, file_type;
+
+starting_at_board_api(202504, `
+    # boot otas for 16KB developer option
+    type vendor_boot_ota_file, vendor_file_type, file_type;
+')
+
+# Input configuration
+type vendor_keylayout_file, vendor_file_type, file_type;
+type vendor_keychars_file, vendor_file_type, file_type;
+type vendor_idc_file, vendor_file_type, file_type;
+
+# Type for vendor uuid mapping config file
+type vendor_uuid_mapping_config_file, vendor_file_type, file_type;
+
+# SoC-specific virtual machine disk files
+type vendor_vm_file, vendor_file_type, file_type;
+# SoC-specific virtual machine disk files that are mutable
+type vendor_vm_data_file, vendor_file_type, file_type;
+
+# /metadata partition itself
+type metadata_file, file_type;
+# Vold files within /metadata
+type vold_metadata_file, file_type;
+# GSI files within /metadata
+type gsi_metadata_file, gsi_metadata_file_type, file_type;
+# DSU (GSI) files within /metadata that are globally readable.
+type gsi_public_metadata_file, gsi_metadata_file_type, file_type;
+# system_server shares Weaver slot information in /metadata
+type password_slot_metadata_file, file_type;
+# APEX files within /metadata
+type apex_metadata_file, file_type;
+# libsnapshot files within /metadata
+type ota_metadata_file, file_type;
+# property files within /metadata/bootstat
+type metadata_bootstat_file, file_type;
+# userspace reboot files within /metadata/userspacereboot
+type userspace_reboot_metadata_file, file_type;
+# Staged install files within /metadata/staged-install
+type staged_install_file, file_type;
+# Metadata information within /metadata/watchdog
+type watchdog_metadata_file, file_type;
+# Repair mode files within /metadata/repair-mode
+type repair_mode_metadata_file, file_type;
+# Aconfig storage file
+type aconfig_storage_metadata_file, file_type;
+# Aconfig storage flag value persistent copy
+type aconfig_storage_flags_metadata_file, file_type;
+
+# Type for /dev/cpu_variant:.*.
+type dev_cpu_variant, file_type;
+# Speedup access for trusted applications to the runtime event tags
+type runtime_event_log_tags_file, file_type;
+# Type for /system/bin/logcat.
+type logcat_exec, system_file_type, exec_type, file_type;
+# Speedup access to cgroup map file
+type cgroup_rc_file, file_type;
+# /cores for coredumps on userdebug / eng builds
+type coredump_file, file_type;
+# Type of /data itself
+type system_data_root_file, file_type, data_file_type, core_data_file_type;
+# Default type for anything under /data.
+type system_data_file, file_type, data_file_type, core_data_file_type;
+# Default type for directories containing per-user encrypted directories, such
+# as /data/user and /data/user_de.
+type system_userdir_file, file_type, data_file_type, core_data_file_type;
+# Type for /data/system/packages.list.
+# TODO(b/129332765): Narrow down permissions to this.
+# Find out users of system_data_file that should be granted only this.
+type packages_list_file, file_type, data_file_type, core_data_file_type;
+type game_mode_intervention_list_file, file_type, data_file_type, core_data_file_type;
+# Default type for anything inside /data/vendor_{ce,de}.
+type vendor_data_file, file_type, data_file_type;
+# Type for /data/vendor_{ce,de} themselves.  This has core_data_file_type
+# because these directories themselves are platform-managed; only the files
+# *inside* them are vendor data.  (Somewhat similar to system_data_root_file.)
+type vendor_userdir_file, file_type, data_file_type, core_data_file_type;
+# Unencrypted data
+type unencrypted_data_file, file_type, data_file_type, core_data_file_type;
+# installd-create files in /data/misc/installd such as layout_version
+type install_data_file, file_type, data_file_type, core_data_file_type;
+# /data/drm - DRM plugin data
+type drm_data_file, file_type, data_file_type, core_data_file_type;
+# /data/adb - adb debugging files
+type adb_data_file, file_type, data_file_type, core_data_file_type;
+# /data/anr - ANR traces
+type anr_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/tombstones - core dumps
+type tombstone_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/vendor/tombstones/wifi - vendor wifi dumps
+type tombstone_wifi_data_file, file_type, data_file_type;
+# /data/apex - APEX data files
+type apex_data_file, file_type, data_file_type, core_data_file_type;
+# /data/app - user-installed apps
+type apk_data_file, file_type, data_file_type, core_data_file_type;
+type apk_tmp_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/app-private - forward-locked apps
+type apk_private_data_file, file_type, data_file_type, core_data_file_type;
+type apk_private_tmp_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/dalvik-cache
+type dalvikcache_data_file, file_type, data_file_type, core_data_file_type;
+# /data/ota
+type ota_data_file, file_type, data_file_type, core_data_file_type;
+# /data/ota_package
+type ota_package_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/misc/profiles
+type user_profile_root_file, file_type, data_file_type, core_data_file_type;
+type user_profile_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/misc/profman
+type profman_dump_data_file, file_type, data_file_type, core_data_file_type;
+# /data/misc/prereboot
+type prereboot_data_file, file_type, data_file_type, core_data_file_type;
+# /data/resource-cache
+type resourcecache_data_file, file_type, data_file_type, core_data_file_type;
+# /data/local - writable by shell
+type shell_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type, mlstrustedobject;
+# /data/property
+type property_data_file, file_type, data_file_type, core_data_file_type;
+# /data/bootchart
+type bootchart_data_file, file_type, data_file_type, core_data_file_type;
+# /data/system/dropbox
+type dropbox_data_file, file_type, data_file_type, core_data_file_type;
+# /data/system/heapdump
+type heapdump_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/nativetest
+type nativetest_data_file, file_type, data_file_type, core_data_file_type;
+# /data/local/tests
+type shell_test_data_file, file_type, data_file_type, core_data_file_type;
+# /data/system_de/0/ringtones
+type ringtone_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# /data/preloads
+type preloads_data_file, file_type, data_file_type, core_data_file_type;
+# /data/preloads/media
+type preloads_media_file, file_type, data_file_type, core_data_file_type;
+# /data/misc/dhcp and /data/misc/dhcp-6.8.2
+type dhcp_data_file, file_type, data_file_type, core_data_file_type;
+# /data/server_configurable_flags
+type server_configurable_flags_data_file, file_type, data_file_type, core_data_file_type;
+# /data/app-staging
+type staging_data_file, file_type, data_file_type, core_data_file_type;
+# /vendor/apex
+type vendor_apex_file, vendor_file_type, file_type;
+# apex_manifest.pb in vendor apex
+type vendor_apex_metadata_file, vendor_file_type, file_type;
+# /data/system/shutdown-checkpoints
+type shutdown_checkpoints_system_data_file, file_type, data_file_type, core_data_file_type;
+
+# Mount locations managed by vold
+type mnt_media_rw_file, file_type;
+type mnt_user_file, file_type;
+type mnt_pass_through_file, file_type;
+type mnt_expand_file, file_type;
+type mnt_sdcard_file, file_type;
+type storage_file, file_type;
+
+# Label for storage dirs which are just mount stubs
+type mnt_media_rw_stub_file, file_type;
+type storage_stub_file, file_type;
+
+# Mount location for read-write vendor partitions.
+type mnt_vendor_file, file_type;
+
+# Mount location for read-write product partitions.
+type mnt_product_file, file_type;
+
+# Mount point used for APEX images
+type apex_mnt_dir, file_type;
+
+# /apex/apex-info-list.xml created by apexd
+type apex_info_file, file_type;
+
+# /postinstall: Mount point used by update_engine to run postinstall.
+type postinstall_mnt_dir, file_type;
+# Files inside the /postinstall mountpoint are all labeled as postinstall_file.
+type postinstall_file, file_type;
+# /postinstall/apex: Mount point used for APEX images within /postinstall.
+type postinstall_apex_mnt_dir, file_type;
+
+# /data_mirror: Contains mirror directory for storing all apps data.
+type mirror_data_file, file_type, core_data_file_type;
+
+# /data/misc subdirectories
+type adb_keys_file, file_type, data_file_type, core_data_file_type;
+type apex_system_server_data_file, file_type, data_file_type, core_data_file_type, apex_data_file_type;
+type apex_module_data_file, file_type, data_file_type, core_data_file_type;
+type apex_ota_reserved_file, file_type, data_file_type, core_data_file_type;
+type apex_rollback_data_file, file_type, data_file_type, core_data_file_type;
+type appcompat_data_file, file_type, data_file_type, core_data_file_type;
+type audio_data_file, file_type, data_file_type, core_data_file_type;
+type audioserver_data_file, file_type, data_file_type, core_data_file_type;
+type bluetooth_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+type bluetooth_logs_data_file, file_type, data_file_type, core_data_file_type;
+type bootstat_data_file, file_type, data_file_type, core_data_file_type;
+type boottrace_data_file, file_type, data_file_type, core_data_file_type;
+type camera_data_file, file_type, data_file_type, core_data_file_type;
+type credstore_data_file, file_type, data_file_type, core_data_file_type;
+type gatekeeper_data_file, file_type, data_file_type, core_data_file_type;
+type incident_data_file, file_type, data_file_type, core_data_file_type;
+type keychain_data_file, file_type, data_file_type, core_data_file_type;
+type keystore_data_file, file_type, data_file_type, core_data_file_type;
+type media_data_file, file_type, data_file_type, core_data_file_type;
+type media_rw_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type media_userdir_file, file_type, data_file_type, core_data_file_type;
+type misc_user_data_file, file_type, data_file_type, core_data_file_type;
+type net_data_file, file_type, data_file_type, core_data_file_type;
+type network_watchlist_data_file, file_type, data_file_type, core_data_file_type;
+type nfc_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+type nfc_logs_data_file, file_type, data_file_type, core_data_file_type;
+type radio_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type, mlstrustedobject;
+type recovery_data_file, file_type, data_file_type, core_data_file_type;
+type shared_relro_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type snapshotctl_log_data_file, file_type, data_file_type, core_data_file_type;
+type stats_config_data_file, file_type, data_file_type, core_data_file_type;
+type stats_data_file, file_type, data_file_type, core_data_file_type;
+type systemkeys_data_file, file_type, data_file_type, core_data_file_type;
+type textclassifier_data_file, file_type, data_file_type, core_data_file_type;
+type trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type vpn_data_file, file_type, data_file_type, core_data_file_type;
+type wifi_data_file, file_type, data_file_type, core_data_file_type;
+type vold_data_file, file_type, data_file_type, core_data_file_type;
+type tee_data_file, file_type, data_file_type;
+type update_engine_data_file, file_type, data_file_type, core_data_file_type;
+type update_engine_log_data_file, file_type, data_file_type, core_data_file_type;
+type snapuserd_log_data_file, file_type, data_file_type, core_data_file_type;
+# /data/misc/trace for method traces on userdebug / eng builds
+type method_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+type gsi_data_file, file_type, data_file_type, core_data_file_type;
+type radio_core_data_file, file_type, data_file_type, core_data_file_type;
+
+# /data/data subdirectories - app sandboxes
+type app_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# /data/data subdirectories - priv-app sandboxes
+type privapp_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type;
+# /data/data subdirectory for system UID apps.
+type system_app_data_file, file_type, data_file_type, core_data_file_type, app_data_file_type, mlstrustedobject;
+# Compatibility with type name used in Android 4.3 and 4.4.
+# Default type for anything under /cache
+type cache_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for /cache/overlay /mnt/scratch/overlay
+type overlayfs_file, file_type, data_file_type, core_data_file_type;
+# Type for /cache/backup_stage/* (fd interchange with apps)
+type cache_backup_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# type for anything under /cache/backup (local transport storage)
+type cache_private_backup_file, file_type, data_file_type, core_data_file_type;
+# Type for anything under /cache/recovery
+type cache_recovery_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Default type for anything under /efs
+type efs_file, file_type;
+# Type for wallpaper file.
+type wallpaper_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for shortcut manager icon file.
+type shortcut_manager_icons, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for user icon file.
+type icon_file, file_type, data_file_type, core_data_file_type;
+# /mnt/asec
+type asec_apk_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Elements of asec files (/mnt/asec) that are world readable
+type asec_public_file, file_type, data_file_type, core_data_file_type;
+# /data/app-asec
+type asec_image_file, file_type, data_file_type, core_data_file_type;
+# /data/backup and /data/secure/backup
+type backup_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# All devices have bluetooth efs files. But they
+# vary per device, so this type is used in per
+# device policy
+type bluetooth_efs_file, file_type;
+# Type for fingerprint template file
+type fingerprintd_data_file, file_type, data_file_type, core_data_file_type;
+# Type for _new_ fingerprint template file
+type fingerprint_vendor_data_file, file_type, data_file_type;
+# Type for appfuse file.
+type app_fuse_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
+# Type for face template file
+type face_vendor_data_file, file_type, data_file_type;
+# Type for iris template file
+type iris_vendor_data_file, file_type, data_file_type;
+
+# Socket types
+type adbd_socket, file_type, coredomain_socket;
+type bluetooth_socket, file_type, data_file_type, core_data_file_type, coredomain_socket;
+type dnsproxyd_socket, file_type, coredomain_socket, mlstrustedobject;
+type dumpstate_socket, file_type, coredomain_socket;
+type fwmarkd_socket, file_type, coredomain_socket, mlstrustedobject;
+type lmkd_socket, file_type, coredomain_socket;
+type logd_socket, file_type, coredomain_socket, mlstrustedobject;
+type logdr_socket, file_type, coredomain_socket, mlstrustedobject;
+type logdw_socket, file_type, coredomain_socket, mlstrustedobject;
+type mdns_socket, file_type, coredomain_socket;
+type mdnsd_socket, file_type, coredomain_socket, mlstrustedobject;
+type misc_logd_file, coredomain_socket, file_type, data_file_type, core_data_file_type;
+type mtpd_socket, file_type, coredomain_socket;
+type ot_daemon_socket, file_type, coredomain_socket;
+type property_socket, file_type, coredomain_socket, mlstrustedobject;
+type racoon_socket, file_type, coredomain_socket;
+type recovery_socket, file_type, coredomain_socket;
+type rild_socket, file_type;
+type rild_debug_socket, file_type;
+type snapuserd_socket, file_type, coredomain_socket;
+type snapuserd_proxy_socket, file_type, coredomain_socket;
+type statsdw_socket, file_type, coredomain_socket, mlstrustedobject;
+type system_wpa_socket, file_type, data_file_type, core_data_file_type, coredomain_socket;
+type system_ndebug_socket, file_type, data_file_type, core_data_file_type, coredomain_socket, mlstrustedobject;
+type system_unsolzygote_socket, file_type, data_file_type, core_data_file_type, coredomain_socket, mlstrustedobject;
+type tombstoned_crash_socket, file_type, coredomain_socket, mlstrustedobject;
+type tombstoned_java_trace_socket, file_type, mlstrustedobject;
+type tombstoned_intercept_socket, file_type, coredomain_socket;
+type traced_consumer_socket, file_type, coredomain_socket, mlstrustedobject;
+type traced_perf_socket, file_type, coredomain_socket, mlstrustedobject;
+type traced_producer_socket, file_type, coredomain_socket, mlstrustedobject;
+type uncrypt_socket, file_type, coredomain_socket;
+type wpa_socket, file_type, data_file_type, core_data_file_type;
+type zygote_socket, file_type, coredomain_socket;
+type heapprofd_socket, file_type, coredomain_socket, mlstrustedobject;
+# UART (for GPS) control proc file
+type gps_control, file_type;
+
+# PDX endpoint types
+type pdx_display_dir, pdx_endpoint_dir_type, file_type;
+type pdx_performance_dir, pdx_endpoint_dir_type, file_type;
+type pdx_bufferhub_dir, pdx_endpoint_dir_type, file_type;
+
+pdx_service_socket_types(display_client, pdx_display_dir)
+pdx_service_socket_types(display_manager, pdx_display_dir)
+pdx_service_socket_types(display_screenshot, pdx_display_dir)
+pdx_service_socket_types(display_vsync, pdx_display_dir)
+pdx_service_socket_types(performance_client, pdx_performance_dir)
+pdx_service_socket_types(bufferhub_client, pdx_bufferhub_dir)
+
+# file_contexts files
+type file_contexts_file, system_file_type, file_type;
+
+# mac_permissions file
+type mac_perms_file, system_file_type, file_type;
+
+# property_contexts file
+type property_contexts_file, system_file_type, file_type;
+
+# seapp_contexts file
+type seapp_contexts_file, system_file_type, file_type;
+
+# sepolicy files binary and others
+type sepolicy_file, system_file_type, file_type;
+
+# service_contexts file
+type service_contexts_file, system_file_type, file_type;
+
+# keystore2_key_contexts_file
+type keystore2_key_contexts_file, system_file_type, file_type;
+
+# vendor service_contexts file
+type vendor_service_contexts_file, vendor_file_type, file_type;
+
+# hwservice_contexts file
+type hwservice_contexts_file, system_file_type, file_type;
+
+# vndservice_contexts file
+type vndservice_contexts_file, file_type;
+
+# /sys/kernel/tracing/instances/bootreceiver for monitoring kernel memory corruptions.
+type debugfs_bootreceiver_tracing, fs_type, debugfs_type, tracefs_type;
+
+# kernel modules
+type vendor_kernel_modules, vendor_file_type, file_type;
+
+# system_dlkm
+type system_dlkm_file, system_dlkm_file_type, file_type;
+
+# asanwrapper (run a sanitized app_process, to be used with wrap properties)
+with_asan(`type asanwrapper_exec, exec_type, file_type;')
+
+# Deprecated in SDK version 28
+type audiohal_data_file, file_type, data_file_type, core_data_file_type;
+
+starting_at_board_api(202504, `
+    type sysfs_udc, fs_type, sysfs_type;
+    type tee_service_contexts_file, system_file_type, file_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/fingerprintd.te b/prebuilts/api/202504/public/fingerprintd.te
new file mode 100644
index 0000000..b40ff3b
--- /dev/null
+++ b/prebuilts/api/202504/public/fingerprintd.te
@@ -0,0 +1,6 @@
+type fingerprintd, domain;
+type fingerprintd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/flags_health_check.te b/prebuilts/api/202504/public/flags_health_check.te
new file mode 100644
index 0000000..fbd386c
--- /dev/null
+++ b/prebuilts/api/202504/public/flags_health_check.te
@@ -0,0 +1,7 @@
+# The flags_health_check command run by init.
+type flags_health_check, domain, coredomain;
+type flags_health_check_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/fsck.te b/prebuilts/api/202504/public/fsck.te
new file mode 100644
index 0000000..cdf7c79
--- /dev/null
+++ b/prebuilts/api/202504/public/fsck.te
@@ -0,0 +1,7 @@
+# Any fsck program run by init
+type fsck, domain;
+type fsck_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/fsck_untrusted.te b/prebuilts/api/202504/public/fsck_untrusted.te
new file mode 100644
index 0000000..bb58f4d
--- /dev/null
+++ b/prebuilts/api/202504/public/fsck_untrusted.te
@@ -0,0 +1,6 @@
+# Any fsck program run on untrusted block devices
+type fsck_untrusted, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/gatekeeperd.te b/prebuilts/api/202504/public/gatekeeperd.te
new file mode 100644
index 0000000..6120d60
--- /dev/null
+++ b/prebuilts/api/202504/public/gatekeeperd.te
@@ -0,0 +1,6 @@
+type gatekeeperd, domain;
+type gatekeeperd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/global_macros b/prebuilts/api/202504/public/global_macros
new file mode 100644
index 0000000..2c87fde
--- /dev/null
+++ b/prebuilts/api/202504/public/global_macros
@@ -0,0 +1,51 @@
+#####################################
+# Common groupings of object classes.
+#
+define(`capability_class_set', `{ capability capability2 cap_userns cap2_userns }')
+define(`global_capability_class_set', `{ capability cap_userns }')
+define(`global_capability2_class_set', `{ capability2 cap2_userns }')
+
+define(`devfile_class_set', `{ chr_file blk_file }')
+define(`notdevfile_class_set', `{ file lnk_file sock_file fifo_file }')
+define(`file_class_set', `{ devfile_class_set notdevfile_class_set }')
+define(`dir_file_class_set', `{ dir file_class_set }')
+
+define(`socket_class_set', `{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket }')
+define(`dgram_socket_class_set', `{ udp_socket unix_dgram_socket }')
+define(`stream_socket_class_set', `{ tcp_socket unix_stream_socket sctp_socket }')
+define(`unpriv_socket_class_set', `{ tcp_socket udp_socket unix_stream_socket unix_dgram_socket sctp_socket }')
+define(`network_socket_class_set', `{ icmp_socket rawip_socket tcp_socket udp_socket }')
+
+define(`ipc_class_set', `{ sem msgq shm ipc }')
+
+#####################################
+# Common groupings of permissions.
+#
+define(`x_file_perms', `{ getattr execute execute_no_trans map }')
+define(`r_file_perms', `{ getattr open read ioctl lock map watch watch_reads }')
+define(`w_file_perms', `{ open append write lock map }')
+define(`rx_file_perms', `{ r_file_perms x_file_perms }')
+define(`ra_file_perms', `{ r_file_perms append }')
+define(`rw_file_perms', `{ r_file_perms w_file_perms }')
+define(`rwx_file_perms', `{ rw_file_perms x_file_perms }')
+define(`create_file_perms', `{ create rename setattr unlink rw_file_perms }')
+
+define(`r_dir_perms', `{ open getattr read search ioctl lock watch watch_reads }')
+define(`w_dir_perms', `{ open search write add_name remove_name lock }')
+define(`ra_dir_perms', `{ r_dir_perms add_name write }')
+define(`rw_dir_perms', `{ r_dir_perms w_dir_perms }')
+define(`create_dir_perms', `{ create reparent rename rmdir setattr rw_dir_perms }')
+
+define(`r_ipc_perms', `{ getattr read associate unix_read }')
+define(`w_ipc_perms', `{ write unix_write }')
+define(`rw_ipc_perms', `{ r_ipc_perms w_ipc_perms }')
+define(`create_ipc_perms', `{ create setattr destroy rw_ipc_perms }')
+
+#####################################
+# Common socket permission sets.
+define(`rw_socket_perms', `{ ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map }')
+define(`rw_socket_perms_no_ioctl', `{ read getattr write setattr lock append bind connect getopt setopt shutdown map }')
+define(`create_socket_perms', `{ create rw_socket_perms }')
+define(`create_socket_perms_no_ioctl', `{ create rw_socket_perms_no_ioctl }')
+define(`rw_stream_socket_perms', `{ rw_socket_perms listen accept }')
+define(`create_stream_socket_perms', `{ create rw_stream_socket_perms }')
diff --git a/prebuilts/api/202504/public/gmscore_app.te b/prebuilts/api/202504/public/gmscore_app.te
new file mode 100644
index 0000000..ded8655
--- /dev/null
+++ b/prebuilts/api/202504/public/gmscore_app.te
@@ -0,0 +1,9 @@
+###
+### A domain for further sandboxing the PrebuiltGMSCore app.
+###
+
+type gmscore_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/gpuservice.te b/prebuilts/api/202504/public/gpuservice.te
new file mode 100644
index 0000000..75f1c34
--- /dev/null
+++ b/prebuilts/api/202504/public/gpuservice.te
@@ -0,0 +1,6 @@
+# gpuservice - server for gpu stats and other gpu related services
+type gpuservice, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/hal_graphics_composer.te b/prebuilts/api/202504/public/hal_graphics_composer.te
new file mode 100644
index 0000000..f7ccd65
--- /dev/null
+++ b/prebuilts/api/202504/public/hal_graphics_composer.te
@@ -0,0 +1,7 @@
+type hal_graphics_composer_server_tmpfs, file_type;
+attribute hal_graphics_composer_client_tmpfs;
+expandattribute hal_graphics_composer_client_tmpfs true;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/healthd.te b/prebuilts/api/202504/public/healthd.te
new file mode 100644
index 0000000..69c03c6
--- /dev/null
+++ b/prebuilts/api/202504/public/healthd.te
@@ -0,0 +1,7 @@
+# healthd - battery/charger monitoring service daemon
+# healthd is removed. The type is kept for backwards compatibility.
+type healthd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/heapprofd.te b/prebuilts/api/202504/public/heapprofd.te
new file mode 100644
index 0000000..95fadaa
--- /dev/null
+++ b/prebuilts/api/202504/public/heapprofd.te
@@ -0,0 +1,5 @@
+type heapprofd, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/hwservice.te b/prebuilts/api/202504/public/hwservice.te
new file mode 100644
index 0000000..d6f2de4
--- /dev/null
+++ b/prebuilts/api/202504/public/hwservice.te
@@ -0,0 +1,96 @@
+# hwservice types. By default most of the HALs are protected_hwservice, which means
+# access from untrusted apps is prohibited.
+type default_android_hwservice, hwservice_manager_type, protected_hwservice;
+type fwk_camera_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_display_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_scheduler_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_sensor_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_stats_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type fwk_automotive_display_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type hal_atrace_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_audio_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_audiocontrol_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_authsecret_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_bluetooth_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_bootctl_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_broadcastradio_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_camera_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_can_bus_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_can_controller_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_confirmationui_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_contexthub_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_dumpstate_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_evs_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_face_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_fingerprint_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_gatekeeper_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_gnss_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_graphics_composer_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_health_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_health_storage_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_input_classifier_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_ir_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_keymaster_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_light_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_lowpan_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_memtrack_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_nfc_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_oemlock_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_power_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_power_stats_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_secure_element_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_sensors_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_telephony_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tetheroffload_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_thermal_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tv_cec_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tv_input_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_tv_tuner_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_usb_gadget_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_usb_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_vehicle_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_vibrator_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_vr_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_weaver_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_wifi_hostapd_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_wifi_hwservice, hwservice_manager_type, protected_hwservice;
+type hal_wifi_supplicant_hwservice, hwservice_manager_type, protected_hwservice;
+type system_net_netd_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type system_suspend_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+type system_wifi_keystore_hwservice, hwservice_manager_type, coredomain_hwservice, protected_hwservice;
+
+# Following is the hwservices that are explicitly not marked with protected_hwservice.
+# These are directly accessible from untrusted apps.
+# - same process services: because they by definition run in the process
+#   of the client and thus have the same access as the client domain in which
+#   the process runs
+# - coredomain_hwservice: are considered safer than ordinary hwservices which
+#   are from vendor partition
+# - hal_configstore_ISurfaceFlingerConfigs:  becuase it has specifically been
+#   designed for use by any domain.
+# - hal_graphics_allocator_hwservice: because these operations are also offered
+#   by surfaceflinger Binder service, which apps are permitted to access
+# - hal_omx_hwservice: because this is a HwBinder version of the mediacodec
+#   Binder service which apps were permitted to access.
+# - hal_codec2_hwservice: because this is a newer version of hal_omx_hwservice.
+# - hal_drm_hwservice: versions > API 29 are designed specifically with
+#   untrusted app access in mind.
+type fwk_bufferhub_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hal_cas_hwservice, hwservice_manager_type;
+type hal_codec2_hwservice, hwservice_manager_type;
+type hal_configstore_ISurfaceFlingerConfigs, hwservice_manager_type;
+type hal_drm_hwservice, hwservice_manager_type;
+type hal_graphics_allocator_hwservice, hwservice_manager_type;
+type hal_graphics_mapper_hwservice, hwservice_manager_type, same_process_hwservice;
+type hal_neuralnetworks_hwservice, hwservice_manager_type;
+type hal_omx_hwservice, hwservice_manager_type;
+type hal_renderscript_hwservice, hwservice_manager_type, same_process_hwservice;
+type hidl_allocator_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hidl_base_hwservice, hwservice_manager_type;
+type hidl_manager_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hidl_memory_hwservice, hwservice_manager_type, coredomain_hwservice;
+type hidl_token_hwservice, hwservice_manager_type, coredomain_hwservice;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/hwservicemanager.te b/prebuilts/api/202504/public/hwservicemanager.te
new file mode 100644
index 0000000..7ed9583
--- /dev/null
+++ b/prebuilts/api/202504/public/hwservicemanager.te
@@ -0,0 +1,7 @@
+# hwservicemanager - the Binder context manager for HAL services
+type hwservicemanager, domain, mlstrustedsubject;
+type hwservicemanager_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/idmap.te b/prebuilts/api/202504/public/idmap.te
new file mode 100644
index 0000000..02ff988
--- /dev/null
+++ b/prebuilts/api/202504/public/idmap.te
@@ -0,0 +1,7 @@
+# idmap, when executed by installd
+type idmap, domain;
+type idmap_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/incident.te b/prebuilts/api/202504/public/incident.te
new file mode 100644
index 0000000..f3f8140
--- /dev/null
+++ b/prebuilts/api/202504/public/incident.te
@@ -0,0 +1,11 @@
+# The incident command is used to call into the incidentd service to
+# take an incident report (binary, shared bugreport), download incident
+# reports that have already been taken, and monitor for new ones.
+# It doesn't do anything else.
+
+# incident
+type incident, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/incident_helper.te b/prebuilts/api/202504/public/incident_helper.te
new file mode 100644
index 0000000..e8aca04
--- /dev/null
+++ b/prebuilts/api/202504/public/incident_helper.te
@@ -0,0 +1,9 @@
+# The incident_helper is called by incidentd and
+# can only read/write data from/to incidentd
+
+# incident_helper
+type incident_helper, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/incidentd.te b/prebuilts/api/202504/public/incidentd.te
new file mode 100644
index 0000000..4a7501d
--- /dev/null
+++ b/prebuilts/api/202504/public/incidentd.te
@@ -0,0 +1,6 @@
+# incidentd
+type incidentd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/init.te b/prebuilts/api/202504/public/init.te
new file mode 100644
index 0000000..a74983c
--- /dev/null
+++ b/prebuilts/api/202504/public/init.te
@@ -0,0 +1,8 @@
+# init is its own domain.
+type init, domain, mlstrustedsubject;
+type init_exec, system_file_type, exec_type, file_type;
+type init_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/inputflinger.te b/prebuilts/api/202504/public/inputflinger.te
new file mode 100644
index 0000000..2f44e56
--- /dev/null
+++ b/prebuilts/api/202504/public/inputflinger.te
@@ -0,0 +1,7 @@
+# inputflinger
+type inputflinger, domain;
+type inputflinger_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/installd.te b/prebuilts/api/202504/public/installd.te
new file mode 100644
index 0000000..53e7239
--- /dev/null
+++ b/prebuilts/api/202504/public/installd.te
@@ -0,0 +1,7 @@
+# installer daemon
+type installd, domain;
+type installd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/ioctl_defines b/prebuilts/api/202504/public/ioctl_defines
new file mode 100644
index 0000000..1dd2e3d
--- /dev/null
+++ b/prebuilts/api/202504/public/ioctl_defines
@@ -0,0 +1,2759 @@
+define(`ADD_NEW_DISK', `0x40140921')
+define(`ADV7842_CMD_RAM_TEST', `0x000056c0')
+define(`AGPIOC_ACQUIRE', `0x00004101')
+define(`AGPIOC_ALLOCATE', `0xc0084106')
+define(`AGPIOC_BIND', `0x40084108')
+define(`AGPIOC_CHIPSET_FLUSH', `0x0000410a')
+define(`AGPIOC_DEALLOCATE', `0x40044107')
+define(`AGPIOC_INFO', `0x80084100')
+define(`AGPIOC_PROTECT', `0x40084105')
+define(`AGPIOC_RELEASE', `0x00004102')
+define(`AGPIOC_RESERVE', `0x40084104')
+define(`AGPIOC_SETUP', `0x40084103')
+define(`AGPIOC_UNBIND', `0x40084109')
+define(`AMDKFD_IOC_CREATE_QUEUE', `0xc0584b02')
+define(`AMDKFD_IOC_DESTROY_QUEUE', `0xc0084b03')
+define(`AMDKFD_IOC_GET_CLOCK_COUNTERS', `0xc0284b05')
+define(`AMDKFD_IOC_GET_PROCESS_APERTURES', `0x81904b06')
+define(`AMDKFD_IOC_GET_VERSION', `0x80084b01')
+define(`AMDKFD_IOC_SET_MEMORY_POLICY', `0x40204b04')
+define(`AMDKFD_IOC_UPDATE_QUEUE', `0x40184b07')
+define(`ANDROID_ALARM_SET_RTC', `0x40106105')
+define(`ANDROID_ALARM_WAIT', `0x00006101')
+define(`APEI_ERST_CLEAR_RECORD', `0x40084501')
+define(`APEI_ERST_GET_RECORD_COUNT', `0x80044502')
+define(`APM_IOC_STANDBY', `0x00004101')
+define(`APM_IOC_SUSPEND', `0x00004102')
+define(`ASHMEM_GET_NAME', `0x81007702')
+define(`ASHMEM_GET_PIN_STATUS', `0x00007709')
+define(`ASHMEM_GET_PROT_MASK', `0x00007706')
+define(`ASHMEM_GET_SIZE', `0x00007704')
+define(`ASHMEM_PIN', `0x40087707')
+define(`ASHMEM_PURGE_ALL_CACHES', `0x0000770a')
+define(`ASHMEM_SET_NAME', `0x41007701')
+define(`ASHMEM_SET_PROT_MASK', `0x40087705')
+define(`ASHMEM_SET_SIZE', `0x40087703')
+define(`ASHMEM_UNPIN', `0x40087708')
+define(`ATM_ADDADDR', `0x40106188')
+define(`ATM_ADDLECSADDR', `0x4010618e')
+define(`ATM_ADDPARTY', `0x401061f4')
+define(`ATMARPD_CTRL', `0x000061e1')
+define(`ATMARP_ENCAP', `0x000061e5')
+define(`ATMARP_MKIP', `0x000061e2')
+define(`ATMARP_SETENTRY', `0x000061e3')
+define(`ATM_DELADDR', `0x40106189')
+define(`ATM_DELLECSADDR', `0x4010618f')
+define(`ATM_DROPPARTY', `0x400461f5')
+define(`ATM_GETADDR', `0x40106186')
+define(`ATM_GETCIRANGE', `0x4010618a')
+define(`ATM_GETESI', `0x40106185')
+define(`ATM_GETLECSADDR', `0x40106190')
+define(`ATM_GETLINKRATE', `0x40106181')
+define(`ATM_GETLOOP', `0x40106152')
+define(`ATM_GETNAMES', `0x40106183')
+define(`ATM_GETSTAT', `0x40106150')
+define(`ATM_GETSTATZ', `0x40106151')
+define(`ATM_GETTYPE', `0x40106184')
+define(`ATMLEC_CTRL', `0x000061d0')
+define(`ATMLEC_DATA', `0x000061d1')
+define(`ATMLEC_MCAST', `0x000061d2')
+define(`ATMMPC_CTRL', `0x000061d8')
+define(`ATMMPC_DATA', `0x000061d9')
+define(`ATM_NEWBACKENDIF', `0x400261f3')
+define(`ATM_QUERYLOOP', `0x40106154')
+define(`ATM_RSTADDR', `0x40106187')
+define(`ATM_SETBACKEND', `0x400261f2')
+define(`ATM_SETCIRANGE', `0x4010618b')
+define(`ATM_SETESI', `0x4010618c')
+define(`ATM_SETESIF', `0x4010618d')
+define(`ATM_SETLOOP', `0x40106153')
+define(`ATM_SETSC', `0x400461f1')
+define(`ATMSIGD_CTRL', `0x000061f0')
+define(`ATMTCP_CREATE', `0x0000618e')
+define(`ATMTCP_REMOVE', `0x0000618f')
+define(`AUDIO_BILINGUAL_CHANNEL_SELECT', `0x00006f14')
+define(`AUDIO_CHANNEL_SELECT', `0x00006f09')
+define(`AUDIO_CLEAR_BUFFER', `0x00006f0c')
+define(`AUDIO_CONTINUE', `0x00006f04')
+define(`AUDIO_GET_CAPABILITIES', `0x80046f0b')
+define(`AUDIO_GET_PTS', `0x80086f13')
+define(`AUDIO_GET_STATUS', `0x80206f0a')
+define(`AUDIO_PAUSE', `0x00006f03')
+define(`AUDIO_PLAY', `0x00006f02')
+define(`AUDIO_SELECT_SOURCE', `0x00006f05')
+define(`AUDIO_SET_ATTRIBUTES', `0x40026f11')
+define(`AUDIO_SET_AV_SYNC', `0x00006f07')
+define(`AUDIO_SET_BYPASS_MODE', `0x00006f08')
+define(`AUDIO_SET_EXT_ID', `0x00006f10')
+define(`AUDIO_SET_ID', `0x00006f0d')
+define(`AUDIO_SET_KARAOKE', `0x400c6f12')
+define(`AUDIO_SET_MIXER', `0x40086f0e')
+define(`AUDIO_SET_MUTE', `0x00006f06')
+define(`AUDIO_SET_STREAMTYPE', `0x00006f0f')
+define(`AUDIO_STOP', `0x00006f01')
+define(`AUTOFS_DEV_IOCTL_ASKUMOUNT', `0xc018937d')
+define(`AUTOFS_DEV_IOCTL_CATATONIC', `0xc0189379')
+define(`AUTOFS_DEV_IOCTL_CLOSEMOUNT', `0xc0189375')
+define(`AUTOFS_DEV_IOCTL_EXPIRE', `0xc018937c')
+define(`AUTOFS_DEV_IOCTL_FAIL', `0xc0189377')
+define(`AUTOFS_DEV_IOCTL_ISMOUNTPOINT', `0xc018937e')
+define(`AUTOFS_DEV_IOCTL_OPENMOUNT', `0xc0189374')
+define(`AUTOFS_DEV_IOCTL_PROTOSUBVER', `0xc0189373')
+define(`AUTOFS_DEV_IOCTL_PROTOVER', `0xc0189372')
+define(`AUTOFS_DEV_IOCTL_READY', `0xc0189376')
+define(`AUTOFS_DEV_IOCTL_REQUESTER', `0xc018937b')
+define(`AUTOFS_DEV_IOCTL_SETPIPEFD', `0xc0189378')
+define(`AUTOFS_DEV_IOCTL_TIMEOUT', `0xc018937a')
+define(`AUTOFS_DEV_IOCTL_VERSION', `0xc0189371')
+define(`AUTOFS_IOC_ASKUMOUNT', `0x80049370')
+define(`AUTOFS_IOC_CATATONIC', `0x00009362')
+define(`AUTOFS_IOC_EXPIRE', `0x810c9365')
+define(`AUTOFS_IOC_EXPIRE_MULTI', `0x40049366')
+define(`AUTOFS_IOC_FAIL', `0x00009361')
+define(`AUTOFS_IOC_PROTOSUBVER', `0x80049367')
+define(`AUTOFS_IOC_PROTOVER', `0x80049363')
+define(`AUTOFS_IOC_READY', `0x00009360')
+define(`AUTOFS_IOC_SETTIMEOUT', `0xc0089364')
+define(`AUTOFS_IOC_SETTIMEOUT32', `0xc0049364')
+define(`BC_ACQUIRE', `0x40046305')
+define(`BC_ACQUIRE_DONE', `0x40106309')
+define(`BC_ACQUIRE_RESULT', `0x40046302')
+define(`BC_ATTEMPT_ACQUIRE', `0x4008630a')
+define(`BC_CLEAR_DEATH_NOTIFICATION', `0x400c630f')
+define(`BC_DEAD_BINDER_DONE', `0x40086310')
+define(`BC_DECREFS', `0x40046307')
+define(`BC_ENTER_LOOPER', `0x0000630c')
+define(`BC_EXIT_LOOPER', `0x0000630d')
+define(`BC_FREE_BUFFER', `0x40086303')
+define(`BC_INCREFS', `0x40046304')
+define(`BC_INCREFS_DONE', `0x40106308')
+define(`BC_REGISTER_LOOPER', `0x0000630b')
+define(`BC_RELEASE', `0x40046306')
+define(`BC_REPLY', `0x40406301')
+define(`BC_REQUEST_DEATH_NOTIFICATION', `0x400c630e')
+define(`BC_TRANSACTION', `0x40406300')
+define(`BINDER_GET_EXTENDED_ERROR', `0xc0486211')
+define(`BINDER_ENABLE_ONEWAY_SPAM_DETECTION', `0x40046210')
+define(`BINDER_FREEZE', `0x400c620e')
+define(`BINDER_GET_FROZEN_INFO', `0xc00c620f')
+define(`BINDER_GET_NODE_DEBUG_INFO', `0xc018620b')
+define(`BINDER_GET_NODE_INFO_FOR_REF', `0xc018620c')
+define(`BINDER_SET_CONTEXT_MGR', `0x40046207')
+define(`BINDER_SET_CONTEXT_MGR_EXT', `0x4018620d')
+define(`BINDER_SET_IDLE_PRIORITY', `0x40046206')
+define(`BINDER_SET_IDLE_TIMEOUT', `0x40086203')
+define(`BINDER_SET_MAX_THREADS', `0x40046205')
+define(`BINDER_THREAD_EXIT', `0x40046208')
+define(`BINDER_VERSION', `0xc0046209')
+define(`BINDER_WRITE_READ', `0xc0306201')
+define(`BLKALIGNOFF', `0x0000127a')
+define(`BLKBSZGET', `0x80081270')
+define(`BLKBSZSET', `0x40081271')
+define(`BLKDISCARD', `0x00001277')
+define(`BLKDISCARDZEROES', `0x0000127c')
+define(`BLKFLSBUF', `0x00001261')
+define(`BLKFRAGET', `0x00001265')
+define(`BLKFRASET', `0x00001264')
+define(`BLKGETSIZE', `0x00001260')
+define(`BLKGETSIZE64', `0x80081272')
+define(`BLKI2OGRSTRAT', `0x80043201')
+define(`BLKI2OGWSTRAT', `0x80043202')
+define(`BLKI2OSRSTRAT', `0x40043203')
+define(`BLKI2OSWSTRAT', `0x40043204')
+define(`BLKIOMIN', `0x00001278')
+define(`BLKIOOPT', `0x00001279')
+define(`BLKPBSZGET', `0x0000127b')
+define(`BLKPG', `0x00001269')
+define(`BLKRAGET', `0x00001263')
+define(`BLKRASET', `0x00001262')
+define(`BLKREPORTZONE', `0xc0101282')
+define(`BLKRESETZONE', `0x40101283')
+define(`BLKROGET', `0x0000125e')
+define(`BLKROSET', `0x0000125d')
+define(`BLKBSZSET', `0x00001271')
+define(`BLKROTATIONAL', `0x0000127e')
+define(`BLKRRPART', `0x0000125f')
+define(`BLKSECDISCARD', `0x0000127d')
+define(`BLKSECTGET', `0x00001267')
+define(`BLKSECTSET', `0x00001266')
+define(`BLKSSZGET', `0x00001268')
+define(`BLKTRACESETUP', `0xc0481273')
+define(`BLKTRACESTART', `0x00001274')
+define(`BLKTRACESTOP', `0x00001275')
+define(`BLKTRACETEARDOWN', `0x00001276')
+define(`BLKZEROOUT', `0x0000127f')
+define(`BR2684_SETFILT', `0x401c6190')
+define(`BR_ACQUIRE', `0x80107208')
+define(`BR_ACQUIRE_RESULT', `0x80047204')
+define(`BR_ATTEMPT_ACQUIRE', `0x8018720b')
+define(`BR_CLEAR_DEATH_NOTIFICATION_DONE', `0x80087210')
+define(`BR_DEAD_BINDER', `0x8008720f')
+define(`BR_DEAD_REPLY', `0x00007205')
+define(`BR_DECREFS', `0x8010720a')
+define(`BR_ERROR', `0x80047200')
+define(`BR_FAILED_REPLY', `0x00007211')
+define(`BR_FINISHED', `0x0000720e')
+define(`BR_INCREFS', `0x80107207')
+define(`BR_NOOP', `0x0000720c')
+define(`BR_OK', `0x00007201')
+define(`BR_ONEWAY_SPAM_SUSPECT', `0x00007213')
+define(`BR_RELEASE', `0x80107209')
+define(`BR_REPLY', `0x80407203')
+define(`BR_SPAWN_LOOPER', `0x0000720d')
+define(`BR_TRANSACTION', `0x80407202')
+define(`BR_TRANSACTION_COMPLETE', `0x00007206')
+define(`BT819_FIFO_RESET_HIGH', `0x00006201')
+define(`BT819_FIFO_RESET_LOW', `0x00006200')
+define(`BTRFS_IOC_ADD_DEV', `0x5000940a')
+define(`BTRFS_IOC_BALANCE', `0x5000940c')
+define(`BTRFS_IOC_BALANCE_CTL', `0x40049421')
+define(`BTRFS_IOC_BALANCE_PROGRESS', `0x84009422')
+define(`BTRFS_IOC_BALANCE_V2', `0xc4009420')
+define(`BTRFS_IOC_CLONE', `0x40049409')
+define(`BTRFS_IOC_CLONE_RANGE', `0x4020940d')
+define(`BTRFS_IOC_DEFAULT_SUBVOL', `0x40089413')
+define(`BTRFS_IOC_DEFRAG', `0x50009402')
+define(`BTRFS_IOC_DEFRAG_RANGE', `0x40309410')
+define(`BTRFS_IOC_DEVICES_READY', `0x90009427')
+define(`BTRFS_IOC_DEV_INFO', `0xd000941e')
+define(`BTRFS_IOC_DEV_REPLACE', `0xca289435')
+define(`BTRFS_IOC_FILE_EXTENT_SAME', `0xc0189436')
+define(`BTRFS_IOC_FS_INFO', `0x8400941f')
+define(`BTRFS_IOC_GET_DEV_STATS', `0xc4089434')
+define(`BTRFS_IOC_GET_FEATURES', `0x80189439')
+define(`BTRFS_IOC_GET_FSLABEL', `0x81009431')
+define(`BTRFS_IOC_GET_SUPPORTED_FEATURES', `0x80489439')
+define(`BTRFS_IOC_INO_LOOKUP', `0xd0009412')
+define(`BTRFS_IOC_INO_PATHS', `0xc0389423')
+define(`BTRFS_IOC_LOGICAL_INO', `0xc0389424')
+define(`BTRFS_IOC_QGROUP_ASSIGN', `0x40189429')
+define(`BTRFS_IOC_QGROUP_CREATE', `0x4010942a')
+define(`BTRFS_IOC_QGROUP_LIMIT', `0x8030942b')
+define(`BTRFS_IOC_QUOTA_CTL', `0xc0109428')
+define(`BTRFS_IOC_QUOTA_RESCAN', `0x4040942c')
+define(`BTRFS_IOC_QUOTA_RESCAN_STATUS', `0x8040942d')
+define(`BTRFS_IOC_QUOTA_RESCAN_WAIT', `0x0000942e')
+define(`BTRFS_IOC_RESIZE', `0x50009403')
+define(`BTRFS_IOC_RM_DEV', `0x5000940b')
+define(`BTRFS_IOC_SCAN_DEV', `0x50009404')
+define(`BTRFS_IOC_SCRUB', `0xc400941b')
+define(`BTRFS_IOC_SCRUB_CANCEL', `0x0000941c')
+define(`BTRFS_IOC_SCRUB_PROGRESS', `0xc400941d')
+define(`BTRFS_IOC_SEND', `0x40489426')
+define(`BTRFS_IOC_SET_FEATURES', `0x40309439')
+define(`BTRFS_IOC_SET_FSLABEL', `0x41009432')
+define(`BTRFS_IOC_SET_RECEIVED_SUBVOL', `0xc0c89425')
+define(`BTRFS_IOC_SNAP_CREATE', `0x50009401')
+define(`BTRFS_IOC_SNAP_CREATE_V2', `0x50009417')
+define(`BTRFS_IOC_SNAP_DESTROY', `0x5000940f')
+define(`BTRFS_IOC_SPACE_INFO', `0xc0109414')
+define(`BTRFS_IOC_START_SYNC', `0x80089418')
+define(`BTRFS_IOC_SUBVOL_CREATE', `0x5000940e')
+define(`BTRFS_IOC_SUBVOL_CREATE_V2', `0x50009418')
+define(`BTRFS_IOC_SUBVOL_GETFLAGS', `0x80089419')
+define(`BTRFS_IOC_SUBVOL_SETFLAGS', `0x4008941a')
+define(`BTRFS_IOC_SYNC', `0x00009408')
+define(`BTRFS_IOC_TRANS_END', `0x00009407')
+define(`BTRFS_IOC_TRANS_START', `0x00009406')
+define(`BTRFS_IOC_TREE_SEARCH', `0xd0009411')
+define(`BTRFS_IOC_TREE_SEARCH_V2', `0xc0709411')
+define(`BTRFS_IOC_WAIT_SYNC', `0x40089416')
+define(`CA_GET_CAP', `0x80106f81')
+define(`CA_GET_DESCR_INFO', `0x80086f83')
+define(`CA_GET_MSG', `0x810c6f84')
+define(`CA_GET_SLOT_INFO', `0x800c6f82')
+define(`CAPI_CLR_FLAGS', `0x80044325')
+define(`CAPI_GET_ERRCODE', `0x80024321')
+define(`CAPI_GET_FLAGS', `0x80044323')
+define(`CAPI_GET_MANUFACTURER', `0xc0044306')
+define(`CAPI_GET_PROFILE', `0xc0404309')
+define(`CAPI_GET_SERIAL', `0xc0044308')
+define(`CAPI_GET_VERSION', `0xc0104307')
+define(`CAPI_INSTALLED', `0x80024322')
+define(`CAPI_MANUFACTURER_CMD', `0xc0104320')
+define(`CAPI_NCCI_GETUNIT', `0x80044327')
+define(`CAPI_NCCI_OPENCOUNT', `0x80044326')
+define(`CAPI_REGISTER', `0x400c4301')
+define(`CAPI_SET_FLAGS', `0x80044324')
+define(`CA_RESET', `0x00006f80')
+define(`CA_SEND_MSG', `0x410c6f85')
+define(`CA_SET_DESCR', `0x40106f86')
+define(`CA_SET_PID', `0x40086f87')
+define(`CCISS_BIG_PASSTHRU', `0xc0604212')
+define(`CCISS_DEREGDISK', `0x0000420c')
+define(`CCISS_GETBUSTYPES', `0x80044207')
+define(`CCISS_GETDRIVVER', `0x80044209')
+define(`CCISS_GETFIRMVER', `0x80044208')
+define(`CCISS_GETHEARTBEAT', `0x80044206')
+define(`CCISS_GETINTINFO', `0x80084202')
+define(`CCISS_GETLUNINFO', `0x800c4211')
+define(`CCISS_GETNODENAME', `0x80104204')
+define(`CCISS_GETPCIINFO', `0x80084201')
+define(`CCISS_PASSTHRU', `0xc058420b')
+define(`CCISS_REGNEWD', `0x0000420e')
+define(`CCISS_REGNEWDISK', `0x4004420d')
+define(`CCISS_RESCANDISK', `0x00004210')
+define(`CCISS_REVALIDVOLS', `0x0000420a')
+define(`CCISS_SETINTINFO', `0x40084203')
+define(`CCISS_SETNODENAME', `0x40104205')
+define(`CDROMAUDIOBUFSIZ', `0x00005382')
+define(`CDROM_CHANGER_NSLOTS', `0x00005328')
+define(`CDROM_CLEAR_OPTIONS', `0x00005321')
+define(`CDROMCLOSETRAY', `0x00005319')
+define(`CDROM_DEBUG', `0x00005330')
+define(`CDROM_DISC_STATUS', `0x00005327')
+define(`CDROM_DRIVE_STATUS', `0x00005326')
+define(`CDROMEJECT', `0x00005309')
+define(`CDROMEJECT_SW', `0x0000530f')
+define(`CDROM_GET_CAPABILITY', `0x00005331')
+define(`CDROM_GET_MCN', `0x00005311')
+define(`CDROMGETSPINDOWN', `0x0000531d')
+define(`CDROM_LAST_WRITTEN', `0x00005395')
+define(`CDROM_LOCKDOOR', `0x00005329')
+define(`CDROM_MEDIA_CHANGED', `0x00005325')
+define(`CDROMMULTISESSION', `0x00005310')
+define(`CDROM_NEXT_WRITABLE', `0x00005394')
+define(`CDROMPAUSE', `0x00005301')
+define(`CDROMPLAYBLK', `0x00005317')
+define(`CDROMPLAYMSF', `0x00005303')
+define(`CDROMPLAYTRKIND', `0x00005304')
+define(`CDROMREADALL', `0x00005318')
+define(`CDROMREADAUDIO', `0x0000530e')
+define(`CDROMREADCOOKED', `0x00005315')
+define(`CDROMREADMODE1', `0x0000530d')
+define(`CDROMREADMODE2', `0x0000530c')
+define(`CDROMREADRAW', `0x00005314')
+define(`CDROMREADTOCENTRY', `0x00005306')
+define(`CDROMREADTOCHDR', `0x00005305')
+define(`CDROMRESET', `0x00005312')
+define(`CDROMRESUME', `0x00005302')
+define(`CDROMSEEK', `0x00005316')
+define(`CDROM_SELECT_DISC', `0x00005323')
+define(`CDROM_SELECT_SPEED', `0x00005322')
+define(`CDROM_SEND_PACKET', `0x00005393')
+define(`CDROM_SET_OPTIONS', `0x00005320')
+define(`CDROMSETSPINDOWN', `0x0000531e')
+define(`CDROMSTART', `0x00005308')
+define(`CDROMSTOP', `0x00005307')
+define(`CDROMSUBCHNL', `0x0000530b')
+define(`CDROMVOLCTRL', `0x0000530a')
+define(`CDROMVOLREAD', `0x00005313')
+define(`CHIOEXCHANGE', `0x401c6302')
+define(`CHIOGELEM', `0x406c6310')
+define(`CHIOGPARAMS', `0x80146306')
+define(`CHIOGPICKER', `0x80046304')
+define(`CHIOGSTATUS', `0x40106308')
+define(`CHIOGVPARAMS', `0x80706313')
+define(`CHIOINITELEM', `0x00006311')
+define(`CHIOMOVE', `0x40146301')
+define(`CHIOPOSITION', `0x400c6303')
+define(`CHIOSPICKER', `0x40046305')
+define(`CHIOSVOLTAG', `0x40306312')
+define(`CIOC_KERNEL_VERSION', `0xc008630a')
+define(`CLEAR_ARRAY', `0x00000920')
+define(`CM_IOCARDOFF', `0x00006304')
+define(`CM_IOCGATR', `0xc0086301')
+define(`CM_IOCGSTATUS', `0x80086300')
+define(`CM_IOCSPTS', `0x40086302')
+define(`CM_IOCSRDR', `0x00006303')
+define(`CM_IOSDBGLVL', `0x400863fa')
+define(`CXL_IOCTL_GET_PROCESS_ELEMENT', `0x8004ca01')
+define(`CXL_IOCTL_START_WORK', `0x4040ca00')
+define(`DM_DEV_CREATE', `0xc138fd03')
+define(`DM_DEV_REMOVE', `0xc138fd04')
+define(`DM_DEV_RENAME', `0xc138fd05')
+define(`DM_DEV_SET_GEOMETRY', `0xc138fd0f')
+define(`DM_DEV_STATUS', `0xc138fd07')
+define(`DM_DEV_SUSPEND', `0xc138fd06')
+define(`DM_DEV_WAIT', `0xc138fd08')
+define(`DM_LIST_DEVICES', `0xc138fd02')
+define(`DM_LIST_VERSIONS', `0xc138fd0d')
+define(`DM_REMOVE_ALL', `0xc138fd01')
+define(`DM_TABLE_CLEAR', `0xc138fd0a')
+define(`DM_TABLE_DEPS', `0xc138fd0b')
+define(`DM_TABLE_LOAD', `0xc138fd09')
+define(`DM_TABLE_STATUS', `0xc138fd0c')
+define(`DM_TARGET_MSG', `0xc138fd0e')
+define(`DM_VERSION', `0xc138fd00')
+define(`DMX_ADD_PID', `0x40026f33')
+define(`DMX_GET_CAPS', `0x80086f30')
+define(`DMX_GET_PES_PIDS', `0x800a6f2f')
+define(`DMX_GET_STC', `0xc0106f32')
+define(`DMX_REMOVE_PID', `0x40026f34')
+define(`DMX_SET_BUFFER_SIZE', `0x00006f2d')
+define(`DMX_SET_FILTER', `0x403c6f2b')
+define(`DMX_SET_PES_FILTER', `0x40146f2c')
+define(`DMX_SET_SOURCE', `0x40046f31')
+define(`DMX_START', `0x00006f29')
+define(`DMX_STOP', `0x00006f2a')
+define(`DRM_IOCTL_ADD_BUFS', `0xc0206416')
+define(`DRM_IOCTL_ADD_CTX', `0xc0086420')
+define(`DRM_IOCTL_ADD_DRAW', `0xc0046427')
+define(`DRM_IOCTL_ADD_MAP', `0xc0286415')
+define(`DRM_IOCTL_AGP_ACQUIRE', `0x00006430')
+define(`DRM_IOCTL_AGP_ALLOC', `0xc0206434')
+define(`DRM_IOCTL_AGP_BIND', `0x40106436')
+define(`DRM_IOCTL_AGP_ENABLE', `0x40086432')
+define(`DRM_IOCTL_AGP_FREE', `0x40206435')
+define(`DRM_IOCTL_AGP_INFO', `0x80386433')
+define(`DRM_IOCTL_AGP_RELEASE', `0x00006431')
+define(`DRM_IOCTL_AGP_UNBIND', `0x40106437')
+define(`DRM_IOCTL_AUTH_MAGIC', `0x40046411')
+define(`DRM_IOCTL_BLOCK', `0xc0046412')
+define(`DRM_IOCTL_CONTROL', `0x40086414')
+define(`DRM_IOCTL_DMA', `0xc0406429')
+define(`DRM_IOCTL_DROP_MASTER', `0x0000641f')
+define(`DRM_IOCTL_EXYNOS_G2D_EXEC', `0xc0086462')
+define(`DRM_IOCTL_EXYNOS_G2D_GET_VER', `0xc0086460')
+define(`DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST', `0xc0286461')
+define(`DRM_IOCTL_EXYNOS_GEM_CREATE', `0xc0106440')
+define(`DRM_IOCTL_EXYNOS_GEM_GET', `0xc0106444')
+define(`DRM_IOCTL_EXYNOS_IPP_CMD_CTRL', `0xc0086473')
+define(`DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY', `0xc0506470')
+define(`DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF', `0xc0286472')
+define(`DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY', `0xc0606471')
+define(`DRM_IOCTL_EXYNOS_VIDI_CONNECTION', `0xc0106447')
+define(`DRM_IOCTL_FINISH', `0x4008642c')
+define(`DRM_IOCTL_FREE_BUFS', `0x4010641a')
+define(`DRM_IOCTL_GEM_CLOSE', `0x40086409')
+define(`DRM_IOCTL_GEM_FLINK', `0xc008640a')
+define(`DRM_IOCTL_GEM_OPEN', `0xc010640b')
+define(`DRM_IOCTL_GET_CAP', `0xc010640c')
+define(`DRM_IOCTL_GET_CLIENT', `0xc0286405')
+define(`DRM_IOCTL_GET_CTX', `0xc0086423')
+define(`DRM_IOCTL_GET_MAGIC', `0x80046402')
+define(`DRM_IOCTL_GET_MAP', `0xc0286404')
+define(`DRM_IOCTL_GET_SAREA_CTX', `0xc010641d')
+define(`DRM_IOCTL_GET_STATS', `0x80f86406')
+define(`DRM_IOCTL_GET_UNIQUE', `0xc0106401')
+define(`DRM_IOCTL_I810_CLEAR', `0x400c6442')
+define(`DRM_IOCTL_I810_COPY', `0x40106447')
+define(`DRM_IOCTL_I810_DOCOPY', `0x00006448')
+define(`DRM_IOCTL_I810_FLIP', `0x0000644e')
+define(`DRM_IOCTL_I810_FLUSH', `0x00006443')
+define(`DRM_IOCTL_I810_FSTATUS', `0x0000644a')
+define(`DRM_IOCTL_I810_GETAGE', `0x00006444')
+define(`DRM_IOCTL_I810_GETBUF', `0xc0186445')
+define(`DRM_IOCTL_I810_INIT', `0x40406440')
+define(`DRM_IOCTL_I810_MC', `0x4020644c')
+define(`DRM_IOCTL_I810_OV0FLIP', `0x0000644b')
+define(`DRM_IOCTL_I810_OV0INFO', `0x80086449')
+define(`DRM_IOCTL_I810_RSTATUS', `0x0000644d')
+define(`DRM_IOCTL_I810_SWAP', `0x00006446')
+define(`DRM_IOCTL_I810_VERTEX', `0x400c6441')
+define(`DRM_IOCTL_I915_ALLOC', `0xc0186448')
+define(`DRM_IOCTL_I915_BATCHBUFFER', `0x40206443')
+define(`DRM_IOCTL_I915_CMDBUFFER', `0x4020644b')
+define(`DRM_IOCTL_I915_DESTROY_HEAP', `0x4004644c')
+define(`DRM_IOCTL_I915_FLIP', `0x00006442')
+define(`DRM_IOCTL_I915_FLUSH', `0x00006441')
+define(`DRM_IOCTL_I915_FREE', `0x40086449')
+define(`DRM_IOCTL_I915_GEM_BUSY', `0xc0086457')
+define(`DRM_IOCTL_I915_GEM_CONTEXT_CREATE', `0xc008646d')
+define(`DRM_IOCTL_I915_GEM_CONTEXT_DESTROY', `0x4008646e')
+define(`DRM_IOCTL_I915_GEM_CREATE', `0xc010645b')
+define(`DRM_IOCTL_I915_GEM_ENTERVT', `0x00006459')
+define(`DRM_IOCTL_I915_GEM_EXECBUFFER', `0x40286454')
+define(`DRM_IOCTL_I915_GEM_EXECBUFFER2', `0x40406469')
+define(`DRM_IOCTL_I915_GEM_GET_APERTURE', `0x80106463')
+define(`DRM_IOCTL_I915_GEM_GET_CACHING', `0xc0086470')
+define(`DRM_IOCTL_I915_GEM_GET_TILING', `0xc0106462')
+define(`DRM_IOCTL_I915_GEM_INIT', `0x40106453')
+define(`DRM_IOCTL_I915_GEM_LEAVEVT', `0x0000645a')
+define(`DRM_IOCTL_I915_GEM_MADVISE', `0xc00c6466')
+define(`DRM_IOCTL_I915_GEM_MMAP', `0xc020645e')
+define(`DRM_IOCTL_I915_GEM_MMAP_GTT', `0xc0106464')
+define(`DRM_IOCTL_I915_GEM_PIN', `0xc0186455')
+define(`DRM_IOCTL_I915_GEM_PREAD', `0x4020645c')
+define(`DRM_IOCTL_I915_GEM_PWRITE', `0x4020645d')
+define(`DRM_IOCTL_I915_GEM_SET_CACHING', `0x4008646f')
+define(`DRM_IOCTL_I915_GEM_SET_DOMAIN', `0x400c645f')
+define(`DRM_IOCTL_I915_GEM_SET_TILING', `0xc0106461')
+define(`DRM_IOCTL_I915_GEM_SW_FINISH', `0x40046460')
+define(`DRM_IOCTL_I915_GEM_THROTTLE', `0x00006458')
+define(`DRM_IOCTL_I915_GEM_UNPIN', `0x40086456')
+define(`DRM_IOCTL_I915_GEM_USERPTR', `0xc0186473')
+define(`DRM_IOCTL_I915_GEM_WAIT', `0xc010646c')
+define(`DRM_IOCTL_I915_GETPARAM', `0xc0106446')
+define(`DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID', `0xc0086465')
+define(`DRM_IOCTL_I915_GET_RESET_STATS', `0xc0186472')
+define(`DRM_IOCTL_I915_GET_SPRITE_COLORKEY', `0xc014646b')
+define(`DRM_IOCTL_I915_GET_VBLANK_PIPE', `0x8004644e')
+define(`DRM_IOCTL_I915_HWS_ADDR', `0x40106451')
+define(`DRM_IOCTL_I915_INIT', `0x40446440')
+define(`DRM_IOCTL_I915_INIT_HEAP', `0x400c644a')
+define(`DRM_IOCTL_I915_IRQ_EMIT', `0xc0086444')
+define(`DRM_IOCTL_I915_IRQ_WAIT', `0x40046445')
+define(`DRM_IOCTL_I915_OVERLAY_ATTRS', `0xc02c6468')
+define(`DRM_IOCTL_I915_OVERLAY_PUT_IMAGE', `0x402c6467')
+define(`DRM_IOCTL_I915_REG_READ', `0xc0106471')
+define(`DRM_IOCTL_I915_SETPARAM', `0x40086447')
+define(`DRM_IOCTL_I915_SET_SPRITE_COLORKEY', `0xc014646b')
+define(`DRM_IOCTL_I915_SET_VBLANK_PIPE', `0x4004644d')
+define(`DRM_IOCTL_I915_VBLANK_SWAP', `0xc00c644f')
+define(`DRM_IOCTL_INFO_BUFS', `0xc0106418')
+define(`DRM_IOCTL_IRQ_BUSID', `0xc0106403')
+define(`DRM_IOCTL_LOCK', `0x4008642a')
+define(`DRM_IOCTL_MAP_BUFS', `0xc0186419')
+define(`DRM_IOCTL_MARK_BUFS', `0x40206417')
+define(`DRM_IOCTL_MGA_BLIT', `0x40346448')
+define(`DRM_IOCTL_MGA_CLEAR', `0x40146444')
+define(`DRM_IOCTL_MGA_DMA_BOOTSTRAP', `0xc020644c')
+define(`DRM_IOCTL_MGA_FLUSH', `0x40086441')
+define(`DRM_IOCTL_MGA_GETPARAM', `0xc0106449')
+define(`DRM_IOCTL_MGA_ILOAD', `0x400c6447')
+define(`DRM_IOCTL_MGA_INDICES', `0x40106446')
+define(`DRM_IOCTL_MGA_INIT', `0x40806440')
+define(`DRM_IOCTL_MGA_RESET', `0x00006442')
+define(`DRM_IOCTL_MGA_SET_FENCE', `0x4004644a')
+define(`DRM_IOCTL_MGA_SWAP', `0x00006443')
+define(`DRM_IOCTL_MGA_VERTEX', `0x400c6445')
+define(`DRM_IOCTL_MGA_WAIT_FENCE', `0xc004644b')
+define(`DRM_IOCTL_MOD_CTX', `0x40086422')
+define(`DRM_IOCTL_MODE_ADDFB', `0xc01c64ae')
+define(`DRM_IOCTL_MODE_ADDFB2', `0xc04464b8')
+define(`DRM_IOCTL_MODE_ATTACHMODE', `0xc04864a8')
+define(`DRM_IOCTL_MODE_CREATE_DUMB', `0xc02064b2')
+define(`DRM_IOCTL_MODE_CURSOR', `0xc01c64a3')
+define(`DRM_IOCTL_MODE_CURSOR2', `0xc02464bb')
+define(`DRM_IOCTL_MODE_DESTROY_DUMB', `0xc00464b4')
+define(`DRM_IOCTL_MODE_DETACHMODE', `0xc04864a9')
+define(`DRM_IOCTL_MODE_DIRTYFB', `0xc01864b1')
+define(`DRM_IOCTL_MODE_GETCONNECTOR', `0xc05064a7')
+define(`DRM_IOCTL_MODE_GETCRTC', `0xc06864a1')
+define(`DRM_IOCTL_MODE_GETENCODER', `0xc01464a6')
+define(`DRM_IOCTL_MODE_GETFB', `0xc01c64ad')
+define(`DRM_IOCTL_MODE_GETGAMMA', `0xc02064a4')
+define(`DRM_IOCTL_MODE_GETPLANE', `0xc02064b6')
+define(`DRM_IOCTL_MODE_GETPLANERESOURCES', `0xc01064b5')
+define(`DRM_IOCTL_MODE_GETPROPBLOB', `0xc01064ac')
+define(`DRM_IOCTL_MODE_GETPROPERTY', `0xc04064aa')
+define(`DRM_IOCTL_MODE_GETRESOURCES', `0xc04064a0')
+define(`DRM_IOCTL_MODE_MAP_DUMB', `0xc01064b3')
+define(`DRM_IOCTL_MODE_OBJ_GETPROPERTIES', `0xc02064b9')
+define(`DRM_IOCTL_MODE_OBJ_SETPROPERTY', `0xc01864ba')
+define(`DRM_IOCTL_MODE_PAGE_FLIP', `0xc01864b0')
+define(`DRM_IOCTL_MODE_RMFB', `0xc00464af')
+define(`DRM_IOCTL_MODE_SETCRTC', `0xc06864a2')
+define(`DRM_IOCTL_MODESET_CTL', `0x40086408')
+define(`DRM_IOCTL_MODE_SETGAMMA', `0xc02064a5')
+define(`DRM_IOCTL_MODE_SETPLANE', `0xc03064b7')
+define(`DRM_IOCTL_MODE_SETPROPERTY', `0xc01064ab')
+define(`DRM_IOCTL_MSM_GEM_CPU_FINI', `0x40046445')
+define(`DRM_IOCTL_MSM_GEM_CPU_PREP', `0x40186444')
+define(`DRM_IOCTL_MSM_GEM_INFO', `0xc0106443')
+define(`DRM_IOCTL_MSM_GEM_NEW', `0xc0106442')
+define(`DRM_IOCTL_MSM_GEM_SUBMIT', `0xc0206446')
+define(`DRM_IOCTL_MSM_GET_PARAM', `0xc0106440')
+define(`DRM_IOCTL_MSM_WAIT_FENCE', `0x40186447')
+define(`DRM_IOCTL_NEW_CTX', `0x40086425')
+define(`DRM_IOCTL_NOUVEAU_GEM_CPU_FINI', `0x40046483')
+define(`DRM_IOCTL_NOUVEAU_GEM_CPU_PREP', `0x40086482')
+define(`DRM_IOCTL_NOUVEAU_GEM_INFO', `0xc0286484')
+define(`DRM_IOCTL_NOUVEAU_GEM_NEW', `0xc0306480')
+define(`DRM_IOCTL_NOUVEAU_GEM_PUSHBUF', `0xc0406481')
+define(`DRM_IOCTL_OMAP_GEM_CPU_FINI', `0x40106445')
+define(`DRM_IOCTL_OMAP_GEM_CPU_PREP', `0x40086444')
+define(`DRM_IOCTL_OMAP_GEM_INFO', `0xc0186446')
+define(`DRM_IOCTL_OMAP_GEM_NEW', `0xc0106443')
+define(`DRM_IOCTL_OMAP_GET_PARAM', `0xc0106440')
+define(`DRM_IOCTL_OMAP_SET_PARAM', `0x40106441')
+define(`DRM_IOCTL_PRIME_FD_TO_HANDLE', `0xc00c642e')
+define(`DRM_IOCTL_PRIME_HANDLE_TO_FD', `0xc00c642d')
+define(`DRM_IOCTL_QXL_ALLOC', `0xc0086440')
+define(`DRM_IOCTL_QXL_ALLOC_SURF', `0xc0186446')
+define(`DRM_IOCTL_QXL_CLIENTCAP', `0x40086445')
+define(`DRM_IOCTL_QXL_EXECBUFFER', `0x40106442')
+define(`DRM_IOCTL_QXL_GETPARAM', `0xc0106444')
+define(`DRM_IOCTL_QXL_MAP', `0xc0106441')
+define(`DRM_IOCTL_QXL_UPDATE_AREA', `0x40186443')
+define(`DRM_IOCTL_R128_BLIT', `0x4018644b')
+define(`DRM_IOCTL_R128_CCE_IDLE', `0x00006444')
+define(`DRM_IOCTL_R128_CCE_RESET', `0x00006443')
+define(`DRM_IOCTL_R128_CCE_START', `0x00006441')
+define(`DRM_IOCTL_R128_CCE_STOP', `0x40086442')
+define(`DRM_IOCTL_R128_CLEAR', `0x40146448')
+define(`DRM_IOCTL_R128_DEPTH', `0x4028644c')
+define(`DRM_IOCTL_R128_FLIP', `0x00006453')
+define(`DRM_IOCTL_R128_FULLSCREEN', `0x40046450')
+define(`DRM_IOCTL_R128_GETPARAM', `0xc0106452')
+define(`DRM_IOCTL_R128_INDICES', `0x4014644a')
+define(`DRM_IOCTL_R128_INDIRECT', `0xc010644f')
+define(`DRM_IOCTL_R128_INIT', `0x40786440')
+define(`DRM_IOCTL_R128_RESET', `0x00006446')
+define(`DRM_IOCTL_R128_STIPPLE', `0x4008644d')
+define(`DRM_IOCTL_R128_SWAP', `0x00006447')
+define(`DRM_IOCTL_R128_VERTEX', `0x40106449')
+define(`DRM_IOCTL_RADEON_ALLOC', `0xc0186453')
+define(`DRM_IOCTL_RADEON_CLEAR', `0x40206448')
+define(`DRM_IOCTL_RADEON_CMDBUF', `0x40206450')
+define(`DRM_IOCTL_RADEON_CP_IDLE', `0x00006444')
+define(`DRM_IOCTL_RADEON_CP_INIT', `0x40786440')
+define(`DRM_IOCTL_RADEON_CP_RESET', `0x00006443')
+define(`DRM_IOCTL_RADEON_CP_RESUME', `0x00006458')
+define(`DRM_IOCTL_RADEON_CP_START', `0x00006441')
+define(`DRM_IOCTL_RADEON_CP_STOP', `0x40086442')
+define(`DRM_IOCTL_RADEON_CS', `0xc0206466')
+define(`DRM_IOCTL_RADEON_FLIP', `0x00006452')
+define(`DRM_IOCTL_RADEON_FREE', `0x40086454')
+define(`DRM_IOCTL_RADEON_FULLSCREEN', `0x40046446')
+define(`DRM_IOCTL_RADEON_GEM_BUSY', `0xc008646a')
+define(`DRM_IOCTL_RADEON_GEM_CREATE', `0xc020645d')
+define(`DRM_IOCTL_RADEON_GEM_GET_TILING', `0xc00c6469')
+define(`DRM_IOCTL_RADEON_GEM_INFO', `0xc018645c')
+define(`DRM_IOCTL_RADEON_GEM_MMAP', `0xc020645e')
+define(`DRM_IOCTL_RADEON_GEM_OP', `0xc010646c')
+define(`DRM_IOCTL_RADEON_GEM_PREAD', `0xc0206461')
+define(`DRM_IOCTL_RADEON_GEM_PWRITE', `0xc0206462')
+define(`DRM_IOCTL_RADEON_GEM_SET_DOMAIN', `0xc00c6463')
+define(`DRM_IOCTL_RADEON_GEM_SET_TILING', `0xc00c6468')
+define(`DRM_IOCTL_RADEON_GEM_USERPTR', `0xc018646d')
+define(`DRM_IOCTL_RADEON_GEM_VA', `0xc018646b')
+define(`DRM_IOCTL_RADEON_GEM_WAIT_IDLE', `0x40086464')
+define(`DRM_IOCTL_RADEON_GETPARAM', `0xc0106451')
+define(`DRM_IOCTL_RADEON_INDICES', `0x4014644a')
+define(`DRM_IOCTL_RADEON_INDIRECT', `0xc010644d')
+define(`DRM_IOCTL_RADEON_INFO', `0xc0106467')
+define(`DRM_IOCTL_RADEON_INIT_HEAP', `0x400c6455')
+define(`DRM_IOCTL_RADEON_IRQ_EMIT', `0xc0086456')
+define(`DRM_IOCTL_RADEON_IRQ_WAIT', `0x40046457')
+define(`DRM_IOCTL_RADEON_RESET', `0x00006445')
+define(`DRM_IOCTL_RADEON_SETPARAM', `0x40106459')
+define(`DRM_IOCTL_RADEON_STIPPLE', `0x4008644c')
+define(`DRM_IOCTL_RADEON_SURF_ALLOC', `0x400c645a')
+define(`DRM_IOCTL_RADEON_SURF_FREE', `0x4004645b')
+define(`DRM_IOCTL_RADEON_SWAP', `0x00006447')
+define(`DRM_IOCTL_RADEON_TEXTURE', `0xc020644e')
+define(`DRM_IOCTL_RADEON_VERTEX', `0x40106449')
+define(`DRM_IOCTL_RADEON_VERTEX2', `0x4028644f')
+define(`DRM_IOCTL_RES_CTX', `0xc0106426')
+define(`DRM_IOCTL_RM_CTX', `0xc0086421')
+define(`DRM_IOCTL_RM_DRAW', `0xc0046428')
+define(`DRM_IOCTL_RM_MAP', `0x4028641b')
+define(`DRM_IOCTL_SAVAGE_BCI_CMDBUF', `0x40386441')
+define(`DRM_IOCTL_SAVAGE_BCI_EVENT_EMIT', `0xc0086442')
+define(`DRM_IOCTL_SAVAGE_BCI_EVENT_WAIT', `0x40086443')
+define(`DRM_IOCTL_SAVAGE_BCI_INIT', `0x40606440')
+define(`DRM_IOCTL_SET_CLIENT_CAP', `0x4010640d')
+define(`DRM_IOCTL_SET_MASTER', `0x0000641e')
+define(`DRM_IOCTL_SET_SAREA_CTX', `0x4010641c')
+define(`DRM_IOCTL_SET_UNIQUE', `0x40106410')
+define(`DRM_IOCTL_SET_VERSION', `0xc0106407')
+define(`DRM_IOCTL_SG_ALLOC', `0xc0106438')
+define(`DRM_IOCTL_SG_FREE', `0x40106439')
+define(`DRM_IOCTL_SIS_AGP_ALLOC', `0xc0206454')
+define(`DRM_IOCTL_SIS_AGP_FREE', `0x40206455')
+define(`DRM_IOCTL_SIS_AGP_INIT', `0xc0106453')
+define(`DRM_IOCTL_SIS_FB_ALLOC', `0xc0206444')
+define(`DRM_IOCTL_SIS_FB_FREE', `0x40206445')
+define(`DRM_IOCTL_SIS_FB_INIT', `0x40106456')
+define(`DRM_IOCTL_SWITCH_CTX', `0x40086424')
+define(`DRM_IOCTL_TEGRA_CLOSE_CHANNEL', `0xc0106446')
+define(`DRM_IOCTL_TEGRA_GEM_CREATE', `0xc0106440')
+define(`DRM_IOCTL_TEGRA_GEM_GET_FLAGS', `0xc008644d')
+define(`DRM_IOCTL_TEGRA_GEM_GET_TILING', `0xc010644b')
+define(`DRM_IOCTL_TEGRA_GEM_MMAP', `0xc0086441')
+define(`DRM_IOCTL_TEGRA_GEM_SET_FLAGS', `0xc008644c')
+define(`DRM_IOCTL_TEGRA_GEM_SET_TILING', `0xc010644a')
+define(`DRM_IOCTL_TEGRA_GET_SYNCPT', `0xc0106447')
+define(`DRM_IOCTL_TEGRA_GET_SYNCPT_BASE', `0xc0106449')
+define(`DRM_IOCTL_TEGRA_OPEN_CHANNEL', `0xc0106445')
+define(`DRM_IOCTL_TEGRA_SUBMIT', `0xc0586448')
+define(`DRM_IOCTL_TEGRA_SYNCPT_INCR', `0xc0086443')
+define(`DRM_IOCTL_TEGRA_SYNCPT_READ', `0xc0086442')
+define(`DRM_IOCTL_TEGRA_SYNCPT_WAIT', `0xc0106444')
+define(`DRM_IOCTL_UNBLOCK', `0xc0046413')
+define(`DRM_IOCTL_UNLOCK', `0x4008642b')
+define(`DRM_IOCTL_UPDATE_DRAW', `0x4018643f')
+define(`DRM_IOCTL_VERSION', `0xc0406400')
+define(`DRM_IOCTL_VIA_AGP_INIT', `0xc0086442')
+define(`DRM_IOCTL_VIA_ALLOCMEM', `0xc0206440')
+define(`DRM_IOCTL_VIA_BLIT_SYNC', `0x4008644f')
+define(`DRM_IOCTL_VIA_CMDBUFFER', `0x40106448')
+define(`DRM_IOCTL_VIA_CMDBUF_SIZE', `0xc00c644b')
+define(`DRM_IOCTL_VIA_DEC_FUTEX', `0x40106445')
+define(`DRM_IOCTL_VIA_DMA_BLIT', `0x4030644e')
+define(`DRM_IOCTL_VIA_DMA_INIT', `0xc0206447')
+define(`DRM_IOCTL_VIA_FB_INIT', `0xc0086443')
+define(`DRM_IOCTL_VIA_FLUSH', `0x00006449')
+define(`DRM_IOCTL_VIA_FREEMEM', `0x40206441')
+define(`DRM_IOCTL_VIA_MAP_INIT', `0xc0286444')
+define(`DRM_IOCTL_VIA_PCICMD', `0x4010644a')
+define(`DRM_IOCTL_VIA_WAIT_IRQ', `0xc018644d')
+define(`DRM_IOCTL_WAIT_VBLANK', `0xc018643a')
+define(`DVD_AUTH', `0x00005392')
+define(`DVD_READ_STRUCT', `0x00005390')
+define(`DVD_WRITE_STRUCT', `0x00005391')
+define(`ECCGETLAYOUT', `0x81484d11')
+define(`ECCGETSTATS', `0x80104d12')
+define(`ENI_MEMDUMP', `0x40106160')
+define(`ENI_SETMULT', `0x40106167')
+define(`EVIOCGEFFECTS', `0x80044584')
+define(`EVIOCGID', `0x80084502')
+define(`EVIOCGKEYCODE', `0x80084504')
+define(`EVIOCGKEYCODE_V2', `0x80284504')
+define(`EVIOCGRAB', `0x40044590')
+define(`EVIOCGREP', `0x80084503')
+define(`EVIOCGVERSION', `0x80044501')
+define(`EVIOCREVOKE', `0x40044591')
+define(`EVIOCRMFF', `0x40044581')
+define(`EVIOCSCLOCKID', `0x400445a0')
+define(`EVIOCSFF', `0x40304580')
+define(`EVIOCSKEYCODE', `0x40084504')
+define(`EVIOCSKEYCODE_V2', `0x40284504')
+define(`EVIOCSREP', `0x40084503')
+define(`F2FS_IOC_START_ATOMIC_WRITE', `0xf501')
+define(`F2FS_IOC_COMMIT_ATOMIC_WRITE', `0xf502')
+define(`F2FS_IOC_START_VOLATILE_WRITE', `0xf503')
+define(`F2FS_IOC_RELEASE_VOLATILE_WRITE', `0xf504')
+define(`F2FS_IOC_ABORT_VOLATILE_WRITE', `0xf505')
+define(`F2FS_IOC_GARBAGE_COLLECT', `0xf506')
+define(`F2FS_IOC_WRITE_CHECKPOINT', `0xf507')
+define(`F2FS_IOC_DEFRAGMENT', `0xf508')
+define(`F2FS_IOC_MOVE_RANGE', `0xf509')
+define(`F2FS_IOC_FLUSH_DEVICE', `0xf50a')
+define(`F2FS_IOC_GARBAGE_COLLECT_RANGE', `0xf50b')
+define(`F2FS_IOC_GET_FEATURES', `0xf50c')
+define(`F2FS_IOC_SET_PIN_FILE', `0xf50d')
+define(`F2FS_IOC_GET_PIN_FILE', `0xf50e')
+define(`F2FS_IOC_PRECACHE_EXTENTS', `0xf50f')
+define(`F2FS_IOC_RESIZE_FS', `0xf510')
+define(`F2FS_IOC_GET_COMPRESS_BLOCKS', `0xf511')
+define(`F2FS_IOC_RELEASE_COMPRESS_BLOCKS', `0xf512')
+define(`F2FS_IOC_RESERVE_COMPRESS_BLOCKS', `0xf513')
+define(`F2FS_IOC_SEC_TRIM_FILE', `0xf514')
+define(`F2FS_IOC_GET_COMPRESS_OPTION', `0xf515')
+define(`F2FS_IOC_SET_COMPRESS_OPTION', `0xf516')
+define(`F2FS_IOC_DECOMPRESS_FILE', `0xf517')
+define(`F2FS_IOC_COMPRESS_FILE', `0xf518')
+define(`F2FS_IOC_SHUTDOWN', `0x587d')
+define(`FAT_IOCTL_GET_ATTRIBUTES', `0x80047210')
+define(`FAT_IOCTL_GET_VOLUME_ID', `0x80047213')
+define(`FAT_IOCTL_SET_ATTRIBUTES', `0x40047211')
+define(`FBIGET_BRIGHTNESS', `0x80044603')
+define(`FBIGET_COLOR', `0x80044605')
+define(`FBIO_ALLOC', `0x00004613')
+define(`FBIOBLANK', `0x00004611')
+define(`FBIO_CURSOR', `0xc0684608')
+define(`FBIO_FREE', `0x00004614')
+define(`FBIOGETCMAP', `0x00004604')
+define(`FBIOGET_CON2FBMAP', `0x0000460f')
+define(`FBIOGET_CONTRAST', `0x80044601')
+define(`FBIO_GETCONTROL2', `0x80084689')
+define(`FBIOGET_DISPINFO', `0x00004618')
+define(`FBIOGET_FSCREENINFO', `0x00004602')
+define(`FBIOGET_GLYPH', `0x00004615')
+define(`FBIOGET_HWCINFO', `0x00004616')
+define(`FBIOGET_VBLANK', `0x80204612')
+define(`FBIOGET_VSCREENINFO', `0x00004600')
+define(`FBIOPAN_DISPLAY', `0x00004606')
+define(`FBIOPUTCMAP', `0x00004605')
+define(`FBIOPUT_CON2FBMAP', `0x00004610')
+define(`FBIOPUT_CONTRAST', `0x40044602')
+define(`FBIOPUT_MODEINFO', `0x00004617')
+define(`FBIOPUT_VSCREENINFO', `0x00004601')
+define(`FBIO_RADEON_GET_MIRROR', `0x80084003')
+define(`FBIO_RADEON_SET_MIRROR', `0x40084004')
+define(`FBIO_WAITEVENT', `0x00004688')
+define(`FBIO_WAITFORVSYNC', `0x40044620')
+define(`FBIPUT_BRIGHTNESS', `0x40044603')
+define(`FBIPUT_COLOR', `0x40044606')
+define(`FBIPUT_HSYNC', `0x40044609')
+define(`FBIPUT_VSYNC', `0x4004460a')
+define(`FDCLRPRM', `0x00000241')
+define(`FDDEFPRM', `0x40200243')
+define(`FDEJECT', `0x0000025a')
+define(`FDFLUSH', `0x0000024b')
+define(`FDFMTBEG', `0x00000247')
+define(`FDFMTEND', `0x00000249')
+define(`FDFMTTRK', `0x400c0248')
+define(`FDGETDRVPRM', `0x80800211')
+define(`FDGETDRVSTAT', `0x80500212')
+define(`FDGETDRVTYP', `0x8010020f')
+define(`FDGETFDCSTAT', `0x80280215')
+define(`FDGETMAXERRS', `0x8014020e')
+define(`FDGETPRM', `0x80200204')
+define(`FDMSGOFF', `0x00000246')
+define(`FDMSGON', `0x00000245')
+define(`FDPOLLDRVSTAT', `0x80500213')
+define(`FDRAWCMD', `0x00000258')
+define(`FDRESET', `0x00000254')
+define(`FDSETDRVPRM', `0x40800290')
+define(`FDSETEMSGTRESH', `0x0000024a')
+define(`FDSETMAXERRS', `0x4014024c')
+define(`FDSETPRM', `0x40200242')
+define(`FDTWADDLE', `0x00000259')
+define(`FDWERRORCLR', `0x00000256')
+define(`FDWERRORGET', `0x80280217')
+define(`FE_DISEQC_RECV_SLAVE_REPLY', `0x800c6f40')
+define(`FE_DISEQC_RESET_OVERLOAD', `0x00006f3e')
+define(`FE_DISEQC_SEND_BURST', `0x00006f41')
+define(`FE_DISEQC_SEND_MASTER_CMD', `0x40076f3f')
+define(`FE_DISHNETWORK_SEND_LEGACY_CMD', `0x00006f50')
+define(`FE_ENABLE_HIGH_LNB_VOLTAGE', `0x00006f44')
+define(`FE_GET_EVENT', `0x80286f4e')
+define(`FE_GET_FRONTEND', `0x80246f4d')
+define(`FE_GET_INFO', `0x80a86f3d')
+define(`FE_GET_PROPERTY', `0x80106f53')
+define(`FE_READ_BER', `0x80046f46')
+define(`FE_READ_SIGNAL_STRENGTH', `0x80026f47')
+define(`FE_READ_SNR', `0x80026f48')
+define(`FE_READ_STATUS', `0x80046f45')
+define(`FE_READ_UNCORRECTED_BLOCKS', `0x80046f49')
+define(`FE_SET_FRONTEND', `0x40246f4c')
+define(`FE_SET_FRONTEND_TUNE_MODE', `0x00006f51')
+define(`FE_SET_PROPERTY', `0x40106f52')
+define(`FE_SET_TONE', `0x00006f42')
+define(`FE_SET_VOLTAGE', `0x00006f43')
+define(`FIBMAP', `0x00000001')
+define(`FIFREEZE', `0xc0045877')
+define(`FIGETBSZ', `0x00000002')
+define(`FIOASYNC', `0x00005452')
+define(`FIOCLEX', ifelse(target_arch, mips, 0x00006601, 0x00005451))
+define(`FIOGETOWN', `0x00008903')
+define(`FIONBIO', `0x00005421')
+define(`FIONCLEX', ifelse(target_arch, mips, 0x00006602, 0x00005450))
+define(`FIONREAD', ifelse(target_arch, mips, 0x0000467f, 0x0000541b))
+define(`FIOQSIZE', `0x00005460')
+define(`FIOSETOWN', `0x00008901')
+define(`FITHAW', `0xc0045878')
+define(`FITRIM', `0xc0185879')
+define(`FS_IOC32_GETFLAGS', `0x80046601')
+define(`FS_IOC32_GETVERSION', `0x80047601')
+define(`FS_IOC32_SETFLAGS', `0x40046602')
+define(`FS_IOC32_SETVERSION', `0x40047602')
+define(`FS_IOC_ADD_ENCRYPTION_KEY', `0xc0506617')
+define(`FS_IOC_ENABLE_VERITY', `0x6685')
+define(`FS_IOC_FIEMAP', `0xc020660b')
+define(`FS_IOC_FSGETXATTR', `0x801c581f')
+define(`FS_IOC_FSSETXATTR', `0x401c5820')
+define(`FS_IOC_GET_ENCRYPTION_KEY_STATUS', `0xc080661a')
+define(`FS_IOC_GET_ENCRYPTION_POLICY', `0x400c6615')
+define(`FS_IOC_GET_ENCRYPTION_POLICY_EX', `0xc0096616')
+define(`FS_IOC_GET_ENCRYPTION_PWSALT', `0x40106614')
+define(`FS_IOC_GETFLAGS', `0x80086601')
+define(`FS_IOC_GETVERSION', `0x80087601')
+define(`FS_IOC_MEASURE_VERITY', `0x6686')
+define(`FS_IOC_REMOVE_ENCRYPTION_KEY', `0xc0406618')
+define(`FS_IOC_SET_ENCRYPTION_POLICY', `0x800c6613')
+define(`FS_IOC_SETFLAGS', `0x40086602')
+define(`FS_IOC_SETVERSION', `0x40087602')
+define(`FSL_HV_IOCTL_DOORBELL', `0xc008af06')
+define(`FSL_HV_IOCTL_GETPROP', `0xc028af07')
+define(`FSL_HV_IOCTL_MEMCPY', `0xc028af05')
+define(`FSL_HV_IOCTL_PARTITION_GET_STATUS', `0xc00caf02')
+define(`FSL_HV_IOCTL_PARTITION_RESTART', `0xc008af01')
+define(`FSL_HV_IOCTL_PARTITION_START', `0xc010af03')
+define(`FSL_HV_IOCTL_PARTITION_STOP', `0xc008af04')
+define(`FSL_HV_IOCTL_SETPROP', `0xc028af08')
+define(`FUNCTIONFS_CLEAR_HALT', `0x00006703')
+define(`FUNCTIONFS_ENDPOINT_ALLOC', `0x000067e7')
+define(`FUNCTIONFS_ENDPOINT_DESC', `0x80096782')
+define(`FUNCTIONFS_ENDPOINT_REVMAP', `0x00006781')
+define(`FUNCTIONFS_FIFO_FLUSH', `0x00006702')
+define(`FUNCTIONFS_FIFO_STATUS', `0x00006701')
+define(`FUNCTIONFS_INTERFACE_REVMAP', `0x00006780')
+define(`FW_CDEV_IOC_ADD_DESCRIPTOR', `0xc0182306')
+define(`FW_CDEV_IOC_ALLOCATE', `0xc0202302')
+define(`FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE', `0xc018230d')
+define(`FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE', `0x4018230f')
+define(`FW_CDEV_IOC_CREATE_ISO_CONTEXT', `0xc0202308')
+define(`FW_CDEV_IOC_DEALLOCATE', `0x40042303')
+define(`FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE', `0x4004230e')
+define(`FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE', `0x40182310')
+define(`FW_CDEV_IOC_FLUSH_ISO', `0x40042318')
+define(`FW_CDEV_IOC_GET_CYCLE_TIMER', `0x8010230c')
+define(`FW_CDEV_IOC_GET_CYCLE_TIMER2', `0xc0182314')
+define(`FW_CDEV_IOC_GET_INFO', `0xc0282300')
+define(`FW_CDEV_IOC_GET_SPEED', `0x00002311')
+define(`FW_CDEV_IOC_INITIATE_BUS_RESET', `0x40042305')
+define(`FW_CDEV_IOC_QUEUE_ISO', `0xc0182309')
+define(`FW_CDEV_IOC_RECEIVE_PHY_PACKETS', `0x40082316')
+define(`FW_CDEV_IOC_REMOVE_DESCRIPTOR', `0x40042307')
+define(`FW_CDEV_IOC_SEND_BROADCAST_REQUEST', `0x40282312')
+define(`FW_CDEV_IOC_SEND_PHY_PACKET', `0xc0182315')
+define(`FW_CDEV_IOC_SEND_REQUEST', `0x40282301')
+define(`FW_CDEV_IOC_SEND_RESPONSE', `0x40182304')
+define(`FW_CDEV_IOC_SEND_STREAM_PACKET', `0x40282313')
+define(`FW_CDEV_IOC_SET_ISO_CHANNELS', `0x40102317')
+define(`FW_CDEV_IOC_START_ISO', `0x4010230a')
+define(`FW_CDEV_IOC_STOP_ISO', `0x4004230b')
+define(`GADGETFS_CLEAR_HALT', `0x00006703')
+define(`GADGETFS_FIFO_FLUSH', `0x00006702')
+define(`GADGETFS_FIFO_STATUS', `0x00006701')
+define(`GADGET_GET_PRINTER_STATUS', `0x80016721')
+define(`GADGET_SET_PRINTER_STATUS', `0xc0016722')
+define(`GENWQE_EXECUTE_DDCB', `0xc0e8a532')
+define(`GENWQE_EXECUTE_RAW_DDCB', `0xc0e8a533')
+define(`GENWQE_GET_CARD_STATE', `0x8004a524')
+define(`GENWQE_PIN_MEM', `0xc020a528')
+define(`GENWQE_READ_REG16', `0x8010a522')
+define(`GENWQE_READ_REG32', `0x8010a520')
+define(`GENWQE_READ_REG64', `0x8010a51e')
+define(`GENWQE_SLU_READ', `0xc038a551')
+define(`GENWQE_SLU_UPDATE', `0xc038a550')
+define(`GENWQE_UNPIN_MEM', `0xc020a529')
+define(`GENWQE_WRITE_REG16', `0x4010a523')
+define(`GENWQE_WRITE_REG32', `0x4010a521')
+define(`GENWQE_WRITE_REG64', `0x4010a51f')
+define(`GET_ARRAY_INFO', `0x80480911')
+define(`GET_BITMAP_FILE', `0x90000915')
+define(`GET_DISK_INFO', `0x80140912')
+define(`GIGASET_BRKCHARS', `0x40064702')
+define(`GIGASET_CONFIG', `0xc0044701')
+define(`GIGASET_REDIR', `0xc0044700')
+define(`GIGASET_VERSION', `0xc0104703')
+define(`GIO_CMAP', `0x00004b70')
+define(`GIO_FONT', `0x00004b60')
+define(`GIO_FONTX', `0x00004b6b')
+define(`GIO_SCRNMAP', `0x00004b40')
+define(`GIO_UNIMAP', `0x00004b66')
+define(`GIO_UNISCRNMAP', `0x00004b69')
+define(`GSMIOC_DISABLE_NET', `0x00004703')
+define(`GSMIOC_ENABLE_NET', `0x40344702')
+define(`GSMIOC_GETCONF', `0x804c4700')
+define(`GSMIOC_SETCONF', `0x404c4701')
+define(`HCIBLOCKADDR', `0x400448e6')
+define(`HCIDEVDOWN', `0x400448ca')
+define(`HCIDEVRESET', `0x400448cb')
+define(`HCIDEVRESTAT', `0x400448cc')
+define(`HCIDEVUP', `0x400448c9')
+define(`HCIGETAUTHINFO', `0x800448d7')
+define(`HCIGETCONNINFO', `0x800448d5')
+define(`HCIGETCONNLIST', `0x800448d4')
+define(`HCIGETDEVINFO', `0x800448d3')
+define(`HCIGETDEVLIST', `0x800448d2')
+define(`HCIINQUIRY', `0x800448f0')
+define(`HCISETACLMTU', `0x400448e3')
+define(`HCISETAUTH', `0x400448de')
+define(`HCISETENCRYPT', `0x400448df')
+define(`HCISETLINKMODE', `0x400448e2')
+define(`HCISETLINKPOL', `0x400448e1')
+define(`HCISETPTYPE', `0x400448e0')
+define(`HCISETRAW', `0x400448dc')
+define(`HCISETSCAN', `0x400448dd')
+define(`HCISETSCOMTU', `0x400448e4')
+define(`HCIUNBLOCKADDR', `0x400448e7')
+define(`HDA_IOCTL_GET_WCAP', `0xc0084812')
+define(`HDA_IOCTL_PVERSION', `0x80044810')
+define(`HDA_IOCTL_VERB_WRITE', `0xc0084811')
+define(`HDIO_DRIVE_CMD', `0x0000031f')
+define(`HDIO_DRIVE_RESET', `0x0000031c')
+define(`HDIO_DRIVE_TASK', `0x0000031e')
+define(`HDIO_DRIVE_TASKFILE', `0x0000031d')
+define(`HDIO_GET_32BIT', `0x00000309')
+define(`HDIO_GET_ACOUSTIC', `0x0000030f')
+define(`HDIO_GET_ADDRESS', `0x00000310')
+define(`HDIO_GET_BUSSTATE', `0x0000031a')
+define(`HDIO_GET_DMA', `0x0000030b')
+define(`HDIO_GETGEO', `0x00000301')
+define(`HDIO_GET_IDENTITY', `0x0000030d')
+define(`HDIO_GET_KEEPSETTINGS', `0x00000308')
+define(`HDIO_GET_MULTCOUNT', `0x00000304')
+define(`HDIO_GET_NICE', `0x0000030c')
+define(`HDIO_GET_NOWERR', `0x0000030a')
+define(`HDIO_GET_QDMA', `0x00000305')
+define(`HDIO_GET_UNMASKINTR', `0x00000302')
+define(`HDIO_GET_WCACHE', `0x0000030e')
+define(`HDIO_OBSOLETE_IDENTITY', `0x00000307')
+define(`HDIO_SCAN_HWIF', `0x00000328')
+define(`HDIO_SET_32BIT', `0x00000324')
+define(`HDIO_SET_ACOUSTIC', `0x0000032c')
+define(`HDIO_SET_ADDRESS', `0x0000032f')
+define(`HDIO_SET_BUSSTATE', `0x0000032d')
+define(`HDIO_SET_DMA', `0x00000326')
+define(`HDIO_SET_KEEPSETTINGS', `0x00000323')
+define(`HDIO_SET_MULTCOUNT', `0x00000321')
+define(`HDIO_SET_NICE', `0x00000329')
+define(`HDIO_SET_NOWERR', `0x00000325')
+define(`HDIO_SET_PIO_MODE', `0x00000327')
+define(`HDIO_SET_QDMA', `0x0000032e')
+define(`HDIO_SET_UNMASKINTR', `0x00000322')
+define(`HDIO_SET_WCACHE', `0x0000032b')
+define(`HDIO_SET_XFER', `0x00000306')
+define(`HDIO_TRISTATE_HWIF', `0x0000031b')
+define(`HDIO_UNREGISTER_HWIF', `0x0000032a')
+define(`HE_GET_REG', `0x40106160')
+define(`HIDIOCAPPLICATION', `0x00004802')
+define(`HIDIOCGCOLLECTIONINDEX', `0x40184810')
+define(`HIDIOCGCOLLECTIONINFO', `0xc0104811')
+define(`HIDIOCGDEVINFO', `0x801c4803')
+define(`HIDIOCGFIELDINFO', `0xc038480a')
+define(`HIDIOCGFLAG', `0x8004480e')
+define(`HIDIOCGRAWINFO', `0x80084803')
+define(`HIDIOCGRDESC', `0x90044802')
+define(`HIDIOCGRDESCSIZE', `0x80044801')
+define(`HIDIOCGREPORT', `0x400c4807')
+define(`HIDIOCGREPORTINFO', `0xc00c4809')
+define(`HIDIOCGSTRING', `0x81044804')
+define(`HIDIOCGUCODE', `0xc018480d')
+define(`HIDIOCGUSAGE', `0xc018480b')
+define(`HIDIOCGUSAGES', `0xd01c4813')
+define(`HIDIOCGVERSION', `0x80044801')
+define(`HIDIOCINITREPORT', `0x00004805')
+define(`HIDIOCSFLAG', `0x4004480f')
+define(`HIDIOCSREPORT', `0x400c4808')
+define(`HIDIOCSUSAGE', `0x4018480c')
+define(`HIDIOCSUSAGES', `0x501c4814')
+define(`HOT_ADD_DISK', `0x00000928')
+define(`HOT_GENERATE_ERROR', `0x0000092a')
+define(`HOT_REMOVE_DISK', `0x00000922')
+define(`HPET_DPI', `0x00006805')
+define(`HPET_EPI', `0x00006804')
+define(`HPET_IE_OFF', `0x00006802')
+define(`HPET_IE_ON', `0x00006801')
+define(`HPET_INFO', `0x80186803')
+define(`HPET_IRQFREQ', `0x40086806')
+define(`HSC_GET_RX', `0x400c6b14')
+define(`HSC_GET_TX', `0x40106b16')
+define(`HSC_RESET', `0x00006b10')
+define(`HSC_SEND_BREAK', `0x00006b12')
+define(`HSC_SET_PM', `0x00006b11')
+define(`HSC_SET_RX', `0x400c6b13')
+define(`HSC_SET_TX', `0x40106b15')
+define(`I2OEVTGET', `0x8068690b')
+define(`I2OEVTREG', `0x400c690a')
+define(`I2OGETIOPS', `0x80206900')
+define(`I2OHRTGET', `0xc0186901')
+define(`I2OHTML', `0xc0306909')
+define(`I2OLCTGET', `0xc0186902')
+define(`I2OPARMGET', `0xc0286904')
+define(`I2OPARMSET', `0xc0286903')
+define(`I2OPASSTHRU', `0x8010690c')
+define(`I2OPASSTHRU32', `0x8008690c')
+define(`I2OSWDEL', `0xc0306907')
+define(`I2OSWDL', `0xc0306905')
+define(`I2OSWUL', `0xc0306906')
+define(`I2OVALIDATE', `0x80046908')
+define(`I8K_BIOS_VERSION', `0x80046980')
+define(`I8K_FN_STATUS', `0x80086983')
+define(`I8K_GET_FAN', `0xc0086986')
+define(`I8K_GET_SPEED', `0xc0086985')
+define(`I8K_GET_TEMP', `0x80086984')
+define(`I8K_MACHINE_ID', `0x80046981')
+define(`I8K_POWER_STATUS', `0x80086982')
+define(`I8K_SET_FAN', `0xc0086987')
+define(`IB_USER_MAD_ENABLE_PKEY', `0x00001b03')
+define(`IB_USER_MAD_REGISTER_AGENT', `0xc01c1b01')
+define(`IB_USER_MAD_REGISTER_AGENT2', `0xc0281b04')
+define(`IB_USER_MAD_UNREGISTER_AGENT', `0x40041b02')
+define(`IDT77105_GETSTAT', `0x40106132')
+define(`IDT77105_GETSTATZ', `0x40106133')
+define(`IIOCDBGVAR', `0x0000497f')
+define(`IIOCDRVCTL', `0x00004980')
+define(`IIOCGETCPS', `0x00004915')
+define(`IIOCGETDVR', `0x00004916')
+define(`IIOCGETMAP', `0x00004911')
+define(`IIOCGETPRF', `0x0000490f')
+define(`IIOCGETSET', `0x00004908')
+define(`IIOCNETAIF', `0x00004901')
+define(`IIOCNETALN', `0x00004920')
+define(`IIOCNETANM', `0x00004905')
+define(`IIOCNETASL', `0x00004913')
+define(`IIOCNETDIF', `0x00004902')
+define(`IIOCNETDIL', `0x00004914')
+define(`IIOCNETDLN', `0x00004921')
+define(`IIOCNETDNM', `0x00004906')
+define(`IIOCNETDWRSET', `0x00004918')
+define(`IIOCNETGCF', `0x00004904')
+define(`IIOCNETGNM', `0x00004907')
+define(`IIOCNETGPN', `0x00004922')
+define(`IIOCNETHUP', `0x0000490b')
+define(`IIOCNETLCR', `0x00004917')
+define(`IIOCNETSCF', `0x00004903')
+define(`IIOCSETBRJ', `0x0000490d')
+define(`IIOCSETGST', `0x0000490c')
+define(`IIOCSETMAP', `0x00004912')
+define(`IIOCSETPRF', `0x00004910')
+define(`IIOCSETSET', `0x00004909')
+define(`IIOCSETVER', `0x0000490a')
+define(`IIOCSIGPRF', `0x0000490e')
+define(`IIO_GET_EVENT_FD_IOCTL', `0x80046990')
+define(`IMADDTIMER', `0x80044940')
+define(`IMCLEAR_L2', `0x80044946')
+define(`IMCTRLREQ', `0x80044945')
+define(`IMDELTIMER', `0x80044941')
+define(`IMGETCOUNT', `0x80044943')
+define(`IMGETDEVINFO', `0x80044944')
+define(`IMGETVERSION', `0x80044942')
+define(`IMHOLD_L1', `0x80044948')
+define(`IMSETDEVNAME', `0x80184947')
+define(`INCFS_IOCTL_CREATE_FILE', `0x0000671e')
+define(`INCFS_IOCTL_READ_SIGNATURE', `0x0000671f')
+define(`INCFS_IOCTL_FILL_BLOCKS', `0x00006720')
+define(`INCFS_IOCTL_PERMIT_FILL', `0x00006721')
+define(`INCFS_IOCTL_GET_FILLED_BLOCKS', `0x00006722')
+define(`INCFS_IOCTL_CREATE_MAPPED_FILE', `0x00006723')
+define(`INCFS_IOCTL_GET_BLOCK_COUNT', `0x00006724')
+define(`INCFS_IOCTL_GET_READ_TIMEOUTS', `0x00006725')
+define(`INCFS_IOCTL_SET_READ_TIMEOUTS', `0x00006726')
+define(`INCFS_IOCTL_GET_LAST_READ_ERROR', `0x00006727')
+define(`IOCTL_EVTCHN_BIND_INTERDOMAIN', `0x00084501')
+define(`IOCTL_EVTCHN_BIND_UNBOUND_PORT', `0x00044502')
+define(`IOCTL_EVTCHN_BIND_VIRQ', `0x00044500')
+define(`IOCTL_EVTCHN_NOTIFY', `0x00044504')
+define(`IOCTL_EVTCHN_RESET', `0x00004505')
+define(`IOCTL_EVTCHN_UNBIND', `0x00044503')
+define(`IOCTL_MEI_CONNECT_CLIENT', `0xc0104801')
+define(`IOCTL_VMCI_CTX_ADD_NOTIFICATION', `0x000007af')
+define(`IOCTL_VMCI_CTX_GET_CPT_STATE', `0x000007b1')
+define(`IOCTL_VMCI_CTX_REMOVE_NOTIFICATION', `0x000007b0')
+define(`IOCTL_VMCI_CTX_SET_CPT_STATE', `0x000007b2')
+define(`IOCTL_VMCI_DATAGRAM_RECEIVE', `0x000007ac')
+define(`IOCTL_VMCI_DATAGRAM_SEND', `0x000007ab')
+define(`IOCTL_VMCI_GET_CONTEXT_ID', `0x000007b3')
+define(`IOCTL_VMCI_INIT_CONTEXT', `0x000007a0')
+define(`IOCTL_VMCI_NOTIFICATIONS_RECEIVE', `0x000007a6')
+define(`IOCTL_VMCI_NOTIFY_RESOURCE', `0x000007a5')
+define(`IOCTL_VMCI_QUEUEPAIR_ALLOC', `0x000007a8')
+define(`IOCTL_VMCI_QUEUEPAIR_DETACH', `0x000007aa')
+define(`IOCTL_VMCI_QUEUEPAIR_SETPAGEFILE', `0x000007a9')
+define(`IOCTL_VMCI_QUEUEPAIR_SETVA', `0x000007a4')
+define(`IOCTL_VMCI_SET_NOTIFY', `0x000007cb')
+define(`IOCTL_VMCI_SOCKETS_GET_AF_VALUE', `0x000007b8')
+define(`IOCTL_VMCI_SOCKETS_GET_LOCAL_CID', `0x000007b9')
+define(`IOCTL_VMCI_SOCKETS_VERSION', `0x000007b4')
+define(`IOCTL_VMCI_VERSION', `0x0000079f')
+define(`IOCTL_VMCI_VERSION2', `0x000007a7')
+define(`IOCTL_VM_SOCKETS_GET_LOCAL_CID', `0x000007b9')
+define(`IOCTL_WDM_MAX_COMMAND', `0x800248a0')
+define(`IOCTL_XENBUS_BACKEND_EVTCHN', `0x00004200')
+define(`IOCTL_XENBUS_BACKEND_SETUP', `0x00004201')
+define(`ION_IOC_ALLOC', `0xc0204900')
+define(`ION_IOC_CUSTOM', `0xc0104906')
+define(`ION_IOC_FREE', `0xc0044901')
+define(`ION_IOC_IMPORT', `0xc0084905')
+define(`ION_IOC_MAP', `0xc0084902')
+define(`ION_IOC_SHARE', `0xc0084904')
+define(`ION_IOC_SYNC', `0xc0084907')
+define(`ION_IOC_TEST_DMA_MAPPING', `0x402049f1')
+define(`ION_IOC_TEST_KERNEL_MAPPING', `0x402049f2')
+define(`ION_IOC_TEST_SET_FD', `0x000049f0')
+define(`IOW_GETINFO', `0x8028c003')
+define(`IOW_READ', `0x4008c002')
+define(`IOW_WRITE', `0x4008c001')
+define(`IPMICTL_GET_MAINTENANCE_MODE_CMD', `0x8004691e')
+define(`IPMICTL_GET_MY_ADDRESS_CMD', `0x80046912')
+define(`IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD', `0x80046919')
+define(`IPMICTL_GET_MY_CHANNEL_LUN_CMD', `0x8004691b')
+define(`IPMICTL_GET_MY_LUN_CMD', `0x80046914')
+define(`IPMICTL_GET_TIMING_PARMS_CMD', `0x80086917')
+define(`IPMICTL_RECEIVE_MSG', `0xc030690c')
+define(`IPMICTL_RECEIVE_MSG_TRUNC', `0xc030690b')
+define(`IPMICTL_REGISTER_FOR_CMD', `0x8002690e')
+define(`IPMICTL_REGISTER_FOR_CMD_CHANS', `0x800c691c')
+define(`IPMICTL_SEND_COMMAND', `0x8028690d')
+define(`IPMICTL_SEND_COMMAND_SETTIME', `0x80306915')
+define(`IPMICTL_SET_GETS_EVENTS_CMD', `0x80046910')
+define(`IPMICTL_SET_MAINTENANCE_MODE_CMD', `0x4004691f')
+define(`IPMICTL_SET_MY_ADDRESS_CMD', `0x80046911')
+define(`IPMICTL_SET_MY_CHANNEL_ADDRESS_CMD', `0x80046918')
+define(`IPMICTL_SET_MY_CHANNEL_LUN_CMD', `0x8004691a')
+define(`IPMICTL_SET_MY_LUN_CMD', `0x80046913')
+define(`IPMICTL_SET_TIMING_PARMS_CMD', `0x80086916')
+define(`IPMICTL_UNREGISTER_FOR_CMD', `0x8002690f')
+define(`IPMICTL_UNREGISTER_FOR_CMD_CHANS', `0x800c691d')
+define(`IVTVFB_IOC_DMA_FRAME', `0x401856c0')
+define(`IVTV_IOC_DMA_FRAME', `0x404056c0')
+define(`IVTV_IOC_PASSTHROUGH_MODE', `0x400456c1')
+define(`IXJCTL_AEC_GET_LEVEL', `0x000071cd')
+define(`IXJCTL_AEC_START', `0x400471cb')
+define(`IXJCTL_AEC_STOP', `0x000071cc')
+define(`IXJCTL_CARDTYPE', `0x800471c1')
+define(`IXJCTL_CID', `0x800871d4')
+define(`IXJCTL_CIDCW', `0x400871d9')
+define(`IXJCTL_DAA_AGAIN', `0x400471d2')
+define(`IXJCTL_DAA_COEFF_SET', `0x400471d0')
+define(`IXJCTL_DRYBUFFER_CLEAR', `0x000071e7')
+define(`IXJCTL_DRYBUFFER_READ', `0x800871e6')
+define(`IXJCTL_DSP_IDLE', `0x000071c5')
+define(`IXJCTL_DSP_RESET', `0x000071c0')
+define(`IXJCTL_DSP_TYPE', `0x800471c3')
+define(`IXJCTL_DSP_VERSION', `0x800471c4')
+define(`IXJCTL_DTMF_PRESCALE', `0x400471e8')
+define(`IXJCTL_FILTER_CADENCE', `0x400871d6')
+define(`IXJCTL_FRAMES_READ', `0x800871e2')
+define(`IXJCTL_FRAMES_WRITTEN', `0x800871e3')
+define(`IXJCTL_GET_FILTER_HIST', `0x400471c8')
+define(`IXJCTL_HZ', `0x400471e0')
+define(`IXJCTL_INIT_TONE', `0x400871c9')
+define(`IXJCTL_INTERCOM_START', `0x400471fd')
+define(`IXJCTL_INTERCOM_STOP', `0x400471fe')
+define(`IXJCTL_MIXER', `0x400471cf')
+define(`IXJCTL_PLAY_CID', `0x000071d7')
+define(`IXJCTL_PORT', `0x400471d1')
+define(`IXJCTL_POTS_PSTN', `0x400471d5')
+define(`IXJCTL_PSTN_LINETEST', `0x000071d3')
+define(`IXJCTL_RATE', `0x400471e1')
+define(`IXJCTL_READ_WAIT', `0x800871e4')
+define(`IXJCTL_SC_RXG', `0x400471ea')
+define(`IXJCTL_SC_TXG', `0x400471eb')
+define(`IXJCTL_SERIAL', `0x800471c2')
+define(`IXJCTL_SET_FILTER', `0x400871c7')
+define(`IXJCTL_SET_FILTER_RAW', `0x400871dd')
+define(`IXJCTL_SET_LED', `0x400471ce')
+define(`IXJCTL_SIGCTL', `0x400871e9')
+define(`IXJCTL_TESTRAM', `0x000071c6')
+define(`IXJCTL_TONE_CADENCE', `0x400871ca')
+define(`IXJCTL_VERSION', `0x800871da')
+define(`IXJCTL_VMWI', `0x800471d8')
+define(`IXJCTL_WRITE_WAIT', `0x800871e5')
+define(`JSIOCGAXES', `0x80016a11')
+define(`JSIOCGAXMAP', `0x80406a32')
+define(`JSIOCGBTNMAP', `0x84006a34')
+define(`JSIOCGBUTTONS', `0x80016a12')
+define(`JSIOCGCORR', `0x80246a22')
+define(`JSIOCGVERSION', `0x80046a01')
+define(`JSIOCSAXMAP', `0x40406a31')
+define(`JSIOCSBTNMAP', `0x44006a33')
+define(`JSIOCSCORR', `0x40246a21')
+define(`KCOV_DISABLE', `0x00006365')
+define(`KCOV_ENABLE', `0x00006364')
+define(`KCOV_INIT_TRACE', `0x80086301')
+define(`KDADDIO', `0x00004b34')
+define(`KDDELIO', `0x00004b35')
+define(`KDDISABIO', `0x00004b37')
+define(`KDENABIO', `0x00004b36')
+define(`KDFONTOP', `0x00004b72')
+define(`KDGETKEYCODE', `0x00004b4c')
+define(`KDGETLED', `0x00004b31')
+define(`KDGETMODE', `0x00004b3b')
+define(`KDGKBDIACR', `0x00004b4a')
+define(`KDGKBDIACRUC', `0x00004bfa')
+define(`KDGKBENT', `0x00004b46')
+define(`KDGKBLED', `0x00004b64')
+define(`KDGKBMETA', `0x00004b62')
+define(`KDGKBMODE', `0x00004b44')
+define(`KDGKBSENT', `0x00004b48')
+define(`KDGKBTYPE', `0x00004b33')
+define(`KDKBDREP', `0x00004b52')
+define(`KDMAPDISP', `0x00004b3c')
+define(`KDMKTONE', `0x00004b30')
+define(`KDSETKEYCODE', `0x00004b4d')
+define(`KDSETLED', `0x00004b32')
+define(`KDSETMODE', `0x00004b3a')
+define(`KDSIGACCEPT', `0x00004b4e')
+define(`KDSKBDIACR', `0x00004b4b')
+define(`KDSKBDIACRUC', `0x00004bfb')
+define(`KDSKBENT', `0x00004b47')
+define(`KDSKBLED', `0x00004b65')
+define(`KDSKBMETA', `0x00004b63')
+define(`KDSKBMODE', `0x00004b45')
+define(`KDSKBSENT', `0x00004b49')
+define(`KDUNMAPDISP', `0x00004b3d')
+define(`KIOCSOUND', `0x00004b2f')
+define(`KVM_ALLOCATE_RMA', `0x8008aea9')
+define(`KVM_ARM_PREFERRED_TARGET', `0x8020aeaf')
+define(`KVM_ARM_SET_DEVICE_ADDR', `0x4010aeab')
+define(`KVM_ARM_VCPU_INIT', `0x4020aeae')
+define(`KVM_ASSIGN_DEV_IRQ', `0x4040ae70')
+define(`KVM_ASSIGN_PCI_DEVICE', `0x8040ae69')
+define(`KVM_ASSIGN_SET_INTX_MASK', `0x4040aea4')
+define(`KVM_ASSIGN_SET_MSIX_ENTRY', `0x4010ae74')
+define(`KVM_ASSIGN_SET_MSIX_NR', `0x4008ae73')
+define(`KVM_CHECK_EXTENSION', `0x0000ae03')
+define(`KVM_CREATE_DEVICE', `0xc00caee0')
+define(`KVM_CREATE_IRQCHIP', `0x0000ae60')
+define(`KVM_CREATE_PIT', `0x0000ae64')
+define(`KVM_CREATE_PIT2', `0x4040ae77')
+define(`KVM_CREATE_SPAPR_TCE', `0x400caea8')
+define(`KVM_CREATE_VCPU', `0x0000ae41')
+define(`KVM_CREATE_VM', `0x0000ae01')
+define(`KVM_DEASSIGN_DEV_IRQ', `0x4040ae75')
+define(`KVM_DEASSIGN_PCI_DEVICE', `0x4040ae72')
+define(`KVM_DIRTY_TLB', `0x4010aeaa')
+define(`KVM_ENABLE_CAP', `0x4068aea3')
+define(`KVM_GET_API_VERSION', `0x0000ae00')
+define(`KVM_GET_CLOCK', `0x8030ae7c')
+define(`KVM_GET_CPUID2', `0xc008ae91')
+define(`KVM_GET_DEBUGREGS', `0x8080aea1')
+define(`KVM_GET_DEVICE_ATTR', `0x4018aee2')
+define(`KVM_GET_DIRTY_LOG', `0x4010ae42')
+define(`KVM_GET_EMULATED_CPUID', `0xc008ae09')
+define(`KVM_GET_FPU', `0x81a0ae8c')
+define(`KVM_GET_IRQCHIP', `0xc208ae62')
+define(`KVM_GET_LAPIC', `0x8400ae8e')
+define(`KVM_GET_MP_STATE', `0x8004ae98')
+define(`KVM_GET_MSR_INDEX_LIST', `0xc004ae02')
+define(`KVM_GET_MSRS', `0xc008ae88')
+define(`KVM_GET_NR_MMU_PAGES', `0x0000ae45')
+define(`KVM_GET_ONE_REG', `0x4010aeab')
+define(`KVM_GET_PIT', `0xc048ae65')
+define(`KVM_GET_PIT2', `0x8070ae9f')
+define(`KVM_GET_REG_LIST', `0xc008aeb0')
+define(`KVM_GET_REGS', `0x8090ae81')
+define(`KVM_GET_SREGS', `0x8138ae83')
+define(`KVM_GET_SUPPORTED_CPUID', `0xc008ae05')
+define(`KVM_GET_TSC_KHZ', `0x0000aea3')
+define(`KVM_GET_VCPU_EVENTS', `0x8040ae9f')
+define(`KVM_GET_VCPU_MMAP_SIZE', `0x0000ae04')
+define(`KVM_GET_XCRS', `0x8188aea6')
+define(`KVM_GET_XSAVE', `0x9000aea4')
+define(`KVM_HAS_DEVICE_ATTR', `0x4018aee3')
+define(`KVM_INTERRUPT', `0x4004ae86')
+define(`KVM_IOEVENTFD', `0x4040ae79')
+define(`KVM_IRQFD', `0x4020ae76')
+define(`KVM_IRQ_LINE', `0x4008ae61')
+define(`KVM_IRQ_LINE_STATUS', `0xc008ae67')
+define(`KVM_KVMCLOCK_CTRL', `0x0000aead')
+define(`KVM_NMI', `0x0000ae9a')
+define(`KVM_PPC_ALLOCATE_HTAB', `0xc004aea7')
+define(`KVM_PPC_GET_HTAB_FD', `0x4020aeaa')
+define(`KVM_PPC_GET_PVINFO', `0x4080aea1')
+define(`KVM_PPC_GET_SMMU_INFO', `0x8250aea6')
+define(`KVM_PPC_RTAS_DEFINE_TOKEN', `0x4080aeac')
+define(`KVM_REGISTER_COALESCED_MMIO', `0x4010ae67')
+define(`KVM_REINJECT_CONTROL', `0x0000ae71')
+define(`KVM_RUN', `0x0000ae80')
+define(`KVM_S390_ENABLE_SIE', `0x0000ae06')
+define(`KVM_S390_INITIAL_RESET', `0x0000ae97')
+define(`KVM_S390_INTERRUPT', `0x4010ae94')
+define(`KVM_S390_SET_INITIAL_PSW', `0x4010ae96')
+define(`KVM_S390_STORE_STATUS', `0x4008ae95')
+define(`KVM_S390_UCAS_MAP', `0x4018ae50')
+define(`KVM_S390_UCAS_UNMAP', `0x4018ae51')
+define(`KVM_S390_VCPU_FAULT', `0x4008ae52')
+define(`KVM_SET_BOOT_CPU_ID', `0x0000ae78')
+define(`KVM_SET_CLOCK', `0x4030ae7b')
+define(`KVM_SET_CPUID', `0x4008ae8a')
+define(`KVM_SET_CPUID2', `0x4008ae90')
+define(`KVM_SET_DEBUGREGS', `0x4080aea2')
+define(`KVM_SET_DEVICE_ATTR', `0x4018aee1')
+define(`KVM_SET_FPU', `0x41a0ae8d')
+define(`KVM_SET_GSI_ROUTING', `0x4008ae6a')
+define(`KVM_SET_GUEST_DEBUG', `0x4048ae9b')
+define(`KVM_SET_IDENTITY_MAP_ADDR', `0x4008ae48')
+define(`KVM_SET_IRQCHIP', `0x8208ae63')
+define(`KVM_SET_LAPIC', `0x4400ae8f')
+define(`KVM_SET_MEMORY_ALIAS', `0x4020ae43')
+define(`KVM_SET_MEMORY_REGION', `0x4018ae40')
+define(`KVM_SET_MP_STATE', `0x4004ae99')
+define(`KVM_SET_MSRS', `0x4008ae89')
+define(`KVM_SET_NR_MMU_PAGES', `0x0000ae44')
+define(`KVM_SET_ONE_REG', `0x4010aeac')
+define(`KVM_SET_PIT', `0x8048ae66')
+define(`KVM_SET_PIT2', `0x4070aea0')
+define(`KVM_SET_REGS', `0x4090ae82')
+define(`KVM_SET_SIGNAL_MASK', `0x4004ae8b')
+define(`KVM_SET_SREGS', `0x4138ae84')
+define(`KVM_SET_TSC_KHZ', `0x0000aea2')
+define(`KVM_SET_TSS_ADDR', `0x0000ae47')
+define(`KVM_SET_USER_MEMORY_REGION', `0x4020ae46')
+define(`KVM_SET_VAPIC_ADDR', `0x4008ae93')
+define(`KVM_SET_VCPU_EVENTS', `0x4040aea0')
+define(`KVM_SET_XCRS', `0x4188aea7')
+define(`KVM_SET_XSAVE', `0x5000aea5')
+define(`KVM_SIGNAL_MSI', `0x4020aea5')
+define(`KVM_TPR_ACCESS_REPORTING', `0xc028ae92')
+define(`KVM_TRANSLATE', `0xc018ae85')
+define(`KVM_UNREGISTER_COALESCED_MMIO', `0x4010ae68')
+define(`KVM_X86_GET_MCE_CAP_SUPPORTED', `0x8008ae9d')
+define(`KVM_X86_SET_MCE', `0x4040ae9e')
+define(`KVM_X86_SETUP_MCE', `0x4008ae9c')
+define(`KVM_XEN_HVM_CONFIG', `0x4038ae7a')
+define(`KYRO_IOCTL_OVERLAY_CREATE', `0x00006b00')
+define(`KYRO_IOCTL_OVERLAY_OFFSET', `0x00006b04')
+define(`KYRO_IOCTL_OVERLAY_VIEWPORT_SET', `0x00006b01')
+define(`KYRO_IOCTL_SET_VIDEO_MODE', `0x00006b02')
+define(`KYRO_IOCTL_STRIDE', `0x00006b05')
+define(`KYRO_IOCTL_UVSTRIDE', `0x00006b03')
+define(`LIRC_GET_FEATURES', `0x80046900')
+define(`LIRC_GET_LENGTH', `0x8004690f')
+define(`LIRC_GET_MAX_FILTER_PULSE', `0x8004690b')
+define(`LIRC_GET_MAX_FILTER_SPACE', `0x8004690d')
+define(`LIRC_GET_MAX_TIMEOUT', `0x80046909')
+define(`LIRC_GET_MIN_FILTER_PULSE', `0x8004690a')
+define(`LIRC_GET_MIN_FILTER_SPACE', `0x8004690c')
+define(`LIRC_GET_MIN_TIMEOUT', `0x80046908')
+define(`LIRC_GET_REC_CARRIER', `0x80046904')
+define(`LIRC_GET_REC_DUTY_CYCLE', `0x80046906')
+define(`LIRC_GET_REC_MODE', `0x80046902')
+define(`LIRC_GET_REC_RESOLUTION', `0x80046907')
+define(`LIRC_GET_SEND_CARRIER', `0x80046903')
+define(`LIRC_GET_SEND_DUTY_CYCLE', `0x80046905')
+define(`LIRC_GET_SEND_MODE', `0x80046901')
+define(`LIRC_NOTIFY_DECODE', `0x00006920')
+define(`LIRC_SET_MEASURE_CARRIER_MODE', `0x4004691d')
+define(`LIRC_SET_REC_CARRIER', `0x40046914')
+define(`LIRC_SET_REC_CARRIER_RANGE', `0x4004691f')
+define(`LIRC_SET_REC_DUTY_CYCLE', `0x40046916')
+define(`LIRC_SET_REC_DUTY_CYCLE_RANGE', `0x4004691e')
+define(`LIRC_SET_REC_FILTER', `0x4004691c')
+define(`LIRC_SET_REC_FILTER_PULSE', `0x4004691a')
+define(`LIRC_SET_REC_FILTER_SPACE', `0x4004691b')
+define(`LIRC_SET_REC_MODE', `0x40046912')
+define(`LIRC_SET_REC_TIMEOUT', `0x40046918')
+define(`LIRC_SET_REC_TIMEOUT_REPORTS', `0x40046919')
+define(`LIRC_SET_SEND_CARRIER', `0x40046913')
+define(`LIRC_SET_SEND_DUTY_CYCLE', `0x40046915')
+define(`LIRC_SET_SEND_MODE', `0x40046911')
+define(`LIRC_SET_TRANSMITTER_MASK', `0x40046917')
+define(`LIRC_SETUP_END', `0x00006922')
+define(`LIRC_SETUP_START', `0x00006921')
+define(`LIRC_SET_WIDEBAND_RECEIVER', `0x40046923')
+define(`LOGGER_FLUSH_LOG', `0x0000ae04')
+define(`LOGGER_GET_LOG_BUF_SIZE', `0x0000ae01')
+define(`LOGGER_GET_LOG_LEN', `0x0000ae02')
+define(`LOGGER_GET_NEXT_ENTRY_LEN', `0x0000ae03')
+define(`LOGGER_GET_VERSION', `0x0000ae05')
+define(`LOGGER_SET_VERSION', `0x0000ae06')
+define(`LOOP_CHANGE_FD', `0x00004c06')
+define(`LOOP_CLR_FD', `0x00004c01')
+define(`LOOP_CONFIGURE', `0x00004c0a')
+define(`LOOP_CTL_ADD', `0x00004c80')
+define(`LOOP_CTL_GET_FREE', `0x00004c82')
+define(`LOOP_CTL_REMOVE', `0x00004c81')
+define(`LOOP_GET_STATUS', `0x00004c03')
+define(`LOOP_GET_STATUS64', `0x00004c05')
+define(`LOOP_SET_BLOCK_SIZE', `0x00004c09')
+define(`LOOP_SET_CAPACITY', `0x00004c07')
+define(`LOOP_SET_DIRECT_IO', `0x00004c08')
+define(`LOOP_SET_FD', `0x00004c00')
+define(`LOOP_SET_STATUS', `0x00004c02')
+define(`LOOP_SET_STATUS64', `0x00004c04')
+define(`MATROXFB_GET_ALL_OUTPUTS', `0x80086efb')
+define(`MATROXFB_GET_AVAILABLE_OUTPUTS', `0x80086ef9')
+define(`MATROXFB_GET_OUTPUT_CONNECTION', `0x80086ef8')
+define(`MATROXFB_GET_OUTPUT_MODE', `0xc0086efa')
+define(`MATROXFB_SET_OUTPUT_CONNECTION', `0x40086ef8')
+define(`MATROXFB_SET_OUTPUT_MODE', `0x40086efa')
+define(`MBXFB_IOCG_ALPHA', `0x8018f401')
+define(`MBXFB_IOCS_ALPHA', `0x4018f402')
+define(`MBXFB_IOCS_PLANEORDER', `0x8002f403')
+define(`MBXFB_IOCS_REG', `0x400cf404')
+define(`MBXFB_IOCX_OVERLAY', `0xc030f400')
+define(`MBXFB_IOCX_REG', `0xc00cf405')
+define(`MCE_GETCLEAR_FLAGS', `0x80044d03')
+define(`MCE_GET_LOG_LEN', `0x80044d02')
+define(`MCE_GET_RECORD_LEN', `0x80044d01')
+define(`MEDIA_IOC_DEVICE_INFO', `0xc1007c00')
+define(`MEDIA_IOC_ENUM_ENTITIES', `0xc1007c01')
+define(`MEDIA_IOC_ENUM_LINKS', `0xc0287c02')
+define(`MEDIA_IOC_SETUP_LINK', `0xc0347c03')
+define(`MEMERASE', `0x40084d02')
+define(`MEMERASE64', `0x40104d14')
+define(`MEMGETBADBLOCK', `0x40084d0b')
+define(`MEMGETINFO', `0x80204d01')
+define(`MEMGETOOBSEL', `0x80c84d0a')
+define(`MEMGETREGIONCOUNT', `0x80044d07')
+define(`MEMGETREGIONINFO', `0xc0104d08')
+define(`MEMISLOCKED', `0x80084d17')
+define(`MEMLOCK', `0x40084d05')
+define(`MEMREADOOB', `0xc0104d04')
+define(`MEMREADOOB64', `0xc0184d16')
+define(`MEMSETBADBLOCK', `0x40084d0c')
+define(`MEMUNLOCK', `0x40084d06')
+define(`MEMWRITE', `0xc0304d18')
+define(`MEMWRITEOOB', `0xc0104d03')
+define(`MEMWRITEOOB64', `0xc0184d15')
+define(`MEYEIOC_G_PARAMS', `0x800676c0')
+define(`MEYEIOC_QBUF_CAPT', `0x400476c2')
+define(`MEYEIOC_S_PARAMS', `0x400676c1')
+define(`MEYEIOC_STILLCAPT', `0x000076c4')
+define(`MEYEIOC_STILLJCAPT', `0x800476c5')
+define(`MEYEIOC_SYNC', `0xc00476c3')
+define(`MFB_GET_ALPHA', `0x80014d00')
+define(`MFB_GET_AOID', `0x80084d04')
+define(`MFB_GET_GAMMA', `0x80014d01')
+define(`MFB_GET_PIXFMT', `0x80044d08')
+define(`MFB_SET_ALPHA', `0x40014d00')
+define(`MFB_SET_AOID', `0x40084d04')
+define(`MFB_SET_BRIGHTNESS', `0x40014d03')
+define(`MFB_SET_CHROMA_KEY', `0x400c4d01')
+define(`MFB_SET_GAMMA', `0x40014d01')
+define(`MFB_SET_PIXFMT', `0x40044d08')
+define(`MGSL_IOCCLRMODCOUNT', `0x00006d0f')
+define(`MGSL_IOCGGPIO', `0x80106d11')
+define(`MGSL_IOCGIF', `0x00006d0b')
+define(`MGSL_IOCGPARAMS', `0x80306d01')
+define(`MGSL_IOCGSTATS', `0x00006d07')
+define(`MGSL_IOCGTXIDLE', `0x00006d03')
+define(`MGSL_IOCGXCTRL', `0x00006d16')
+define(`MGSL_IOCGXSYNC', `0x00006d14')
+define(`MGSL_IOCLOOPTXDONE', `0x00006d09')
+define(`MGSL_IOCRXENABLE', `0x00006d05')
+define(`MGSL_IOCSGPIO', `0x40106d10')
+define(`MGSL_IOCSIF', `0x00006d0a')
+define(`MGSL_IOCSPARAMS', `0x40306d00')
+define(`MGSL_IOCSTXIDLE', `0x00006d02')
+define(`MGSL_IOCSXCTRL', `0x00006d15')
+define(`MGSL_IOCSXSYNC', `0x00006d13')
+define(`MGSL_IOCTXABORT', `0x00006d06')
+define(`MGSL_IOCTXENABLE', `0x00006d04')
+define(`MGSL_IOCWAITEVENT', `0xc0046d08')
+define(`MGSL_IOCWAITGPIO', `0xc0106d12')
+define(`MIC_VIRTIO_ADD_DEVICE', `0xc0087301')
+define(`MIC_VIRTIO_CONFIG_CHANGE', `0xc0087305')
+define(`MIC_VIRTIO_COPY_DESC', `0xc0087302')
+define(`MMC_IOC_CMD', `0xc048b300')
+define(`MMTIMER_GETBITS', `0x00006d04')
+define(`MMTIMER_GETCOUNTER', `0x80086d09')
+define(`MMTIMER_GETFREQ', `0x80086d02')
+define(`MMTIMER_GETOFFSET', `0x00006d00')
+define(`MMTIMER_GETRES', `0x80086d01')
+define(`MMTIMER_MMAPAVAIL', `0x00006d06')
+define(`MSMFB_BLIT', `0x40046d02')
+define(`MSMFB_GRP_DISP', `0x40046d01')
+define(`MTDFILEMODE', `0x00004d13')
+define(`MTIOCGET', `0x80306d02')
+define(`MTIOCPOS', `0x80086d03')
+define(`MTIOCTOP', `0x40086d01')
+define(`MTRRIOC_ADD_ENTRY', `0x40104d00')
+define(`MTRRIOC_ADD_PAGE_ENTRY', `0x40104d05')
+define(`MTRRIOC_DEL_ENTRY', `0x40104d02')
+define(`MTRRIOC_DEL_PAGE_ENTRY', `0x40104d07')
+define(`MTRRIOC_GET_ENTRY', `0xc0184d03')
+define(`MTRRIOC_GET_PAGE_ENTRY', `0xc0184d08')
+define(`MTRRIOC_KILL_ENTRY', `0x40104d04')
+define(`MTRRIOC_KILL_PAGE_ENTRY', `0x40104d09')
+define(`MTRRIOC_SET_ENTRY', `0x40104d01')
+define(`MTRRIOC_SET_PAGE_ENTRY', `0x40104d06')
+define(`NBD_CLEAR_QUE', `0x0000ab05')
+define(`NBD_CLEAR_SOCK', `0x0000ab04')
+define(`NBD_DISCONNECT', `0x0000ab08')
+define(`NBD_DO_IT', `0x0000ab03')
+define(`NBD_PRINT_DEBUG', `0x0000ab06')
+define(`NBD_SET_BLKSIZE', `0x0000ab01')
+define(`NBD_SET_FLAGS', `0x0000ab0a')
+define(`NBD_SET_SIZE', `0x0000ab02')
+define(`NBD_SET_SIZE_BLOCKS', `0x0000ab07')
+define(`NBD_SET_SOCK', `0x0000ab00')
+define(`NBD_SET_TIMEOUT', `0x0000ab09')
+define(`NCP_IOC_CONN_LOGGED_IN', `0x00006e03')
+define(`NCP_IOC_GETCHARSETS', `0xc02a6e0b')
+define(`NCP_IOC_GETDENTRYTTL', `0x40046e0c')
+define(`NCP_IOC_GET_FS_INFO', `0xc0286e04')
+define(`NCP_IOC_GET_FS_INFO_V2', `0xc0306e04')
+define(`NCP_IOC_GETMOUNTUID', `0x40026e02')
+define(`NCP_IOC_GETMOUNTUID2', `0x40086e02')
+define(`NCP_IOC_GETOBJECTNAME', `0xc0186e09')
+define(`NCP_IOC_GETPRIVATEDATA', `0xc0106e0a')
+define(`NCP_IOC_GETROOT', `0x400c6e08')
+define(`NCP_IOC_LOCKUNLOCK', `0x80146e07')
+define(`NCP_IOC_NCPREQUEST', `0x80106e01')
+define(`NCP_IOC_SETCHARSETS', `0x802a6e0b')
+define(`NCP_IOC_SETDENTRYTTL', `0x80046e0c')
+define(`NCP_IOC_SETOBJECTNAME', `0x80186e09')
+define(`NCP_IOC_SETPRIVATEDATA', `0x80106e0a')
+define(`NCP_IOC_SETROOT', `0x800c6e08')
+define(`NCP_IOC_SET_SIGN_WANTED', `0x40046e06')
+define(`NCP_IOC_SIGN_INIT', `0x80186e05')
+define(`NCP_IOC_SIGN_WANTED', `0x80046e06')
+define(`NET_ADD_IF', `0xc0066f34')
+define(`NET_GET_IF', `0xc0066f36')
+define(`NET_REMOVE_IF', `0x00006f35')
+define(`NILFS_IOCTL_CHANGE_CPMODE', `0x40106e80')
+define(`NILFS_IOCTL_CLEAN_SEGMENTS', `0x40786e88')
+define(`NILFS_IOCTL_DELETE_CHECKPOINT', `0x40086e81')
+define(`NILFS_IOCTL_GET_BDESCS', `0xc0186e87')
+define(`NILFS_IOCTL_GET_CPINFO', `0x80186e82')
+define(`NILFS_IOCTL_GET_CPSTAT', `0x80186e83')
+define(`NILFS_IOCTL_GET_SUINFO', `0x80186e84')
+define(`NILFS_IOCTL_GET_SUSTAT', `0x80306e85')
+define(`NILFS_IOCTL_GET_VINFO', `0xc0186e86')
+define(`NILFS_IOCTL_RESIZE', `0x40086e8b')
+define(`NILFS_IOCTL_SET_ALLOC_RANGE', `0x40106e8c')
+define(`NILFS_IOCTL_SET_SUINFO', `0x40186e8d')
+define(`NILFS_IOCTL_SYNC', `0x80086e8a')
+define(`NS_ADJBUFLEV', `0x00006163')
+define(`NS_GETPSTAT', `0xc0106161')
+define(`NS_SETBUFLEV', `0x40106162')
+define(`NVME_IOCTL_ADMIN_CMD', `0xc0484e41')
+define(`NVME_IOCTL_ID', `0x00004e40')
+define(`NVME_IOCTL_IO_CMD', `0xc0484e43')
+define(`NVME_IOCTL_SUBMIT_IO', `0x40304e42')
+define(`NVRAM_INIT', `0x00007040')
+define(`NVRAM_SETCKS', `0x00007041')
+define(`OLD_PHONE_RING_START', `0x00007187')
+define(`OMAPFB_CTRL_TEST', `0x40044f2e')
+define(`OMAPFB_GET_CAPS', `0x800c4f2a')
+define(`OMAPFB_GET_COLOR_KEY', `0x40104f33')
+define(`OMAPFB_GET_DISPLAY_INFO', `0x80204f3f')
+define(`OMAPFB_GET_OVERLAY_COLORMODE', `0x803c4f3b')
+define(`OMAPFB_GET_UPDATE_MODE', `0x40044f2b')
+define(`OMAPFB_GET_VRAM_INFO', `0x80204f3d')
+define(`OMAPFB_LCD_TEST', `0x40044f2d')
+define(`OMAPFB_MEMORY_READ', `0x80184f3a')
+define(`OMAPFB_MIRROR', `0x40044f1f')
+define(`OMAPFB_QUERY_MEM', `0x40084f38')
+define(`OMAPFB_QUERY_PLANE', `0x40444f35')
+define(`OMAPFB_SET_COLOR_KEY', `0x40104f32')
+define(`OMAPFB_SET_TEARSYNC', `0x40084f3e')
+define(`OMAPFB_SET_UPDATE_MODE', `0x40044f28')
+define(`OMAPFB_SETUP_MEM', `0x40084f37')
+define(`OMAPFB_SETUP_PLANE', `0x40444f34')
+define(`OMAPFB_SYNC_GFX', `0x00004f25')
+define(`OMAPFB_UPDATE_WINDOW', `0x40444f36')
+define(`OMAPFB_UPDATE_WINDOW_OLD', `0x40144f2f')
+define(`OMAPFB_VSYNC', `0x00004f26')
+define(`OMAPFB_WAITFORGO', `0x00004f3c')
+define(`OMAPFB_WAITFORVSYNC', `0x00004f39')
+define(`OSD_GET_CAPABILITY', `0x80106fa1')
+define(`OSD_SEND_CMD', `0x40206fa0')
+define(`OSIOCGNETADDR', `0x800489e1')
+define(`OSIOCSNETADDR', `0x400489e0')
+define(`OSS_GETVERSION', `0x80044d76')
+define(`OTPGETREGIONCOUNT', `0x40044d0e')
+define(`OTPGETREGIONINFO', `0x400c4d0f')
+define(`OTPLOCK', `0x800c4d10')
+define(`OTPSELECT', `0x80044d0d')
+define(`PACKET_CTRL_CMD', `0xc0185801')
+define(`PERF_EVENT_IOC_DISABLE', `0x00002401')
+define(`PERF_EVENT_IOC_ENABLE', `0x00002400')
+define(`PERF_EVENT_IOC_ID', `0x80082407')
+define(`PERF_EVENT_IOC_PERIOD', `0x40082404')
+define(`PERF_EVENT_IOC_REFRESH', `0x00002402')
+define(`PERF_EVENT_IOC_RESET', `0x00002403')
+define(`PERF_EVENT_IOC_SET_FILTER', `0x40082406')
+define(`PERF_EVENT_IOC_SET_OUTPUT', `0x00002405')
+define(`PHN_GET_REG', `0xc0087000')
+define(`PHN_GETREG', `0xc0087005')
+define(`PHN_GET_REGS', `0xc0087002')
+define(`PHN_GETREGS', `0xc0287007')
+define(`PHN_NOT_OH', `0x00007004')
+define(`PHN_SET_REG', `0x40087001')
+define(`PHN_SETREG', `0x40087006')
+define(`PHN_SET_REGS', `0x40087003')
+define(`PHN_SETREGS', `0x40287008')
+define(`PHONE_BUSY', `0x000071a1')
+define(`PHONE_CAPABILITIES', `0x00007180')
+define(`PHONE_CAPABILITIES_CHECK', `0x40087182')
+define(`PHONE_CAPABILITIES_LIST', `0x80087181')
+define(`PHONE_CPT_STOP', `0x000071a4')
+define(`PHONE_DIALTONE', `0x000071a3')
+define(`PHONE_DTMF_OOB', `0x40047199')
+define(`PHONE_DTMF_READY', `0x80047196')
+define(`PHONE_EXCEPTION', `0x8004719a')
+define(`PHONE_FRAME', `0x4004718d')
+define(`PHONE_GET_DTMF', `0x80047197')
+define(`PHONE_GET_DTMF_ASCII', `0x80047198')
+define(`PHONE_GET_TONE_OFF_TIME', `0x0000719f')
+define(`PHONE_GET_TONE_ON_TIME', `0x0000719e')
+define(`PHONE_GET_TONE_STATE', `0x000071a0')
+define(`PHONE_HOOKSTATE', `0x00007184')
+define(`PHONE_MAXRINGS', `0x40017185')
+define(`PHONE_PLAY_CODEC', `0x40047190')
+define(`PHONE_PLAY_DEPTH', `0x40047193')
+define(`PHONE_PLAY_LEVEL', `0x00007195')
+define(`PHONE_PLAY_START', `0x00007191')
+define(`PHONE_PLAY_STOP', `0x00007192')
+define(`PHONE_PLAY_TONE', `0x4001719b')
+define(`PHONE_PLAY_VOLUME', `0x40047194')
+define(`PHONE_PLAY_VOLUME_LINEAR', `0x400471dc')
+define(`PHONE_PSTN_GET_STATE', `0x000071a5')
+define(`PHONE_PSTN_LINETEST', `0x000071a8')
+define(`PHONE_PSTN_SET_STATE', `0x400471a4')
+define(`PHONE_QUERY_CODEC', `0xc00871a7')
+define(`PHONE_REC_CODEC', `0x40047189')
+define(`PHONE_REC_DEPTH', `0x4004718c')
+define(`PHONE_REC_LEVEL', `0x0000718f')
+define(`PHONE_REC_START', `0x0000718a')
+define(`PHONE_REC_STOP', `0x0000718b')
+define(`PHONE_REC_VOLUME', `0x4004718e')
+define(`PHONE_REC_VOLUME_LINEAR', `0x400471db')
+define(`PHONE_RING', `0x00007183')
+define(`PHONE_RINGBACK', `0x000071a2')
+define(`PHONE_RING_CADENCE', `0x40027186')
+define(`PHONE_RING_START', `0x40087187')
+define(`PHONE_RING_STOP', `0x00007188')
+define(`PHONE_SET_TONE_OFF_TIME', `0x4004719d')
+define(`PHONE_SET_TONE_ON_TIME', `0x4004719c')
+define(`PHONE_VAD', `0x400471a9')
+define(`PHONE_WINK', `0x400471aa')
+define(`PHONE_WINK_DURATION', `0x400471a6')
+define(`PIO_CMAP', `0x00004b71')
+define(`PIO_FONT', `0x00004b61')
+define(`PIO_FONTRESET', `0x00004b6d')
+define(`PIO_FONTX', `0x00004b6c')
+define(`PIO_SCRNMAP', `0x00004b41')
+define(`PIO_UNIMAP', `0x00004b67')
+define(`PIO_UNIMAPCLR', `0x00004b68')
+define(`PIO_UNISCRNMAP', `0x00004b6a')
+define(`PMU_IOC_CAN_SLEEP', `0x80084205')
+define(`PMU_IOC_GET_BACKLIGHT', `0x80084201')
+define(`PMU_IOC_GET_MODEL', `0x80084203')
+define(`PMU_IOC_GRAB_BACKLIGHT', `0x80084206')
+define(`PMU_IOC_HAS_ADB', `0x80084204')
+define(`PMU_IOC_SET_BACKLIGHT', `0x40084202')
+define(`PMU_IOC_SLEEP', `0x00004200')
+define(`PPCLAIM', `0x0000708b')
+define(`PPCLRIRQ', `0x80047093')
+define(`PPDATADIR', `0x40047090')
+define(`PPEXCL', `0x0000708f')
+define(`PPFCONTROL', `0x4002708e')
+define(`PPGETFLAGS', `0x8004709a')
+define(`PPGETMODE', `0x80047098')
+define(`PPGETMODES', `0x80047097')
+define(`PPGETPHASE', `0x80047099')
+define(`PPGETTIME', `0x80107095')
+define(`PPNEGOT', `0x40047091')
+define(`PPPIOCATTACH',       `0x743d')
+define(`PPPIOCATTCHAN',      `0x7438')
+define(`PPPIOCBUNDLE',       `0x7481')
+define(`PPPIOCCONNECT',      `0x743a')
+define(`PPPIOCDETACH',       `0x743c')
+define(`PPPIOCDISCONN',      `0x7439')
+define(`PPPIOCGASYNCMAP',    `0x7458')
+define(`PPPIOCGCALLINFO',    `0x7480')
+define(`PPPIOCGCHAN',        `0x7437')
+define(`PPPIOCGCOMPRESSORS', `0x7486')
+define(`PPPIOCGDEBUG',       `0x7441')
+define(`PPPIOCGFLAGS',       `0x745a')
+define(`PPPIOCGIDLE',        `0x743f')
+define(`PPPIOCGIFNAME',      `0x7488')
+define(`PPPIOCGL2TPSTATS',   `0x7436')
+define(`PPPIOCGMPFLAGS',     `0x7482')
+define(`PPPIOCGMRU',         `0x7453')
+define(`PPPIOCGNPMODE',      `0x744c')
+define(`PPPIOCGRASYNCMAP',   `0x7455')
+define(`PPPIOCGUNIT',        `0x7456')
+define(`PPPIOCGXASYNCMAP',   `0x7450')
+define(`PPPIOCNEWUNIT',      `0x743e')
+define(`PPPIOCSACTIVE',      `0x7446')
+define(`PPPIOCSASYNCMAP',    `0x7457')
+define(`PPPIOCSCOMPRESS',    `0x744d')
+define(`PPPIOCSCOMPRESSOR',  `0x7487')
+define(`PPPIOCSDEBUG',       `0x7440')
+define(`PPPIOCSFLAGS',       `0x7459')
+define(`PPPIOCSMAXCID',      `0x7451')
+define(`PPPIOCSMPFLAGS',     `0x7483')
+define(`PPPIOCSMPMRU',       `0x7485')
+define(`PPPIOCSMPMTU',       `0x7484')
+define(`PPPIOCSMRRU',        `0x743b')
+define(`PPPIOCSMRU',         `0x7452')
+define(`PPPIOCSNPMODE',      `0x744b')
+define(`PPPIOCSPASS',        `0x7447')
+define(`PPPIOCSRASYNCMAP',   `0x7454')
+define(`PPPIOCSXASYNCMAP',   `0x744f')
+define(`PPPIOCXFERUNIT',     `0x744e')
+define(`PPPOEIOCDFWD', `0x0000b101')
+define(`PPPOEIOCSFWD', `0x4008b100')
+define(`PPRCONTROL', `0x80017083')
+define(`PPRDATA', `0x80017085')
+define(`PPRELEASE', `0x0000708c')
+define(`PPRSTATUS', `0x80017081')
+define(`PPSETFLAGS', `0x4004709b')
+define(`PPSETMODE', `0x40047080')
+define(`PPSETPHASE', `0x40047094')
+define(`PPSETTIME', `0x40107096')
+define(`PPS_FETCH', `0xc00870a4')
+define(`PPS_GETCAP', `0x800870a3')
+define(`PPS_GETPARAMS', `0x800870a1')
+define(`PPS_KC_BIND', `0x400870a5')
+define(`PPS_SETPARAMS', `0x400870a2')
+define(`PPWCONTROL', `0x40017084')
+define(`PPWCTLONIRQ', `0x40017092')
+define(`PPWDATA', `0x40017086')
+define(`PPYIELD', `0x0000708d')
+define(`PROTECT_ARRAY', `0x00000927')
+define(`PTP_CLOCK_GETCAPS', `0x80503d01')
+define(`PTP_ENABLE_PPS', `0x40043d04')
+define(`PTP_EXTTS_REQUEST', `0x40103d02')
+define(`PTP_PEROUT_REQUEST', `0x40383d03')
+define(`PTP_PIN_GETFUNC', `0xc0603d06')
+define(`PTP_PIN_SETFUNC', `0x40603d07')
+define(`PTP_SYS_OFFSET', `0x43403d05')
+define(`RAID_AUTORUN', `0x00000914')
+define(`RAID_VERSION', `0x800c0910')
+define(`RAW_GETBIND', `0x0000ac01')
+define(`RAW_SETBIND', `0x0000ac00')
+define(`REISERFS_IOC_UNPACK', `0x4008cd01')
+define(`RESTART_ARRAY_RW', `0x00000934')
+define(`RFCOMMCREATEDEV', `0x400452c8')
+define(`RFCOMMGETDEVINFO', `0x800452d3')
+define(`RFCOMMGETDEVLIST', `0x800452d2')
+define(`RFCOMMRELEASEDEV', `0x400452c9')
+define(`RFCOMMSTEALDLC', `0x400452dc')
+define(`RFKILL_IOCTL_NOINPUT', `0x00005201')
+define(`RNDADDENTROPY', `0x40085203')
+define(`RNDADDTOENTCNT', `0x40045201')
+define(`RNDCLEARPOOL', `0x00005206')
+define(`RNDGETENTCNT', `0x80045200')
+define(`RNDGETPOOL', `0x80085202')
+define(`RNDZAPENTCNT', `0x00005204')
+define(`ROCCATIOCGREPSIZE', `0x800448f1')
+define(`RTC_AIE_OFF', `0x00007002')
+define(`RTC_AIE_ON', `0x00007001')
+define(`RTC_ALM_READ', `0x80247008')
+define(`RTC_ALM_SET', `0x40247007')
+define(`RTC_EPOCH_READ', `0x8008700d')
+define(`RTC_EPOCH_SET', `0x4008700e')
+define(`RTC_IRQP_READ', `0x8008700b')
+define(`RTC_IRQP_SET', `0x4008700c')
+define(`RTC_PIE_OFF', `0x00007006')
+define(`RTC_PIE_ON', `0x00007005')
+define(`RTC_PLL_GET', `0x80207011')
+define(`RTC_PLL_SET', `0x40207012')
+define(`RTC_RD_TIME', `0x80247009')
+define(`RTC_SET_TIME', `0x4024700a')
+define(`RTC_UIE_OFF', `0x00007004')
+define(`RTC_UIE_ON', `0x00007003')
+define(`RTC_VL_CLR', `0x00007014')
+define(`RTC_VL_READ', `0x80047013')
+define(`RTC_WIE_OFF', `0x00007010')
+define(`RTC_WIE_ON', `0x0000700f')
+define(`RTC_WKALM_RD', `0x80287010')
+define(`RTC_WKALM_SET', `0x4028700f')
+define(`RUN_ARRAY', `0x400c0930')
+define(`S5P_FIMC_TX_END_NOTIFY', `0x00006500')
+define(`SAA6588_CMD_CLOSE', `0x40045202')
+define(`SAA6588_CMD_POLL', `0x80045204')
+define(`SAA6588_CMD_READ', `0x80045203')
+define(`SCSI_IOCTL_DOORLOCK', `0x00005380')
+define(`SCSI_IOCTL_DOORUNLOCK', `0x00005381')
+define(`SCSI_IOCTL_GET_BUS_NUMBER', `0x00005386')
+define(`SCSI_IOCTL_GET_IDLUN', `0x00005382')
+define(`SCSI_IOCTL_GET_PCI', `0x00005387')
+define(`SCSI_IOCTL_PROBE_HOST', `0x00005385')
+define(`SET_ARRAY_INFO', `0x40480923')
+define(`SET_BITMAP_FILE', `0x4004092b')
+define(`SET_DISK_FAULTY', `0x00000929')
+define(`SET_DISK_INFO', `0x00000924')
+define(`SG_EMULATED_HOST', `0x00002203')
+define(`SG_GET_ACCESS_COUNT', `0x00002289')
+define(`SG_GET_COMMAND_Q', `0x00002270')
+define(`SG_GET_KEEP_ORPHAN', `0x00002288')
+define(`SG_GET_LOW_DMA', `0x0000227a')
+define(`SG_GET_NUM_WAITING', `0x0000227d')
+define(`SG_GET_PACK_ID', `0x0000227c')
+define(`SG_GET_REQUEST_TABLE', `0x00002286')
+define(`SG_GET_RESERVED_SIZE', `0x00002272')
+define(`SG_GET_SCSI_ID', `0x00002276')
+define(`SG_GET_SG_TABLESIZE', `0x0000227f')
+define(`SG_GET_TIMEOUT', `0x00002202')
+define(`SG_GET_TRANSFORM', `0x00002205')
+define(`SG_GET_VERSION_NUM', `0x00002282')
+define(`SG_IO', `0x00002285')
+define(`SG_NEXT_CMD_LEN', `0x00002283')
+define(`SG_SCSI_RESET', `0x00002284')
+define(`SG_SET_COMMAND_Q', `0x00002271')
+define(`SG_SET_DEBUG', `0x0000227e')
+define(`SG_SET_FORCE_LOW_DMA', `0x00002279')
+define(`SG_SET_FORCE_PACK_ID', `0x0000227b')
+define(`SG_SET_KEEP_ORPHAN', `0x00002287')
+define(`SG_SET_RESERVED_SIZE', `0x00002275')
+define(`SG_SET_TIMEOUT', `0x00002201')
+define(`SG_SET_TRANSFORM', `0x00002204')
+define(`SI4713_IOC_MEASURE_RNL', `0xc01c56c0')
+define(`SIOCADDDLCI', `0x00008980')
+define(`SIOCADDMULTI', `0x00008931')
+define(`SIOCADDRT', `0x0000890b')
+define(`SIOCATMARK', `0x00008905')
+define(`SIOCBONDCHANGEACTIVE', `0x00008995')
+define(`SIOCBONDENSLAVE', `0x00008990')
+define(`SIOCBONDINFOQUERY', `0x00008994')
+define(`SIOCBONDRELEASE', `0x00008991')
+define(`SIOCBONDSETHWADDR', `0x00008992')
+define(`SIOCBONDSLAVEINFOQUERY', `0x00008993')
+define(`SIOCBRADDBR', `0x000089a0')
+define(`SIOCBRADDIF', `0x000089a2')
+define(`SIOCBRDELBR', `0x000089a1')
+define(`SIOCBRDELIF', `0x000089a3')
+define(`SIOCDARP', `0x00008953')
+define(`SIOCDELDLCI', `0x00008981')
+define(`SIOCDELMULTI', `0x00008932')
+define(`SIOCDELRT', `0x0000890c')
+define(`SIOCDEVPRIVATE', `0x000089f0')
+define(`SIOCDEVPRIVATE_1', `0x000089f1')
+define(`SIOCDEVPRIVATE_2', `0x000089f2')
+define(`SIOCDEVPRIVATE_3', `0x000089f3')
+define(`SIOCDEVPRIVATE_4', `0x000089f4')
+define(`SIOCDEVPRIVATE_5', `0x000089f5')
+define(`SIOCDEVPRIVATE_6', `0x000089f6')
+define(`SIOCDEVPRIVATE_7', `0x000089f7')
+define(`SIOCDEVPRIVATE_8', `0x000089f8')
+define(`SIOCDEVPRIVATE_9', `0x000089f9')
+define(`SIOCDEVPRIVATE_A', `0x000089fa')
+define(`SIOCDEVPRIVATE_B', `0x000089fb')
+define(`SIOCDEVPRIVATE_C', `0x000089fc')
+define(`SIOCDEVPRIVATE_D', `0x000089fd')
+define(`SIOCDEVPRIVATE_E', `0x000089fe')
+define(`SIOCDEVPRIVLAST', `0x000089ff')
+define(`SIOCDIFADDR', `0x00008936')
+define(`SIOCDRARP', `0x00008960')
+define(`SIOCETHTOOL', `0x00008946')
+define(`SIOCGARP', `0x00008954')
+define(`SIOCGHWTSTAMP', `0x000089b1')
+define(`SIOCGIFADDR', `0x00008915')
+define(`SIOCGIFBR', `0x00008940')
+define(`SIOCGIFBRDADDR', `0x00008919')
+define(`SIOCGIFCONF', `0x00008912')
+define(`SIOCGIFCOUNT', `0x00008938')
+define(`SIOCGIFDSTADDR', `0x00008917')
+define(`SIOCGIFENCAP', `0x00008925')
+define(`SIOCGIFFLAGS', `0x00008913')
+define(`SIOCGIFHWADDR', `0x00008927')
+define(`SIOCGIFINDEX', `0x00008933')
+define(`SIOCGIFMAP', `0x00008970')
+define(`SIOCGIFMEM', `0x0000891f')
+define(`SIOCGIFMETRIC', `0x0000891d')
+define(`SIOCGIFMTU', `0x00008921')
+define(`SIOCGIFNAME', `0x00008910')
+define(`SIOCGIFNETMASK', `0x0000891b')
+define(`SIOCGIFPFLAGS', `0x00008935')
+define(`SIOCGIFSLAVE', `0x00008929')
+define(`SIOCGIFTXQLEN', `0x00008942')
+define(`SIOCGIFVLAN', `0x00008982')
+define(`SIOCGIWAP', `0x00008b15')
+define(`SIOCGIWAPLIST', `0x00008b17')
+define(`SIOCGIWAUTH', `0x00008b33')
+define(`SIOCGIWENCODE', `0x00008b2b')
+define(`SIOCGIWENCODEEXT', `0x00008b35')
+define(`SIOCGIWESSID', `0x00008b1b')
+define(`SIOCGIWFRAG', `0x00008b25')
+define(`SIOCGIWFREQ', `0x00008b05')
+define(`SIOCGIWGENIE', `0x00008b31')
+define(`SIOCGIWMODE', `0x00008b07')
+define(`SIOCGIWNAME', `0x00008b01')
+define(`SIOCGIWNICKN', `0x00008b1d')
+define(`SIOCGIWNWID', `0x00008b03')
+define(`SIOCGIWPOWER', `0x00008b2d')
+define(`SIOCGIWPRIV', `0x00008b0d')
+define(`SIOCGIWRANGE', `0x00008b0b')
+define(`SIOCGIWRATE', `0x00008b21')
+define(`SIOCGIWRETRY', `0x00008b29')
+define(`SIOCGIWRTS', `0x00008b23')
+define(`SIOCGIWSCAN', `0x00008b19')
+define(`SIOCGIWSENS', `0x00008b09')
+define(`SIOCGIWSPY', `0x00008b11')
+define(`SIOCGIWSTATS', `0x00008b0f')
+define(`SIOCGIWTHRSPY', `0x00008b13')
+define(`SIOCGIWTXPOW', `0x00008b27')
+define(`SIOCGMIIPHY', `0x00008947')
+define(`SIOCGMIIREG', `0x00008948')
+define(`SIOCGNETADDR', `0x800489e1')
+define(`SIOCGPGRP', `0x00008904')
+define(`SIOCGRARP', `0x00008961')
+define(`SIOCGSTAMP', `0x00008906')
+define(`SIOCGSTAMPNS', `0x00008907')
+define(`SIOCIWFIRST', `0x00008b00')
+define(`SIOCIWFIRSTPRIV_01', `0x00008be1')
+define(`SIOCIWFIRSTPRIV_02', `0x00008be2')
+define(`SIOCIWFIRSTPRIV_03', `0x00008be3')
+define(`SIOCIWFIRSTPRIV_04', `0x00008be4')
+define(`SIOCIWFIRSTPRIV_05', `0x00008be5')
+define(`SIOCIWFIRSTPRIV_06', `0x00008be6')
+define(`SIOCIWFIRSTPRIV_07', `0x00008be7')
+define(`SIOCIWFIRSTPRIV_08', `0x00008be8')
+define(`SIOCIWFIRSTPRIV_09', `0x00008be9')
+define(`SIOCIWFIRSTPRIV_0A', `0x00008bea')
+define(`SIOCIWFIRSTPRIV_0B', `0x00008beb')
+define(`SIOCIWFIRSTPRIV_0C', `0x00008bec')
+define(`SIOCIWFIRSTPRIV_0D', `0x00008bed')
+define(`SIOCIWFIRSTPRIV_0E', `0x00008bee')
+define(`SIOCIWFIRSTPRIV_0F', `0x00008bef')
+define(`SIOCIWFIRSTPRIV', `0x00008be0')
+define(`SIOCIWFIRSTPRIV_10', `0x00008bf0')
+define(`SIOCIWFIRSTPRIV_11', `0x00008bf1')
+define(`SIOCIWFIRSTPRIV_12', `0x00008bf2')
+define(`SIOCIWFIRSTPRIV_13', `0x00008bf3')
+define(`SIOCIWFIRSTPRIV_14', `0x00008bf4')
+define(`SIOCIWFIRSTPRIV_15', `0x00008bf5')
+define(`SIOCIWFIRSTPRIV_16', `0x00008bf6')
+define(`SIOCIWFIRSTPRIV_17', `0x00008bf7')
+define(`SIOCIWFIRSTPRIV_18', `0x00008bf8')
+define(`SIOCIWFIRSTPRIV_19', `0x00008bf9')
+define(`SIOCIWFIRSTPRIV_1A', `0x00008bfa')
+define(`SIOCIWFIRSTPRIV_1B', `0x00008bfb')
+define(`SIOCIWFIRSTPRIV_1C', `0x00008bfc')
+define(`SIOCIWFIRSTPRIV_1D', `0x00008bfd')
+define(`SIOCIWFIRSTPRIV_1E', `0x00008bfe')
+define(`SIOCIWLASTPRIV', `0x00008bff')
+define(`SIOCKILLADDR', `0x00008939')
+define(`SIOCMKCLIP', `0x000061e0')
+define(`SIOCOUTQNSD', `0x0000894b')
+define(`SIOCPROTOPRIVATE', `0x000089e0')
+define(`SIOCPROTOPRIVATE_1', `0x000089e1')
+define(`SIOCPROTOPRIVATE_2', `0x000089e2')
+define(`SIOCPROTOPRIVATE_3', `0x000089e3')
+define(`SIOCPROTOPRIVATE_4', `0x000089e4')
+define(`SIOCPROTOPRIVATE_5', `0x000089e5')
+define(`SIOCPROTOPRIVATE_6', `0x000089e6')
+define(`SIOCPROTOPRIVATE_7', `0x000089e7')
+define(`SIOCPROTOPRIVATE_8', `0x000089e8')
+define(`SIOCPROTOPRIVATE_9', `0x000089e9')
+define(`SIOCPROTOPRIVATE_A', `0x000089ea')
+define(`SIOCPROTOPRIVATE_B', `0x000089eb')
+define(`SIOCPROTOPRIVATE_C', `0x000089ec')
+define(`SIOCPROTOPRIVATE_D', `0x000089ed')
+define(`SIOCPROTOPRIVATE_E', `0x000089ee')
+define(`SIOCPROTOPRIVLAST', `0x000089ef')
+define(`SIOCRTMSG', `0x0000890d')
+define(`SIOCSARP', `0x00008955')
+define(`SIOCSHWTSTAMP', `0x000089b0')
+define(`SIOCSIFADDR', `0x00008916')
+define(`SIOCSIFATMTCP', `0x00006180')
+define(`SIOCSIFBR', `0x00008941')
+define(`SIOCSIFBRDADDR', `0x0000891a')
+define(`SIOCSIFDSTADDR', `0x00008918')
+define(`SIOCSIFENCAP', `0x00008926')
+define(`SIOCSIFFLAGS', `0x00008914')
+define(`SIOCSIFHWADDR', `0x00008924')
+define(`SIOCSIFHWBROADCAST', `0x00008937')
+define(`SIOCSIFLINK', `0x00008911')
+define(`SIOCSIFMAP', `0x00008971')
+define(`SIOCSIFMEM', `0x00008920')
+define(`SIOCSIFMETRIC', `0x0000891e')
+define(`SIOCSIFMTU', `0x00008922')
+define(`SIOCSIFNAME', `0x00008923')
+define(`SIOCSIFNETMASK', `0x0000891c')
+define(`SIOCSIFPFLAGS', `0x00008934')
+define(`SIOCSIFSLAVE', `0x00008930')
+define(`SIOCSIFTXQLEN', `0x00008943')
+define(`SIOCSIFVLAN', `0x00008983')
+define(`SIOCSIWAP', `0x00008b14')
+define(`SIOCSIWAUTH', `0x00008b32')
+define(`SIOCSIWCOMMIT', `0x00008b00')
+define(`SIOCSIWENCODE', `0x00008b2a')
+define(`SIOCSIWENCODEEXT', `0x00008b34')
+define(`SIOCSIWESSID', `0x00008b1a')
+define(`SIOCSIWFRAG', `0x00008b24')
+define(`SIOCSIWFREQ', `0x00008b04')
+define(`SIOCSIWGENIE', `0x00008b30')
+define(`SIOCSIWMLME', `0x00008b16')
+define(`SIOCSIWMODE', `0x00008b06')
+define(`SIOCSIWNICKN', `0x00008b1c')
+define(`SIOCSIWNWID', `0x00008b02')
+define(`SIOCSIWPMKSA', `0x00008b36')
+define(`SIOCSIWPOWER', `0x00008b2c')
+define(`SIOCSIWPRIV', `0x00008b0c')
+define(`SIOCSIWRANGE', `0x00008b0a')
+define(`SIOCSIWRATE', `0x00008b20')
+define(`SIOCSIWRETRY', `0x00008b28')
+define(`SIOCSIWRTS', `0x00008b22')
+define(`SIOCSIWSCAN', `0x00008b18')
+define(`SIOCSIWSENS', `0x00008b08')
+define(`SIOCSIWSPY', `0x00008b10')
+define(`SIOCSIWSTATS', `0x00008b0e')
+define(`SIOCSIWTHRSPY', `0x00008b12')
+define(`SIOCSIWTXPOW', `0x00008b26')
+define(`SIOCSMIIREG', `0x00008949')
+define(`SIOCSNETADDR', `0x400489e0')
+define(`SIOCSPGRP', `0x00008902')
+define(`SIOCSRARP', `0x00008962')
+define(`SIOCWANDEV', `0x0000894a')
+define(`SISFB_COMMAND', `0xc054f305')
+define(`SISFB_GET_AUTOMAXIMIZE', `0x8004f303')
+define(`SISFB_GET_AUTOMAXIMIZE_OLD', `0x80046efa')
+define(`SISFB_GET_INFO', `0x811cf301')
+define(`SISFB_GET_INFO_OLD', `0x80046ef8')
+define(`SISFB_GET_INFO_SIZE', `0x8004f300')
+define(`SISFB_GET_TVPOSOFFSET', `0x8004f304')
+define(`SISFB_GET_VBRSTATUS', `0x8004f302')
+define(`SISFB_GET_VBRSTATUS_OLD', `0x80046ef9')
+define(`SISFB_SET_AUTOMAXIMIZE', `0x4004f303')
+define(`SISFB_SET_AUTOMAXIMIZE_OLD', `0x40046efa')
+define(`SISFB_SET_LOCK', `0x4004f306')
+define(`SISFB_SET_TVPOSOFFSET', `0x4004f304')
+define(`SNAPSHOT_ALLOC_SWAP_PAGE', `0x80083314')
+define(`SNAPSHOT_ATOMIC_RESTORE', `0x00003304')
+define(`SNAPSHOT_AVAIL_SWAP_SIZE', `0x80083313')
+define(`SNAPSHOT_CREATE_IMAGE', `0x40043311')
+define(`SNAPSHOT_FREE', `0x00003305')
+define(`SNAPSHOT_FREE_SWAP_PAGES', `0x00003309')
+define(`SNAPSHOT_FREEZE', `0x00003301')
+define(`SNAPSHOT_GET_IMAGE_SIZE', `0x8008330e')
+define(`SNAPSHOT_PLATFORM_SUPPORT', `0x0000330f')
+define(`SNAPSHOT_POWER_OFF', `0x00003310')
+define(`SNAPSHOT_PREF_IMAGE_SIZE', `0x00003312')
+define(`SNAPSHOT_S2RAM', `0x0000330b')
+define(`SNAPSHOT_SET_SWAP_AREA', `0x400c330d')
+define(`SNAPSHOT_UNFREEZE', `0x00003302')
+define(`SNDCTL_COPR_HALT', `0xc0144307')
+define(`SNDCTL_COPR_LOAD', `0xcfb04301')
+define(`SNDCTL_COPR_RCODE', `0xc0144303')
+define(`SNDCTL_COPR_RCVMSG', `0x8fa44309')
+define(`SNDCTL_COPR_RDATA', `0xc0144302')
+define(`SNDCTL_COPR_RESET', `0x00004300')
+define(`SNDCTL_COPR_RUN', `0xc0144306')
+define(`SNDCTL_COPR_SENDMSG', `0xcfa44308')
+define(`SNDCTL_COPR_WCODE', `0x40144305')
+define(`SNDCTL_COPR_WDATA', `0x40144304')
+define(`SNDCTL_DSP_BIND_CHANNEL', `0xc0045041')
+define(`SNDCTL_DSP_CHANNELS', `0xc0045006')
+define(`SNDCTL_DSP_GETBLKSIZE', `0xc0045004')
+define(`SNDCTL_DSP_GETCAPS', `0x8004500f')
+define(`SNDCTL_DSP_GETCHANNELMASK', `0xc0045040')
+define(`SNDCTL_DSP_GETFMTS', `0x8004500b')
+define(`SNDCTL_DSP_GETIPTR', `0x800c5011')
+define(`SNDCTL_DSP_GETISPACE', `0x8010500d')
+define(`SNDCTL_DSP_GETODELAY', `0x80045017')
+define(`SNDCTL_DSP_GETOPTR', `0x800c5012')
+define(`SNDCTL_DSP_GETOSPACE', `0x8010500c')
+define(`SNDCTL_DSP_GETSPDIF', `0x80045043')
+define(`SNDCTL_DSP_GETTRIGGER', `0x80045010')
+define(`SNDCTL_DSP_MAPINBUF', `0x80105013')
+define(`SNDCTL_DSP_MAPOUTBUF', `0x80105014')
+define(`SNDCTL_DSP_NONBLOCK', `0x0000500e')
+define(`SNDCTL_DSP_POST', `0x00005008')
+define(`SNDCTL_DSP_PROFILE', `0x40045017')
+define(`SNDCTL_DSP_RESET', `0x00005000')
+define(`SNDCTL_DSP_SETDUPLEX', `0x00005016')
+define(`SNDCTL_DSP_SETFMT', `0xc0045005')
+define(`SNDCTL_DSP_SETFRAGMENT', `0xc004500a')
+define(`SNDCTL_DSP_SETSPDIF', `0x40045042')
+define(`SNDCTL_DSP_SETSYNCRO', `0x00005015')
+define(`SNDCTL_DSP_SETTRIGGER', `0x40045010')
+define(`SNDCTL_DSP_SPEED', `0xc0045002')
+define(`SNDCTL_DSP_STEREO', `0xc0045003')
+define(`SNDCTL_DSP_SUBDIVIDE', `0xc0045009')
+define(`SNDCTL_DSP_SYNC', `0x00005001')
+define(`SNDCTL_FM_4OP_ENABLE', `0x4004510f')
+define(`SNDCTL_FM_LOAD_INSTR', `0x40285107')
+define(`SNDCTL_MIDI_INFO', `0xc074510c')
+define(`SNDCTL_MIDI_MPUCMD', `0xc0216d02')
+define(`SNDCTL_MIDI_MPUMODE', `0xc0046d01')
+define(`SNDCTL_MIDI_PRETIME', `0xc0046d00')
+define(`SNDCTL_SEQ_CTRLRATE', `0xc0045103')
+define(`SNDCTL_SEQ_GETINCOUNT', `0x80045105')
+define(`SNDCTL_SEQ_GETOUTCOUNT', `0x80045104')
+define(`SNDCTL_SEQ_GETTIME', `0x80045113')
+define(`SNDCTL_SEQ_NRMIDIS', `0x8004510b')
+define(`SNDCTL_SEQ_NRSYNTHS', `0x8004510a')
+define(`SNDCTL_SEQ_OUTOFBAND', `0x40085112')
+define(`SNDCTL_SEQ_PANIC', `0x00005111')
+define(`SNDCTL_SEQ_PERCMODE', `0x40045106')
+define(`SNDCTL_SEQ_RESET', `0x00005100')
+define(`SNDCTL_SEQ_RESETSAMPLES', `0x40045109')
+define(`SNDCTL_SEQ_SYNC', `0x00005101')
+define(`SNDCTL_SEQ_TESTMIDI', `0x40045108')
+define(`SNDCTL_SEQ_THRESHOLD', `0x4004510d')
+define(`SNDCTL_SYNTH_CONTROL', `0xcfa45115')
+define(`SNDCTL_SYNTH_ID', `0xc08c5114')
+define(`SNDCTL_SYNTH_INFO', `0xc08c5102')
+define(`SNDCTL_SYNTH_MEMAVL', `0xc004510e')
+define(`SNDCTL_SYNTH_REMOVESAMPLE', `0xc00c5116')
+define(`SNDCTL_TMR_CONTINUE', `0x00005404')
+define(`SNDCTL_TMR_METRONOME', `0x40045407')
+define(`SNDCTL_TMR_SELECT', `0x40045408')
+define(`SNDCTL_TMR_SOURCE', `0xc0045406')
+define(`SNDCTL_TMR_START', `0x00005402')
+define(`SNDCTL_TMR_STOP', `0x00005403')
+define(`SNDCTL_TMR_TEMPO', `0xc0045405')
+define(`SNDCTL_TMR_TIMEBASE', `0xc0045401')
+define(`SNDRV_COMPRESS_AVAIL', `0x801c4321')
+define(`SNDRV_COMPRESS_DRAIN', `0x00004334')
+define(`SNDRV_COMPRESS_GET_CAPS', `0xc0c44310')
+define(`SNDRV_COMPRESS_GET_CODEC_CAPS', `0xeb884311')
+define(`SNDRV_COMPRESS_GET_METADATA', `0xc0244315')
+define(`SNDRV_COMPRESS_GET_PARAMS', `0x80784313')
+define(`SNDRV_COMPRESS_IOCTL_VERSION', `0x80044300')
+define(`SNDRV_COMPRESS_NEXT_TRACK', `0x00004335')
+define(`SNDRV_COMPRESS_PARTIAL_DRAIN', `0x00004336')
+define(`SNDRV_COMPRESS_PAUSE', `0x00004330')
+define(`SNDRV_COMPRESS_RESUME', `0x00004331')
+define(`SNDRV_COMPRESS_SET_METADATA', `0x40244314')
+define(`SNDRV_COMPRESS_SET_PARAMS', `0x40844312')
+define(`SNDRV_COMPRESS_START', `0x00004332')
+define(`SNDRV_COMPRESS_STOP', `0x00004333')
+define(`SNDRV_COMPRESS_TSTAMP', `0x80144320')
+define(`SNDRV_CTL_IOCTL_CARD_INFO', `0x81785501')
+define(`SNDRV_CTL_IOCTL_ELEM_ADD', `0xc1105517')
+define(`SNDRV_CTL_IOCTL_ELEM_INFO', `0xc1105511')
+define(`SNDRV_CTL_IOCTL_ELEM_LIST', `0xc0505510')
+define(`SNDRV_CTL_IOCTL_ELEM_LOCK', `0x40405514')
+define(`SNDRV_CTL_IOCTL_ELEM_READ', `0xc4c85512')
+define(`SNDRV_CTL_IOCTL_ELEM_REMOVE', `0xc0405519')
+define(`SNDRV_CTL_IOCTL_ELEM_REPLACE', `0xc1105518')
+define(`SNDRV_CTL_IOCTL_ELEM_UNLOCK', `0x40405515')
+define(`SNDRV_CTL_IOCTL_ELEM_WRITE', `0xc4c85513')
+define(`SNDRV_CTL_IOCTL_HWDEP_INFO', `0x80dc5521')
+define(`SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE', `0xc0045520')
+define(`SNDRV_CTL_IOCTL_PCM_INFO', `0xc1205531')
+define(`SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE', `0x80045530')
+define(`SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE', `0x40045532')
+define(`SNDRV_CTL_IOCTL_POWER', `0xc00455d0')
+define(`SNDRV_CTL_IOCTL_POWER_STATE', `0x800455d1')
+define(`SNDRV_CTL_IOCTL_PVERSION', `0x80045500')
+define(`SNDRV_CTL_IOCTL_RAWMIDI_INFO', `0xc10c5541')
+define(`SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE', `0xc0045540')
+define(`SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE', `0x40045542')
+define(`SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS', `0xc0045516')
+define(`SNDRV_CTL_IOCTL_TLV_COMMAND', `0xc008551c')
+define(`SNDRV_CTL_IOCTL_TLV_READ', `0xc008551a')
+define(`SNDRV_CTL_IOCTL_TLV_WRITE', `0xc008551b')
+define(`SNDRV_DM_FM_IOCTL_CLEAR_PATCHES', `0x00004840')
+define(`SNDRV_DM_FM_IOCTL_INFO', `0x80024820')
+define(`SNDRV_DM_FM_IOCTL_PLAY_NOTE', `0x400c4822')
+define(`SNDRV_DM_FM_IOCTL_RESET', `0x00004821')
+define(`SNDRV_DM_FM_IOCTL_SET_CONNECTION', `0x40044826')
+define(`SNDRV_DM_FM_IOCTL_SET_MODE', `0x40044825')
+define(`SNDRV_DM_FM_IOCTL_SET_PARAMS', `0x40094824')
+define(`SNDRV_DM_FM_IOCTL_SET_VOICE', `0x40124823')
+define(`SNDRV_EMU10K1_IOCTL_CODE_PEEK', `0xc1b04812')
+define(`SNDRV_EMU10K1_IOCTL_CODE_POKE', `0x41b04811')
+define(`SNDRV_EMU10K1_IOCTL_CONTINUE', `0x00004881')
+define(`SNDRV_EMU10K1_IOCTL_DBG_READ', `0x80044884')
+define(`SNDRV_EMU10K1_IOCTL_INFO', `0x880c4810')
+define(`SNDRV_EMU10K1_IOCTL_PCM_PEEK', `0xc0484831')
+define(`SNDRV_EMU10K1_IOCTL_PCM_POKE', `0x40484830')
+define(`SNDRV_EMU10K1_IOCTL_PVERSION', `0x80044840')
+define(`SNDRV_EMU10K1_IOCTL_SINGLE_STEP', `0x40044883')
+define(`SNDRV_EMU10K1_IOCTL_STOP', `0x00004880')
+define(`SNDRV_EMU10K1_IOCTL_TRAM_PEEK', `0xc0104822')
+define(`SNDRV_EMU10K1_IOCTL_TRAM_POKE', `0x40104821')
+define(`SNDRV_EMU10K1_IOCTL_TRAM_SETUP', `0x40044820')
+define(`SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER', `0x00004882')
+define(`SNDRV_EMUX_IOCTL_LOAD_PATCH', `0xc0104881')
+define(`SNDRV_EMUX_IOCTL_MEM_AVAIL', `0x40044884')
+define(`SNDRV_EMUX_IOCTL_MISC_MODE', `0xc0104884')
+define(`SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES', `0x00004883')
+define(`SNDRV_EMUX_IOCTL_RESET_SAMPLES', `0x00004882')
+define(`SNDRV_EMUX_IOCTL_VERSION', `0x80044880')
+define(`SNDRV_FIREWIRE_IOCTL_GET_INFO', `0x802048f8')
+define(`SNDRV_FIREWIRE_IOCTL_LOCK', `0x000048f9')
+define(`SNDRV_FIREWIRE_IOCTL_UNLOCK', `0x000048fa')
+define(`SNDRV_HDSP_IOCTL_GET_9632_AEB', `0x80084845')
+define(`SNDRV_HDSP_IOCTL_GET_CONFIG_INFO', `0x80244841')
+define(`SNDRV_HDSP_IOCTL_GET_MIXER', `0x90004844')
+define(`SNDRV_HDSP_IOCTL_GET_PEAK_RMS', `0x83b04840')
+define(`SNDRV_HDSP_IOCTL_GET_VERSION', `0x80084843')
+define(`SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE', `0x40084842')
+define(`SNDRV_HDSPM_IOCTL_GET_CONFIG', `0x80184841')
+define(`SNDRV_HDSPM_IOCTL_GET_LTC', `0x80104846')
+define(`SNDRV_HDSPM_IOCTL_GET_MIXER', `0x80084844')
+define(`SNDRV_HDSPM_IOCTL_GET_PEAK_RMS', `0x89084842')
+define(`SNDRV_HDSPM_IOCTL_GET_STATUS', `0x80204847')
+define(`SNDRV_HDSPM_IOCTL_GET_VERSION', `0x80244848')
+define(`SNDRV_HWDEP_IOCTL_DSP_LOAD', `0x40604803')
+define(`SNDRV_HWDEP_IOCTL_DSP_STATUS', `0x80404802')
+define(`SNDRV_HWDEP_IOCTL_INFO', `0x80dc4801')
+define(`SNDRV_HWDEP_IOCTL_PVERSION', `0x80044800')
+define(`SNDRV_PCM_IOCTL_CHANNEL_INFO', `0x80184132')
+define(`SNDRV_PCM_IOCTL_DELAY', `0x80084121')
+define(`SNDRV_PCM_IOCTL_DRAIN', `0x00004144')
+define(`SNDRV_PCM_IOCTL_DROP', `0x00004143')
+define(`SNDRV_PCM_IOCTL_FORWARD', `0x40084149')
+define(`SNDRV_PCM_IOCTL_HW_FREE', `0x00004112')
+define(`SNDRV_PCM_IOCTL_HW_PARAMS', `0xc2604111')
+define(`SNDRV_PCM_IOCTL_HW_REFINE', `0xc2604110')
+define(`SNDRV_PCM_IOCTL_HWSYNC', `0x00004122')
+define(`SNDRV_PCM_IOCTL_INFO', `0x81204101')
+define(`SNDRV_PCM_IOCTL_LINK', `0x40044160')
+define(`SNDRV_PCM_IOCTL_PAUSE', `0x40044145')
+define(`SNDRV_PCM_IOCTL_PREPARE', `0x00004140')
+define(`SNDRV_PCM_IOCTL_PVERSION', `0x80044100')
+define(`SNDRV_PCM_IOCTL_READI_FRAMES', `0x80184151')
+define(`SNDRV_PCM_IOCTL_READN_FRAMES', `0x80184153')
+define(`SNDRV_PCM_IOCTL_RESET', `0x00004141')
+define(`SNDRV_PCM_IOCTL_RESUME', `0x00004147')
+define(`SNDRV_PCM_IOCTL_REWIND', `0x40084146')
+define(`SNDRV_PCM_IOCTL_START', `0x00004142')
+define(`SNDRV_PCM_IOCTL_STATUS', `0x80984120')
+define(`SNDRV_PCM_IOCTL_SW_PARAMS', `0xc0884113')
+define(`SNDRV_PCM_IOCTL_SYNC_PTR', `0xc0884123')
+define(`SNDRV_PCM_IOCTL_TSTAMP', `0x40044102')
+define(`SNDRV_PCM_IOCTL_TTSTAMP', `0x40044103')
+define(`SNDRV_PCM_IOCTL_UNLINK', `0x00004161')
+define(`SNDRV_PCM_IOCTL_WRITEI_FRAMES', `0x40184150')
+define(`SNDRV_PCM_IOCTL_WRITEN_FRAMES', `0x40184152')
+define(`SNDRV_PCM_IOCTL_XRUN', `0x00004148')
+define(`SNDRV_RAWMIDI_IOCTL_DRAIN', `0x40045731')
+define(`SNDRV_RAWMIDI_IOCTL_DROP', `0x40045730')
+define(`SNDRV_RAWMIDI_IOCTL_INFO', `0x810c5701')
+define(`SNDRV_RAWMIDI_IOCTL_PARAMS', `0xc0305710')
+define(`SNDRV_RAWMIDI_IOCTL_PVERSION', `0x80045700')
+define(`SNDRV_RAWMIDI_IOCTL_STATUS', `0xc0385720')
+define(`SNDRV_SB_CSP_IOCTL_INFO', `0x80284810')
+define(`SNDRV_SB_CSP_IOCTL_LOAD_CODE', `0x70124811')
+define(`SNDRV_SB_CSP_IOCTL_PAUSE', `0x00004815')
+define(`SNDRV_SB_CSP_IOCTL_RESTART', `0x00004816')
+define(`SNDRV_SB_CSP_IOCTL_START', `0x40084813')
+define(`SNDRV_SB_CSP_IOCTL_STOP', `0x00004814')
+define(`SNDRV_SB_CSP_IOCTL_UNLOAD_CODE', `0x00004812')
+define(`SNDRV_SEQ_IOCTL_CLIENT_ID', `0x80045301')
+define(`SNDRV_SEQ_IOCTL_CREATE_PORT', `0xc0a85320')
+define(`SNDRV_SEQ_IOCTL_CREATE_QUEUE', `0xc08c5332')
+define(`SNDRV_SEQ_IOCTL_DELETE_PORT', `0x40a85321')
+define(`SNDRV_SEQ_IOCTL_DELETE_QUEUE', `0x408c5333')
+define(`SNDRV_SEQ_IOCTL_GET_CLIENT_INFO', `0xc0bc5310')
+define(`SNDRV_SEQ_IOCTL_GET_CLIENT_POOL', `0xc058534b')
+define(`SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE', `0xc08c5336')
+define(`SNDRV_SEQ_IOCTL_GET_PORT_INFO', `0xc0a85322')
+define(`SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT', `0xc04c5349')
+define(`SNDRV_SEQ_IOCTL_GET_QUEUE_INFO', `0xc08c5334')
+define(`SNDRV_SEQ_IOCTL_GET_QUEUE_OWNER', `0xc0005343')
+define(`SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS', `0xc05c5340')
+define(`SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO', `0xc02c5341')
+define(`SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER', `0xc0605345')
+define(`SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION', `0xc0505350')
+define(`SNDRV_SEQ_IOCTL_PVERSION', `0x80045300')
+define(`SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT', `0xc0bc5351')
+define(`SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT', `0xc0a85352')
+define(`SNDRV_SEQ_IOCTL_QUERY_SUBS', `0xc058534f')
+define(`SNDRV_SEQ_IOCTL_REMOVE_EVENTS', `0x4040534e')
+define(`SNDRV_SEQ_IOCTL_RUNNING_MODE', `0xc0105303')
+define(`SNDRV_SEQ_IOCTL_SET_CLIENT_INFO', `0x40bc5311')
+define(`SNDRV_SEQ_IOCTL_SET_CLIENT_POOL', `0x4058534c')
+define(`SNDRV_SEQ_IOCTL_SET_PORT_INFO', `0x40a85323')
+define(`SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT', `0x404c534a')
+define(`SNDRV_SEQ_IOCTL_SET_QUEUE_INFO', `0xc08c5335')
+define(`SNDRV_SEQ_IOCTL_SET_QUEUE_OWNER', `0x40005344')
+define(`SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO', `0x402c5342')
+define(`SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER', `0x40605346')
+define(`SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT', `0x40505330')
+define(`SNDRV_SEQ_IOCTL_SYSTEM_INFO', `0xc0305302')
+define(`SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT', `0x40505331')
+define(`SNDRV_TIMER_IOCTL_CONTINUE', `0x000054a2')
+define(`SNDRV_TIMER_IOCTL_GINFO', `0xc0f85403')
+define(`SNDRV_TIMER_IOCTL_GPARAMS', `0x40485404')
+define(`SNDRV_TIMER_IOCTL_GSTATUS', `0xc0505405')
+define(`SNDRV_TIMER_IOCTL_INFO', `0x80e85411')
+define(`SNDRV_TIMER_IOCTL_NEXT_DEVICE', `0xc0145401')
+define(`SNDRV_TIMER_IOCTL_PARAMS', `0x40505412')
+define(`SNDRV_TIMER_IOCTL_PAUSE', `0x000054a3')
+define(`SNDRV_TIMER_IOCTL_PVERSION', `0x80045400')
+define(`SNDRV_TIMER_IOCTL_SELECT', `0x40345410')
+define(`SNDRV_TIMER_IOCTL_START', `0x000054a0')
+define(`SNDRV_TIMER_IOCTL_STATUS', `0x80605414')
+define(`SNDRV_TIMER_IOCTL_STOP', `0x000054a1')
+define(`SNDRV_TIMER_IOCTL_TREAD', `0x40045402')
+define(`SONET_CLRDIAG', `0xc0046113')
+define(`SONET_GETDIAG', `0x80046114')
+define(`SONET_GETFRAMING', `0x80046116')
+define(`SONET_GETFRSENSE', `0x80066117')
+define(`SONET_GETSTAT', `0x80246110')
+define(`SONET_GETSTATZ', `0x80246111')
+define(`SONET_SETDIAG', `0xc0046112')
+define(`SONET_SETFRAMING', `0x40046115')
+define(`SONYPI_IOCGBAT1CAP', `0x80027602')
+define(`SONYPI_IOCGBAT1REM', `0x80027603')
+define(`SONYPI_IOCGBAT2CAP', `0x80027604')
+define(`SONYPI_IOCGBAT2REM', `0x80027605')
+define(`SONYPI_IOCGBATFLAGS', `0x80017607')
+define(`SONYPI_IOCGBLUE', `0x80017608')
+define(`SONYPI_IOCGBRT', `0x80017600')
+define(`SONYPI_IOCGFAN', `0x8001760a')
+define(`SONYPI_IOCGTEMP', `0x8001760c')
+define(`SONYPI_IOCSBLUE', `0x40017609')
+define(`SONYPI_IOCSBRT', `0x40017600')
+define(`SONYPI_IOCSFAN', `0x4001760b')
+define(`SOUND_MIXER_3DSE', `0xc0044d68')
+define(`SOUND_MIXER_ACCESS', `0xc0804d66')
+define(`SOUND_MIXER_AGC', `0xc0044d67')
+define(`SOUND_MIXER_GETLEVELS', `0xc0a44d74')
+define(`SOUND_MIXER_INFO', `0x805c4d65')
+define(`SOUND_MIXER_PRIVATE1', `0xc0044d6f')
+define(`SOUND_MIXER_PRIVATE2', `0xc0044d70')
+define(`SOUND_MIXER_PRIVATE3', `0xc0044d71')
+define(`SOUND_MIXER_PRIVATE4', `0xc0044d72')
+define(`SOUND_MIXER_PRIVATE5', `0xc0044d73')
+define(`SOUND_MIXER_SETLEVELS', `0xc0a44d75')
+define(`SOUND_OLD_MIXER_INFO', `0x80304d65')
+define(`SOUND_PCM_READ_BITS', `0x80045005')
+define(`SOUND_PCM_READ_CHANNELS', `0x80045006')
+define(`SOUND_PCM_READ_FILTER', `0x80045007')
+define(`SOUND_PCM_READ_RATE', `0x80045002')
+define(`SOUND_PCM_WRITE_FILTER', `0xc0045007')
+define(`SPI_IOC_RD_BITS_PER_WORD', `0x80016b03')
+define(`SPI_IOC_RD_LSB_FIRST', `0x80016b02')
+define(`SPI_IOC_RD_MAX_SPEED_HZ', `0x80046b04')
+define(`SPI_IOC_RD_MODE', `0x80016b01')
+define(`SPI_IOC_RD_MODE32', `0x80046b05')
+define(`SPI_IOC_WR_BITS_PER_WORD', `0x40016b03')
+define(`SPI_IOC_WR_LSB_FIRST', `0x40016b02')
+define(`SPI_IOC_WR_MAX_SPEED_HZ', `0x40046b04')
+define(`SPI_IOC_WR_MODE', `0x40016b01')
+define(`SPI_IOC_WR_MODE32', `0x40046b05')
+define(`SPIOCSTYPE', `0x40087101')
+define(`SSTFB_GET_VGAPASS', `0x800446dd')
+define(`SSTFB_SET_VGAPASS', `0x400446dd')
+define(`STOP_ARRAY', `0x00000932')
+define(`STOP_ARRAY_RO', `0x00000933')
+define(`SW_SYNC_IOC_CREATE_FENCE', `0xc0285700')
+define(`SW_SYNC_IOC_INC', `0x40045701')
+define(`SYNC_IOC_FENCE_INFO', `0xc0283e02')
+define(`SYNC_IOC_MERGE', `0xc0283e01')
+define(`SYNC_IOC_WAIT', `0x40043e00')
+define(`TCFLSH', `0x0000540b')
+define(`TCGETA', `0x00005405')
+define(`TCGETS2', `0x802c542a')
+define(`TCGETS', ifelse(target_arch, mips, 0x0000540d, 0x00005401))
+define(`TCGETX', `0x00005432')
+define(`TCSBRK', `0x00005409')
+define(`TCSBRKP', `0x00005425')
+define(`TCSETA', `0x00005406')
+define(`TCSETAF', `0x00005408')
+define(`TCSETAW', `0x00005407')
+define(`TCSETS', `0x00005402')
+define(`TCSETS2', `0x402c542b')
+define(`TCSETSF', `0x00005404')
+define(`TCSETSF2', `0x402c542d')
+define(`TCSETSW', `0x00005403')
+define(`TCSETSW2', `0x402c542c')
+define(`TCSETX', `0x00005433')
+define(`TCSETXF', `0x00005434')
+define(`TCSETXW', `0x00005435')
+define(`TCXONC', `0x0000540a')
+define(`TFD_IOC_SET_TICKS', `0x40085400')
+define(`TIOCCBRK', `0x00005428')
+define(`TIOCCONS', `0x0000541d')
+define(`TIOCEXCL', `0x0000540c')
+define(`TIOCGDEV', `0x80045432')
+define(`TIOCGETD', `0x00005424')
+define(`TIOCGEXCL', `0x80045440')
+define(`TIOCGICOUNT', `0x0000545d')
+define(`TIOCGLCKTRMIOS', `0x00005456')
+define(`TIOCGPGRP', `0x0000540f')
+define(`TIOCGPKT', `0x80045438')
+define(`TIOCGPTLCK', `0x80045439')
+define(`TIOCGPTN', `0x80045430')
+define(`TIOCGRS485', `0x0000542e')
+define(`TIOCGSERIAL', `0x0000541e')
+define(`TIOCGSID', `0x00005429')
+define(`TIOCGSOFTCAR', `0x00005419')
+define(`TIOCGWINSZ', ifelse(target_arch, mips, 0x80087468, 0x00005413))
+define(`TIOCLINUX', `0x0000541c')
+define(`TIOCMBIC', `0x00005417')
+define(`TIOCMBIS', `0x00005416')
+define(`TIOCMGET', `0x00005415')
+define(`TIOCMIWAIT', `0x0000545c')
+define(`TIOCMSET', `0x00005418')
+define(`TIOCNOTTY', `0x00005422')
+define(`TIOCNXCL', `0x0000540d')
+define(`TIOCOUTQ', ifelse(target_arch, mips, 0x00007472, 0x00005411))
+define(`TIOCPKT', `0x00005420')
+define(`TIOCSBRK', `0x00005427')
+define(`TIOCSCTTY', ifelse(target_arch, mips, 0x00005480, 0x0000540e))
+define(`TIOCSERCONFIG', `0x00005453')
+define(`TIOCSERGETLSR', `0x00005459')
+define(`TIOCSERGETMULTI', `0x0000545a')
+define(`TIOCSERGSTRUCT', `0x00005458')
+define(`TIOCSERGWILD', `0x00005454')
+define(`TIOCSERSETMULTI', `0x0000545b')
+define(`TIOCSERSWILD', `0x00005455')
+define(`TIOCSETD', `0x00005423')
+define(`TIOCSIG', `0x40045436')
+define(`TIOCSLCKTRMIOS', `0x00005457')
+define(`TIOCSPGRP', `0x00005410')
+define(`TIOCSPTLCK', `0x40045431')
+define(`TIOCSRS485', `0x0000542f')
+define(`TIOCSSERIAL', `0x0000541f')
+define(`TIOCSSOFTCAR', `0x0000541a')
+define(`TIOCSTI', `0x00005412')
+define(`TIOCSWINSZ', ifelse(target_arch, mips, 0x40087467, 0x00005414))
+define(`TIOCVHANGUP', `0x00005437')
+define(`TOSH_SMM', `0xc0047490')
+define(`TUNATTACHFILTER', `0x401054d5')
+define(`TUNDETACHFILTER', `0x401054d6')
+define(`TUNER_SET_CONFIG', `0x4010645c')
+define(`TUNGETFEATURES', `0x800454cf')
+define(`TUNGETFILTER', `0x801054db')
+define(`TUNGETIFF', `0x800454d2')
+define(`TUNGETSNDBUF', `0x800454d3')
+define(`TUNGETVNETHDRSZ', `0x800454d7')
+define(`TUNGETVNETLE', `0x800454dd')
+define(`TUNSETCARRIER', `0x400454e2')
+define(`TUNSETDEBUG', `0x400454c9')
+define(`TUNSETGROUP', `0x400454ce')
+define(`TUNSETIFF', `0x400454ca')
+define(`TUNSETIFINDEX', `0x400454da')
+define(`TUNSETLINK', `0x400454cd')
+define(`TUNSETNOCSUM', `0x400454c8')
+define(`TUNSETOFFLOAD', `0x400454d0')
+define(`TUNSETOWNER', `0x400454cc')
+define(`TUNSETPERSIST', `0x400454cb')
+define(`TUNSETQUEUE', `0x400454d9')
+define(`TUNSETSNDBUF', `0x400454d4')
+define(`TUNSETTXFILTER', `0x400454d1')
+define(`TUNSETVNETHDRSZ', `0x400454d8')
+define(`TUNSETVNETLE', `0x400454dc')
+define(`UBI_IOCATT', `0x40186f40')
+define(`UBI_IOCDET', `0x40046f41')
+define(`UBI_IOCEBCH', `0x40044f02')
+define(`UBI_IOCEBER', `0x40044f01')
+define(`UBI_IOCEBISMAP', `0x80044f05')
+define(`UBI_IOCEBMAP', `0x40084f03')
+define(`UBI_IOCEBUNMAP', `0x40044f04')
+define(`UBI_IOCMKVOL', `0x40986f00')
+define(`UBI_IOCRMVOL', `0x40046f01')
+define(`UBI_IOCRNVOL', `0x51106f03')
+define(`UBI_IOCRSVOL', `0x400c6f02')
+define(`UBI_IOCSETVOLPROP', `0x40104f06')
+define(`UBI_IOCVOLCRBLK', `0x40804f07')
+define(`UBI_IOCVOLRMBLK', `0x00004f08')
+define(`UBI_IOCVOLUP', `0x40084f00')
+define(`UDF_GETEABLOCK', `0x80086c41')
+define(`UDF_GETEASIZE', `0x80046c40')
+define(`UDF_GETVOLIDENT', `0x80086c42')
+define(`UDF_RELOCATE_BLOCKS', `0xc0086c43')
+define(`UI_BEGIN_FF_ERASE', `0xc00c55ca')
+define(`UI_BEGIN_FF_UPLOAD', `0xc06855c8')
+define(`UI_DEV_CREATE', `0x00005501')
+define(`UI_DEV_DESTROY', `0x00005502')
+define(`UI_END_FF_ERASE', `0x400c55cb')
+define(`UI_END_FF_UPLOAD', `0x406855c9')
+define(`UI_GET_VERSION', `0x8004552d')
+define(`UI_SET_ABSBIT', `0x40045567')
+define(`UI_SET_EVBIT', `0x40045564')
+define(`UI_SET_FFBIT', `0x4004556b')
+define(`UI_SET_KEYBIT', `0x40045565')
+define(`UI_SET_LEDBIT', `0x40045569')
+define(`UI_SET_MSCBIT', `0x40045568')
+define(`UI_SET_PHYS', `0x4008556c')
+define(`UI_SET_PROPBIT', `0x4004556e')
+define(`UI_SET_RELBIT', `0x40045566')
+define(`UI_SET_SNDBIT', `0x4004556a')
+define(`UI_SET_SWBIT', `0x4004556d')
+define(`UNPROTECT_ARRAY', `0x00000926')
+define(`USBDEVFS_ALLOC_STREAMS', `0x8008551c')
+define(`USBDEVFS_BULK', `0xc0185502')
+define(`USBDEVFS_BULK32', `0xc0105502')
+define(`USBDEVFS_CLAIMINTERFACE', `0x8004550f')
+define(`USBDEVFS_CLAIM_PORT', `0x80045518')
+define(`USBDEVFS_CLEAR_HALT', `0x80045515')
+define(`USBDEVFS_CONNECT', `0x00005517')
+define(`USBDEVFS_CONNECTINFO', `0x40085511')
+define(`USBDEVFS_CONTROL', `0xc0185500')
+define(`USBDEVFS_CONTROL32', `0xc0105500')
+define(`USBDEVFS_DISCARDURB', `0x0000550b')
+define(`USBDEVFS_DISCONNECT', `0x00005516')
+define(`USBDEVFS_DISCONNECT_CLAIM', `0x8108551b')
+define(`USBDEVFS_DISCSIGNAL', `0x8010550e')
+define(`USBDEVFS_DISCSIGNAL32', `0x8008550e')
+define(`USBDEVFS_FREE_STREAMS', `0x8008551d')
+define(`USBDEVFS_GET_CAPABILITIES', `0x8004551a')
+define(`USBDEVFS_GETDRIVER', `0x41045508')
+define(`USBDEVFS_HUB_PORTINFO', `0x80805513')
+define(`USBDEVFS_IOCTL', `0xc0105512')
+define(`USBDEVFS_IOCTL32', `0xc00c5512')
+define(`USBDEVFS_REAPURB', `0x4008550c')
+define(`USBDEVFS_REAPURB32', `0x4004550c')
+define(`USBDEVFS_REAPURBNDELAY', `0x4008550d')
+define(`USBDEVFS_REAPURBNDELAY32', `0x4004550d')
+define(`USBDEVFS_RELEASEINTERFACE', `0x80045510')
+define(`USBDEVFS_RELEASE_PORT', `0x80045519')
+define(`USBDEVFS_RESET', `0x00005514')
+define(`USBDEVFS_RESETEP', `0x80045503')
+define(`USBDEVFS_SETCONFIGURATION', `0x80045505')
+define(`USBDEVFS_SETINTERFACE', `0x80085504')
+define(`USBDEVFS_SUBMITURB', `0x8038550a')
+define(`USBDEVFS_SUBMITURB32', `0x802a550a')
+define(`USBTMC_IOCTL_ABORT_BULK_IN', `0x00005b04')
+define(`USBTMC_IOCTL_ABORT_BULK_OUT', `0x00005b03')
+define(`USBTMC_IOCTL_CLEAR', `0x00005b02')
+define(`USBTMC_IOCTL_CLEAR_IN_HALT', `0x00005b07')
+define(`USBTMC_IOCTL_CLEAR_OUT_HALT', `0x00005b06')
+define(`USBTMC_IOCTL_INDICATOR_PULSE', `0x00005b01')
+define(`UVCIOC_CTRL_MAP', `0xc0607520')
+define(`UVCIOC_CTRL_QUERY', `0xc0107521')
+define(`V4L2_SUBDEV_IR_RX_NOTIFY', `0x40047600')
+define(`V4L2_SUBDEV_IR_TX_NOTIFY', `0x40047601')
+define(`VFAT_IOCTL_READDIR_BOTH', `0x82307201')
+define(`VFAT_IOCTL_READDIR_SHORT', `0x82307202')
+define(`VFIO_CHECK_EXTENSION', `0x00003b65')
+define(`VFIO_DEVICE_GET_INFO', `0x00003b6b')
+define(`VFIO_DEVICE_GET_IRQ_INFO', `0x00003b6d')
+define(`VFIO_DEVICE_GET_PCI_HOT_RESET_INFO', `0x00003b70')
+define(`VFIO_DEVICE_GET_REGION_INFO', `0x00003b6c')
+define(`VFIO_DEVICE_PCI_HOT_RESET', `0x00003b71')
+define(`VFIO_DEVICE_RESET', `0x00003b6f')
+define(`VFIO_DEVICE_SET_IRQS', `0x00003b6e')
+define(`VFIO_EEH_PE_OP', `0x00003b79')
+define(`VFIO_GET_API_VERSION', `0x00003b64')
+define(`VFIO_GROUP_GET_DEVICE_FD', `0x00003b6a')
+define(`VFIO_GROUP_GET_STATUS', `0x00003b67')
+define(`VFIO_GROUP_SET_CONTAINER', `0x00003b68')
+define(`VFIO_GROUP_UNSET_CONTAINER', `0x00003b69')
+define(`VFIO_IOMMU_DISABLE', `0x00003b74')
+define(`VFIO_IOMMU_ENABLE', `0x00003b73')
+define(`VFIO_IOMMU_GET_INFO', `0x00003b70')
+define(`VFIO_IOMMU_MAP_DMA', `0x00003b71')
+define(`VFIO_IOMMU_SPAPR_TCE_GET_INFO', `0x00003b70')
+define(`VFIO_IOMMU_UNMAP_DMA', `0x00003b72')
+define(`VFIO_SET_IOMMU', `0x00003b66')
+define(`VHOST_GET_FEATURES', `0x8008af00')
+define(`VHOST_GET_VRING_BASE', `0xc008af12')
+define(`VHOST_NET_SET_BACKEND', `0x4008af30')
+define(`VHOST_RESET_OWNER', `0x0000af02')
+define(`VHOST_SCSI_CLEAR_ENDPOINT', `0x40e8af41')
+define(`VHOST_SCSI_GET_ABI_VERSION', `0x4004af42')
+define(`VHOST_SCSI_GET_EVENTS_MISSED', `0x4004af44')
+define(`VHOST_SCSI_SET_ENDPOINT', `0x40e8af40')
+define(`VHOST_SCSI_SET_EVENTS_MISSED', `0x4004af43')
+define(`VHOST_SET_FEATURES', `0x4008af00')
+define(`VHOST_SET_LOG_BASE', `0x4008af04')
+define(`VHOST_SET_LOG_FD', `0x4004af07')
+define(`VHOST_SET_MEM_TABLE', `0x4008af03')
+define(`VHOST_SET_OWNER', `0x0000af01')
+define(`VHOST_SET_VRING_ADDR', `0x4028af11')
+define(`VHOST_SET_VRING_BASE', `0x4008af12')
+define(`VHOST_SET_VRING_CALL', `0x4008af21')
+define(`VHOST_SET_VRING_ERR', `0x4008af22')
+define(`VHOST_SET_VRING_KICK', `0x4008af20')
+define(`VHOST_SET_VRING_NUM', `0x4008af10')
+define(`VIDEO_CLEAR_BUFFER', `0x00006f22')
+define(`VIDEO_COMMAND', `0xc0486f3b')
+define(`VIDEO_CONTINUE', `0x00006f18')
+define(`VIDEO_FAST_FORWARD', `0x00006f1f')
+define(`VIDEO_FREEZE', `0x00006f17')
+define(`VIDEO_GET_CAPABILITIES', `0x80046f21')
+define(`VIDEO_GET_EVENT', `0x80206f1c')
+define(`VIDEO_GET_FRAME_COUNT', `0x80086f3a')
+define(`VIDEO_GET_FRAME_RATE', `0x80046f38')
+define(`VIDEO_GET_NAVI', `0x84046f34')
+define(`VIDEO_GET_PTS', `0x80086f39')
+define(`VIDEO_GET_SIZE', `0x800c6f37')
+define(`VIDEO_GET_STATUS', `0x80146f1b')
+define(`VIDEO_PLAY', `0x00006f16')
+define(`VIDEO_SELECT_SOURCE', `0x00006f19')
+define(`VIDEO_SET_ATTRIBUTES', `0x00006f35')
+define(`VIDEO_SET_BLANK', `0x00006f1a')
+define(`VIDEO_SET_DISPLAY_FORMAT', `0x00006f1d')
+define(`VIDEO_SET_FORMAT', `0x00006f25')
+define(`VIDEO_SET_HIGHLIGHT', `0x40106f27')
+define(`VIDEO_SET_ID', `0x00006f23')
+define(`VIDEO_SET_SPU', `0x40086f32')
+define(`VIDEO_SET_SPU_PALETTE', `0x40106f33')
+define(`VIDEO_SET_STREAMTYPE', `0x00006f24')
+define(`VIDEO_SET_SYSTEM', `0x00006f26')
+define(`VIDEO_SLOWMOTION', `0x00006f20')
+define(`VIDEO_STILLPICTURE', `0x40106f1e')
+define(`VIDEO_STOP', `0x00006f15')
+define(`VIDEO_TRY_COMMAND', `0xc0486f3c')
+define(`VIDIOC_CREATE_BUFS', `0xc100565c')
+define(`VIDIOC_CROPCAP', `0xc02c563a')
+define(`VIDIOC_DBG_G_CHIP_INFO', `0xc0c85666')
+define(`VIDIOC_DBG_G_REGISTER', `0xc0385650')
+define(`VIDIOC_DBG_S_REGISTER', `0x4038564f')
+define(`VIDIOC_DECODER_CMD', `0xc0485660')
+define(`VIDIOC_DQBUF', `0xc0585611')
+define(`VIDIOC_DQEVENT', `0x80885659')
+define(`VIDIOC_DV_TIMINGS_CAP', `0xc0905664')
+define(`VIDIOC_ENCODER_CMD', `0xc028564d')
+define(`VIDIOC_ENUMAUDIO', `0xc0345641')
+define(`VIDIOC_ENUMAUDOUT', `0xc0345642')
+define(`VIDIOC_ENUM_DV_TIMINGS', `0xc0945662')
+define(`VIDIOC_ENUM_FMT', `0xc0405602')
+define(`VIDIOC_ENUM_FRAMEINTERVALS', `0xc034564b')
+define(`VIDIOC_ENUM_FRAMESIZES', `0xc02c564a')
+define(`VIDIOC_ENUM_FREQ_BANDS', `0xc0405665')
+define(`VIDIOC_ENUMINPUT', `0xc050561a')
+define(`VIDIOC_ENUMOUTPUT', `0xc0485630')
+define(`VIDIOC_ENUMSTD', `0xc0485619')
+define(`VIDIOC_EXPBUF', `0xc0405610')
+define(`VIDIOC_G_AUDIO', `0x80345621')
+define(`VIDIOC_G_AUDOUT', `0x80345631')
+define(`VIDIOC_G_CROP', `0xc014563b')
+define(`VIDIOC_G_CTRL', `0xc008561b')
+define(`VIDIOC_G_DV_TIMINGS', `0xc0845658')
+define(`VIDIOC_G_EDID', `0xc0285628')
+define(`VIDIOC_G_ENC_INDEX', `0x8818564c')
+define(`VIDIOC_G_EXT_CTRLS', `0xc0205647')
+define(`VIDIOC_G_FBUF', `0x8030560a')
+define(`VIDIOC_G_FMT', `0xc0d05604')
+define(`VIDIOC_G_FREQUENCY', `0xc02c5638')
+define(`VIDIOC_G_INPUT', `0x80045626')
+define(`VIDIOC_G_JPEGCOMP', `0x808c563d')
+define(`VIDIOC_G_MODULATOR', `0xc0445636')
+define(`VIDIOC_G_OUTPUT', `0x8004562e')
+define(`VIDIOC_G_PARM', `0xc0cc5615')
+define(`VIDIOC_G_PRIORITY', `0x80045643')
+define(`VIDIOC_G_SELECTION', `0xc040565e')
+define(`VIDIOC_G_SLICED_VBI_CAP', `0xc0745645')
+define(`VIDIOC_G_STD', `0x80085617')
+define(`VIDIOC_G_TUNER', `0xc054561d')
+define(`VIDIOC_INT_RESET', `0x40046466')
+define(`VIDIOC_LOG_STATUS', `0x00005646')
+define(`VIDIOC_OMAP3ISP_AEWB_CFG', `0xc02056c3')
+define(`VIDIOC_OMAP3ISP_AF_CFG', `0xc04c56c5')
+define(`VIDIOC_OMAP3ISP_CCDC_CFG', `0xc03856c1')
+define(`VIDIOC_OMAP3ISP_HIST_CFG', `0xc03056c4')
+define(`VIDIOC_OMAP3ISP_PRV_CFG', `0xc07056c2')
+define(`VIDIOC_OMAP3ISP_STAT_EN', `0xc00856c7')
+define(`VIDIOC_OMAP3ISP_STAT_REQ', `0xc02856c6')
+define(`VIDIOC_OVERLAY', `0x4004560e')
+define(`VIDIOC_PREPARE_BUF', `0xc058565d')
+define(`VIDIOC_QBUF', `0xc058560f')
+define(`VIDIOC_QUERYBUF', `0xc0585609')
+define(`VIDIOC_QUERYCAP', `0x80685600')
+define(`VIDIOC_QUERYCTRL', `0xc0445624')
+define(`VIDIOC_QUERY_DV_TIMINGS', `0x80845663')
+define(`VIDIOC_QUERY_EXT_CTRL', `0xc0e85667')
+define(`VIDIOC_QUERYMENU', `0xc02c5625')
+define(`VIDIOC_QUERYSTD', `0x8008563f')
+define(`VIDIOC_REQBUFS', `0xc0145608')
+define(`VIDIOC_RESERVED', `0x00005601')
+define(`VIDIOC_S_AUDIO', `0x40345622')
+define(`VIDIOC_S_AUDOUT', `0x40345632')
+define(`VIDIOC_S_CROP', `0x4014563c')
+define(`VIDIOC_S_CTRL', `0xc008561c')
+define(`VIDIOC_S_DV_TIMINGS', `0xc0845657')
+define(`VIDIOC_S_EDID', `0xc0285629')
+define(`VIDIOC_S_EXT_CTRLS', `0xc0205648')
+define(`VIDIOC_S_FBUF', `0x4030560b')
+define(`VIDIOC_S_FMT', `0xc0d05605')
+define(`VIDIOC_S_FREQUENCY', `0x402c5639')
+define(`VIDIOC_S_HW_FREQ_SEEK', `0x40305652')
+define(`VIDIOC_S_INPUT', `0xc0045627')
+define(`VIDIOC_S_JPEGCOMP', `0x408c563e')
+define(`VIDIOC_S_MODULATOR', `0x40445637')
+define(`VIDIOC_S_OUTPUT', `0xc004562f')
+define(`VIDIOC_S_PARM', `0xc0cc5616')
+define(`VIDIOC_S_PRIORITY', `0x40045644')
+define(`VIDIOC_S_SELECTION', `0xc040565f')
+define(`VIDIOC_S_STD', `0x40085618')
+define(`VIDIOC_STREAMOFF', `0x40045613')
+define(`VIDIOC_STREAMON', `0x40045612')
+define(`VIDIOC_S_TUNER', `0x4054561e')
+define(`VIDIOC_SUBDEV_DV_TIMINGS_CAP', `0xc0905664')
+define(`VIDIOC_SUBDEV_ENUM_DV_TIMINGS', `0xc0945662')
+define(`VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL', `0xc040564b')
+define(`VIDIOC_SUBDEV_ENUM_FRAME_SIZE', `0xc040564a')
+define(`VIDIOC_SUBDEV_ENUM_MBUS_CODE', `0xc0305602')
+define(`VIDIOC_SUBDEV_G_CROP', `0xc038563b')
+define(`VIDIOC_SUBDEV_G_DV_TIMINGS', `0xc0845658')
+define(`VIDIOC_SUBDEV_G_EDID', `0xc0285628')
+define(`VIDIOC_SUBDEV_G_FMT', `0xc0585604')
+define(`VIDIOC_SUBDEV_G_FRAME_INTERVAL', `0xc0305615')
+define(`VIDIOC_SUBDEV_G_SELECTION', `0xc040563d')
+define(`VIDIOC_SUBDEV_QUERY_DV_TIMINGS', `0x80845663')
+define(`VIDIOC_SUBDEV_S_CROP', `0xc038563c')
+define(`VIDIOC_SUBDEV_S_DV_TIMINGS', `0xc0845657')
+define(`VIDIOC_SUBDEV_S_EDID', `0xc0285629')
+define(`VIDIOC_SUBDEV_S_FMT', `0xc0585605')
+define(`VIDIOC_SUBDEV_S_FRAME_INTERVAL', `0xc0305616')
+define(`VIDIOC_SUBDEV_S_SELECTION', `0xc040563e')
+define(`VIDIOC_SUBSCRIBE_EVENT', `0x4020565a')
+define(`VIDIOC_TRY_DECODER_CMD', `0xc0485661')
+define(`VIDIOC_TRY_ENCODER_CMD', `0xc028564e')
+define(`VIDIOC_TRY_EXT_CTRLS', `0xc0205649')
+define(`VIDIOC_TRY_FMT', `0xc0d05640')
+define(`VIDIOC_UNSUBSCRIBE_EVENT', `0x4020565b')
+define(`VIDIOC_VSP1_LUT_CONFIG', `0xc40056c1')
+define(`VPFE_CMD_S_CCDC_RAW_PARAMS', `0x400856c1')
+define(`VT_ACTIVATE', `0x00005606')
+define(`VT_DISALLOCATE', `0x00005608')
+define(`VT_GETHIFONTMASK', `0x0000560d')
+define(`VT_GETMODE', `0x00005601')
+define(`VT_GETSTATE', `0x00005603')
+define(`VT_LOCKSWITCH', `0x0000560b')
+define(`VT_OPENQRY', `0x00005600')
+define(`VT_RELDISP', `0x00005605')
+define(`VT_RESIZE', `0x00005609')
+define(`VT_RESIZEX', `0x0000560a')
+define(`VT_SENDSIG', `0x00005604')
+define(`VT_SETACTIVATE', `0x0000560f')
+define(`VT_SETMODE', `0x00005602')
+define(`VT_UNLOCKSWITCH', `0x0000560c')
+define(`VT_WAITACTIVE', `0x00005607')
+define(`VT_WAITEVENT', `0x0000560e')
+define(`WAN_IOC_ADD_FLT_INDEX', `0x00006902')
+define(`WAN_IOC_ADD_FLT_RULE', `0x00006900')
+define(`WDIOC_GETBOOTSTATUS', `0x80045702')
+define(`WDIOC_GETPRETIMEOUT', `0x80045709')
+define(`WDIOC_GETSTATUS', `0x80045701')
+define(`WDIOC_GETSUPPORT', `0x80285700')
+define(`WDIOC_GETTEMP', `0x80045703')
+define(`WDIOC_GETTIMELEFT', `0x8004570a')
+define(`WDIOC_GETTIMEOUT', `0x80045707')
+define(`WDIOC_KEEPALIVE', `0x80045705')
+define(`WDIOC_SETOPTIONS', `0x80045704')
+define(`WDIOC_SETPRETIMEOUT', `0xc0045708')
+define(`WDIOC_SETTIMEOUT', `0xc0045706')
+define(`WRITE_RAID_INFO', `0x00000925')
+define(`X86_IOC_RDMSR_REGS', `0xc02063a0')
+define(`X86_IOC_WRMSR_REGS', `0xc02063a1')
+define(`ZATM_GETPOOL', `0x40106161')
+define(`ZATM_GETPOOLZ', `0x40106162')
+define(`ZATM_SETPOOL', `0x40106163')
diff --git a/prebuilts/api/202504/public/ioctl_macros b/prebuilts/api/202504/public/ioctl_macros
new file mode 100644
index 0000000..64ee1b0
--- /dev/null
+++ b/prebuilts/api/202504/public/ioctl_macros
@@ -0,0 +1,77 @@
+# socket ioctls allowed to unprivileged apps
+define(`unpriv_sock_ioctls', `
+{
+# Socket ioctls for gathering information about the interface
+SIOCGSTAMP SIOCGSTAMPNS
+SIOCGIFNAME SIOCGIFCONF SIOCGIFFLAGS SIOCGIFADDR SIOCGIFDSTADDR SIOCGIFBRDADDR
+SIOCGIFNETMASK SIOCGIFMTU SIOCGIFINDEX SIOCGIFCOUNT SIOCGIFTXQLEN
+# Wireless extension ioctls. Primarily get functions.
+SIOCGIWNAME SIOCGIWFREQ SIOCGIWMODE SIOCGIWSENS SIOCGIWRANGE SIOCGIWPRIV
+SIOCGIWSTATS SIOCGIWSPY SIOCSIWTHRSPY SIOCGIWTHRSPY SIOCGIWRATE SIOCGIWRTS
+SIOCGIWFRAG SIOCGIWTXPOW SIOCGIWRETRY SIOCGIWPOWER
+}')
+
+# socket ioctls never allowed to unprivileged apps
+define(`priv_sock_ioctls', `
+{
+# qualcomm rmnet ioctls
+WAN_IOC_ADD_FLT_RULE WAN_IOC_ADD_FLT_INDEX
+# socket ioctls
+SIOCADDRT SIOCDELRT SIOCRTMSG SIOCSIFLINK SIOCSIFFLAGS SIOCSIFADDR
+SIOCSIFDSTADDR SIOCSIFBRDADDR SIOCSIFNETMASK SIOCGIFMETRIC SIOCSIFMETRIC SIOCGIFMEM
+SIOCSIFMEM SIOCSIFMTU SIOCSIFNAME SIOCSIFHWADDR SIOCGIFENCAP SIOCSIFENCAP
+SIOCGIFHWADDR SIOCGIFSLAVE SIOCSIFSLAVE SIOCADDMULTI SIOCDELMULTI
+SIOCSIFPFLAGS SIOCGIFPFLAGS SIOCDIFADDR SIOCSIFHWBROADCAST SIOCKILLADDR SIOCGIFBR SIOCSIFBR
+SIOCSIFTXQLEN SIOCETHTOOL SIOCGMIIPHY SIOCGMIIREG SIOCSMIIREG SIOCWANDEV
+SIOCOUTQNSD SIOCDARP SIOCGARP SIOCSARP SIOCDRARP SIOCGRARP SIOCSRARP SIOCGIFMAP
+SIOCSIFMAP SIOCADDDLCI SIOCDELDLCI SIOCGIFVLAN SIOCSIFVLAN SIOCBONDENSLAVE
+SIOCBONDRELEASE SIOCBONDSETHWADDR SIOCBONDSLAVEINFOQUERY SIOCBONDINFOQUERY
+SIOCBONDCHANGEACTIVE SIOCBRADDBR SIOCBRDELBR SIOCBRADDIF SIOCBRDELIF SIOCSHWTSTAMP
+# device and protocol specific ioctls
+SIOCDEVPRIVATE-SIOCDEVPRIVLAST
+SIOCPROTOPRIVATE-SIOCPROTOPRIVLAST
+# Wireless extension ioctls
+SIOCSIWCOMMIT SIOCSIWNWID SIOCSIWFREQ SIOCSIWMODE SIOCSIWSENS SIOCSIWRANGE
+SIOCSIWPRIV SIOCSIWSTATS SIOCSIWSPY SIOCSIWAP SIOCGIWAP SIOCSIWMLME SIOCGIWAPLIST
+SIOCSIWSCAN SIOCGIWSCAN SIOCSIWESSID SIOCGIWESSID SIOCSIWNICKN SIOCGIWNICKN
+SIOCSIWRATE SIOCSIWRTS SIOCSIWFRAG SIOCSIWTXPOW SIOCSIWRETRY SIOCSIWENCODE
+SIOCGIWENCODE SIOCSIWPOWER SIOCSIWGENIE SIOCGIWGENIE SIOCSIWAUTH SIOCGIWAUTH
+SIOCSIWENCODEEXT SIOCGIWENCODEEXT SIOCSIWPMKSA
+# Dev private ioctl i.e. hardware specific ioctls
+SIOCIWFIRSTPRIV-SIOCIWLASTPRIV
+}')
+
+# commonly used ioctls on unix sockets
+define(`unpriv_unix_sock_ioctls', `{
+  TIOCOUTQ FIOCLEX FIONCLEX TCGETS TIOCGWINSZ TIOCSWINSZ FIONREAD
+}')
+
+# commonly used TTY ioctls
+# merge with unpriv_unix_sock_ioctls?
+define(`unpriv_tty_ioctls', `{
+  TIOCOUTQ FIOCLEX FIONCLEX TCGETS TCSETS TCSETSW TCSETSF TIOCGWINSZ TIOCSWINSZ
+  TIOCSCTTY TCFLSH TIOCSPGRP TIOCGPGRP
+}')
+
+# point to point ioctls
+define(`ppp_ioctls', `{
+PPPIOCGL2TPSTATS PPPIOCGCHAN PPPIOCATTCHAN PPPIOCDISCONN
+PPPIOCCONNECT PPPIOCSMRRU PPPIOCDETACH PPPIOCATTACH
+PPPIOCNEWUNIT PPPIOCGIDLE PPPIOCSDEBUG PPPIOCGDEBUG
+PPPIOCSACTIVE PPPIOCSPASS PPPIOCSNPMODE PPPIOCGNPMODE
+PPPIOCSCOMPRESS PPPIOCXFERUNIT PPPIOCSXASYNCMAP
+PPPIOCGXASYNCMAP PPPIOCSMAXCID PPPIOCSMRU PPPIOCGMRU
+PPPIOCSRASYNCMAP PPPIOCGRASYNCMAP PPPIOCGUNIT PPPIOCSASYNCMAP
+PPPIOCGASYNCMAP PPPIOCSFLAGS PPPIOCGFLAGS PPPIOCGCALLINFO
+PPPIOCBUNDLE PPPIOCGMPFLAGS PPPIOCSMPFLAGS PPPIOCSMPMTU
+PPPIOCSMPMRU PPPIOCGCOMPRESSORS PPPIOCSCOMPRESSOR PPPIOCGIFNAME
+}')
+
+# unprivileged binder ioctls
+define(`unpriv_binder_ioctls', `{
+BINDER_WRITE_READ BINDER_SET_IDLE_TIMEOUT BINDER_SET_MAX_THREADS
+BINDER_SET_IDLE_PRIORITY BINDER_SET_CONTEXT_MGR BINDER_THREAD_EXIT
+BINDER_VERSION BINDER_GET_NODE_DEBUG_INFO BINDER_GET_NODE_INFO_FOR_REF
+BINDER_SET_CONTEXT_MGR_EXT BINDER_ENABLE_ONEWAY_SPAM_DETECTION
+BINDER_GET_EXTENDED_ERROR
+}')
diff --git a/prebuilts/api/202504/public/isolated_app.te b/prebuilts/api/202504/public/isolated_app.te
new file mode 100644
index 0000000..b231df7
--- /dev/null
+++ b/prebuilts/api/202504/public/isolated_app.te
@@ -0,0 +1,13 @@
+###
+### Services with isolatedProcess=true in their manifest.
+###
+### This file defines the rules for isolated apps. An "isolated
+### app" is an APP with UID between AID_ISOLATED_START (99000)
+### and AID_ISOLATED_END (99999).
+###
+
+type isolated_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/isolated_compute_app.te b/prebuilts/api/202504/public/isolated_compute_app.te
new file mode 100644
index 0000000..4bfadaa
--- /dev/null
+++ b/prebuilts/api/202504/public/isolated_compute_app.te
@@ -0,0 +1,5 @@
+type isolated_compute_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/kernel.te b/prebuilts/api/202504/public/kernel.te
new file mode 100644
index 0000000..c3fcdad
--- /dev/null
+++ b/prebuilts/api/202504/public/kernel.te
@@ -0,0 +1,6 @@
+# Life begins with the kernel.
+type kernel, domain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/keystore.te b/prebuilts/api/202504/public/keystore.te
new file mode 100644
index 0000000..34b6c95
--- /dev/null
+++ b/prebuilts/api/202504/public/keystore.te
@@ -0,0 +1,7 @@
+# keystore daemon
+type keystore, domain, keystore2_key_type;
+type keystore_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/keystore_keys.te b/prebuilts/api/202504/public/keystore_keys.te
new file mode 100644
index 0000000..370be4c
--- /dev/null
+++ b/prebuilts/api/202504/public/keystore_keys.te
@@ -0,0 +1,6 @@
+# A keystore2 namespace for WI-FI.
+type wifi_key, keystore2_key_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/llkd.te b/prebuilts/api/202504/public/llkd.te
new file mode 100644
index 0000000..d678c3c
--- /dev/null
+++ b/prebuilts/api/202504/public/llkd.te
@@ -0,0 +1,7 @@
+# llkd Live LocK Daemon
+type llkd, domain, mlstrustedsubject;
+type llkd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/lmkd.te b/prebuilts/api/202504/public/lmkd.te
new file mode 100644
index 0000000..7d05b00
--- /dev/null
+++ b/prebuilts/api/202504/public/lmkd.te
@@ -0,0 +1,7 @@
+# lmkd low memory killer daemon
+type lmkd, domain, mlstrustedsubject;
+type lmkd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/logd.te b/prebuilts/api/202504/public/logd.te
new file mode 100644
index 0000000..a33ebd5
--- /dev/null
+++ b/prebuilts/api/202504/public/logd.te
@@ -0,0 +1,7 @@
+# android user-space log manager
+type logd, domain, mlstrustedsubject;
+type logd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/logpersist.te b/prebuilts/api/202504/public/logpersist.te
new file mode 100644
index 0000000..2936584
--- /dev/null
+++ b/prebuilts/api/202504/public/logpersist.te
@@ -0,0 +1,6 @@
+# android debug logging, logpersist domains
+type logpersist, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mdnsd.te b/prebuilts/api/202504/public/mdnsd.te
new file mode 100644
index 0000000..c36f5e6
--- /dev/null
+++ b/prebuilts/api/202504/public/mdnsd.te
@@ -0,0 +1,6 @@
+# mdns daemon
+type mdnsd, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediadrmserver.te b/prebuilts/api/202504/public/mediadrmserver.te
new file mode 100644
index 0000000..f647529
--- /dev/null
+++ b/prebuilts/api/202504/public/mediadrmserver.te
@@ -0,0 +1,7 @@
+# mediadrmserver - mediadrm daemon
+type mediadrmserver, domain;
+type mediadrmserver_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediaextractor.te b/prebuilts/api/202504/public/mediaextractor.te
new file mode 100644
index 0000000..0943ea3
--- /dev/null
+++ b/prebuilts/api/202504/public/mediaextractor.te
@@ -0,0 +1,8 @@
+# mediaextractor - multimedia daemon
+type mediaextractor, domain;
+type mediaextractor_exec, system_file_type, exec_type, file_type;
+type mediaextractor_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediametrics.te b/prebuilts/api/202504/public/mediametrics.te
new file mode 100644
index 0000000..34a1415
--- /dev/null
+++ b/prebuilts/api/202504/public/mediametrics.te
@@ -0,0 +1,7 @@
+# mediametrics - daemon for collecting media.metrics data
+type mediametrics, domain;
+type mediametrics_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediaprovider.te b/prebuilts/api/202504/public/mediaprovider.te
new file mode 100644
index 0000000..61dbf4c
--- /dev/null
+++ b/prebuilts/api/202504/public/mediaprovider.te
@@ -0,0 +1,10 @@
+###
+### A domain for android.process.media, which contains both
+### MediaProvider and DownloadProvider and associated services.
+###
+
+type mediaprovider, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediaserver.te b/prebuilts/api/202504/public/mediaserver.te
new file mode 100644
index 0000000..8be8627
--- /dev/null
+++ b/prebuilts/api/202504/public/mediaserver.te
@@ -0,0 +1,8 @@
+# mediaserver - multimedia daemon
+type mediaserver, domain;
+type mediaserver_exec, system_file_type, exec_type, file_type;
+type mediaserver_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediaswcodec.te b/prebuilts/api/202504/public/mediaswcodec.te
new file mode 100644
index 0000000..4e131d3
--- /dev/null
+++ b/prebuilts/api/202504/public/mediaswcodec.te
@@ -0,0 +1,6 @@
+type mediaswcodec, domain;
+type mediaswcodec_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mediatranscoding.te b/prebuilts/api/202504/public/mediatranscoding.te
new file mode 100644
index 0000000..cd4a2ac
--- /dev/null
+++ b/prebuilts/api/202504/public/mediatranscoding.te
@@ -0,0 +1,5 @@
+type mediatranscoding, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/modprobe.te b/prebuilts/api/202504/public/modprobe.te
new file mode 100644
index 0000000..6964fee
--- /dev/null
+++ b/prebuilts/api/202504/public/modprobe.te
@@ -0,0 +1,5 @@
+type modprobe, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/mtp.te b/prebuilts/api/202504/public/mtp.te
new file mode 100644
index 0000000..165c43e
--- /dev/null
+++ b/prebuilts/api/202504/public/mtp.te
@@ -0,0 +1,6 @@
+# vpn tunneling protocol manager
+type mtp, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/net.te b/prebuilts/api/202504/public/net.te
new file mode 100644
index 0000000..414b5bf
--- /dev/null
+++ b/prebuilts/api/202504/public/net.te
@@ -0,0 +1,8 @@
+## Network types
+type node, node_type;
+type netif, netif_type;
+type port, port_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/netd.te b/prebuilts/api/202504/public/netd.te
new file mode 100644
index 0000000..bfb3059
--- /dev/null
+++ b/prebuilts/api/202504/public/netd.te
@@ -0,0 +1,7 @@
+# network manager
+type netd, domain, mlstrustedsubject;
+type netd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/netutils_wrapper.te b/prebuilts/api/202504/public/netutils_wrapper.te
new file mode 100644
index 0000000..d53f152
--- /dev/null
+++ b/prebuilts/api/202504/public/netutils_wrapper.te
@@ -0,0 +1,6 @@
+type netutils_wrapper, domain;
+type netutils_wrapper_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/network_stack.te b/prebuilts/api/202504/public/network_stack.te
new file mode 100644
index 0000000..f909be3
--- /dev/null
+++ b/prebuilts/api/202504/public/network_stack.te
@@ -0,0 +1,6 @@
+# Network stack service app
+type network_stack, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/neverallow_macros b/prebuilts/api/202504/public/neverallow_macros
new file mode 100644
index 0000000..59fa441
--- /dev/null
+++ b/prebuilts/api/202504/public/neverallow_macros
@@ -0,0 +1,15 @@
+#
+# Common neverallow permissions
+define(`no_w_file_perms', `{ append create link unlink relabelfrom rename setattr write }')
+define(`no_rw_file_perms', `{ no_w_file_perms open read ioctl lock watch watch_mount watch_sb watch_with_perm watch_reads }')
+define(`no_x_file_perms', `{ execute execute_no_trans }')
+define(`no_w_dir_perms',  `{ add_name create link relabelfrom remove_name rename reparent rmdir setattr write }')
+
+#####################################
+# neverallow_establish_socket_comms(src, dst)
+# neverallow src domain establishing socket connections to dst domain.
+#
+define(`neverallow_establish_socket_comms', `
+  neverallow $1 $2:socket_class_set { connect sendto };
+  neverallow $1 $2:unix_stream_socket connectto;
+')
diff --git a/prebuilts/api/202504/public/nfc.te b/prebuilts/api/202504/public/nfc.te
new file mode 100644
index 0000000..a6e5160
--- /dev/null
+++ b/prebuilts/api/202504/public/nfc.te
@@ -0,0 +1,6 @@
+# nfc subsystem
+type nfc, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/otapreopt_chroot.te b/prebuilts/api/202504/public/otapreopt_chroot.te
new file mode 100644
index 0000000..eb340c8
--- /dev/null
+++ b/prebuilts/api/202504/public/otapreopt_chroot.te
@@ -0,0 +1,8 @@
+# otapreopt_chroot seclabel
+
+# TODO: Only present to allow mediatek/wembley-sepolicy to see it for validation reasons.
+until_board_api(202504, `type otapreopt_chroot, domain;')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/perfetto.te b/prebuilts/api/202504/public/perfetto.te
new file mode 100644
index 0000000..6da515a
--- /dev/null
+++ b/prebuilts/api/202504/public/perfetto.te
@@ -0,0 +1,5 @@
+type perfetto, domain, coredomain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/performanced.te b/prebuilts/api/202504/public/performanced.te
new file mode 100644
index 0000000..8da3b49
--- /dev/null
+++ b/prebuilts/api/202504/public/performanced.te
@@ -0,0 +1,7 @@
+# performanced
+type performanced, domain, mlstrustedsubject;
+type performanced_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/platform_app.te b/prebuilts/api/202504/public/platform_app.te
new file mode 100644
index 0000000..035a3ef
--- /dev/null
+++ b/prebuilts/api/202504/public/platform_app.te
@@ -0,0 +1,9 @@
+###
+### Apps signed with the platform key.
+###
+
+type platform_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/postinstall.te b/prebuilts/api/202504/public/postinstall.te
new file mode 100644
index 0000000..38b120f
--- /dev/null
+++ b/prebuilts/api/202504/public/postinstall.te
@@ -0,0 +1,8 @@
+# Domain where the postinstall program runs during the update.
+# Extend the permissions in this domain to allow this program to access other
+# files needed by the specific device on your device's sepolicy directory.
+type postinstall, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/ppp.te b/prebuilts/api/202504/public/ppp.te
new file mode 100644
index 0000000..892b614
--- /dev/null
+++ b/prebuilts/api/202504/public/ppp.te
@@ -0,0 +1,6 @@
+# Point to Point Protocol daemon
+type ppp, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/priv_app.te b/prebuilts/api/202504/public/priv_app.te
new file mode 100644
index 0000000..03a8c09
--- /dev/null
+++ b/prebuilts/api/202504/public/priv_app.te
@@ -0,0 +1,9 @@
+###
+### A domain for further sandboxing privileged apps.
+###
+
+type priv_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/prng_seeder.te b/prebuilts/api/202504/public/prng_seeder.te
new file mode 100644
index 0000000..ae1a2c1
--- /dev/null
+++ b/prebuilts/api/202504/public/prng_seeder.te
@@ -0,0 +1,6 @@
+# PRNG seeder daemon
+type prng_seeder, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/profman.te b/prebuilts/api/202504/public/profman.te
new file mode 100644
index 0000000..34ae4a1
--- /dev/null
+++ b/prebuilts/api/202504/public/profman.te
@@ -0,0 +1,7 @@
+# profman
+type profman, domain;
+type profman_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/property.te b/prebuilts/api/202504/public/property.te
new file mode 100644
index 0000000..c6c56a9
--- /dev/null
+++ b/prebuilts/api/202504/public/property.te
@@ -0,0 +1,367 @@
+# Properties used only in /system
+#
+# DO NOT ADD system_internal_prop here.
+# Instead, add to private/property.te.
+# TODO(b/150331497): move these to private/property.te
+system_internal_prop(apexd_prop)
+system_internal_prop(bootloader_boot_reason_prop)
+system_internal_prop(device_config_activity_manager_native_boot_prop)
+system_internal_prop(device_config_boot_count_prop)
+system_internal_prop(device_config_input_native_boot_prop)
+system_internal_prop(device_config_netd_native_prop)
+system_internal_prop(device_config_reset_performed_prop)
+system_internal_prop(firstboot_prop)
+
+compatible_property_only(`
+    # DO NOT ADD ANY PROPERTIES HERE
+    system_internal_prop(boottime_prop)
+    system_internal_prop(charger_prop)
+    system_internal_prop(cold_boot_done_prop)
+    system_internal_prop(ctl_adbd_prop)
+    system_internal_prop(ctl_apexd_prop)
+    system_internal_prop(ctl_bootanim_prop)
+    system_internal_prop(ctl_bugreport_prop)
+    system_internal_prop(ctl_console_prop)
+    system_internal_prop(ctl_dumpstate_prop)
+    system_internal_prop(ctl_fuse_prop)
+    system_internal_prop(ctl_gsid_prop)
+    system_internal_prop(ctl_interface_restart_prop)
+    system_internal_prop(ctl_interface_stop_prop)
+    system_internal_prop(ctl_mdnsd_prop)
+    system_internal_prop(ctl_restart_prop)
+    system_internal_prop(ctl_rildaemon_prop)
+    system_internal_prop(ctl_sigstop_prop)
+    system_internal_prop(dynamic_system_prop)
+    system_internal_prop(heapprofd_enabled_prop)
+    system_internal_prop(llkd_prop)
+    system_internal_prop(lpdumpd_prop)
+    system_internal_prop(mmc_prop)
+    system_internal_prop(mock_ota_prop)
+    system_internal_prop(net_dns_prop)
+    system_internal_prop(overlay_prop)
+    system_internal_prop(persistent_properties_ready_prop)
+    system_internal_prop(safemode_prop)
+    system_internal_prop(system_lmk_prop)
+    system_internal_prop(system_trace_prop)
+    system_internal_prop(test_boot_reason_prop)
+    system_internal_prop(time_prop)
+    system_internal_prop(traced_enabled_prop)
+    system_internal_prop(traced_lazy_prop)
+')
+
+# Properties which can't be written outside system
+system_restricted_prop(aac_drc_prop)
+system_restricted_prop(adaptive_haptics_prop)
+system_restricted_prop(apex_ready_prop)
+system_restricted_prop(arm64_memtag_prop)
+system_restricted_prop(binder_cache_bluetooth_server_prop)
+system_restricted_prop(binder_cache_system_server_prop)
+system_restricted_prop(binder_cache_telephony_server_prop)
+system_restricted_prop(boot_status_prop)
+system_restricted_prop(bootanim_system_prop)
+system_restricted_prop(bootloader_prop)
+system_restricted_prop(boottime_public_prop)
+system_restricted_prop(bq_config_prop)
+system_restricted_prop(build_bootimage_prop)
+system_restricted_prop(build_prop)
+system_restricted_prop(composd_vm_art_prop)
+system_restricted_prop(device_config_aconfig_flags_prop)
+system_restricted_prop(device_config_camera_native_prop)
+system_restricted_prop(device_config_edgetpu_native_prop)
+system_restricted_prop(device_config_media_native_prop)
+system_restricted_prop(device_config_nnapi_native_prop)
+system_restricted_prop(device_config_runtime_native_boot_prop)
+system_restricted_prop(device_config_runtime_native_prop)
+system_restricted_prop(device_config_surface_flinger_native_boot_prop)
+system_restricted_prop(device_config_vendor_system_native_prop)
+system_restricted_prop(device_config_vendor_system_native_boot_prop)
+system_restricted_prop(drm_forcel3_prop)
+system_restricted_prop(fingerprint_prop)
+system_restricted_prop(gwp_asan_prop)
+system_restricted_prop(hal_instrumentation_prop)
+system_restricted_prop(userdebug_or_eng_prop)
+system_restricted_prop(init_service_status_prop)
+system_restricted_prop(libc_debug_prop)
+system_restricted_prop(module_sdkextensions_prop)
+system_restricted_prop(nnapi_ext_deny_product_prop)
+system_restricted_prop(persist_wm_debug_prop)
+system_restricted_prop(power_debug_prop)
+system_restricted_prop(property_service_version_prop)
+system_restricted_prop(provisioned_prop)
+system_restricted_prop(restorecon_prop)
+system_restricted_prop(retaildemo_prop)
+system_restricted_prop(servicemanager_prop)
+system_restricted_prop(smart_idle_maint_enabled_prop)
+system_restricted_prop(socket_hook_prop)
+system_restricted_prop(sqlite_log_prop)
+system_restricted_prop(surfaceflinger_display_prop)
+system_restricted_prop(system_boot_reason_prop)
+system_restricted_prop(system_jvmti_agent_prop)
+system_restricted_prop(traced_oome_heap_session_count_prop)
+system_restricted_prop(ab_update_gki_prop)
+system_restricted_prop(usb_prop)
+system_restricted_prop(userspace_reboot_exported_prop)
+system_restricted_prop(vold_status_prop)
+system_restricted_prop(vts_status_prop)
+
+starting_at_board_api(202504, `
+    system_restricted_prop(enable_16k_pages_prop)
+    system_restricted_prop(profcollectd_etr_prop)
+')
+
+compatible_property_only(`
+    # DO NOT ADD ANY PROPERTIES HERE
+    system_restricted_prop(config_prop)
+    system_restricted_prop(cppreopt_prop)
+    system_restricted_prop(dalvik_prop)
+    system_restricted_prop(debuggerd_prop)
+    system_restricted_prop(device_logging_prop)
+    system_restricted_prop(dhcp_prop)
+    system_restricted_prop(dumpstate_prop)
+    system_restricted_prop(exported3_system_prop)
+    system_restricted_prop(exported_dumpstate_prop)
+    system_restricted_prop(exported_secure_prop)
+    system_restricted_prop(heapprofd_prop)
+    system_restricted_prop(net_radio_prop)
+    system_restricted_prop(pan_result_prop)
+    system_restricted_prop(persist_debug_prop)
+    system_restricted_prop(shell_prop)
+    system_restricted_prop(test_harness_prop)
+    system_restricted_prop(theme_prop)
+    system_restricted_prop(use_memfd_prop)
+    system_restricted_prop(vold_prop)
+')
+
+# Properties which can be written only by vendor_init
+system_vendor_config_prop(apexd_config_prop)
+system_vendor_config_prop(apexd_select_prop)
+system_vendor_config_prop(aaudio_config_prop)
+system_vendor_config_prop(apk_verity_prop)
+system_vendor_config_prop(audio_config_prop)
+system_vendor_config_prop(bootanim_config_prop)
+system_vendor_config_prop(bluetooth_config_prop)
+system_vendor_config_prop(build_attestation_prop)
+system_vendor_config_prop(build_config_prop)
+system_vendor_config_prop(build_odm_prop)
+system_vendor_config_prop(build_vendor_prop)
+system_vendor_config_prop(camera_calibration_prop)
+system_vendor_config_prop(camera_config_prop)
+system_vendor_config_prop(camera2_extensions_prop)
+system_vendor_config_prop(camerax_extensions_prop)
+system_vendor_config_prop(charger_config_prop)
+system_vendor_config_prop(codec2_config_prop)
+system_vendor_config_prop(composd_vm_vendor_prop)
+system_vendor_config_prop(cpu_variant_prop)
+system_vendor_config_prop(debugfs_restriction_prop)
+starting_at_board_api(202504, `
+    system_vendor_config_prop(drm_config_prop)
+')
+system_vendor_config_prop(drm_service_config_prop)
+system_vendor_config_prop(exported_camera_prop)
+system_vendor_config_prop(exported_config_prop)
+system_vendor_config_prop(exported_default_prop)
+system_vendor_config_prop(ffs_config_prop)
+system_vendor_config_prop(framework_watchdog_config_prop)
+system_vendor_config_prop(graphics_config_prop)
+system_vendor_config_prop(hdmi_config_prop)
+system_vendor_config_prop(hw_timeout_multiplier_prop)
+system_vendor_config_prop(hypervisor_prop)
+system_vendor_config_prop(hypervisor_restricted_prop)
+system_vendor_config_prop(incremental_prop)
+system_vendor_config_prop(input_device_config_prop)
+system_vendor_config_prop(keyguard_config_prop)
+system_vendor_config_prop(keystore_config_prop)
+system_vendor_config_prop(lmkd_config_prop)
+system_vendor_config_prop(media_config_prop)
+system_vendor_config_prop(media_variant_prop)
+system_vendor_config_prop(mediadrm_config_prop)
+system_vendor_config_prop(mm_events_config_prop)
+system_vendor_config_prop(oem_unlock_prop)
+system_vendor_config_prop(ota_build_prop)
+system_vendor_config_prop(packagemanager_config_prop)
+system_vendor_config_prop(quick_start_prop)
+system_vendor_config_prop(recovery_config_prop)
+system_vendor_config_prop(recovery_usb_config_prop)
+system_vendor_config_prop(sendbug_config_prop)
+system_vendor_config_prop(soc_prop)
+system_vendor_config_prop(storage_config_prop)
+system_vendor_config_prop(storagemanager_config_prop)
+system_vendor_config_prop(surfaceflinger_prop)
+system_vendor_config_prop(suspend_prop)
+system_vendor_config_prop(systemsound_config_prop)
+system_vendor_config_prop(telephony_config_prop)
+system_vendor_config_prop(threadnetwork_config_prop)
+system_vendor_config_prop(tombstone_config_prop)
+system_vendor_config_prop(usb_config_prop)
+system_vendor_config_prop(userspace_reboot_config_prop)
+system_vendor_config_prop(vehicle_hal_prop)
+system_vendor_config_prop(vendor_security_patch_level_prop)
+system_vendor_config_prop(vendor_socket_hook_prop)
+system_vendor_config_prop(virtual_ab_prop)
+system_vendor_config_prop(vndk_prop)
+system_vendor_config_prop(vts_config_prop)
+system_vendor_config_prop(vold_config_prop)
+system_vendor_config_prop(wifi_config_prop)
+system_vendor_config_prop(zram_config_prop)
+system_vendor_config_prop(zygote_config_prop)
+system_vendor_config_prop(dck_prop)
+system_vendor_config_prop(tuner_config_prop)
+system_vendor_config_prop(usb_uvc_enabled_prop)
+system_vendor_config_prop(setupwizard_mode_prop)
+system_vendor_config_prop(pm_archiving_enabled_prop)
+starting_at_board_api(202504, `
+    system_vendor_config_prop(trusty_security_vm_sys_vendor_prop)
+')
+
+# Properties with no restrictions
+system_public_prop(adbd_config_prop)
+system_public_prop(audio_prop)
+system_public_prop(bluetooth_a2dp_offload_prop)
+system_public_prop(bluetooth_audio_hal_prop)
+starting_at_board_api(202504, `
+    system_public_prop(bluetooth_finder_prop)
+')
+system_public_prop(bluetooth_prop)
+system_public_prop(bpf_progs_loaded_prop)
+system_public_prop(charger_status_prop)
+system_public_prop(ctl_default_prop)
+system_public_prop(ctl_interface_start_prop)
+system_public_prop(ctl_start_prop)
+system_public_prop(ctl_stop_prop)
+system_public_prop(dalvik_config_prop)
+system_public_prop(dalvik_dynamic_config_prop)
+system_public_prop(dalvik_runtime_prop)
+system_public_prop(debug_prop)
+system_public_prop(device_config_memory_safety_native_boot_prop)
+system_public_prop(device_config_memory_safety_native_prop)
+system_public_prop(dumpstate_options_prop)
+system_public_prop(exported_system_prop)
+system_public_prop(exported_bluetooth_prop)
+system_public_prop(exported_overlay_prop)
+system_public_prop(exported_pm_prop)
+system_public_prop(future_pm_prop)
+system_public_prop(ffs_control_prop)
+system_public_prop(framework_status_prop)
+system_public_prop(gesture_prop)
+system_public_prop(graphics_config_writable_prop)
+system_public_prop(hal_dumpstate_config_prop)
+system_public_prop(sota_prop)
+system_public_prop(hwservicemanager_prop)
+system_public_prop(lmkd_prop)
+system_public_prop(locale_prop)
+system_public_prop(logd_prop)
+system_public_prop(logpersistd_logging_prop)
+system_public_prop(log_prop)
+system_public_prop(log_tag_prop)
+system_public_prop(lowpan_prop)
+system_public_prop(nfc_prop)
+system_public_prop(ota_prop)
+system_public_prop(permissive_mte_prop)
+system_public_prop(powerctl_prop)
+system_public_prop(qemu_hw_prop)
+system_public_prop(qemu_sf_lcd_density_prop)
+system_public_prop(radio_control_prop)
+system_public_prop(radio_prop)
+system_public_prop(serialno_prop)
+system_public_prop(surfaceflinger_color_prop)
+system_public_prop(system_prop)
+system_public_prop(system_user_mode_emulation_prop)
+system_public_prop(telephony_status_prop)
+system_public_prop(timezone_prop)
+system_public_prop(usb_control_prop)
+system_public_prop(vold_post_fs_data_prop)
+system_public_prop(wifi_hal_prop)
+system_public_prop(wifi_log_prop)
+system_public_prop(wifi_prop)
+system_public_prop(zram_control_prop)
+
+# Properties which don't have entries on property_contexts
+system_internal_prop(default_prop)
+
+# Properties used in default HAL implementations
+vendor_internal_prop(rebootescrow_hal_prop)
+
+# Properties used in the default Face HAL implementations
+vendor_internal_prop(virtual_face_hal_prop)
+starting_at_board_api(202504, `
+    system_public_prop(virtual_face_prop)
+')
+
+# Properties used in the default Fingerprint HAL implementations
+vendor_internal_prop(virtual_fingerprint_hal_prop)
+starting_at_board_api(202504, `
+    system_public_prop(virtual_fingerprint_prop)
+')
+
+vendor_public_prop(persist_vendor_debug_wifi_prop)
+
+# Properties which are public for devices launching with Android O or earlier
+# This should not be used for any new properties.
+not_compatible_property(`
+    # DO NOT ADD ANY PROPERTIES HERE
+    system_public_prop(boottime_prop)
+    system_public_prop(charger_prop)
+    system_public_prop(cold_boot_done_prop)
+    system_public_prop(ctl_adbd_prop)
+    system_public_prop(ctl_apexd_prop)
+    system_public_prop(ctl_bootanim_prop)
+    system_public_prop(ctl_bugreport_prop)
+    system_public_prop(ctl_console_prop)
+    system_public_prop(ctl_dumpstate_prop)
+    system_public_prop(ctl_fuse_prop)
+    system_public_prop(ctl_gsid_prop)
+    system_public_prop(ctl_interface_restart_prop)
+    system_public_prop(ctl_interface_stop_prop)
+    system_public_prop(ctl_mdnsd_prop)
+    system_public_prop(ctl_restart_prop)
+    system_public_prop(ctl_rildaemon_prop)
+    system_public_prop(ctl_sigstop_prop)
+    system_public_prop(dynamic_system_prop)
+    system_public_prop(heapprofd_enabled_prop)
+    system_public_prop(llkd_prop)
+    system_public_prop(lpdumpd_prop)
+    system_public_prop(mmc_prop)
+    system_public_prop(mock_ota_prop)
+    system_public_prop(net_dns_prop)
+    system_public_prop(overlay_prop)
+    system_public_prop(persistent_properties_ready_prop)
+    system_public_prop(safemode_prop)
+    system_public_prop(system_lmk_prop)
+    system_public_prop(system_trace_prop)
+    system_public_prop(test_boot_reason_prop)
+    system_public_prop(time_prop)
+    system_public_prop(traced_enabled_prop)
+    system_public_prop(traced_lazy_prop)
+
+    system_public_prop(config_prop)
+    system_public_prop(cppreopt_prop)
+    system_public_prop(dalvik_prop)
+    system_public_prop(debuggerd_prop)
+    system_public_prop(device_logging_prop)
+    system_public_prop(dhcp_prop)
+    system_public_prop(dumpstate_prop)
+    system_public_prop(exported3_system_prop)
+    system_public_prop(exported_dumpstate_prop)
+    system_public_prop(exported_secure_prop)
+    system_public_prop(heapprofd_prop)
+    system_public_prop(net_radio_prop)
+    system_public_prop(pan_result_prop)
+    system_public_prop(persist_debug_prop)
+    system_public_prop(shell_prop)
+    system_public_prop(test_harness_prop)
+    system_public_prop(theme_prop)
+    system_public_prop(use_memfd_prop)
+    system_public_prop(vold_prop)
+')
+
+not_compatible_property(`
+    vendor_public_prop(vendor_default_prop)
+')
+
+compatible_property_only(`
+    vendor_internal_prop(vendor_default_prop)
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/radio.te b/prebuilts/api/202504/public/radio.te
new file mode 100644
index 0000000..3762486
--- /dev/null
+++ b/prebuilts/api/202504/public/radio.te
@@ -0,0 +1,6 @@
+# phone subsystem
+type radio, domain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/recovery.te b/prebuilts/api/202504/public/recovery.te
new file mode 100755
index 0000000..3d3425c
--- /dev/null
+++ b/prebuilts/api/202504/public/recovery.te
@@ -0,0 +1,9 @@
+# recovery console (used in recovery init.rc for /sbin/recovery)
+
+# Declare the domain unconditionally so we can always reference it
+# in neverallow rules.
+type recovery, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/recovery_persist.te b/prebuilts/api/202504/public/recovery_persist.te
new file mode 100644
index 0000000..329d714
--- /dev/null
+++ b/prebuilts/api/202504/public/recovery_persist.te
@@ -0,0 +1,7 @@
+# android recovery persistent log manager
+type recovery_persist, domain;
+type recovery_persist_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/recovery_refresh.te b/prebuilts/api/202504/public/recovery_refresh.te
new file mode 100644
index 0000000..10bb7be
--- /dev/null
+++ b/prebuilts/api/202504/public/recovery_refresh.te
@@ -0,0 +1,7 @@
+# android recovery refresh log manager
+type recovery_refresh, domain;
+type recovery_refresh_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/rkpd_app.te b/prebuilts/api/202504/public/rkpd_app.te
new file mode 100644
index 0000000..95b6d06
--- /dev/null
+++ b/prebuilts/api/202504/public/rkpd_app.te
@@ -0,0 +1,10 @@
+###
+### A domain for sandboxing the remote key provisioning daemon
+### app that is shipped via mainline.
+###
+
+type rkpdapp, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/roles b/prebuilts/api/202504/public/roles
new file mode 100644
index 0000000..ca92934
--- /dev/null
+++ b/prebuilts/api/202504/public/roles
@@ -0,0 +1 @@
+role r types domain;
diff --git a/prebuilts/api/202504/public/rs.te b/prebuilts/api/202504/public/rs.te
new file mode 100644
index 0000000..80ab39b
--- /dev/null
+++ b/prebuilts/api/202504/public/rs.te
@@ -0,0 +1,6 @@
+type rs, domain, coredomain;
+type rs_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/rss_hwm_reset.te b/prebuilts/api/202504/public/rss_hwm_reset.te
new file mode 100644
index 0000000..7428a5b
--- /dev/null
+++ b/prebuilts/api/202504/public/rss_hwm_reset.te
@@ -0,0 +1,6 @@
+# rss_hwm_reset resets RSS high-water mark counters for all procesess.
+type rss_hwm_reset, domain, coredomain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/runas.te b/prebuilts/api/202504/public/runas.te
new file mode 100644
index 0000000..2ecf9b0
--- /dev/null
+++ b/prebuilts/api/202504/public/runas.te
@@ -0,0 +1,6 @@
+type runas, domain, mlstrustedsubject;
+type runas_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/runas_app.te b/prebuilts/api/202504/public/runas_app.te
new file mode 100644
index 0000000..b160a87
--- /dev/null
+++ b/prebuilts/api/202504/public/runas_app.te
@@ -0,0 +1,5 @@
+type runas_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/sdcardd.te b/prebuilts/api/202504/public/sdcardd.te
new file mode 100644
index 0000000..b7329ae
--- /dev/null
+++ b/prebuilts/api/202504/public/sdcardd.te
@@ -0,0 +1,6 @@
+type sdcardd, domain;
+type sdcardd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/secure_element.te b/prebuilts/api/202504/public/secure_element.te
new file mode 100644
index 0000000..26900cd
--- /dev/null
+++ b/prebuilts/api/202504/public/secure_element.te
@@ -0,0 +1,6 @@
+# secure_element subsystem
+type secure_element, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/service.te b/prebuilts/api/202504/public/service.te
new file mode 100644
index 0000000..2d7cedf
--- /dev/null
+++ b/prebuilts/api/202504/public/service.te
@@ -0,0 +1,384 @@
+type aidl_lazy_test_service,    service_manager_type;
+type apc_service,               service_manager_type;
+type apex_service,              service_manager_type;
+type artd_service,              service_manager_type;
+type artd_pre_reboot_service,   service_manager_type;
+type audioserver_service,       service_manager_type, isolated_compute_allowed_service;
+type authorization_service,     service_manager_type;
+type batteryproperties_service, app_api_service, ephemeral_app_api_service, service_manager_type;
+type bluetooth_service,         service_manager_type;
+type cameraserver_service,      service_manager_type, isolated_compute_allowed_service;
+type fwk_camera_service,        service_manager_type;
+type default_android_service,   service_manager_type;
+type device_config_updatable_service,       system_api_service, system_server_service,service_manager_type;
+type dexopt_chroot_setup_service, service_manager_type;
+type dnsresolver_service,       service_manager_type;
+type drmserver_service,         service_manager_type;
+type dumpstate_service,         service_manager_type;
+type evsmanagerd_service,       service_manager_type;
+type fingerprintd_service,      service_manager_type;
+type fwk_automotive_display_service, service_manager_type;
+starting_at_board_api(202504, `
+    type fwk_vold_service,      service_manager_type;
+')
+type gatekeeper_service,        app_api_service, service_manager_type;
+type gpu_service,               app_api_service, ephemeral_app_api_service, service_manager_type;
+type idmap_service,             service_manager_type;
+type incident_service,          service_manager_type;
+type installd_service,          service_manager_type;
+type credstore_service,         app_api_service, service_manager_type;
+type keystore_compat_hal_service, service_manager_type;
+type keystore_maintenance_service, service_manager_type;
+type keystore_metrics_service, service_manager_type;
+type keystore_service,          service_manager_type;
+type legacykeystore_service,    service_manager_type;
+type lpdump_service,            service_manager_type;
+type mdns_service,              service_manager_type;
+type mediaserver_service,       service_manager_type, isolated_compute_allowed_service;
+type mediametrics_service,      service_manager_type;
+type mediaextractor_service,    service_manager_type;
+type mediadrmserver_service,    service_manager_type;
+type mediatranscoding_service,  app_api_service, service_manager_type;
+type netd_service,              service_manager_type;
+type nfc_service,               service_manager_type;
+type ondevicepersonalization_system_service, system_api_service, system_server_service, service_manager_type;
+type ot_daemon_service,         service_manager_type;
+type profiling_service,         app_api_service, system_server_service, service_manager_type;
+type radio_service,             service_manager_type;
+type secure_element_service,    service_manager_type;
+type service_manager_service,   service_manager_type;
+type storaged_service,          service_manager_type;
+type surfaceflinger_service,    app_api_service, ephemeral_app_api_service, service_manager_type;
+type system_app_service,        service_manager_type;
+type system_net_netd_service,   service_manager_type;
+type system_suspend_control_internal_service, service_manager_type;
+type system_suspend_control_service, service_manager_type;
+type update_engine_service,     service_manager_type;
+type update_engine_stable_service, service_manager_type;
+type virtualization_service,    service_manager_type;
+type virtual_camera_service,    service_manager_type;
+type virtual_touchpad_service,  service_manager_type;
+type vold_service,              service_manager_type;
+type vr_hwc_service,            service_manager_type;
+type vrflinger_vsync_service,   service_manager_type;
+
+# system_server_services broken down
+type accessibility_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type account_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type activity_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type activity_task_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type adb_service, system_api_service, system_server_service, service_manager_type;
+type adservices_manager_service, system_api_service, system_server_service, service_manager_type;
+type alarm_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type app_binding_service, system_server_service, service_manager_type;
+starting_at_board_api(202504, `
+    type app_function_service, app_api_service, system_server_service, service_manager_type;
+')
+type app_hibernation_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type app_integrity_service, system_api_service, system_server_service, service_manager_type;
+type app_prediction_service, app_api_service, system_server_service, service_manager_type;
+type app_search_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type appops_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type appwidget_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type archive_service, app_api_service, system_server_service, service_manager_type;
+type assetatlas_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type attestation_verification_service, app_api_service, system_server_service, service_manager_type;
+type audio_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type auth_service, app_api_service, system_server_service, service_manager_type;
+type autofill_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type backup_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type batterystats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type battery_service, system_server_service, service_manager_type;
+type binder_calls_stats_service, system_server_service, service_manager_type;
+type blob_store_service, app_api_service, system_server_service, service_manager_type;
+type bluetooth_manager_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type broadcastradio_service, app_api_service, system_server_service, service_manager_type;
+type cacheinfo_service, system_api_service, system_server_service, service_manager_type;
+type cameraproxy_service, system_server_service, service_manager_type;
+type clipboard_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type cloudsearch_service, app_api_service, system_server_service, service_manager_type;
+type contexthub_service, app_api_service,  system_server_service, service_manager_type;
+type contextual_search_service, app_api_service, system_server_service, service_manager_type;
+type crossprofileapps_service, app_api_service, system_server_service, service_manager_type;
+type IProxyService_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type companion_device_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type connectivity_native_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type connectivity_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type connmetrics_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type consumer_ir_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type content_capture_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type content_suggestions_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type content_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type country_detector_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+# Note: The coverage_service should only be enabled for userdebug / eng builds that were compiled
+# with EMMA_INSTRUMENT=true. We should consider locking this down in the future.
+type coverage_service, system_server_service, service_manager_type;
+type cpuinfo_service, system_api_service, system_server_service, service_manager_type;
+type cpu_monitor_service, system_server_service, service_manager_type;
+type credential_service, app_api_service, ephemeral_app_api_service, system_api_service, system_server_service, service_manager_type;
+type dataloader_manager_service, system_server_service, service_manager_type;
+type dbinfo_service, system_api_service, system_server_service, service_manager_type;
+type device_config_service, system_server_service, service_manager_type;
+type device_policy_service, app_api_service, system_server_service, service_manager_type;
+type device_state_service, app_api_service, system_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type deviceidle_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type device_identifiers_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type devicestoragemonitor_service, system_server_service, service_manager_type;
+type diskstats_service, system_api_service, system_server_service, service_manager_type;
+type display_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type domain_verification_service, app_api_service, system_server_service, service_manager_type;
+type color_display_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type ecm_enhanced_confirmation_service, app_api_service, system_server_service, service_manager_type;
+type external_vibrator_service, system_server_service, service_manager_type;
+type file_integrity_service, app_api_service, system_server_service, service_manager_type;
+type font_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type netd_listener_service, system_server_service, service_manager_type;
+type network_watchlist_service, system_server_service, service_manager_type;
+type devicelock_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type DockObserver_service, system_server_service, service_manager_type;
+type dreams_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type dropbox_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type ethernet_service, app_api_service, system_server_service, service_manager_type;
+type biometric_service, app_api_service, system_server_service, service_manager_type;
+type bugreport_service, app_api_service, system_server_service, service_manager_type;
+type platform_compat_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type face_service, app_api_service, system_server_service, service_manager_type;
+type fingerprint_service, app_api_service, system_server_service, service_manager_type;
+type fwk_altitude_service, system_server_service, service_manager_type;
+type fwk_stats_service, app_api_service, system_server_service, service_manager_type;
+type fwk_sensor_service, system_server_service, service_manager_type;
+type fwk_vibrator_control_service, system_server_service, service_manager_type;
+type game_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type gfxinfo_service, system_api_service, system_server_service, service_manager_type;
+type gnss_time_update_service, system_server_service, service_manager_type;
+type grammatical_inflection_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type graphicsstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type hardware_service, system_server_service, service_manager_type;
+type hardware_properties_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type hdmi_control_service, app_api_service, system_server_service, service_manager_type;
+type healthconnect_service, app_api_service, system_server_service, service_manager_type;
+type hint_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type imms_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type incremental_service, system_server_service, service_manager_type;
+type input_method_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type input_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+starting_at_board_api(202504, `
+    type intrusion_detection_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+')
+type ipsec_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type iris_service, app_api_service, system_server_service, service_manager_type;
+type jobscheduler_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type launcherapps_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type legacy_permission_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type light_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type locale_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type location_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type location_time_zone_manager_service, system_server_service, service_manager_type;
+type lock_settings_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type looper_stats_service, system_server_service, service_manager_type;
+type media_communication_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type media_metrics_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type media_projection_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+starting_at_board_api(202504, `
+    type media_quality_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+')
+type media_router_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type media_session_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type meminfo_service, system_api_service, system_server_service, service_manager_type;
+type memtrackproxy_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type midi_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type mount_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type music_recognition_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type nearby_service, app_api_service, system_server_service, service_manager_type;
+type netpolicy_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type netstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type network_management_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type network_score_service, system_api_service, system_server_service, service_manager_type;
+type network_stack_service, system_server_service, service_manager_type;
+type network_time_update_service, system_server_service, service_manager_type;
+type notification_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type oem_lock_service, system_api_service, system_server_service, service_manager_type;
+type otadexopt_service, system_server_service, service_manager_type;
+type overlay_service, system_api_service, system_server_service, service_manager_type;
+type pac_proxy_service, app_api_service, system_server_service, service_manager_type;
+type package_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type package_native_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type people_service, app_api_service, system_server_service, service_manager_type;
+type permission_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type permissionmgr_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type permission_checker_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type persistent_data_block_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type pinner_service, system_server_service, service_manager_type;
+type powerstats_service, app_api_service, system_server_service, service_manager_type;
+type power_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type print_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type processinfo_service, system_server_service, service_manager_type;
+type procstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type reboot_readiness_service, app_api_service, system_server_service, service_manager_type;
+type recovery_service, system_server_service, service_manager_type;
+type registry_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type remote_auth_service, app_api_service, system_server_service, service_manager_type;
+type remote_provisioning_service, system_server_service, service_manager_type;
+type resources_manager_service, system_api_service, system_server_service, service_manager_type;
+type restrictions_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type role_service, app_api_service, system_server_service, service_manager_type;
+type rollback_service, app_api_service, system_server_service, service_manager_type;
+type runtime_service, system_server_service, service_manager_type;
+type rttmanager_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type samplingprofiler_service, system_server_service, service_manager_type;
+type scheduling_policy_service, system_server_service, service_manager_type;
+type search_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type search_ui_service, app_api_service, system_server_service, service_manager_type;
+type sec_key_att_app_id_provider_service, app_api_service, system_server_service, service_manager_type;
+type security_state_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type selection_toolbar_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type sensitive_content_protection_service, app_api_service, system_server_service, service_manager_type;
+type sensorservice_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type sensor_privacy_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type serial_service, system_api_service, system_server_service, service_manager_type;
+type servicediscovery_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type settings_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type shortcut_service, app_api_service, system_server_service, service_manager_type;
+type slice_service, app_api_service, system_server_service, service_manager_type;
+type smartspace_service, app_api_service, system_server_service, service_manager_type;
+type statusbar_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type storagestats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type sdk_sandbox_service, app_api_service, system_server_service, service_manager_type;
+type system_config_service, system_api_service, system_server_service, service_manager_type;
+type system_server_dumper_service, system_api_service, system_server_service, service_manager_type;
+type system_update_service, system_server_service, service_manager_type;
+type soundtrigger_middleware_service, system_server_service, service_manager_type;
+type speech_recognition_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
+type tare_service, app_api_service, system_server_service, service_manager_type;
+type task_service, system_server_service, service_manager_type;
+type testharness_service, system_server_service, service_manager_type;
+type textclassification_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type textservices_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type texttospeech_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type telecom_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type thermal_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type threadnetwork_service, app_api_service, system_server_service, service_manager_type;
+type timedetector_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type timezonedetector_service, app_api_service, system_server_service, service_manager_type;
+type translation_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type trust_service, app_api_service, system_server_service, service_manager_type;
+type tv_ad_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type tv_iapp_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type tv_input_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type tv_tuner_resource_mgr_service, app_api_service, system_server_service, service_manager_type;
+type uimode_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type updatelock_service, system_api_service, system_server_service, service_manager_type;
+type uri_grants_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type usagestats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type usb_service, app_api_service, system_server_service, service_manager_type;
+type user_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type uwb_service, app_api_service, system_server_service, service_manager_type;
+type vcn_management_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type vibrator_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type vibrator_manager_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type virtual_device_service, app_api_service, system_server_service, service_manager_type;
+type virtual_device_native_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type voiceinteraction_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type vpn_management_service, app_api_service, system_server_service, service_manager_type;
+type vr_manager_service, system_server_service, service_manager_type;
+type wallpaper_service, app_api_service, system_server_service, service_manager_type;
+type wallpaper_effects_generation_service, app_api_service, system_server_service, service_manager_type;
+type webviewupdate_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type wifip2p_service, app_api_service, system_server_service, service_manager_type;
+type wifiscanner_service, app_api_service, system_server_service, service_manager_type;
+type wifi_service, app_api_service, system_server_service, service_manager_type;
+type wifinl80211_service, service_manager_type;
+type wifiaware_service, app_api_service, system_server_service, service_manager_type;
+starting_at_board_api(202504, `
+   type wifi_usd_service, app_api_service, system_server_service, service_manager_type;
+')
+type window_service, system_api_service, system_server_service, service_manager_type;
+type inputflinger_service, system_api_service, system_server_service, service_manager_type;
+type tethering_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
+type emergency_affordance_service, system_server_service, service_manager_type;
+
+###
+### HAL Services
+###
+
+type hal_audio_service, protected_service, hal_service_type, service_manager_type;
+type hal_audiocontrol_service, hal_service_type, service_manager_type;
+type hal_authgraph_service, protected_service, hal_service_type, service_manager_type;
+type hal_authsecret_service, protected_service, hal_service_type, service_manager_type;
+type hal_bluetooth_service, protected_service, hal_service_type, service_manager_type;
+type hal_bootctl_service, protected_service, hal_service_type, service_manager_type;
+type hal_broadcastradio_service, protected_service, hal_service_type, service_manager_type;
+type hal_camera_service, protected_service, hal_service_type, service_manager_type;
+type hal_can_controller_service, protected_service, hal_service_type, service_manager_type;
+type hal_cas_service, hal_service_type, service_manager_type;
+type hal_codec2_service, hal_service_type, service_manager_type, isolated_compute_allowed_service;
+type hal_confirmationui_service, protected_service, hal_service_type, service_manager_type;
+type hal_contexthub_service, protected_service, hal_service_type, service_manager_type;
+type hal_drm_service, hal_service_type, service_manager_type;
+type hal_dumpstate_service, protected_service, hal_service_type, service_manager_type;
+type hal_evs_service, protected_service, hal_service_type, service_manager_type;
+type hal_face_service, protected_service, hal_service_type, service_manager_type;
+type hal_fastboot_service, protected_service, hal_service_type, service_manager_type;
+type hal_fingerprint_service, protected_service, hal_service_type, service_manager_type;
+type hal_gnss_service, protected_service, hal_service_type, service_manager_type;
+type hal_graphics_allocator_service, hal_service_type, service_manager_type;
+type hal_graphics_composer_service, protected_service, hal_service_type, service_manager_type;
+type hal_graphics_mapper_service, hal_service_type, service_manager_type;
+type hal_health_service, protected_service, hal_service_type, service_manager_type;
+type hal_health_storage_service, protected_service, hal_service_type, service_manager_type;
+starting_at_board_api(202504, `
+    type hal_hwcrypto_service, protected_service, hal_service_type, service_manager_type;
+')
+type hal_identity_service, protected_service, hal_service_type, service_manager_type;
+type hal_input_processor_service, protected_service, hal_service_type, service_manager_type;
+type hal_ir_service, protected_service, hal_service_type, service_manager_type;
+type hal_ivn_service, protected_service, hal_service_type, service_manager_type;
+type hal_keymint_service, protected_service, hal_service_type, service_manager_type;
+type hal_light_service, protected_service, hal_service_type, service_manager_type;
+type hal_macsec_service, protected_service, hal_service_type, service_manager_type;
+starting_at_board_api(202504, `
+    type hal_mediaquality_service, protected_service, hal_service_type, service_manager_type;
+')
+type hal_memtrack_service, protected_service, hal_service_type, service_manager_type;
+type hal_neuralnetworks_service, hal_service_type, service_manager_type;
+type hal_nfc_service, protected_service, hal_service_type, service_manager_type;
+type hal_oemlock_service, protected_service, hal_service_type, service_manager_type;
+type hal_power_service, protected_service, hal_service_type, service_manager_type;
+type hal_power_stats_service, protected_service, hal_service_type, service_manager_type;
+type hal_radio_service, protected_service, hal_service_type, service_manager_type;
+type hal_rebootescrow_service, protected_service, hal_service_type, service_manager_type;
+type hal_remoteaccess_service, protected_service, hal_service_type, service_manager_type;
+type hal_remotelyprovisionedcomponent_avf_service, protected_service, hal_service_type, service_manager_type;
+type hal_remotelyprovisionedcomponent_service, protected_service, hal_service_type, service_manager_type;
+type hal_sensors_service, protected_service, hal_service_type, service_manager_type;
+type hal_secretkeeper_service, protected_service, hal_service_type, service_manager_type;
+type hal_secureclock_service, protected_service, hal_service_type, service_manager_type;
+type hal_secure_element_service, protected_service, hal_service_type, service_manager_type;
+type hal_sharedsecret_service, protected_service, hal_service_type, service_manager_type;
+type hal_system_suspend_service, protected_service, hal_service_type, service_manager_type;
+type hal_tetheroffload_service, protected_service, hal_service_type, service_manager_type;
+type hal_thermal_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_cec_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_connection_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_earc_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_input_service, protected_service, hal_service_type, service_manager_type;
+type hal_threadnetwork_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_tuner_service, protected_service, hal_service_type, service_manager_type;
+type hal_usb_service, protected_service, hal_service_type, service_manager_type;
+type hal_usb_gadget_service, protected_service, hal_service_type, service_manager_type;
+type hal_uwb_service, protected_service, hal_service_type, service_manager_type;
+type hal_vehicle_service, protected_service, hal_service_type, service_manager_type;
+type hal_vibrator_service, protected_service, hal_service_type, service_manager_type;
+type hal_weaver_service, protected_service, hal_service_type, service_manager_type;
+type hal_nlinterceptor_service, protected_service, hal_service_type, service_manager_type;
+type hal_wifi_service, protected_service, hal_service_type, service_manager_type;
+type hal_wifi_hostapd_service, protected_service, hal_service_type, service_manager_type;
+type hal_wifi_supplicant_service, protected_service, hal_service_type, service_manager_type;
+type hal_gatekeeper_service, protected_service, hal_service_type, service_manager_type;
+starting_at_board_api(202504, `
+    type hal_vm_capabilities_service, protected_service, hal_service_type, service_manager_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/servicemanager.te b/prebuilts/api/202504/public/servicemanager.te
new file mode 100644
index 0000000..3409993
--- /dev/null
+++ b/prebuilts/api/202504/public/servicemanager.te
@@ -0,0 +1,7 @@
+# servicemanager - the Binder context manager
+type servicemanager, domain, mlstrustedsubject;
+type servicemanager_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/sgdisk.te b/prebuilts/api/202504/public/sgdisk.te
new file mode 100644
index 0000000..c4468e2
--- /dev/null
+++ b/prebuilts/api/202504/public/sgdisk.te
@@ -0,0 +1,7 @@
+# sgdisk called from vold
+type sgdisk, domain;
+type sgdisk_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/shared_relro.te b/prebuilts/api/202504/public/shared_relro.te
new file mode 100644
index 0000000..fdee99f
--- /dev/null
+++ b/prebuilts/api/202504/public/shared_relro.te
@@ -0,0 +1,6 @@
+# Process which creates/updates shared RELRO files to be used by other apps.
+type shared_relro, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/shell.te b/prebuilts/api/202504/public/shell.te
new file mode 100644
index 0000000..189976d
--- /dev/null
+++ b/prebuilts/api/202504/public/shell.te
@@ -0,0 +1,7 @@
+# Domain for shell processes spawned by ADB or console service.
+type shell, domain, mlstrustedsubject;
+type shell_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/simpleperf.te b/prebuilts/api/202504/public/simpleperf.te
new file mode 100644
index 0000000..c13d241
--- /dev/null
+++ b/prebuilts/api/202504/public/simpleperf.te
@@ -0,0 +1,5 @@
+type simpleperf, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/simpleperf_app_runner.te b/prebuilts/api/202504/public/simpleperf_app_runner.te
new file mode 100644
index 0000000..f2a6172
--- /dev/null
+++ b/prebuilts/api/202504/public/simpleperf_app_runner.te
@@ -0,0 +1,6 @@
+type simpleperf_app_runner, domain, mlstrustedsubject;
+type simpleperf_app_runner_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/slideshow.te b/prebuilts/api/202504/public/slideshow.te
new file mode 100644
index 0000000..4ead98c
--- /dev/null
+++ b/prebuilts/api/202504/public/slideshow.te
@@ -0,0 +1,7 @@
+# slideshow seclabel is specified in init.rc since
+# it lives in the rootfs and has no unique file type.
+type slideshow, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/statsd.te b/prebuilts/api/202504/public/statsd.te
new file mode 100644
index 0000000..52f4132
--- /dev/null
+++ b/prebuilts/api/202504/public/statsd.te
@@ -0,0 +1,6 @@
+type statsd, domain, mlstrustedsubject;
+type statsd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/su.te b/prebuilts/api/202504/public/su.te
new file mode 100644
index 0000000..6936f67
--- /dev/null
+++ b/prebuilts/api/202504/public/su.te
@@ -0,0 +1,13 @@
+# Domain used for su processes, as well as for adbd and adb shell
+# after performing an adb root command.
+
+# All types must be defined regardless of build variant to ensure
+# policy compilation succeeds with userdebug/user combination at boot
+type su, domain;
+
+# File types must be defined for file_contexts.
+type su_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/surfaceflinger.te b/prebuilts/api/202504/public/surfaceflinger.te
new file mode 100644
index 0000000..531b3da
--- /dev/null
+++ b/prebuilts/api/202504/public/surfaceflinger.te
@@ -0,0 +1,7 @@
+# surfaceflinger - display compositor service
+type surfaceflinger, domain;
+type surfaceflinger_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/system_app.te b/prebuilts/api/202504/public/system_app.te
new file mode 100644
index 0000000..8e1d5dc
--- /dev/null
+++ b/prebuilts/api/202504/public/system_app.te
@@ -0,0 +1,11 @@
+###
+### Apps that run with the system UID, e.g. com.android.system.ui,
+### com.android.settings.  These are not as privileged as the system
+### server.
+###
+
+type system_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/system_server.te b/prebuilts/api/202504/public/system_server.te
new file mode 100644
index 0000000..55b163b
--- /dev/null
+++ b/prebuilts/api/202504/public/system_server.te
@@ -0,0 +1,10 @@
+#
+# System Server aka system_server spawned by zygote.
+# Most of the framework services run in this process.
+#
+type system_server, domain;
+type system_server_tmpfs, file_type, mlstrustedobject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/te_macros b/prebuilts/api/202504/public/te_macros
new file mode 100644
index 0000000..2ba15b3
--- /dev/null
+++ b/prebuilts/api/202504/public/te_macros
@@ -0,0 +1,1100 @@
+#####################################
+# domain_trans(olddomain, type, newdomain)
+# Allow a transition from olddomain to newdomain
+# upon executing a file labeled with type.
+# This only allows the transition; it does not
+# cause it to occur automatically - use domain_auto_trans
+# if that is what you want.
+#
+define(`domain_trans', `
+# Old domain may exec the file and transition to the new domain.
+allow $1 $2:file { getattr open read execute map };
+allow $1 $3:process transition;
+# New domain is entered by executing the file.
+allow $3 $2:file { entrypoint open read execute getattr map };
+# New domain can send SIGCHLD to its caller.
+ifelse($1, `init', `', `allow $3 $1:process sigchld;')
+# Enable AT_SECURE, i.e. libc secure mode.
+dontaudit $1 $3:process noatsecure;
+# XXX dontaudit candidate but requires further study.
+allow $1 $3:process { siginh rlimitinh };
+')
+
+#####################################
+# domain_auto_trans(olddomain, type, newdomain)
+# Automatically transition from olddomain to newdomain
+# upon executing a file labeled with type.
+#
+define(`domain_auto_trans', `
+# Allow the necessary permissions.
+domain_trans($1,$2,$3)
+# Make the transition occur by default.
+type_transition $1 $2:process $3;
+')
+
+#####################################
+# file_type_trans(domain, dir_type, file_type)
+# Allow domain to create a file labeled file_type in a
+# directory labeled dir_type.
+# This only allows the transition; it does not
+# cause it to occur automatically - use file_type_auto_trans
+# if that is what you want.
+#
+define(`file_type_trans', `
+# Allow the domain to add entries to the directory.
+allow $1 $2:dir ra_dir_perms;
+# Allow the domain to create the file.
+allow $1 $3:notdevfile_class_set create_file_perms;
+allow $1 $3:dir create_dir_perms;
+')
+
+#####################################
+# file_type_auto_trans(domain, dir_type, file_type)
+# Automatically label new files with file_type when
+# they are created by domain in directories labeled dir_type.
+#
+define(`file_type_auto_trans', `
+# Allow the necessary permissions.
+file_type_trans($1, $2, $3)
+# Make the transition occur by default.
+type_transition $1 $2:dir $3;
+type_transition $1 $2:notdevfile_class_set $3;
+')
+
+#####################################
+# r_dir_file(domain, type)
+# Allow the specified domain to read directories, files
+# and symbolic links of the specified type.
+define(`r_dir_file', `
+allow $1 $2:dir r_dir_perms;
+allow $1 $2:{ file lnk_file } r_file_perms;
+')
+
+#####################################
+# tmpfs_domain(domain)
+# Allow access to a unique type for this domain when creating tmpfs / ashmem files.
+define(`tmpfs_domain', `
+type_transition $1 tmpfs:file $1_tmpfs;
+allow $1 $1_tmpfs:file { read write getattr map };
+')
+
+# pdx macros for IPC. pdx is a high-level name which contains transport-specific
+# rules from underlying transport (e.g. UDS-based implementation).
+
+#####################################
+# pdx_service_attributes(service)
+# Defines type attribute used to identify various service-related types.
+define(`pdx_service_attributes', `
+attribute pdx_$1_endpoint_dir_type;
+attribute pdx_$1_endpoint_socket_type;
+attribute pdx_$1_channel_socket_type;
+attribute pdx_$1_server_type;
+')
+
+#####################################
+# pdx_service_socket_types(service, endpoint_dir_t)
+# Define types for endpoint and channel sockets.
+define(`pdx_service_socket_types', `
+typeattribute $2 pdx_$1_endpoint_dir_type;
+type pdx_$1_endpoint_socket, pdx_$1_endpoint_socket_type, pdx_endpoint_socket_type, file_type, coredomain_socket, mlstrustedobject, mlstrustedsubject;
+type pdx_$1_channel_socket, pdx_$1_channel_socket_type, pdx_channel_socket_type, coredomain_socket;
+userdebug_or_eng(`
+dontaudit su pdx_$1_endpoint_socket:unix_stream_socket *;
+dontaudit su pdx_$1_channel_socket:unix_stream_socket *;
+')
+')
+
+#####################################
+# pdx_server(server_domain, service)
+define(`pdx_server', `
+# Mark the server domain as a PDX server.
+typeattribute $1 pdx_$2_server_type;
+# Allow the init process to create the initial endpoint socket.
+allow init pdx_$2_endpoint_socket_type:unix_stream_socket { create bind };
+# Allow the server domain to use the endpoint socket and accept connections on it.
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+# than we need (e.g. we don"t need "bind" or "connect").
+allow $1 pdx_$2_endpoint_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown listen accept };
+# Allow the server domain to apply security context label to the channel socket pair (allow process to use setsockcreatecon_raw()).
+allow $1 self:process setsockcreate;
+# Allow the server domain to create a client channel socket.
+allow $1 pdx_$2_channel_socket_type:unix_stream_socket create_stream_socket_perms;
+# Prevent other processes from claiming to be a server for the same service.
+neverallow {domain -$1} pdx_$2_endpoint_socket_type:unix_stream_socket { listen accept };
+')
+
+#####################################
+# pdx_connect(client, service)
+define(`pdx_connect', `
+# Allow client to open the service endpoint file.
+allow $1 pdx_$2_endpoint_dir_type:dir r_dir_perms;
+allow $1 pdx_$2_endpoint_socket_type:sock_file rw_file_perms;
+# Allow the client to connect to endpoint socket.
+allow $1 pdx_$2_endpoint_socket_type:unix_stream_socket { connectto read write shutdown };
+')
+
+#####################################
+# pdx_use(client, service)
+define(`pdx_use', `
+# Allow the client to use the PDX channel socket.
+# Not using macro like "rw_socket_perms_no_ioctl" because it provides more rights
+# than we need (e.g. we don"t need "bind" or "connect").
+allow $1 pdx_$2_channel_socket_type:unix_stream_socket { read getattr write setattr lock append getopt setopt shutdown };
+# Client needs to use an channel event fd from the server.
+allow $1 pdx_$2_server_type:fd use;
+# Servers may receive sync fences, gralloc buffers, etc, from clients.
+# This could be tightened on a per-server basis, but keeping track of service
+# clients is error prone.
+allow pdx_$2_server_type $1:fd use;
+')
+
+#####################################
+# pdx_client(client, service)
+define(`pdx_client', `
+pdx_connect($1, $2)
+pdx_use($1, $2)
+')
+
+#####################################
+# init_daemon_domain(domain)
+# Set up a transition from init to the daemon domain
+# upon executing its binary.
+define(`init_daemon_domain', `
+domain_auto_trans(init, $1_exec, $1)
+')
+
+####################################
+# userfaultfd_use(domain)
+# Allow domain to create/use userfaultfd.
+define(`userfaultfd_use', `
+# Set up a type_transition to "userfaultfd" named anonymous inode object.
+type $1_userfaultfd;
+type_transition $1 $1:anon_inode $1_userfaultfd "[userfaultfd]";
+# Allow domain to create/use userfaultfd anon_inode.
+allow $1 $1_userfaultfd:anon_inode { create ioctl read };
+# Suppress errors generate during bugreport
+dontaudit su $1_userfaultfd:anon_inode *;
+# Other domains may not use userfaultfd anon_inodes created by this domain.
+neverallow { domain -$1 } $1_userfaultfd:anon_inode *;
+')
+
+####################################
+# virtualizationservice_use(domain)
+# Allow domain to create and communicate with a virtual machine using
+# virtualizationservice and virtualizationmanager.
+define(`virtualizationservice_use', `
+# Transition to virtualizationmanager when the client executes it.
+domain_auto_trans($1, virtualizationmanager_exec, virtualizationmanager)
+# Allow virtualizationmanager to communicate over UDS with the client.
+allow { virtualizationmanager crosvm } $1:unix_stream_socket { ioctl getattr read write };
+# Let the client pass file descriptors to virtualizationmanager and on to crosvm.
+allow { virtualizationmanager crosvm } $1:fd use;
+# Let the client use file descriptors created by virtualizationmanager.
+allow $1 virtualizationmanager:fd use;
+# Allow piping console log to the client
+allow { virtualizationmanager crosvm } $1:fifo_file { ioctl getattr read write };
+# Allow client to read/write vsock created by virtualizationmanager to communicate with the VM
+# that it created. Notice that we do not grant permission to create a vsock;
+# the client can only connect to VMs that it owns.
+allow $1 virtualizationmanager:vsock_socket { getattr getopt read write };
+# Allow client to inspect hypervisor capabilities
+get_prop($1, hypervisor_prop)
+# Allow client to read (but not open) the crashdump provided by virtualizationmanager
+allow $1 virtualizationservice_data_file:file { getattr read };
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+allow virtualizationmanager $1:dir search;
+allow virtualizationmanager $1:file read;
+allow virtualizationmanager $1:lnk_file read;
+')
+
+####################################
+# early_virtmgr_use(domain)
+# Allow domain to create and communicate with an early virtual machine using
+# early_virtmgr.
+define(`early_virtmgr_use', `
+# Transition to early_virtmgr when the client executes it.
+domain_auto_trans($1, early_virtmgr_exec, early_virtmgr)
+# Allow early_virtmgr to communicate over UDS with the client.
+allow { early_virtmgr crosvm } $1:unix_stream_socket { ioctl getattr read write };
+# Let the client pass file descriptors to early_virtmgr and on to crosvm.
+allow { early_virtmgr crosvm } $1:fd use;
+allow { early_virtmgr crosvm } $1_tmpfs:file rw_file_perms;
+# Let the client use file descriptors created by early_virtmgr.
+allow $1 early_virtmgr:fd use;
+# Allow piping console log to the client
+allow { early_virtmgr crosvm } $1:fifo_file { ioctl getattr read write };
+# Allow client to read/write vsock created by early_virtmgr to communicate with the VM
+# that it created. Notice that we do not grant permission to create a vsock;
+# the client can only connect to VMs that it owns.
+allow $1 early_virtmgr:vsock_socket { getattr getopt read write };
+# Allow client to inspect hypervisor capabilities
+get_prop($1, hypervisor_prop)
+# Allow early_virtmgr to read the path of the client using /proc/{PID}/exe
+allow early_virtmgr $1:dir search;
+allow early_virtmgr $1:file read;
+allow early_virtmgr $1:lnk_file read;
+')
+
+#####################################
+# app_domain(domain)
+# Allow a base set of permissions required for all apps.
+define(`app_domain', `
+typeattribute $1 appdomain;
+# Label tmpfs objects for all apps.
+type_transition $1 tmpfs:file appdomain_tmpfs;
+userfaultfd_use($1)
+allow $1 appdomain_tmpfs:file { execute getattr map read write };
+neverallow { $1 -runas_app -shell -simpleperf } { domain -$1 }:file no_rw_file_perms;
+neverallow { appdomain -runas_app -shell -simpleperf -$1 } $1:file no_rw_file_perms;
+# The Android security model guarantees the confidentiality and integrity
+# of application data and execution state. Ptrace bypasses those
+# confidentiality guarantees. Disallow ptrace access from system components to
+# apps. crash_dump is excluded, as it needs ptrace access to produce stack
+# traces. runas_app is excluded, as it operates only on debuggable apps.
+# simpleperf is excluded, as it operates only on debuggable or profileable
+# apps. llkd is excluded, as it needs ptrace access to inspect stack traces for
+# live lock conditions.
+neverallow { domain -$1 -crash_dump userdebug_or_eng(`-llkd') -runas_app -simpleperf } $1:process ptrace;
+')
+
+#####################################
+# untrusted_app_domain(domain)
+# Allow a base set of permissions required for all untrusted apps.
+define(`untrusted_app_domain', `
+typeattribute $1 untrusted_app_all;
+')
+
+#####################################
+# isolated_app_domain(domain)
+# Allow a base set of permissions required for all isolated apps.
+define(`isolated_app_domain', `
+typeattribute $1 isolated_app_all;
+')
+
+#####################################
+# net_domain(domain)
+# Allow a base set of permissions required for network access.
+define(`net_domain', `
+typeattribute $1 netdomain;
+')
+
+#####################################
+# bluetooth_domain(domain)
+# Allow a base set of permissions required for bluetooth access.
+define(`bluetooth_domain', `
+typeattribute $1 bluetoothdomain;
+')
+
+#####################################
+# hal_attribute(hal_name)
+# Add an attribute for hal implementations along with necessary
+# restrictions.
+define(`hal_attribute', `
+attribute hal_$1;
+expandattribute hal_$1 true;
+attribute hal_$1_client;
+expandattribute hal_$1_client true;
+attribute hal_$1_server;
+expandattribute hal_$1_server false;
+
+neverallow { hal_$1_server -halserverdomain } domain:process fork;
+# hal_*_client and halclientdomain attributes are always expanded for
+# performance reasons. Neverallow rules targeting expanded attributes can not be
+# verified by CTS since these attributes are already expanded by that time.
+build_test_only(`
+neverallow { hal_$1_server -hal_$1 } domain:process fork;
+neverallow { hal_$1_client -halclientdomain } domain:process fork;
+')
+')
+
+#####################################
+# hal_server_domain(domain, hal_type)
+# Allow a base set of permissions required for a domain to offer a
+# HAL implementation of the specified type over HwBinder.
+#
+# For example, default implementation of Foo HAL:
+#   type hal_foo_default, domain;
+#   hal_server_domain(hal_foo_default, hal_foo)
+#
+define(`hal_server_domain', `
+typeattribute $1 halserverdomain;
+typeattribute $1 $2_server;
+typeattribute $1 $2;
+')
+
+#####################################
+# hal_client_domain(domain, hal_type)
+# Allow a base set of permissions required for a domain to be a
+# client of a HAL of the specified type.
+#
+# For example, make some_domain a client of Foo HAL:
+#   hal_client_domain(some_domain, hal_foo)
+#
+define(`hal_client_domain', `
+typeattribute $1 halclientdomain;
+typeattribute $1 $2_client;
+
+# TODO(b/34170079): Make the inclusion of the rules below conditional also on
+# non-Treble devices. For now, on non-Treble device, always grant clients of a
+# HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
+not_full_treble(`
+typeattribute $1 $2;
+# Find passthrough HAL implementations
+allow $2 system_file:dir r_dir_perms;
+allow $2 vendor_file:dir r_dir_perms;
+allow $2 vendor_file:file { read open getattr execute map };
+')
+')
+
+#####################################
+# passthrough_hal_client_domain(domain, hal_type)
+# Allow a base set of permissions required for a domain to be a
+# client of a passthrough HAL of the specified type.
+#
+# For example, make some_domain a client of passthrough Foo HAL:
+#   passthrough_hal_client_domain(some_domain, hal_foo)
+#
+define(`passthrough_hal_client_domain', `
+typeattribute $1 halclientdomain;
+typeattribute $1 $2_client;
+typeattribute $1 $2;
+# Find passthrough HAL implementations
+allow $2 system_file:dir r_dir_perms;
+allow $2 vendor_file:dir r_dir_perms;
+allow $2 vendor_file:file { read open getattr execute map };
+')
+
+#####################################
+# unix_socket_connect(clientdomain, socket, serverdomain)
+# Allow a local socket connection from clientdomain via
+# socket to serverdomain.
+#
+# Note: If you see denial records that distill to the
+# following allow rules:
+# allow clientdomain property_socket:sock_file write;
+# allow clientdomain init:unix_stream_socket connectto;
+# allow clientdomain something_prop:property_service set;
+#
+# This sequence is indicative of attempting to set a property.
+# use set_prop(sourcedomain, targetproperty)
+#
+define(`unix_socket_connect', `
+allow $1 $2_socket:sock_file write;
+allow $1 $3:unix_stream_socket connectto;
+')
+
+#####################################
+# set_prop(sourcedomain, targetproperty)
+# Allows source domain to set the
+# targetproperty.
+#
+define(`set_prop', `
+unix_socket_connect($1, property, init)
+allow $1 $2:property_service set;
+get_prop($1, $2)
+')
+
+#####################################
+# get_prop(sourcedomain, targetproperty)
+# Allows source domain to read the
+# targetproperty.
+#
+define(`get_prop', `
+allow $1 $2:file { getattr open read map };
+')
+
+#####################################
+# unix_socket_send(clientdomain, socket, serverdomain)
+# Allow a local socket send from clientdomain via
+# socket to serverdomain.
+define(`unix_socket_send', `
+allow $1 $2_socket:sock_file write;
+allow $1 $3:unix_dgram_socket sendto;
+')
+
+#####################################
+# binder_use(domain)
+# Allow domain to use Binder IPC.
+define(`binder_use', `
+# Call the servicemanager and transfer references to it.
+allow $1 servicemanager:binder { call transfer };
+# Allow servicemanager to send out callbacks
+allow servicemanager $1:binder { call transfer };
+# servicemanager performs getpidcon on clients.
+allow servicemanager $1:dir search;
+allow servicemanager $1:file { read open };
+allow servicemanager $1:process getattr;
+# rw access to /dev/binder and /dev/ashmem is presently granted to
+# all domains in domain.te.
+')
+
+#####################################
+# hwbinder_use(domain)
+# Allow domain to use HwBinder IPC.
+define(`hwbinder_use', `
+# Call the hwservicemanager and transfer references to it.
+allow $1 hwservicemanager:binder { call transfer };
+# Allow hwservicemanager to send out callbacks
+allow hwservicemanager $1:binder { call transfer };
+# hwservicemanager performs getpidcon on clients.
+allow hwservicemanager $1:dir search;
+allow hwservicemanager $1:file { read open map };
+allow hwservicemanager $1:process getattr;
+# rw access to /dev/hwbinder and /dev/ashmem is presently granted to
+# all domains in domain.te.
+')
+
+#####################################
+# vndbinder_use(domain)
+# Allow domain to use Binder IPC.
+define(`vndbinder_use', `
+# Talk to the vndbinder device node
+allow $1 vndbinder_device:chr_file rw_file_perms;
+# Call the vndservicemanager and transfer references to it.
+allow $1 vndservicemanager:binder { call transfer };
+# vndservicemanager performs getpidcon on clients.
+allow vndservicemanager $1:dir search;
+allow vndservicemanager $1:file { read open map };
+allow vndservicemanager $1:process getattr;
+')
+
+#####################################
+# binder_call(clientdomain, serverdomain)
+# Allow clientdomain to perform binder IPC to serverdomain.
+define(`binder_call', `
+# Call the server domain and optionally transfer references to it.
+allow $1 $2:binder { call transfer };
+# Allow the serverdomain to transfer references to the client on the reply.
+allow $2 $1:binder transfer;
+# Receive and use open files from the server.
+allow $1 $2:fd use;
+')
+
+#####################################
+# binder_service(domain)
+# Deprecated. Consider granting the exact permissions required by your service.
+define(`binder_service', `
+typeattribute $1 binderservicedomain;
+')
+
+#####################################
+# wakelock_use(domain)
+# Allow domain to manage wake locks
+define(`wakelock_use', `
+# TODO(b/115946999): Remove /sys/power/* permissions once CONFIG_PM_WAKELOCKS is
+# deprecated.
+# Access /sys/power/wake_lock and /sys/power/wake_unlock
+allow $1 sysfs_wake_lock:file rw_file_perms;
+# Accessing these files requires CAP_BLOCK_SUSPEND
+allow $1 self:global_capability2_class_set block_suspend;
+# system_suspend permissions
+binder_call($1, system_suspend_server)
+allow $1 system_suspend_hwservice:hwservice_manager find;
+# halclientdomain permissions
+hwbinder_use($1)
+get_prop($1, hwservicemanager_prop)
+allow $1 hidl_manager_hwservice:hwservice_manager find;
+# AIDL suspend hal permissions
+allow $1 hal_system_suspend_service:service_manager find;
+binder_use($1)
+')
+
+#####################################
+# selinux_check_access(domain)
+# Allow domain to check SELinux permissions via selinuxfs.
+define(`selinux_check_access', `
+r_dir_file($1, selinuxfs)
+allow $1 selinuxfs:file w_file_perms;
+allow $1 kernel:security compute_av;
+allow $1 self:netlink_selinux_socket { read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind };
+')
+
+#####################################
+# selinux_check_context(domain)
+# Allow domain to check SELinux contexts via selinuxfs.
+define(`selinux_check_context', `
+r_dir_file($1, selinuxfs)
+allow $1 selinuxfs:file w_file_perms;
+allow $1 kernel:security check_context;
+')
+
+#####################################
+# create_pty(domain)
+# Allow domain to create and use a pty, isolated from any other domain ptys.
+define(`create_pty', `
+# Each domain gets a unique devpts type.
+type $1_devpts, fs_type;
+# Label the pty with the unique type when created.
+type_transition $1 devpts:chr_file $1_devpts;
+# Allow use of the pty after creation.
+allow $1 $1_devpts:chr_file { open getattr read write ioctl };
+allowxperm $1 $1_devpts:chr_file ioctl unpriv_tty_ioctls;
+# TIOCSTI is only ever used for exploits. Block it.
+# b/33073072, b/7530569
+# http://www.openwall.com/lists/oss-security/2016/09/26/14
+neverallowxperm * $1_devpts:chr_file ioctl TIOCSTI;
+# Note: devpts:dir search and ptmx_device:chr_file rw_file_perms
+# allowed to everyone via domain.te.
+')
+
+#####################################
+# Non system_app application set
+#
+define(`non_system_app_set', `{ appdomain -system_app }')
+
+#####################################
+# Recovery only
+# SELinux rules which apply only to recovery mode
+#
+define(`recovery_only', ifelse(target_recovery, `true', $1, ))
+
+#####################################
+# Not recovery
+# SELinux rules which apply only to non-recovery (normal) mode
+#
+define(`not_recovery', ifelse(target_recovery, `true', , $1))
+
+#####################################
+# Full TREBLE only
+# SELinux rules which apply only to full TREBLE devices
+#
+define(`full_treble_only', ifelse(target_full_treble, `true', $1,
+ifelse(target_full_treble, `cts',
+# BEGIN_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+$1
+# END_TREBLE_ONLY -- this marker is used by CTS -- do not modify
+, )))
+
+#####################################
+# Not full TREBLE
+# SELinux rules which apply only to devices which are not full TREBLE devices
+#
+define(`not_full_treble', ifelse(target_full_treble, `true', , $1))
+
+#####################################
+# enforce_debugfs_restriction
+# SELinux rules which apply to devices that enable debugfs restrictions.
+# The keyword "cts" is used to insert markers to only CTS test the neverallows
+# added by the macro for S-launch devices and newer.
+define(`enforce_debugfs_restriction', ifelse(target_enforce_debugfs_restriction, `true', $1,
+ifelse(target_enforce_debugfs_restriction, `cts',
+# BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+$1
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+, )))
+
+#####################################
+# no_debugfs_restriction
+# SELinux rules which apply to devices that do not have debugfs restrictions in non-user builds.
+define(`no_debugfs_restriction', ifelse(target_enforce_debugfs_restriction, `true', , $1))
+
+#####################################
+# Compatible property only
+# SELinux rules which apply only to devices with compatible property
+#
+define(`compatible_property_only', ifelse(target_compatible_property, `true', $1,
+ifelse(target_compatible_property, `cts',
+# BEGIN_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+$1
+# END_COMPATIBLE_PROPERTY_ONLY -- this marker is used by CTS -- do not modify
+, )))
+
+#####################################
+# Not compatible property
+# SELinux rules which apply only to devices without compatible property
+#
+define(`not_compatible_property', ifelse(target_compatible_property, `true', , $1))
+
+#####################################
+# Userdebug or eng builds
+# SELinux rules which apply only to userdebug or eng builds
+#
+define(`userdebug_or_eng', ifelse(target_build_variant, `eng', $1, ifelse(target_build_variant, `userdebug', $1)))
+
+#####################################
+# asan builds
+# SELinux rules which apply only to asan builds
+#
+define(`with_asan', ifelse(target_with_asan, `true', userdebug_or_eng(`$1'), ))
+
+#####################################
+# native coverage builds
+# SELinux rules which apply only to builds with native coverage
+#
+define(`with_native_coverage', ifelse(target_with_native_coverage, `true', userdebug_or_eng(`$1'), ))
+
+#####################################
+# Build-time-only test
+# SELinux rules which are verified during build, but not as part of *TS testing.
+#
+define(`build_test_only', ifelse(target_exclude_build_test, `true', , $1))
+
+####################################
+# Fallback crash handling for processes that can't exec crash_dump (e.g. because of seccomp).
+#
+define(`crash_dump_fallback', `
+userdebug_or_eng(`
+  allow $1 su:fifo_file append;
+')
+allow $1 anr_data_file:file append;
+allow $1 dumpstate:fd use;
+allow $1 incidentd:fd use;
+# TODO: Figure out why write is needed.
+allow $1 dumpstate:fifo_file { append write };
+allow $1 incidentd:fifo_file { append write };
+allow $1 system_server:fifo_file { append write };
+allow $1 tombstoned:unix_stream_socket connectto;
+allow $1 tombstoned:fd use;
+allow $1 tombstoned_crash_socket:sock_file write;
+allow $1 tombstone_data_file:file append;
+')
+
+#####################################
+# WITH_DEXPREOPT builds
+# SELinux rules which apply only when pre-opting.
+#
+define(`with_dexpreopt', ifelse(target_with_dexpreopt, `true', $1))
+
+#####################################
+# write_logd(domain)
+# Ability to write to android log
+# daemon via sockets
+define(`write_logd', `
+unix_socket_send($1, logdw, logd)
+allow $1 pmsg_device:chr_file w_file_perms;
+')
+
+#####################################
+# read_logd(domain)
+# Ability to run logcat and read from android
+# log daemon via sockets
+define(`read_logd', `
+allow $1 logcat_exec:file rx_file_perms;
+unix_socket_connect($1, logdr, logd)
+')
+
+#####################################
+# read_runtime_log_tags(domain)
+# ability to directly map the runtime event log tags
+define(`read_runtime_log_tags', `
+allow $1 runtime_event_log_tags_file:file r_file_perms;
+')
+
+#####################################
+# control_logd(domain)
+# Ability to control
+# android log daemon via sockets
+define(`control_logd', `
+# Group AID_LOG checked by filesystem & logd
+# to permit control commands
+unix_socket_connect($1, logd, logd)
+')
+
+#####################################
+# use_keystore(domain)
+# Ability to use keystore.
+# Keystore is requires the following permissions
+# to call getpidcon.
+define(`use_keystore', `
+  allow keystore $1:dir search;
+  allow keystore $1:file { read open };
+  allow keystore $1:process getattr;
+  allow $1 apc_service:service_manager find;
+  allow $1 keystore_service:service_manager find;
+  allow $1 legacykeystore_service:service_manager find;
+  binder_call($1, keystore)
+  binder_call(keystore, $1)
+')
+
+#####################################
+# use_credstore(domain)
+# Ability to use credstore.
+define(`use_credstore', `
+  allow credstore $1:dir search;
+  allow credstore $1:file { read open };
+  allow credstore $1:process getattr;
+  allow $1 credstore_service:service_manager find;
+  binder_call($1, credstore)
+  binder_call(credstore, $1)
+')
+
+###########################################
+# use_drmservice(domain)
+# Ability to use DrmService which requires
+# DrmService to call getpidcon.
+define(`use_drmservice', `
+  allow drmserver $1:dir search;
+  allow drmserver $1:file { read open };
+  allow drmserver $1:process getattr;
+')
+
+###########################################
+# add_service(domain, service)
+# Ability for domain to add a service to service_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+define(`add_service', `
+  allow $1 $2:service_manager { add find };
+  neverallow { domain -$1 } $2:service_manager add;
+
+  # On debug builds with root, allow binder services to use binder over TCP.
+  # Not using rw_socket_perms_no_ioctl to avoid granting too many permissions.
+  userdebug_or_eng(`
+    allow $1 su:tcp_socket { accept getopt read write };
+  ')
+')
+
+###########################################
+# add_hwservice(domain, service)
+# Ability for domain to add a service to hwservice_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+define(`add_hwservice', `
+  allow $1 $2:hwservice_manager { add find };
+  allow $1 hidl_base_hwservice:hwservice_manager add;
+  neverallow { domain -$1 } $2:hwservice_manager add;
+')
+
+###########################################
+# hal_attribute_hwservice(attribute, service)
+# Ability for domain to get a service to hwservice_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+#
+# Used to pair hal_foo_client with hal_foo_hwservice
+define(`hal_attribute_hwservice', `
+  allow $1_client $2:hwservice_manager find;
+  add_hwservice($1_server, $2)
+
+  build_test_only(`
+    # if you are hitting this neverallow, try using:
+    #     hal_client_domain(<your domain>, hal_<foo>)
+    # instead
+    neverallow { domain -$1_client -$1_server } $2:hwservice_manager find;
+  ')
+')
+
+###########################################
+# hal_attribute_service(attribute, service)
+# Ability for domain to get a service to service_manager
+# and find it. It also creates a neverallow preventing
+# others from adding it.
+#
+# Used to pair hal_foo_client with hal_foo_service
+define(`hal_attribute_service', `
+  allow $1_client $2:service_manager find;
+  add_service($1_server, $2)
+
+  build_test_only(`
+    # if you are hitting this neverallow, try using:
+    #     hal_client_domain(<your domain>, hal_<foo>)
+    # instead
+    neverallow {
+        domain
+        -$1_client
+        -$1_server
+        # some services are allowed to find all services
+        -atrace
+        -shell
+        -system_app
+        -traceur_app
+    } $2:service_manager find;
+  ')
+')
+
+###################################
+# can_profile_heap(domain)
+# Allow processes within the domain to have their heap profiled by central
+# heapprofd.
+define(`can_profile_heap', `
+  # Allow central daemon to send signal for client initialization.
+  allow heapprofd $1:process signal;
+  # Allow connecting to the daemon.
+  unix_socket_connect($1, heapprofd, heapprofd)
+  # Allow daemon to use the passed fds.
+  allow heapprofd $1:fd use;
+  # Allow to read and write to heapprofd shmem.
+  # The client needs to read the read and write pointers in order to write.
+  allow $1 heapprofd_tmpfs:file { read write getattr map };
+  # Use shared memory received over the unix socket.
+  allow $1 heapprofd:fd use;
+
+  # To read and write from the received file descriptors.
+  # /proc/[pid]/maps and /proc/[pid]/mem have the same SELinux label as the
+  # process they relate to.
+  # We need to write to /proc/$PID/page_idle to find idle allocations.
+  # The client only opens /proc/self/page_idle with RDWR, everything else
+  # with RDONLY.
+  # heapprofd cannot open /proc/$PID/mem itself, as it does not have
+  # sys_ptrace.
+  allow heapprofd $1:file rw_file_perms;
+  # Allow searching the /proc/[pid] directory for cmdline.
+  allow heapprofd $1:dir r_dir_perms;
+')
+
+###################################
+# never_profile_heap(domain)
+# Opt out of heap profiling by heapprofd.
+define(`never_profile_heap', `
+  neverallow heapprofd $1:file read;
+  neverallow heapprofd $1:process signal;
+')
+
+###################################
+# can_profile_perf(domain)
+# Allow processes within the domain to be profiled, and have their stacks
+# sampled, by traced_perf.
+define(`can_profile_perf', `
+  # Allow directory & file read to traced_perf, as it stat(2)s /proc/[pid], and
+  # reads /proc/[pid]/cmdline.
+  allow traced_perf $1:file r_file_perms;
+  allow traced_perf $1:dir r_dir_perms;
+
+  # Allow central daemon to send signal to request /proc/[pid]/maps and
+  # /proc/[pid]/mem fds from this process.
+  allow traced_perf $1:process signal;
+
+  # Allow connecting to the daemon.
+  unix_socket_connect($1, traced_perf, traced_perf)
+  # Allow daemon to use the passed fds.
+  allow traced_perf $1:fd use;
+')
+
+###################################
+# never_profile_perf(domain)
+# Opt out of profiling by traced_perf.
+define(`never_profile_perf', `
+  neverallow traced_perf $1:file read;
+  neverallow traced_perf $1:process signal;
+')
+
+###################################
+# perfetto_producer(domain)
+# Allow processes within the domain to write data to Perfetto.
+# When applying this macro, you might need to also allow traced to use the
+# producer tmpfs domain, if the producer will be the one creating the shared
+# memory.
+define(`perfetto_producer', `
+  allow $1 traced:fd use;
+  allow $1 traced_tmpfs:file { read write getattr map };
+  unix_socket_connect($1, traced_producer, traced)
+
+  # Also allow the service to use the producer file descriptors. This is
+  # necessary when the producer is creating the shared memory, as it will be
+  # passed to the service as a file descriptor (obtained from memfd_create).
+  allow traced $1:fd use;
+')
+
+###########################################
+# dump_hal(hal_type)
+# Ability to dump the hal debug info
+#
+define(`dump_hal', `
+  hal_client_domain(dumpstate, $1);
+  allow $1_server dumpstate:fifo_file write;
+  allow $1_server dumpstate:fd use;
+')
+
+#####################################
+# treble_sysprop_neverallow(rules)
+# SELinux neverallow rules which enforces the accessibility of each property
+# outside the owner.
+#
+# For devices launching with R or later, exported properties must be explicitly marked as
+# "restricted" or "public", depending on the accessibility outside the owner.
+# For devices launching with Q or eariler, this neverallow rules can be relaxed with defining
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true on BoardConfig.mk.
+# See {partition}_{accessibility}_prop macros below.
+#
+# CTS uses these rules only for devices launching with R or later.
+#
+# TODO(b/131162102): deprecate BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW
+#
+define(`treble_sysprop_neverallow', ifelse(target_treble_sysprop_neverallow, `true', $1,
+ifelse(target_treble_sysprop_neverallow, `cts',
+# BEGIN_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+$1
+# END_LAUNCHING_WITH_R_ONLY -- this marker is used by CTS -- do not modify
+, )))
+
+#####################################
+# enforce_sysprop_owner(rules)
+# SELinux neverallow rules which enforces the owner of each property.
+#
+# For devices launching with S or later, all properties must be explicitly marked as one of:
+# system_property_type, vendor_property_type, or product_property_type.
+# For devices launching with R or eariler, this neverallow rules can be relaxed with defining
+# BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true on BoardConfig.mk.
+# See {partition}_{accessibility}_prop macros below.
+#
+# CTS uses these ules only for devices launching with S or later.
+#
+define(`enforce_sysprop_owner', ifelse(target_enforce_sysprop_owner, `true', $1,
+ifelse(target_enforce_sysprop_owner, `cts',
+# BEGIN_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+$1
+# END_LAUNCHING_WITH_S_ONLY -- this marker is used by CTS -- do not modify
+, )))
+
+###########################################
+# define_prop(name, owner, scope)
+# Define a property with given owner and scope
+#
+define(`define_prop', `
+  type $1, property_type, $2_property_type, $2_$3_property_type;
+')
+
+###########################################
+# system_internal_prop(name)
+# Define a /system-owned property used only in /system
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+define(`system_internal_prop', `
+  define_prop($1, system, internal)
+  treble_sysprop_neverallow(`
+    neverallow { domain -coredomain } $1:file no_rw_file_perms;
+  ')
+')
+
+###########################################
+# system_restricted_prop(name)
+# Define a /system-owned property which can't be written outside /system
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+define(`system_restricted_prop', `
+  define_prop($1, system, restricted)
+  treble_sysprop_neverallow(`
+    neverallow { domain -coredomain } $1:property_service set;
+  ')
+')
+
+###########################################
+# system_public_prop(name)
+# Define a /system-owned property with no restrictions
+#
+define(`system_public_prop', `define_prop($1, system, public)')
+
+###########################################
+# system_vendor_config_prop(name)
+# Define a /system-owned property which can only be written by vendor_init
+# This is a macro for vendor-specific configuration properties which is meant
+# to be set once from vendor_init.
+#
+define(`system_vendor_config_prop', `
+  system_public_prop($1)
+  set_prop(vendor_init, $1)
+  neverallow { domain -init -vendor_init } $1:property_service set;
+')
+
+###########################################
+# product_internal_prop(name)
+# Define a /product-owned property used only in /product
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+define(`product_internal_prop', `
+  define_prop($1, product, internal)
+  treble_sysprop_neverallow(`
+    neverallow { domain -coredomain } $1:file no_rw_file_perms;
+  ')
+')
+
+###########################################
+# product_restricted_prop(name)
+# Define a /product-owned property which can't be written outside /product
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+define(`product_restricted_prop', `
+  define_prop($1, product, restricted)
+  treble_sysprop_neverallow(`
+    neverallow { domain -coredomain } $1:property_service set;
+  ')
+')
+
+###########################################
+# product_public_prop(name)
+# Define a /product-owned property with no restrictions
+#
+define(`product_public_prop', `define_prop($1, product, public)')
+
+###########################################
+# vendor_internal_prop(name)
+# Define a /vendor-owned property used only in /vendor
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+define(`vendor_internal_prop', `
+  define_prop($1, vendor, internal)
+  treble_sysprop_neverallow(`
+# init and dumpstate are in coredomain, but should be able to read all props.
+    neverallow { coredomain -init -dumpstate } $1:file no_rw_file_perms;
+  ')
+')
+
+###########################################
+# vendor_restricted_prop(name)
+# Define a /vendor-owned property which can't be written outside /vendor
+# For devices launching with Q or eariler, this restriction can be relaxed with
+# BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
+#
+define(`vendor_restricted_prop', `
+  define_prop($1, vendor, restricted)
+  treble_sysprop_neverallow(`
+# init is in coredomain, but should be able to write all props.
+    neverallow { coredomain -init } $1:property_service set;
+  ')
+')
+
+###########################################
+# vendor_public_prop(name)
+# Define a /vendor-owned property with no restrictions
+#
+define(`vendor_public_prop', `define_prop($1, vendor, public)')
+
+#####################################
+# read_fstab(domain)
+# Ability to call ReadDefaultFstab() and ReadFstabFromFile().
+#
+define(`read_fstab', `
+  allow $1 { metadata_file gsi_metadata_file_type }:dir search;
+  allow $1 gsi_public_metadata_file:file r_file_perms;
+  allow $1 { proc_bootconfig proc_cmdline }:file r_file_perms;
+')
+
+######################################
+# use_bootstrap_libs(domain)
+# Allow domain to use bootstrap bionic libraries in system/lib[64]/bootstrap
+define(`use_bootstrap_libs', `
+  allow $1 system_bootstrap_lib_file:dir r_dir_perms;
+  allow $1 system_bootstrap_lib_file:file { execute read open getattr map };
+')
+
+######################################
+# use_apex_info(domain)
+# Allow access to apex information
+define(`use_apex_info', `
+  allow $1 apex_mnt_dir:dir r_dir_perms;
+  allow $1 apex_info_file:file r_file_perms;
+  r_dir_file($1, vendor_apex_metadata_file)
+')
+
+####################################
+# io_uring_use(domain)
+# Allow domain to create/use io_uring.
+define(`io_uring_use', `
+# Set up a type_transition to "io_uring" named anonymous inode object.
+type $1_iouring;
+type_transition $1 $1:anon_inode $1_iouring "[io_uring]";
+# Allow domain to create/use io_uring anon_inode.
+allow $1 $1_iouring:anon_inode { create map read write };
+allow $1 self:io_uring sqpoll;
+# Other domains may not use iouring anon_inodes created by this domain.
+neverallow { domain -$1 } $1_iouring:anon_inode *;
+# io_uring checks for CAP_IPC_LOCK to determine whether or not to track
+# memory usage per uid against RLIMIT_MEMLOCK. This can lead folks to
+# grant CAP_IPC_LOCK to silence avc denials, which is undesireable.
+dontaudit $1 self:global_capability_class_set ipc_lock;
+')
diff --git a/prebuilts/api/202504/public/tee.te b/prebuilts/api/202504/public/tee.te
new file mode 100644
index 0000000..a310d94
--- /dev/null
+++ b/prebuilts/api/202504/public/tee.te
@@ -0,0 +1,11 @@
+##
+# trusted execution environment (tee) daemon
+#
+type tee, domain;
+
+# Device(s) for communicating with the TEE
+type tee_device, dev_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/tombstoned.te b/prebuilts/api/202504/public/tombstoned.te
new file mode 100644
index 0000000..bc57219
--- /dev/null
+++ b/prebuilts/api/202504/public/tombstoned.te
@@ -0,0 +1,7 @@
+# debugger interface
+type tombstoned, domain, mlstrustedsubject;
+type tombstoned_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/toolbox.te b/prebuilts/api/202504/public/toolbox.te
new file mode 100644
index 0000000..47411bb
--- /dev/null
+++ b/prebuilts/api/202504/public/toolbox.te
@@ -0,0 +1,8 @@
+# Any toolbox command run by init.
+# Do NOT use this domain for toolbox when run by any other domain.
+type toolbox, domain;
+type toolbox_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/traced.te b/prebuilts/api/202504/public/traced.te
new file mode 100644
index 0000000..79c21ba
--- /dev/null
+++ b/prebuilts/api/202504/public/traced.te
@@ -0,0 +1,6 @@
+type traced, domain, coredomain, mlstrustedsubject;
+type traced_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/traced_perf.te b/prebuilts/api/202504/public/traced_perf.te
new file mode 100644
index 0000000..99d4a14
--- /dev/null
+++ b/prebuilts/api/202504/public/traced_perf.te
@@ -0,0 +1,5 @@
+type traced_perf, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/traced_probes.te b/prebuilts/api/202504/public/traced_probes.te
new file mode 100644
index 0000000..bc782a8
--- /dev/null
+++ b/prebuilts/api/202504/public/traced_probes.te
@@ -0,0 +1,5 @@
+type traced_probes, domain, coredomain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/traceur_app.te b/prebuilts/api/202504/public/traceur_app.te
new file mode 100644
index 0000000..04df12f
--- /dev/null
+++ b/prebuilts/api/202504/public/traceur_app.te
@@ -0,0 +1,5 @@
+type traceur_app, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/ueventd.te b/prebuilts/api/202504/public/ueventd.te
new file mode 100644
index 0000000..e0bd5ca
--- /dev/null
+++ b/prebuilts/api/202504/public/ueventd.te
@@ -0,0 +1,8 @@
+# ueventd seclabel is specified in init.rc since
+# it lives in the rootfs and has no unique file type.
+type ueventd, domain;
+type ueventd_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/uncrypt.te b/prebuilts/api/202504/public/uncrypt.te
new file mode 100644
index 0000000..55a2b36
--- /dev/null
+++ b/prebuilts/api/202504/public/uncrypt.te
@@ -0,0 +1,7 @@
+# uncrypt
+type uncrypt, domain, mlstrustedsubject;
+type uncrypt_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/untrusted_app.te b/prebuilts/api/202504/public/untrusted_app.te
new file mode 100644
index 0000000..af1ac27
--- /dev/null
+++ b/prebuilts/api/202504/public/untrusted_app.te
@@ -0,0 +1,40 @@
+###
+### Untrusted apps.
+###
+### Apps are labeled based on mac_permissions.xml (maps signer and
+### optionally package name to seinfo value) and seapp_contexts (maps UID
+### and optionally seinfo value to domain for process and type for data
+### directory).  The untrusted_app domain is the default assignment in
+### seapp_contexts for any app with UID between APP_AID (10000)
+### and AID_ISOLATED_START (99000) if the app has no specific seinfo
+### value as determined from mac_permissions.xml.  In current AOSP, this
+### domain is assigned to all non-system apps as well as to any system apps
+### that are not signed by the platform key.  To move
+### a system app into a specific domain, add a signer entry for it to
+### mac_permissions.xml and assign it one of the pre-existing seinfo values
+### or define and use a new seinfo value in both mac_permissions.xml and
+### seapp_contexts.
+###
+
+# This file defines the rules for untrusted apps running with
+# targetSdkVersion >= 34.
+type untrusted_app, domain;
+# This file defines the rules for untrusted apps running with
+# 31 < targetSdkVersion <= 33.
+type untrusted_app_32, domain;
+# This file defines the rules for untrusted apps running with
+# 29 < targetSdkVersion <= 31.
+type untrusted_app_30, domain;
+# This file defines the rules for untrusted apps running with
+# targetSdkVersion = 29.
+type untrusted_app_29, domain;
+# This file defines the rules for untrusted apps running with
+# 25 < targetSdkVersion <= 28.
+type untrusted_app_27, domain;
+# This file defines the rules for untrusted apps running with
+# targetSdkVersion <= 25.
+type untrusted_app_25, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/update_engine.te b/prebuilts/api/202504/public/update_engine.te
new file mode 100644
index 0000000..3c6c0b0
--- /dev/null
+++ b/prebuilts/api/202504/public/update_engine.te
@@ -0,0 +1,7 @@
+# Domain for update_engine daemon.
+type update_engine, domain, update_engine_common;
+type update_engine_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/update_verifier.te b/prebuilts/api/202504/public/update_verifier.te
new file mode 100644
index 0000000..a8804ce
--- /dev/null
+++ b/prebuilts/api/202504/public/update_verifier.te
@@ -0,0 +1,7 @@
+# update_verifier
+type update_verifier, domain;
+type update_verifier_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/usbd.te b/prebuilts/api/202504/public/usbd.te
new file mode 100644
index 0000000..9ff08d2
--- /dev/null
+++ b/prebuilts/api/202504/public/usbd.te
@@ -0,0 +1,6 @@
+type usbd, domain;
+type usbd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vdc.te b/prebuilts/api/202504/public/vdc.te
new file mode 100644
index 0000000..04fc39e
--- /dev/null
+++ b/prebuilts/api/202504/public/vdc.te
@@ -0,0 +1,12 @@
+# vdc is a helper program for making Binder calls to vold.  It is spawned from
+# init for various reasons, such as initializing file-based encryption and
+# metadata encryption, and managing userdata checkpointing.
+#
+# We also transition into this domain from dumpstate, when
+# collecting bug reports.
+type vdc, domain;
+type vdc_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vendor_init.te b/prebuilts/api/202504/public/vendor_init.te
new file mode 100644
index 0000000..ef1386e
--- /dev/null
+++ b/prebuilts/api/202504/public/vendor_init.te
@@ -0,0 +1,6 @@
+# vendor_init is its own domain.
+type vendor_init, domain, mlstrustedsubject;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vendor_misc_writer.te b/prebuilts/api/202504/public/vendor_misc_writer.te
new file mode 100644
index 0000000..a64eee5
--- /dev/null
+++ b/prebuilts/api/202504/public/vendor_misc_writer.te
@@ -0,0 +1,7 @@
+# vendor_misc_writer
+type vendor_misc_writer, domain;
+type vendor_misc_writer_exec, vendor_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vendor_modprobe.te b/prebuilts/api/202504/public/vendor_modprobe.te
new file mode 100644
index 0000000..8ec0aba
--- /dev/null
+++ b/prebuilts/api/202504/public/vendor_modprobe.te
@@ -0,0 +1,5 @@
+type vendor_modprobe, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vendor_shell.te b/prebuilts/api/202504/public/vendor_shell.te
new file mode 100644
index 0000000..1906d0e
--- /dev/null
+++ b/prebuilts/api/202504/public/vendor_shell.te
@@ -0,0 +1,6 @@
+type vendor_shell, domain;
+type vendor_shell_exec, exec_type, vendor_file_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vendor_toolbox.te b/prebuilts/api/202504/public/vendor_toolbox.te
new file mode 100644
index 0000000..13969b4
--- /dev/null
+++ b/prebuilts/api/202504/public/vendor_toolbox.te
@@ -0,0 +1,8 @@
+# Toolbox installation for vendor binaries / scripts
+# Non-vendor processes are not allowed to execute the binary
+# and is always executed without transition.
+type vendor_toolbox_exec, exec_type, vendor_file_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/virtual_camera.te b/prebuilts/api/202504/public/virtual_camera.te
new file mode 100644
index 0000000..1c9e9d6
--- /dev/null
+++ b/prebuilts/api/202504/public/virtual_camera.te
@@ -0,0 +1,10 @@
+# virtual_camera - virtual camera daemon
+
+starting_at_board_api(202504, `
+    type virtual_camera, domain, coredomain;
+    type virtual_camera_exec, system_file_type, exec_type, file_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/virtual_touchpad.te b/prebuilts/api/202504/public/virtual_touchpad.te
new file mode 100644
index 0000000..1e1c94e
--- /dev/null
+++ b/prebuilts/api/202504/public/virtual_touchpad.te
@@ -0,0 +1,6 @@
+type virtual_touchpad, domain;
+type virtual_touchpad_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/virtualizationmanager.te b/prebuilts/api/202504/public/virtualizationmanager.te
new file mode 100644
index 0000000..555bc23
--- /dev/null
+++ b/prebuilts/api/202504/public/virtualizationmanager.te
@@ -0,0 +1,9 @@
+# Domain for a child process that manages virtual machines on behalf of its parent.
+starting_at_board_api(202504, `
+    type virtualizationmanager, domain, coredomain;
+    type virtualizationmanager_exec, system_file_type, exec_type, file_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vndservice.te b/prebuilts/api/202504/public/vndservice.te
new file mode 100644
index 0000000..9f70d9b
--- /dev/null
+++ b/prebuilts/api/202504/public/vndservice.te
@@ -0,0 +1,6 @@
+type service_manager_vndservice, vndservice_manager_type;
+type default_android_vndservice, vndservice_manager_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vndservicemanager.te b/prebuilts/api/202504/public/vndservicemanager.te
new file mode 100644
index 0000000..60af16b
--- /dev/null
+++ b/prebuilts/api/202504/public/vndservicemanager.te
@@ -0,0 +1,6 @@
+# vndservicemanager - the Binder context manager for vendor processes
+type vndservicemanager, domain;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vold.te b/prebuilts/api/202504/public/vold.te
new file mode 100644
index 0000000..c05da12
--- /dev/null
+++ b/prebuilts/api/202504/public/vold.te
@@ -0,0 +1,7 @@
+# volume manager
+type vold, domain;
+type vold_exec, exec_type, file_type, system_file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/vold_prepare_subdirs.te b/prebuilts/api/202504/public/vold_prepare_subdirs.te
new file mode 100644
index 0000000..f659307
--- /dev/null
+++ b/prebuilts/api/202504/public/vold_prepare_subdirs.te
@@ -0,0 +1,7 @@
+# SELinux directory creation and labelling for vold-managed directories
+type vold_prepare_subdirs, domain;
+type vold_prepare_subdirs_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/watchdogd.te b/prebuilts/api/202504/public/watchdogd.te
new file mode 100644
index 0000000..2499b54
--- /dev/null
+++ b/prebuilts/api/202504/public/watchdogd.te
@@ -0,0 +1,7 @@
+# watchdogd seclabel is specified in init.<board>.rc
+type watchdogd, domain;
+type watchdogd_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/webview_zygote.te b/prebuilts/api/202504/public/webview_zygote.te
new file mode 100644
index 0000000..8142832
--- /dev/null
+++ b/prebuilts/api/202504/public/webview_zygote.te
@@ -0,0 +1,9 @@
+# webview_zygote is an auxiliary zygote process that is used to spawn
+# isolated_app processes for rendering untrusted web content.
+type webview_zygote, domain;
+type webview_zygote_exec, exec_type, file_type;
+type webview_zygote_tmpfs, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/wificond.te b/prebuilts/api/202504/public/wificond.te
new file mode 100644
index 0000000..934133c
--- /dev/null
+++ b/prebuilts/api/202504/public/wificond.te
@@ -0,0 +1,7 @@
+# wificond
+type wificond, domain;
+type wificond_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/prebuilts/api/202504/public/zygote.te b/prebuilts/api/202504/public/zygote.te
new file mode 100644
index 0000000..9f24337
--- /dev/null
+++ b/prebuilts/api/202504/public/zygote.te
@@ -0,0 +1,8 @@
+# zygote
+type zygote, domain;
+type zygote_tmpfs, file_type;
+type zygote_exec, system_file_type, exec_type, file_type;
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/private/adbd.te b/private/adbd.te
index b87b319..138c8f5 100644
--- a/private/adbd.te
+++ b/private/adbd.te
@@ -178,6 +178,10 @@
 allow adbd perfetto_traces_data_file:file r_file_perms;
 allow adbd perfetto_traces_data_file:dir r_dir_perms;
 
+# Allow to pull ProfilingManager Perfetto traces.
+allow adbd perfetto_traces_profiling_data_file:file r_file_perms;
+allow adbd perfetto_traces_profiling_data_file:dir r_dir_perms;
+
 # Allow to push and manage configs in /data/misc/perfetto-configs.
 allow adbd perfetto_configs_data_file:dir rw_dir_perms;
 allow adbd perfetto_configs_data_file:file create_file_perms;
@@ -228,3 +232,6 @@
 # Only init is allowed to enter the adbd domain via exec()
 neverallow { domain -init } adbd:process transition;
 neverallow * adbd:process dyntransition;
+
+# allow adbd to check if an app is frozen
+allow adbd cgroup_v2:file read;
diff --git a/private/apexd.te b/private/apexd.te
index 58a3658..3205b02 100644
--- a/private/apexd.te
+++ b/private/apexd.te
@@ -229,8 +229,8 @@
 # The update_provider performs APEX updates. To do this, it needs to be able to find apex_service
 # and make binder calls to apexd.
 # WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
-neverallow { domain -init -apexd -system_server -update_engine -update_provider } apex_service:service_manager find;
+neverallow { domain -init -apexd -keystore -system_server -update_engine -update_provider } apex_service:service_manager find;
 # WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
-neverallow { domain -init -apexd -system_server -servicemanager -update_engine -update_provider } apexd:binder call;
+neverallow { domain -init -apexd -keystore -system_server -servicemanager -update_engine -update_provider } apexd:binder call;
 
 neverallow { domain userdebug_or_eng(`-crash_dump') } apexd:process ptrace;
diff --git a/private/app.te b/private/app.te
index b9a6d85..b359663 100644
--- a/private/app.te
+++ b/private/app.te
@@ -6,6 +6,7 @@
   appdomain
   -ephemeral_app
   -isolated_app_all
+  -network_stack
   -platform_app
   -priv_app
   -shell
@@ -19,6 +20,7 @@
     appdomain
     -ephemeral_app
     -isolated_app_all
+    -network_stack
     -platform_app
     -priv_app
     -shell
diff --git a/private/app_neverallows.te b/private/app_neverallows.te
index 0e2b01c..434fb13 100644
--- a/private/app_neverallows.te
+++ b/private/app_neverallows.te
@@ -204,6 +204,7 @@
 # Create a more specific label if needed
 neverallow all_untrusted_apps {
   proc
+  proc_allocinfo
   proc_asound
   proc_kmsg
   proc_loadavg
diff --git a/private/attributes b/private/attributes
index 13479c9..93bf295 100644
--- a/private/attributes
+++ b/private/attributes
@@ -16,6 +16,11 @@
     hal_attribute(mediaquality);
 ')
 
+until_board_api(202504, `
+attribute unconstrained_vsock_violators;
+expandattribute unconstrained_vsock_violators false;
+')
+
 # All SDK sandbox domains
 attribute sdk_sandbox_all;
 # The SDK sandbox domains for the current SDK level.
@@ -31,3 +36,11 @@
 until_board_api(202504, `
     attribute tee_service_type;
 ')
+
+until_board_api(202504, `
+    hal_attribute(vm_capabilities);
+')
+
+until_board_api(202504, `
+    hal_attribute(hwcrypto);
+')
diff --git a/private/bluetooth.te b/private/bluetooth.te
index 0b001e2..d3d65bb 100644
--- a/private/bluetooth.te
+++ b/private/bluetooth.te
@@ -55,6 +55,7 @@
     binder_cache_bluetooth_server_prop:property_service set;
 set_prop(bluetooth, bluetooth_a2dp_offload_prop)
 set_prop(bluetooth, bluetooth_audio_hal_prop)
+set_prop(bluetooth, bluetooth_lea_mode_prop)
 set_prop(bluetooth, bluetooth_prop)
 set_prop(bluetooth, exported_bluetooth_prop)
 set_prop(bluetooth, pan_result_prop)
diff --git a/private/bpfloader.te b/private/bpfloader.te
index 4fe3843..7d8a706 100644
--- a/private/bpfloader.te
+++ b/private/bpfloader.te
@@ -54,7 +54,7 @@
 neverallow { domain -bpfloader } fs_bpf_loader:bpf *;
 neverallow { domain -bpfloader } fs_bpf_loader:file *;
 
-neverallow { domain -bpfloader -init } bpfloader_exec:file { execute execute_no_trans };
+neverallow { domain -bpfloader -init userdebug_or_eng(`-overlay_remounter') } bpfloader_exec:file { execute execute_no_trans };
 
 neverallow { coredomain -bpfloader -netd -netutils_wrapper } fs_bpf_vendor:file *;
 
diff --git a/private/compat/202404/202404.cil b/private/compat/202404/202404.cil
index 85eb601..e9c97e5 100644
--- a/private/compat/202404/202404.cil
+++ b/private/compat/202404/202404.cil
@@ -1,8 +1,10 @@
 ;; This type may or may not already exist in vendor policy. Re-define it here (duplicate
 ;; definitions in CIL will be ignored) - so we can reference it in 202404.cil.
-(type virtual_fingerprint_hal_prop)
+(type cgroup_desc_api_file)
 (type otapreopt_chroot)
+(type task_profiles_api_file)
 (type vendor_hidraw_device)
+(type virtual_fingerprint_hal_prop)
 (typeattributeset dev_type (vendor_hidraw_device))
 
 ;; mapping information from ToT policy's types to 202404 policy's types.
@@ -2473,7 +2475,7 @@
 (typeattributeset surfaceflinger_tmpfs_202404 (surfaceflinger_tmpfs))
 (typeattributeset suspend_prop_202404 (suspend_prop))
 (typeattributeset swap_block_device_202404 (swap_block_device))
-(typeattributeset sysfs_202404 (sysfs))
+(typeattributeset sysfs_202404 (sysfs sysfs_mem_sleep sysfs_udc))
 (typeattributeset sysfs_android_usb_202404 (sysfs_android_usb))
 (typeattributeset sysfs_batteryinfo_202404 (sysfs_batteryinfo))
 (typeattributeset sysfs_bluetooth_writable_202404 (sysfs_bluetooth_writable))
diff --git a/private/compat/202404/202404.ignore.cil b/private/compat/202404/202404.ignore.cil
index 1c108cf..69e7d5e 100644
--- a/private/compat/202404/202404.ignore.cil
+++ b/private/compat/202404/202404.ignore.cil
@@ -5,25 +5,40 @@
 (typeattribute new_objects)
 (typeattributeset new_objects
   ( new_objects
-    bluetooth_finder_prop
-    profcollectd_etr_prop
-    fstype_prop
-    binderfs_logs_transactions
+    app_function_service
     binderfs_logs_transaction_history
-    proc_compaction_proactiveness
+    binderfs_logs_transactions
+    bluetooth_finder_prop
+    crosvm
+    drm_config_prop
+    early_virtmgr
+    early_virtmgr_exec
+    enable_16k_pages_prop
+    forensic_service
+    fstype_prop
+    fwk_vold_service
+    hal_hwcrypto_service
+    hal_mediaquality_service
+    hal_vm_capabilities_service
+    intrusion_detection_service
+    media_quality_service
     proc_cgroups
+    proc_compaction_proactiveness
+    profcollectd_etr_prop
     ranging_service
     supervision_service
-    app_function_service
-    virtual_fingerprint
-    virtual_fingerprint_exec
+    sysfs_cma
+    sysfs_firmware_acpi_tables
+    tee_service_contexts_file
+    trusty_security_vm_sys_vendor_prop
+    virtual_camera
+    virtual_camera_exec
     virtual_face
     virtual_face_exec
-    hal_mediaquality_service
-    media_quality_service
-    advanced_protection_service
-    sysfs_firmware_acpi_tables
-    dynamic_instrumentation_service
-    intrusion_detection_service
+    virtual_fingerprint
+    virtual_fingerprint_exec
+    virtualizationmanager
+    virtualizationmanager_exec
     wifi_mainline_supplicant_service
+    wifi_usd_service
   ))
diff --git a/private/compat/202504/202504.cil b/private/compat/202504/202504.cil
new file mode 100644
index 0000000..0d6a010
--- /dev/null
+++ b/private/compat/202504/202504.cil
@@ -0,0 +1,2833 @@
+;; mapping information from ToT policy's types to 202504 policy's types.
+(expandtypeattribute (DockObserver_service_202504) true)
+(expandtypeattribute (IProxyService_service_202504) true)
+(expandtypeattribute (aac_drc_prop_202504) true)
+(expandtypeattribute (aaudio_config_prop_202504) true)
+(expandtypeattribute (ab_update_gki_prop_202504) true)
+(expandtypeattribute (accessibility_service_202504) true)
+(expandtypeattribute (account_service_202504) true)
+(expandtypeattribute (aconfig_storage_flags_metadata_file_202504) true)
+(expandtypeattribute (aconfig_storage_metadata_file_202504) true)
+(expandtypeattribute (activity_service_202504) true)
+(expandtypeattribute (activity_task_service_202504) true)
+(expandtypeattribute (adaptive_haptics_prop_202504) true)
+(expandtypeattribute (adb_data_file_202504) true)
+(expandtypeattribute (adb_keys_file_202504) true)
+(expandtypeattribute (adb_service_202504) true)
+(expandtypeattribute (adbd_202504) true)
+(expandtypeattribute (adbd_config_prop_202504) true)
+(expandtypeattribute (adbd_exec_202504) true)
+(expandtypeattribute (adbd_socket_202504) true)
+(expandtypeattribute (adservices_manager_service_202504) true)
+(expandtypeattribute (aidl_lazy_test_server_202504) true)
+(expandtypeattribute (aidl_lazy_test_server_exec_202504) true)
+(expandtypeattribute (aidl_lazy_test_service_202504) true)
+(expandtypeattribute (alarm_service_202504) true)
+(expandtypeattribute (anr_data_file_202504) true)
+(expandtypeattribute (apc_service_202504) true)
+(expandtypeattribute (apex_data_file_202504) true)
+(expandtypeattribute (apex_info_file_202504) true)
+(expandtypeattribute (apex_metadata_file_202504) true)
+(expandtypeattribute (apex_mnt_dir_202504) true)
+(expandtypeattribute (apex_module_data_file_202504) true)
+(expandtypeattribute (apex_ota_reserved_file_202504) true)
+(expandtypeattribute (apex_ready_prop_202504) true)
+(expandtypeattribute (apex_rollback_data_file_202504) true)
+(expandtypeattribute (apex_service_202504) true)
+(expandtypeattribute (apex_system_server_data_file_202504) true)
+(expandtypeattribute (apexd_202504) true)
+(expandtypeattribute (apexd_config_prop_202504) true)
+(expandtypeattribute (apexd_exec_202504) true)
+(expandtypeattribute (apexd_prop_202504) true)
+(expandtypeattribute (apexd_select_prop_202504) true)
+(expandtypeattribute (apk_data_file_202504) true)
+(expandtypeattribute (apk_private_data_file_202504) true)
+(expandtypeattribute (apk_private_tmp_file_202504) true)
+(expandtypeattribute (apk_tmp_file_202504) true)
+(expandtypeattribute (apk_verity_prop_202504) true)
+(expandtypeattribute (app_binding_service_202504) true)
+(expandtypeattribute (app_data_file_202504) true)
+(expandtypeattribute (app_function_service_202504) true)
+(expandtypeattribute (app_fuse_file_202504) true)
+(expandtypeattribute (app_fusefs_202504) true)
+(expandtypeattribute (app_hibernation_service_202504) true)
+(expandtypeattribute (app_integrity_service_202504) true)
+(expandtypeattribute (app_prediction_service_202504) true)
+(expandtypeattribute (app_search_service_202504) true)
+(expandtypeattribute (app_zygote_202504) true)
+(expandtypeattribute (app_zygote_tmpfs_202504) true)
+(expandtypeattribute (appcompat_data_file_202504) true)
+(expandtypeattribute (appdomain_tmpfs_202504) true)
+(expandtypeattribute (appops_service_202504) true)
+(expandtypeattribute (appwidget_service_202504) true)
+(expandtypeattribute (archive_service_202504) true)
+(expandtypeattribute (arm64_memtag_prop_202504) true)
+(expandtypeattribute (art_apex_dir_202504) true)
+(expandtypeattribute (artd_202504) true)
+(expandtypeattribute (artd_pre_reboot_service_202504) true)
+(expandtypeattribute (artd_service_202504) true)
+(expandtypeattribute (asec_apk_file_202504) true)
+(expandtypeattribute (asec_image_file_202504) true)
+(expandtypeattribute (asec_public_file_202504) true)
+(expandtypeattribute (ashmem_device_202504) true)
+(expandtypeattribute (ashmem_libcutils_device_202504) true)
+(expandtypeattribute (assetatlas_service_202504) true)
+(expandtypeattribute (atrace_202504) true)
+(expandtypeattribute (attestation_verification_service_202504) true)
+(expandtypeattribute (audio_config_prop_202504) true)
+(expandtypeattribute (audio_data_file_202504) true)
+(expandtypeattribute (audio_device_202504) true)
+(expandtypeattribute (audio_prop_202504) true)
+(expandtypeattribute (audio_service_202504) true)
+(expandtypeattribute (audiohal_data_file_202504) true)
+(expandtypeattribute (audioserver_202504) true)
+(expandtypeattribute (audioserver_data_file_202504) true)
+(expandtypeattribute (audioserver_service_202504) true)
+(expandtypeattribute (audioserver_tmpfs_202504) true)
+(expandtypeattribute (auth_service_202504) true)
+(expandtypeattribute (authorization_service_202504) true)
+(expandtypeattribute (autofill_service_202504) true)
+(expandtypeattribute (backup_data_file_202504) true)
+(expandtypeattribute (backup_service_202504) true)
+(expandtypeattribute (battery_service_202504) true)
+(expandtypeattribute (batteryproperties_service_202504) true)
+(expandtypeattribute (batterystats_service_202504) true)
+(expandtypeattribute (binder_cache_bluetooth_server_prop_202504) true)
+(expandtypeattribute (binder_cache_system_server_prop_202504) true)
+(expandtypeattribute (binder_cache_telephony_server_prop_202504) true)
+(expandtypeattribute (binder_calls_stats_service_202504) true)
+(expandtypeattribute (binder_device_202504) true)
+(expandtypeattribute (binderfs_202504) true)
+(expandtypeattribute (binderfs_features_202504) true)
+(expandtypeattribute (binderfs_logs_202504) true)
+(expandtypeattribute (binderfs_logs_proc_202504) true)
+(expandtypeattribute (binderfs_logs_stats_202504) true)
+(expandtypeattribute (binderfs_logs_transaction_history_202504) true)
+(expandtypeattribute (binderfs_logs_transactions_202504) true)
+(expandtypeattribute (binfmt_miscfs_202504) true)
+(expandtypeattribute (biometric_service_202504) true)
+(expandtypeattribute (blkid_202504) true)
+(expandtypeattribute (blkid_untrusted_202504) true)
+(expandtypeattribute (blob_store_service_202504) true)
+(expandtypeattribute (block_device_202504) true)
+(expandtypeattribute (bluetooth_202504) true)
+(expandtypeattribute (bluetooth_a2dp_offload_prop_202504) true)
+(expandtypeattribute (bluetooth_audio_hal_prop_202504) true)
+(expandtypeattribute (bluetooth_config_prop_202504) true)
+(expandtypeattribute (bluetooth_data_file_202504) true)
+(expandtypeattribute (bluetooth_efs_file_202504) true)
+(expandtypeattribute (bluetooth_finder_prop_202504) true)
+(expandtypeattribute (bluetooth_logs_data_file_202504) true)
+(expandtypeattribute (bluetooth_manager_service_202504) true)
+(expandtypeattribute (bluetooth_prop_202504) true)
+(expandtypeattribute (bluetooth_service_202504) true)
+(expandtypeattribute (bluetooth_socket_202504) true)
+(expandtypeattribute (boot_block_device_202504) true)
+(expandtypeattribute (boot_status_prop_202504) true)
+(expandtypeattribute (bootanim_202504) true)
+(expandtypeattribute (bootanim_config_prop_202504) true)
+(expandtypeattribute (bootanim_exec_202504) true)
+(expandtypeattribute (bootanim_oem_file_202504) true)
+(expandtypeattribute (bootanim_system_prop_202504) true)
+(expandtypeattribute (bootchart_data_file_202504) true)
+(expandtypeattribute (bootloader_boot_reason_prop_202504) true)
+(expandtypeattribute (bootloader_prop_202504) true)
+(expandtypeattribute (bootstat_202504) true)
+(expandtypeattribute (bootstat_data_file_202504) true)
+(expandtypeattribute (bootstat_exec_202504) true)
+(expandtypeattribute (boottime_prop_202504) true)
+(expandtypeattribute (boottime_public_prop_202504) true)
+(expandtypeattribute (boottrace_data_file_202504) true)
+(expandtypeattribute (bpf_progs_loaded_prop_202504) true)
+(expandtypeattribute (bpfloader_202504) true)
+(expandtypeattribute (bq_config_prop_202504) true)
+(expandtypeattribute (broadcastradio_service_202504) true)
+(expandtypeattribute (bt_device_202504) true)
+(expandtypeattribute (bufferhubd_202504) true)
+(expandtypeattribute (bufferhubd_exec_202504) true)
+(expandtypeattribute (bugreport_service_202504) true)
+(expandtypeattribute (build_attestation_prop_202504) true)
+(expandtypeattribute (build_bootimage_prop_202504) true)
+(expandtypeattribute (build_config_prop_202504) true)
+(expandtypeattribute (build_odm_prop_202504) true)
+(expandtypeattribute (build_prop_202504) true)
+(expandtypeattribute (build_vendor_prop_202504) true)
+(expandtypeattribute (cache_backup_file_202504) true)
+(expandtypeattribute (cache_block_device_202504) true)
+(expandtypeattribute (cache_file_202504) true)
+(expandtypeattribute (cache_private_backup_file_202504) true)
+(expandtypeattribute (cache_recovery_file_202504) true)
+(expandtypeattribute (cacheinfo_service_202504) true)
+(expandtypeattribute (camera2_extensions_prop_202504) true)
+(expandtypeattribute (camera_calibration_prop_202504) true)
+(expandtypeattribute (camera_config_prop_202504) true)
+(expandtypeattribute (camera_data_file_202504) true)
+(expandtypeattribute (camera_device_202504) true)
+(expandtypeattribute (cameraproxy_service_202504) true)
+(expandtypeattribute (cameraserver_202504) true)
+(expandtypeattribute (cameraserver_exec_202504) true)
+(expandtypeattribute (cameraserver_service_202504) true)
+(expandtypeattribute (cameraserver_tmpfs_202504) true)
+(expandtypeattribute (camerax_extensions_prop_202504) true)
+(expandtypeattribute (cgroup_202504) true)
+(expandtypeattribute (cgroup_desc_file_202504) true)
+(expandtypeattribute (cgroup_rc_file_202504) true)
+(expandtypeattribute (cgroup_v2_202504) true)
+(expandtypeattribute (charger_202504) true)
+(expandtypeattribute (charger_config_prop_202504) true)
+(expandtypeattribute (charger_exec_202504) true)
+(expandtypeattribute (charger_prop_202504) true)
+(expandtypeattribute (charger_status_prop_202504) true)
+(expandtypeattribute (charger_vendor_202504) true)
+(expandtypeattribute (clipboard_service_202504) true)
+(expandtypeattribute (cloudsearch_service_202504) true)
+(expandtypeattribute (codec2_config_prop_202504) true)
+(expandtypeattribute (cold_boot_done_prop_202504) true)
+(expandtypeattribute (color_display_service_202504) true)
+(expandtypeattribute (companion_device_service_202504) true)
+(expandtypeattribute (composd_vm_art_prop_202504) true)
+(expandtypeattribute (composd_vm_vendor_prop_202504) true)
+(expandtypeattribute (config_prop_202504) true)
+(expandtypeattribute (configfs_202504) true)
+(expandtypeattribute (connectivity_native_service_202504) true)
+(expandtypeattribute (connectivity_service_202504) true)
+(expandtypeattribute (connmetrics_service_202504) true)
+(expandtypeattribute (console_device_202504) true)
+(expandtypeattribute (consumer_ir_service_202504) true)
+(expandtypeattribute (content_capture_service_202504) true)
+(expandtypeattribute (content_service_202504) true)
+(expandtypeattribute (content_suggestions_service_202504) true)
+(expandtypeattribute (contexthub_service_202504) true)
+(expandtypeattribute (contextual_search_service_202504) true)
+(expandtypeattribute (coredump_file_202504) true)
+(expandtypeattribute (country_detector_service_202504) true)
+(expandtypeattribute (coverage_service_202504) true)
+(expandtypeattribute (cppreopt_prop_202504) true)
+(expandtypeattribute (cpu_monitor_service_202504) true)
+(expandtypeattribute (cpu_variant_prop_202504) true)
+(expandtypeattribute (cpuinfo_service_202504) true)
+(expandtypeattribute (crash_dump_202504) true)
+(expandtypeattribute (crash_dump_exec_202504) true)
+(expandtypeattribute (credential_service_202504) true)
+(expandtypeattribute (credstore_202504) true)
+(expandtypeattribute (credstore_data_file_202504) true)
+(expandtypeattribute (credstore_exec_202504) true)
+(expandtypeattribute (credstore_service_202504) true)
+(expandtypeattribute (crossprofileapps_service_202504) true)
+(expandtypeattribute (crosvm_202504) true)
+(expandtypeattribute (ctl_adbd_prop_202504) true)
+(expandtypeattribute (ctl_apexd_prop_202504) true)
+(expandtypeattribute (ctl_bootanim_prop_202504) true)
+(expandtypeattribute (ctl_bugreport_prop_202504) true)
+(expandtypeattribute (ctl_console_prop_202504) true)
+(expandtypeattribute (ctl_default_prop_202504) true)
+(expandtypeattribute (ctl_dumpstate_prop_202504) true)
+(expandtypeattribute (ctl_fuse_prop_202504) true)
+(expandtypeattribute (ctl_gsid_prop_202504) true)
+(expandtypeattribute (ctl_interface_restart_prop_202504) true)
+(expandtypeattribute (ctl_interface_start_prop_202504) true)
+(expandtypeattribute (ctl_interface_stop_prop_202504) true)
+(expandtypeattribute (ctl_mdnsd_prop_202504) true)
+(expandtypeattribute (ctl_restart_prop_202504) true)
+(expandtypeattribute (ctl_rildaemon_prop_202504) true)
+(expandtypeattribute (ctl_sigstop_prop_202504) true)
+(expandtypeattribute (ctl_start_prop_202504) true)
+(expandtypeattribute (ctl_stop_prop_202504) true)
+(expandtypeattribute (dalvik_config_prop_202504) true)
+(expandtypeattribute (dalvik_dynamic_config_prop_202504) true)
+(expandtypeattribute (dalvik_prop_202504) true)
+(expandtypeattribute (dalvik_runtime_prop_202504) true)
+(expandtypeattribute (dalvikcache_data_file_202504) true)
+(expandtypeattribute (dataloader_manager_service_202504) true)
+(expandtypeattribute (dbinfo_service_202504) true)
+(expandtypeattribute (dck_prop_202504) true)
+(expandtypeattribute (debug_prop_202504) true)
+(expandtypeattribute (debugfs_202504) true)
+(expandtypeattribute (debugfs_bootreceiver_tracing_202504) true)
+(expandtypeattribute (debugfs_kprobes_202504) true)
+(expandtypeattribute (debugfs_mm_events_tracing_202504) true)
+(expandtypeattribute (debugfs_mmc_202504) true)
+(expandtypeattribute (debugfs_restriction_prop_202504) true)
+(expandtypeattribute (debugfs_trace_marker_202504) true)
+(expandtypeattribute (debugfs_tracing_202504) true)
+(expandtypeattribute (debugfs_tracing_debug_202504) true)
+(expandtypeattribute (debugfs_tracing_instances_202504) true)
+(expandtypeattribute (debugfs_tracing_printk_formats_202504) true)
+(expandtypeattribute (debugfs_wakeup_sources_202504) true)
+(expandtypeattribute (debugfs_wifi_tracing_202504) true)
+(expandtypeattribute (debuggerd_prop_202504) true)
+(expandtypeattribute (default_android_hwservice_202504) true)
+(expandtypeattribute (default_android_service_202504) true)
+(expandtypeattribute (default_android_vndservice_202504) true)
+(expandtypeattribute (default_prop_202504) true)
+(expandtypeattribute (dev_cpu_variant_202504) true)
+(expandtypeattribute (device_202504) true)
+(expandtypeattribute (device_config_aconfig_flags_prop_202504) true)
+(expandtypeattribute (device_config_activity_manager_native_boot_prop_202504) true)
+(expandtypeattribute (device_config_boot_count_prop_202504) true)
+(expandtypeattribute (device_config_camera_native_prop_202504) true)
+(expandtypeattribute (device_config_edgetpu_native_prop_202504) true)
+(expandtypeattribute (device_config_input_native_boot_prop_202504) true)
+(expandtypeattribute (device_config_media_native_prop_202504) true)
+(expandtypeattribute (device_config_memory_safety_native_boot_prop_202504) true)
+(expandtypeattribute (device_config_memory_safety_native_prop_202504) true)
+(expandtypeattribute (device_config_netd_native_prop_202504) true)
+(expandtypeattribute (device_config_nnapi_native_prop_202504) true)
+(expandtypeattribute (device_config_reset_performed_prop_202504) true)
+(expandtypeattribute (device_config_runtime_native_boot_prop_202504) true)
+(expandtypeattribute (device_config_runtime_native_prop_202504) true)
+(expandtypeattribute (device_config_service_202504) true)
+(expandtypeattribute (device_config_surface_flinger_native_boot_prop_202504) true)
+(expandtypeattribute (device_config_updatable_service_202504) true)
+(expandtypeattribute (device_config_vendor_system_native_boot_prop_202504) true)
+(expandtypeattribute (device_config_vendor_system_native_prop_202504) true)
+(expandtypeattribute (device_identifiers_service_202504) true)
+(expandtypeattribute (device_logging_prop_202504) true)
+(expandtypeattribute (device_policy_service_202504) true)
+(expandtypeattribute (device_state_service_202504) true)
+(expandtypeattribute (deviceidle_service_202504) true)
+(expandtypeattribute (devicelock_service_202504) true)
+(expandtypeattribute (devicestoragemonitor_service_202504) true)
+(expandtypeattribute (devpts_202504) true)
+(expandtypeattribute (dexopt_chroot_setup_service_202504) true)
+(expandtypeattribute (dhcp_202504) true)
+(expandtypeattribute (dhcp_data_file_202504) true)
+(expandtypeattribute (dhcp_exec_202504) true)
+(expandtypeattribute (dhcp_prop_202504) true)
+(expandtypeattribute (diskstats_service_202504) true)
+(expandtypeattribute (display_service_202504) true)
+(expandtypeattribute (dm_device_202504) true)
+(expandtypeattribute (dm_user_device_202504) true)
+(expandtypeattribute (dmabuf_heap_device_202504) true)
+(expandtypeattribute (dmabuf_system_heap_device_202504) true)
+(expandtypeattribute (dmabuf_system_secure_heap_device_202504) true)
+(expandtypeattribute (dnsmasq_202504) true)
+(expandtypeattribute (dnsmasq_exec_202504) true)
+(expandtypeattribute (dnsproxyd_socket_202504) true)
+(expandtypeattribute (dnsresolver_service_202504) true)
+(expandtypeattribute (domain_verification_service_202504) true)
+(expandtypeattribute (dreams_service_202504) true)
+(expandtypeattribute (drm_data_file_202504) true)
+(expandtypeattribute (drm_forcel3_prop_202504) true)
+(expandtypeattribute (drm_service_config_prop_202504) true)
+(expandtypeattribute (drmserver_202504) true)
+(expandtypeattribute (drmserver_exec_202504) true)
+(expandtypeattribute (drmserver_service_202504) true)
+(expandtypeattribute (drmserver_socket_202504) true)
+(expandtypeattribute (dropbox_data_file_202504) true)
+(expandtypeattribute (dropbox_service_202504) true)
+(expandtypeattribute (dtbo_block_device_202504) true)
+(expandtypeattribute (dumpstate_202504) true)
+(expandtypeattribute (dumpstate_exec_202504) true)
+(expandtypeattribute (dumpstate_options_prop_202504) true)
+(expandtypeattribute (dumpstate_prop_202504) true)
+(expandtypeattribute (dumpstate_service_202504) true)
+(expandtypeattribute (dumpstate_socket_202504) true)
+(expandtypeattribute (dynamic_system_prop_202504) true)
+(expandtypeattribute (e2fs_202504) true)
+(expandtypeattribute (e2fs_exec_202504) true)
+(expandtypeattribute (early_virtmgr_202504) true)
+(expandtypeattribute (early_virtmgr_exec_202504) true)
+(expandtypeattribute (ecm_enhanced_confirmation_service_202504) true)
+(expandtypeattribute (efs_file_202504) true)
+(expandtypeattribute (emergency_affordance_service_202504) true)
+(expandtypeattribute (enable_16k_pages_prop_202504) true)
+(expandtypeattribute (ephemeral_app_202504) true)
+(expandtypeattribute (ethernet_service_202504) true)
+(expandtypeattribute (evsmanagerd_202504) true)
+(expandtypeattribute (evsmanagerd_service_202504) true)
+(expandtypeattribute (exfat_202504) true)
+(expandtypeattribute (exported3_system_prop_202504) true)
+(expandtypeattribute (exported_bluetooth_prop_202504) true)
+(expandtypeattribute (exported_camera_prop_202504) true)
+(expandtypeattribute (exported_config_prop_202504) true)
+(expandtypeattribute (exported_default_prop_202504) true)
+(expandtypeattribute (exported_dumpstate_prop_202504) true)
+(expandtypeattribute (exported_overlay_prop_202504) true)
+(expandtypeattribute (exported_pm_prop_202504) true)
+(expandtypeattribute (exported_secure_prop_202504) true)
+(expandtypeattribute (exported_system_prop_202504) true)
+(expandtypeattribute (external_vibrator_service_202504) true)
+(expandtypeattribute (extra_free_kbytes_202504) true)
+(expandtypeattribute (extra_free_kbytes_exec_202504) true)
+(expandtypeattribute (face_service_202504) true)
+(expandtypeattribute (face_vendor_data_file_202504) true)
+(expandtypeattribute (fastbootd_202504) true)
+(expandtypeattribute (ffs_config_prop_202504) true)
+(expandtypeattribute (ffs_control_prop_202504) true)
+(expandtypeattribute (file_contexts_file_202504) true)
+(expandtypeattribute (file_integrity_service_202504) true)
+(expandtypeattribute (fingerprint_prop_202504) true)
+(expandtypeattribute (fingerprint_service_202504) true)
+(expandtypeattribute (fingerprint_vendor_data_file_202504) true)
+(expandtypeattribute (fingerprintd_202504) true)
+(expandtypeattribute (fingerprintd_data_file_202504) true)
+(expandtypeattribute (fingerprintd_exec_202504) true)
+(expandtypeattribute (fingerprintd_service_202504) true)
+(expandtypeattribute (firstboot_prop_202504) true)
+(expandtypeattribute (flags_health_check_202504) true)
+(expandtypeattribute (flags_health_check_exec_202504) true)
+(expandtypeattribute (font_service_202504) true)
+(expandtypeattribute (framework_status_prop_202504) true)
+(expandtypeattribute (framework_watchdog_config_prop_202504) true)
+(expandtypeattribute (frp_block_device_202504) true)
+(expandtypeattribute (fs_bpf_202504) true)
+(expandtypeattribute (fs_bpf_tethering_202504) true)
+(expandtypeattribute (fs_bpf_vendor_202504) true)
+(expandtypeattribute (fsck_202504) true)
+(expandtypeattribute (fsck_exec_202504) true)
+(expandtypeattribute (fsck_untrusted_202504) true)
+(expandtypeattribute (fscklogs_202504) true)
+(expandtypeattribute (functionfs_202504) true)
+(expandtypeattribute (fuse_202504) true)
+(expandtypeattribute (fuse_device_202504) true)
+(expandtypeattribute (fuseblk_202504) true)
+(expandtypeattribute (fusectlfs_202504) true)
+(expandtypeattribute (future_pm_prop_202504) true)
+(expandtypeattribute (fwk_altitude_service_202504) true)
+(expandtypeattribute (fwk_automotive_display_hwservice_202504) true)
+(expandtypeattribute (fwk_automotive_display_service_202504) true)
+(expandtypeattribute (fwk_bufferhub_hwservice_202504) true)
+(expandtypeattribute (fwk_camera_hwservice_202504) true)
+(expandtypeattribute (fwk_camera_service_202504) true)
+(expandtypeattribute (fwk_display_hwservice_202504) true)
+(expandtypeattribute (fwk_scheduler_hwservice_202504) true)
+(expandtypeattribute (fwk_sensor_hwservice_202504) true)
+(expandtypeattribute (fwk_sensor_service_202504) true)
+(expandtypeattribute (fwk_stats_hwservice_202504) true)
+(expandtypeattribute (fwk_stats_service_202504) true)
+(expandtypeattribute (fwk_vibrator_control_service_202504) true)
+(expandtypeattribute (fwmarkd_socket_202504) true)
+(expandtypeattribute (game_mode_intervention_list_file_202504) true)
+(expandtypeattribute (game_service_202504) true)
+(expandtypeattribute (gatekeeper_data_file_202504) true)
+(expandtypeattribute (gatekeeper_service_202504) true)
+(expandtypeattribute (gatekeeperd_202504) true)
+(expandtypeattribute (gatekeeperd_exec_202504) true)
+(expandtypeattribute (gesture_prop_202504) true)
+(expandtypeattribute (gfxinfo_service_202504) true)
+(expandtypeattribute (gmscore_app_202504) true)
+(expandtypeattribute (gnss_device_202504) true)
+(expandtypeattribute (gnss_time_update_service_202504) true)
+(expandtypeattribute (gps_control_202504) true)
+(expandtypeattribute (gpu_device_202504) true)
+(expandtypeattribute (gpu_service_202504) true)
+(expandtypeattribute (gpuservice_202504) true)
+(expandtypeattribute (grammatical_inflection_service_202504) true)
+(expandtypeattribute (graphics_config_prop_202504) true)
+(expandtypeattribute (graphics_config_writable_prop_202504) true)
+(expandtypeattribute (graphics_device_202504) true)
+(expandtypeattribute (graphicsstats_service_202504) true)
+(expandtypeattribute (gsi_data_file_202504) true)
+(expandtypeattribute (gsi_metadata_file_202504) true)
+(expandtypeattribute (gsi_public_metadata_file_202504) true)
+(expandtypeattribute (gwp_asan_prop_202504) true)
+(expandtypeattribute (hal_atrace_hwservice_202504) true)
+(expandtypeattribute (hal_audio_hwservice_202504) true)
+(expandtypeattribute (hal_audio_service_202504) true)
+(expandtypeattribute (hal_audiocontrol_hwservice_202504) true)
+(expandtypeattribute (hal_audiocontrol_service_202504) true)
+(expandtypeattribute (hal_authgraph_service_202504) true)
+(expandtypeattribute (hal_authsecret_hwservice_202504) true)
+(expandtypeattribute (hal_authsecret_service_202504) true)
+(expandtypeattribute (hal_bluetooth_hwservice_202504) true)
+(expandtypeattribute (hal_bluetooth_service_202504) true)
+(expandtypeattribute (hal_bootctl_hwservice_202504) true)
+(expandtypeattribute (hal_bootctl_service_202504) true)
+(expandtypeattribute (hal_broadcastradio_hwservice_202504) true)
+(expandtypeattribute (hal_broadcastradio_service_202504) true)
+(expandtypeattribute (hal_camera_hwservice_202504) true)
+(expandtypeattribute (hal_camera_service_202504) true)
+(expandtypeattribute (hal_can_bus_hwservice_202504) true)
+(expandtypeattribute (hal_can_controller_hwservice_202504) true)
+(expandtypeattribute (hal_can_controller_service_202504) true)
+(expandtypeattribute (hal_cas_hwservice_202504) true)
+(expandtypeattribute (hal_cas_service_202504) true)
+(expandtypeattribute (hal_codec2_hwservice_202504) true)
+(expandtypeattribute (hal_codec2_service_202504) true)
+(expandtypeattribute (hal_configstore_ISurfaceFlingerConfigs_202504) true)
+(expandtypeattribute (hal_confirmationui_hwservice_202504) true)
+(expandtypeattribute (hal_confirmationui_service_202504) true)
+(expandtypeattribute (hal_contexthub_hwservice_202504) true)
+(expandtypeattribute (hal_contexthub_service_202504) true)
+(expandtypeattribute (hal_drm_hwservice_202504) true)
+(expandtypeattribute (hal_drm_service_202504) true)
+(expandtypeattribute (hal_dumpstate_config_prop_202504) true)
+(expandtypeattribute (hal_dumpstate_hwservice_202504) true)
+(expandtypeattribute (hal_dumpstate_service_202504) true)
+(expandtypeattribute (hal_evs_hwservice_202504) true)
+(expandtypeattribute (hal_evs_service_202504) true)
+(expandtypeattribute (hal_face_hwservice_202504) true)
+(expandtypeattribute (hal_face_service_202504) true)
+(expandtypeattribute (hal_fastboot_service_202504) true)
+(expandtypeattribute (hal_fingerprint_hwservice_202504) true)
+(expandtypeattribute (hal_fingerprint_service_202504) true)
+(expandtypeattribute (hal_gatekeeper_hwservice_202504) true)
+(expandtypeattribute (hal_gatekeeper_service_202504) true)
+(expandtypeattribute (hal_gnss_hwservice_202504) true)
+(expandtypeattribute (hal_gnss_service_202504) true)
+(expandtypeattribute (hal_graphics_allocator_hwservice_202504) true)
+(expandtypeattribute (hal_graphics_allocator_service_202504) true)
+(expandtypeattribute (hal_graphics_composer_hwservice_202504) true)
+(expandtypeattribute (hal_graphics_composer_server_tmpfs_202504) true)
+(expandtypeattribute (hal_graphics_composer_service_202504) true)
+(expandtypeattribute (hal_graphics_mapper_hwservice_202504) true)
+(expandtypeattribute (hal_graphics_mapper_service_202504) true)
+(expandtypeattribute (hal_health_hwservice_202504) true)
+(expandtypeattribute (hal_health_service_202504) true)
+(expandtypeattribute (hal_health_storage_hwservice_202504) true)
+(expandtypeattribute (hal_health_storage_service_202504) true)
+(expandtypeattribute (hal_identity_service_202504) true)
+(expandtypeattribute (hal_input_classifier_hwservice_202504) true)
+(expandtypeattribute (hal_input_processor_service_202504) true)
+(expandtypeattribute (hal_instrumentation_prop_202504) true)
+(expandtypeattribute (hal_ir_hwservice_202504) true)
+(expandtypeattribute (hal_ir_service_202504) true)
+(expandtypeattribute (hal_ivn_service_202504) true)
+(expandtypeattribute (hal_keymaster_hwservice_202504) true)
+(expandtypeattribute (hal_keymint_service_202504) true)
+(expandtypeattribute (hal_light_hwservice_202504) true)
+(expandtypeattribute (hal_light_service_202504) true)
+(expandtypeattribute (hal_lowpan_hwservice_202504) true)
+(expandtypeattribute (hal_macsec_service_202504) true)
+(expandtypeattribute (hal_mediaquality_service_202504) true)
+(expandtypeattribute (hal_memtrack_hwservice_202504) true)
+(expandtypeattribute (hal_memtrack_service_202504) true)
+(expandtypeattribute (hal_neuralnetworks_hwservice_202504) true)
+(expandtypeattribute (hal_neuralnetworks_service_202504) true)
+(expandtypeattribute (hal_nfc_hwservice_202504) true)
+(expandtypeattribute (hal_nfc_service_202504) true)
+(expandtypeattribute (hal_nlinterceptor_service_202504) true)
+(expandtypeattribute (hal_oemlock_hwservice_202504) true)
+(expandtypeattribute (hal_oemlock_service_202504) true)
+(expandtypeattribute (hal_omx_hwservice_202504) true)
+(expandtypeattribute (hal_power_hwservice_202504) true)
+(expandtypeattribute (hal_power_service_202504) true)
+(expandtypeattribute (hal_power_stats_hwservice_202504) true)
+(expandtypeattribute (hal_power_stats_service_202504) true)
+(expandtypeattribute (hal_radio_service_202504) true)
+(expandtypeattribute (hal_rebootescrow_service_202504) true)
+(expandtypeattribute (hal_remoteaccess_service_202504) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_avf_service_202504) true)
+(expandtypeattribute (hal_remotelyprovisionedcomponent_service_202504) true)
+(expandtypeattribute (hal_renderscript_hwservice_202504) true)
+(expandtypeattribute (hal_secretkeeper_service_202504) true)
+(expandtypeattribute (hal_secure_element_hwservice_202504) true)
+(expandtypeattribute (hal_secure_element_service_202504) true)
+(expandtypeattribute (hal_secureclock_service_202504) true)
+(expandtypeattribute (hal_sensors_hwservice_202504) true)
+(expandtypeattribute (hal_sensors_service_202504) true)
+(expandtypeattribute (hal_sharedsecret_service_202504) true)
+(expandtypeattribute (hal_system_suspend_service_202504) true)
+(expandtypeattribute (hal_telephony_hwservice_202504) true)
+(expandtypeattribute (hal_tetheroffload_hwservice_202504) true)
+(expandtypeattribute (hal_tetheroffload_service_202504) true)
+(expandtypeattribute (hal_thermal_hwservice_202504) true)
+(expandtypeattribute (hal_thermal_service_202504) true)
+(expandtypeattribute (hal_threadnetwork_service_202504) true)
+(expandtypeattribute (hal_tv_cec_hwservice_202504) true)
+(expandtypeattribute (hal_tv_hdmi_cec_service_202504) true)
+(expandtypeattribute (hal_tv_hdmi_connection_service_202504) true)
+(expandtypeattribute (hal_tv_hdmi_earc_service_202504) true)
+(expandtypeattribute (hal_tv_input_hwservice_202504) true)
+(expandtypeattribute (hal_tv_input_service_202504) true)
+(expandtypeattribute (hal_tv_tuner_hwservice_202504) true)
+(expandtypeattribute (hal_tv_tuner_service_202504) true)
+(expandtypeattribute (hal_usb_gadget_hwservice_202504) true)
+(expandtypeattribute (hal_usb_gadget_service_202504) true)
+(expandtypeattribute (hal_usb_hwservice_202504) true)
+(expandtypeattribute (hal_usb_service_202504) true)
+(expandtypeattribute (hal_uwb_service_202504) true)
+(expandtypeattribute (hal_vehicle_hwservice_202504) true)
+(expandtypeattribute (hal_vehicle_service_202504) true)
+(expandtypeattribute (hal_vibrator_hwservice_202504) true)
+(expandtypeattribute (hal_vibrator_service_202504) true)
+(expandtypeattribute (hal_vm_capabilities_service_202504) true)
+(expandtypeattribute (hal_vr_hwservice_202504) true)
+(expandtypeattribute (hal_weaver_hwservice_202504) true)
+(expandtypeattribute (hal_weaver_service_202504) true)
+(expandtypeattribute (hal_wifi_hostapd_hwservice_202504) true)
+(expandtypeattribute (hal_wifi_hostapd_service_202504) true)
+(expandtypeattribute (hal_wifi_hwservice_202504) true)
+(expandtypeattribute (hal_wifi_service_202504) true)
+(expandtypeattribute (hal_wifi_supplicant_hwservice_202504) true)
+(expandtypeattribute (hal_wifi_supplicant_service_202504) true)
+(expandtypeattribute (hardware_properties_service_202504) true)
+(expandtypeattribute (hardware_service_202504) true)
+(expandtypeattribute (hci_attach_dev_202504) true)
+(expandtypeattribute (hdmi_config_prop_202504) true)
+(expandtypeattribute (hdmi_control_service_202504) true)
+(expandtypeattribute (healthconnect_service_202504) true)
+(expandtypeattribute (healthd_202504) true)
+(expandtypeattribute (heapdump_data_file_202504) true)
+(expandtypeattribute (heapprofd_202504) true)
+(expandtypeattribute (heapprofd_enabled_prop_202504) true)
+(expandtypeattribute (heapprofd_prop_202504) true)
+(expandtypeattribute (heapprofd_socket_202504) true)
+(expandtypeattribute (hidl_allocator_hwservice_202504) true)
+(expandtypeattribute (hidl_base_hwservice_202504) true)
+(expandtypeattribute (hidl_manager_hwservice_202504) true)
+(expandtypeattribute (hidl_memory_hwservice_202504) true)
+(expandtypeattribute (hidl_token_hwservice_202504) true)
+(expandtypeattribute (hidraw_device_202504) true)
+(expandtypeattribute (hint_service_202504) true)
+(expandtypeattribute (hw_random_device_202504) true)
+(expandtypeattribute (hw_timeout_multiplier_prop_202504) true)
+(expandtypeattribute (hwbinder_device_202504) true)
+(expandtypeattribute (hwservice_contexts_file_202504) true)
+(expandtypeattribute (hwservicemanager_202504) true)
+(expandtypeattribute (hwservicemanager_exec_202504) true)
+(expandtypeattribute (hwservicemanager_prop_202504) true)
+(expandtypeattribute (hypervisor_prop_202504) true)
+(expandtypeattribute (hypervisor_restricted_prop_202504) true)
+(expandtypeattribute (icon_file_202504) true)
+(expandtypeattribute (idmap_202504) true)
+(expandtypeattribute (idmap_exec_202504) true)
+(expandtypeattribute (idmap_service_202504) true)
+(expandtypeattribute (iio_device_202504) true)
+(expandtypeattribute (imms_service_202504) true)
+(expandtypeattribute (incident_202504) true)
+(expandtypeattribute (incident_data_file_202504) true)
+(expandtypeattribute (incident_helper_202504) true)
+(expandtypeattribute (incident_service_202504) true)
+(expandtypeattribute (incidentd_202504) true)
+(expandtypeattribute (incremental_control_file_202504) true)
+(expandtypeattribute (incremental_prop_202504) true)
+(expandtypeattribute (incremental_service_202504) true)
+(expandtypeattribute (init_202504) true)
+(expandtypeattribute (init_exec_202504) true)
+(expandtypeattribute (init_service_status_prop_202504) true)
+(expandtypeattribute (init_tmpfs_202504) true)
+(expandtypeattribute (inotify_202504) true)
+(expandtypeattribute (input_device_202504) true)
+(expandtypeattribute (input_device_config_prop_202504) true)
+(expandtypeattribute (input_method_service_202504) true)
+(expandtypeattribute (input_service_202504) true)
+(expandtypeattribute (inputflinger_202504) true)
+(expandtypeattribute (inputflinger_exec_202504) true)
+(expandtypeattribute (inputflinger_service_202504) true)
+(expandtypeattribute (install_data_file_202504) true)
+(expandtypeattribute (installd_202504) true)
+(expandtypeattribute (installd_exec_202504) true)
+(expandtypeattribute (installd_service_202504) true)
+(expandtypeattribute (intrusion_detection_service_202504) true)
+(expandtypeattribute (ion_device_202504) true)
+(expandtypeattribute (ipsec_service_202504) true)
+(expandtypeattribute (iris_service_202504) true)
+(expandtypeattribute (iris_vendor_data_file_202504) true)
+(expandtypeattribute (isolated_app_202504) true)
+(expandtypeattribute (isolated_compute_app_202504) true)
+(expandtypeattribute (jobscheduler_service_202504) true)
+(expandtypeattribute (kernel_202504) true)
+(expandtypeattribute (keychain_data_file_202504) true)
+(expandtypeattribute (keychord_device_202504) true)
+(expandtypeattribute (keyguard_config_prop_202504) true)
+(expandtypeattribute (keystore2_key_contexts_file_202504) true)
+(expandtypeattribute (keystore_202504) true)
+(expandtypeattribute (keystore_compat_hal_service_202504) true)
+(expandtypeattribute (keystore_config_prop_202504) true)
+(expandtypeattribute (keystore_data_file_202504) true)
+(expandtypeattribute (keystore_exec_202504) true)
+(expandtypeattribute (keystore_maintenance_service_202504) true)
+(expandtypeattribute (keystore_metrics_service_202504) true)
+(expandtypeattribute (keystore_service_202504) true)
+(expandtypeattribute (kmsg_debug_device_202504) true)
+(expandtypeattribute (kmsg_device_202504) true)
+(expandtypeattribute (labeledfs_202504) true)
+(expandtypeattribute (launcherapps_service_202504) true)
+(expandtypeattribute (legacy_permission_service_202504) true)
+(expandtypeattribute (legacykeystore_service_202504) true)
+(expandtypeattribute (libc_debug_prop_202504) true)
+(expandtypeattribute (light_service_202504) true)
+(expandtypeattribute (linkerconfig_file_202504) true)
+(expandtypeattribute (llkd_202504) true)
+(expandtypeattribute (llkd_exec_202504) true)
+(expandtypeattribute (llkd_prop_202504) true)
+(expandtypeattribute (lmkd_202504) true)
+(expandtypeattribute (lmkd_config_prop_202504) true)
+(expandtypeattribute (lmkd_exec_202504) true)
+(expandtypeattribute (lmkd_prop_202504) true)
+(expandtypeattribute (lmkd_socket_202504) true)
+(expandtypeattribute (locale_prop_202504) true)
+(expandtypeattribute (locale_service_202504) true)
+(expandtypeattribute (location_service_202504) true)
+(expandtypeattribute (location_time_zone_manager_service_202504) true)
+(expandtypeattribute (lock_settings_service_202504) true)
+(expandtypeattribute (log_prop_202504) true)
+(expandtypeattribute (log_tag_prop_202504) true)
+(expandtypeattribute (logcat_exec_202504) true)
+(expandtypeattribute (logd_202504) true)
+(expandtypeattribute (logd_exec_202504) true)
+(expandtypeattribute (logd_prop_202504) true)
+(expandtypeattribute (logd_socket_202504) true)
+(expandtypeattribute (logdr_socket_202504) true)
+(expandtypeattribute (logdw_socket_202504) true)
+(expandtypeattribute (logpersist_202504) true)
+(expandtypeattribute (logpersistd_logging_prop_202504) true)
+(expandtypeattribute (loop_control_device_202504) true)
+(expandtypeattribute (loop_device_202504) true)
+(expandtypeattribute (looper_stats_service_202504) true)
+(expandtypeattribute (lowpan_device_202504) true)
+(expandtypeattribute (lowpan_prop_202504) true)
+(expandtypeattribute (lpdump_service_202504) true)
+(expandtypeattribute (lpdumpd_prop_202504) true)
+(expandtypeattribute (mac_perms_file_202504) true)
+(expandtypeattribute (mdns_service_202504) true)
+(expandtypeattribute (mdns_socket_202504) true)
+(expandtypeattribute (mdnsd_202504) true)
+(expandtypeattribute (mdnsd_socket_202504) true)
+(expandtypeattribute (media_communication_service_202504) true)
+(expandtypeattribute (media_config_prop_202504) true)
+(expandtypeattribute (media_data_file_202504) true)
+(expandtypeattribute (media_metrics_service_202504) true)
+(expandtypeattribute (media_projection_service_202504) true)
+(expandtypeattribute (media_quality_service_202504) true)
+(expandtypeattribute (media_router_service_202504) true)
+(expandtypeattribute (media_rw_data_file_202504) true)
+(expandtypeattribute (media_session_service_202504) true)
+(expandtypeattribute (media_userdir_file_202504) true)
+(expandtypeattribute (media_variant_prop_202504) true)
+(expandtypeattribute (mediadrm_config_prop_202504) true)
+(expandtypeattribute (mediadrmserver_202504) true)
+(expandtypeattribute (mediadrmserver_exec_202504) true)
+(expandtypeattribute (mediadrmserver_service_202504) true)
+(expandtypeattribute (mediaextractor_202504) true)
+(expandtypeattribute (mediaextractor_exec_202504) true)
+(expandtypeattribute (mediaextractor_service_202504) true)
+(expandtypeattribute (mediaextractor_tmpfs_202504) true)
+(expandtypeattribute (mediametrics_202504) true)
+(expandtypeattribute (mediametrics_exec_202504) true)
+(expandtypeattribute (mediametrics_service_202504) true)
+(expandtypeattribute (mediaprovider_202504) true)
+(expandtypeattribute (mediaserver_202504) true)
+(expandtypeattribute (mediaserver_exec_202504) true)
+(expandtypeattribute (mediaserver_service_202504) true)
+(expandtypeattribute (mediaserver_tmpfs_202504) true)
+(expandtypeattribute (mediaswcodec_202504) true)
+(expandtypeattribute (mediaswcodec_exec_202504) true)
+(expandtypeattribute (mediatranscoding_202504) true)
+(expandtypeattribute (mediatranscoding_service_202504) true)
+(expandtypeattribute (meminfo_service_202504) true)
+(expandtypeattribute (memtrackproxy_service_202504) true)
+(expandtypeattribute (metadata_block_device_202504) true)
+(expandtypeattribute (metadata_bootstat_file_202504) true)
+(expandtypeattribute (metadata_file_202504) true)
+(expandtypeattribute (method_trace_data_file_202504) true)
+(expandtypeattribute (midi_service_202504) true)
+(expandtypeattribute (mirror_data_file_202504) true)
+(expandtypeattribute (misc_block_device_202504) true)
+(expandtypeattribute (misc_logd_file_202504) true)
+(expandtypeattribute (misc_user_data_file_202504) true)
+(expandtypeattribute (mm_events_config_prop_202504) true)
+(expandtypeattribute (mmc_prop_202504) true)
+(expandtypeattribute (mnt_expand_file_202504) true)
+(expandtypeattribute (mnt_media_rw_file_202504) true)
+(expandtypeattribute (mnt_media_rw_stub_file_202504) true)
+(expandtypeattribute (mnt_pass_through_file_202504) true)
+(expandtypeattribute (mnt_product_file_202504) true)
+(expandtypeattribute (mnt_sdcard_file_202504) true)
+(expandtypeattribute (mnt_user_file_202504) true)
+(expandtypeattribute (mnt_vendor_file_202504) true)
+(expandtypeattribute (mock_ota_prop_202504) true)
+(expandtypeattribute (modprobe_202504) true)
+(expandtypeattribute (module_sdkextensions_prop_202504) true)
+(expandtypeattribute (mount_service_202504) true)
+(expandtypeattribute (mqueue_202504) true)
+(expandtypeattribute (mtp_202504) true)
+(expandtypeattribute (mtp_device_202504) true)
+(expandtypeattribute (mtpd_socket_202504) true)
+(expandtypeattribute (music_recognition_service_202504) true)
+(expandtypeattribute (nativetest_data_file_202504) true)
+(expandtypeattribute (nearby_service_202504) true)
+(expandtypeattribute (net_data_file_202504) true)
+(expandtypeattribute (net_dns_prop_202504) true)
+(expandtypeattribute (net_radio_prop_202504) true)
+(expandtypeattribute (netd_202504) true)
+(expandtypeattribute (netd_exec_202504) true)
+(expandtypeattribute (netd_listener_service_202504) true)
+(expandtypeattribute (netd_service_202504) true)
+(expandtypeattribute (netif_202504) true)
+(expandtypeattribute (netpolicy_service_202504) true)
+(expandtypeattribute (netstats_service_202504) true)
+(expandtypeattribute (netutils_wrapper_202504) true)
+(expandtypeattribute (netutils_wrapper_exec_202504) true)
+(expandtypeattribute (network_management_service_202504) true)
+(expandtypeattribute (network_score_service_202504) true)
+(expandtypeattribute (network_stack_202504) true)
+(expandtypeattribute (network_stack_service_202504) true)
+(expandtypeattribute (network_time_update_service_202504) true)
+(expandtypeattribute (network_watchlist_data_file_202504) true)
+(expandtypeattribute (network_watchlist_service_202504) true)
+(expandtypeattribute (nfc_202504) true)
+(expandtypeattribute (nfc_data_file_202504) true)
+(expandtypeattribute (nfc_device_202504) true)
+(expandtypeattribute (nfc_logs_data_file_202504) true)
+(expandtypeattribute (nfc_prop_202504) true)
+(expandtypeattribute (nfc_service_202504) true)
+(expandtypeattribute (nnapi_ext_deny_product_prop_202504) true)
+(expandtypeattribute (node_202504) true)
+(expandtypeattribute (notification_service_202504) true)
+(expandtypeattribute (null_device_202504) true)
+(expandtypeattribute (oem_lock_service_202504) true)
+(expandtypeattribute (oem_unlock_prop_202504) true)
+(expandtypeattribute (oemfs_202504) true)
+(expandtypeattribute (ondevicepersonalization_system_service_202504) true)
+(expandtypeattribute (ot_daemon_service_202504) true)
+(expandtypeattribute (ot_daemon_socket_202504) true)
+(expandtypeattribute (ota_build_prop_202504) true)
+(expandtypeattribute (ota_data_file_202504) true)
+(expandtypeattribute (ota_metadata_file_202504) true)
+(expandtypeattribute (ota_package_file_202504) true)
+(expandtypeattribute (ota_prop_202504) true)
+(expandtypeattribute (otadexopt_service_202504) true)
+(expandtypeattribute (overlay_prop_202504) true)
+(expandtypeattribute (overlay_service_202504) true)
+(expandtypeattribute (overlayfs_file_202504) true)
+(expandtypeattribute (owntty_device_202504) true)
+(expandtypeattribute (pac_proxy_service_202504) true)
+(expandtypeattribute (package_native_service_202504) true)
+(expandtypeattribute (package_service_202504) true)
+(expandtypeattribute (packagemanager_config_prop_202504) true)
+(expandtypeattribute (packages_list_file_202504) true)
+(expandtypeattribute (pan_result_prop_202504) true)
+(expandtypeattribute (password_slot_metadata_file_202504) true)
+(expandtypeattribute (pdx_bufferhub_client_channel_socket_202504) true)
+(expandtypeattribute (pdx_bufferhub_client_endpoint_socket_202504) true)
+(expandtypeattribute (pdx_bufferhub_dir_202504) true)
+(expandtypeattribute (pdx_display_client_channel_socket_202504) true)
+(expandtypeattribute (pdx_display_client_endpoint_socket_202504) true)
+(expandtypeattribute (pdx_display_dir_202504) true)
+(expandtypeattribute (pdx_display_manager_channel_socket_202504) true)
+(expandtypeattribute (pdx_display_manager_endpoint_socket_202504) true)
+(expandtypeattribute (pdx_display_screenshot_channel_socket_202504) true)
+(expandtypeattribute (pdx_display_screenshot_endpoint_socket_202504) true)
+(expandtypeattribute (pdx_display_vsync_channel_socket_202504) true)
+(expandtypeattribute (pdx_display_vsync_endpoint_socket_202504) true)
+(expandtypeattribute (pdx_performance_client_channel_socket_202504) true)
+(expandtypeattribute (pdx_performance_client_endpoint_socket_202504) true)
+(expandtypeattribute (pdx_performance_dir_202504) true)
+(expandtypeattribute (people_service_202504) true)
+(expandtypeattribute (perfetto_202504) true)
+(expandtypeattribute (performanced_202504) true)
+(expandtypeattribute (performanced_exec_202504) true)
+(expandtypeattribute (permission_checker_service_202504) true)
+(expandtypeattribute (permission_service_202504) true)
+(expandtypeattribute (permissionmgr_service_202504) true)
+(expandtypeattribute (permissive_mte_prop_202504) true)
+(expandtypeattribute (persist_debug_prop_202504) true)
+(expandtypeattribute (persist_vendor_debug_wifi_prop_202504) true)
+(expandtypeattribute (persist_wm_debug_prop_202504) true)
+(expandtypeattribute (persistent_data_block_service_202504) true)
+(expandtypeattribute (persistent_properties_ready_prop_202504) true)
+(expandtypeattribute (pinner_service_202504) true)
+(expandtypeattribute (pipefs_202504) true)
+(expandtypeattribute (platform_app_202504) true)
+(expandtypeattribute (platform_compat_service_202504) true)
+(expandtypeattribute (pm_archiving_enabled_prop_202504) true)
+(expandtypeattribute (pmsg_device_202504) true)
+(expandtypeattribute (port_202504) true)
+(expandtypeattribute (port_device_202504) true)
+(expandtypeattribute (postinstall_202504) true)
+(expandtypeattribute (postinstall_apex_mnt_dir_202504) true)
+(expandtypeattribute (postinstall_file_202504) true)
+(expandtypeattribute (postinstall_mnt_dir_202504) true)
+(expandtypeattribute (power_debug_prop_202504) true)
+(expandtypeattribute (power_service_202504) true)
+(expandtypeattribute (powerctl_prop_202504) true)
+(expandtypeattribute (powerstats_service_202504) true)
+(expandtypeattribute (ppp_202504) true)
+(expandtypeattribute (preloads_data_file_202504) true)
+(expandtypeattribute (preloads_media_file_202504) true)
+(expandtypeattribute (prereboot_data_file_202504) true)
+(expandtypeattribute (print_service_202504) true)
+(expandtypeattribute (priv_app_202504) true)
+(expandtypeattribute (privapp_data_file_202504) true)
+(expandtypeattribute (prng_seeder_202504) true)
+(expandtypeattribute (proc_202504) true)
+(expandtypeattribute (proc_abi_202504) true)
+(expandtypeattribute (proc_asound_202504) true)
+(expandtypeattribute (proc_bluetooth_writable_202504) true)
+(expandtypeattribute (proc_bootconfig_202504) true)
+(expandtypeattribute (proc_bpf_202504) true)
+(expandtypeattribute (proc_buddyinfo_202504) true)
+(expandtypeattribute (proc_cgroups_202504) true)
+(expandtypeattribute (proc_cmdline_202504) true)
+(expandtypeattribute (proc_cpu_alignment_202504) true)
+(expandtypeattribute (proc_cpuinfo_202504) true)
+(expandtypeattribute (proc_dirty_202504) true)
+(expandtypeattribute (proc_diskstats_202504) true)
+(expandtypeattribute (proc_drop_caches_202504) true)
+(expandtypeattribute (proc_extra_free_kbytes_202504) true)
+(expandtypeattribute (proc_filesystems_202504) true)
+(expandtypeattribute (proc_fs_verity_202504) true)
+(expandtypeattribute (proc_hostname_202504) true)
+(expandtypeattribute (proc_hung_task_202504) true)
+(expandtypeattribute (proc_interrupts_202504) true)
+(expandtypeattribute (proc_iomem_202504) true)
+(expandtypeattribute (proc_kallsyms_202504) true)
+(expandtypeattribute (proc_keys_202504) true)
+(expandtypeattribute (proc_kmsg_202504) true)
+(expandtypeattribute (proc_kpageflags_202504) true)
+(expandtypeattribute (proc_loadavg_202504) true)
+(expandtypeattribute (proc_locks_202504) true)
+(expandtypeattribute (proc_lowmemorykiller_202504) true)
+(expandtypeattribute (proc_max_map_count_202504) true)
+(expandtypeattribute (proc_meminfo_202504) true)
+(expandtypeattribute (proc_min_free_order_shift_202504) true)
+(expandtypeattribute (proc_misc_202504) true)
+(expandtypeattribute (proc_modules_202504) true)
+(expandtypeattribute (proc_mounts_202504) true)
+(expandtypeattribute (proc_net_202504) true)
+(expandtypeattribute (proc_net_tcp_udp_202504) true)
+(expandtypeattribute (proc_overcommit_memory_202504) true)
+(expandtypeattribute (proc_page_cluster_202504) true)
+(expandtypeattribute (proc_pagetypeinfo_202504) true)
+(expandtypeattribute (proc_panic_202504) true)
+(expandtypeattribute (proc_percpu_pagelist_high_fraction_202504) true)
+(expandtypeattribute (proc_perf_202504) true)
+(expandtypeattribute (proc_pid_max_202504) true)
+(expandtypeattribute (proc_pipe_conf_202504) true)
+(expandtypeattribute (proc_pressure_cpu_202504) true)
+(expandtypeattribute (proc_pressure_io_202504) true)
+(expandtypeattribute (proc_pressure_mem_202504) true)
+(expandtypeattribute (proc_qtaguid_ctrl_202504) true)
+(expandtypeattribute (proc_qtaguid_stat_202504) true)
+(expandtypeattribute (proc_random_202504) true)
+(expandtypeattribute (proc_sched_202504) true)
+(expandtypeattribute (proc_security_202504) true)
+(expandtypeattribute (proc_slabinfo_202504) true)
+(expandtypeattribute (proc_stat_202504) true)
+(expandtypeattribute (proc_swaps_202504) true)
+(expandtypeattribute (proc_sysrq_202504) true)
+(expandtypeattribute (proc_timer_202504) true)
+(expandtypeattribute (proc_tty_drivers_202504) true)
+(expandtypeattribute (proc_uid_concurrent_active_time_202504) true)
+(expandtypeattribute (proc_uid_concurrent_policy_time_202504) true)
+(expandtypeattribute (proc_uid_cpupower_202504) true)
+(expandtypeattribute (proc_uid_cputime_removeuid_202504) true)
+(expandtypeattribute (proc_uid_cputime_showstat_202504) true)
+(expandtypeattribute (proc_uid_io_stats_202504) true)
+(expandtypeattribute (proc_uid_procstat_set_202504) true)
+(expandtypeattribute (proc_uid_time_in_state_202504) true)
+(expandtypeattribute (proc_uptime_202504) true)
+(expandtypeattribute (proc_vendor_sched_202504) true)
+(expandtypeattribute (proc_version_202504) true)
+(expandtypeattribute (proc_vmallocinfo_202504) true)
+(expandtypeattribute (proc_vmstat_202504) true)
+(expandtypeattribute (proc_watermark_boost_factor_202504) true)
+(expandtypeattribute (proc_watermark_scale_factor_202504) true)
+(expandtypeattribute (proc_zoneinfo_202504) true)
+(expandtypeattribute (processinfo_service_202504) true)
+(expandtypeattribute (procstats_service_202504) true)
+(expandtypeattribute (profcollectd_etr_prop_202504) true)
+(expandtypeattribute (profiling_service_202504) true)
+(expandtypeattribute (profman_202504) true)
+(expandtypeattribute (profman_dump_data_file_202504) true)
+(expandtypeattribute (profman_exec_202504) true)
+(expandtypeattribute (properties_device_202504) true)
+(expandtypeattribute (properties_serial_202504) true)
+(expandtypeattribute (property_contexts_file_202504) true)
+(expandtypeattribute (property_data_file_202504) true)
+(expandtypeattribute (property_info_202504) true)
+(expandtypeattribute (property_service_version_prop_202504) true)
+(expandtypeattribute (property_socket_202504) true)
+(expandtypeattribute (provisioned_prop_202504) true)
+(expandtypeattribute (pstorefs_202504) true)
+(expandtypeattribute (ptmx_device_202504) true)
+(expandtypeattribute (qemu_hw_prop_202504) true)
+(expandtypeattribute (qemu_sf_lcd_density_prop_202504) true)
+(expandtypeattribute (qtaguid_device_202504) true)
+(expandtypeattribute (quick_start_prop_202504) true)
+(expandtypeattribute (racoon_socket_202504) true)
+(expandtypeattribute (radio_202504) true)
+(expandtypeattribute (radio_control_prop_202504) true)
+(expandtypeattribute (radio_core_data_file_202504) true)
+(expandtypeattribute (radio_data_file_202504) true)
+(expandtypeattribute (radio_device_202504) true)
+(expandtypeattribute (radio_prop_202504) true)
+(expandtypeattribute (radio_service_202504) true)
+(expandtypeattribute (ram_device_202504) true)
+(expandtypeattribute (random_device_202504) true)
+(expandtypeattribute (reboot_readiness_service_202504) true)
+(expandtypeattribute (rebootescrow_hal_prop_202504) true)
+(expandtypeattribute (recovery_202504) true)
+(expandtypeattribute (recovery_block_device_202504) true)
+(expandtypeattribute (recovery_config_prop_202504) true)
+(expandtypeattribute (recovery_data_file_202504) true)
+(expandtypeattribute (recovery_persist_202504) true)
+(expandtypeattribute (recovery_persist_exec_202504) true)
+(expandtypeattribute (recovery_refresh_202504) true)
+(expandtypeattribute (recovery_refresh_exec_202504) true)
+(expandtypeattribute (recovery_service_202504) true)
+(expandtypeattribute (recovery_socket_202504) true)
+(expandtypeattribute (recovery_usb_config_prop_202504) true)
+(expandtypeattribute (registry_service_202504) true)
+(expandtypeattribute (remote_auth_service_202504) true)
+(expandtypeattribute (remote_provisioning_service_202504) true)
+(expandtypeattribute (repair_mode_metadata_file_202504) true)
+(expandtypeattribute (resourcecache_data_file_202504) true)
+(expandtypeattribute (resources_manager_service_202504) true)
+(expandtypeattribute (restorecon_prop_202504) true)
+(expandtypeattribute (restrictions_service_202504) true)
+(expandtypeattribute (retaildemo_prop_202504) true)
+(expandtypeattribute (rild_debug_socket_202504) true)
+(expandtypeattribute (rild_socket_202504) true)
+(expandtypeattribute (ringtone_file_202504) true)
+(expandtypeattribute (rkpdapp_202504) true)
+(expandtypeattribute (role_service_202504) true)
+(expandtypeattribute (rollback_service_202504) true)
+(expandtypeattribute (root_block_device_202504) true)
+(expandtypeattribute (rootdisk_sysdev_202504) true)
+(expandtypeattribute (rootfs_202504) true)
+(expandtypeattribute (rpmsg_device_202504) true)
+(expandtypeattribute (rs_202504) true)
+(expandtypeattribute (rs_exec_202504) true)
+(expandtypeattribute (rss_hwm_reset_202504) true)
+(expandtypeattribute (rtc_device_202504) true)
+(expandtypeattribute (rttmanager_service_202504) true)
+(expandtypeattribute (runas_202504) true)
+(expandtypeattribute (runas_app_202504) true)
+(expandtypeattribute (runas_exec_202504) true)
+(expandtypeattribute (runtime_event_log_tags_file_202504) true)
+(expandtypeattribute (runtime_service_202504) true)
+(expandtypeattribute (safemode_prop_202504) true)
+(expandtypeattribute (same_process_hal_file_202504) true)
+(expandtypeattribute (samplingprofiler_service_202504) true)
+(expandtypeattribute (scheduling_policy_service_202504) true)
+(expandtypeattribute (sdcard_block_device_202504) true)
+(expandtypeattribute (sdcardd_202504) true)
+(expandtypeattribute (sdcardd_exec_202504) true)
+(expandtypeattribute (sdcardfs_202504) true)
+(expandtypeattribute (sdk_sandbox_service_202504) true)
+(expandtypeattribute (seapp_contexts_file_202504) true)
+(expandtypeattribute (search_service_202504) true)
+(expandtypeattribute (search_ui_service_202504) true)
+(expandtypeattribute (sec_key_att_app_id_provider_service_202504) true)
+(expandtypeattribute (secure_element_202504) true)
+(expandtypeattribute (secure_element_device_202504) true)
+(expandtypeattribute (secure_element_service_202504) true)
+(expandtypeattribute (security_state_service_202504) true)
+(expandtypeattribute (securityfs_202504) true)
+(expandtypeattribute (selection_toolbar_service_202504) true)
+(expandtypeattribute (selinuxfs_202504) true)
+(expandtypeattribute (sendbug_config_prop_202504) true)
+(expandtypeattribute (sensitive_content_protection_service_202504) true)
+(expandtypeattribute (sensor_privacy_service_202504) true)
+(expandtypeattribute (sensors_device_202504) true)
+(expandtypeattribute (sensorservice_service_202504) true)
+(expandtypeattribute (sepolicy_file_202504) true)
+(expandtypeattribute (serial_device_202504) true)
+(expandtypeattribute (serial_service_202504) true)
+(expandtypeattribute (serialno_prop_202504) true)
+(expandtypeattribute (server_configurable_flags_data_file_202504) true)
+(expandtypeattribute (service_contexts_file_202504) true)
+(expandtypeattribute (service_manager_service_202504) true)
+(expandtypeattribute (service_manager_vndservice_202504) true)
+(expandtypeattribute (servicediscovery_service_202504) true)
+(expandtypeattribute (servicemanager_202504) true)
+(expandtypeattribute (servicemanager_exec_202504) true)
+(expandtypeattribute (servicemanager_prop_202504) true)
+(expandtypeattribute (settings_service_202504) true)
+(expandtypeattribute (setupwizard_mode_prop_202504) true)
+(expandtypeattribute (sgdisk_202504) true)
+(expandtypeattribute (sgdisk_exec_202504) true)
+(expandtypeattribute (shared_relro_202504) true)
+(expandtypeattribute (shared_relro_file_202504) true)
+(expandtypeattribute (shell_202504) true)
+(expandtypeattribute (shell_data_file_202504) true)
+(expandtypeattribute (shell_exec_202504) true)
+(expandtypeattribute (shell_prop_202504) true)
+(expandtypeattribute (shell_test_data_file_202504) true)
+(expandtypeattribute (shm_202504) true)
+(expandtypeattribute (shortcut_manager_icons_202504) true)
+(expandtypeattribute (shortcut_service_202504) true)
+(expandtypeattribute (shutdown_checkpoints_system_data_file_202504) true)
+(expandtypeattribute (simpleperf_202504) true)
+(expandtypeattribute (simpleperf_app_runner_202504) true)
+(expandtypeattribute (simpleperf_app_runner_exec_202504) true)
+(expandtypeattribute (slice_service_202504) true)
+(expandtypeattribute (slideshow_202504) true)
+(expandtypeattribute (smart_idle_maint_enabled_prop_202504) true)
+(expandtypeattribute (smartspace_service_202504) true)
+(expandtypeattribute (snapshotctl_log_data_file_202504) true)
+(expandtypeattribute (snapuserd_log_data_file_202504) true)
+(expandtypeattribute (snapuserd_proxy_socket_202504) true)
+(expandtypeattribute (snapuserd_socket_202504) true)
+(expandtypeattribute (soc_prop_202504) true)
+(expandtypeattribute (socket_device_202504) true)
+(expandtypeattribute (socket_hook_prop_202504) true)
+(expandtypeattribute (sockfs_202504) true)
+(expandtypeattribute (sota_prop_202504) true)
+(expandtypeattribute (soundtrigger_middleware_service_202504) true)
+(expandtypeattribute (speech_recognition_service_202504) true)
+(expandtypeattribute (sqlite_log_prop_202504) true)
+(expandtypeattribute (staged_install_file_202504) true)
+(expandtypeattribute (staging_data_file_202504) true)
+(expandtypeattribute (stats_config_data_file_202504) true)
+(expandtypeattribute (stats_data_file_202504) true)
+(expandtypeattribute (statsd_202504) true)
+(expandtypeattribute (statsd_exec_202504) true)
+(expandtypeattribute (statsdw_socket_202504) true)
+(expandtypeattribute (statusbar_service_202504) true)
+(expandtypeattribute (storage_config_prop_202504) true)
+(expandtypeattribute (storage_file_202504) true)
+(expandtypeattribute (storage_stub_file_202504) true)
+(expandtypeattribute (storaged_service_202504) true)
+(expandtypeattribute (storagemanager_config_prop_202504) true)
+(expandtypeattribute (storagestats_service_202504) true)
+(expandtypeattribute (su_202504) true)
+(expandtypeattribute (su_exec_202504) true)
+(expandtypeattribute (super_block_device_202504) true)
+(expandtypeattribute (surfaceflinger_202504) true)
+(expandtypeattribute (surfaceflinger_color_prop_202504) true)
+(expandtypeattribute (surfaceflinger_display_prop_202504) true)
+(expandtypeattribute (surfaceflinger_prop_202504) true)
+(expandtypeattribute (surfaceflinger_service_202504) true)
+(expandtypeattribute (surfaceflinger_tmpfs_202504) true)
+(expandtypeattribute (suspend_prop_202504) true)
+(expandtypeattribute (swap_block_device_202504) true)
+(expandtypeattribute (sysfs_202504) true)
+(expandtypeattribute (sysfs_android_usb_202504) true)
+(expandtypeattribute (sysfs_batteryinfo_202504) true)
+(expandtypeattribute (sysfs_bluetooth_writable_202504) true)
+(expandtypeattribute (sysfs_cma_202504) true)
+(expandtypeattribute (sysfs_devfreq_cur_202504) true)
+(expandtypeattribute (sysfs_devfreq_dir_202504) true)
+(expandtypeattribute (sysfs_devices_block_202504) true)
+(expandtypeattribute (sysfs_devices_cs_etm_202504) true)
+(expandtypeattribute (sysfs_devices_system_cpu_202504) true)
+(expandtypeattribute (sysfs_dm_202504) true)
+(expandtypeattribute (sysfs_dm_verity_202504) true)
+(expandtypeattribute (sysfs_dma_heap_202504) true)
+(expandtypeattribute (sysfs_dmabuf_stats_202504) true)
+(expandtypeattribute (sysfs_dt_firmware_android_202504) true)
+(expandtypeattribute (sysfs_extcon_202504) true)
+(expandtypeattribute (sysfs_fs_ext4_features_202504) true)
+(expandtypeattribute (sysfs_fs_f2fs_202504) true)
+(expandtypeattribute (sysfs_fs_fuse_bpf_202504) true)
+(expandtypeattribute (sysfs_fs_fuse_features_202504) true)
+(expandtypeattribute (sysfs_fs_incfs_features_202504) true)
+(expandtypeattribute (sysfs_fs_incfs_metrics_202504) true)
+(expandtypeattribute (sysfs_gpu_202504) true)
+(expandtypeattribute (sysfs_hwrandom_202504) true)
+(expandtypeattribute (sysfs_ion_202504) true)
+(expandtypeattribute (sysfs_ipv4_202504) true)
+(expandtypeattribute (sysfs_kernel_notes_202504) true)
+(expandtypeattribute (sysfs_leds_202504) true)
+(expandtypeattribute (sysfs_loop_202504) true)
+(expandtypeattribute (sysfs_lowmemorykiller_202504) true)
+(expandtypeattribute (sysfs_lru_gen_enabled_202504) true)
+(expandtypeattribute (sysfs_mem_sleep_202504) true)
+(expandtypeattribute (sysfs_net_202504) true)
+(expandtypeattribute (sysfs_nfc_power_writable_202504) true)
+(expandtypeattribute (sysfs_power_202504) true)
+(expandtypeattribute (sysfs_rtc_202504) true)
+(expandtypeattribute (sysfs_suspend_stats_202504) true)
+(expandtypeattribute (sysfs_switch_202504) true)
+(expandtypeattribute (sysfs_sync_on_suspend_202504) true)
+(expandtypeattribute (sysfs_thermal_202504) true)
+(expandtypeattribute (sysfs_transparent_hugepage_202504) true)
+(expandtypeattribute (sysfs_udc_202504) true)
+(expandtypeattribute (sysfs_uhid_202504) true)
+(expandtypeattribute (sysfs_uio_202504) true)
+(expandtypeattribute (sysfs_usb_202504) true)
+(expandtypeattribute (sysfs_usermodehelper_202504) true)
+(expandtypeattribute (sysfs_vendor_sched_202504) true)
+(expandtypeattribute (sysfs_vibrator_202504) true)
+(expandtypeattribute (sysfs_wake_lock_202504) true)
+(expandtypeattribute (sysfs_wakeup_202504) true)
+(expandtypeattribute (sysfs_wakeup_reasons_202504) true)
+(expandtypeattribute (sysfs_wlan_fwpath_202504) true)
+(expandtypeattribute (sysfs_zram_202504) true)
+(expandtypeattribute (sysfs_zram_uevent_202504) true)
+(expandtypeattribute (system_app_202504) true)
+(expandtypeattribute (system_app_data_file_202504) true)
+(expandtypeattribute (system_app_service_202504) true)
+(expandtypeattribute (system_asan_options_file_202504) true)
+(expandtypeattribute (system_block_device_202504) true)
+(expandtypeattribute (system_boot_reason_prop_202504) true)
+(expandtypeattribute (system_bootstrap_lib_file_202504) true)
+(expandtypeattribute (system_config_service_202504) true)
+(expandtypeattribute (system_data_file_202504) true)
+(expandtypeattribute (system_data_root_file_202504) true)
+(expandtypeattribute (system_dlkm_file_202504) true)
+(expandtypeattribute (system_event_log_tags_file_202504) true)
+(expandtypeattribute (system_file_202504) true)
+(expandtypeattribute (system_group_file_202504) true)
+(expandtypeattribute (system_jvmti_agent_prop_202504) true)
+(expandtypeattribute (system_lib_file_202504) true)
+(expandtypeattribute (system_linker_config_file_202504) true)
+(expandtypeattribute (system_linker_exec_202504) true)
+(expandtypeattribute (system_lmk_prop_202504) true)
+(expandtypeattribute (system_ndebug_socket_202504) true)
+(expandtypeattribute (system_net_netd_hwservice_202504) true)
+(expandtypeattribute (system_net_netd_service_202504) true)
+(expandtypeattribute (system_passwd_file_202504) true)
+(expandtypeattribute (system_prop_202504) true)
+(expandtypeattribute (system_seccomp_policy_file_202504) true)
+(expandtypeattribute (system_security_cacerts_file_202504) true)
+(expandtypeattribute (system_server_202504) true)
+(expandtypeattribute (system_server_dumper_service_202504) true)
+(expandtypeattribute (system_server_tmpfs_202504) true)
+(expandtypeattribute (system_suspend_control_internal_service_202504) true)
+(expandtypeattribute (system_suspend_control_service_202504) true)
+(expandtypeattribute (system_suspend_hwservice_202504) true)
+(expandtypeattribute (system_trace_prop_202504) true)
+(expandtypeattribute (system_unsolzygote_socket_202504) true)
+(expandtypeattribute (system_update_service_202504) true)
+(expandtypeattribute (system_user_mode_emulation_prop_202504) true)
+(expandtypeattribute (system_userdir_file_202504) true)
+(expandtypeattribute (system_wifi_keystore_hwservice_202504) true)
+(expandtypeattribute (system_wpa_socket_202504) true)
+(expandtypeattribute (system_zoneinfo_file_202504) true)
+(expandtypeattribute (systemkeys_data_file_202504) true)
+(expandtypeattribute (systemsound_config_prop_202504) true)
+(expandtypeattribute (tare_service_202504) true)
+(expandtypeattribute (task_profiles_file_202504) true)
+(expandtypeattribute (task_service_202504) true)
+(expandtypeattribute (tcpdump_exec_202504) true)
+(expandtypeattribute (tee_202504) true)
+(expandtypeattribute (tee_data_file_202504) true)
+(expandtypeattribute (tee_device_202504) true)
+(expandtypeattribute (tee_service_contexts_file_202504) true)
+(expandtypeattribute (telecom_service_202504) true)
+(expandtypeattribute (telephony_config_prop_202504) true)
+(expandtypeattribute (telephony_status_prop_202504) true)
+(expandtypeattribute (test_boot_reason_prop_202504) true)
+(expandtypeattribute (test_harness_prop_202504) true)
+(expandtypeattribute (testharness_service_202504) true)
+(expandtypeattribute (tethering_service_202504) true)
+(expandtypeattribute (textclassification_service_202504) true)
+(expandtypeattribute (textclassifier_data_file_202504) true)
+(expandtypeattribute (textservices_service_202504) true)
+(expandtypeattribute (texttospeech_service_202504) true)
+(expandtypeattribute (theme_prop_202504) true)
+(expandtypeattribute (thermal_service_202504) true)
+(expandtypeattribute (threadnetwork_config_prop_202504) true)
+(expandtypeattribute (threadnetwork_service_202504) true)
+(expandtypeattribute (time_prop_202504) true)
+(expandtypeattribute (timedetector_service_202504) true)
+(expandtypeattribute (timezone_prop_202504) true)
+(expandtypeattribute (timezonedetector_service_202504) true)
+(expandtypeattribute (tmpfs_202504) true)
+(expandtypeattribute (tombstone_config_prop_202504) true)
+(expandtypeattribute (tombstone_data_file_202504) true)
+(expandtypeattribute (tombstone_wifi_data_file_202504) true)
+(expandtypeattribute (tombstoned_202504) true)
+(expandtypeattribute (tombstoned_crash_socket_202504) true)
+(expandtypeattribute (tombstoned_exec_202504) true)
+(expandtypeattribute (tombstoned_intercept_socket_202504) true)
+(expandtypeattribute (tombstoned_java_trace_socket_202504) true)
+(expandtypeattribute (toolbox_202504) true)
+(expandtypeattribute (toolbox_exec_202504) true)
+(expandtypeattribute (trace_data_file_202504) true)
+(expandtypeattribute (traced_202504) true)
+(expandtypeattribute (traced_consumer_socket_202504) true)
+(expandtypeattribute (traced_enabled_prop_202504) true)
+(expandtypeattribute (traced_lazy_prop_202504) true)
+(expandtypeattribute (traced_oome_heap_session_count_prop_202504) true)
+(expandtypeattribute (traced_perf_202504) true)
+(expandtypeattribute (traced_perf_socket_202504) true)
+(expandtypeattribute (traced_probes_202504) true)
+(expandtypeattribute (traced_producer_socket_202504) true)
+(expandtypeattribute (traced_tmpfs_202504) true)
+(expandtypeattribute (traceur_app_202504) true)
+(expandtypeattribute (translation_service_202504) true)
+(expandtypeattribute (trust_service_202504) true)
+(expandtypeattribute (trusty_security_vm_sys_vendor_prop_202504) true)
+(expandtypeattribute (tty_device_202504) true)
+(expandtypeattribute (tun_device_202504) true)
+(expandtypeattribute (tuner_config_prop_202504) true)
+(expandtypeattribute (tv_ad_service_202504) true)
+(expandtypeattribute (tv_iapp_service_202504) true)
+(expandtypeattribute (tv_input_service_202504) true)
+(expandtypeattribute (tv_tuner_resource_mgr_service_202504) true)
+(expandtypeattribute (ublk_block_device_202504) true)
+(expandtypeattribute (ublk_control_device_202504) true)
+(expandtypeattribute (ueventd_202504) true)
+(expandtypeattribute (ueventd_tmpfs_202504) true)
+(expandtypeattribute (uhid_device_202504) true)
+(expandtypeattribute (uimode_service_202504) true)
+(expandtypeattribute (uio_device_202504) true)
+(expandtypeattribute (uncrypt_202504) true)
+(expandtypeattribute (uncrypt_exec_202504) true)
+(expandtypeattribute (uncrypt_socket_202504) true)
+(expandtypeattribute (unencrypted_data_file_202504) true)
+(expandtypeattribute (unlabeled_202504) true)
+(expandtypeattribute (untrusted_app_202504) true)
+(expandtypeattribute (untrusted_app_25_202504) true)
+(expandtypeattribute (untrusted_app_27_202504) true)
+(expandtypeattribute (untrusted_app_29_202504) true)
+(expandtypeattribute (untrusted_app_30_202504) true)
+(expandtypeattribute (untrusted_app_32_202504) true)
+(expandtypeattribute (update_engine_202504) true)
+(expandtypeattribute (update_engine_data_file_202504) true)
+(expandtypeattribute (update_engine_exec_202504) true)
+(expandtypeattribute (update_engine_log_data_file_202504) true)
+(expandtypeattribute (update_engine_service_202504) true)
+(expandtypeattribute (update_engine_stable_service_202504) true)
+(expandtypeattribute (update_verifier_202504) true)
+(expandtypeattribute (update_verifier_exec_202504) true)
+(expandtypeattribute (updatelock_service_202504) true)
+(expandtypeattribute (uri_grants_service_202504) true)
+(expandtypeattribute (usagestats_service_202504) true)
+(expandtypeattribute (usb_config_prop_202504) true)
+(expandtypeattribute (usb_control_prop_202504) true)
+(expandtypeattribute (usb_device_202504) true)
+(expandtypeattribute (usb_prop_202504) true)
+(expandtypeattribute (usb_serial_device_202504) true)
+(expandtypeattribute (usb_service_202504) true)
+(expandtypeattribute (usb_uvc_enabled_prop_202504) true)
+(expandtypeattribute (usbaccessory_device_202504) true)
+(expandtypeattribute (usbd_202504) true)
+(expandtypeattribute (usbd_exec_202504) true)
+(expandtypeattribute (usbfs_202504) true)
+(expandtypeattribute (use_memfd_prop_202504) true)
+(expandtypeattribute (user_profile_data_file_202504) true)
+(expandtypeattribute (user_profile_root_file_202504) true)
+(expandtypeattribute (user_service_202504) true)
+(expandtypeattribute (userdata_block_device_202504) true)
+(expandtypeattribute (userdata_sysdev_202504) true)
+(expandtypeattribute (userdebug_or_eng_prop_202504) true)
+(expandtypeattribute (usermodehelper_202504) true)
+(expandtypeattribute (userspace_reboot_config_prop_202504) true)
+(expandtypeattribute (userspace_reboot_exported_prop_202504) true)
+(expandtypeattribute (userspace_reboot_metadata_file_202504) true)
+(expandtypeattribute (uwb_service_202504) true)
+(expandtypeattribute (vcn_management_service_202504) true)
+(expandtypeattribute (vd_device_202504) true)
+(expandtypeattribute (vdc_202504) true)
+(expandtypeattribute (vdc_exec_202504) true)
+(expandtypeattribute (vehicle_hal_prop_202504) true)
+(expandtypeattribute (vendor_apex_file_202504) true)
+(expandtypeattribute (vendor_apex_metadata_file_202504) true)
+(expandtypeattribute (vendor_app_file_202504) true)
+(expandtypeattribute (vendor_boot_ota_file_202504) true)
+(expandtypeattribute (vendor_cgroup_desc_file_202504) true)
+(expandtypeattribute (vendor_configs_file_202504) true)
+(expandtypeattribute (vendor_data_file_202504) true)
+(expandtypeattribute (vendor_default_prop_202504) true)
+(expandtypeattribute (vendor_file_202504) true)
+(expandtypeattribute (vendor_framework_file_202504) true)
+(expandtypeattribute (vendor_hal_file_202504) true)
+(expandtypeattribute (vendor_idc_file_202504) true)
+(expandtypeattribute (vendor_init_202504) true)
+(expandtypeattribute (vendor_kernel_modules_202504) true)
+(expandtypeattribute (vendor_keychars_file_202504) true)
+(expandtypeattribute (vendor_keylayout_file_202504) true)
+(expandtypeattribute (vendor_microdroid_file_202504) true)
+(expandtypeattribute (vendor_misc_writer_202504) true)
+(expandtypeattribute (vendor_misc_writer_exec_202504) true)
+(expandtypeattribute (vendor_modprobe_202504) true)
+(expandtypeattribute (vendor_overlay_file_202504) true)
+(expandtypeattribute (vendor_public_framework_file_202504) true)
+(expandtypeattribute (vendor_public_lib_file_202504) true)
+(expandtypeattribute (vendor_security_patch_level_prop_202504) true)
+(expandtypeattribute (vendor_service_contexts_file_202504) true)
+(expandtypeattribute (vendor_shell_202504) true)
+(expandtypeattribute (vendor_shell_exec_202504) true)
+(expandtypeattribute (vendor_socket_hook_prop_202504) true)
+(expandtypeattribute (vendor_task_profiles_file_202504) true)
+(expandtypeattribute (vendor_toolbox_exec_202504) true)
+(expandtypeattribute (vendor_userdir_file_202504) true)
+(expandtypeattribute (vendor_uuid_mapping_config_file_202504) true)
+(expandtypeattribute (vendor_vm_data_file_202504) true)
+(expandtypeattribute (vendor_vm_file_202504) true)
+(expandtypeattribute (vfat_202504) true)
+(expandtypeattribute (vfio_device_202504) true)
+(expandtypeattribute (vibrator_manager_service_202504) true)
+(expandtypeattribute (vibrator_service_202504) true)
+(expandtypeattribute (video_device_202504) true)
+(expandtypeattribute (virtual_ab_prop_202504) true)
+(expandtypeattribute (virtual_camera_202504) true)
+(expandtypeattribute (virtual_camera_exec_202504) true)
+(expandtypeattribute (virtual_camera_service_202504) true)
+(expandtypeattribute (virtual_device_native_service_202504) true)
+(expandtypeattribute (virtual_device_service_202504) true)
+(expandtypeattribute (virtual_face_hal_prop_202504) true)
+(expandtypeattribute (virtual_face_prop_202504) true)
+(expandtypeattribute (virtual_fingerprint_hal_prop_202504) true)
+(expandtypeattribute (virtual_fingerprint_prop_202504) true)
+(expandtypeattribute (virtual_touchpad_202504) true)
+(expandtypeattribute (virtual_touchpad_exec_202504) true)
+(expandtypeattribute (virtual_touchpad_service_202504) true)
+(expandtypeattribute (virtualization_service_202504) true)
+(expandtypeattribute (virtualizationmanager_202504) true)
+(expandtypeattribute (virtualizationmanager_exec_202504) true)
+(expandtypeattribute (vndbinder_device_202504) true)
+(expandtypeattribute (vndk_prop_202504) true)
+(expandtypeattribute (vndk_sp_file_202504) true)
+(expandtypeattribute (vndservice_contexts_file_202504) true)
+(expandtypeattribute (vndservicemanager_202504) true)
+(expandtypeattribute (voiceinteraction_service_202504) true)
+(expandtypeattribute (vold_202504) true)
+(expandtypeattribute (vold_config_prop_202504) true)
+(expandtypeattribute (vold_data_file_202504) true)
+(expandtypeattribute (vold_device_202504) true)
+(expandtypeattribute (vold_exec_202504) true)
+(expandtypeattribute (vold_metadata_file_202504) true)
+(expandtypeattribute (vold_post_fs_data_prop_202504) true)
+(expandtypeattribute (vold_prepare_subdirs_202504) true)
+(expandtypeattribute (vold_prepare_subdirs_exec_202504) true)
+(expandtypeattribute (vold_prop_202504) true)
+(expandtypeattribute (vold_service_202504) true)
+(expandtypeattribute (vold_status_prop_202504) true)
+(expandtypeattribute (vpn_data_file_202504) true)
+(expandtypeattribute (vpn_management_service_202504) true)
+(expandtypeattribute (vr_hwc_service_202504) true)
+(expandtypeattribute (vr_manager_service_202504) true)
+(expandtypeattribute (vrflinger_vsync_service_202504) true)
+(expandtypeattribute (vts_config_prop_202504) true)
+(expandtypeattribute (vts_status_prop_202504) true)
+(expandtypeattribute (wallpaper_effects_generation_service_202504) true)
+(expandtypeattribute (wallpaper_file_202504) true)
+(expandtypeattribute (wallpaper_service_202504) true)
+(expandtypeattribute (watchdog_device_202504) true)
+(expandtypeattribute (watchdog_metadata_file_202504) true)
+(expandtypeattribute (watchdogd_202504) true)
+(expandtypeattribute (watchdogd_exec_202504) true)
+(expandtypeattribute (webview_zygote_202504) true)
+(expandtypeattribute (webview_zygote_exec_202504) true)
+(expandtypeattribute (webview_zygote_tmpfs_202504) true)
+(expandtypeattribute (webviewupdate_service_202504) true)
+(expandtypeattribute (wifi_config_prop_202504) true)
+(expandtypeattribute (wifi_data_file_202504) true)
+(expandtypeattribute (wifi_hal_prop_202504) true)
+(expandtypeattribute (wifi_key_202504) true)
+(expandtypeattribute (wifi_log_prop_202504) true)
+(expandtypeattribute (wifi_prop_202504) true)
+(expandtypeattribute (wifi_service_202504) true)
+(expandtypeattribute (wifi_usd_service_202504) true)
+(expandtypeattribute (wifiaware_service_202504) true)
+(expandtypeattribute (wificond_202504) true)
+(expandtypeattribute (wificond_exec_202504) true)
+(expandtypeattribute (wifinl80211_service_202504) true)
+(expandtypeattribute (wifip2p_service_202504) true)
+(expandtypeattribute (wifiscanner_service_202504) true)
+(expandtypeattribute (window_service_202504) true)
+(expandtypeattribute (wpa_socket_202504) true)
+(expandtypeattribute (zero_device_202504) true)
+(expandtypeattribute (zoned_block_device_202504) true)
+(expandtypeattribute (zram_config_prop_202504) true)
+(expandtypeattribute (zram_control_prop_202504) true)
+(expandtypeattribute (zygote_202504) true)
+(expandtypeattribute (zygote_config_prop_202504) true)
+(expandtypeattribute (zygote_exec_202504) true)
+(expandtypeattribute (zygote_socket_202504) true)
+(expandtypeattribute (zygote_tmpfs_202504) true)
+(typeattributeset DockObserver_service_202504 (DockObserver_service))
+(typeattributeset IProxyService_service_202504 (IProxyService_service))
+(typeattributeset aac_drc_prop_202504 (aac_drc_prop))
+(typeattributeset aaudio_config_prop_202504 (aaudio_config_prop))
+(typeattributeset ab_update_gki_prop_202504 (ab_update_gki_prop))
+(typeattributeset accessibility_service_202504 (accessibility_service))
+(typeattributeset account_service_202504 (account_service))
+(typeattributeset aconfig_storage_flags_metadata_file_202504 (aconfig_storage_flags_metadata_file))
+(typeattributeset aconfig_storage_metadata_file_202504 (aconfig_storage_metadata_file))
+(typeattributeset activity_service_202504 (activity_service))
+(typeattributeset activity_task_service_202504 (activity_task_service))
+(typeattributeset adaptive_haptics_prop_202504 (adaptive_haptics_prop))
+(typeattributeset adb_data_file_202504 (adb_data_file))
+(typeattributeset adb_keys_file_202504 (adb_keys_file))
+(typeattributeset adb_service_202504 (adb_service))
+(typeattributeset adbd_202504 (adbd))
+(typeattributeset adbd_config_prop_202504 (adbd_config_prop))
+(typeattributeset adbd_exec_202504 (adbd_exec))
+(typeattributeset adbd_socket_202504 (adbd_socket))
+(typeattributeset adservices_manager_service_202504 (adservices_manager_service))
+(typeattributeset aidl_lazy_test_server_202504 (aidl_lazy_test_server))
+(typeattributeset aidl_lazy_test_server_exec_202504 (aidl_lazy_test_server_exec))
+(typeattributeset aidl_lazy_test_service_202504 (aidl_lazy_test_service))
+(typeattributeset alarm_service_202504 (alarm_service))
+(typeattributeset anr_data_file_202504 (anr_data_file))
+(typeattributeset apc_service_202504 (apc_service))
+(typeattributeset apex_data_file_202504 (apex_data_file))
+(typeattributeset apex_info_file_202504 (apex_info_file))
+(typeattributeset apex_metadata_file_202504 (apex_metadata_file))
+(typeattributeset apex_mnt_dir_202504 (apex_mnt_dir))
+(typeattributeset apex_module_data_file_202504 (apex_module_data_file))
+(typeattributeset apex_ota_reserved_file_202504 (apex_ota_reserved_file))
+(typeattributeset apex_ready_prop_202504 (apex_ready_prop))
+(typeattributeset apex_rollback_data_file_202504 (apex_rollback_data_file))
+(typeattributeset apex_service_202504 (apex_service))
+(typeattributeset apex_system_server_data_file_202504 (apex_system_server_data_file))
+(typeattributeset apexd_202504 (apexd))
+(typeattributeset apexd_config_prop_202504 (apexd_config_prop))
+(typeattributeset apexd_exec_202504 (apexd_exec))
+(typeattributeset apexd_prop_202504 (apexd_prop))
+(typeattributeset apexd_select_prop_202504 (apexd_select_prop))
+(typeattributeset apk_data_file_202504 (apk_data_file))
+(typeattributeset apk_private_data_file_202504 (apk_private_data_file))
+(typeattributeset apk_private_tmp_file_202504 (apk_private_tmp_file))
+(typeattributeset apk_tmp_file_202504 (apk_tmp_file))
+(typeattributeset apk_verity_prop_202504 (apk_verity_prop))
+(typeattributeset app_binding_service_202504 (app_binding_service))
+(typeattributeset app_data_file_202504 (app_data_file))
+(typeattributeset app_function_service_202504 (app_function_service))
+(typeattributeset app_fuse_file_202504 (app_fuse_file))
+(typeattributeset app_fusefs_202504 (app_fusefs))
+(typeattributeset app_hibernation_service_202504 (app_hibernation_service))
+(typeattributeset app_integrity_service_202504 (app_integrity_service))
+(typeattributeset app_prediction_service_202504 (app_prediction_service))
+(typeattributeset app_search_service_202504 (app_search_service))
+(typeattributeset app_zygote_202504 (app_zygote))
+(typeattributeset app_zygote_tmpfs_202504 (app_zygote_tmpfs))
+(typeattributeset appcompat_data_file_202504 (appcompat_data_file))
+(typeattributeset appdomain_tmpfs_202504 (appdomain_tmpfs))
+(typeattributeset appops_service_202504 (appops_service))
+(typeattributeset appwidget_service_202504 (appwidget_service))
+(typeattributeset archive_service_202504 (archive_service))
+(typeattributeset arm64_memtag_prop_202504 (arm64_memtag_prop))
+(typeattributeset art_apex_dir_202504 (art_apex_dir))
+(typeattributeset artd_202504 (artd))
+(typeattributeset artd_pre_reboot_service_202504 (artd_pre_reboot_service))
+(typeattributeset artd_service_202504 (artd_service))
+(typeattributeset asec_apk_file_202504 (asec_apk_file))
+(typeattributeset asec_image_file_202504 (asec_image_file))
+(typeattributeset asec_public_file_202504 (asec_public_file))
+(typeattributeset ashmem_device_202504 (ashmem_device))
+(typeattributeset ashmem_libcutils_device_202504 (ashmem_libcutils_device))
+(typeattributeset assetatlas_service_202504 (assetatlas_service))
+(typeattributeset atrace_202504 (atrace))
+(typeattributeset attestation_verification_service_202504 (attestation_verification_service))
+(typeattributeset audio_config_prop_202504 (audio_config_prop))
+(typeattributeset audio_data_file_202504 (audio_data_file))
+(typeattributeset audio_device_202504 (audio_device))
+(typeattributeset audio_prop_202504 (audio_prop))
+(typeattributeset audio_service_202504 (audio_service))
+(typeattributeset audiohal_data_file_202504 (audiohal_data_file))
+(typeattributeset audioserver_202504 (audioserver))
+(typeattributeset audioserver_data_file_202504 (audioserver_data_file))
+(typeattributeset audioserver_service_202504 (audioserver_service))
+(typeattributeset audioserver_tmpfs_202504 (audioserver_tmpfs))
+(typeattributeset auth_service_202504 (auth_service))
+(typeattributeset authorization_service_202504 (authorization_service))
+(typeattributeset autofill_service_202504 (autofill_service))
+(typeattributeset backup_data_file_202504 (backup_data_file))
+(typeattributeset backup_service_202504 (backup_service))
+(typeattributeset battery_service_202504 (battery_service))
+(typeattributeset batteryproperties_service_202504 (batteryproperties_service))
+(typeattributeset batterystats_service_202504 (batterystats_service))
+(typeattributeset binder_cache_bluetooth_server_prop_202504 (binder_cache_bluetooth_server_prop))
+(typeattributeset binder_cache_system_server_prop_202504 (binder_cache_system_server_prop))
+(typeattributeset binder_cache_telephony_server_prop_202504 (binder_cache_telephony_server_prop))
+(typeattributeset binder_calls_stats_service_202504 (binder_calls_stats_service))
+(typeattributeset binder_device_202504 (binder_device))
+(typeattributeset binderfs_202504 (binderfs))
+(typeattributeset binderfs_features_202504 (binderfs_features))
+(typeattributeset binderfs_logs_202504 (binderfs_logs))
+(typeattributeset binderfs_logs_proc_202504 (binderfs_logs_proc))
+(typeattributeset binderfs_logs_stats_202504 (binderfs_logs_stats))
+(typeattributeset binderfs_logs_transaction_history_202504 (binderfs_logs_transaction_history))
+(typeattributeset binderfs_logs_transactions_202504 (binderfs_logs_transactions))
+(typeattributeset binfmt_miscfs_202504 (binfmt_miscfs))
+(typeattributeset biometric_service_202504 (biometric_service))
+(typeattributeset blkid_202504 (blkid))
+(typeattributeset blkid_untrusted_202504 (blkid_untrusted))
+(typeattributeset blob_store_service_202504 (blob_store_service))
+(typeattributeset block_device_202504 (block_device))
+(typeattributeset bluetooth_202504 (bluetooth))
+(typeattributeset bluetooth_a2dp_offload_prop_202504 (bluetooth_a2dp_offload_prop))
+(typeattributeset bluetooth_audio_hal_prop_202504 (bluetooth_audio_hal_prop))
+(typeattributeset bluetooth_config_prop_202504 (bluetooth_config_prop))
+(typeattributeset bluetooth_data_file_202504 (bluetooth_data_file))
+(typeattributeset bluetooth_efs_file_202504 (bluetooth_efs_file))
+(typeattributeset bluetooth_finder_prop_202504 (bluetooth_finder_prop))
+(typeattributeset bluetooth_logs_data_file_202504 (bluetooth_logs_data_file))
+(typeattributeset bluetooth_manager_service_202504 (bluetooth_manager_service))
+(typeattributeset bluetooth_prop_202504 (bluetooth_prop))
+(typeattributeset bluetooth_service_202504 (bluetooth_service))
+(typeattributeset bluetooth_socket_202504 (bluetooth_socket))
+(typeattributeset boot_block_device_202504 (boot_block_device))
+(typeattributeset boot_status_prop_202504 (boot_status_prop))
+(typeattributeset bootanim_202504 (bootanim))
+(typeattributeset bootanim_config_prop_202504 (bootanim_config_prop))
+(typeattributeset bootanim_exec_202504 (bootanim_exec))
+(typeattributeset bootanim_oem_file_202504 (bootanim_oem_file))
+(typeattributeset bootanim_system_prop_202504 (bootanim_system_prop))
+(typeattributeset bootchart_data_file_202504 (bootchart_data_file))
+(typeattributeset bootloader_boot_reason_prop_202504 (bootloader_boot_reason_prop))
+(typeattributeset bootloader_prop_202504 (bootloader_prop))
+(typeattributeset bootstat_202504 (bootstat))
+(typeattributeset bootstat_data_file_202504 (bootstat_data_file))
+(typeattributeset bootstat_exec_202504 (bootstat_exec))
+(typeattributeset boottime_prop_202504 (boottime_prop))
+(typeattributeset boottime_public_prop_202504 (boottime_public_prop))
+(typeattributeset boottrace_data_file_202504 (boottrace_data_file))
+(typeattributeset bpf_progs_loaded_prop_202504 (bpf_progs_loaded_prop))
+(typeattributeset bpfloader_202504 (bpfloader))
+(typeattributeset bq_config_prop_202504 (bq_config_prop))
+(typeattributeset broadcastradio_service_202504 (broadcastradio_service))
+(typeattributeset bt_device_202504 (bt_device))
+(typeattributeset bufferhubd_202504 (bufferhubd))
+(typeattributeset bufferhubd_exec_202504 (bufferhubd_exec))
+(typeattributeset bugreport_service_202504 (bugreport_service))
+(typeattributeset build_attestation_prop_202504 (build_attestation_prop))
+(typeattributeset build_bootimage_prop_202504 (build_bootimage_prop))
+(typeattributeset build_config_prop_202504 (build_config_prop))
+(typeattributeset build_odm_prop_202504 (build_odm_prop))
+(typeattributeset build_prop_202504 (build_prop))
+(typeattributeset build_vendor_prop_202504 (build_vendor_prop))
+(typeattributeset cache_backup_file_202504 (cache_backup_file))
+(typeattributeset cache_block_device_202504 (cache_block_device))
+(typeattributeset cache_file_202504 (cache_file))
+(typeattributeset cache_private_backup_file_202504 (cache_private_backup_file))
+(typeattributeset cache_recovery_file_202504 (cache_recovery_file))
+(typeattributeset cacheinfo_service_202504 (cacheinfo_service))
+(typeattributeset camera2_extensions_prop_202504 (camera2_extensions_prop))
+(typeattributeset camera_calibration_prop_202504 (camera_calibration_prop))
+(typeattributeset camera_config_prop_202504 (camera_config_prop))
+(typeattributeset camera_data_file_202504 (camera_data_file))
+(typeattributeset camera_device_202504 (camera_device))
+(typeattributeset cameraproxy_service_202504 (cameraproxy_service))
+(typeattributeset cameraserver_202504 (cameraserver))
+(typeattributeset cameraserver_exec_202504 (cameraserver_exec))
+(typeattributeset cameraserver_service_202504 (cameraserver_service))
+(typeattributeset cameraserver_tmpfs_202504 (cameraserver_tmpfs))
+(typeattributeset camerax_extensions_prop_202504 (camerax_extensions_prop))
+(typeattributeset cgroup_202504 (cgroup))
+(typeattributeset cgroup_desc_file_202504 (cgroup_desc_file))
+(typeattributeset cgroup_rc_file_202504 (cgroup_rc_file))
+(typeattributeset cgroup_v2_202504 (cgroup_v2))
+(typeattributeset charger_202504 (charger))
+(typeattributeset charger_config_prop_202504 (charger_config_prop))
+(typeattributeset charger_exec_202504 (charger_exec))
+(typeattributeset charger_prop_202504 (charger_prop))
+(typeattributeset charger_status_prop_202504 (charger_status_prop))
+(typeattributeset charger_vendor_202504 (charger_vendor))
+(typeattributeset clipboard_service_202504 (clipboard_service))
+(typeattributeset cloudsearch_service_202504 (cloudsearch_service))
+(typeattributeset codec2_config_prop_202504 (codec2_config_prop))
+(typeattributeset cold_boot_done_prop_202504 (cold_boot_done_prop))
+(typeattributeset color_display_service_202504 (color_display_service))
+(typeattributeset companion_device_service_202504 (companion_device_service))
+(typeattributeset composd_vm_art_prop_202504 (composd_vm_art_prop))
+(typeattributeset composd_vm_vendor_prop_202504 (composd_vm_vendor_prop))
+(typeattributeset config_prop_202504 (config_prop))
+(typeattributeset configfs_202504 (configfs))
+(typeattributeset connectivity_native_service_202504 (connectivity_native_service))
+(typeattributeset connectivity_service_202504 (connectivity_service))
+(typeattributeset connmetrics_service_202504 (connmetrics_service))
+(typeattributeset console_device_202504 (console_device))
+(typeattributeset consumer_ir_service_202504 (consumer_ir_service))
+(typeattributeset content_capture_service_202504 (content_capture_service))
+(typeattributeset content_service_202504 (content_service))
+(typeattributeset content_suggestions_service_202504 (content_suggestions_service))
+(typeattributeset contexthub_service_202504 (contexthub_service))
+(typeattributeset contextual_search_service_202504 (contextual_search_service))
+(typeattributeset coredump_file_202504 (coredump_file))
+(typeattributeset country_detector_service_202504 (country_detector_service))
+(typeattributeset coverage_service_202504 (coverage_service))
+(typeattributeset cppreopt_prop_202504 (cppreopt_prop))
+(typeattributeset cpu_monitor_service_202504 (cpu_monitor_service))
+(typeattributeset cpu_variant_prop_202504 (cpu_variant_prop))
+(typeattributeset cpuinfo_service_202504 (cpuinfo_service))
+(typeattributeset crash_dump_202504 (crash_dump))
+(typeattributeset crash_dump_exec_202504 (crash_dump_exec))
+(typeattributeset credential_service_202504 (credential_service))
+(typeattributeset credstore_202504 (credstore))
+(typeattributeset credstore_data_file_202504 (credstore_data_file))
+(typeattributeset credstore_exec_202504 (credstore_exec))
+(typeattributeset credstore_service_202504 (credstore_service))
+(typeattributeset crossprofileapps_service_202504 (crossprofileapps_service))
+(typeattributeset crosvm_202504 (crosvm))
+(typeattributeset ctl_adbd_prop_202504 (ctl_adbd_prop))
+(typeattributeset ctl_apexd_prop_202504 (ctl_apexd_prop))
+(typeattributeset ctl_bootanim_prop_202504 (ctl_bootanim_prop))
+(typeattributeset ctl_bugreport_prop_202504 (ctl_bugreport_prop))
+(typeattributeset ctl_console_prop_202504 (ctl_console_prop))
+(typeattributeset ctl_default_prop_202504 (ctl_default_prop))
+(typeattributeset ctl_dumpstate_prop_202504 (ctl_dumpstate_prop))
+(typeattributeset ctl_fuse_prop_202504 (ctl_fuse_prop))
+(typeattributeset ctl_gsid_prop_202504 (ctl_gsid_prop))
+(typeattributeset ctl_interface_restart_prop_202504 (ctl_interface_restart_prop))
+(typeattributeset ctl_interface_start_prop_202504 (ctl_interface_start_prop))
+(typeattributeset ctl_interface_stop_prop_202504 (ctl_interface_stop_prop))
+(typeattributeset ctl_mdnsd_prop_202504 (ctl_mdnsd_prop))
+(typeattributeset ctl_restart_prop_202504 (ctl_restart_prop))
+(typeattributeset ctl_rildaemon_prop_202504 (ctl_rildaemon_prop))
+(typeattributeset ctl_sigstop_prop_202504 (ctl_sigstop_prop))
+(typeattributeset ctl_start_prop_202504 (ctl_start_prop))
+(typeattributeset ctl_stop_prop_202504 (ctl_stop_prop))
+(typeattributeset dalvik_config_prop_202504 (dalvik_config_prop))
+(typeattributeset dalvik_dynamic_config_prop_202504 (dalvik_dynamic_config_prop))
+(typeattributeset dalvik_prop_202504 (dalvik_prop))
+(typeattributeset dalvik_runtime_prop_202504 (dalvik_runtime_prop))
+(typeattributeset dalvikcache_data_file_202504 (dalvikcache_data_file))
+(typeattributeset dataloader_manager_service_202504 (dataloader_manager_service))
+(typeattributeset dbinfo_service_202504 (dbinfo_service))
+(typeattributeset dck_prop_202504 (dck_prop))
+(typeattributeset debug_prop_202504 (debug_prop))
+(typeattributeset debugfs_202504 (debugfs))
+(typeattributeset debugfs_bootreceiver_tracing_202504 (debugfs_bootreceiver_tracing))
+(typeattributeset debugfs_kprobes_202504 (debugfs_kprobes))
+(typeattributeset debugfs_mm_events_tracing_202504 (debugfs_mm_events_tracing))
+(typeattributeset debugfs_mmc_202504 (debugfs_mmc))
+(typeattributeset debugfs_restriction_prop_202504 (debugfs_restriction_prop))
+(typeattributeset debugfs_trace_marker_202504 (debugfs_trace_marker))
+(typeattributeset debugfs_tracing_202504 (debugfs_tracing))
+(typeattributeset debugfs_tracing_debug_202504 (debugfs_tracing_debug))
+(typeattributeset debugfs_tracing_instances_202504 (debugfs_tracing_instances))
+(typeattributeset debugfs_tracing_printk_formats_202504 (debugfs_tracing_printk_formats))
+(typeattributeset debugfs_wakeup_sources_202504 (debugfs_wakeup_sources))
+(typeattributeset debugfs_wifi_tracing_202504 (debugfs_wifi_tracing))
+(typeattributeset debuggerd_prop_202504 (debuggerd_prop))
+(typeattributeset default_android_hwservice_202504 (default_android_hwservice))
+(typeattributeset default_android_service_202504 (default_android_service))
+(typeattributeset default_android_vndservice_202504 (default_android_vndservice))
+(typeattributeset default_prop_202504 (default_prop))
+(typeattributeset dev_cpu_variant_202504 (dev_cpu_variant))
+(typeattributeset device_202504 (device))
+(typeattributeset device_config_aconfig_flags_prop_202504 (device_config_aconfig_flags_prop))
+(typeattributeset device_config_activity_manager_native_boot_prop_202504 (device_config_activity_manager_native_boot_prop))
+(typeattributeset device_config_boot_count_prop_202504 (device_config_boot_count_prop))
+(typeattributeset device_config_camera_native_prop_202504 (device_config_camera_native_prop))
+(typeattributeset device_config_edgetpu_native_prop_202504 (device_config_edgetpu_native_prop))
+(typeattributeset device_config_input_native_boot_prop_202504 (device_config_input_native_boot_prop))
+(typeattributeset device_config_media_native_prop_202504 (device_config_media_native_prop))
+(typeattributeset device_config_memory_safety_native_boot_prop_202504 (device_config_memory_safety_native_boot_prop))
+(typeattributeset device_config_memory_safety_native_prop_202504 (device_config_memory_safety_native_prop))
+(typeattributeset device_config_netd_native_prop_202504 (device_config_netd_native_prop))
+(typeattributeset device_config_nnapi_native_prop_202504 (device_config_nnapi_native_prop))
+(typeattributeset device_config_reset_performed_prop_202504 (device_config_reset_performed_prop))
+(typeattributeset device_config_runtime_native_boot_prop_202504 (device_config_runtime_native_boot_prop))
+(typeattributeset device_config_runtime_native_prop_202504 (device_config_runtime_native_prop))
+(typeattributeset device_config_service_202504 (device_config_service))
+(typeattributeset device_config_surface_flinger_native_boot_prop_202504 (device_config_surface_flinger_native_boot_prop))
+(typeattributeset device_config_updatable_service_202504 (device_config_updatable_service))
+(typeattributeset device_config_vendor_system_native_boot_prop_202504 (device_config_vendor_system_native_boot_prop))
+(typeattributeset device_config_vendor_system_native_prop_202504 (device_config_vendor_system_native_prop))
+(typeattributeset device_identifiers_service_202504 (device_identifiers_service))
+(typeattributeset device_logging_prop_202504 (device_logging_prop))
+(typeattributeset device_policy_service_202504 (device_policy_service))
+(typeattributeset device_state_service_202504 (device_state_service))
+(typeattributeset deviceidle_service_202504 (deviceidle_service))
+(typeattributeset devicelock_service_202504 (devicelock_service))
+(typeattributeset devicestoragemonitor_service_202504 (devicestoragemonitor_service))
+(typeattributeset devpts_202504 (devpts))
+(typeattributeset dexopt_chroot_setup_service_202504 (dexopt_chroot_setup_service))
+(typeattributeset dhcp_202504 (dhcp))
+(typeattributeset dhcp_data_file_202504 (dhcp_data_file))
+(typeattributeset dhcp_exec_202504 (dhcp_exec))
+(typeattributeset dhcp_prop_202504 (dhcp_prop))
+(typeattributeset diskstats_service_202504 (diskstats_service))
+(typeattributeset display_service_202504 (display_service))
+(typeattributeset dm_device_202504 (dm_device))
+(typeattributeset dm_user_device_202504 (dm_user_device))
+(typeattributeset dmabuf_heap_device_202504 (dmabuf_heap_device))
+(typeattributeset dmabuf_system_heap_device_202504 (dmabuf_system_heap_device))
+(typeattributeset dmabuf_system_secure_heap_device_202504 (dmabuf_system_secure_heap_device))
+(typeattributeset dnsmasq_202504 (dnsmasq))
+(typeattributeset dnsmasq_exec_202504 (dnsmasq_exec))
+(typeattributeset dnsproxyd_socket_202504 (dnsproxyd_socket))
+(typeattributeset dnsresolver_service_202504 (dnsresolver_service))
+(typeattributeset domain_verification_service_202504 (domain_verification_service))
+(typeattributeset dreams_service_202504 (dreams_service))
+(typeattributeset drm_data_file_202504 (drm_data_file))
+(typeattributeset drm_forcel3_prop_202504 (drm_forcel3_prop))
+(typeattributeset drm_service_config_prop_202504 (drm_service_config_prop))
+(typeattributeset drmserver_202504 (drmserver))
+(typeattributeset drmserver_exec_202504 (drmserver_exec))
+(typeattributeset drmserver_service_202504 (drmserver_service))
+(typeattributeset drmserver_socket_202504 (drmserver_socket))
+(typeattributeset dropbox_data_file_202504 (dropbox_data_file))
+(typeattributeset dropbox_service_202504 (dropbox_service))
+(typeattributeset dtbo_block_device_202504 (dtbo_block_device))
+(typeattributeset dumpstate_202504 (dumpstate))
+(typeattributeset dumpstate_exec_202504 (dumpstate_exec))
+(typeattributeset dumpstate_options_prop_202504 (dumpstate_options_prop))
+(typeattributeset dumpstate_prop_202504 (dumpstate_prop))
+(typeattributeset dumpstate_service_202504 (dumpstate_service))
+(typeattributeset dumpstate_socket_202504 (dumpstate_socket))
+(typeattributeset dynamic_system_prop_202504 (dynamic_system_prop))
+(typeattributeset e2fs_202504 (e2fs))
+(typeattributeset e2fs_exec_202504 (e2fs_exec))
+(typeattributeset early_virtmgr_202504 (early_virtmgr))
+(typeattributeset early_virtmgr_exec_202504 (early_virtmgr_exec))
+(typeattributeset ecm_enhanced_confirmation_service_202504 (ecm_enhanced_confirmation_service))
+(typeattributeset efs_file_202504 (efs_file))
+(typeattributeset emergency_affordance_service_202504 (emergency_affordance_service))
+(typeattributeset enable_16k_pages_prop_202504 (enable_16k_pages_prop))
+(typeattributeset ephemeral_app_202504 (ephemeral_app))
+(typeattributeset ethernet_service_202504 (ethernet_service))
+(typeattributeset evsmanagerd_202504 (evsmanagerd))
+(typeattributeset evsmanagerd_service_202504 (evsmanagerd_service))
+(typeattributeset exfat_202504 (exfat))
+(typeattributeset exported3_system_prop_202504 (exported3_system_prop))
+(typeattributeset exported_bluetooth_prop_202504 (exported_bluetooth_prop))
+(typeattributeset exported_camera_prop_202504 (exported_camera_prop))
+(typeattributeset exported_config_prop_202504 (exported_config_prop))
+(typeattributeset exported_default_prop_202504 (exported_default_prop))
+(typeattributeset exported_dumpstate_prop_202504 (exported_dumpstate_prop))
+(typeattributeset exported_overlay_prop_202504 (exported_overlay_prop))
+(typeattributeset exported_pm_prop_202504 (exported_pm_prop))
+(typeattributeset exported_secure_prop_202504 (exported_secure_prop))
+(typeattributeset exported_system_prop_202504 (exported_system_prop))
+(typeattributeset external_vibrator_service_202504 (external_vibrator_service))
+(typeattributeset extra_free_kbytes_202504 (extra_free_kbytes))
+(typeattributeset extra_free_kbytes_exec_202504 (extra_free_kbytes_exec))
+(typeattributeset face_service_202504 (face_service))
+(typeattributeset face_vendor_data_file_202504 (face_vendor_data_file))
+(typeattributeset fastbootd_202504 (fastbootd))
+(typeattributeset ffs_config_prop_202504 (ffs_config_prop))
+(typeattributeset ffs_control_prop_202504 (ffs_control_prop))
+(typeattributeset file_contexts_file_202504 (file_contexts_file))
+(typeattributeset file_integrity_service_202504 (file_integrity_service))
+(typeattributeset fingerprint_prop_202504 (fingerprint_prop))
+(typeattributeset fingerprint_service_202504 (fingerprint_service))
+(typeattributeset fingerprint_vendor_data_file_202504 (fingerprint_vendor_data_file))
+(typeattributeset fingerprintd_202504 (fingerprintd))
+(typeattributeset fingerprintd_data_file_202504 (fingerprintd_data_file))
+(typeattributeset fingerprintd_exec_202504 (fingerprintd_exec))
+(typeattributeset fingerprintd_service_202504 (fingerprintd_service))
+(typeattributeset firstboot_prop_202504 (firstboot_prop))
+(typeattributeset flags_health_check_202504 (flags_health_check))
+(typeattributeset flags_health_check_exec_202504 (flags_health_check_exec))
+(typeattributeset font_service_202504 (font_service))
+(typeattributeset framework_status_prop_202504 (framework_status_prop))
+(typeattributeset framework_watchdog_config_prop_202504 (framework_watchdog_config_prop))
+(typeattributeset frp_block_device_202504 (frp_block_device))
+(typeattributeset fs_bpf_202504 (fs_bpf))
+(typeattributeset fs_bpf_tethering_202504 (fs_bpf_tethering))
+(typeattributeset fs_bpf_vendor_202504 (fs_bpf_vendor))
+(typeattributeset fsck_202504 (fsck))
+(typeattributeset fsck_exec_202504 (fsck_exec))
+(typeattributeset fsck_untrusted_202504 (fsck_untrusted))
+(typeattributeset fscklogs_202504 (fscklogs))
+(typeattributeset functionfs_202504 (functionfs))
+(typeattributeset fuse_202504 (fuse))
+(typeattributeset fuse_device_202504 (fuse_device))
+(typeattributeset fuseblk_202504 (fuseblk))
+(typeattributeset fusectlfs_202504 (fusectlfs))
+(typeattributeset future_pm_prop_202504 (future_pm_prop))
+(typeattributeset fwk_altitude_service_202504 (fwk_altitude_service))
+(typeattributeset fwk_automotive_display_hwservice_202504 (fwk_automotive_display_hwservice))
+(typeattributeset fwk_automotive_display_service_202504 (fwk_automotive_display_service))
+(typeattributeset fwk_bufferhub_hwservice_202504 (fwk_bufferhub_hwservice))
+(typeattributeset fwk_camera_hwservice_202504 (fwk_camera_hwservice))
+(typeattributeset fwk_camera_service_202504 (fwk_camera_service))
+(typeattributeset fwk_display_hwservice_202504 (fwk_display_hwservice))
+(typeattributeset fwk_scheduler_hwservice_202504 (fwk_scheduler_hwservice))
+(typeattributeset fwk_sensor_hwservice_202504 (fwk_sensor_hwservice))
+(typeattributeset fwk_sensor_service_202504 (fwk_sensor_service))
+(typeattributeset fwk_stats_hwservice_202504 (fwk_stats_hwservice))
+(typeattributeset fwk_stats_service_202504 (fwk_stats_service))
+(typeattributeset fwk_vibrator_control_service_202504 (fwk_vibrator_control_service))
+(typeattributeset fwmarkd_socket_202504 (fwmarkd_socket))
+(typeattributeset game_mode_intervention_list_file_202504 (game_mode_intervention_list_file))
+(typeattributeset game_service_202504 (game_service))
+(typeattributeset gatekeeper_data_file_202504 (gatekeeper_data_file))
+(typeattributeset gatekeeper_service_202504 (gatekeeper_service))
+(typeattributeset gatekeeperd_202504 (gatekeeperd))
+(typeattributeset gatekeeperd_exec_202504 (gatekeeperd_exec))
+(typeattributeset gesture_prop_202504 (gesture_prop))
+(typeattributeset gfxinfo_service_202504 (gfxinfo_service))
+(typeattributeset gmscore_app_202504 (gmscore_app))
+(typeattributeset gnss_device_202504 (gnss_device))
+(typeattributeset gnss_time_update_service_202504 (gnss_time_update_service))
+(typeattributeset gps_control_202504 (gps_control))
+(typeattributeset gpu_device_202504 (gpu_device))
+(typeattributeset gpu_service_202504 (gpu_service))
+(typeattributeset gpuservice_202504 (gpuservice))
+(typeattributeset grammatical_inflection_service_202504 (grammatical_inflection_service))
+(typeattributeset graphics_config_prop_202504 (graphics_config_prop))
+(typeattributeset graphics_config_writable_prop_202504 (graphics_config_writable_prop))
+(typeattributeset graphics_device_202504 (graphics_device))
+(typeattributeset graphicsstats_service_202504 (graphicsstats_service))
+(typeattributeset gsi_data_file_202504 (gsi_data_file))
+(typeattributeset gsi_metadata_file_202504 (gsi_metadata_file))
+(typeattributeset gsi_public_metadata_file_202504 (gsi_public_metadata_file))
+(typeattributeset gwp_asan_prop_202504 (gwp_asan_prop))
+(typeattributeset hal_atrace_hwservice_202504 (hal_atrace_hwservice))
+(typeattributeset hal_audio_hwservice_202504 (hal_audio_hwservice))
+(typeattributeset hal_audio_service_202504 (hal_audio_service))
+(typeattributeset hal_audiocontrol_hwservice_202504 (hal_audiocontrol_hwservice))
+(typeattributeset hal_audiocontrol_service_202504 (hal_audiocontrol_service))
+(typeattributeset hal_authgraph_service_202504 (hal_authgraph_service))
+(typeattributeset hal_authsecret_hwservice_202504 (hal_authsecret_hwservice))
+(typeattributeset hal_authsecret_service_202504 (hal_authsecret_service))
+(typeattributeset hal_bluetooth_hwservice_202504 (hal_bluetooth_hwservice))
+(typeattributeset hal_bluetooth_service_202504 (hal_bluetooth_service))
+(typeattributeset hal_bootctl_hwservice_202504 (hal_bootctl_hwservice))
+(typeattributeset hal_bootctl_service_202504 (hal_bootctl_service))
+(typeattributeset hal_broadcastradio_hwservice_202504 (hal_broadcastradio_hwservice))
+(typeattributeset hal_broadcastradio_service_202504 (hal_broadcastradio_service))
+(typeattributeset hal_camera_hwservice_202504 (hal_camera_hwservice))
+(typeattributeset hal_camera_service_202504 (hal_camera_service))
+(typeattributeset hal_can_bus_hwservice_202504 (hal_can_bus_hwservice))
+(typeattributeset hal_can_controller_hwservice_202504 (hal_can_controller_hwservice))
+(typeattributeset hal_can_controller_service_202504 (hal_can_controller_service))
+(typeattributeset hal_cas_hwservice_202504 (hal_cas_hwservice))
+(typeattributeset hal_cas_service_202504 (hal_cas_service))
+(typeattributeset hal_codec2_hwservice_202504 (hal_codec2_hwservice))
+(typeattributeset hal_codec2_service_202504 (hal_codec2_service))
+(typeattributeset hal_configstore_ISurfaceFlingerConfigs_202504 (hal_configstore_ISurfaceFlingerConfigs))
+(typeattributeset hal_confirmationui_hwservice_202504 (hal_confirmationui_hwservice))
+(typeattributeset hal_confirmationui_service_202504 (hal_confirmationui_service))
+(typeattributeset hal_contexthub_hwservice_202504 (hal_contexthub_hwservice))
+(typeattributeset hal_contexthub_service_202504 (hal_contexthub_service))
+(typeattributeset hal_drm_hwservice_202504 (hal_drm_hwservice))
+(typeattributeset hal_drm_service_202504 (hal_drm_service))
+(typeattributeset hal_dumpstate_config_prop_202504 (hal_dumpstate_config_prop))
+(typeattributeset hal_dumpstate_hwservice_202504 (hal_dumpstate_hwservice))
+(typeattributeset hal_dumpstate_service_202504 (hal_dumpstate_service))
+(typeattributeset hal_evs_hwservice_202504 (hal_evs_hwservice))
+(typeattributeset hal_evs_service_202504 (hal_evs_service))
+(typeattributeset hal_face_hwservice_202504 (hal_face_hwservice))
+(typeattributeset hal_face_service_202504 (hal_face_service))
+(typeattributeset hal_fastboot_service_202504 (hal_fastboot_service))
+(typeattributeset hal_fingerprint_hwservice_202504 (hal_fingerprint_hwservice))
+(typeattributeset hal_fingerprint_service_202504 (hal_fingerprint_service))
+(typeattributeset hal_gatekeeper_hwservice_202504 (hal_gatekeeper_hwservice))
+(typeattributeset hal_gatekeeper_service_202504 (hal_gatekeeper_service))
+(typeattributeset hal_gnss_hwservice_202504 (hal_gnss_hwservice))
+(typeattributeset hal_gnss_service_202504 (hal_gnss_service))
+(typeattributeset hal_graphics_allocator_hwservice_202504 (hal_graphics_allocator_hwservice))
+(typeattributeset hal_graphics_allocator_service_202504 (hal_graphics_allocator_service))
+(typeattributeset hal_graphics_composer_hwservice_202504 (hal_graphics_composer_hwservice))
+(typeattributeset hal_graphics_composer_server_tmpfs_202504 (hal_graphics_composer_server_tmpfs))
+(typeattributeset hal_graphics_composer_service_202504 (hal_graphics_composer_service))
+(typeattributeset hal_graphics_mapper_hwservice_202504 (hal_graphics_mapper_hwservice))
+(typeattributeset hal_graphics_mapper_service_202504 (hal_graphics_mapper_service))
+(typeattributeset hal_health_hwservice_202504 (hal_health_hwservice))
+(typeattributeset hal_health_service_202504 (hal_health_service))
+(typeattributeset hal_health_storage_hwservice_202504 (hal_health_storage_hwservice))
+(typeattributeset hal_health_storage_service_202504 (hal_health_storage_service))
+(typeattributeset hal_identity_service_202504 (hal_identity_service))
+(typeattributeset hal_input_classifier_hwservice_202504 (hal_input_classifier_hwservice))
+(typeattributeset hal_input_processor_service_202504 (hal_input_processor_service))
+(typeattributeset hal_instrumentation_prop_202504 (hal_instrumentation_prop))
+(typeattributeset hal_ir_hwservice_202504 (hal_ir_hwservice))
+(typeattributeset hal_ir_service_202504 (hal_ir_service))
+(typeattributeset hal_ivn_service_202504 (hal_ivn_service))
+(typeattributeset hal_keymaster_hwservice_202504 (hal_keymaster_hwservice))
+(typeattributeset hal_keymint_service_202504 (hal_keymint_service))
+(typeattributeset hal_light_hwservice_202504 (hal_light_hwservice))
+(typeattributeset hal_light_service_202504 (hal_light_service))
+(typeattributeset hal_lowpan_hwservice_202504 (hal_lowpan_hwservice))
+(typeattributeset hal_macsec_service_202504 (hal_macsec_service))
+(typeattributeset hal_mediaquality_service_202504 (hal_mediaquality_service))
+(typeattributeset hal_memtrack_hwservice_202504 (hal_memtrack_hwservice))
+(typeattributeset hal_memtrack_service_202504 (hal_memtrack_service))
+(typeattributeset hal_neuralnetworks_hwservice_202504 (hal_neuralnetworks_hwservice))
+(typeattributeset hal_neuralnetworks_service_202504 (hal_neuralnetworks_service))
+(typeattributeset hal_nfc_hwservice_202504 (hal_nfc_hwservice))
+(typeattributeset hal_nfc_service_202504 (hal_nfc_service))
+(typeattributeset hal_nlinterceptor_service_202504 (hal_nlinterceptor_service))
+(typeattributeset hal_oemlock_hwservice_202504 (hal_oemlock_hwservice))
+(typeattributeset hal_oemlock_service_202504 (hal_oemlock_service))
+(typeattributeset hal_omx_hwservice_202504 (hal_omx_hwservice))
+(typeattributeset hal_power_hwservice_202504 (hal_power_hwservice))
+(typeattributeset hal_power_service_202504 (hal_power_service))
+(typeattributeset hal_power_stats_hwservice_202504 (hal_power_stats_hwservice))
+(typeattributeset hal_power_stats_service_202504 (hal_power_stats_service))
+(typeattributeset hal_radio_service_202504 (hal_radio_service))
+(typeattributeset hal_rebootescrow_service_202504 (hal_rebootescrow_service))
+(typeattributeset hal_remoteaccess_service_202504 (hal_remoteaccess_service))
+(typeattributeset hal_remotelyprovisionedcomponent_avf_service_202504 (hal_remotelyprovisionedcomponent_avf_service))
+(typeattributeset hal_remotelyprovisionedcomponent_service_202504 (hal_remotelyprovisionedcomponent_service))
+(typeattributeset hal_renderscript_hwservice_202504 (hal_renderscript_hwservice))
+(typeattributeset hal_secretkeeper_service_202504 (hal_secretkeeper_service))
+(typeattributeset hal_secure_element_hwservice_202504 (hal_secure_element_hwservice))
+(typeattributeset hal_secure_element_service_202504 (hal_secure_element_service))
+(typeattributeset hal_secureclock_service_202504 (hal_secureclock_service))
+(typeattributeset hal_sensors_hwservice_202504 (hal_sensors_hwservice))
+(typeattributeset hal_sensors_service_202504 (hal_sensors_service))
+(typeattributeset hal_sharedsecret_service_202504 (hal_sharedsecret_service))
+(typeattributeset hal_system_suspend_service_202504 (hal_system_suspend_service))
+(typeattributeset hal_telephony_hwservice_202504 (hal_telephony_hwservice))
+(typeattributeset hal_tetheroffload_hwservice_202504 (hal_tetheroffload_hwservice))
+(typeattributeset hal_tetheroffload_service_202504 (hal_tetheroffload_service))
+(typeattributeset hal_thermal_hwservice_202504 (hal_thermal_hwservice))
+(typeattributeset hal_thermal_service_202504 (hal_thermal_service))
+(typeattributeset hal_threadnetwork_service_202504 (hal_threadnetwork_service))
+(typeattributeset hal_tv_cec_hwservice_202504 (hal_tv_cec_hwservice))
+(typeattributeset hal_tv_hdmi_cec_service_202504 (hal_tv_hdmi_cec_service))
+(typeattributeset hal_tv_hdmi_connection_service_202504 (hal_tv_hdmi_connection_service))
+(typeattributeset hal_tv_hdmi_earc_service_202504 (hal_tv_hdmi_earc_service))
+(typeattributeset hal_tv_input_hwservice_202504 (hal_tv_input_hwservice))
+(typeattributeset hal_tv_input_service_202504 (hal_tv_input_service))
+(typeattributeset hal_tv_tuner_hwservice_202504 (hal_tv_tuner_hwservice))
+(typeattributeset hal_tv_tuner_service_202504 (hal_tv_tuner_service))
+(typeattributeset hal_usb_gadget_hwservice_202504 (hal_usb_gadget_hwservice))
+(typeattributeset hal_usb_gadget_service_202504 (hal_usb_gadget_service))
+(typeattributeset hal_usb_hwservice_202504 (hal_usb_hwservice))
+(typeattributeset hal_usb_service_202504 (hal_usb_service))
+(typeattributeset hal_uwb_service_202504 (hal_uwb_service))
+(typeattributeset hal_vehicle_hwservice_202504 (hal_vehicle_hwservice))
+(typeattributeset hal_vehicle_service_202504 (hal_vehicle_service))
+(typeattributeset hal_vibrator_hwservice_202504 (hal_vibrator_hwservice))
+(typeattributeset hal_vibrator_service_202504 (hal_vibrator_service))
+(typeattributeset hal_vm_capabilities_service_202504 (hal_vm_capabilities_service))
+(typeattributeset hal_vr_hwservice_202504 (hal_vr_hwservice))
+(typeattributeset hal_weaver_hwservice_202504 (hal_weaver_hwservice))
+(typeattributeset hal_weaver_service_202504 (hal_weaver_service))
+(typeattributeset hal_wifi_hostapd_hwservice_202504 (hal_wifi_hostapd_hwservice))
+(typeattributeset hal_wifi_hostapd_service_202504 (hal_wifi_hostapd_service))
+(typeattributeset hal_wifi_hwservice_202504 (hal_wifi_hwservice))
+(typeattributeset hal_wifi_service_202504 (hal_wifi_service))
+(typeattributeset hal_wifi_supplicant_hwservice_202504 (hal_wifi_supplicant_hwservice))
+(typeattributeset hal_wifi_supplicant_service_202504 (hal_wifi_supplicant_service))
+(typeattributeset hardware_properties_service_202504 (hardware_properties_service))
+(typeattributeset hardware_service_202504 (hardware_service))
+(typeattributeset hci_attach_dev_202504 (hci_attach_dev))
+(typeattributeset hdmi_config_prop_202504 (hdmi_config_prop))
+(typeattributeset hdmi_control_service_202504 (hdmi_control_service))
+(typeattributeset healthconnect_service_202504 (healthconnect_service))
+(typeattributeset healthd_202504 (healthd))
+(typeattributeset heapdump_data_file_202504 (heapdump_data_file))
+(typeattributeset heapprofd_202504 (heapprofd))
+(typeattributeset heapprofd_enabled_prop_202504 (heapprofd_enabled_prop))
+(typeattributeset heapprofd_prop_202504 (heapprofd_prop))
+(typeattributeset heapprofd_socket_202504 (heapprofd_socket))
+(typeattributeset hidl_allocator_hwservice_202504 (hidl_allocator_hwservice))
+(typeattributeset hidl_base_hwservice_202504 (hidl_base_hwservice))
+(typeattributeset hidl_manager_hwservice_202504 (hidl_manager_hwservice))
+(typeattributeset hidl_memory_hwservice_202504 (hidl_memory_hwservice))
+(typeattributeset hidl_token_hwservice_202504 (hidl_token_hwservice))
+(typeattributeset hidraw_device_202504 (hidraw_device))
+(typeattributeset hint_service_202504 (hint_service))
+(typeattributeset hw_random_device_202504 (hw_random_device))
+(typeattributeset hw_timeout_multiplier_prop_202504 (hw_timeout_multiplier_prop))
+(typeattributeset hwbinder_device_202504 (hwbinder_device))
+(typeattributeset hwservice_contexts_file_202504 (hwservice_contexts_file))
+(typeattributeset hwservicemanager_202504 (hwservicemanager))
+(typeattributeset hwservicemanager_exec_202504 (hwservicemanager_exec))
+(typeattributeset hwservicemanager_prop_202504 (hwservicemanager_prop))
+(typeattributeset hypervisor_prop_202504 (hypervisor_prop))
+(typeattributeset hypervisor_restricted_prop_202504 (hypervisor_restricted_prop))
+(typeattributeset icon_file_202504 (icon_file))
+(typeattributeset idmap_202504 (idmap))
+(typeattributeset idmap_exec_202504 (idmap_exec))
+(typeattributeset idmap_service_202504 (idmap_service))
+(typeattributeset iio_device_202504 (iio_device))
+(typeattributeset imms_service_202504 (imms_service))
+(typeattributeset incident_202504 (incident))
+(typeattributeset incident_data_file_202504 (incident_data_file))
+(typeattributeset incident_helper_202504 (incident_helper))
+(typeattributeset incident_service_202504 (incident_service))
+(typeattributeset incidentd_202504 (incidentd))
+(typeattributeset incremental_control_file_202504 (incremental_control_file))
+(typeattributeset incremental_prop_202504 (incremental_prop))
+(typeattributeset incremental_service_202504 (incremental_service))
+(typeattributeset init_202504 (init))
+(typeattributeset init_exec_202504 (init_exec))
+(typeattributeset init_service_status_prop_202504 (init_service_status_prop))
+(typeattributeset init_tmpfs_202504 (init_tmpfs))
+(typeattributeset inotify_202504 (inotify))
+(typeattributeset input_device_202504 (input_device))
+(typeattributeset input_device_config_prop_202504 (input_device_config_prop))
+(typeattributeset input_method_service_202504 (input_method_service))
+(typeattributeset input_service_202504 (input_service))
+(typeattributeset inputflinger_202504 (inputflinger))
+(typeattributeset inputflinger_exec_202504 (inputflinger_exec))
+(typeattributeset inputflinger_service_202504 (inputflinger_service))
+(typeattributeset install_data_file_202504 (install_data_file))
+(typeattributeset installd_202504 (installd))
+(typeattributeset installd_exec_202504 (installd_exec))
+(typeattributeset installd_service_202504 (installd_service))
+(typeattributeset intrusion_detection_service_202504 (intrusion_detection_service))
+(typeattributeset ion_device_202504 (ion_device))
+(typeattributeset ipsec_service_202504 (ipsec_service))
+(typeattributeset iris_service_202504 (iris_service))
+(typeattributeset iris_vendor_data_file_202504 (iris_vendor_data_file))
+(typeattributeset isolated_app_202504 (isolated_app))
+(typeattributeset isolated_compute_app_202504 (isolated_compute_app))
+(typeattributeset jobscheduler_service_202504 (jobscheduler_service))
+(typeattributeset kernel_202504 (kernel))
+(typeattributeset keychain_data_file_202504 (keychain_data_file))
+(typeattributeset keychord_device_202504 (keychord_device))
+(typeattributeset keyguard_config_prop_202504 (keyguard_config_prop))
+(typeattributeset keystore2_key_contexts_file_202504 (keystore2_key_contexts_file))
+(typeattributeset keystore_202504 (keystore))
+(typeattributeset keystore_compat_hal_service_202504 (keystore_compat_hal_service))
+(typeattributeset keystore_config_prop_202504 (keystore_config_prop))
+(typeattributeset keystore_data_file_202504 (keystore_data_file))
+(typeattributeset keystore_exec_202504 (keystore_exec))
+(typeattributeset keystore_maintenance_service_202504 (keystore_maintenance_service))
+(typeattributeset keystore_metrics_service_202504 (keystore_metrics_service))
+(typeattributeset keystore_service_202504 (keystore_service))
+(typeattributeset kmsg_debug_device_202504 (kmsg_debug_device))
+(typeattributeset kmsg_device_202504 (kmsg_device))
+(typeattributeset labeledfs_202504 (labeledfs))
+(typeattributeset launcherapps_service_202504 (launcherapps_service))
+(typeattributeset legacy_permission_service_202504 (legacy_permission_service))
+(typeattributeset legacykeystore_service_202504 (legacykeystore_service))
+(typeattributeset libc_debug_prop_202504 (libc_debug_prop))
+(typeattributeset light_service_202504 (light_service))
+(typeattributeset linkerconfig_file_202504 (linkerconfig_file))
+(typeattributeset llkd_202504 (llkd))
+(typeattributeset llkd_exec_202504 (llkd_exec))
+(typeattributeset llkd_prop_202504 (llkd_prop))
+(typeattributeset lmkd_202504 (lmkd))
+(typeattributeset lmkd_config_prop_202504 (lmkd_config_prop))
+(typeattributeset lmkd_exec_202504 (lmkd_exec))
+(typeattributeset lmkd_prop_202504 (lmkd_prop))
+(typeattributeset lmkd_socket_202504 (lmkd_socket))
+(typeattributeset locale_prop_202504 (locale_prop))
+(typeattributeset locale_service_202504 (locale_service))
+(typeattributeset location_service_202504 (location_service))
+(typeattributeset location_time_zone_manager_service_202504 (location_time_zone_manager_service))
+(typeattributeset lock_settings_service_202504 (lock_settings_service))
+(typeattributeset log_prop_202504 (log_prop))
+(typeattributeset log_tag_prop_202504 (log_tag_prop))
+(typeattributeset logcat_exec_202504 (logcat_exec))
+(typeattributeset logd_202504 (logd))
+(typeattributeset logd_exec_202504 (logd_exec))
+(typeattributeset logd_prop_202504 (logd_prop))
+(typeattributeset logd_socket_202504 (logd_socket))
+(typeattributeset logdr_socket_202504 (logdr_socket))
+(typeattributeset logdw_socket_202504 (logdw_socket))
+(typeattributeset logpersist_202504 (logpersist))
+(typeattributeset logpersistd_logging_prop_202504 (logpersistd_logging_prop))
+(typeattributeset loop_control_device_202504 (loop_control_device))
+(typeattributeset loop_device_202504 (loop_device))
+(typeattributeset looper_stats_service_202504 (looper_stats_service))
+(typeattributeset lowpan_device_202504 (lowpan_device))
+(typeattributeset lowpan_prop_202504 (lowpan_prop))
+(typeattributeset lpdump_service_202504 (lpdump_service))
+(typeattributeset lpdumpd_prop_202504 (lpdumpd_prop))
+(typeattributeset mac_perms_file_202504 (mac_perms_file))
+(typeattributeset mdns_service_202504 (mdns_service))
+(typeattributeset mdns_socket_202504 (mdns_socket))
+(typeattributeset mdnsd_202504 (mdnsd))
+(typeattributeset mdnsd_socket_202504 (mdnsd_socket))
+(typeattributeset media_communication_service_202504 (media_communication_service))
+(typeattributeset media_config_prop_202504 (media_config_prop))
+(typeattributeset media_data_file_202504 (media_data_file))
+(typeattributeset media_metrics_service_202504 (media_metrics_service))
+(typeattributeset media_projection_service_202504 (media_projection_service))
+(typeattributeset media_quality_service_202504 (media_quality_service))
+(typeattributeset media_router_service_202504 (media_router_service))
+(typeattributeset media_rw_data_file_202504 (media_rw_data_file))
+(typeattributeset media_session_service_202504 (media_session_service))
+(typeattributeset media_userdir_file_202504 (media_userdir_file))
+(typeattributeset media_variant_prop_202504 (media_variant_prop))
+(typeattributeset mediadrm_config_prop_202504 (mediadrm_config_prop))
+(typeattributeset mediadrmserver_202504 (mediadrmserver))
+(typeattributeset mediadrmserver_exec_202504 (mediadrmserver_exec))
+(typeattributeset mediadrmserver_service_202504 (mediadrmserver_service))
+(typeattributeset mediaextractor_202504 (mediaextractor))
+(typeattributeset mediaextractor_exec_202504 (mediaextractor_exec))
+(typeattributeset mediaextractor_service_202504 (mediaextractor_service))
+(typeattributeset mediaextractor_tmpfs_202504 (mediaextractor_tmpfs))
+(typeattributeset mediametrics_202504 (mediametrics))
+(typeattributeset mediametrics_exec_202504 (mediametrics_exec))
+(typeattributeset mediametrics_service_202504 (mediametrics_service))
+(typeattributeset mediaprovider_202504 (mediaprovider))
+(typeattributeset mediaserver_202504 (mediaserver))
+(typeattributeset mediaserver_exec_202504 (mediaserver_exec))
+(typeattributeset mediaserver_service_202504 (mediaserver_service))
+(typeattributeset mediaserver_tmpfs_202504 (mediaserver_tmpfs))
+(typeattributeset mediaswcodec_202504 (mediaswcodec))
+(typeattributeset mediaswcodec_exec_202504 (mediaswcodec_exec))
+(typeattributeset mediatranscoding_202504 (mediatranscoding))
+(typeattributeset mediatranscoding_service_202504 (mediatranscoding_service))
+(typeattributeset meminfo_service_202504 (meminfo_service))
+(typeattributeset memtrackproxy_service_202504 (memtrackproxy_service))
+(typeattributeset metadata_block_device_202504 (metadata_block_device))
+(typeattributeset metadata_bootstat_file_202504 (metadata_bootstat_file))
+(typeattributeset metadata_file_202504 (metadata_file))
+(typeattributeset method_trace_data_file_202504 (method_trace_data_file))
+(typeattributeset midi_service_202504 (midi_service))
+(typeattributeset mirror_data_file_202504 (mirror_data_file))
+(typeattributeset misc_block_device_202504 (misc_block_device))
+(typeattributeset misc_logd_file_202504 (misc_logd_file))
+(typeattributeset misc_user_data_file_202504 (misc_user_data_file))
+(typeattributeset mm_events_config_prop_202504 (mm_events_config_prop))
+(typeattributeset mmc_prop_202504 (mmc_prop))
+(typeattributeset mnt_expand_file_202504 (mnt_expand_file))
+(typeattributeset mnt_media_rw_file_202504 (mnt_media_rw_file))
+(typeattributeset mnt_media_rw_stub_file_202504 (mnt_media_rw_stub_file))
+(typeattributeset mnt_pass_through_file_202504 (mnt_pass_through_file))
+(typeattributeset mnt_product_file_202504 (mnt_product_file))
+(typeattributeset mnt_sdcard_file_202504 (mnt_sdcard_file))
+(typeattributeset mnt_user_file_202504 (mnt_user_file))
+(typeattributeset mnt_vendor_file_202504 (mnt_vendor_file))
+(typeattributeset mock_ota_prop_202504 (mock_ota_prop))
+(typeattributeset modprobe_202504 (modprobe))
+(typeattributeset module_sdkextensions_prop_202504 (module_sdkextensions_prop))
+(typeattributeset mount_service_202504 (mount_service))
+(typeattributeset mqueue_202504 (mqueue))
+(typeattributeset mtp_202504 (mtp))
+(typeattributeset mtp_device_202504 (mtp_device))
+(typeattributeset mtpd_socket_202504 (mtpd_socket))
+(typeattributeset music_recognition_service_202504 (music_recognition_service))
+(typeattributeset nativetest_data_file_202504 (nativetest_data_file))
+(typeattributeset nearby_service_202504 (nearby_service))
+(typeattributeset net_data_file_202504 (net_data_file))
+(typeattributeset net_dns_prop_202504 (net_dns_prop))
+(typeattributeset net_radio_prop_202504 (net_radio_prop))
+(typeattributeset netd_202504 (netd))
+(typeattributeset netd_exec_202504 (netd_exec))
+(typeattributeset netd_listener_service_202504 (netd_listener_service))
+(typeattributeset netd_service_202504 (netd_service))
+(typeattributeset netif_202504 (netif))
+(typeattributeset netpolicy_service_202504 (netpolicy_service))
+(typeattributeset netstats_service_202504 (netstats_service))
+(typeattributeset netutils_wrapper_202504 (netutils_wrapper))
+(typeattributeset netutils_wrapper_exec_202504 (netutils_wrapper_exec))
+(typeattributeset network_management_service_202504 (network_management_service))
+(typeattributeset network_score_service_202504 (network_score_service))
+(typeattributeset network_stack_202504 (network_stack))
+(typeattributeset network_stack_service_202504 (network_stack_service))
+(typeattributeset network_time_update_service_202504 (network_time_update_service))
+(typeattributeset network_watchlist_data_file_202504 (network_watchlist_data_file))
+(typeattributeset network_watchlist_service_202504 (network_watchlist_service))
+(typeattributeset nfc_202504 (nfc))
+(typeattributeset nfc_data_file_202504 (nfc_data_file))
+(typeattributeset nfc_device_202504 (nfc_device))
+(typeattributeset nfc_logs_data_file_202504 (nfc_logs_data_file))
+(typeattributeset nfc_prop_202504 (nfc_prop))
+(typeattributeset nfc_service_202504 (nfc_service))
+(typeattributeset nnapi_ext_deny_product_prop_202504 (nnapi_ext_deny_product_prop))
+(typeattributeset node_202504 (node))
+(typeattributeset notification_service_202504 (notification_service))
+(typeattributeset null_device_202504 (null_device))
+(typeattributeset oem_lock_service_202504 (oem_lock_service))
+(typeattributeset oem_unlock_prop_202504 (oem_unlock_prop))
+(typeattributeset oemfs_202504 (oemfs))
+(typeattributeset ondevicepersonalization_system_service_202504 (ondevicepersonalization_system_service))
+(typeattributeset ot_daemon_service_202504 (ot_daemon_service))
+(typeattributeset ot_daemon_socket_202504 (ot_daemon_socket))
+(typeattributeset ota_build_prop_202504 (ota_build_prop))
+(typeattributeset ota_data_file_202504 (ota_data_file))
+(typeattributeset ota_metadata_file_202504 (ota_metadata_file))
+(typeattributeset ota_package_file_202504 (ota_package_file))
+(typeattributeset ota_prop_202504 (ota_prop))
+(typeattributeset otadexopt_service_202504 (otadexopt_service))
+(typeattributeset overlay_prop_202504 (overlay_prop))
+(typeattributeset overlay_service_202504 (overlay_service))
+(typeattributeset overlayfs_file_202504 (overlayfs_file))
+(typeattributeset owntty_device_202504 (owntty_device))
+(typeattributeset pac_proxy_service_202504 (pac_proxy_service))
+(typeattributeset package_native_service_202504 (package_native_service))
+(typeattributeset package_service_202504 (package_service))
+(typeattributeset packagemanager_config_prop_202504 (packagemanager_config_prop))
+(typeattributeset packages_list_file_202504 (packages_list_file))
+(typeattributeset pan_result_prop_202504 (pan_result_prop))
+(typeattributeset password_slot_metadata_file_202504 (password_slot_metadata_file))
+(typeattributeset pdx_bufferhub_client_channel_socket_202504 (pdx_bufferhub_client_channel_socket))
+(typeattributeset pdx_bufferhub_client_endpoint_socket_202504 (pdx_bufferhub_client_endpoint_socket))
+(typeattributeset pdx_bufferhub_dir_202504 (pdx_bufferhub_dir))
+(typeattributeset pdx_display_client_channel_socket_202504 (pdx_display_client_channel_socket))
+(typeattributeset pdx_display_client_endpoint_socket_202504 (pdx_display_client_endpoint_socket))
+(typeattributeset pdx_display_dir_202504 (pdx_display_dir))
+(typeattributeset pdx_display_manager_channel_socket_202504 (pdx_display_manager_channel_socket))
+(typeattributeset pdx_display_manager_endpoint_socket_202504 (pdx_display_manager_endpoint_socket))
+(typeattributeset pdx_display_screenshot_channel_socket_202504 (pdx_display_screenshot_channel_socket))
+(typeattributeset pdx_display_screenshot_endpoint_socket_202504 (pdx_display_screenshot_endpoint_socket))
+(typeattributeset pdx_display_vsync_channel_socket_202504 (pdx_display_vsync_channel_socket))
+(typeattributeset pdx_display_vsync_endpoint_socket_202504 (pdx_display_vsync_endpoint_socket))
+(typeattributeset pdx_performance_client_channel_socket_202504 (pdx_performance_client_channel_socket))
+(typeattributeset pdx_performance_client_endpoint_socket_202504 (pdx_performance_client_endpoint_socket))
+(typeattributeset pdx_performance_dir_202504 (pdx_performance_dir))
+(typeattributeset people_service_202504 (people_service))
+(typeattributeset perfetto_202504 (perfetto))
+(typeattributeset performanced_202504 (performanced))
+(typeattributeset performanced_exec_202504 (performanced_exec))
+(typeattributeset permission_checker_service_202504 (permission_checker_service))
+(typeattributeset permission_service_202504 (permission_service))
+(typeattributeset permissionmgr_service_202504 (permissionmgr_service))
+(typeattributeset permissive_mte_prop_202504 (permissive_mte_prop))
+(typeattributeset persist_debug_prop_202504 (persist_debug_prop))
+(typeattributeset persist_vendor_debug_wifi_prop_202504 (persist_vendor_debug_wifi_prop))
+(typeattributeset persist_wm_debug_prop_202504 (persist_wm_debug_prop))
+(typeattributeset persistent_data_block_service_202504 (persistent_data_block_service))
+(typeattributeset persistent_properties_ready_prop_202504 (persistent_properties_ready_prop))
+(typeattributeset pinner_service_202504 (pinner_service))
+(typeattributeset pipefs_202504 (pipefs))
+(typeattributeset platform_app_202504 (platform_app))
+(typeattributeset platform_compat_service_202504 (platform_compat_service))
+(typeattributeset pm_archiving_enabled_prop_202504 (pm_archiving_enabled_prop))
+(typeattributeset pmsg_device_202504 (pmsg_device))
+(typeattributeset port_202504 (port))
+(typeattributeset port_device_202504 (port_device))
+(typeattributeset postinstall_202504 (postinstall))
+(typeattributeset postinstall_apex_mnt_dir_202504 (postinstall_apex_mnt_dir))
+(typeattributeset postinstall_file_202504 (postinstall_file))
+(typeattributeset postinstall_mnt_dir_202504 (postinstall_mnt_dir))
+(typeattributeset power_debug_prop_202504 (power_debug_prop))
+(typeattributeset power_service_202504 (power_service))
+(typeattributeset powerctl_prop_202504 (powerctl_prop))
+(typeattributeset powerstats_service_202504 (powerstats_service))
+(typeattributeset ppp_202504 (ppp))
+(typeattributeset preloads_data_file_202504 (preloads_data_file))
+(typeattributeset preloads_media_file_202504 (preloads_media_file))
+(typeattributeset prereboot_data_file_202504 (prereboot_data_file))
+(typeattributeset print_service_202504 (print_service))
+(typeattributeset priv_app_202504 (priv_app))
+(typeattributeset privapp_data_file_202504 (privapp_data_file))
+(typeattributeset prng_seeder_202504 (prng_seeder))
+(typeattributeset proc_202504 (proc))
+(typeattributeset proc_abi_202504 (proc_abi))
+(typeattributeset proc_asound_202504 (proc_asound))
+(typeattributeset proc_bluetooth_writable_202504 (proc_bluetooth_writable))
+(typeattributeset proc_bootconfig_202504 (proc_bootconfig))
+(typeattributeset proc_bpf_202504 (proc_bpf))
+(typeattributeset proc_buddyinfo_202504 (proc_buddyinfo))
+(typeattributeset proc_cgroups_202504 (proc_cgroups))
+(typeattributeset proc_cmdline_202504 (proc_cmdline))
+(typeattributeset proc_cpu_alignment_202504 (proc_cpu_alignment))
+(typeattributeset proc_cpuinfo_202504 (proc_cpuinfo))
+(typeattributeset proc_dirty_202504 (proc_dirty))
+(typeattributeset proc_diskstats_202504 (proc_diskstats))
+(typeattributeset proc_drop_caches_202504 (proc_drop_caches))
+(typeattributeset proc_extra_free_kbytes_202504 (proc_extra_free_kbytes))
+(typeattributeset proc_filesystems_202504 (proc_filesystems))
+(typeattributeset proc_fs_verity_202504 (proc_fs_verity))
+(typeattributeset proc_hostname_202504 (proc_hostname))
+(typeattributeset proc_hung_task_202504 (proc_hung_task))
+(typeattributeset proc_interrupts_202504 (proc_interrupts))
+(typeattributeset proc_iomem_202504 (proc_iomem))
+(typeattributeset proc_kallsyms_202504 (proc_kallsyms))
+(typeattributeset proc_keys_202504 (proc_keys))
+(typeattributeset proc_kmsg_202504 (proc_kmsg))
+(typeattributeset proc_kpageflags_202504 (proc_kpageflags))
+(typeattributeset proc_loadavg_202504 (proc_loadavg))
+(typeattributeset proc_locks_202504 (proc_locks))
+(typeattributeset proc_lowmemorykiller_202504 (proc_lowmemorykiller))
+(typeattributeset proc_max_map_count_202504 (proc_max_map_count))
+(typeattributeset proc_meminfo_202504 (proc_meminfo))
+(typeattributeset proc_min_free_order_shift_202504 (proc_min_free_order_shift))
+(typeattributeset proc_misc_202504 (proc_misc))
+(typeattributeset proc_modules_202504 (proc_modules))
+(typeattributeset proc_mounts_202504 (proc_mounts))
+(typeattributeset proc_net_202504 (proc_net))
+(typeattributeset proc_net_tcp_udp_202504 (proc_net_tcp_udp))
+(typeattributeset proc_overcommit_memory_202504 (proc_overcommit_memory))
+(typeattributeset proc_page_cluster_202504 (proc_page_cluster))
+(typeattributeset proc_pagetypeinfo_202504 (proc_pagetypeinfo))
+(typeattributeset proc_panic_202504 (proc_panic))
+(typeattributeset proc_percpu_pagelist_high_fraction_202504 (proc_percpu_pagelist_high_fraction))
+(typeattributeset proc_perf_202504 (proc_perf))
+(typeattributeset proc_pid_max_202504 (proc_pid_max))
+(typeattributeset proc_pipe_conf_202504 (proc_pipe_conf))
+(typeattributeset proc_pressure_cpu_202504 (proc_pressure_cpu))
+(typeattributeset proc_pressure_io_202504 (proc_pressure_io))
+(typeattributeset proc_pressure_mem_202504 (proc_pressure_mem))
+(typeattributeset proc_qtaguid_ctrl_202504 (proc_qtaguid_ctrl))
+(typeattributeset proc_qtaguid_stat_202504 (proc_qtaguid_stat))
+(typeattributeset proc_random_202504 (proc_random))
+(typeattributeset proc_sched_202504 (proc_sched))
+(typeattributeset proc_security_202504 (proc_security))
+(typeattributeset proc_slabinfo_202504 (proc_slabinfo))
+(typeattributeset proc_stat_202504 (proc_stat))
+(typeattributeset proc_swaps_202504 (proc_swaps))
+(typeattributeset proc_sysrq_202504 (proc_sysrq))
+(typeattributeset proc_timer_202504 (proc_timer))
+(typeattributeset proc_tty_drivers_202504 (proc_tty_drivers))
+(typeattributeset proc_uid_concurrent_active_time_202504 (proc_uid_concurrent_active_time))
+(typeattributeset proc_uid_concurrent_policy_time_202504 (proc_uid_concurrent_policy_time))
+(typeattributeset proc_uid_cpupower_202504 (proc_uid_cpupower))
+(typeattributeset proc_uid_cputime_removeuid_202504 (proc_uid_cputime_removeuid))
+(typeattributeset proc_uid_cputime_showstat_202504 (proc_uid_cputime_showstat))
+(typeattributeset proc_uid_io_stats_202504 (proc_uid_io_stats))
+(typeattributeset proc_uid_procstat_set_202504 (proc_uid_procstat_set))
+(typeattributeset proc_uid_time_in_state_202504 (proc_uid_time_in_state))
+(typeattributeset proc_uptime_202504 (proc_uptime))
+(typeattributeset proc_vendor_sched_202504 (proc_vendor_sched))
+(typeattributeset proc_version_202504 (proc_version))
+(typeattributeset proc_vmallocinfo_202504 (proc_vmallocinfo))
+(typeattributeset proc_vmstat_202504 (proc_vmstat))
+(typeattributeset proc_watermark_boost_factor_202504 (proc_watermark_boost_factor))
+(typeattributeset proc_watermark_scale_factor_202504 (proc_watermark_scale_factor))
+(typeattributeset proc_zoneinfo_202504 (proc_zoneinfo))
+(typeattributeset processinfo_service_202504 (processinfo_service))
+(typeattributeset procstats_service_202504 (procstats_service))
+(typeattributeset profcollectd_etr_prop_202504 (profcollectd_etr_prop))
+(typeattributeset profiling_service_202504 (profiling_service))
+(typeattributeset profman_202504 (profman))
+(typeattributeset profman_dump_data_file_202504 (profman_dump_data_file))
+(typeattributeset profman_exec_202504 (profman_exec))
+(typeattributeset properties_device_202504 (properties_device))
+(typeattributeset properties_serial_202504 (properties_serial))
+(typeattributeset property_contexts_file_202504 (property_contexts_file))
+(typeattributeset property_data_file_202504 (property_data_file))
+(typeattributeset property_info_202504 (property_info))
+(typeattributeset property_service_version_prop_202504 (property_service_version_prop))
+(typeattributeset property_socket_202504 (property_socket))
+(typeattributeset provisioned_prop_202504 (provisioned_prop))
+(typeattributeset pstorefs_202504 (pstorefs))
+(typeattributeset ptmx_device_202504 (ptmx_device))
+(typeattributeset qemu_hw_prop_202504 (qemu_hw_prop))
+(typeattributeset qemu_sf_lcd_density_prop_202504 (qemu_sf_lcd_density_prop))
+(typeattributeset qtaguid_device_202504 (qtaguid_device))
+(typeattributeset quick_start_prop_202504 (quick_start_prop))
+(typeattributeset racoon_socket_202504 (racoon_socket))
+(typeattributeset radio_202504 (radio))
+(typeattributeset radio_control_prop_202504 (radio_control_prop))
+(typeattributeset radio_core_data_file_202504 (radio_core_data_file))
+(typeattributeset radio_data_file_202504 (radio_data_file))
+(typeattributeset radio_device_202504 (radio_device))
+(typeattributeset radio_prop_202504 (radio_prop))
+(typeattributeset radio_service_202504 (radio_service))
+(typeattributeset ram_device_202504 (ram_device))
+(typeattributeset random_device_202504 (random_device))
+(typeattributeset reboot_readiness_service_202504 (reboot_readiness_service))
+(typeattributeset rebootescrow_hal_prop_202504 (rebootescrow_hal_prop))
+(typeattributeset recovery_202504 (recovery))
+(typeattributeset recovery_block_device_202504 (recovery_block_device))
+(typeattributeset recovery_config_prop_202504 (recovery_config_prop))
+(typeattributeset recovery_data_file_202504 (recovery_data_file))
+(typeattributeset recovery_persist_202504 (recovery_persist))
+(typeattributeset recovery_persist_exec_202504 (recovery_persist_exec))
+(typeattributeset recovery_refresh_202504 (recovery_refresh))
+(typeattributeset recovery_refresh_exec_202504 (recovery_refresh_exec))
+(typeattributeset recovery_service_202504 (recovery_service))
+(typeattributeset recovery_socket_202504 (recovery_socket))
+(typeattributeset recovery_usb_config_prop_202504 (recovery_usb_config_prop))
+(typeattributeset registry_service_202504 (registry_service))
+(typeattributeset remote_auth_service_202504 (remote_auth_service))
+(typeattributeset remote_provisioning_service_202504 (remote_provisioning_service))
+(typeattributeset repair_mode_metadata_file_202504 (repair_mode_metadata_file))
+(typeattributeset resourcecache_data_file_202504 (resourcecache_data_file))
+(typeattributeset resources_manager_service_202504 (resources_manager_service))
+(typeattributeset restorecon_prop_202504 (restorecon_prop))
+(typeattributeset restrictions_service_202504 (restrictions_service))
+(typeattributeset retaildemo_prop_202504 (retaildemo_prop))
+(typeattributeset rild_debug_socket_202504 (rild_debug_socket))
+(typeattributeset rild_socket_202504 (rild_socket))
+(typeattributeset ringtone_file_202504 (ringtone_file))
+(typeattributeset rkpdapp_202504 (rkpdapp))
+(typeattributeset role_service_202504 (role_service))
+(typeattributeset rollback_service_202504 (rollback_service))
+(typeattributeset root_block_device_202504 (root_block_device))
+(typeattributeset rootdisk_sysdev_202504 (rootdisk_sysdev))
+(typeattributeset rootfs_202504 (rootfs))
+(typeattributeset rpmsg_device_202504 (rpmsg_device))
+(typeattributeset rs_202504 (rs))
+(typeattributeset rs_exec_202504 (rs_exec))
+(typeattributeset rss_hwm_reset_202504 (rss_hwm_reset))
+(typeattributeset rtc_device_202504 (rtc_device))
+(typeattributeset rttmanager_service_202504 (rttmanager_service))
+(typeattributeset runas_202504 (runas))
+(typeattributeset runas_app_202504 (runas_app))
+(typeattributeset runas_exec_202504 (runas_exec))
+(typeattributeset runtime_event_log_tags_file_202504 (runtime_event_log_tags_file))
+(typeattributeset runtime_service_202504 (runtime_service))
+(typeattributeset safemode_prop_202504 (safemode_prop))
+(typeattributeset same_process_hal_file_202504 (same_process_hal_file))
+(typeattributeset samplingprofiler_service_202504 (samplingprofiler_service))
+(typeattributeset scheduling_policy_service_202504 (scheduling_policy_service))
+(typeattributeset sdcard_block_device_202504 (sdcard_block_device))
+(typeattributeset sdcardd_202504 (sdcardd))
+(typeattributeset sdcardd_exec_202504 (sdcardd_exec))
+(typeattributeset sdcardfs_202504 (sdcardfs))
+(typeattributeset sdk_sandbox_service_202504 (sdk_sandbox_service))
+(typeattributeset seapp_contexts_file_202504 (seapp_contexts_file))
+(typeattributeset search_service_202504 (search_service))
+(typeattributeset search_ui_service_202504 (search_ui_service))
+(typeattributeset sec_key_att_app_id_provider_service_202504 (sec_key_att_app_id_provider_service))
+(typeattributeset secure_element_202504 (secure_element))
+(typeattributeset secure_element_device_202504 (secure_element_device))
+(typeattributeset secure_element_service_202504 (secure_element_service))
+(typeattributeset security_state_service_202504 (security_state_service))
+(typeattributeset securityfs_202504 (securityfs))
+(typeattributeset selection_toolbar_service_202504 (selection_toolbar_service))
+(typeattributeset selinuxfs_202504 (selinuxfs))
+(typeattributeset sendbug_config_prop_202504 (sendbug_config_prop))
+(typeattributeset sensitive_content_protection_service_202504 (sensitive_content_protection_service))
+(typeattributeset sensor_privacy_service_202504 (sensor_privacy_service))
+(typeattributeset sensors_device_202504 (sensors_device))
+(typeattributeset sensorservice_service_202504 (sensorservice_service))
+(typeattributeset sepolicy_file_202504 (sepolicy_file))
+(typeattributeset serial_device_202504 (serial_device))
+(typeattributeset serial_service_202504 (serial_service))
+(typeattributeset serialno_prop_202504 (serialno_prop))
+(typeattributeset server_configurable_flags_data_file_202504 (server_configurable_flags_data_file))
+(typeattributeset service_contexts_file_202504 (service_contexts_file))
+(typeattributeset service_manager_service_202504 (service_manager_service))
+(typeattributeset service_manager_vndservice_202504 (service_manager_vndservice))
+(typeattributeset servicediscovery_service_202504 (servicediscovery_service))
+(typeattributeset servicemanager_202504 (servicemanager))
+(typeattributeset servicemanager_exec_202504 (servicemanager_exec))
+(typeattributeset servicemanager_prop_202504 (servicemanager_prop))
+(typeattributeset settings_service_202504 (settings_service))
+(typeattributeset setupwizard_mode_prop_202504 (setupwizard_mode_prop))
+(typeattributeset sgdisk_202504 (sgdisk))
+(typeattributeset sgdisk_exec_202504 (sgdisk_exec))
+(typeattributeset shared_relro_202504 (shared_relro))
+(typeattributeset shared_relro_file_202504 (shared_relro_file))
+(typeattributeset shell_202504 (shell))
+(typeattributeset shell_data_file_202504 (shell_data_file))
+(typeattributeset shell_exec_202504 (shell_exec))
+(typeattributeset shell_prop_202504 (shell_prop))
+(typeattributeset shell_test_data_file_202504 (shell_test_data_file))
+(typeattributeset shm_202504 (shm))
+(typeattributeset shortcut_manager_icons_202504 (shortcut_manager_icons))
+(typeattributeset shortcut_service_202504 (shortcut_service))
+(typeattributeset shutdown_checkpoints_system_data_file_202504 (shutdown_checkpoints_system_data_file))
+(typeattributeset simpleperf_202504 (simpleperf))
+(typeattributeset simpleperf_app_runner_202504 (simpleperf_app_runner))
+(typeattributeset simpleperf_app_runner_exec_202504 (simpleperf_app_runner_exec))
+(typeattributeset slice_service_202504 (slice_service))
+(typeattributeset slideshow_202504 (slideshow))
+(typeattributeset smart_idle_maint_enabled_prop_202504 (smart_idle_maint_enabled_prop))
+(typeattributeset smartspace_service_202504 (smartspace_service))
+(typeattributeset snapshotctl_log_data_file_202504 (snapshotctl_log_data_file))
+(typeattributeset snapuserd_log_data_file_202504 (snapuserd_log_data_file))
+(typeattributeset snapuserd_proxy_socket_202504 (snapuserd_proxy_socket))
+(typeattributeset snapuserd_socket_202504 (snapuserd_socket))
+(typeattributeset soc_prop_202504 (soc_prop))
+(typeattributeset socket_device_202504 (socket_device))
+(typeattributeset socket_hook_prop_202504 (socket_hook_prop))
+(typeattributeset sockfs_202504 (sockfs))
+(typeattributeset sota_prop_202504 (sota_prop))
+(typeattributeset soundtrigger_middleware_service_202504 (soundtrigger_middleware_service))
+(typeattributeset speech_recognition_service_202504 (speech_recognition_service))
+(typeattributeset sqlite_log_prop_202504 (sqlite_log_prop))
+(typeattributeset staged_install_file_202504 (staged_install_file))
+(typeattributeset staging_data_file_202504 (staging_data_file))
+(typeattributeset stats_config_data_file_202504 (stats_config_data_file))
+(typeattributeset stats_data_file_202504 (stats_data_file))
+(typeattributeset statsd_202504 (statsd))
+(typeattributeset statsd_exec_202504 (statsd_exec))
+(typeattributeset statsdw_socket_202504 (statsdw_socket))
+(typeattributeset statusbar_service_202504 (statusbar_service))
+(typeattributeset storage_config_prop_202504 (storage_config_prop))
+(typeattributeset storage_file_202504 (storage_file))
+(typeattributeset storage_stub_file_202504 (storage_stub_file))
+(typeattributeset storaged_service_202504 (storaged_service))
+(typeattributeset storagemanager_config_prop_202504 (storagemanager_config_prop))
+(typeattributeset storagestats_service_202504 (storagestats_service))
+(typeattributeset su_202504 (su))
+(typeattributeset su_exec_202504 (su_exec))
+(typeattributeset super_block_device_202504 (super_block_device))
+(typeattributeset surfaceflinger_202504 (surfaceflinger))
+(typeattributeset surfaceflinger_color_prop_202504 (surfaceflinger_color_prop))
+(typeattributeset surfaceflinger_display_prop_202504 (surfaceflinger_display_prop))
+(typeattributeset surfaceflinger_prop_202504 (surfaceflinger_prop))
+(typeattributeset surfaceflinger_service_202504 (surfaceflinger_service))
+(typeattributeset surfaceflinger_tmpfs_202504 (surfaceflinger_tmpfs))
+(typeattributeset suspend_prop_202504 (suspend_prop))
+(typeattributeset swap_block_device_202504 (swap_block_device))
+(typeattributeset sysfs_202504 (sysfs))
+(typeattributeset sysfs_android_usb_202504 (sysfs_android_usb))
+(typeattributeset sysfs_batteryinfo_202504 (sysfs_batteryinfo))
+(typeattributeset sysfs_bluetooth_writable_202504 (sysfs_bluetooth_writable))
+(typeattributeset sysfs_cma_202504 (sysfs_cma))
+(typeattributeset sysfs_devfreq_cur_202504 (sysfs_devfreq_cur))
+(typeattributeset sysfs_devfreq_dir_202504 (sysfs_devfreq_dir))
+(typeattributeset sysfs_devices_block_202504 (sysfs_devices_block))
+(typeattributeset sysfs_devices_cs_etm_202504 (sysfs_devices_cs_etm))
+(typeattributeset sysfs_devices_system_cpu_202504 (sysfs_devices_system_cpu))
+(typeattributeset sysfs_dm_202504 (sysfs_dm))
+(typeattributeset sysfs_dm_verity_202504 (sysfs_dm_verity))
+(typeattributeset sysfs_dma_heap_202504 (sysfs_dma_heap))
+(typeattributeset sysfs_dmabuf_stats_202504 (sysfs_dmabuf_stats))
+(typeattributeset sysfs_dt_firmware_android_202504 (sysfs_dt_firmware_android))
+(typeattributeset sysfs_extcon_202504 (sysfs_extcon))
+(typeattributeset sysfs_fs_ext4_features_202504 (sysfs_fs_ext4_features))
+(typeattributeset sysfs_fs_f2fs_202504 (sysfs_fs_f2fs))
+(typeattributeset sysfs_fs_fuse_bpf_202504 (sysfs_fs_fuse_bpf))
+(typeattributeset sysfs_fs_fuse_features_202504 (sysfs_fs_fuse_features))
+(typeattributeset sysfs_fs_incfs_features_202504 (sysfs_fs_incfs_features))
+(typeattributeset sysfs_fs_incfs_metrics_202504 (sysfs_fs_incfs_metrics))
+(typeattributeset sysfs_gpu_202504 (sysfs_gpu))
+(typeattributeset sysfs_hwrandom_202504 (sysfs_hwrandom))
+(typeattributeset sysfs_ion_202504 (sysfs_ion))
+(typeattributeset sysfs_ipv4_202504 (sysfs_ipv4))
+(typeattributeset sysfs_kernel_notes_202504 (sysfs_kernel_notes))
+(typeattributeset sysfs_leds_202504 (sysfs_leds))
+(typeattributeset sysfs_loop_202504 (sysfs_loop))
+(typeattributeset sysfs_lowmemorykiller_202504 (sysfs_lowmemorykiller))
+(typeattributeset sysfs_lru_gen_enabled_202504 (sysfs_lru_gen_enabled))
+(typeattributeset sysfs_mem_sleep_202504 (sysfs_mem_sleep))
+(typeattributeset sysfs_net_202504 (sysfs_net))
+(typeattributeset sysfs_nfc_power_writable_202504 (sysfs_nfc_power_writable))
+(typeattributeset sysfs_power_202504 (sysfs_power))
+(typeattributeset sysfs_rtc_202504 (sysfs_rtc))
+(typeattributeset sysfs_suspend_stats_202504 (sysfs_suspend_stats))
+(typeattributeset sysfs_switch_202504 (sysfs_switch))
+(typeattributeset sysfs_sync_on_suspend_202504 (sysfs_sync_on_suspend))
+(typeattributeset sysfs_thermal_202504 (sysfs_thermal))
+(typeattributeset sysfs_transparent_hugepage_202504 (sysfs_transparent_hugepage))
+(typeattributeset sysfs_udc_202504 (sysfs_udc))
+(typeattributeset sysfs_uhid_202504 (sysfs_uhid))
+(typeattributeset sysfs_uio_202504 (sysfs_uio))
+(typeattributeset sysfs_usb_202504 (sysfs_usb))
+(typeattributeset sysfs_usermodehelper_202504 (sysfs_usermodehelper))
+(typeattributeset sysfs_vendor_sched_202504 (sysfs_vendor_sched))
+(typeattributeset sysfs_vibrator_202504 (sysfs_vibrator))
+(typeattributeset sysfs_wake_lock_202504 (sysfs_wake_lock))
+(typeattributeset sysfs_wakeup_202504 (sysfs_wakeup))
+(typeattributeset sysfs_wakeup_reasons_202504 (sysfs_wakeup_reasons))
+(typeattributeset sysfs_wlan_fwpath_202504 (sysfs_wlan_fwpath))
+(typeattributeset sysfs_zram_202504 (sysfs_zram))
+(typeattributeset sysfs_zram_uevent_202504 (sysfs_zram_uevent))
+(typeattributeset system_app_202504 (system_app))
+(typeattributeset system_app_data_file_202504 (system_app_data_file))
+(typeattributeset system_app_service_202504 (system_app_service))
+(typeattributeset system_asan_options_file_202504 (system_asan_options_file))
+(typeattributeset system_block_device_202504 (system_block_device))
+(typeattributeset system_boot_reason_prop_202504 (system_boot_reason_prop))
+(typeattributeset system_bootstrap_lib_file_202504 (system_bootstrap_lib_file))
+(typeattributeset system_config_service_202504 (system_config_service))
+(typeattributeset system_data_file_202504 (system_data_file))
+(typeattributeset system_data_root_file_202504 (system_data_root_file))
+(typeattributeset system_dlkm_file_202504 (system_dlkm_file))
+(typeattributeset system_event_log_tags_file_202504 (system_event_log_tags_file))
+(typeattributeset system_file_202504 (system_file))
+(typeattributeset system_group_file_202504 (system_group_file))
+(typeattributeset system_jvmti_agent_prop_202504 (system_jvmti_agent_prop))
+(typeattributeset system_lib_file_202504 (system_lib_file))
+(typeattributeset system_linker_config_file_202504 (system_linker_config_file))
+(typeattributeset system_linker_exec_202504 (system_linker_exec))
+(typeattributeset system_lmk_prop_202504 (system_lmk_prop))
+(typeattributeset system_ndebug_socket_202504 (system_ndebug_socket))
+(typeattributeset system_net_netd_hwservice_202504 (system_net_netd_hwservice))
+(typeattributeset system_net_netd_service_202504 (system_net_netd_service))
+(typeattributeset system_passwd_file_202504 (system_passwd_file))
+(typeattributeset system_prop_202504 (system_prop))
+(typeattributeset system_seccomp_policy_file_202504 (system_seccomp_policy_file))
+(typeattributeset system_security_cacerts_file_202504 (system_security_cacerts_file))
+(typeattributeset system_server_202504 (system_server))
+(typeattributeset system_server_dumper_service_202504 (system_server_dumper_service))
+(typeattributeset system_server_tmpfs_202504 (system_server_tmpfs))
+(typeattributeset system_suspend_control_internal_service_202504 (system_suspend_control_internal_service))
+(typeattributeset system_suspend_control_service_202504 (system_suspend_control_service))
+(typeattributeset system_suspend_hwservice_202504 (system_suspend_hwservice))
+(typeattributeset system_trace_prop_202504 (system_trace_prop))
+(typeattributeset system_unsolzygote_socket_202504 (system_unsolzygote_socket))
+(typeattributeset system_update_service_202504 (system_update_service))
+(typeattributeset system_user_mode_emulation_prop_202504 (system_user_mode_emulation_prop))
+(typeattributeset system_userdir_file_202504 (system_userdir_file))
+(typeattributeset system_wifi_keystore_hwservice_202504 (system_wifi_keystore_hwservice))
+(typeattributeset system_wpa_socket_202504 (system_wpa_socket))
+(typeattributeset system_zoneinfo_file_202504 (system_zoneinfo_file))
+(typeattributeset systemkeys_data_file_202504 (systemkeys_data_file))
+(typeattributeset systemsound_config_prop_202504 (systemsound_config_prop))
+(typeattributeset tare_service_202504 (tare_service))
+(typeattributeset task_profiles_file_202504 (task_profiles_file))
+(typeattributeset task_service_202504 (task_service))
+(typeattributeset tcpdump_exec_202504 (tcpdump_exec))
+(typeattributeset tee_202504 (tee))
+(typeattributeset tee_data_file_202504 (tee_data_file))
+(typeattributeset tee_device_202504 (tee_device))
+(typeattributeset tee_service_contexts_file_202504 (tee_service_contexts_file))
+(typeattributeset telecom_service_202504 (telecom_service))
+(typeattributeset telephony_config_prop_202504 (telephony_config_prop))
+(typeattributeset telephony_status_prop_202504 (telephony_status_prop))
+(typeattributeset test_boot_reason_prop_202504 (test_boot_reason_prop))
+(typeattributeset test_harness_prop_202504 (test_harness_prop))
+(typeattributeset testharness_service_202504 (testharness_service))
+(typeattributeset tethering_service_202504 (tethering_service))
+(typeattributeset textclassification_service_202504 (textclassification_service))
+(typeattributeset textclassifier_data_file_202504 (textclassifier_data_file))
+(typeattributeset textservices_service_202504 (textservices_service))
+(typeattributeset texttospeech_service_202504 (texttospeech_service))
+(typeattributeset theme_prop_202504 (theme_prop))
+(typeattributeset thermal_service_202504 (thermal_service))
+(typeattributeset threadnetwork_config_prop_202504 (threadnetwork_config_prop))
+(typeattributeset threadnetwork_service_202504 (threadnetwork_service))
+(typeattributeset time_prop_202504 (time_prop))
+(typeattributeset timedetector_service_202504 (timedetector_service))
+(typeattributeset timezone_prop_202504 (timezone_prop))
+(typeattributeset timezonedetector_service_202504 (timezonedetector_service))
+(typeattributeset tmpfs_202504 (tmpfs))
+(typeattributeset tombstone_config_prop_202504 (tombstone_config_prop))
+(typeattributeset tombstone_data_file_202504 (tombstone_data_file))
+(typeattributeset tombstone_wifi_data_file_202504 (tombstone_wifi_data_file))
+(typeattributeset tombstoned_202504 (tombstoned))
+(typeattributeset tombstoned_crash_socket_202504 (tombstoned_crash_socket))
+(typeattributeset tombstoned_exec_202504 (tombstoned_exec))
+(typeattributeset tombstoned_intercept_socket_202504 (tombstoned_intercept_socket))
+(typeattributeset tombstoned_java_trace_socket_202504 (tombstoned_java_trace_socket))
+(typeattributeset toolbox_202504 (toolbox))
+(typeattributeset toolbox_exec_202504 (toolbox_exec))
+(typeattributeset trace_data_file_202504 (trace_data_file))
+(typeattributeset traced_202504 (traced))
+(typeattributeset traced_consumer_socket_202504 (traced_consumer_socket))
+(typeattributeset traced_enabled_prop_202504 (traced_enabled_prop))
+(typeattributeset traced_lazy_prop_202504 (traced_lazy_prop))
+(typeattributeset traced_oome_heap_session_count_prop_202504 (traced_oome_heap_session_count_prop))
+(typeattributeset traced_perf_202504 (traced_perf))
+(typeattributeset traced_perf_socket_202504 (traced_perf_socket))
+(typeattributeset traced_probes_202504 (traced_probes))
+(typeattributeset traced_producer_socket_202504 (traced_producer_socket))
+(typeattributeset traced_tmpfs_202504 (traced_tmpfs))
+(typeattributeset traceur_app_202504 (traceur_app))
+(typeattributeset translation_service_202504 (translation_service))
+(typeattributeset trust_service_202504 (trust_service))
+(typeattributeset trusty_security_vm_sys_vendor_prop_202504 (trusty_security_vm_sys_vendor_prop))
+(typeattributeset tty_device_202504 (tty_device))
+(typeattributeset tun_device_202504 (tun_device))
+(typeattributeset tuner_config_prop_202504 (tuner_config_prop))
+(typeattributeset tv_ad_service_202504 (tv_ad_service))
+(typeattributeset tv_iapp_service_202504 (tv_iapp_service))
+(typeattributeset tv_input_service_202504 (tv_input_service))
+(typeattributeset tv_tuner_resource_mgr_service_202504 (tv_tuner_resource_mgr_service))
+(typeattributeset ublk_block_device_202504 (ublk_block_device))
+(typeattributeset ublk_control_device_202504 (ublk_control_device))
+(typeattributeset ueventd_202504 (ueventd))
+(typeattributeset ueventd_tmpfs_202504 (ueventd_tmpfs))
+(typeattributeset uhid_device_202504 (uhid_device))
+(typeattributeset uimode_service_202504 (uimode_service))
+(typeattributeset uio_device_202504 (uio_device))
+(typeattributeset uncrypt_202504 (uncrypt))
+(typeattributeset uncrypt_exec_202504 (uncrypt_exec))
+(typeattributeset uncrypt_socket_202504 (uncrypt_socket))
+(typeattributeset unencrypted_data_file_202504 (unencrypted_data_file))
+(typeattributeset unlabeled_202504 (unlabeled))
+(typeattributeset untrusted_app_202504 (untrusted_app))
+(typeattributeset untrusted_app_25_202504 (untrusted_app_25))
+(typeattributeset untrusted_app_27_202504 (untrusted_app_27))
+(typeattributeset untrusted_app_29_202504 (untrusted_app_29))
+(typeattributeset untrusted_app_30_202504 (untrusted_app_30))
+(typeattributeset untrusted_app_32_202504 (untrusted_app_32))
+(typeattributeset update_engine_202504 (update_engine))
+(typeattributeset update_engine_data_file_202504 (update_engine_data_file))
+(typeattributeset update_engine_exec_202504 (update_engine_exec))
+(typeattributeset update_engine_log_data_file_202504 (update_engine_log_data_file))
+(typeattributeset update_engine_service_202504 (update_engine_service))
+(typeattributeset update_engine_stable_service_202504 (update_engine_stable_service))
+(typeattributeset update_verifier_202504 (update_verifier))
+(typeattributeset update_verifier_exec_202504 (update_verifier_exec))
+(typeattributeset updatelock_service_202504 (updatelock_service))
+(typeattributeset uri_grants_service_202504 (uri_grants_service))
+(typeattributeset usagestats_service_202504 (usagestats_service))
+(typeattributeset usb_config_prop_202504 (usb_config_prop))
+(typeattributeset usb_control_prop_202504 (usb_control_prop))
+(typeattributeset usb_device_202504 (usb_device))
+(typeattributeset usb_prop_202504 (usb_prop))
+(typeattributeset usb_serial_device_202504 (usb_serial_device))
+(typeattributeset usb_service_202504 (usb_service))
+(typeattributeset usb_uvc_enabled_prop_202504 (usb_uvc_enabled_prop))
+(typeattributeset usbaccessory_device_202504 (usbaccessory_device))
+(typeattributeset usbd_202504 (usbd))
+(typeattributeset usbd_exec_202504 (usbd_exec))
+(typeattributeset usbfs_202504 (usbfs))
+(typeattributeset use_memfd_prop_202504 (use_memfd_prop))
+(typeattributeset user_profile_data_file_202504 (user_profile_data_file))
+(typeattributeset user_profile_root_file_202504 (user_profile_root_file))
+(typeattributeset user_service_202504 (user_service))
+(typeattributeset userdata_block_device_202504 (userdata_block_device))
+(typeattributeset userdata_sysdev_202504 (userdata_sysdev))
+(typeattributeset userdebug_or_eng_prop_202504 (userdebug_or_eng_prop))
+(typeattributeset usermodehelper_202504 (usermodehelper))
+(typeattributeset userspace_reboot_config_prop_202504 (userspace_reboot_config_prop))
+(typeattributeset userspace_reboot_exported_prop_202504 (userspace_reboot_exported_prop))
+(typeattributeset userspace_reboot_metadata_file_202504 (userspace_reboot_metadata_file))
+(typeattributeset uwb_service_202504 (uwb_service))
+(typeattributeset vcn_management_service_202504 (vcn_management_service))
+(typeattributeset vd_device_202504 (vd_device))
+(typeattributeset vdc_202504 (vdc))
+(typeattributeset vdc_exec_202504 (vdc_exec))
+(typeattributeset vehicle_hal_prop_202504 (vehicle_hal_prop))
+(typeattributeset vendor_apex_file_202504 (vendor_apex_file))
+(typeattributeset vendor_apex_metadata_file_202504 (vendor_apex_metadata_file))
+(typeattributeset vendor_app_file_202504 (vendor_app_file))
+(typeattributeset vendor_boot_ota_file_202504 (vendor_boot_ota_file))
+(typeattributeset vendor_cgroup_desc_file_202504 (vendor_cgroup_desc_file))
+(typeattributeset vendor_configs_file_202504 (vendor_configs_file))
+(typeattributeset vendor_data_file_202504 (vendor_data_file))
+(typeattributeset vendor_default_prop_202504 (vendor_default_prop))
+(typeattributeset vendor_file_202504 (vendor_file))
+(typeattributeset vendor_framework_file_202504 (vendor_framework_file))
+(typeattributeset vendor_hal_file_202504 (vendor_hal_file))
+(typeattributeset vendor_idc_file_202504 (vendor_idc_file))
+(typeattributeset vendor_init_202504 (vendor_init))
+(typeattributeset vendor_kernel_modules_202504 (vendor_kernel_modules))
+(typeattributeset vendor_keychars_file_202504 (vendor_keychars_file))
+(typeattributeset vendor_keylayout_file_202504 (vendor_keylayout_file))
+(typeattributeset vendor_microdroid_file_202504 (vendor_microdroid_file))
+(typeattributeset vendor_misc_writer_202504 (vendor_misc_writer))
+(typeattributeset vendor_misc_writer_exec_202504 (vendor_misc_writer_exec))
+(typeattributeset vendor_modprobe_202504 (vendor_modprobe))
+(typeattributeset vendor_overlay_file_202504 (vendor_overlay_file))
+(typeattributeset vendor_public_framework_file_202504 (vendor_public_framework_file))
+(typeattributeset vendor_public_lib_file_202504 (vendor_public_lib_file))
+(typeattributeset vendor_security_patch_level_prop_202504 (vendor_security_patch_level_prop))
+(typeattributeset vendor_service_contexts_file_202504 (vendor_service_contexts_file))
+(typeattributeset vendor_shell_202504 (vendor_shell))
+(typeattributeset vendor_shell_exec_202504 (vendor_shell_exec))
+(typeattributeset vendor_socket_hook_prop_202504 (vendor_socket_hook_prop))
+(typeattributeset vendor_task_profiles_file_202504 (vendor_task_profiles_file))
+(typeattributeset vendor_toolbox_exec_202504 (vendor_toolbox_exec))
+(typeattributeset vendor_userdir_file_202504 (vendor_userdir_file))
+(typeattributeset vendor_uuid_mapping_config_file_202504 (vendor_uuid_mapping_config_file))
+(typeattributeset vendor_vm_data_file_202504 (vendor_vm_data_file))
+(typeattributeset vendor_vm_file_202504 (vendor_vm_file))
+(typeattributeset vfat_202504 (vfat))
+(typeattributeset vfio_device_202504 (vfio_device))
+(typeattributeset vibrator_manager_service_202504 (vibrator_manager_service))
+(typeattributeset vibrator_service_202504 (vibrator_service))
+(typeattributeset video_device_202504 (video_device))
+(typeattributeset virtual_ab_prop_202504 (virtual_ab_prop))
+(typeattributeset virtual_camera_202504 (virtual_camera))
+(typeattributeset virtual_camera_exec_202504 (virtual_camera_exec))
+(typeattributeset virtual_camera_service_202504 (virtual_camera_service))
+(typeattributeset virtual_device_native_service_202504 (virtual_device_native_service))
+(typeattributeset virtual_device_service_202504 (virtual_device_service))
+(typeattributeset virtual_face_hal_prop_202504 (virtual_face_hal_prop))
+(typeattributeset virtual_face_prop_202504 (virtual_face_prop))
+(typeattributeset virtual_fingerprint_hal_prop_202504 (virtual_fingerprint_hal_prop))
+(typeattributeset virtual_fingerprint_prop_202504 (virtual_fingerprint_prop))
+(typeattributeset virtual_touchpad_202504 (virtual_touchpad))
+(typeattributeset virtual_touchpad_exec_202504 (virtual_touchpad_exec))
+(typeattributeset virtual_touchpad_service_202504 (virtual_touchpad_service))
+(typeattributeset virtualization_service_202504 (virtualization_service))
+(typeattributeset virtualizationmanager_202504 (virtualizationmanager))
+(typeattributeset virtualizationmanager_exec_202504 (virtualizationmanager_exec))
+(typeattributeset vndbinder_device_202504 (vndbinder_device))
+(typeattributeset vndk_prop_202504 (vndk_prop))
+(typeattributeset vndk_sp_file_202504 (vndk_sp_file))
+(typeattributeset vndservice_contexts_file_202504 (vndservice_contexts_file))
+(typeattributeset vndservicemanager_202504 (vndservicemanager))
+(typeattributeset voiceinteraction_service_202504 (voiceinteraction_service))
+(typeattributeset vold_202504 (vold))
+(typeattributeset vold_config_prop_202504 (vold_config_prop))
+(typeattributeset vold_data_file_202504 (vold_data_file))
+(typeattributeset vold_device_202504 (vold_device))
+(typeattributeset vold_exec_202504 (vold_exec))
+(typeattributeset vold_metadata_file_202504 (vold_metadata_file))
+(typeattributeset vold_post_fs_data_prop_202504 (vold_post_fs_data_prop))
+(typeattributeset vold_prepare_subdirs_202504 (vold_prepare_subdirs))
+(typeattributeset vold_prepare_subdirs_exec_202504 (vold_prepare_subdirs_exec))
+(typeattributeset vold_prop_202504 (vold_prop))
+(typeattributeset vold_service_202504 (vold_service))
+(typeattributeset vold_status_prop_202504 (vold_status_prop))
+(typeattributeset vpn_data_file_202504 (vpn_data_file))
+(typeattributeset vpn_management_service_202504 (vpn_management_service))
+(typeattributeset vr_hwc_service_202504 (vr_hwc_service))
+(typeattributeset vr_manager_service_202504 (vr_manager_service))
+(typeattributeset vrflinger_vsync_service_202504 (vrflinger_vsync_service))
+(typeattributeset vts_config_prop_202504 (vts_config_prop))
+(typeattributeset vts_status_prop_202504 (vts_status_prop))
+(typeattributeset wallpaper_effects_generation_service_202504 (wallpaper_effects_generation_service))
+(typeattributeset wallpaper_file_202504 (wallpaper_file))
+(typeattributeset wallpaper_service_202504 (wallpaper_service))
+(typeattributeset watchdog_device_202504 (watchdog_device))
+(typeattributeset watchdog_metadata_file_202504 (watchdog_metadata_file))
+(typeattributeset watchdogd_202504 (watchdogd))
+(typeattributeset watchdogd_exec_202504 (watchdogd_exec))
+(typeattributeset webview_zygote_202504 (webview_zygote))
+(typeattributeset webview_zygote_exec_202504 (webview_zygote_exec))
+(typeattributeset webview_zygote_tmpfs_202504 (webview_zygote_tmpfs))
+(typeattributeset webviewupdate_service_202504 (webviewupdate_service))
+(typeattributeset wifi_config_prop_202504 (wifi_config_prop))
+(typeattributeset wifi_data_file_202504 (wifi_data_file))
+(typeattributeset wifi_hal_prop_202504 (wifi_hal_prop))
+(typeattributeset wifi_key_202504 (wifi_key))
+(typeattributeset wifi_log_prop_202504 (wifi_log_prop))
+(typeattributeset wifi_prop_202504 (wifi_prop))
+(typeattributeset wifi_service_202504 (wifi_service))
+(typeattributeset wifi_usd_service_202504 (wifi_usd_service))
+(typeattributeset wifiaware_service_202504 (wifiaware_service))
+(typeattributeset wificond_202504 (wificond))
+(typeattributeset wificond_exec_202504 (wificond_exec))
+(typeattributeset wifinl80211_service_202504 (wifinl80211_service))
+(typeattributeset wifip2p_service_202504 (wifip2p_service))
+(typeattributeset wifiscanner_service_202504 (wifiscanner_service))
+(typeattributeset window_service_202504 (window_service))
+(typeattributeset wpa_socket_202504 (wpa_socket))
+(typeattributeset zero_device_202504 (zero_device))
+(typeattributeset zoned_block_device_202504 (zoned_block_device))
+(typeattributeset zram_config_prop_202504 (zram_config_prop))
+(typeattributeset zram_control_prop_202504 (zram_control_prop))
+(typeattributeset zygote_202504 (zygote))
+(typeattributeset zygote_config_prop_202504 (zygote_config_prop))
+(typeattributeset zygote_exec_202504 (zygote_exec))
+(typeattributeset zygote_socket_202504 (zygote_socket))
+(typeattributeset zygote_tmpfs_202504 (zygote_tmpfs))
diff --git a/private/compat/202504/202504.compat.cil b/private/compat/202504/202504.compat.cil
new file mode 100644
index 0000000..061ea04
--- /dev/null
+++ b/private/compat/202504/202504.compat.cil
@@ -0,0 +1,3 @@
+;; complement CIL file for compatibility between ToT policy and 202504 vendors.
+;; will be compiled along with other normal policy files, on 202504 vendors.
+;;
diff --git a/private/compat/202504/202504.ignore.cil b/private/compat/202504/202504.ignore.cil
new file mode 100644
index 0000000..04d9387
--- /dev/null
+++ b/private/compat/202504/202504.ignore.cil
@@ -0,0 +1,9 @@
+;; new_objects - a collection of types that have been introduced with ToT policy
+;;   that have no analogue in 202504 policy.  Thus, we do not need to map these types to
+;;   previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    pbtombstone_exec
+  ))
diff --git a/private/compat/30.0/30.0.ignore.cil b/private/compat/30.0/30.0.ignore.cil
index 0a3d2e9..1d3b389 100644
--- a/private/compat/30.0/30.0.ignore.cil
+++ b/private/compat/30.0/30.0.ignore.cil
@@ -22,6 +22,7 @@
     artd
     artd_exec
     artd_service
+    atrace
     authorization_service
     bootanim_config_prop
     camerax_extensions_prop
@@ -95,6 +96,7 @@
     odsign
     odsign_data_file
     odsign_exec
+    otapreopt_chroot
     pac_proxy_service
     permission_checker_service
     people_service
@@ -138,6 +140,7 @@
     system_suspend_control_internal_service
     task_profiles_api_file
     texttospeech_service
+    traced_tmpfs
     translation_service
     update_engine_stable_service
     userdata_sysdev
diff --git a/private/compat/32.0/32.0.ignore.cil b/private/compat/32.0/32.0.ignore.cil
index 43ce0a1..dd74cd8 100644
--- a/private/compat/32.0/32.0.ignore.cil
+++ b/private/compat/32.0/32.0.ignore.cil
@@ -12,6 +12,7 @@
     attestation_verification_service
     bluetooth_config_prop
     binderfs_features
+    bpfloader
     charger_vendor
     cloudsearch
     cloudsearch_service
@@ -58,6 +59,7 @@
     hal_wifi_supplicant_service
     locale_service
     mdns_service
+    mediatranscoding
     nearby_service
     persist_wm_debug_prop
     proc_watermark_boost_factor
diff --git a/private/compat/33.0/33.0.cil b/private/compat/33.0/33.0.cil
index 204048e..16babe7 100644
--- a/private/compat/33.0/33.0.cil
+++ b/private/compat/33.0/33.0.cil
@@ -2083,7 +2083,7 @@
 (typeattributeset permission_checker_service_33_0 (permission_checker_service))
 (typeattributeset permission_service_33_0 (permission_service))
 (typeattributeset permissionmgr_service_33_0 (permissionmgr_service))
-(typeattributeset persist_debug_prop_33_0 (persist_debug_prop))
+(typeattributeset persist_debug_prop_33_0 (persist_debug_prop system_user_mode_emulation_prop))
 (typeattributeset persist_vendor_debug_wifi_prop_33_0 (persist_vendor_debug_wifi_prop))
 (typeattributeset persist_wm_debug_prop_33_0 (persist_wm_debug_prop))
 (typeattributeset persistent_data_block_service_33_0 (persistent_data_block_service))
diff --git a/private/coredomain.te b/private/coredomain.te
index 23ad43a..7f0ca9d 100644
--- a/private/coredomain.te
+++ b/private/coredomain.te
@@ -63,6 +63,7 @@
         -rs # spawned by appdomain, so carryover the exception above
         -system_server
         -traced_perf
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_app_file:dir { open read getattr search };
 ')
 
@@ -84,6 +85,7 @@
         -system_server
         -traced_perf
         -mediaserver
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_app_file:file r_file_perms;
 ')
 
@@ -105,6 +107,7 @@
         -webview_zygote
         -zygote
         -heapprofd
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_overlay_file:dir { getattr open read search };
 ')
 
@@ -127,6 +130,7 @@
         -heapprofd
         userdebug_or_eng(`-profcollectd')
         userdebug_or_eng(`-simpleperf_boot')
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_overlay_file:file open;
 ')
 
diff --git a/private/crash_dump.te b/private/crash_dump.te
index a9a802c..4bd1d38 100644
--- a/private/crash_dump.te
+++ b/private/crash_dump.te
@@ -118,7 +118,10 @@
 
 # A domain transition must occur for crash_dump to get the privileges needed to trace the process.
 # Do not allow the execution of crash_dump without a domain transition.
-neverallow domain crash_dump_exec:file execute_no_trans;
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} crash_dump_exec:file execute_no_trans;
 
 # sigchld not explicitly forbidden since it's part of the
 # domain-transition-on-exec macros, and is by itself not sensitive
diff --git a/private/crosvm.te b/private/crosvm.te
index 750df24..11c70ad 100644
--- a/private/crosvm.te
+++ b/private/crosvm.te
@@ -1,4 +1,7 @@
-type crosvm, domain, coredomain;
+until_board_api(202504, `
+    type crosvm, domain, coredomain;
+')
+
 type crosvm_exec, system_file_type, exec_type, file_type;
 type crosvm_tmpfs, file_type;
 
@@ -169,6 +172,9 @@
 # Early VMs may print messages to kmsg_debug_device.
 allow crosvm kmsg_debug_device:chr_file w_file_perms;
 
+# Allow crosvm to read /data/nativetest for VTS
+r_dir_file(crosvm, nativetest_data_file)
+
 # Don't allow crosvm to open files that it doesn't own.
 # This is important because a malicious application could try to start a VM with a composite disk
 # image referring by name to files which it doesn't have permission to open, trying to get crosvm to
@@ -220,6 +226,7 @@
   -crosvm
   -virtualizationmanager
   -vmlauncher_app
+  userdebug_or_eng(`-overlay_remounter')
 
   is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `-early_virtmgr')
 } crosvm_exec:file no_x_file_perms;
diff --git a/private/dexopt_chroot_setup.te b/private/dexopt_chroot_setup.te
index 9e98bae..b4b35dd 100644
--- a/private/dexopt_chroot_setup.te
+++ b/private/dexopt_chroot_setup.te
@@ -76,6 +76,7 @@
   system_file
   system_lib_file
   tmpfs
+  vendor_configs_file
   vendor_file
 }:dir mounton;
 
diff --git a/private/domain.te b/private/domain.te
index 4563895..4282b4d 100644
--- a/private/domain.te
+++ b/private/domain.te
@@ -430,6 +430,8 @@
 allow domain task_profiles_file:file r_file_perms;
 allow domain vendor_cgroup_desc_file:file r_file_perms;
 allow domain vendor_task_profiles_file:file r_file_perms;
+allow domain libprocessgroup_metadata_file:dir r_dir_perms;
+allow domain libprocessgroup_metadata_file:file r_file_perms;
 
 # Allow all domains to read sys.use_memfd to determine
 # if memfd support can be used if device supports it
@@ -526,14 +528,9 @@
 # still contains global information about the system.
 neverallow { domain -dumpstate -init -vendor_init -system_server } binderfs_logs_transaction_history:file no_rw_file_perms;
 
-# Allow access to fsverity keyring.
+# Needed for loading kernel modules.
+# TODO(384942085): Reduce the scope.
 allow domain kernel:key search;
-# Allow access to keys in the fsverity keyring that were installed at boot.
-allow domain fsverity_init:key search;
-# For testing purposes, allow access to keys installed with su.
-userdebug_or_eng(`
-  allow domain su:key search;
-')
 
 # Allow access to linkerconfig file
 allow domain linkerconfig_file:dir search;
@@ -592,6 +589,11 @@
 # permission on /metadata dir
 allow domain metadata_file:dir search;
 
+# overlayfs performs all file operations as the mounter, being overlay_remounter.
+# It thus opens files as overlay_remounter, and then uses those files in the context of
+# the caller, which is anyone accessing a file on a overlaid read-only partition
+userdebug_or_eng(`allow domain overlay_remounter:fd use');
+
 ###
 ### neverallow rules
 ###
@@ -702,7 +704,7 @@
 # Do not allow renaming of block files or character files
 # Ability to do so can lead to possible use in an exploit chain
 # e.g. https://googleprojectzero.blogspot.com/2016/12/chrome-os-exploit-one-byte-overflow-and.html
-neverallow * *:{ blk_file chr_file } rename;
+neverallow { domain userdebug_or_eng(`-overlay_remounter') } *:{ blk_file chr_file } rename;
 
 # Don't allow raw read/write/open access to generic devices.
 # Rather force a relabel to a more specific type.
@@ -737,16 +739,21 @@
     domain
     with_asan(`-asan_extract')
     recovery_only(`userdebug_or_eng(`-fastbootd')')
+    userdebug_or_eng(`-kernel')
+    userdebug_or_eng(`-overlay_remounter')
 } {
     system_file_type
     vendor_file_type
     exec_type
 }:dir_file_class_set { create write setattr relabelfrom append unlink link rename };
 
-neverallow { domain -kernel with_asan(`-asan_extract') } { system_file_type vendor_file_type exec_type }:dir_file_class_set relabelto;
+neverallow { domain -kernel with_asan(`-asan_extract') userdebug_or_eng(`-overlay_remounter') } { system_file_type vendor_file_type exec_type }:dir_file_class_set relabelto;
 
 # Don't allow mounting on top of /system files or directories
-neverallow * exec_type:dir_file_class_set mounton;
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} exec_type:dir_file_class_set mounton;
 
 # Nothing should be writing to files in the rootfs.
 neverallow * rootfs:file { create write setattr relabelto append unlink link rename };
@@ -758,9 +765,9 @@
 # Ensure that context mount types are not writable, to ensure that
 # the write to /system restriction above is not bypassed via context=
 # mount to another type.
-neverallow * contextmount_type:dir_file_class_set
+neverallow { domain userdebug_or_eng(`-overlay_remounter') } contextmount_type:dir_file_class_set
     { create setattr relabelfrom relabelto append link rename };
-neverallow { domain recovery_only(`userdebug_or_eng(`-fastbootd')') } contextmount_type:dir_file_class_set { write unlink };
+neverallow { domain recovery_only(`userdebug_or_eng(`-fastbootd')') userdebug_or_eng(`-overlay_remounter') } contextmount_type:dir_file_class_set { write unlink };
 
 # Do not allow service_manager add for default service labels.
 # Instead domains should use a more specific type such as
@@ -1147,6 +1154,7 @@
         -init
         -shell
         -ueventd
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_shell_exec:file { execute execute_no_trans };
 ')
 
@@ -1170,6 +1178,8 @@
         # Vendor components still can invoke shell commands via /system/bin/sh
         -shell_exec
         -toolbox_exec
+        -virtualizationmanager_exec
+        is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `-early_virtmgr_exec')
     }:file { entrypoint execute execute_no_trans };
 ')
 
@@ -1199,6 +1209,7 @@
       -shell
       -system_executes_vendor_violators
       -ueventd
+      userdebug_or_eng(`-overlay_remounter')
     } {
       vendor_file_type
       -same_process_hal_file
@@ -1214,6 +1225,7 @@
       coredomain
       -shell
       -system_executes_vendor_violators
+      userdebug_or_eng(`-overlay_remounter')
     } {
       vendor_file_type
       -same_process_hal_file
@@ -1254,6 +1266,8 @@
     # Vendor components still can invoke shell commands via /system/bin/sh
     -shell_exec
     -toolbox_exec
+    -virtualizationmanager_exec
+    is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `-early_virtmgr_exec')
   }:file *;
 ')
 
@@ -1295,19 +1309,25 @@
 
 # Do not mount on top of symlinks, fifos, or sockets.
 # Feature parity with Chromium LSM.
-neverallow * { file_type fs_type dev_type }:{ lnk_file fifo_file sock_file } mounton;
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} { file_type fs_type dev_type }:{ lnk_file fifo_file sock_file } mounton;
 
 # Nobody should be able to execute su on user builds.
 # On userdebug/eng builds, only dumpstate, shell, and
 # su itself execute su.
-neverallow { domain userdebug_or_eng(`-dumpstate -shell -su') } su_exec:file no_x_file_perms;
+neverallow { domain userdebug_or_eng(`-dumpstate -shell -su -overlay_remounter') } su_exec:file no_x_file_perms;
 
 # Do not allow the introduction of new execmod rules. Text relocations
 # and modification of executable pages are unsafe.
 # The only exceptions are for NDK text relocations associated with
 # https://code.google.com/p/android/issues/detail?id=23203
 # which, long term, need to go away.
-neverallow * {
+neverallow {
+  domain
+  userdebug_or_eng(`-overlay_remounter')
+} {
   file_type
   -apk_data_file
   -app_data_file
@@ -1321,7 +1341,12 @@
 
 # Do not allow the introduction of new execmod rules. Text relocations
 # and modification of executable pages are unsafe.
-neverallow { domain -untrusted_app_25 -untrusted_app_27 } file_type:file execmod;
+neverallow {
+  domain
+  -untrusted_app_25
+  -untrusted_app_27
+  userdebug_or_eng(`-overlay_remounter')
+} file_type:file execmod;
 
 # Ensure that all types assigned to processes are included
 # in the domain attribute, so that all allow and neverallow rules
@@ -1446,6 +1471,7 @@
   -installd
   -profman
   -artd
+  userdebug_or_eng(`-overlay_remounter')
 } profman_exec:file no_x_file_perms;
 
 # Enforce restrictions on kernel module origin.
@@ -1513,6 +1539,7 @@
   neverallow {
     coredomain
     -appdomain
+    userdebug_or_eng(`-overlay_remounter')
   } {vendor_public_framework_file vendor_public_lib_file}:file { execute execute_no_trans };
 ')
 
@@ -1827,6 +1854,7 @@
     -zygote
     userdebug_or_eng(`-mediaextractor')
     userdebug_or_eng(`-mediaswcodec')
+    userdebug_or_eng(`-overlay_remounter')
 } {
     file_type
     -system_file_type
@@ -1902,6 +1930,7 @@
 neverallow {
   domain
   -appdomain
+  userdebug_or_eng(`-overlay_remounter')
 } {
   data_file_type
   -apex_art_data_file
@@ -1935,6 +1964,7 @@
   vold
   vold_prepare_subdirs
   zygote
+  userdebug_or_eng(`overlay_remounter')
 }')
 neverallow ~dac_override_allowed self:global_capability_class_set dac_override;
 # Since the kernel checks dac_read_search before dac_override, domains that
@@ -1963,6 +1993,7 @@
     -update_engine
     -vold
     -zygote
+    userdebug_or_eng(`-overlay_remounter')
 } { fs_type
     -sdcard_type
     -fusefs_type
@@ -2031,6 +2062,7 @@
     userdebug_or_eng(`-simpleperf_boot')
     -traced_perf
     -ueventd
+    userdebug_or_eng(`-overlay_remounter')
   } vendor_file:file { no_w_file_perms no_x_file_perms open };
 ')
 
@@ -2074,6 +2106,7 @@
     -traced_perf # library/binary access for symbolization
     -ueventd # reads /vendor/ueventd.rc
     -vold # loads incremental fs driver
+    userdebug_or_eng(`-overlay_remounter')
   } {
     vendor_file_type
     -same_process_hal_file
@@ -2107,7 +2140,17 @@
 
 # Only init and otapreopt_chroot should be mounting filesystems on locations
 # labeled system or vendor (/product and /vendor respectively).
-neverallow { domain -dexopt_chroot_setup -init -otapreopt_chroot } { system_file_type vendor_file_type }:dir_file_class_set mounton;
+neverallow {
+  domain
+  -dexopt_chroot_setup
+  -init
+  -otapreopt_chroot
+  userdebug_or_eng(`-overlay_remounter')
+  userdebug_or_eng(`-zygote')
+} {
+  system_file_type
+  vendor_file_type
+}:dir_file_class_set mounton;
 
 # Only allow init and vendor_init to read/write mm_events properties
 # NOTE: dumpstate is allowed to read any system property
@@ -2118,18 +2161,24 @@
   -dumpstate
 } mm_events_config_prop:file no_rw_file_perms;
 
-# Allow the tracing daemon and callstack sampler to use kallsyms to symbolize
-# kernel traces. Addresses are not disclosed, they are repalced with symbol
-# names (if available). Traces don't disclose KASLR.
+# Allow init to open /proc/kallsyms while kernel address mappings are still
+# visible, and later share it with tracing daemons (traced_probes,
+# traced_perf). These daemons are allowed to read from the shared fd, but also
+# to separately open the file (which will always have zeroed out addresses due
+# to init raising kptr_restrict) for locking to coordinate access to the shared
+# fd. The performance traces contain only the referenced kernel symbols, and
+# never the raw addresses (i.e. KASLR is not disclosed).
+# On debuggable builds, performance tools are allowed to open and read the file
+# directly because init is allowed to temporarily unrestrict systemwide address
+# visibility.
 neverallow {
   domain
   -init
-  userdebug_or_eng(`-profcollectd')
-  -vendor_init
-  userdebug_or_eng(`-simpleperf_boot')
   -traced_probes
   -traced_perf
-} proc_kallsyms:file { open read };
+  userdebug_or_eng(`-profcollectd')
+  userdebug_or_eng(`-simpleperf_boot')
+} proc_kallsyms:file *;
 
 # debugfs_kcov type is not included in this neverallow statement since the KCOV
 # tool uses it for kernel fuzzing.
@@ -2261,5 +2310,27 @@
 # ueventd needs write access to all sysfs files.
 neverallow { domain -init -vendor_init -ueventd } sysfs_pgsize_migration:file no_w_file_perms;
 
-# We need to be able to rely on vsock labels, so disallow changing them.
-neverallow domain *:vsock_socket { relabelfrom relabelto };
+# virtmanager enforces access policy for which components can connect
+# to which VMs. If you have permissions to make direct connections, you
+# can talk to anything.
+starting_at_board_api(202504, `
+neverallow {
+    domain
+
+    # these are expected
+    -early_virtmgr
+    -virtualizationmanager
+    -virtualizationservice
+    -adbd_common # maybe should move to emulator/virtual device specific policy
+
+    # not expected, and defined outside of system/sepolicy.
+    # Note: this attribute is strongly recommended to be empty if not required.
+    -unconstrained_vsock_violators
+
+    # these are permissions that should be removed, and they are here for visibility.
+    -compos_fd_server   # TODO: get connections from virtmanager
+    -hal_keymint_system # TODO: get connections from virtmanager
+    -hal_widevine_system # TODO: get connections from virtmanager
+    -vmlauncher_app     # TODO: get connections from virtmanager
+} *:vsock_socket { connect create accept bind };
+')
diff --git a/private/dumpstate.te b/private/dumpstate.te
index 5e3bce5..501d829 100644
--- a/private/dumpstate.te
+++ b/private/dumpstate.te
@@ -347,6 +347,7 @@
 dump_hal(hal_sensors)
 dump_hal(hal_thermal)
 dump_hal(hal_vehicle)
+dump_hal(hal_vm_capabilities)
 dump_hal(hal_weaver)
 dump_hal(hal_wifi)
 
@@ -394,6 +395,7 @@
 
 # Read files in /proc
 allow dumpstate {
+  proc_allocinfo
   proc_bootconfig
   proc_buddyinfo
   proc_cmdline
@@ -461,6 +463,7 @@
   -hal_service_type
   -virtual_touchpad_service
   -vold_service
+  -fwk_vold_service
   -default_android_service
 }:service_manager find;
 # suppress denials for services dumpstate should not be accessing.
@@ -471,6 +474,7 @@
   hal_service_type
   virtual_touchpad_service
   vold_service
+  fwk_vold_service
 }:service_manager find;
 
 # Most of these are neverallowed.
@@ -539,6 +543,9 @@
   vm_data_file
 }:dir getattr;
 
+#suppress denials for dumpstate to call vitualizationservice.
+dontaudit dumpstate virtualizationservice:binder { call };
+
 # Allow dumpstate to talk to bufferhubd over binder
 binder_call(dumpstate, bufferhubd);
 
diff --git a/private/early_virtmgr.te b/private/early_virtmgr.te
index e244be2..d1579fe 100644
--- a/private/early_virtmgr.te
+++ b/private/early_virtmgr.te
@@ -1,8 +1,8 @@
 is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `
-    # Domain for a child process that manages early VMs available before /data mount, on behalf of
-    # its parent.
-    type early_virtmgr, domain, coredomain;
-    type early_virtmgr_exec, system_file_type, exec_type, file_type;
+    until_board_api(202504, `
+        type early_virtmgr, domain, coredomain;
+        type early_virtmgr_exec, system_file_type, exec_type, file_type;
+    ')
 
     use_bootstrap_libs(early_virtmgr)
 
diff --git a/private/file.te b/private/file.te
index 189fb47..6bdcc39 100644
--- a/private/file.te
+++ b/private/file.te
@@ -1,3 +1,6 @@
+# /proc/allocinfo
+type proc_allocinfo, fs_type, proc_type;
+
 # /proc/config.gz
 type config_gz, fs_type, proc_type;
 
@@ -189,6 +192,9 @@
 # /sys/firmware/acpi/tables
 type sysfs_firmware_acpi_tables, fs_type, sysfs_type;
 
+# Type for /system/bin/pbtombstone.
+type pbtombstone_exec, system_file_type, exec_type, file_type;
+
 # Allow files to be created in their appropriate filesystems.
 allow fs_type self:filesystem associate;
 allow cgroup tmpfs:filesystem associate;
@@ -228,6 +234,9 @@
 # /metadata/prefetch files
 type prefetch_metadata_file, file_type;
 
+# /metadata/libprocessgroup files
+type libprocessgroup_metadata_file, file_type;
+
 # Types added in 202504 in public/file.te
 until_board_api(202504, `
     type binderfs_logs_transactions, fs_type;
@@ -256,5 +265,8 @@
     type tee_service_contexts_file, system_file_type, file_type;
 ')
 
-## END Types added in 202504 in public/file.te
+until_board_api(202504, `
+    type sysfs_mem_sleep, fs_type, sysfs_type;
+')
 
+## END Types added in 202504 in public/file.te
diff --git a/private/file_contexts b/private/file_contexts
index d6f7113..23a895e 100644
--- a/private/file_contexts
+++ b/private/file_contexts
@@ -256,7 +256,6 @@
 /system/bin/init		u:object_r:init_exec:s0
 # TODO(/123600489): merge mini-keyctl into toybox
 /system/bin/mini-keyctl	--	u:object_r:toolbox_exec:s0
-/system/bin/fsverity_init	u:object_r:fsverity_init_exec:s0
 /system/bin/sload_f2fs	--	u:object_r:e2fs_exec:s0
 /system/bin/make_f2fs	--	u:object_r:e2fs_exec:s0
 /system/bin/fsck_msdos	--	u:object_r:fsck_exec:s0
@@ -354,6 +353,7 @@
 /system/bin/preopt2cachename u:object_r:preopt2cachename_exec:s0
 /system/bin/sgdisk      u:object_r:sgdisk_exec:s0
 /system/bin/blkid       u:object_r:blkid_exec:s0
+/system/bin/pbtombstone       u:object_r:pbtombstone_exec:s0
 /system/bin/flags_health_check -- u:object_r:flags_health_check_exec:s0
 /system/bin/idmap2(d)?              u:object_r:idmap_exec:s0
 /system/bin/update_engine           u:object_r:update_engine_exec:s0
@@ -365,6 +365,7 @@
 /system/bin/virtual_camera          u:object_r:virtual_camera_exec:s0
 /system/bin/hw/android\.frameworks\.bufferhub@1\.0-service    u:object_r:fwk_bufferhub_exec:s0
 /system/bin/hw/android\.system\.suspend-service               u:object_r:system_suspend_exec:s0
+/system/bin/memcgv2_activation_depth\.sh u:object_r:memcgv2_activation_depth_exec:s0
 /system/etc/aconfig(/.*)?               u:object_r:system_aconfig_storage_file:s0
 /system/etc/cgroups\.json               u:object_r:cgroup_desc_file:s0
 /system/etc/task_profiles/cgroups_[0-9]+\.json               u:object_r:cgroup_desc_file:s0
@@ -554,6 +555,7 @@
 
 /(system_ext|system/system_ext)/etc/aconfig(/.*)?                u:object_r:system_aconfig_storage_file:s0
 /(system_ext|system/system_ext)/etc/selinux/system_ext_tee_service_contexts  u:object_r:tee_service_contexts_file:s0
+/(system_ext|system/system_ext)/bin/hw/android\.hardware\.drm-service\.widevine\.system   u:object_r:hal_widevine_system_exec:s0
 
 #############################
 # VendorDlkm files
@@ -902,6 +904,7 @@
 /metadata/aconfig/flags(/.*)?    u:object_r:aconfig_storage_flags_metadata_file:s0
 /metadata/tradeinmode(/.*)?    u:object_r:tradeinmode_metadata_file:s0
 /metadata/prefetch(/.*)?    u:object_r:prefetch_metadata_file:s0
+/metadata/libprocessgroup(/.*)?    u:object_r:libprocessgroup_metadata_file:s0
 
 ############################
 # mount point for ota metadata
@@ -951,3 +954,7 @@
 #############################
 # For early boot VM
 /mnt/vm u:object_r:vm_data_file:s0
+
+#############################
+# For overlays
+/second_stage_resources/overlay_remounter u:object_r:overlay_remounter_exec:s0
diff --git a/private/fsverity_init.te b/private/fsverity_init.te
deleted file mode 100644
index a3765ec..0000000
--- a/private/fsverity_init.te
+++ /dev/null
@@ -1,16 +0,0 @@
-type fsverity_init, domain, coredomain;
-type fsverity_init_exec, exec_type, file_type, system_file_type;
-
-init_daemon_domain(fsverity_init)
-
-# Allow to read /proc/keys for searching key id.
-allow fsverity_init proc_keys:file r_file_perms;
-
-# Ignore denials to access irrelevant keys, as a side effect to access /proc/keys.
-dontaudit fsverity_init domain:key view;
-allow fsverity_init kernel:key { view search write setattr };
-allow fsverity_init fsverity_init:key { view search write };
-
-# Read the on-device signing certificate, to be able to add it to the keyring
-allow fsverity_init odsign:fd use;
-allow fsverity_init odsign_data_file:file { getattr read };
diff --git a/private/genfs_contexts b/private/genfs_contexts
index 3ff1012..0a0c9cb 100644
--- a/private/genfs_contexts
+++ b/private/genfs_contexts
@@ -2,6 +2,7 @@
 genfscon rootfs / u:object_r:rootfs:s0
 # proc labeling can be further refined (longest matching prefix).
 genfscon proc / u:object_r:proc:s0
+genfscon proc /allocinfo u:object_r:proc_allocinfo:s0
 genfscon proc /asound u:object_r:proc_asound:s0
 genfscon proc /bootconfig u:object_r:proc_bootconfig:s0
 genfscon proc /buddyinfo u:object_r:proc_buddyinfo:s0
@@ -168,6 +169,9 @@
 genfscon sysfs /kernel/dma_heap u:object_r:sysfs_dma_heap:s0
 genfscon sysfs /kernel/ion u:object_r:sysfs_ion:s0
 genfscon sysfs /kernel/ipv4 u:object_r:sysfs_ipv4:s0
+starting_at_board_api(202504, `
+genfscon sysfs /kernel/mm/cma u:object_r:sysfs_cma:s0
+')
 genfscon sysfs /kernel/mm/transparent_hugepage u:object_r:sysfs_transparent_hugepage:s0
 genfscon sysfs /kernel/mm/lru_gen/enabled u:object_r:sysfs_lru_gen_enabled:s0
 genfscon sysfs /kernel/mm/pgsize_migration/enabled u:object_r:sysfs_pgsize_migration:s0
@@ -262,6 +266,7 @@
 genfscon tracefs /events/vmscan/mm_vmscan_direct_reclaim_end/            u:object_r:debugfs_tracing:s0
 genfscon tracefs /events/vmscan/mm_vmscan_kswapd_wake/                   u:object_r:debugfs_tracing:s0
 genfscon tracefs /events/vmscan/mm_vmscan_kswapd_sleep/                  u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/android_vendor_lmk/                             u:object_r:debugfs_tracing:s0
 genfscon tracefs /events/binder/binder_transaction/                      u:object_r:debugfs_tracing:s0
 genfscon tracefs /events/binder/binder_transaction_received/             u:object_r:debugfs_tracing:s0
 genfscon tracefs /events/binder/binder_lock/                             u:object_r:debugfs_tracing:s0
diff --git a/private/hal_drm.te b/private/hal_drm.te
index 211fbb7..f24c326 100644
--- a/private/hal_drm.te
+++ b/private/hal_drm.te
@@ -33,7 +33,7 @@
 allow hal_drm_server shell:fifo_file write;
 
 # Allow access to ion memory allocation device
-allow hal_drm ion_device:chr_file rw_file_perms;
+allow { hal_drm -hal_widevine_system } ion_device:chr_file rw_file_perms;
 allow hal_drm hal_graphics_allocator:fd use;
 
 # Allow access to hidl_memory allocation service
@@ -42,9 +42,9 @@
 # Allow access to fds allocated by mediaserver
 allow hal_drm mediaserver:fd use;
 
-allow hal_drm sysfs:file r_file_perms;
+allow { hal_drm -hal_widevine_system } sysfs:file r_file_perms;
 
-allow hal_drm tee_device:chr_file rw_file_perms;
+allow { hal_drm -hal_widevine_system } tee_device:chr_file rw_file_perms;
 
 allow hal_drm_server { appdomain -isolated_app }:fd use;
 
diff --git a/private/hal_vm_capabilities.te b/private/hal_vm_capabilities.te
new file mode 100644
index 0000000..3197784
--- /dev/null
+++ b/private/hal_vm_capabilities.te
@@ -0,0 +1,9 @@
+# Domain for the VM capability HAL, which is used to allow some pVMs to issue
+# vendor-specific SMCs.
+
+binder_call(hal_vm_capabilities_client, hal_vm_capabilities_server)
+
+hal_attribute_service(hal_vm_capabilities, hal_vm_capabilities_service)
+
+binder_use(hal_vm_capabilities_client)
+binder_use(hal_vm_capabilities_server)
diff --git a/private/hal_widevine_system.te b/private/hal_widevine_system.te
new file mode 100644
index 0000000..57213b3
--- /dev/null
+++ b/private/hal_widevine_system.te
@@ -0,0 +1,7 @@
+type hal_widevine_system, domain, coredomain;
+hal_server_domain(hal_widevine_system, hal_drm)
+
+type hal_widevine_system_exec, exec_type, system_file_type, file_type;
+init_daemon_domain(hal_widevine_system)
+
+allow hal_widevine_system self:vsock_socket { create_socket_perms_no_ioctl };
diff --git a/private/hwservice_contexts b/private/hwservice_contexts
index 4a44dc5..c56454f 100644
--- a/private/hwservice_contexts
+++ b/private/hwservice_contexts
@@ -34,6 +34,7 @@
 android.hardware.gnss::IGnss                                    u:object_r:hal_gnss_hwservice:s0
 android.hardware.graphics.allocator::IAllocator                 u:object_r:hal_graphics_allocator_hwservice:s0
 android.hardware.graphics.composer::IComposer                   u:object_r:hal_graphics_composer_hwservice:s0
+android.hardware.tv.mediaquality::IPictureProfileChangedListener     u:object_r:hal_graphics_composer_hwservice:s0
 android.hardware.graphics.mapper::IMapper                       u:object_r:hal_graphics_mapper_hwservice:s0
 android.hardware.health::IHealth                                u:object_r:hal_health_hwservice:s0
 android.hardware.health.storage::IStorage                       u:object_r:hal_health_storage_hwservice:s0
diff --git a/private/incident.te b/private/incident.te
index db9ae86..19db7d7 100644
--- a/private/incident.te
+++ b/private/incident.te
@@ -34,4 +34,14 @@
 allow incident incidentd:fifo_file write;
 
 # only allow incident being called by shell or dumpstate
-neverallow { domain -su -shell -incident -dumpstate} incident_exec:file { execute execute_no_trans };
+neverallow {
+    domain
+    -su
+    -shell
+    -incident
+    -dumpstate
+    userdebug_or_eng(`-overlay_remounter')
+} incident_exec:file {
+    execute
+    execute_no_trans
+};
diff --git a/private/incident_helper.te b/private/incident_helper.te
index b453855..cdaf144 100644
--- a/private/incident_helper.te
+++ b/private/incident_helper.te
@@ -11,4 +11,13 @@
 allow incident_helper incidentd:unix_stream_socket { read write };
 
 # only allow incidentd and shell to call incident_helper
-neverallow { domain -incidentd -incident_helper -shell } incident_helper_exec:file { execute execute_no_trans };
+neverallow {
+    domain
+    -incidentd
+    -incident_helper
+    -shell
+    userdebug_or_eng(`-overlay_remounter')
+} incident_helper_exec:file {
+    execute
+    execute_no_trans
+};
diff --git a/private/incidentd.te b/private/incidentd.te
index bf98d31..11da9ea 100644
--- a/private/incidentd.te
+++ b/private/incidentd.te
@@ -25,6 +25,9 @@
 # section id 1116, allow accessing statsd socket
 unix_socket_send(incidentd, statsdw, statsd)
 
+# section id 1116, allow using userfaultfd
+userfaultfd_use(incidentd)
+
 # section id 2001, allow reading /proc/pagetypeinfo
 allow incidentd proc_pagetypeinfo:file r_file_perms;
 
diff --git a/private/init.te b/private/init.te
index 012ef0b..6f0ee80 100644
--- a/private/init.te
+++ b/private/init.te
@@ -68,6 +68,12 @@
 allow init self:perf_event { open cpu };
 allow init self:global_capability2_class_set perfmon;
 
+# Allow opening /proc/kallsyms so that on boot, init can create and retain an
+# fd with the full address visibility (which is evaluated on open and persists
+# for the lifetime of the open file description). This fd can then be shared
+# with other privileged processes.
+allow init proc_kallsyms:file r_file_perms;
+
 # Allow init to communicate with snapuserd to transition Virtual A/B devices
 # from the first-stage daemon to the second-stage.
 allow init snapuserd_socket:sock_file write;
@@ -533,6 +539,7 @@
 
 allow init {
   proc # b/67049235 processes /proc/<pid>/* files are mislabeled.
+  proc_allocinfo
   proc_bootconfig
   proc_cmdline
   proc_diskstats
@@ -568,6 +575,7 @@
 
 # init chmod/chown access to /proc files.
 allow init {
+  proc_allocinfo
   proc_cmdline
   proc_bootconfig
   proc_kmsg
@@ -806,7 +814,7 @@
 # The init domain is only entered via an exec based transition from the
 # kernel domain, never via setcon().
 neverallow domain init:process dyntransition;
-neverallow { domain -kernel } init:process transition;
+neverallow { domain -kernel userdebug_or_eng(`-overlay_remounter') } init:process transition;
 neverallow init { file_type fs_type -init_exec }:file entrypoint;
 
 # Never read/follow symlinks created by shell or untrusted apps.
diff --git a/private/installd.te b/private/installd.te
index 55e962a..50c378a 100644
--- a/private/installd.te
+++ b/private/installd.te
@@ -226,6 +226,13 @@
   allow installd storage_area_key_file:file unlink;
 ')
 
+# Allow installd to delete the terminal app's data file.
+# `virtualizationservice_data_file` was used for a while, but it needs to be
+# deleted when terminal feature is disabled.
+# TODO(b/383026786): Remove this rule once the there is no
+# `virtualizationservice_data_file` in terminal app anymore..
+allow installd virtualizationservice_data_file:file unlink;
+
 ###
 ### Neverallow rules
 ###
diff --git a/private/kernel.te b/private/kernel.te
index 1b82c66..0d3aa77 100644
--- a/private/kernel.te
+++ b/private/kernel.te
@@ -2,6 +2,9 @@
 
 domain_auto_trans(kernel, init_exec, init)
 domain_auto_trans(kernel, snapuserd_exec, snapuserd)
+userdebug_or_eng(`
+  domain_auto_trans(kernel, overlay_remounter_exec, overlay_remounter)
+')
 
 # Allow the kernel to read otapreopt_chroot's file descriptors and files under
 # /postinstall, as it uses apexd logic to mount APEX packages in /postinstall/apex.
@@ -150,6 +153,15 @@
 # required by VTS lidbm unit test
 allow kernel appdomain_tmpfs:file { read write };
 
+# Allow first stage init to copy and then launch overlay_remounter
+userdebug_or_eng(`
+  allow kernel tmpfs:dir rw_dir_perms;
+  allow kernel tmpfs:file { create_file_perms relabelfrom };
+  allow kernel overlay_remounter_exec:file { relabelto unlink };
+  allow kernel overlay_remounter:process2 nosuid_transition;
+  allow kernel overlay_remounter:process share;
+')
+
 dontaudit kernel metadata_file:dir search;
 dontaudit kernel ota_metadata_file:dir rw_dir_perms;
 dontaudit kernel sysfs:dir r_dir_perms;
diff --git a/private/keystore.te b/private/keystore.te
index 50542b0..41c29db 100644
--- a/private/keystore.te
+++ b/private/keystore.te
@@ -39,7 +39,10 @@
 # can call keystore methods on those references.
 allow keystore vold:binder transfer;
 
-set_prop(keystore, keystore_crash_prop)
+set_prop(keystore, keystore_diagnostics_prop)
+
+# Allow keystore to monitor the `apexd.status` property.
+get_prop(keystore, apexd_prop)
 
 # keystore is using apex_info via libvintf
 use_apex_info(keystore)
@@ -61,6 +64,10 @@
 allow keystore remote_provisioning_service:service_manager find;
 allow keystore rkp_cert_processor_service:service_manager find;
 
+# Allow keystore to communicate to apexd
+allow keystore apex_service:service_manager find;
+allow keystore apexd:binder call;
+
 add_service(keystore, apc_service)
 add_service(keystore, keystore_compat_hal_service)
 add_service(keystore, authorization_service)
@@ -95,6 +102,6 @@
 
 neverallow * keystore:process ptrace;
 
-# Only keystore can set keystore.crash_count system property. Since init is allowed to set any
-# system property, an exception is added for init as well.
-neverallow { domain -keystore -init } keystore_crash_prop:property_service set;
+# Only keystore can set keystore_diagnostics_prop system properties. Since init is allowed to set
+# any system property, an exception is added for init as well.
+neverallow { domain -keystore -init } keystore_diagnostics_prop:property_service set;
diff --git a/private/linkerconfig.te b/private/linkerconfig.te
index ce26fd2..5459c1d 100644
--- a/private/linkerconfig.te
+++ b/private/linkerconfig.te
@@ -36,4 +36,5 @@
   -init
   -linkerconfig
   -otapreopt_chroot
+  userdebug_or_eng(`-overlay_remounter')
 } linkerconfig_exec:file no_x_file_perms;
diff --git a/private/memcgv2_activation_depth.te b/private/memcgv2_activation_depth.te
new file mode 100644
index 0000000..80378d3
--- /dev/null
+++ b/private/memcgv2_activation_depth.te
@@ -0,0 +1,26 @@
+# The memcgv2_activation_depth.sh script run by init.
+
+type memcgv2_activation_depth, domain, coredomain;
+type memcgv2_activation_depth_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(memcgv2_activation_depth)
+
+# required permissions to run the script from init
+allow memcgv2_activation_depth shell_exec:file rx_file_perms;
+allow memcgv2_activation_depth system_file:file x_file_perms;
+allow memcgv2_activation_depth toolbox_exec:file rx_file_perms;
+
+# for system default max activation depth
+allow memcgv2_activation_depth cgroup_desc_file:file r_file_perms;
+
+# /metadata/libprocessgroup/*
+allow memcgv2_activation_depth libprocessgroup_metadata_file:dir rw_dir_perms;
+allow memcgv2_activation_depth libprocessgroup_metadata_file:file create_file_perms;
+
+# /sys/fs/cgroup/cgroup.controllers
+# /sys/fs/cgroup/**/cgroup.subtree_control
+allow memcgv2_activation_depth cgroup_v2:dir r_dir_perms;
+allow memcgv2_activation_depth cgroup_v2:file rw_file_perms;
+
+# For reboot, when reducing the depth override
+set_prop(memcgv2_activation_depth, powerctl_prop)
diff --git a/private/mmd.te b/private/mmd.te
index 90510f1..9a76909 100644
--- a/private/mmd.te
+++ b/private/mmd.te
@@ -5,8 +5,10 @@
 
 init_daemon_domain(mmd)
 
-# Set mmd.enabled_aconfig properties.
-set_prop(mmd, mmd_prop)
+# Set mmd.enabled_aconfig and zram backing device size.
+set_prop(mmd, mmd_shared_status_prop)
+set_prop(mmd, mmd_status_prop)
+get_prop(mmd, mmd_prop)
 get_prop(mmd, device_config_mmd_native_prop)
 
 # mmd binder setup
@@ -29,3 +31,10 @@
 
 # swapon syscall
 allow mmd self:capability sys_admin;
+
+# Allow mmd to write to statsd socket.
+unix_socket_send(mmd, statsdw, statsd)
+# Allow mmd to interact with statsd binder calls for pulled atoms.
+allow mmd stats_service:service_manager find;
+allow mmd statsmanager_service:service_manager find;
+binder_call(mmd, statsd)
diff --git a/private/netd.te b/private/netd.te
index 8b6ea4c..3b3c697 100644
--- a/private/netd.te
+++ b/private/netd.te
@@ -48,7 +48,7 @@
 
 allow netd system_server:fd use;
 
-allow netd self:global_capability_class_set { net_admin net_raw kill };
+allow netd self:global_capability_class_set { net_admin net_raw net_bind_service kill };
 # Note: fsetid is deliberately not included above. fsetid checks are
 # triggered by chmod on a directory or file owned by a group other
 # than one of the groups assigned to the current process to see if
diff --git a/private/netutils_wrapper.te b/private/netutils_wrapper.te
index 37a2c47..28766dd 100644
--- a/private/netutils_wrapper.te
+++ b/private/netutils_wrapper.te
@@ -50,4 +50,4 @@
 # netutils wrapper may only use the following capabilities.
 neverallow netutils_wrapper self:global_capability_class_set ~{ net_admin net_raw };
 
-neverallow domain netutils_wrapper_exec:file execute_no_trans;
+neverallow { domain userdebug_or_eng(`-overlay_remounter') } netutils_wrapper_exec:file execute_no_trans;
diff --git a/private/network_stack.te b/private/network_stack.te
index 4450e02..8a07245 100644
--- a/private/network_stack.te
+++ b/private/network_stack.te
@@ -51,6 +51,10 @@
 # calls if (fd.isSocket$()) if (isLingerSocket(fd)) ...
 dontaudit network_stack self:key_socket getopt;
 
+# Allow network_stack to open/read/getattr various /proc/net files
+# (includes /proc/net/{anycast6,igmp,psched} /proc/sys/net/ipv4/ip_default_ttl)
+r_dir_file(network_stack, proc_net_type)
+
 # Grant read permission of connectivity namespace system property prefix.
 get_prop(network_stack, device_config_connectivity_prop)
 
diff --git a/private/odsign.te b/private/odsign.te
index f06795c..4af0708 100644
--- a/private/odsign.te
+++ b/private/odsign.te
@@ -51,9 +51,6 @@
 # Run odrefresh to refresh ART artifacts
 domain_auto_trans(odsign, odrefresh_exec, odrefresh)
 
-# Run fsverity_init to add key to fsverity keyring
-domain_auto_trans(odsign, fsverity_init_exec, fsverity_init)
-
 # Run compos_verify to verify CompOs signatures
 domain_auto_trans(odsign, compos_verify_exec, compos_verify)
 
@@ -65,5 +62,5 @@
 set_prop(odsign, ctl_odsign_prop)
 
 # Neverallows
-neverallow { domain -odsign -init -fsverity_init} odsign_data_file:dir ~search;
-neverallow { domain -odsign -init -fsverity_init} odsign_data_file:file *;
+neverallow { domain -odsign -init} odsign_data_file:dir ~search;
+neverallow { domain -odsign -init} odsign_data_file:file *;
diff --git a/private/overlay_remounter.te b/private/overlay_remounter.te
new file mode 100644
index 0000000..12f7b0d
--- /dev/null
+++ b/private/overlay_remounter.te
@@ -0,0 +1,47 @@
+# Domain used for overlay_remounter process
+
+# All types must be defined regardless of build variant to ensure
+# policy compilation succeeds with userdebug/user combination at boot
+type overlay_remounter, domain, coredomain;
+
+# File types must be defined for file_contexts.
+type overlay_remounter_exec, system_file_type, exec_type, file_type;
+
+userdebug_or_eng(`
+  domain_auto_trans(overlay_remounter, init_exec, init)
+
+  allow overlay_remounter init:process share;
+  allow overlay_remounter init:process2 nosuid_transition;
+  allow overlay_remounter kernel:fd use;
+  allow overlay_remounter tmpfs:chr_file { open read write };
+  allow overlay_remounter labeledfs:filesystem { mount unmount };
+  allow overlay_remounter overlayfs_file:chr_file { unlink create link rename };
+  allow overlay_remounter overlayfs_file:dir create_dir_perms;
+  allow overlay_remounter overlayfs_file:file { create open rename unlink write };
+  allow overlay_remounter self:capability { chown fowner sys_admin dac_override dac_read_search };
+  allow overlay_remounter unlabeled:dir { rmdir search };
+  use_bootstrap_libs(overlay_remounter)
+
+  # overlay_remounter must be able to perform all possible operations
+  # on the overlaid partitions
+  allow overlay_remounter {
+    system_dlkm_file_type
+    vendor_file_type
+    system_file_type
+    adb_keys_file
+  }:{ file } ~{ entrypoint };
+
+  allow overlay_remounter {
+    system_dlkm_file_type
+    vendor_file_type
+    system_file_type
+    adb_keys_file
+  }:chr_file unlink;
+
+  allow overlay_remounter {
+    system_dlkm_file_type
+    vendor_file_type
+    system_file_type
+    adb_keys_file
+  }:{ dir lnk_file } *;
+')
diff --git a/private/platform_app.te b/private/platform_app.te
index e60dcdd..38339da 100644
--- a/private/platform_app.te
+++ b/private/platform_app.te
@@ -43,7 +43,7 @@
 userdebug_or_eng(`
   set_prop(platform_app, persist_wm_debug_prop)
 ')
-neverallow { domain -init -dumpstate userdebug_or_eng(`-domain') } persist_wm_debug_prop:property_service set;
+neverallow { domain -init -dumpstate -system_server userdebug_or_eng(`-domain') } persist_wm_debug_prop:property_service set;
 
 userdebug_or_eng(`
   set_prop(platform_app, persist_sysui_builder_extras_prop)
@@ -144,6 +144,9 @@
 # Allow platform apps to create VMs
 virtualizationservice_use(platform_app)
 
+# Allow platform apps to read files and directories under /data/system/shutdown-checkpoints/
+r_dir_file(platform_app, shutdown_checkpoints_system_data_file)
+
 ###
 ### Neverallow rules
 ###
diff --git a/private/property.te b/private/property.te
index 525754f..9ff56e9 100644
--- a/private/property.te
+++ b/private/property.te
@@ -2,6 +2,7 @@
 system_internal_prop(adbd_prop)
 system_internal_prop(adbd_tradeinmode_prop)
 system_internal_prop(apexd_payload_metadata_prop)
+system_internal_prop(bluetooth_lea_mode_prop)
 system_internal_prop(ctl_snapuserd_prop)
 system_internal_prop(ctl_prefetch_prop)
 system_internal_prop(ctl_uprobestats_prop)
@@ -30,13 +31,13 @@
 system_internal_prop(init_storage_prop)
 system_internal_prop(init_svc_debug_prop)
 system_internal_prop(kcmdline_prop)
-system_internal_prop(keystore_crash_prop)
+system_internal_prop(keystore_diagnostics_prop)
 system_internal_prop(keystore_listen_prop)
 system_internal_prop(last_boot_reason_prop)
 system_internal_prop(localization_prop)
 system_internal_prop(logd_auditrate_prop)
 system_internal_prop(lower_kptr_restrict_prop)
-system_internal_prop(mmd_prop)
+system_internal_prop(mmd_status_prop)
 system_internal_prop(net_464xlat_fromvendor_prop)
 system_internal_prop(net_connectivity_prop)
 system_internal_prop(netd_stable_secret_prop)
@@ -57,7 +58,9 @@
 system_internal_prop(system_adbd_prop)
 system_internal_prop(system_audio_config_prop)
 system_internal_prop(timezone_metadata_prop)
+system_internal_prop(traced_config_prop)
 system_internal_prop(traced_perf_enabled_prop)
+system_internal_prop(traced_relay_relay_port_prop)
 system_internal_prop(uprobestats_start_with_config_prop)
 system_internal_prop(tuner_server_ctl_prop)
 system_internal_prop(userspace_reboot_log_prop)
@@ -77,13 +80,15 @@
 system_internal_prop(system_service_enable_prop)
 system_internal_prop(ctl_artd_pre_reboot_prop)
 system_internal_prop(trusty_security_vm_sys_prop)
-
+system_internal_prop(trusty_widevine_vm_sys_prop)
+system_internal_prop(hint_manager_config_prop)
 
 # Properties which can't be written outside system
 system_restricted_prop(bionic_linker_16kb_app_compat_prop)
 system_restricted_prop(device_config_virtualization_framework_native_prop)
 system_restricted_prop(fstype_prop)
 system_restricted_prop(log_file_logger_prop)
+system_restricted_prop(mmd_shared_status_prop)
 system_restricted_prop(persist_sysui_builder_extras_prop)
 system_restricted_prop(persist_sysui_ranking_update_prop)
 system_restricted_prop(page_size_prop)
@@ -111,7 +116,12 @@
 # Properties which should only be written by vendor_init
 system_vendor_config_prop(avf_virtualizationservice_prop)
 system_vendor_config_prop(high_barometer_quality_prop)
+system_vendor_config_prop(mmd_prop)
+system_vendor_config_prop(mmd_shared_prop)
 system_vendor_config_prop(prefetch_boot_prop)
+until_board_api(202504, `
+    system_vendor_config_prop(drm_config_prop)
+')
 
 typeattribute log_prop log_property_type;
 typeattribute log_tag_prop log_property_type;
diff --git a/private/property_contexts b/private/property_contexts
index b67fbff..61dcac0 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -52,6 +52,7 @@
 service.adb.root        u:object_r:shell_prop:s0
 service.adb.tls.port    u:object_r:adbd_prop:s0
 persist.adb.tradeinmode u:object_r:adbd_tradeinmode_prop:s0
+persist.adb.test_tradeinmode u:object_r:adbd_tradeinmode_prop:s0
 persist.adb.wifi.       u:object_r:adbd_prop:s0
 persist.adb.tls_server.enable  u:object_r:system_adbd_prop:s0
 
@@ -87,6 +88,9 @@
 persist.security.       u:object_r:system_prop:s0
 persist.traced.enable   u:object_r:traced_enabled_prop:s0
 traced.lazy.            u:object_r:traced_lazy_prop:s0
+traced_relay.relay_port u:object_r:traced_relay_relay_port_prop:s0
+ro.traced.              u:object_r:traced_config_prop:s0
+traced.relay_producer_port u:object_r:traced_config_prop:s0
 persist.heapprofd.enable u:object_r:heapprofd_enabled_prop:s0
 persist.traced_perf.enable u:object_r:traced_perf_enabled_prop:s0
 uprobestats.start_with_config u:object_r:uprobestats_start_with_config_prop:s0
@@ -250,7 +254,8 @@
 traced.oome_heap_session.count u:object_r:traced_oome_heap_session_count_prop:s0 exact uint
 
 # servicemanager properties
-servicemanager.ready    u:object_r:servicemanager_prop:s0 exact bool
+servicemanager.ready     u:object_r:servicemanager_prop:s0 exact bool
+servicemanager.installed u:object_r:servicemanager_prop:s0 exact bool
 
 # hwservicemanager properties
 hwservicemanager.       u:object_r:hwservicemanager_prop:s0
@@ -367,9 +372,9 @@
 ro.prefetch_boot.duration_s u:object_r:prefetch_boot_prop:s0 exact int
 ro.prefetch_boot.io_depth u:object_r:prefetch_boot_prop:s0 exact int
 ro.prefetch_boot.max_fds u:object_r:prefetch_boot_prop:s0 exact int
-ro.prefetch_boot.record_stop u:object_r:prefetch_boot_prop:s0 exact bool
 # Prefetch property to start and stop the record/replay
 prefetch_boot.record u:object_r:prefetch_service_prop:s0 exact bool
+prefetch_boot.record_stop u:object_r:prefetch_boot_prop:s0 exact bool
 prefetch_boot.replay u:object_r:prefetch_service_prop:s0 exact bool
 
 # Virtual A/B and snapuserd properties
@@ -483,6 +488,10 @@
 # See b/323989070 for the discussion why this approach was chosen.
 ro.audio.ihaladaptervendorextension_enabled u:object_r:system_audio_config_prop:s0 exact bool
 
+# String property used in audioparameterparser.example service to load
+# vendor implementation IHalAdapterVendorExtension
+ro.audio.ihaladaptervendorextension_libname u:object_r:system_audio_config_prop:s0 exact string
+
 persist.config.calibration_fac u:object_r:camera_calibration_prop:s0 exact string
 
 config.disable_cameraservice u:object_r:camera_config_prop:s0 exact bool
@@ -497,6 +506,8 @@
 ro.camera.disableJpegR        u:object_r:camera_config_prop:s0 exact bool
 ro.camera.enableCompositeAPI0JpegR u:object_r:camera_config_prop:s0 exact bool
 ro.camera.enableVirtualCamera      u:object_r:camera_config_prop:s0 exact bool
+ro.camera.disableHeicUltraHDR u:object_r:camera_config_prop:s0 exact bool
+ro.camera.enableSWHEVC        u:object_r:camera_config_prop:s0 exact bool
 
 ro.camerax.extensions.enabled u:object_r:camerax_extensions_prop:s0 exact bool
 
@@ -617,6 +628,7 @@
 persist.bluetooth.btsnoopdefaultmode                        u:object_r:bluetooth_prop:s0 exact enum empty disabled filtered full
 persist.bluetooth.btsnooplogmode                            u:object_r:bluetooth_prop:s0 exact enum empty disabled filtered full
 persist.bluetooth.finder.supported                          u:object_r:bluetooth_finder_prop:s0 exact bool
+persist.bluetooth.sniff_offload.enabled                     u:object_r:bluetooth_config_prop:s0 exact bool
 persist.bluetooth.snooplogfilter.headers.enabled            u:object_r:bluetooth_prop:s0 exact bool
 persist.bluetooth.snooplogfilter.profiles.a2dp.enabled      u:object_r:bluetooth_prop:s0 exact bool
 persist.bluetooth.snooplogfilter.profiles.map               u:object_r:bluetooth_prop:s0 exact enum empty disabled fullfilter header magic
@@ -624,6 +636,7 @@
 persist.bluetooth.snooplogfilter.profiles.rfcomm.enabled    u:object_r:bluetooth_prop:s0 exact bool
 persist.bluetooth.factoryreset                              u:object_r:bluetooth_prop:s0 exact bool
 persist.bluetooth.leaudio.allow_list                        u:object_r:bluetooth_prop:s0 exact string
+persist.bluetooth.leaudio_dynamic_switcher.mode             u:object_r:bluetooth_lea_mode_prop:s0 exact string
 
 bluetooth.a2dp.source.sbc_priority.config            u:object_r:bluetooth_config_prop:s0 exact int
 bluetooth.a2dp.source.aac_priority.config            u:object_r:bluetooth_config_prop:s0 exact int
@@ -639,6 +652,8 @@
 bluetooth.hardware.radio.le_rx_path_loss_comp_db     u:object_r:bluetooth_config_prop:s0 exact int
 bluetooth.hardware.wakeup_supported                  u:object_r:bluetooth_config_prop:s0 exact bool
 
+bluetooth.hci.msft_vendor_opcode                     u:object_r:bluetooth_config_prop:s0 exact uint
+
 bluetooth.framework.support_persisted_state          u:object_r:bluetooth_config_prop:s0 exact bool
 bluetooth.framework.adapter_address_validation       u:object_r:bluetooth_config_prop:s0 exact bool
 
@@ -695,6 +710,11 @@
 
 bluetooth.core.le.min_connection_interval            u:object_r:bluetooth_config_prop:s0 exact uint
 bluetooth.core.le.max_connection_interval            u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.min_connection_interval_relaxed    u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.max_connection_interval_relaxed    u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.min_connection_interval_aggressive u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.max_connection_interval_aggressive u:object_r:bluetooth_config_prop:s0 exact uint
+bluetooth.core.le.aggressive_connection_threshold    u:object_r:bluetooth_config_prop:s0 exact uint
 bluetooth.core.le.connection_latency                 u:object_r:bluetooth_config_prop:s0 exact uint
 bluetooth.core.le.connection_supervision_timeout     u:object_r:bluetooth_config_prop:s0 exact uint
 bluetooth.core.le.direct_connection_timeout          u:object_r:bluetooth_config_prop:s0 exact uint
@@ -767,6 +787,7 @@
 ro.apk_verity.mode u:object_r:apk_verity_prop:s0 exact int
 
 ro.bluetooth.a2dp_offload.supported u:object_r:bluetooth_a2dp_offload_prop:s0 exact bool
+ro.bluetooth.leaudio_offload.supported u:object_r:bluetooth_a2dp_offload_prop:s0 exact bool
 
 ro.boot.vendor.overlay.theme u:object_r:exported_overlay_prop:s0 exact string
 
@@ -791,6 +812,7 @@
 ro.crypto.dm_default_key.options_format.version u:object_r:vold_config_prop:s0 exact int
 ro.crypto.fde_algorithm                         u:object_r:vold_config_prop:s0 exact string
 ro.crypto.fde_sector_size                       u:object_r:vold_config_prop:s0 exact int
+ro.crypto.hw_wrapped_keys.kdf                   u:object_r:vold_config_prop:s0 exact string
 ro.crypto.metadata_init_delete_all_keys.enabled u:object_r:vold_config_prop:s0 exact bool
 ro.crypto.scrypt_params                         u:object_r:vold_config_prop:s0 exact string
 ro.crypto.set_dun                               u:object_r:vold_config_prop:s0 exact bool
@@ -1595,8 +1617,11 @@
 # Broadcast boot stages, which keystore listens to
 keystore.boot_level u:object_r:keystore_listen_prop:s0 exact int
 
-# Property that tracks keystore crash counts during a boot cycle.
-keystore.crash_count u:object_r:keystore_crash_prop:s0 exact int
+# Tracks keystore crash counts during a boot cycle.
+keystore.crash_count u:object_r:keystore_diagnostics_prop:s0 exact int
+
+# Tracks whether Keystore has successfully sent the module info hash to (V4+) KeyMints.
+keystore.module_hash.sent u:object_r:keystore_diagnostics_prop:s0 exact bool
 
 # Configure the means by which we protect the L0 key from the future
 ro.keystore.boot_level_key.strategy u:object_r:keystore_config_prop:s0 exact string
@@ -1708,7 +1733,7 @@
 persist.vendor.fingerprint.virtual.sensor_id u:object_r:virtual_fingerprint_prop:s0 exact int
 persist.vendor.fingerprint.virtual.sensor_strength u:object_r:virtual_fingerprint_prop:s0 exact int
 persist.vendor.fingerprint.virtual.max_enrollments u:object_r:virtual_fingerprint_prop:s0 exact int
-persist.vendor.fingerprint.virtual.navigation_guesture u:object_r:virtual_fingerprint_prop:s0 exact bool
+persist.vendor.fingerprint.virtual.navigation_gesture u:object_r:virtual_fingerprint_prop:s0 exact bool
 persist.vendor.fingerprint.virtual.detect_interaction u:object_r:virtual_fingerprint_prop:s0 exact bool
 persist.vendor.fingerprint.virtual.udfps.display_touch u:object_r:virtual_fingerprint_prop:s0 exact bool
 persist.vendor.fingerprint.virtual.udfps.control_illumination u:object_r:virtual_fingerprint_prop:s0 exact bool
@@ -1755,6 +1780,13 @@
 # Properties for game manager service
 persist.graphics.game_default_frame_rate.enabled  u:object_r:game_manager_config_prop:s0 exact bool
 
+# Properties for the HintManagerService
+persist.hms.use_hal_headrooms u:object_r:hint_manager_config_prop:s0 exact bool
+persist.hms.check_headroom_tid u:object_r:hint_manager_config_prop:s0 exact bool
+persist.hms.check_headroom_affinity u:object_r:hint_manager_config_prop:s0 exact bool
+persist.hms.check_headroom_proc_stat_min_millis u:object_r:hint_manager_config_prop:s0 exact int
+persist.hms.cpu_headroom_tid_max_cnt u:object_r:hint_manager_config_prop:s0 exact int
+
 # Properties for ThreadNetworkService
 threadnetwork.country_code u:object_r:threadnetwork_config_prop:s0 exact string
 
@@ -1780,11 +1812,23 @@
 # Properties related to Trusty VMs
 trusty.security_vm.nonsecure_vm_ready u:object_r:trusty_security_vm_sys_prop:s0 exact bool
 trusty.security_vm.vm_cid u:object_r:trusty_security_vm_sys_prop:s0 exact int
+trusty.widevine_vm.nonsecure_vm_ready u:object_r:trusty_widevine_vm_sys_prop:s0 exact bool
+trusty.widevine_vm.vm_cid u:object_r:trusty_widevine_vm_sys_prop:s0 exact int
+trusty.widevine_vm.port u:object_r:trusty_widevine_vm_sys_prop:s0 exact int
 
 # Properties that allows vendors to enable Trusty security VM features
 trusty.security_vm.enabled u:object_r:trusty_security_vm_sys_vendor_prop:s0 exact bool
 trusty.security_vm.keymint.enabled u:object_r:trusty_security_vm_sys_vendor_prop:s0 exact bool
 
+# Properties that allows vendors to enable Trusty widevine VM features
+# Enable Widevine VM
+trusty.widevine_vm.enabled           u:object_r:drm_config_prop:s0 exact bool
+# Sets the path used by Widevine HALs to find correct library for the widevine
+# service provider location
+widevine.liboemcrypto.path          u:object_r:drm_config_prop:s0 exact string
+
 # Properties for mmd
 mmd. u:object_r:mmd_prop:s0
-mmd.enabled_aconfig u:object_r:mmd_prop:s0 exact bool
+mmd.zram.enabled u:object_r:mmd_shared_prop:s0 exact bool
+mmd.enabled_aconfig u:object_r:mmd_shared_status_prop:s0 exact bool
+mmd.status. u:object_r:mmd_status_prop:s0
diff --git a/private/runas_app.te b/private/runas_app.te
index 9142a19..88b4abb 100644
--- a/private/runas_app.te
+++ b/private/runas_app.te
@@ -17,9 +17,6 @@
 allow runas_app untrusted_app_all:process { ptrace sigkill signal sigstop };
 allow runas_app untrusted_app_all:unix_stream_socket connectto;
 
-# Allow executing system image simpleperf without a domain transition.
-allow runas_app simpleperf_exec:file rx_file_perms;
-
 # Suppress denial logspam when simpleperf is trying to find a matching process
 # by scanning /proc/<pid>/cmdline files. The /proc/<pid> directories are within
 # the same domain as their respective process, most of which this domain is not
@@ -28,8 +25,8 @@
 
 # Allow runas_app to call perf_event_open for profiling debuggable app
 # processes, but not the whole system.
-allow runas_app self:perf_event { open read write kernel };
-neverallow runas_app self:perf_event ~{ open read write kernel };
+allow runas_app self:perf_event { open read write };
+neverallow runas_app self:perf_event ~{ open read write };
 
 # Suppress bionic loader denial /data/local/tests directories.
 dontaudit runas_app shell_test_data_file:dir search;
diff --git a/private/seapp_contexts b/private/seapp_contexts
index 25ed1ba..1a4d944 100644
--- a/private/seapp_contexts
+++ b/private/seapp_contexts
@@ -221,6 +221,4 @@
 user=_app domain=untrusted_app_25 type=app_data_file levelFrom=user
 user=_app minTargetSdkVersion=28 fromRunAs=true domain=runas_app levelFrom=all
 user=_app fromRunAs=true domain=runas_app levelFrom=user
-user=_app isPrivApp=true name=com.android.virtualization.vmlauncher domain=vmlauncher_app type=privapp_data_file levelFrom=all
-user=_app isPrivApp=true name=com.google.android.virtualization.vmlauncher domain=vmlauncher_app type=privapp_data_file levelFrom=all
 user=_app isPrivApp=true name=com.android.virtualization.terminal domain=vmlauncher_app type=privapp_data_file levelFrom=all
diff --git a/private/service.te b/private/service.te
index 7e89300..96f208d 100644
--- a/private/service.te
+++ b/private/service.te
@@ -20,7 +20,7 @@
 type mmd_service,                    service_manager_type;
 type on_device_intelligence_service, app_api_service, system_server_service, service_manager_type, isolated_compute_allowed_service;
 type profcollectd_service,           service_manager_type;
-type protolog_configuration_service, app_api_service, system_api_service, system_server_service, service_manager_type;
+type protolog_configuration_service, app_api_service, system_api_service, system_server_service, service_manager_type, ephemeral_app_api_service;
 type resolver_service,               system_server_service, service_manager_type;
 type rkpd_registrar_service,         service_manager_type;
 type rkpd_refresh_service,           service_manager_type;
@@ -37,7 +37,9 @@
 until_board_api(202504, `
     type hal_mediaquality_service, protected_service, hal_service_type, service_manager_type;
 ')
-
+until_board_api(202504, `
+    type hal_hwcrypto_service, protected_service, hal_service_type, service_manager_type;
+')
 is_flag_enabled(RELEASE_SUPERVISION_SERVICE, `
     type supervision_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 ')
@@ -60,8 +62,21 @@
 ')
 
 type uce_service,                      service_manager_type;
+until_board_api(202504, `
+    type fwk_vold_service,                 service_manager_type;
+')
 type wearable_sensing_service,         app_api_service, system_server_service, service_manager_type;
 type wifi_mainline_supplicant_service, service_manager_type;
+type dynamic_instrumentation_service,  app_api_service, system_server_service, service_manager_type;
+type advanced_protection_service,      app_api_service, system_server_service, service_manager_type;
+
+is_flag_enabled(RELEASE_RANGING_STACK, `
+    type ranging_service, app_api_service, system_server_service, service_manager_type;
+')
+
+until_board_api(202504, `
+    type hal_vm_capabilities_service, protected_service, hal_service_type, service_manager_type;
+')
 
 ###
 ### Neverallow rules
diff --git a/private/service_contexts b/private/service_contexts
index 1478e93..67c84d5 100644
--- a/private/service_contexts
+++ b/private/service_contexts
@@ -32,6 +32,7 @@
 android.hardware.biometrics.fingerprint.IFingerprint/virtual         u:object_r:hal_fingerprint_service:s0
 android.hardware.biometrics.fingerprint.virtualhal.IVirtualHal/virtual u:object_r:hal_fingerprint_service:s0
 android.hardware.bluetooth.IBluetoothHci/default                     u:object_r:hal_bluetooth_service:s0
+android.hardware.bluetooth.offload.leaudio.IHciProxy/default         u:object_r:hal_bluetooth_service:s0
 android.hardware.bluetooth.finder.IBluetoothFinder/default           u:object_r:hal_bluetooth_service:s0
 is_flag_enabled(RELEASE_HARDWARE_BLUETOOTH_RANGING_SERVICE, `
     android.hardware.bluetooth.ranging.IBluetoothChannelSounding/default u:object_r:hal_bluetooth_service:s0
@@ -55,6 +56,7 @@
 android.hardware.gnss.IGnss/default                                  u:object_r:hal_gnss_service:s0
 android.hardware.graphics.allocator.IAllocator/default               u:object_r:hal_graphics_allocator_service:s0
 android.hardware.graphics.composer3.IComposer/default                u:object_r:hal_graphics_composer_service:s0
+android.hardware.tv.mediaquality.IPictureProfileChangedListener/default     u:object_r:hal_graphics_composer_service:s0
 android.hardware.health.storage.IStorage/default                     u:object_r:hal_health_storage_service:s0
 android.hardware.health.IHealth/default                              u:object_r:hal_health_service:s0
 android.hardware.identity.IIdentityCredentialStore/default           u:object_r:hal_identity_service:s0
@@ -108,6 +110,7 @@
 android.hardware.security.keymint.IRemotelyProvisionedComponent/avf     u:object_r:hal_remotelyprovisionedcomponent_avf_service:s0
 android.hardware.gatekeeper.IGatekeeper/default                      u:object_r:hal_gatekeeper_service:s0
 android.hardware.security.secureclock.ISecureClock/default             u:object_r:hal_secureclock_service:s0
+android.hardware.security.see.hwcrypto.IHwCryptoKey/default          u:object_r:hal_hwcrypto_service:s0
 android.hardware.security.sharedsecret.ISharedSecret/default             u:object_r:hal_sharedsecret_service:s0
 android.hardware.sensors.ISensors/default                            u:object_r:hal_sensors_service:s0
 android.hardware.soundtrigger3.ISoundTriggerHw/default               u:object_r:hal_audio_service:s0
@@ -138,9 +141,12 @@
 android.hardware.secure_element.ISecureElement/SIM3                  u:object_r:hal_secure_element_service:s0
 android.hardware.security.secretkeeper.ISecretkeeper/default         u:object_r:hal_secretkeeper_service:s0
 android.hardware.security.secretkeeper.ISecretkeeper/nonsecure       u:object_r:hal_secretkeeper_service:s0
+android.hardware.virtualization.capabilities.IVmCapabilitiesService/default u:object_r:hal_vm_capabilities_service:s0
+android.hardware.virtualization.capabilities.IVmCapabilitiesService/noop u:object_r:hal_vm_capabilities_service:s0
 android.system.keystore2.IKeystoreService/default                    u:object_r:keystore_service:s0
 android.system.net.netd.INetd/default                                u:object_r:system_net_netd_service:s0
 android.system.suspend.ISystemSuspend/default                        u:object_r:hal_system_suspend_service:s0
+android.system.vold.IVold/default                                    u:object_r:fwk_vold_service:s0
 
 accessibility                             u:object_r:accessibility_service:s0
 account                                   u:object_r:account_service:s0
@@ -148,9 +154,7 @@
 activity_task                             u:object_r:activity_task_service:s0
 adb                                       u:object_r:adb_service:s0
 adservices_manager                        u:object_r:adservices_manager_service:s0
-starting_at_board_api(202504, `
-    advanced_protection                       u:object_r:advanced_protection_service:s0
-')
+advanced_protection                       u:object_r:advanced_protection_service:s0
 aidl_lazy_test_1                          u:object_r:aidl_lazy_test_service:s0
 aidl_lazy_test_2                          u:object_r:aidl_lazy_test_service:s0
 aidl_lazy_test_quit                       u:object_r:aidl_lazy_test_service:s0
@@ -188,9 +192,7 @@
 app_binding                               u:object_r:app_binding_service:s0
 app_function                              u:object_r:app_function_service:s0
 app_hibernation                           u:object_r:app_hibernation_service:s0
-starting_at_board_api(202504, `
-    dynamic_instrumentation               u:object_r:dynamic_instrumentation_service:s0
-')
+dynamic_instrumentation                   u:object_r:dynamic_instrumentation_service:s0
 app_integrity                             u:object_r:app_integrity_service:s0
 app_prediction                            u:object_r:app_prediction_service:s0
 app_search                                u:object_r:app_search_service:s0
@@ -280,9 +282,6 @@
 file_integrity                            u:object_r:file_integrity_service:s0
 fingerprint                               u:object_r:fingerprint_service:s0
 font                                      u:object_r:font_service:s0
-starting_at_board_api(202504, `
-    forensic                                  u:object_r:forensic_service:s0
-')
 android.hardware.fingerprint.IFingerprintDaemon u:object_r:fingerprintd_service:s0
 game                                      u:object_r:game_service:s0
 gfxinfo                                   u:object_r:gfxinfo_service:s0
diff --git a/private/shell.te b/private/shell.te
index 890d6f4..492d8f5 100644
--- a/private/shell.te
+++ b/private/shell.te
@@ -67,6 +67,9 @@
 # ... and /data/misc/perfetto-traces/bugreport/ .
 allow shell perfetto_traces_bugreport_data_file:dir rw_dir_perms;
 allow shell perfetto_traces_bugreport_data_file:file { r_file_perms unlink };
+# ... and /data/misc/perfetto-traces/profiling/ .
+allow shell perfetto_traces_profiling_data_file:dir rw_dir_perms;
+allow shell perfetto_traces_profiling_data_file:file { r_file_perms unlink };
 
 # Allow shell to create/remove configs stored in /data/misc/perfetto-configs.
 allow shell perfetto_configs_data_file:dir rw_dir_perms;
@@ -142,7 +145,7 @@
 
 # Allow shell to call perf_event_open for profiling other shell processes, but
 # not the whole system.
-allow shell self:perf_event { open read write kernel };
+allow shell self:perf_event { open read write };
 
 # Allow shell to read microdroid vendor image
 r_dir_file(shell, vendor_microdroid_file)
@@ -444,6 +447,9 @@
 # Allow reads (but not writes) of the MGLRU state
 allow shell sysfs_lru_gen_enabled:file r_file_perms;
 
+# Allow reads (but not writes) of mem_sleep to determine suspend mechanism
+allow shell sysfs_mem_sleep:file r_file_perms;
+
 # Allow communicating with the VM terminal.
 userdebug_or_eng(`
   allow shell vmlauncher_app_devpts:chr_file rw_file_perms;
diff --git a/private/simpleperf.te b/private/simpleperf.te
index 9c70060..46769cb 100644
--- a/private/simpleperf.te
+++ b/private/simpleperf.te
@@ -14,14 +14,13 @@
   untrusted_app_all
 }')
 
-domain_auto_trans({ simpleperf_profileable_apps -runas_app }, simpleperf_exec, simpleperf)
+domain_auto_trans(simpleperf_profileable_apps, simpleperf_exec, simpleperf)
 
 # When running in this domain, simpleperf is scoped to profiling an individual
 # app. The necessary MAC permissions for profiling are more maintainable and
 # consistent if simpleperf is marked as an app domain as well (as, for example,
 # it will then see the same set of system libraries as the app).
 app_domain(simpleperf)
-untrusted_app_domain(simpleperf)
 
 # Allow ptrace attach to the target app, for reading JIT debug info (using
 # process_vm_readv) during unwinding and symbolization.
@@ -45,7 +44,23 @@
 # not allowed to see.
 dontaudit simpleperf domain:dir search;
 
+# Allow simpleperf to read apk files and libraries executed by the app.
+r_dir_file(simpleperf, privapp_data_file);
+r_dir_file(simpleperf, app_data_file);
+allow simpleperf { apk_tmp_file apk_private_tmp_file }:file { getattr read };
+allow simpleperf system_linker_exec:file r_file_perms;
+allow simpleperf app_exec_data_file:file r_file_perms;
+allow simpleperf asec_public_file:file r_file_perms;
+r_dir_file(simpleperf, vendor_app_file);
+
+# Allow simpleperf to read input files passed from adb shell.
+allow simpleperf shell_data_file:file r_file_perms;
+allow simpleperf shell_data_file:dir r_dir_perms;
+
 # Neverallows:
 
 # Profiling must be confined to the scope of an individual app.
 neverallow simpleperf self:perf_event ~{ open read write kernel };
+# Never allow other processes to ptrace simpleperf, as this could leak sensitive infomation from
+# raw samples.
+neverallow { domain -crash_dump -llkd } simpleperf:process ptrace;
diff --git a/private/simpleperf_app_runner.te b/private/simpleperf_app_runner.te
index 184a80a..e4871ac 100644
--- a/private/simpleperf_app_runner.te
+++ b/private/simpleperf_app_runner.te
@@ -4,6 +4,7 @@
 
 # run simpleperf_app_runner in adb shell.
 allow simpleperf_app_runner adbd:fd use;
+allow simpleperf_app_runner adbd:unix_stream_socket { read write };
 allow simpleperf_app_runner shell:fd use;
 allow simpleperf_app_runner devpts:chr_file { read write ioctl };
 
@@ -29,7 +30,7 @@
 
 # simpleperf_app_runner passes pipe fds.
 # simpleperf_app_runner writes app type (debuggable or profileable) to pipe fds.
-allow simpleperf_app_runner shell:fifo_file { read write };
+allow simpleperf_app_runner shell:fifo_file { getattr read write };
 
 # simpleperf_app_runner checks shell data paths.
 # simpleperf_app_runner passes shell data fds.
diff --git a/private/statsd.te b/private/statsd.te
index 3db5c60..acc3aa6 100644
--- a/private/statsd.te
+++ b/private/statsd.te
@@ -98,6 +98,10 @@
 allow statsd mediaserver_service:service_manager find;
 binder_call(statsd, mediaserver)
 
+# Allow statsd to interact with mmd
+allow statsd mmd_service:service_manager find;
+binder_call(statsd, mmd)
+
 # Allow logd access.
 read_logd(statsd)
 control_logd(statsd)
diff --git a/private/su.te b/private/su.te
index 1e2adef..247fd0b 100644
--- a/private/su.te
+++ b/private/su.te
@@ -127,6 +127,7 @@
   typeattribute su hal_tv_tuner_client;
   typeattribute su hal_usb_client;
   typeattribute su hal_vibrator_client;
+  typeattribute su hal_vm_capabilities_client;
   typeattribute su hal_vr_client;
   typeattribute su hal_weaver_client;
   typeattribute su hal_wifi_client;
diff --git a/private/system_app.te b/private/system_app.te
index 93be46f..06d49e9 100644
--- a/private/system_app.te
+++ b/private/system_app.te
@@ -60,6 +60,9 @@
 # Allow Settings to enable Dynamic System Update
 set_prop(system_app, dynamic_system_prop)
 
+# Allow Settings to access le audio mode property
+set_prop(system_app, bluetooth_lea_mode_prop)
+
 # ctl interface
 set_prop(system_app, ctl_default_prop)
 set_prop(system_app, ctl_bugreport_prop)
@@ -70,6 +73,9 @@
 # Allow developer settings to check 16k pages boot option status
 get_prop(system_app, enable_16k_pages_prop)
 
+# Allow developer settings to check virtualization capabilities
+get_prop(system_app, hypervisor_prop)
+
 # Create /data/anr/traces.txt.
 allow system_app anr_data_file:dir ra_dir_perms;
 allow system_app anr_data_file:file create_file_perms;
diff --git a/private/system_server.te b/private/system_server.te
index 01097f2..7bdcaef 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -243,6 +243,11 @@
 # Read /sys/kernel/dma_heap/*.
 allow system_server sysfs_dma_heap:file r_file_perms;
 
+# Read /sys/kernel/mm/cma/*.
+starting_at_board_api(202504, `
+allow system_server sysfs_cma:file r_file_perms;
+')
+
 # Allow reading DMA-BUF sysfs stats from /sys/kernel/dmabuf.
 allow system_server sysfs_dmabuf_stats:dir r_dir_perms;
 allow system_server sysfs_dmabuf_stats:file r_file_perms;
@@ -424,6 +429,9 @@
   hal_sensors_server
   hal_vibrator_server
   hal_vr_server
+  hal_wifi_hostapd_server
+  hal_wifi_server
+  hal_wifi_supplicant_server
   system_suspend_server
 }:process { signal };
 
@@ -692,6 +700,9 @@
 # Access to /data/media for measuring disk usage.
 allow system_server media_rw_data_file:dir { search getattr open read };
 
+# Access to check if the mainline supplicant binary exists
+allow system_server wifi_mainline_supplicant_exec:file getattr;
+
 # Receive and use open /data/media files passed over binder IPC.
 # Also used for measuring disk usage.
 allow system_server media_rw_data_file:file { getattr read write append };
@@ -841,6 +852,9 @@
 # Read device's serial number from system properties
 get_prop(system_server, serialno_prop)
 
+# Read whether uvc gadget is enabled
+get_prop(system_server, usb_uvc_enabled_prop)
+
 # Read/write the property which keeps track of whether this is the first start of system_server
 set_prop(system_server, firstboot_prop)
 
@@ -893,6 +907,7 @@
 
 # Read persist.wm.debug. properties
 get_prop(system_server, persist_wm_debug_prop)
+set_prop(system_server, persist_wm_debug_prop)
 
 # Read persist.sysui.notification.builder_extras_override property
 get_prop(system_server, persist_sysui_builder_extras_prop)
@@ -914,6 +929,9 @@
 # Allow system server to determine if system services are enabled
 get_prop(system_server, system_service_enable_prop)
 
+# Allow system server to read shared mmd properties
+get_prop(system_server, mmd_shared_prop)
+
 # Create a socket for connections from debuggerd.
 allow system_server system_ndebug_socket:sock_file create_file_perms;
 
@@ -1162,6 +1180,9 @@
 # Allow invoking tools like "timeout"
 allow system_server toolbox_exec:file rx_file_perms;
 
+# Allow invoking pbtombstone
+allow system_server pbtombstone_exec:file rx_file_perms;
+
 # Allow system process to setup fs-verity
 allowxperm system_server { apk_data_file apk_tmp_file system_data_file apex_system_server_data_file }:file ioctl FS_IOC_ENABLE_VERITY;
 
@@ -1354,6 +1375,7 @@
   file_type
   -toolbox_exec
   -logcat_exec
+  -pbtombstone_exec
   with_asan(`-shell_exec -asanwrapper_exec -zygote_exec')
 }:file execute_no_trans;
 
@@ -1651,6 +1673,16 @@
 # Allow GameManagerService to read and write persist.graphics.game_default_frame_rate.enabled
 set_prop(system_server, game_manager_config_prop)
 
+# Allow system server to write HintManagerService properties
+set_prop(system_server, hint_manager_config_prop)
+neverallow {
+  domain
+  -init
+  -vendor_init
+  -system_server
+  userdebug_or_eng(`-shell')
+} hint_manager_config_prop:property_service set;
+
 # ThreadNetworkService reads Thread Network properties
 get_prop(system_server, threadnetwork_config_prop)
 
diff --git a/private/system_suspend_internal_server.te b/private/system_suspend_internal_server.te
index 67bff77..8ff9da9 100644
--- a/private/system_suspend_internal_server.te
+++ b/private/system_suspend_internal_server.te
@@ -7,5 +7,6 @@
     -dumpstate # bug reports
     -system_suspend_internal_server # implements system_suspend_control_internal_service
     -system_server # configures system_suspend via ISuspendControlServiceInternal
+    -traced_probes # tracing
     -traceur_app # tracing
 } system_suspend_control_internal_service:service_manager find;
diff --git a/private/tee_service_contexts b/private/tee_service_contexts
index 89eceae..508cc8c 100644
--- a/private/tee_service_contexts
+++ b/private/tee_service_contexts
@@ -10,4 +10,4 @@
 
 # Example tee service that can be used for end-to-end integration of
 # custom smcs filtering on devices with pkvm hypervisor.
-test_pkvm_tee_service u:object_r:test_pkvm_tee_service:s0
+vendor.test_pkvm_tee_service u:object_r:test_pkvm_tee_service:s0
diff --git a/private/tee_services.te b/private/tee_services.te
index 320f8b7..7345277 100644
--- a/private/tee_services.te
+++ b/private/tee_services.te
@@ -2,5 +2,5 @@
 # Please keep the names in the alphabetical order and comment each new entry.
 
 # An example tee_service that can be used to test end-to-end integration of custom
-# smcs filtering feature on a device with pkvm hypervisor.
+# vendor-private smcs filtering feature on a device with pkvm hypervisor.
 type test_pkvm_tee_service, tee_service_type;
diff --git a/private/traced.te b/private/traced.te
index 8a29541..619a55b 100644
--- a/private/traced.te
+++ b/private/traced.te
@@ -56,6 +56,11 @@
 # Allow traced to detect if a process is frozen (b/381089063).
 allow traced cgroup_v2:file r_file_perms;
 
+# Allow traced/traced_relay to read the traced config properties.
+get_prop(traced, traced_config_prop)
+# Allow traced_relay to read the relay port being used
+get_prop(traced, traced_relay_relay_port_prop)
+
 # Allow setting debug properties which guard initialization of the Perfetto SDK
 # in SurfaceFlinger and HWUI's copy of Skia.
 # Required for the android.sdk_sysprop_guard data source.
diff --git a/private/traced_perf.te b/private/traced_perf.te
index c7e81cd..8bd7ad3 100644
--- a/private/traced_perf.te
+++ b/private/traced_perf.te
@@ -35,10 +35,13 @@
 r_dir_file(traced_perf, apex_art_data_file)
 allow traced_perf apex_module_data_file:dir { getattr search };
 
-# Allow to temporarily lift the kptr_restrict setting and build a symbolization
-# map reading /proc/kallsyms.
+# For kernel address symbolisation. Allow reading from /proc/kallsyms inherited
+# from init, as well as separately opening and locking the file for
+# coordinating the use of that shared fd.
+# On debuggable builds, allow using lower_kptr_restrict_prop to temporarily
+# lift kptr_restrict systemwide.
 userdebug_or_eng(`set_prop(traced_perf, lower_kptr_restrict_prop)')
-allow traced_perf proc_kallsyms:file r_file_perms;
+allow traced_perf proc_kallsyms:file { open read lock };
 
 # Allow reading tracefs files to get the format and numeric ids of tracepoints.
 allow traced_perf debugfs_tracing:dir r_dir_perms;
diff --git a/private/traced_probes.te b/private/traced_probes.te
index 6540420..6a42eb2 100644
--- a/private/traced_probes.te
+++ b/private/traced_probes.te
@@ -35,10 +35,13 @@
 # Allow procfs access
 r_dir_file(traced_probes, domain)
 
-# Allow to temporarily lift the kptr_restrict setting and build a symbolization
-# map reading /proc/kallsyms.
+# For kernel address symbolisation. Allow reading from /proc/kallsyms inherited
+# from init, as well as separately opening and locking the file for
+# coordinating the use of that shared fd.
+# On debuggable builds, allow using lower_kptr_restrict_prop to temporarily
+# lift kptr_restrict systemwide.
 userdebug_or_eng(`set_prop(traced_probes, lower_kptr_restrict_prop)')
-allow traced_probes proc_kallsyms:file r_file_perms;
+allow traced_probes proc_kallsyms:file { open read lock };
 
 # Allow to read packages.list file.
 allow traced_probes packages_list_file:file r_file_perms;
@@ -111,6 +114,10 @@
 binder_call(traced_probes, statsd)
 allow traced_probes stats_service:service_manager find;
 
+# Allow traced_probes to talk to suspend control service to read details of kernel wakelocks.
+allow traced_probes system_suspend_control_internal_service:service_manager find;
+allow traced_probes system_suspend:binder call;
+
 # Allow reading the system property representing number of desktop windows to
 # set the initial value for the counter in traces.
 get_prop(traced_probes, debug_tracing_desktop_mode_visible_tasks_prop)
diff --git a/private/tradeinmode.te b/private/tradeinmode.te
index dca1bc1..18cf452 100644
--- a/private/tradeinmode.te
+++ b/private/tradeinmode.te
@@ -6,6 +6,9 @@
 allow tradeinmode adbd_tradeinmode:fd use;
 allow tradeinmode adbd_tradeinmode:unix_stream_socket { read write ioctl };
 
+# Needed to enable trade-in mode for testing.
+set_prop(tradeinmode, adbd_tradeinmode_prop)
+
 # Allow running from normal shell.
 allow tradeinmode { adbd shell }:fd use;
 allow tradeinmode adbd:unix_stream_socket { read write ioctl };
@@ -22,6 +25,7 @@
 get_prop(tradeinmode, odsign_prop)
 get_prop(tradeinmode, build_attestation_prop)
 get_prop(tradeinmode, adbd_tradeinmode_prop)
+set_prop(tradeinmode, powerctl_prop)
 
 # Needed to start activities through "am".
 binder_call(tradeinmode, system_server)
diff --git a/private/ueventd.te b/private/ueventd.te
index 7effa6d..654f861 100644
--- a/private/ueventd.te
+++ b/private/ueventd.te
@@ -75,6 +75,9 @@
 # Allow ueventd to read apexd property
 get_prop(ueventd, apexd_prop)
 
+# Allow ueventd to correctly label the symlinks it creates
+allow ueventd block_device:lnk_file relabelfrom;
+
 #####
 ##### neverallow rules
 #####
diff --git a/private/uprobestats.te b/private/uprobestats.te
index c55f23d..6b8dd55 100644
--- a/private/uprobestats.te
+++ b/private/uprobestats.te
@@ -15,6 +15,10 @@
 allow uprobestats sysfs_uprobe:file { open read };
 allow uprobestats sysfs_uprobe:dir { search };
 
+allow uprobestats { apex_art_data_file apex_module_data_file }:dir r_dir_perms;
+allow uprobestats { apex_art_data_file apex_module_data_file }:file r_file_perms;
+allow uprobestats packages_list_file:file r_file_perms;
+
 # Allow uprobestats to popen oatdump.
 allow uprobestats system_file:file rx_file_perms;
 
@@ -24,9 +28,7 @@
 # For registration with system server as a process observer.
 binder_use(uprobestats)
 allow uprobestats activity_service:service_manager find;
-starting_at_board_api(202504, `
-    allow uprobestats dynamic_instrumentation_service:service_manager find;
-')
+allow uprobestats dynamic_instrumentation_service:service_manager find;
 binder_call(uprobestats, system_server);
 
 # Allow uprobestats to talk to native package manager
diff --git a/private/vendor_init.te b/private/vendor_init.te
index a50bc27..939bcc0 100644
--- a/private/vendor_init.te
+++ b/private/vendor_init.te
@@ -116,6 +116,7 @@
   -aconfig_storage_metadata_file
   -aconfig_storage_flags_metadata_file
   -tradeinmode_metadata_file
+  -proc_kallsyms
   enforce_debugfs_restriction(`-debugfs_type')
 }:file { create getattr open read write setattr relabelfrom unlink map };
 
@@ -195,6 +196,7 @@
   -proc_uid_time_in_state
   -proc_uid_concurrent_active_time
   -proc_uid_concurrent_policy_time
+  -proc_kallsyms
   enforce_debugfs_restriction(`-debugfs_type')
 }:file { open read setattr map };
 
@@ -314,6 +316,7 @@
 
 get_prop(vendor_init, boot_status_prop)
 get_prop(vendor_init, exported3_system_prop)
+get_prop(vendor_init, mmd_shared_status_prop)
 get_prop(vendor_init, ota_prop)
 get_prop(vendor_init, power_debug_prop)
 get_prop(vendor_init, provisioned_prop)
diff --git a/private/vendor_toolbox.te b/private/vendor_toolbox.te
index 178fa8f..5421dd5 100644
--- a/private/vendor_toolbox.te
+++ b/private/vendor_toolbox.te
@@ -7,5 +7,6 @@
         coredomain
         -init
         -modprobe
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_toolbox_exec:file { entrypoint execute execute_no_trans };
 ')
diff --git a/private/virtual_camera.te b/private/virtual_camera.te
index c4fa6a1..86174b1 100644
--- a/private/virtual_camera.te
+++ b/private/virtual_camera.te
@@ -1,7 +1,10 @@
 # virtual_camera - virtual camera daemon
 
-type virtual_camera, domain, coredomain;
-type virtual_camera_exec, system_file_type, exec_type, file_type;
+# The types are moved to public starting at 202502
+until_board_api(202504, `
+    type virtual_camera, domain, coredomain;
+    type virtual_camera_exec, system_file_type, exec_type, file_type;
+')
 
 init_daemon_domain(virtual_camera)
 
@@ -41,6 +44,10 @@
 allow virtual_camera gpu_device:dir r_dir_perms;
 r_dir_file(virtual_camera, sysfs_gpu)
 
+# ION And DMABUF are used by vendor to allocate graphic buffers needed by virtual_camera
+allow cameraserver ion_device:chr_file rw_file_perms;
+allow cameraserver dmabuf_system_heap_device:chr_file r_file_perms;
+
 # Allow virtual camera to use graphics composer fd-s (fences).
 allow virtual_camera hal_graphics_composer:fd use;
 
@@ -55,3 +62,6 @@
 allow virtual_camera adbd:fd use;
 allow virtual_camera adbd:unix_stream_socket { getattr read write };
 allow virtual_camera shell:fifo_file { getattr read write };
+
+# Allow virtual_camera to access dmabuf_system_heap_device
+allow virtual_camera dmabuf_system_heap_device:chr_file { read open };
diff --git a/private/virtualizationmanager.te b/private/virtualizationmanager.te
index ca72279..6e973d6 100644
--- a/private/virtualizationmanager.te
+++ b/private/virtualizationmanager.te
@@ -1,7 +1,7 @@
-# Domain for a child process that manages virtual machines on behalf of its parent.
-
-type virtualizationmanager, domain, coredomain;
-type virtualizationmanager_exec, system_file_type, exec_type, file_type;
+until_board_api(202504, `
+    type virtualizationmanager, domain, coredomain;
+    type virtualizationmanager_exec, system_file_type, exec_type, file_type;
+')
 
 # Allow virtualizationmanager to communicate use, read and write over the adb connection.
 allow virtualizationmanager adbd:fd use;
@@ -114,9 +114,20 @@
 # Allow virtualizationmanager to read microdroid related files in vendor partition
 r_dir_file(virtualizationmanager, vendor_microdroid_file)
 
+# Allow virtualizationmanager to read /data/nativetest for VTS
+r_dir_file(virtualizationmanager, nativetest_data_file)
+
 # Do not allow writing vendor_microdroid_file from any process.
-neverallow { domain recovery_only(`userdebug_or_eng(`-fastbootd')') } vendor_microdroid_file:dir no_w_dir_perms;
-neverallow { domain recovery_only(`userdebug_or_eng(`-fastbootd')') } vendor_microdroid_file:file no_w_file_perms;
+neverallow {
+  domain
+  recovery_only(`userdebug_or_eng(`-fastbootd')')
+  userdebug_or_eng(`-overlay_remounter')
+} vendor_microdroid_file:dir no_w_dir_perms;
+neverallow {
+  domain
+  recovery_only(`userdebug_or_eng(`-fastbootd')')
+  userdebug_or_eng(`-overlay_remounter')
+} vendor_microdroid_file:file no_w_file_perms;
 
 # Allow reading files under /proc/[crosvm pid]/, for collecting CPU & memory usage inside VM.
 r_dir_file(virtualizationmanager, crosvm);
diff --git a/private/vold.te b/private/vold.te
index c242040..e1753f1 100644
--- a/private/vold.te
+++ b/private/vold.te
@@ -291,9 +291,10 @@
 # Allow vold to use wake locks.  Needed for idle maintenance and moving storage.
 wakelock_use(vold)
 
-# Allow vold to publish a binder service and make binder calls.
+# Allow vold to make binder calls and publish binder services.
 binder_use(vold)
 add_service(vold, vold_service)
+add_service(vold, fwk_vold_service)
 
 # Allow vold to call into the system server so it can check permissions.
 binder_call(vold, system_server)
@@ -471,6 +472,7 @@
   -keystore
   -servicemanager
   -system_server
+  -tee
   userdebug_or_eng(`-su')
 }:binder call;
 
diff --git a/private/wifi_mainline_supplicant.te b/private/wifi_mainline_supplicant.te
index d6c7998..c18cef6 100644
--- a/private/wifi_mainline_supplicant.te
+++ b/private/wifi_mainline_supplicant.te
@@ -5,7 +5,7 @@
 init_daemon_domain(wifi_mainline_supplicant)
 add_service(wifi_mainline_supplicant, wifi_mainline_supplicant_service)
 
-allow wifi_mainline_supplicant self:global_capability_class_set { setuid setgid net_admin net_raw };
+allow wifi_mainline_supplicant self:global_capability_class_set { net_admin net_raw };
 allow wifi_mainline_supplicant proc_net:file rw_file_perms;
 allow wifi_mainline_supplicant sysfs_net:dir search;
 
diff --git a/private/zygote.te b/private/zygote.te
index 4815ecc..62312cc 100644
--- a/private/zygote.te
+++ b/private/zygote.te
@@ -80,6 +80,11 @@
     properties_device
 }:dir { mounton search };
 
+# Legacy app compat
+userdebug_or_eng(`
+    allow zygote system_file:dir { mounton };
+')
+
 # Traverse /data_mirror to get to the above directories while their normal paths
 # are hidden, in order to bind-mount allowlisted per-app directories.
 allow zygote mirror_data_file:dir search;
diff --git a/public/attributes b/public/attributes
index 6e11b86..ae7720e 100644
--- a/public/attributes
+++ b/public/attributes
@@ -250,6 +250,16 @@
 attribute socket_between_core_and_vendor_violators;
 expandattribute socket_between_core_and_vendor_violators false;
 
+starting_at_board_api(202504, `
+# All vsock communication is required to go through AVF so that we can
+# have a consistent permission model for which is allowed to talk to
+# which. This breaks Treble as well as updatability of VMs and
+# other components.
+# TODO(b/347661724): Remove this once there are no violations.
+attribute unconstrained_vsock_violators;
+expandattribute unconstrained_vsock_violators false;
+')
+
 # All vendor domains which violate the requirement of not executing
 # system processes
 # TODO(b/36463595)
@@ -356,6 +366,9 @@
 hal_attribute(graphics_composer);
 hal_attribute(health);
 hal_attribute(health_storage);
+starting_at_board_api(202504, `
+    hal_attribute(hwcrypto);
+')
 hal_attribute(identity);
 hal_attribute(input_classifier);
 hal_attribute(input_processor);
@@ -457,3 +470,8 @@
 starting_at_board_api(202504, `
     attribute tee_service_type;
 ')
+
+# HAL service used for custom smc filtering project
+starting_at_board_api(202504, `
+    hal_attribute(vm_capabilities);
+')
diff --git a/public/crosvm.te b/public/crosvm.te
new file mode 100644
index 0000000..174a8b2
--- /dev/null
+++ b/public/crosvm.te
@@ -0,0 +1,7 @@
+starting_at_board_api(202504, `
+    type crosvm, domain, coredomain;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/public/early_virtmgr.te b/public/early_virtmgr.te
new file mode 100644
index 0000000..6caac18
--- /dev/null
+++ b/public/early_virtmgr.te
@@ -0,0 +1,12 @@
+is_flag_enabled(RELEASE_AVF_ENABLE_EARLY_VM, `
+    # Domain for a child process that manages early VMs available before /data mount, on behalf of
+    # its parent.
+    starting_at_board_api(202504, `
+        type early_virtmgr, domain, coredomain;
+        type early_virtmgr_exec, system_file_type, exec_type, file_type;
+    ')
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/public/file.te b/public/file.te
index 94483a3..7a8e3af 100644
--- a/public/file.te
+++ b/public/file.te
@@ -103,6 +103,11 @@
 type sysfs_uio, sysfs_type, fs_type;
 type sysfs_batteryinfo, fs_type, sysfs_type;
 type sysfs_bluetooth_writable, fs_type, sysfs_type, mlstrustedobject;
+
+starting_at_board_api(202504, `
+    type sysfs_cma, fs_type, sysfs_type;
+')
+
 type sysfs_devfreq_cur, fs_type, sysfs_type;
 type sysfs_devfreq_dir, fs_type, sysfs_type;
 type sysfs_devices_block, fs_type, sysfs_type;
@@ -124,6 +129,11 @@
 type sysfs_net, fs_type, sysfs_type;
 type sysfs_power, fs_type, sysfs_type;
 type sysfs_rtc, fs_type, sysfs_type;
+
+starting_at_board_api(202504, `
+    type sysfs_mem_sleep, fs_type, sysfs_type;
+')
+
 type sysfs_suspend_stats, fs_type, sysfs_type;
 type sysfs_switch, fs_type, sysfs_type;
 type sysfs_sync_on_suspend, fs_type, sysfs_type;
diff --git a/public/property.te b/public/property.te
index cb18741..c6c56a9 100644
--- a/public/property.te
+++ b/public/property.te
@@ -153,6 +153,9 @@
 system_vendor_config_prop(composd_vm_vendor_prop)
 system_vendor_config_prop(cpu_variant_prop)
 system_vendor_config_prop(debugfs_restriction_prop)
+starting_at_board_api(202504, `
+    system_vendor_config_prop(drm_config_prop)
+')
 system_vendor_config_prop(drm_service_config_prop)
 system_vendor_config_prop(exported_camera_prop)
 system_vendor_config_prop(exported_config_prop)
diff --git a/public/service.te b/public/service.te
index 854ceef..2d7cedf 100644
--- a/public/service.te
+++ b/public/service.te
@@ -18,6 +18,9 @@
 type evsmanagerd_service,       service_manager_type;
 type fingerprintd_service,      service_manager_type;
 type fwk_automotive_display_service, service_manager_type;
+starting_at_board_api(202504, `
+    type fwk_vold_service,      service_manager_type;
+')
 type gatekeeper_service,        app_api_service, service_manager_type;
 type gpu_service,               app_api_service, ephemeral_app_api_service, service_manager_type;
 type idmap_service,             service_manager_type;
@@ -66,18 +69,12 @@
 type activity_task_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 type adb_service, system_api_service, system_server_service, service_manager_type;
 type adservices_manager_service, system_api_service, system_server_service, service_manager_type;
-starting_at_board_api(202504, `
-    type advanced_protection_service, app_api_service, system_server_service, service_manager_type;
-')
 type alarm_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 type app_binding_service, system_server_service, service_manager_type;
 starting_at_board_api(202504, `
     type app_function_service, app_api_service, system_server_service, service_manager_type;
 ')
 type app_hibernation_service, app_api_service, system_api_service, system_server_service, service_manager_type;
-starting_at_board_api(202504, `
-    type dynamic_instrumentation_service, app_api_service, system_server_service, service_manager_type;
-')
 type app_integrity_service, system_api_service, system_server_service, service_manager_type;
 type app_prediction_service, app_api_service, system_server_service, service_manager_type;
 type app_search_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
@@ -147,9 +144,6 @@
 type platform_compat_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 type face_service, app_api_service, system_server_service, service_manager_type;
 type fingerprint_service, app_api_service, system_server_service, service_manager_type;
-starting_at_board_api(202504, `
-    type forensic_service, app_api_service, system_api_service, system_server_service, service_manager_type;
-')
 type fwk_altitude_service, system_server_service, service_manager_type;
 type fwk_stats_service, app_api_service, system_server_service, service_manager_type;
 type fwk_sensor_service, system_server_service, service_manager_type;
@@ -220,9 +214,6 @@
 type print_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 type processinfo_service, system_server_service, service_manager_type;
 type procstats_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
-is_flag_enabled(RELEASE_RANGING_STACK, `
-    type ranging_service, app_api_service, system_server_service, service_manager_type;
-')
 type reboot_readiness_service, app_api_service, system_server_service, service_manager_type;
 type recovery_service, system_server_service, service_manager_type;
 type registry_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
@@ -335,6 +326,9 @@
 type hal_graphics_mapper_service, hal_service_type, service_manager_type;
 type hal_health_service, protected_service, hal_service_type, service_manager_type;
 type hal_health_storage_service, protected_service, hal_service_type, service_manager_type;
+starting_at_board_api(202504, `
+    type hal_hwcrypto_service, protected_service, hal_service_type, service_manager_type;
+')
 type hal_identity_service, protected_service, hal_service_type, service_manager_type;
 type hal_input_processor_service, protected_service, hal_service_type, service_manager_type;
 type hal_ir_service, protected_service, hal_service_type, service_manager_type;
@@ -381,6 +375,9 @@
 type hal_wifi_hostapd_service, protected_service, hal_service_type, service_manager_type;
 type hal_wifi_supplicant_service, protected_service, hal_service_type, service_manager_type;
 type hal_gatekeeper_service, protected_service, hal_service_type, service_manager_type;
+starting_at_board_api(202504, `
+    type hal_vm_capabilities_service, protected_service, hal_service_type, service_manager_type;
+')
 
 # system/sepolicy/public is for vendor-facing type and attribute definitions.
 # DO NOT ADD allow, neverallow, or dontaudit statements here.
diff --git a/public/te_macros b/public/te_macros
index e446f56..2ba15b3 100644
--- a/public/te_macros
+++ b/public/te_macros
@@ -201,6 +201,10 @@
 get_prop($1, hypervisor_prop)
 # Allow client to read (but not open) the crashdump provided by virtualizationmanager
 allow $1 virtualizationservice_data_file:file { getattr read };
+# Allow virtualizationmanager to read the path of the client using /proc/{PID}/exe
+allow virtualizationmanager $1:dir search;
+allow virtualizationmanager $1:file read;
+allow virtualizationmanager $1:lnk_file read;
 ')
 
 ####################################
diff --git a/public/virtual_camera.te b/public/virtual_camera.te
new file mode 100644
index 0000000..1c9e9d6
--- /dev/null
+++ b/public/virtual_camera.te
@@ -0,0 +1,10 @@
+# virtual_camera - virtual camera daemon
+
+starting_at_board_api(202504, `
+    type virtual_camera, domain, coredomain;
+    type virtual_camera_exec, system_file_type, exec_type, file_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/public/virtualizationmanager.te b/public/virtualizationmanager.te
new file mode 100644
index 0000000..555bc23
--- /dev/null
+++ b/public/virtualizationmanager.te
@@ -0,0 +1,9 @@
+# Domain for a child process that manages virtual machines on behalf of its parent.
+starting_at_board_api(202504, `
+    type virtualizationmanager, domain, coredomain;
+    type virtualizationmanager_exec, system_file_type, exec_type, file_type;
+')
+
+# system/sepolicy/public is for vendor-facing type and attribute definitions.
+# DO NOT ADD allow, neverallow, or dontaudit statements here.
+# Instead, add such policy rules to system/sepolicy/private/*.te.
diff --git a/tests/Android.bp b/tests/Android.bp
index 81e7927..3f36f41 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -46,11 +46,6 @@
     srcs: [
         "treble_sepolicy_tests.py",
     ],
-    version: {
-        py3: {
-            embedded_launcher: true,
-        },
-    },
     libs: [
         "mini_cil_parser",
     ],
@@ -61,11 +56,6 @@
     srcs: [
         "sepolicy_tests.py",
     ],
-    version: {
-        py3: {
-            embedded_launcher: true,
-        },
-    },
     libs: ["pysepolwrap"],
     data: [":libsepolwrap"],
 }
@@ -75,11 +65,6 @@
     srcs: [
         "apex_sepolicy_tests.py",
     ],
-    version: {
-        py3: {
-            embedded_launcher: true,
-        },
-    },
     libs: ["pysepolwrap"],
     data: [
         ":libsepolwrap",
@@ -105,11 +90,6 @@
     test_options: {
         unit_test: true,
     },
-    version: {
-        py3: {
-            embedded_launcher: true,
-        },
-    },
 }
 
 python_binary_host {
@@ -157,11 +137,6 @@
     srcs: [
         "sepolicy_freeze_test.py",
     ],
-    version: {
-        py3: {
-            embedded_launcher: true,
-        },
-    },
     libs: [
         "mini_cil_parser",
     ],
@@ -177,16 +152,14 @@
     test_options: {
         unit_test: true,
     },
-    version: {
-        py3: {
-            embedded_launcher: true,
-        },
-    },
 }
 
 // prebuilt files to be included to CTS
 filegroup {
     name: "prebuilt_sepolicy_cts_data",
-    srcs: [":202404_sepolicy_cts_data"],
+    srcs: [
+        ":202404_sepolicy_cts_data",
+        ":202504_sepolicy_cts_data",
+    ],
     visibility: ["//cts/hostsidetests/security"],
 }
diff --git a/tests/apex_sepolicy_tests.py b/tests/apex_sepolicy_tests.py
index 26082cb..d8c5c2b 100644
--- a/tests/apex_sepolicy_tests.py
+++ b/tests/apex_sepolicy_tests.py
@@ -29,7 +29,7 @@
 import sys
 import tempfile
 from dataclasses import dataclass
-from typing import List
+from typing import Callable, List
 
 import policy
 
@@ -61,7 +61,12 @@
     pass
 
 
-Matcher = Is | Glob | Regex | BinaryFile
+@dataclass
+class MatchPred:
+    pred: Callable[[str], bool]
+
+
+Matcher = Is | Glob | Regex | BinaryFile | MatchPred
 
 
 # predicate functions for Func matcher
@@ -87,7 +92,13 @@
     labels: set[str]
 
 
-Rule = AllowPerm | ResolveType | NotAnyOf
+@dataclass
+class HasAttr:
+    """Rule checking if the context has the specified attribute"""
+    attr: str
+
+
+Rule = AllowPerm | ResolveType | NotAnyOf | HasAttr
 
 
 # Helper for 'read'
@@ -104,8 +115,10 @@
             return pathlib.PurePath(path).match(pattern)
         case Regex(pattern):
             return re.match(pattern, path)
-        case BinaryFile:
+        case BinaryFile():
             return path.startswith('./bin/') and not path.endswith('/')
+        case MatchPred(pred):
+            return pred(path)
 
 
 def check_rule(pol, path: str, tcontext: str, rule: Rule) -> List[str]:
@@ -129,6 +142,9 @@
         case NotAnyOf(labels):
             if tcontext in labels:
                 errors.append(f"Error: {path}: can't be labelled as '{tcontext}'")
+        case HasAttr(attr):
+            if tcontext not in pol.QueryTypeAttribute(attr, True):
+                errors.append(f"Error: {path}: tcontext({tcontext}) must be associated with {attr}")
     return errors
 
 
@@ -139,7 +155,7 @@
 
 generic_rules = [
     # binaries should be executable
-    (BinaryFile, NotAnyOf({'vendor_file'})),
+    (BinaryFile(), NotAnyOf({'vendor_file'})),
     # permissions
     (Is('./etc/permissions/'), AllowRead('dir', {'system_server'})),
     (Glob('./etc/permissions/*.xml'), AllowRead('file', {'system_server'})),
@@ -159,6 +175,25 @@
 all_rules = target_specific_rules + generic_rules
 
 
+def base_attr_for(partition):
+    if partition in ['system', 'system_ext', 'product']:
+        return 'system_file_type'
+    elif partition in ['vendor', 'odm']:
+        return 'vendor_file_type'
+    else:
+        sys.exit(f"Error: invalid partition: {partition}\n")
+
+
+def system_vendor_rule(partition):
+    exceptions = [
+        "./etc/linkerconfig.pb"
+    ]
+    def pred(path):
+        return path not in exceptions
+
+    return pred, HasAttr(base_attr_for(partition))
+
+
 def check_line(pol: policy.Policy, line: str, rules) -> List[str]:
     """Parses a file_contexts line and runs checks"""
     # skip empty/comment line
@@ -197,7 +232,8 @@
     """Do testing"""
     parser = argparse.ArgumentParser()
     parser.add_argument('--all', action='store_true', help='tests ALL aspects')
-    parser.add_argument('-f', '--file_contexts', help='output of "deapexer list -Z"')
+    parser.add_argument('-f', '--file_contexts', required=True, help='output of "deapexer list -Z"')
+    parser.add_argument('-p', '--partition', help='partition to check Treble violations')
     args = parser.parse_args()
 
     lib_path = extract_data(LIBSEPOLWRAP, work_dir)
@@ -209,6 +245,9 @@
     else:
         rules = generic_rules
 
+    if args.partition:
+        rules.append(system_vendor_rule(args.partition))
+
     errors = []
     with open(args.file_contexts, 'rt', encoding='utf-8') as file_contexts:
         for line in file_contexts:
diff --git a/tests/apex_sepolicy_tests_test.py b/tests/apex_sepolicy_tests_test.py
index 727a023..2a92aee 100644
--- a/tests/apex_sepolicy_tests_test.py
+++ b/tests/apex_sepolicy_tests_test.py
@@ -106,7 +106,7 @@
         self.assert_ok('./bin/init u:object_r:init_exec:s0')
         self.assert_ok('./bin/hw/svc u:object_r:init_exec:s0')
         self.assert_error('./bin/hw/svc u:object_r:vendor_file:s0',
-                          r"Error: .*svc: can\'t be labelled as \'vendor_file\'")
+                          r'Error: .*svc: can\'t be labelled as \'vendor_file\'')
 
 if __name__ == '__main__':
     unittest.main(verbosity=2)
diff --git a/tests/policy.py b/tests/policy.py
index 98133b7..cf93ed7 100644
--- a/tests/policy.py
+++ b/tests/policy.py
@@ -589,7 +589,7 @@
                 vendor = any(MatchPathPrefix(path, prefix) for prefix in
                              ["/vendor", "/odm"])
                 system = any(MatchPathPrefix(path, prefix) for prefix in
-                             ["/init", "/system_ext", "/product" ])
+                             ["/init", "/system_ext", "/product", "/second_stage_resources" ])
 
                 # only mark entrypoint as system if it is not in legacy /system/vendor
                 if MatchPathPrefix(path, "/system/vendor"):
diff --git a/tools/finalize-vintf-resources.sh b/tools/finalize-vintf-resources.sh
index 3f3def6..11de637 100755
--- a/tools/finalize-vintf-resources.sh
+++ b/tools/finalize-vintf-resources.sh
@@ -130,7 +130,7 @@
 # Build general_sepolicy.conf, plat_sepolicy.cil, and mapping file for CTS
 DIST_DIR=out/dist $top/build/soong/soong_ui.bash --make-mode dist sepolicy_finalize bpmodify
 
-cp "$top/out/dist/plat_sepolicy.cil" "$prebuilt_dir/${ver}_plat_sepolicy.cil"
+cp "$top/out/dist/base_plat_sepolicy.cil" "$prebuilt_dir/${ver}_plat_sepolicy.cil"
 cp "$top/out/dist/general_sepolicy.conf" "$prebuilt_dir/${ver}_general_sepolicy.conf"
 cp "$top/out/dist/$ver.cil" "$prebuilt_dir/${ver}_mapping.cil"
 
@@ -149,3 +149,5 @@
 bpmodify="$top/out/host/linux-x86/bin/bpmodify"
 $bpmodify -a ":${ver}_sepolicy_cts_data" -m prebuilt_sepolicy_cts_data -property srcs -w \
     $top/system/sepolicy/tests/Android.bp
+sed -i "s/FREEZE_TEST_BOARD_API_LEVEL = \".\{6\}\"/FREEZE_TEST_BOARD_API_LEVEL = \"${ver}\"/" \
+    $top/system/sepolicy/Android.bp
diff --git a/tools/sepolicy_generate_compat.py b/tools/sepolicy_generate_compat.py
index a941d6f..1287670 100644
--- a/tools/sepolicy_generate_compat.py
+++ b/tools/sepolicy_generate_compat.py
@@ -20,6 +20,7 @@
 import logging
 import mini_parser
 import os
+import pkgutil
 import policy
 import shutil
 import subprocess
@@ -91,30 +92,34 @@
     check_run(cmd)
 
 
-def extract_mapping_file_from_img(img_path, ver, destination='.'):
-    """ Extracts system/etc/selinux/mapping/{ver}.cil from system.img file.
+def extract_mapping_file_from_img_zip(zip_path, ver, destination='.'):
+    """ Extracts system/etc/selinux/mapping/{ver}.cil from img.zip file.
 
     Args:
-      img_path: string, path to system.img file
+      zip_path: string, path to img.zip file
       ver: string, version of designated mapping file
       destination: string, destination to pull the mapping file to
 
     Returns:
       string, path to extracted mapping file
     """
+    with zipfile.ZipFile(zip_path) as zip_file:
+        logging.debug(f'Extracting system.img to {temp_dir}')
+        zip_file.extract('system.img', temp_dir)
 
+    system_img_path = os.path.join(temp_dir, 'system.img')
+    mapping_file_path = os.path.join(destination, f'{ver}.cil')
     cmd = [
         'debugfs', '-R',
-        'cat system/etc/selinux/mapping/10000.0.cil', img_path
+        f'dump system/etc/selinux/mapping/{ver}.cil {mapping_file_path}',
+        system_img_path
     ]
-    path = os.path.join(destination, '%s.cil' % ver)
-    with open(path, 'wb') as f:
-        logging.debug('Extracting %s.cil to %s' % (ver, destination))
-        f.write(check_output(cmd).stdout.replace(b'10000_0', ver.replace('.', '_').encode()))
-    return path
+    logging.debug(f'Extracting {ver}.cil to {destination}')
+    check_run(cmd)
+    return mapping_file_path
 
 
-def download_mapping_file(branch, build, ver, destination='.'):
+def download_img_zip(branch, build, destination='.'):
     """ Downloads system/etc/selinux/mapping/{ver}.cil from Android Build server.
 
     Args:
@@ -124,7 +129,7 @@
       destination: string, destination to pull build artifact to
 
     Returns:
-      string, path to extracted mapping file
+      string, path to img.zip file
     """
     logging.info('Downloading %s mapping file from branch %s build %s...' %
                  (ver, branch, build))
@@ -132,13 +137,7 @@
     fetch_artifact(branch, build, artifact_pattern, temp_dir)
 
     # glob must succeed
-    zip_path = glob.glob(os.path.join(temp_dir, artifact_pattern))[0]
-    with zipfile.ZipFile(zip_path) as zip_file:
-        logging.debug('Extracting system.img to %s' % temp_dir)
-        zip_file.extract('system.img', temp_dir)
-
-    system_img_path = os.path.join(temp_dir, 'system.img')
-    return extract_mapping_file_from_img(system_img_path, ver, destination)
+    return glob.glob(os.path.join(temp_dir, artifact_pattern))[0]
 
 
 def build_base_files(target_version):
@@ -167,7 +166,7 @@
     dist_dir = os.path.join(build_top, 'out', 'dist')
     base_policy_path = os.path.join(dist_dir, 'base_plat_sepolicy')
     old_policy_path = os.path.join(dist_dir,
-                                   '%s_plat_sepolicy' % target_version)
+                                   '%s_plat_policy' % target_version)
     pub_policy_cil_path = os.path.join(dist_dir, 'base_plat_pub_policy.cil')
 
     return base_policy_path, old_policy_path, pub_policy_cil_path
@@ -176,8 +175,8 @@
 def change_api_level(versioned_type, api_from, api_to):
     """ Verifies the API version of versioned_type, and changes it to new API level.
 
-    For example, change_api_level("foo_32_0", "32.0", "31.0") will return
-    "foo_31_0".
+    For example, change_api_level("foo_202404", "202404", "202504") will return
+    "foo_202504".
 
     Args:
       versioned_type: string, type with version suffix
@@ -187,12 +186,10 @@
     Returns:
       string, a new versioned type
     """
-    old_suffix = api_from.replace('.', '_')
-    new_suffix = api_to.replace('.', '_')
-    if not versioned_type.endswith(old_suffix):
+    if not versioned_type.endswith(api_from):
         raise ValueError('Version of type %s is different from %s' %
                          (versioned_type, api_from))
-    return versioned_type.removesuffix(old_suffix) + new_suffix
+    return versioned_type.removesuffix(api_from) + api_to
 
 
 def create_target_compat_modules(bp_path, target_ver):
@@ -323,17 +320,21 @@
     parser = argparse.ArgumentParser()
     parser.add_argument(
         '--branch',
-        required=True,
         help='Branch to pull build from. e.g. "sc-v2-dev"')
-    parser.add_argument('--build', required=True, help='Build ID, or "latest"')
+    parser.add_argument('--build',
+        default='latest',
+        help='Build ID, or "latest"')
     parser.add_argument(
         '--target-version',
         required=True,
-        help='Target version of designated mapping file. e.g. "32.0"')
+        help='Target version of designated mapping file. e.g. "202504"')
     parser.add_argument(
         '--latest-version',
         required=True,
-        help='Latest version for mapping of newer types. e.g. "31.0"')
+        help='Latest version for mapping of newer types. e.g. "202404"')
+    parser.add_argument(
+        '--img-zip',
+        help='Pre-downloaded img.zip. e.g. "aosp_arm64-img-xxxxxxxx.zip"')
     parser.add_argument(
         '-v',
         '--verbose',
@@ -355,12 +356,13 @@
     temp_dir = tempfile.mkdtemp()
 
     try:
-        libpath = os.path.join(
-            os.path.dirname(os.path.realpath(__file__)), 'libsepolwrap' + SHARED_LIB_EXTENSION)
-        if not os.path.exists(libpath):
-            sys.exit(
-                'Error: libsepolwrap does not exist. Is this binary corrupted?\n'
-            )
+        libname = "libsepolwrap" + SHARED_LIB_EXTENSION
+        libpath = os.path.join(temp_dir, libname)
+        with open(libpath, "wb") as f:
+            blob = pkgutil.get_data("sepolicy_generate_compat", libname)
+            if not blob:
+                sys.exit("Error: libsepolwrap does not exist. Is this binary corrupted?\n")
+            f.write(blob)
 
         build_top = get_android_build_top()
         sepolicy_path = os.path.join(build_top, 'system', 'sepolicy')
@@ -386,8 +388,16 @@
         Path(target_ignore_file).touch()
 
         # Step 1. Download system/etc/selinux/mapping/{ver}.cil, and remove types/typeattributes
-        mapping_file = download_mapping_file(
-            args.branch, args.build, args.target_version, destination=temp_dir)
+        if args.img_zip and args.branch:
+            sys.exit('Error: only one of --img-zip and --branch can be set')
+        elif args.img_zip:
+            img_zip = args.img_zip
+        elif args.branch:
+            img_zip = download_img_zip(args.branch, args.build, destination=temp_dir)
+        else:
+            sys.exit('Error: either one of --img-zip and --branch must be set')
+        mapping_file = extract_mapping_file_from_img_zip(img_zip, args.target_version,
+                                                         destination=temp_dir)
         mapping_file_cil = mini_parser.MiniCilParser(mapping_file)
         mapping_file_cil.types = set()
         mapping_file_cil.typeattributes = set()
@@ -507,6 +517,9 @@
             logging.info('writing %s' % target_ignore_file)
             f.write(ignore_cil_template %
                     (args.target_version, '\n    '.join(sorted(target_ignored_types))))
+
+        # TODO(b/391513934): add treble tests
+        # TODO(b/391513934): add mapping files to phony modules like selinux_policy_system
     finally:
         logging.info('Deleting temporary dir: {}'.format(temp_dir))
         shutil.rmtree(temp_dir)
diff --git a/treble_sepolicy_tests_for_release/Android.bp b/treble_sepolicy_tests_for_release/Android.bp
index 7756cbb..2d19a42 100644
--- a/treble_sepolicy_tests_for_release/Android.bp
+++ b/treble_sepolicy_tests_for_release/Android.bp
@@ -36,16 +36,16 @@
 java_genrule {
     name: "treble_sepolicy_tests_29.0",
     srcs: [
-        ":29.0_plat_policy.cil",
-        ":29.0_mapping.combined.cil",
         ":29.0_plat_pub_policy.cil",
+        ":29.0_mapping.combined.cil",
+        ":base_plat_pub_policy.cil",
     ],
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_29.0"],
     cmd: "$(location treble_sepolicy_tests) " +
-        "-b $(location :29.0_plat_pub_policy.cil) " +
+        "-b $(location :base_plat_pub_policy.cil) " +
         "-m $(location :29.0_mapping.combined.cil) " +
-        "-o $(location :29.0_plat_policy.cil) && " +
+        "-o $(location :29.0_plat_pub_policy.cil) && " +
         "touch $(out)",
 }
 
@@ -86,14 +86,14 @@
 java_genrule {
     name: "treble_sepolicy_tests_30.0",
     srcs: [
-        ":30.0_plat_policy.cil",
+        ":30.0_plat_pub_policy.cil",
         ":30.0_mapping.combined.cil",
     ] + select((
         soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
-        (false, false): [":30.0_plat_pub_policy.cil"],
-        (default, default): [":30.0_product_pub_policy.cil"],
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
     }),
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_30.0"],
@@ -102,14 +102,14 @@
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
         (false, false): "$(location treble_sepolicy_tests) " +
-            "-b $(location :30.0_plat_pub_policy.cil) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
             "-m $(location :30.0_mapping.combined.cil) " +
-            "-o $(location :30.0_plat_policy.cil) && " +
+            "-o $(location :30.0_plat_pub_policy.cil) && " +
             "touch $(out)",
         (default, default): "$(location treble_sepolicy_tests) " +
-            "-b $(location :30.0_product_pub_policy.cil) " +
+            "-b $(location :base_product_pub_policy.cil) " +
             "-m $(location :30.0_mapping.combined.cil) " +
-            "-o $(location :30.0_plat_policy.cil) && " +
+            "-o $(location :30.0_plat_pub_policy.cil) && " +
             "touch $(out)",
     }),
 }
@@ -151,14 +151,14 @@
 java_genrule {
     name: "treble_sepolicy_tests_31.0",
     srcs: [
-        ":31.0_plat_policy.cil",
+        ":31.0_plat_pub_policy.cil",
         ":31.0_mapping.combined.cil",
     ] + select((
         soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
-        (false, false): [":31.0_plat_pub_policy.cil"],
-        (default, default): [":31.0_product_pub_policy.cil"],
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
     }),
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_31.0"],
@@ -167,14 +167,14 @@
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
         (false, false): "$(location treble_sepolicy_tests) " +
-            "-b $(location :31.0_plat_pub_policy.cil) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
             "-m $(location :31.0_mapping.combined.cil) " +
-            "-o $(location :31.0_plat_policy.cil) && " +
+            "-o $(location :31.0_plat_pub_policy.cil) && " +
             "touch $(out)",
         (default, default): "$(location treble_sepolicy_tests) " +
-            "-b $(location :31.0_product_pub_policy.cil) " +
+            "-b $(location :base_product_pub_policy.cil) " +
             "-m $(location :31.0_mapping.combined.cil) " +
-            "-o $(location :31.0_plat_policy.cil) && " +
+            "-o $(location :31.0_plat_pub_policy.cil) && " +
             "touch $(out)",
     }),
 }
@@ -216,14 +216,14 @@
 java_genrule {
     name: "treble_sepolicy_tests_32.0",
     srcs: [
-        ":32.0_plat_policy.cil",
+        ":32.0_plat_pub_policy.cil",
         ":32.0_mapping.combined.cil",
     ] + select((
         soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
-        (false, false): [":32.0_plat_pub_policy.cil"],
-        (default, default): [":32.0_product_pub_policy.cil"],
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
     }),
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_32.0"],
@@ -232,14 +232,14 @@
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
         (false, false): "$(location treble_sepolicy_tests) " +
-            "-b $(location :32.0_plat_pub_policy.cil) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
             "-m $(location :32.0_mapping.combined.cil) " +
-            "-o $(location :32.0_plat_policy.cil) && " +
+            "-o $(location :32.0_plat_pub_policy.cil) && " +
             "touch $(out)",
         (default, default): "$(location treble_sepolicy_tests) " +
-            "-b $(location :32.0_product_pub_policy.cil) " +
+            "-b $(location :base_product_pub_policy.cil) " +
             "-m $(location :32.0_mapping.combined.cil) " +
-            "-o $(location :32.0_plat_policy.cil) && " +
+            "-o $(location :32.0_plat_pub_policy.cil) && " +
             "touch $(out)",
     }),
 }
@@ -281,14 +281,14 @@
 java_genrule {
     name: "treble_sepolicy_tests_33.0",
     srcs: [
-        ":33.0_plat_policy.cil",
+        ":33.0_plat_pub_policy.cil",
         ":33.0_mapping.combined.cil",
     ] + select((
         soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
-        (false, false): [":33.0_plat_pub_policy.cil"],
-        (default, default): [":33.0_product_pub_policy.cil"],
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
     }),
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_33.0"],
@@ -297,14 +297,14 @@
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
         (false, false): "$(location treble_sepolicy_tests) " +
-            "-b $(location :33.0_plat_pub_policy.cil) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
             "-m $(location :33.0_mapping.combined.cil) " +
-            "-o $(location :33.0_plat_policy.cil) && " +
+            "-o $(location :33.0_plat_pub_policy.cil) && " +
             "touch $(out)",
         (default, default): "$(location treble_sepolicy_tests) " +
-            "-b $(location :33.0_product_pub_policy.cil) " +
+            "-b $(location :base_product_pub_policy.cil) " +
             "-m $(location :33.0_mapping.combined.cil) " +
-            "-o $(location :33.0_plat_policy.cil) && " +
+            "-o $(location :33.0_plat_pub_policy.cil) && " +
             "touch $(out)",
     }),
 }
@@ -346,14 +346,14 @@
 java_genrule {
     name: "treble_sepolicy_tests_34.0",
     srcs: [
-        ":34.0_plat_policy.cil",
+        ":34.0_plat_pub_policy.cil",
         ":34.0_mapping.combined.cil",
     ] + select((
         soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
-        (false, false): [":34.0_plat_pub_policy.cil"],
-        (default, default): [":34.0_product_pub_policy.cil"],
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
     }),
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_34.0"],
@@ -362,18 +362,19 @@
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
         (false, false): "$(location treble_sepolicy_tests) " +
-            "-b $(location :34.0_plat_pub_policy.cil) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
             "-m $(location :34.0_mapping.combined.cil) " +
-            "-o $(location :34.0_plat_policy.cil) && " +
+            "-o $(location :34.0_plat_pub_policy.cil) && " +
             "touch $(out)",
         (default, default): "$(location treble_sepolicy_tests) " +
-            "-b $(location :34.0_product_pub_policy.cil) " +
+            "-b $(location :base_product_pub_policy.cil) " +
             "-m $(location :34.0_mapping.combined.cil) " +
-            "-o $(location :34.0_plat_policy.cil) && " +
+            "-o $(location :34.0_plat_pub_policy.cil) && " +
             "touch $(out)",
     }),
 }
 
+// TODO(b/391513934): clean up once we can simplify complex select statements.
 java_genrule {
     name: "202404_mapping.combined.cil",
     srcs: select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
@@ -413,17 +414,18 @@
     }),
 }
 
+// TODO(b/391513934): clean up once we can simplify complex select statements.
 java_genrule {
     name: "treble_sepolicy_tests_202404",
     srcs: [
-        ":202404_plat_policy.cil",
+        ":202404_plat_pub_policy.cil",
         ":202404_mapping.combined.cil",
     ] + select((
         soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
         soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
     ), {
-        (false, false): [":202404_plat_pub_policy.cil"],
-        (default, default): [":202404_product_pub_policy.cil"],
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
     }),
     tools: ["treble_sepolicy_tests"],
     out: ["treble_sepolicy_tests_202404"],
@@ -435,14 +437,90 @@
         ("202404", false, false): "touch $(out)",
         ("202404", default, default): "touch $(out)",
         (default, false, false): "$(location treble_sepolicy_tests) " +
-            "-b $(location :202404_plat_pub_policy.cil) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
             "-m $(location :202404_mapping.combined.cil) " +
-            "-o $(location :202404_plat_policy.cil) && " +
+            "-o $(location :202404_plat_pub_policy.cil) && " +
             "touch $(out)",
         (default, default, default): "$(location treble_sepolicy_tests) " +
-            "-b $(location :202404_product_pub_policy.cil) " +
+            "-b $(location :base_product_pub_policy.cil) " +
             "-m $(location :202404_mapping.combined.cil) " +
-            "-o $(location :202404_plat_policy.cil) && " +
+            "-o $(location :202404_plat_pub_policy.cil) && " +
+            "touch $(out)",
+    }),
+}
+
+// TODO(b/391513934): clean up once we can simplify complex select statements.
+java_genrule {
+    name: "202504_mapping.combined.cil",
+    srcs: select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        "202404": [],
+        "202504": [],
+        default: [
+            ":plat_202504.cil",
+            ":202504.ignore.cil",
+        ],
+    }) + select((
+        soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"),
+        soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
+    ), {
+        ("202404", default): [],
+        ("202504", default): [],
+        (default, true): [
+            ":system_ext_202504.cil",
+            ":system_ext_202504.ignore.cil",
+        ],
+        (default, default): [],
+    }) + select((
+        soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"),
+        soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
+    ), {
+        ("202404", default): [],
+        ("202504", default): [],
+        (default, true): [
+            ":product_202504.cil",
+            ":product_202504.ignore.cil",
+        ],
+        (default, default): [],
+    }),
+    out: ["202504_mapping.combined.cil"],
+    cmd: select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), {
+        "202404": "touch $(out)",
+        "202504": "touch $(out)",
+        default: "cat $(in) > $(out)",
+    }),
+}
+
+// TODO(b/391513934): clean up once we can simplify complex select statements.
+java_genrule {
+    name: "treble_sepolicy_tests_202504",
+    srcs: [
+        ":202504_plat_pub_policy.cil",
+        ":202504_mapping.combined.cil",
+    ] + select((
+        soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
+        soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
+    ), {
+        (false, false): [":base_plat_pub_policy.cil"],
+        (default, default): [":base_product_pub_policy.cil"],
+    }),
+    tools: ["treble_sepolicy_tests"],
+    out: ["treble_sepolicy_tests_202504"],
+    cmd: select((
+        soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"),
+        soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"),
+        soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"),
+    ), {
+        ("202404", default, default): "touch $(out)",
+        ("202504", default, default): "touch $(out)",
+        (default, false, false): "$(location treble_sepolicy_tests) " +
+            "-b $(location :base_plat_pub_policy.cil) " +
+            "-m $(location :202504_mapping.combined.cil) " +
+            "-o $(location :202504_plat_pub_policy.cil) && " +
+            "touch $(out)",
+        (default, default, default): "$(location treble_sepolicy_tests) " +
+            "-b $(location :base_product_pub_policy.cil) " +
+            "-m $(location :202504_mapping.combined.cil) " +
+            "-o $(location :202504_plat_pub_policy.cil) && " +
             "touch $(out)",
     }),
 }
diff --git a/vendor/file_contexts b/vendor/file_contexts
index 66ac4ec..dc09d79 100644
--- a/vendor/file_contexts
+++ b/vendor/file_contexts
@@ -14,7 +14,7 @@
 /(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.evs(.*)?          u:object_r:hal_evs_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.ivn@V1-(.*)-service u:object_r:hal_ivn_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.vehicle@2\.0-((default|emulator)-)*(service|protocan-service)  u:object_r:hal_vehicle_default_exec:s0
-/(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.vehicle@V[1-3]-(default|emulator)-service u:object_r:hal_vehicle_default_exec:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.vehicle@V[0-9]+-(default|emulator)-service u:object_r:hal_vehicle_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.remoteaccess@V[1-2]-(.*)-service u:object_r:hal_remoteaccess_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.bluetooth@1\.[0-9]+-service      u:object_r:hal_bluetooth_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.bluetooth@1\.[0-9]+-service\.btlinux    u:object_r:hal_bluetooth_btlinux_exec:s0
@@ -114,6 +114,7 @@
 /(vendor|system/vendor)/bin/hw/android\.hardware\.thermal@1\.[01]-service        u:object_r:hal_thermal_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.thermal-service\.example       u:object_r:hal_thermal_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.threadnetwork-service(\.sim)?  u:object_r:hal_threadnetwork_default_exec:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.trusty\.hwcryptohal-service    u:object_r:hal_hwcrypto_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.cec@1\.[01]-service        u:object_r:hal_tv_cec_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.hdmi.cec-service           u:object_r:hal_tv_hdmi_cec_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.hdmi.connection-service    u:object_r:hal_tv_hdmi_connection_default_exec:s0
@@ -207,3 +208,4 @@
 /(vendor|system/vendor)/lib(64)?/libutils\.so u:object_r:same_process_hal_file:s0
 /(vendor|system/vendor)/lib(64)?/libutilscallstack\.so u:object_r:same_process_hal_file:s0
 /(vendor|system/vendor)/lib(64)?/libz\.so u:object_r:same_process_hal_file:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.virtualization\.capabilities\.capabilities_service-noop       u:object_r:hal_vm_capabilities_default_exec:s0
diff --git a/vendor/hal_bluetooth_default.te b/vendor/hal_bluetooth_default.te
index efa75a7..2b3729d 100644
--- a/vendor/hal_bluetooth_default.te
+++ b/vendor/hal_bluetooth_default.te
@@ -1,7 +1,7 @@
 type hal_bluetooth_default, domain;
 hal_server_domain(hal_bluetooth_default, hal_bluetooth)
 
-allow hal_bluetooth_default bt_device:chr_file { open read write };
+allow hal_bluetooth_default bt_device:chr_file { open read write ioctl };
 allow hal_bluetooth_default self:bluetooth_socket { create bind read write };
 
 type hal_bluetooth_default_exec, exec_type, vendor_file_type, file_type;
diff --git a/vendor/hal_hwcrypto_default.te b/vendor/hal_hwcrypto_default.te
new file mode 100644
index 0000000..7cb2eef
--- /dev/null
+++ b/vendor/hal_hwcrypto_default.te
@@ -0,0 +1,12 @@
+type hal_hwcrypto_default, domain;
+hal_server_domain(hal_hwcrypto_default, hal_hwcrypto)
+
+type hal_hwcrypto_default_exec, exec_type, vendor_file_type, file_type;
+init_daemon_domain(hal_hwcrypto_default)
+
+allow hal_hwcrypto_default tee_device:chr_file rw_file_perms;
+allow hal_hwcrypto_default ion_device:chr_file rw_file_perms;
+
+binder_call(hal_hwcrypto_client, hal_hwcrypto_server);
+hal_attribute_service(hal_hwcrypto, hal_hwcrypto_service);
+binder_use(hal_hwcrypto_server);
diff --git a/vendor/hal_mediaquality_default.te b/vendor/hal_mediaquality_default.te
index 8f604c4..8d2bd92 100644
--- a/vendor/hal_mediaquality_default.te
+++ b/vendor/hal_mediaquality_default.te
@@ -4,4 +4,5 @@
 
     type hal_mediaquality_default_exec, exec_type, vendor_file_type, file_type;
     init_daemon_domain(hal_mediaquality_default)
-')
\ No newline at end of file
+    hal_client_domain(hal_mediaquality_default, hal_graphics_composer)
+')
diff --git a/vendor/hal_radio_default.te b/vendor/hal_radio_default.te
index 82fd40e..1c08a27 100644
--- a/vendor/hal_radio_default.te
+++ b/vendor/hal_radio_default.te
@@ -4,3 +4,4 @@
 type hal_radio_default_exec, exec_type, vendor_file_type, file_type;
 init_daemon_domain(hal_radio_default)
 
+net_domain(hal_radio_default)
diff --git a/vendor/hal_vm_capabilities_default.te b/vendor/hal_vm_capabilities_default.te
new file mode 100644
index 0000000..82aaf41
--- /dev/null
+++ b/vendor/hal_vm_capabilities_default.te
@@ -0,0 +1,10 @@
+type hal_vm_capabilities_default, domain;
+
+starting_at_board_api(202504, `
+    hal_server_domain(hal_vm_capabilities_default, hal_vm_capabilities);
+')
+
+type hal_vm_capabilities_default_exec, exec_type, vendor_file_type, file_type;
+init_daemon_domain(hal_vm_capabilities_default);
+
+# TODO(b/360102915): add more rules around vm_fd passed to the HAL
