diff --git a/Android.bp b/Android.bp
index 24b6fbc..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"],
@@ -907,7 +926,7 @@
 // SEPOLICY_FREEZE_TEST_EXTRA_DIRS and SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS.
 //////////////////////////////////
 
-FREEZE_TEST_BOARD_API_LEVEL = "202404"
+FREEZE_TEST_BOARD_API_LEVEL = "202504"
 
 se_policy_conf {
     name: "base_plat_pub_policy_for_freeze_test.conf",
@@ -1022,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"],
@@ -1051,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: [],
@@ -1090,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: [],
@@ -1194,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",
@@ -1204,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: [],
@@ -1234,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/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/service_fuzzer_bindings.go b/build/soong/service_fuzzer_bindings.go
index 7d22b7a..3d8c0ce 100644
--- a/build/soong/service_fuzzer_bindings.go
+++ b/build/soong/service_fuzzer_bindings.go
@@ -53,6 +53,7 @@
 		"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,
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_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 638f202..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"],
diff --git a/contexts/plat_file_contexts_test b/contexts/plat_file_contexts_test
index 2e72866..fd25d0a 100644
--- a/contexts/plat_file_contexts_test
+++ b/contexts/plat_file_contexts_test
@@ -339,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
@@ -1344,3 +1345,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/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/prebuilts/api/202504/202504_general_sepolicy.conf b/prebuilts/api/202504/202504_general_sepolicy.conf
new file mode 100644
index 0000000..d48f653
--- /dev/null
+++ b/prebuilts/api/202504/202504_general_sepolicy.conf
@@ -0,0 +1,90111 @@
+#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;
+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 336
+    type hal_mediaquality_service, protected_service, hal_service_type, service_manager_type;
+#line 338
+
+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 375
+    type hal_vm_capabilities_service, protected_service, hal_service_type, service_manager_type;
+#line 377
+
+
+# system/sepolicy/public is for vendor-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 43
+
+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 48
+    type vfio_handler_service,          service_manager_type;
+#line 50
+
+
+#line 51
+    type virtualization_maintenance_service, service_manager_type;
+#line 53
+
+
+#line 54
+    type vm_tethering_service, system_server_service, service_manager_type;
+#line 54
+    type vmnic_service,        service_manager_type;
+#line 57
+
+
+#line 58
+    type microfuchsia_service,          service_manager_type;
+#line 60
+
+
+type uce_service,                      service_manager_type;
+#line 65
+
+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 71
+    type ranging_service, app_api_service, system_server_service, service_manager_type;
+#line 73
+
+
+#line 77
+
+
+###
+### 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..120fca0
--- /dev/null
+++ b/prebuilts/api/202504/202504_mapping.cil
@@ -0,0 +1,4254 @@
+(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 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..68424a5
--- /dev/null
+++ b/prebuilts/api/202504/202504_plat_sepolicy.cil
@@ -0,0 +1,35431 @@
+(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_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_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_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_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 86 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..4a44dc5
--- /dev/null
+++ b/prebuilts/api/202504/private/hwservice_contexts
@@ -0,0 +1,86 @@
+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.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..8d9f61d
--- /dev/null
+++ b/prebuilts/api/202504/private/property_contexts
@@ -0,0 +1,1827 @@
+##########################
+# 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.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.msft_vendor_opcode                 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..3b84e93
--- /dev/null
+++ b/prebuilts/api/202504/private/service.te
@@ -0,0 +1,86 @@
+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;
+')
+
+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..dec8f6b
--- /dev/null
+++ b/prebuilts/api/202504/private/service_contexts
@@ -0,0 +1,522 @@
+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.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..aa9d184
--- /dev/null
+++ b/prebuilts/api/202504/public/service.te
@@ -0,0 +1,381 @@
+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;
+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/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/attributes b/private/attributes
index 4f59acf..93bf295 100644
--- a/private/attributes
+++ b/private/attributes
@@ -40,3 +40,7 @@
 until_board_api(202504, `
     hal_attribute(vm_capabilities);
 ')
+
+until_board_api(202504, `
+    hal_attribute(hwcrypto);
+')
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.ignore.cil b/private/compat/202404/202404.ignore.cil
index c10b0d5..224c49b 100644
--- a/private/compat/202404/202404.ignore.cil
+++ b/private/compat/202404/202404.ignore.cil
@@ -10,10 +10,13 @@
     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
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 a377e7a..6051992 100644
--- a/private/crosvm.te
+++ b/private/crosvm.te
@@ -223,6 +223,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/domain.te b/private/domain.te
index 31b544b..8db40a5 100644
--- a/private/domain.te
+++ b/private/domain.te
@@ -532,12 +532,6 @@
 # TODO(384942085): Reduce the scope.
 allow domain kernel:key search;
 
-# For testing purposes, allow access to keys installed with su.
-# TODO(277916185): Remove since this shouldn't be needed anymore.
-userdebug_or_eng(`
-  allow domain su:key search;
-')
-
 # Allow access to linkerconfig file
 allow domain linkerconfig_file:dir search;
 allow domain linkerconfig_file:file r_file_perms;
@@ -595,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
 ###
@@ -705,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.
@@ -740,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 };
@@ -761,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
@@ -1150,6 +1154,7 @@
         -init
         -shell
         -ueventd
+        userdebug_or_eng(`-overlay_remounter')
     } vendor_shell_exec:file { execute execute_no_trans };
 ')
 
@@ -1204,6 +1209,7 @@
       -shell
       -system_executes_vendor_violators
       -ueventd
+      userdebug_or_eng(`-overlay_remounter')
     } {
       vendor_file_type
       -same_process_hal_file
@@ -1219,6 +1225,7 @@
       coredomain
       -shell
       -system_executes_vendor_violators
+      userdebug_or_eng(`-overlay_remounter')
     } {
       vendor_file_type
       -same_process_hal_file
@@ -1302,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
@@ -1328,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
@@ -1453,6 +1471,7 @@
   -installd
   -profman
   -artd
+  userdebug_or_eng(`-overlay_remounter')
 } profman_exec:file no_x_file_perms;
 
 # Enforce restrictions on kernel module origin.
@@ -1520,6 +1539,7 @@
   neverallow {
     coredomain
     -appdomain
+    userdebug_or_eng(`-overlay_remounter')
   } {vendor_public_framework_file vendor_public_lib_file}:file { execute execute_no_trans };
 ')
 
@@ -1834,6 +1854,7 @@
     -zygote
     userdebug_or_eng(`-mediaextractor')
     userdebug_or_eng(`-mediaswcodec')
+    userdebug_or_eng(`-overlay_remounter')
 } {
     file_type
     -system_file_type
@@ -1909,6 +1930,7 @@
 neverallow {
   domain
   -appdomain
+  userdebug_or_eng(`-overlay_remounter')
 } {
   data_file_type
   -apex_art_data_file
@@ -1942,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
@@ -1970,6 +1993,7 @@
     -update_engine
     -vold
     -zygote
+    userdebug_or_eng(`-overlay_remounter')
 } { fs_type
     -sdcard_type
     -fusefs_type
@@ -2038,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 };
 ')
 
@@ -2081,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
@@ -2114,7 +2140,16 @@
 
 # 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')
+} {
+  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
@@ -2274,5 +2309,26 @@
 # 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
+    -vmlauncher_app     # TODO: get connections from virtmanager
+} *:vsock_socket { connect create accept bind };
+')
diff --git a/private/file.te b/private/file.te
index 3a66143..6bdcc39 100644
--- a/private/file.te
+++ b/private/file.te
@@ -192,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;
diff --git a/private/file_contexts b/private/file_contexts
index 7ef3226..0b3e7f4 100644
--- a/private/file_contexts
+++ b/private/file_contexts
@@ -353,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
@@ -952,3 +953,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/genfs_contexts b/private/genfs_contexts
index a872a04..0a0c9cb 100644
--- a/private/genfs_contexts
+++ b/private/genfs_contexts
@@ -266,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/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 35d7647..6f0ee80 100644
--- a/private/init.te
+++ b/private/init.te
@@ -814,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/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/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/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/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/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 dec43e1..b39c7ed 100644
--- a/private/property.te
+++ b/private/property.te
@@ -36,7 +36,7 @@
 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 +57,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)
@@ -84,6 +86,7 @@
 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,8 +114,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)
-system_vendor_config_prop(widevine_sys_vendor_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 fa82e29..8d9f61d 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -88,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
@@ -718,6 +721,7 @@
 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.msft_vendor_opcode                 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
@@ -1811,11 +1815,13 @@
 
 # Properties that allows vendors to enable Trusty widevine VM features
 # Enable Widevine VM
-trusty.widevine_vm.enabled           u:object_r:widevine_sys_vendor_prop:s0 exact bool
+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:widevine_sys_vendor_prop:s0 exact string
+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 6912eb9..3b84e93 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;
@@ -60,7 +60,9 @@
 ')
 
 type uce_service,                      service_manager_type;
-type fwk_vold_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;
diff --git a/private/service_contexts b/private/service_contexts
index 9801e81..ad41229 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
diff --git a/private/shell.te b/private/shell.te
index 2033f7e..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)
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/system_server.te b/private/system_server.te
index 20556ab..4e5112e 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -429,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 };
 
@@ -846,6 +849,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)
 
@@ -898,6 +904,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)
@@ -919,6 +926,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;
 
@@ -1167,6 +1177,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;
 
@@ -1359,6 +1372,7 @@
   file_type
   -toolbox_exec
   -logcat_exec
+  -pbtombstone_exec
   with_asan(`-shell_exec -asanwrapper_exec -zygote_exec')
 }:file execute_no_trans;
 
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/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/vendor_init.te b/private/vendor_init.te
index 60962d4..939bcc0 100644
--- a/private/vendor_init.te
+++ b/private/vendor_init.te
@@ -316,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/virtualizationmanager.te b/private/virtualizationmanager.te
index 259c402..95bdd1c 100644
--- a/private/virtualizationmanager.te
+++ b/private/virtualizationmanager.te
@@ -115,8 +115,16 @@
 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')') } 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/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/public/attributes b/public/attributes
index bc58e40..ae7720e 100644
--- a/public/attributes
+++ b/public/attributes
@@ -366,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);
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 db79fdf..aa9d184 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;
diff --git a/tests/Android.bp b/tests/Android.bp
index 81e7927..8671fae 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -187,6 +187,9 @@
 // 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/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 aa67b94..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"
 
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 d27dc56..2d19a42 100644
--- a/treble_sepolicy_tests_for_release/Android.bp
+++ b/treble_sepolicy_tests_for_release/Android.bp
@@ -36,7 +36,7 @@
 java_genrule {
     name: "treble_sepolicy_tests_29.0",
     srcs: [
-        ":29.0_plat_policy.cil",
+        ":29.0_plat_pub_policy.cil",
         ":29.0_mapping.combined.cil",
         ":base_plat_pub_policy.cil",
     ],
@@ -45,7 +45,7 @@
     cmd: "$(location treble_sepolicy_tests) " +
         "-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,7 +86,7 @@
 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"),
@@ -104,12 +104,12 @@
         (false, false): "$(location treble_sepolicy_tests) " +
             "-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 :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,7 +151,7 @@
 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"),
@@ -169,12 +169,12 @@
         (false, false): "$(location treble_sepolicy_tests) " +
             "-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 :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,7 +216,7 @@
 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"),
@@ -234,12 +234,12 @@
         (false, false): "$(location treble_sepolicy_tests) " +
             "-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 :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,7 +281,7 @@
 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"),
@@ -299,12 +299,12 @@
         (false, false): "$(location treble_sepolicy_tests) " +
             "-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 :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,7 +346,7 @@
 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"),
@@ -364,16 +364,17 @@
         (false, false): "$(location treble_sepolicy_tests) " +
             "-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 :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,10 +414,11 @@
     }),
 }
 
+// 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"),
@@ -437,12 +439,88 @@
         (default, false, false): "$(location treble_sepolicy_tests) " +
             "-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 :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/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)
