diff --git a/build/soong/service_fuzzer_bindings.go b/build/soong/service_fuzzer_bindings.go
index e6e220b..832ee60 100644
--- a/build/soong/service_fuzzer_bindings.go
+++ b/build/soong/service_fuzzer_bindings.go
@@ -522,7 +522,7 @@
 		"wifiaware":                              EXCEPTION_NO_FUZZER,
 		"wifi_usd":                               EXCEPTION_NO_FUZZER,
 		"wifirtt":                                EXCEPTION_NO_FUZZER,
-		"wifi_mainline_supplicant":               EXCEPTION_NO_FUZZER, // defined internally
+		"wifi_mainline_supplicant":               []string{"mainline_supplicant_service_fuzzer"},
 		"window":                                 EXCEPTION_NO_FUZZER,
 		"*":                                      EXCEPTION_NO_FUZZER,
 	}
diff --git a/microdroid/system/public/te_macros b/microdroid/system/public/te_macros
index b274417..d68c5ed 100644
--- a/microdroid/system/public/te_macros
+++ b/microdroid/system/public/te_macros
@@ -618,16 +618,6 @@
 ')
 
 ###########################################
-# 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
diff --git a/prebuilts/api/202504/202504_general_sepolicy.conf b/prebuilts/api/202504/202504_general_sepolicy.conf
index 8e63174..1c271ff 100644
--- a/prebuilts/api/202504/202504_general_sepolicy.conf
+++ b/prebuilts/api/202504/202504_general_sepolicy.conf
@@ -3602,55 +3602,55 @@
 #####################################
 # binder_use(domain)
 # Allow domain to use Binder IPC.
-#line 429
+#line 425
 
 
 #####################################
 # hwbinder_use(domain)
 # Allow domain to use HwBinder IPC.
-#line 445
+#line 437
 
 
 #####################################
 # vndbinder_use(domain)
 # Allow domain to use Binder IPC.
-#line 459
+#line 447
 
 
 #####################################
 # binder_call(clientdomain, serverdomain)
 # Allow clientdomain to perform binder IPC to serverdomain.
-#line 471
+#line 459
 
 
 #####################################
 # binder_service(domain)
 # Deprecated. Consider granting the exact permissions required by your service.
-#line 478
+#line 466
 
 
 #####################################
 # wakelock_use(domain)
 # Allow domain to manage wake locks
-#line 500
+#line 488
 
 
 #####################################
 # selinux_check_access(domain)
 # Allow domain to check SELinux permissions via selinuxfs.
-#line 510
+#line 498
 
 
 #####################################
 # selinux_check_context(domain)
 # Allow domain to check SELinux contexts via selinuxfs.
-#line 519
+#line 507
 
 
 #####################################
 # create_pty(domain)
 # Allow domain to create and use a pty, isolated from any other domain ptys.
-#line 538
+#line 526
 
 
 #####################################
@@ -3674,7 +3674,7 @@
 # Full TREBLE only
 # SELinux rules which apply only to full TREBLE devices
 #
-#line 566
+#line 554
 
 
 #####################################
@@ -3688,7 +3688,7 @@
 # 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
+#line 572
 
 
 #####################################
@@ -3700,7 +3700,7 @@
 # Compatible property only
 # SELinux rules which apply only to devices with compatible property
 #
-#line 600
+#line 588
 
 
 #####################################
@@ -3736,7 +3736,7 @@
 ####################################
 # Fallback crash handling for processes that can't exec crash_dump (e.g. because of seccomp).
 #
-#line 650
+#line 638
 
 
 #####################################
@@ -3749,48 +3749,39 @@
 # write_logd(domain)
 # Ability to write to android log
 # daemon via sockets
-#line 665
+#line 653
 
 
 #####################################
 # read_logd(domain)
 # Ability to run logcat and read from android
 # log daemon via sockets
-#line 674
+#line 662
 
 
 #####################################
 # read_runtime_log_tags(domain)
 # ability to directly map the runtime event log tags
-#line 681
+#line 669
 
 
 #####################################
 # control_logd(domain)
 # Ability to control
 # android log daemon via sockets
-#line 691
+#line 679
 
 
 #####################################
 # use_keystore(domain)
 # Ability to use keystore.
-# Keystore is requires the following permissions
-# to call getpidcon.
-#line 707
+#line 690
 
 
 #####################################
 # use_credstore(domain)
 # Ability to use credstore.
-#line 719
-
-
-###########################################
-# use_drmservice(domain)
-# Ability to use DrmService which requires
-# DrmService to call getpidcon.
-#line 729
+#line 699
 
 
 ###########################################
@@ -3798,7 +3789,7 @@
 # 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
+#line 715
 
 
 ###########################################
@@ -3806,7 +3797,7 @@
 # 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
+#line 726
 
 
 ###########################################
@@ -3816,7 +3807,7 @@
 # others from adding it.
 #
 # Used to pair hal_foo_client with hal_foo_hwservice
-#line 775
+#line 745
 
 
 ###########################################
@@ -3826,33 +3817,33 @@
 # others from adding it.
 #
 # Used to pair hal_foo_client with hal_foo_service
-#line 803
+#line 773
 
 
 ###################################
 # can_profile_heap(domain)
 # Allow processes within the domain to have their heap profiled by central
 # heapprofd.
-#line 833
+#line 803
 
 
 ###################################
 # never_profile_heap(domain)
 # Opt out of heap profiling by heapprofd.
-#line 841
+#line 811
 
 
 ###################################
 # can_profile_perf(domain)
 # Allow processes within the domain to be profiled, and have their stacks
 # sampled, by traced_perf.
-#line 861
+#line 831
 
 
 ###################################
 # never_profile_perf(domain)
 # Opt out of profiling by traced_perf.
-#line 869
+#line 839
 
 
 ###################################
@@ -3861,14 +3852,14 @@
 # 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
+#line 856
 
 
 ###########################################
 # dump_hal(hal_type)
 # Ability to dump the hal debug info
 #
-#line 896
+#line 866
 
 
 #####################################
@@ -3886,7 +3877,7 @@
 #
 # TODO(b/131162102): deprecate BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW
 #
-#line 918
+#line 888
 
 
 #####################################
@@ -3901,14 +3892,14 @@
 #
 # CTS uses these ules only for devices launching with S or later.
 #
-#line 937
+#line 907
 
 
 ###########################################
 # define_prop(name, owner, scope)
 # Define a property with given owner and scope
 #
-#line 945
+#line 915
 
 
 ###########################################
@@ -3917,7 +3908,7 @@
 # For devices launching with Q or eariler, this restriction can be relaxed with
 # BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
 #
-#line 958
+#line 928
 
 
 ###########################################
@@ -3926,7 +3917,7 @@
 # For devices launching with Q or eariler, this restriction can be relaxed with
 # BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
 #
-#line 971
+#line 941
 
 
 ###########################################
@@ -3941,7 +3932,7 @@
 # This is a macro for vendor-specific configuration properties which is meant
 # to be set once from vendor_init.
 #
-#line 989
+#line 959
 
 
 ###########################################
@@ -3950,7 +3941,7 @@
 # For devices launching with Q or eariler, this restriction can be relaxed with
 # BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
 #
-#line 1002
+#line 972
 
 
 ###########################################
@@ -3959,7 +3950,7 @@
 # For devices launching with Q or eariler, this restriction can be relaxed with
 # BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
 #
-#line 1015
+#line 985
 
 
 ###########################################
@@ -3974,7 +3965,7 @@
 # For devices launching with Q or eariler, this restriction can be relaxed with
 # BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
 #
-#line 1035
+#line 1005
 
 
 ###########################################
@@ -3983,7 +3974,7 @@
 # For devices launching with Q or eariler, this restriction can be relaxed with
 # BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true
 #
-#line 1049
+#line 1019
 
 
 ###########################################
@@ -3996,25 +3987,25 @@
 # read_fstab(domain)
 # Ability to call ReadDefaultFstab() and ReadFstabFromFile().
 #
-#line 1065
+#line 1035
 
 
 ######################################
 # use_bootstrap_libs(domain)
 # Allow domain to use bootstrap bionic libraries in system/lib[64]/bootstrap
-#line 1073
+#line 1043
 
 
 ######################################
 # use_apex_info(domain)
 # Allow access to apex information
-#line 1082
+#line 1052
 
 
 ####################################
 # io_uring_use(domain)
 # Allow domain to create/use io_uring.
-#line 1100
+#line 1070
 
 #line 1 "system/sepolicy/public/ioctl_defines"
 
@@ -17979,14 +17970,6 @@
 #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.
@@ -18429,14 +18412,6 @@
 #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.
@@ -19261,12 +19236,6 @@
 
 
 #line 166
-  allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:dir search;
-#line 166
-  allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:file { read open };
-#line 166
-  allow keystore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:process getattr;
-#line 166
   allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } apc_service:service_manager find;
 #line 166
   allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } keystore_service:service_manager find;
@@ -19309,12 +19278,6 @@
 
 
 #line 168
-  allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:dir search;
-#line 168
-  allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:file { read open };
-#line 168
-  allow credstore { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all }:process getattr;
-#line 168
   allow { appdomain -isolated_app_all -ephemeral_app -sdk_sandbox_all } credstore_service:service_manager find;
 #line 168
   
@@ -19610,30 +19573,21 @@
 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 258
-  # an app can read but cannot write to its own directory of storage areas
-#line 258
-  allow { appdomain -isolated_app_all -mlstrustedsubject -sdk_sandbox_all } storage_area_app_dir:dir { open getattr read search ioctl lock watch watch_reads };
-#line 258
-  # an app can write to its storage areas
-#line 258
-  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 263
 
 
 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.
@@ -19641,7 +19595,7 @@
   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
@@ -19843,14 +19797,6 @@
 #line 397
 allow servicemanager appdomain:binder { call transfer };
 #line 397
-# servicemanager performs getpidcon on clients.
-#line 397
-allow servicemanager appdomain:dir search;
-#line 397
-allow servicemanager appdomain:file { read open };
-#line 397
-allow servicemanager appdomain:process getattr;
-#line 397
 # rw access to /dev/binder and /dev/ashmem is presently granted to
 #line 397
 # all domains in domain.te.
@@ -20395,23 +20341,6 @@
 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 803
-  # Files and directories that apps write to their storage areas
-#line 803
-  # should have type storage_area_content_file
-#line 803
-  type_transition {
-#line 803
-    appdomain
-#line 803
-    -isolated_app_all
-#line 803
-    -ephemeral_app
-#line 803
-    -sdk_sandbox_all
-#line 803
-  } storage_area_dir:{ { file lnk_file sock_file fifo_file } dir } storage_area_content_file;
 #line 812
 
 #line 1 "system/sepolicy/private/app_neverallows.te"
@@ -20919,29 +20848,9 @@
   -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
 
 
@@ -21477,7 +21386,7 @@
   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.
@@ -22767,14 +22676,6 @@
 #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.
@@ -23341,14 +23242,6 @@
 #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.
@@ -23486,14 +23379,6 @@
 #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.
@@ -23817,14 +23702,6 @@
 #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.
@@ -23853,14 +23730,6 @@
 #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.
@@ -24028,14 +23897,6 @@
 #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.
@@ -24053,14 +23914,6 @@
 #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.
@@ -24257,14 +24110,6 @@
 #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.
@@ -24313,12 +24158,6 @@
 
 
 #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;
@@ -24681,14 +24520,6 @@
 #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.
@@ -24717,14 +24548,6 @@
 #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.
@@ -25216,14 +25039,6 @@
 #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.
@@ -25270,14 +25085,6 @@
 #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.
@@ -26012,14 +25819,6 @@
 #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.
@@ -26396,14 +26195,6 @@
 #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.
@@ -26662,14 +26453,6 @@
 #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.
@@ -26698,14 +26481,6 @@
 #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.
@@ -26842,14 +26617,6 @@
 #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.
@@ -27011,14 +26778,6 @@
 #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.
@@ -28261,14 +28020,6 @@
 #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.
@@ -28597,7 +28348,7 @@
   apk_data_file
   app_data_file
   privapp_data_file
-  storage_area_content_file
+  
   vm_data_file
   
 }:file open;
@@ -29074,14 +28825,6 @@
 #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.
@@ -29600,14 +29343,6 @@
 #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.
@@ -32995,22 +32730,9 @@
 } {
   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 1645
-  neverallow {
-#line 1645
-    domain
-#line 1645
-    -artd # compile secondary dex files
-#line 1645
-    -installd # creation of sandbox
-#line 1645
-    -vold_prepare_subdirs # creation of storage area directories
-#line 1645
-  } {storage_area_app_dir storage_area_dir }:dir { create unlink };
 #line 1652
 
 
@@ -33031,56 +32753,12 @@
 } {
   privapp_data_file
   app_data_file
-  storage_area_content_file
+  
 }:dir *;
 
-
-#line 1674
-  neverallow {
-#line 1674
-    domain
-#line 1674
-    -appdomain
-#line 1674
-    -app_zygote
-#line 1674
-    -artd # compile secondary dex files
-#line 1674
-    -installd
-#line 1674
-    -rs # spawned by appdomain, so carryover the exception above
-#line 1674
-    -system_server
-#line 1674
-    -vold # encryption of storage area directories
-#line 1674
-    -vold_prepare_subdirs # creation of storage area directories
-#line 1674
-    -zygote
-#line 1674
-  } { storage_area_dir storage_area_app_dir }:dir *;
 #line 1687
 
 
-
-#line 1689
-  # only vold and installd can access the storage area key files
-#line 1689
-  # (and init, in case of a recursive restorecon)
-#line 1689
-  neverallow {
-#line 1689
-    domain
-#line 1689
-    -init
-#line 1689
-    -vold
-#line 1689
-    -vold_prepare_subdirs
-#line 1689
-    -installd
-#line 1689
-  } { storage_area_key_file }:{ dir { { chr_file blk_file } { file lnk_file sock_file fifo_file } } } *;
 #line 1699
 
 
@@ -33095,26 +32773,9 @@
 } {
   privapp_data_file
   app_data_file
-  storage_area_content_file
+  
 }:dir ~{ open getattr read search ioctl lock watch watch_reads };
 
-
-#line 1715
-  neverallow {
-#line 1715
-    domain
-#line 1715
-    -appdomain
-#line 1715
-    -artd # compile secondary dex files
-#line 1715
-    -installd
-#line 1715
-    -rs # spawned by appdomain, so carryover the exception above
-#line 1715
-    -vold_prepare_subdirs # creation of storage area directories
-#line 1715
-  } { storage_area_dir storage_area_app_dir }:dir ~{ open getattr read search ioctl lock watch watch_reads };
 #line 1724
 
 
@@ -33128,7 +32789,7 @@
 } {
   privapp_data_file
   app_data_file
-  storage_area_content_file
+  
 }:{ { chr_file blk_file } { file lnk_file sock_file fifo_file } } open;
 
 neverallow {
@@ -33139,7 +32800,7 @@
 } {
   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 {
@@ -33149,22 +32810,9 @@
 } {
   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 1760
-  neverallow {
-#line 1760
-    domain
-#line 1760
-    -artd # compile secondary dex files
-#line 1760
-    -installd
-#line 1760
-    -vold_prepare_subdirs
-#line 1760
-  } { storage_area_dir storage_area_app_dir }:dir { relabelfrom relabelto };
 #line 1767
 
 
@@ -33970,14 +33618,6 @@
 #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.
@@ -34760,14 +34400,6 @@
 #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.
@@ -34819,14 +34451,6 @@
 #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.
@@ -34855,14 +34479,6 @@
 #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.
@@ -36874,14 +36490,6 @@
 #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.
@@ -37351,14 +36959,6 @@
 #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.
@@ -37877,14 +37477,6 @@
 #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.
@@ -37920,12 +37512,6 @@
 # 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;
@@ -39188,14 +38774,6 @@
 #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.
@@ -39262,12 +38840,6 @@
 # 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;
@@ -39364,14 +38936,6 @@
 #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.
@@ -39894,14 +39458,6 @@
 #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.
@@ -39930,14 +39486,6 @@
 #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.
@@ -40120,14 +39668,6 @@
 #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.
@@ -40680,14 +40220,6 @@
 #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
 
 
 ###
@@ -41085,14 +40617,6 @@
 #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.
@@ -41121,14 +40645,6 @@
 #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.
@@ -41306,14 +40822,6 @@
 #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.
@@ -41503,14 +41011,6 @@
 #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.
@@ -41733,14 +41233,6 @@
 #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.
@@ -42379,14 +41871,6 @@
 #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.
@@ -42748,14 +42232,6 @@
 #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.
@@ -42786,14 +42262,6 @@
 #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.
@@ -42809,14 +42277,6 @@
 #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.
@@ -42975,14 +42435,6 @@
 #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.
@@ -43143,14 +42595,6 @@
 #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.
@@ -43353,14 +42797,6 @@
 #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.
@@ -43376,14 +42812,6 @@
 #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.
@@ -43780,14 +43208,6 @@
 #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.
@@ -43816,14 +43236,6 @@
 #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.
@@ -43885,14 +43297,6 @@
 #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.
@@ -44531,14 +43935,6 @@
 #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.
@@ -44704,14 +44100,6 @@
 #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.
@@ -45040,14 +44428,6 @@
 #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.
@@ -45864,14 +45244,6 @@
 #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.
@@ -45992,14 +45364,6 @@
 #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.
@@ -46060,14 +45424,6 @@
 #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.
@@ -46083,14 +45439,6 @@
 #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.
@@ -46188,14 +45536,6 @@
 #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.
@@ -46549,14 +45889,6 @@
 #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.
@@ -46585,14 +45917,6 @@
 #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.
@@ -46723,14 +46047,6 @@
 #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.
@@ -47044,14 +46360,6 @@
 #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.
@@ -47067,14 +46375,6 @@
 #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.
@@ -47148,14 +46448,6 @@
 #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.
@@ -47171,14 +46463,6 @@
 #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.
@@ -47252,14 +46536,6 @@
 #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.
@@ -47275,14 +46551,6 @@
 #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.
@@ -48068,14 +47336,6 @@
 #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.
@@ -48091,14 +47351,6 @@
 #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.
@@ -48322,14 +47574,6 @@
 #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.
@@ -48498,14 +47742,6 @@
 #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.
@@ -48830,12 +48066,6 @@
 
 
 #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;
@@ -48885,14 +48115,6 @@
 #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.
@@ -48929,14 +48151,6 @@
 #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.
@@ -48968,14 +48182,6 @@
 #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.
@@ -49529,14 +48735,6 @@
 #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.
@@ -49671,14 +48869,6 @@
 #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.
@@ -49807,14 +48997,6 @@
 #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.
@@ -49866,14 +49048,6 @@
 #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.
@@ -49902,14 +49076,6 @@
 #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.
@@ -50012,14 +49178,6 @@
 #line 67
 allow servicemanager incidentd:binder { call transfer };
 #line 67
-# servicemanager performs getpidcon on clients.
-#line 67
-allow servicemanager incidentd:dir search;
-#line 67
-allow servicemanager incidentd:file { read open };
-#line 67
-allow servicemanager incidentd:process getattr;
-#line 67
 # rw access to /dev/binder and /dev/ashmem is presently granted to
 #line 67
 # all domains in domain.te.
@@ -50035,14 +49193,6 @@
 #line 68
 allow hwservicemanager incidentd:binder { call transfer };
 #line 68
-# hwservicemanager performs getpidcon on clients.
-#line 68
-allow hwservicemanager incidentd:dir search;
-#line 68
-allow hwservicemanager incidentd:file { read open map };
-#line 68
-allow hwservicemanager incidentd:process getattr;
-#line 68
 # rw access to /dev/hwbinder and /dev/ashmem is presently granted to
 #line 68
 # all domains in domain.te.
@@ -50954,14 +50104,6 @@
   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
@@ -50979,14 +50121,6 @@
   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
@@ -51012,14 +50146,6 @@
   -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
@@ -51056,14 +50182,6 @@
   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
@@ -51087,14 +50205,6 @@
   -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
@@ -51124,14 +50234,6 @@
   -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
@@ -51656,14 +50758,6 @@
 #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.
@@ -51737,14 +50831,6 @@
 #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.
@@ -51773,14 +50859,6 @@
 #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.
@@ -52241,14 +51319,6 @@
 #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.
@@ -52315,17 +51385,6 @@
 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
 
 
@@ -52688,14 +51747,6 @@
 #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.
@@ -53399,14 +52450,6 @@
 #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.
@@ -54190,14 +53233,6 @@
 #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.
@@ -54483,14 +53518,6 @@
 #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.
@@ -54721,14 +53748,6 @@
 #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.
@@ -54977,14 +53996,6 @@
 #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.
@@ -55266,14 +54277,6 @@
 #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.
@@ -56031,14 +55034,6 @@
 #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.
@@ -56194,15 +55189,6 @@
 # /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
@@ -56217,31 +55203,31 @@
 # only allow unprivileged socket ioctl commands
 allowxperm mediaserver self:{ rawip_socket tcp_socket udp_socket }
   ioctl { 
-#line 152
+#line 151
 {
-#line 152
+#line 151
 # Socket ioctls for gathering information about the interface
-#line 152
+#line 151
 0x00008906 0x00008907
-#line 152
+#line 151
 0x00008910 0x00008912 0x00008913 0x00008915 0x00008917 0x00008919
-#line 152
+#line 151
 0x0000891b 0x00008921 0x00008933 0x00008938 0x00008942
-#line 152
+#line 151
 # Wireless extension ioctls. Primarily get functions.
-#line 152
+#line 151
 0x00008b01 0x00008b05 0x00008b07 0x00008b09 0x00008b0b 0x00008b0d
-#line 152
+#line 151
 0x00008b0f 0x00008b11 0x00008b12 0x00008b13 0x00008b21 0x00008b23
-#line 152
+#line 151
 0x00008b25 0x00008b27 0x00008b29 0x00008b2d
-#line 152
+#line 151
 } {
-#line 152
+#line 151
   0x00005411 0x00005451 0x00005450 0x00005401 0x00005402 0x00005403 0x00005404 0x00005413 0x00005414
-#line 152
+#line 151
   0x0000540e 0x0000540b 0x00005410 0x0000540f
-#line 152
+#line 151
 } };
 
 # Access to /data/media.
@@ -56269,33 +55255,33 @@
 allow mediaserver vendor_overlay_file:file { read getattr map };
 
 
-#line 178
+#line 177
 typeattribute mediaserver halclientdomain;
-#line 178
+#line 177
 typeattribute mediaserver hal_allocator_client;
-#line 178
+#line 177
 
-#line 178
+#line 177
 # TODO(b/34170079): Make the inclusion of the rules below conditional also on
-#line 178
+#line 177
 # non-Treble devices. For now, on non-Treble device, always grant clients of a
-#line 178
+#line 177
 # HAL sufficient access to run the HAL in passthrough mode (i.e., in-process).
-#line 178
+#line 177
 
-#line 178
+#line 177
 typeattribute mediaserver hal_allocator;
-#line 178
+#line 177
 # Find passthrough HAL implementations
-#line 178
+#line 177
 allow hal_allocator system_file:dir { open getattr read search ioctl lock watch watch_reads };
-#line 178
+#line 177
 allow hal_allocator vendor_file:dir { open getattr read search ioctl lock watch watch_reads };
-#line 178
+#line 177
 allow hal_allocator vendor_file:file { read open getattr execute map };
-#line 178
+#line 177
 
-#line 178
+#line 177
 
 
 ###
@@ -56308,59 +55294,59 @@
 
 # do not allow privileged socket ioctl commands
 neverallowxperm mediaserver domain:{ rawip_socket tcp_socket udp_socket } ioctl 
-#line 189
+#line 188
 {
-#line 189
+#line 188
 # qualcomm rmnet ioctls
-#line 189
+#line 188
 0x00006900 0x00006902
-#line 189
+#line 188
 # socket ioctls
-#line 189
+#line 188
 0x0000890b 0x0000890c 0x0000890d 0x00008911 0x00008914 0x00008916
-#line 189
+#line 188
 0x00008918 0x0000891a 0x0000891c 0x0000891d 0x0000891e 0x0000891f
-#line 189
+#line 188
 0x00008920 0x00008922 0x00008923 0x00008924 0x00008925 0x00008926
-#line 189
+#line 188
 0x00008927 0x00008929 0x00008930 0x00008931 0x00008932
-#line 189
+#line 188
 0x00008934 0x00008935 0x00008936 0x00008937 0x00008939 0x00008940 0x00008941
-#line 189
+#line 188
 0x00008943 0x00008946 0x00008947 0x00008948 0x00008949 0x0000894a
-#line 189
+#line 188
 0x0000894b 0x00008953 0x00008954 0x00008955 0x00008960 0x00008961 0x00008962 0x00008970
-#line 189
+#line 188
 0x00008971 0x00008980 0x00008981 0x00008982 0x00008983 0x00008990
-#line 189
+#line 188
 0x00008991 0x00008992 0x00008993 0x00008994
-#line 189
+#line 188
 0x00008995 0x000089a0 0x000089a1 0x000089a2 0x000089a3 0x000089b0
-#line 189
+#line 188
 # device and protocol specific ioctls
-#line 189
+#line 188
 0x000089f0-0x000089ff
-#line 189
+#line 188
 0x000089e0-0x000089ef
-#line 189
+#line 188
 # Wireless extension ioctls
-#line 189
+#line 188
 0x00008b00 0x00008b02 0x00008b04 0x00008b06 0x00008b08 0x00008b0a
-#line 189
+#line 188
 0x00008b0c 0x00008b0e 0x00008b10 0x00008b14 0x00008b15 0x00008b16 0x00008b17
-#line 189
+#line 188
 0x00008b18 0x00008b19 0x00008b1a 0x00008b1b 0x00008b1c 0x00008b1d
-#line 189
+#line 188
 0x00008b20 0x00008b22 0x00008b24 0x00008b26 0x00008b28 0x00008b2a
-#line 189
+#line 188
 0x00008b2b 0x00008b2c 0x00008b30 0x00008b31 0x00008b32 0x00008b33
-#line 189
+#line 188
 0x00008b34 0x00008b35 0x00008b36
-#line 189
+#line 188
 # Dev private ioctl i.e. hardware specific ioctls
-#line 189
+#line 188
 0x00008be0-0x00008bff
-#line 189
+#line 188
 };
 #line 1 "system/sepolicy/private/mediaswcodec.te"
 typeattribute mediaswcodec coredomain;
@@ -56664,14 +55650,6 @@
 #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.
@@ -57015,14 +55993,6 @@
 #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.
@@ -57245,213 +56215,7 @@
 
 #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 18 "system/sepolicy/private/microfuchsiad.te"
 
 #line 1 "system/sepolicy/private/migrate_legacy_obb_data.te"
 type migrate_legacy_obb_data, domain, coredomain;
@@ -57578,7 +56342,7 @@
 } {
   app_data_file
   privapp_data_file
-  storage_area_content_file
+  
 }:file ~{ read write map getattr ioctl lock append };
 
 neverallow {
@@ -57588,24 +56352,9 @@
 } {
   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
 
 
@@ -57620,32 +56369,9 @@
 } {
   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"
@@ -57833,14 +56559,6 @@
 #line 14
 allow servicemanager mmd:binder { call transfer };
 #line 14
-# servicemanager performs getpidcon on clients.
-#line 14
-allow servicemanager mmd:dir search;
-#line 14
-allow servicemanager mmd:file { read open };
-#line 14
-allow servicemanager mmd:process getattr;
-#line 14
 # rw access to /dev/binder and /dev/ashmem is presently granted to
 #line 14
 # all domains in domain.te.
@@ -58364,14 +57082,6 @@
 #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.
@@ -58464,14 +57174,6 @@
 #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.
@@ -58625,14 +57327,6 @@
 #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.
@@ -59481,14 +58175,6 @@
 #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.
@@ -59498,12 +58184,6 @@
 # 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;
@@ -59835,14 +58515,6 @@
 #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.
@@ -60297,14 +58969,6 @@
 #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.
@@ -60533,14 +59197,6 @@
 #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.
@@ -61180,14 +59836,6 @@
 #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.
@@ -65715,14 +64363,6 @@
 #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.
@@ -65978,14 +64618,6 @@
 #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.
@@ -66057,14 +64689,6 @@
 #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.
@@ -66128,14 +64752,6 @@
 #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.
@@ -67492,6 +66108,9 @@
 #line 39
 
 
+
+#line 41
+    type supervision_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
 #line 43
 
 type tracingproxy_service,          system_server_service, service_manager_type;
@@ -67515,9 +66134,6 @@
     type vmnic_service,        service_manager_type;
 #line 57
 
-
-#line 58
-    type microfuchsia_service,          service_manager_type;
 #line 60
 
 
@@ -69314,14 +67930,6 @@
 #line 382
 allow hwservicemanager shell:binder { call transfer };
 #line 382
-# hwservicemanager performs getpidcon on clients.
-#line 382
-allow hwservicemanager shell:dir search;
-#line 382
-allow hwservicemanager shell:file { read open map };
-#line 382
-allow hwservicemanager shell:process getattr;
-#line 382
 # rw access to /dev/hwbinder and /dev/ashmem is presently granted to
 #line 382
 # all domains in domain.te.
@@ -69985,14 +68593,6 @@
 #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.
@@ -70021,14 +68621,6 @@
 #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.
@@ -70120,14 +68712,6 @@
 #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.
@@ -70186,14 +68770,6 @@
 #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.
@@ -70518,14 +69094,6 @@
 #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.
@@ -70623,14 +69191,6 @@
 #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.
@@ -70856,14 +69416,6 @@
 #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.
@@ -71338,14 +69890,6 @@
 #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.
@@ -71668,14 +70212,6 @@
 #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.
@@ -72947,14 +71483,6 @@
 #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.
@@ -73573,14 +72101,6 @@
 #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.
@@ -78446,14 +76966,6 @@
 #line 1483
 allow hwservicemanager system_server:binder { call transfer };
 #line 1483
-# hwservicemanager performs getpidcon on clients.
-#line 1483
-allow hwservicemanager system_server:dir search;
-#line 1483
-allow hwservicemanager system_server:file { read open map };
-#line 1483
-allow hwservicemanager system_server:process getattr;
-#line 1483
 # rw access to /dev/hwbinder and /dev/ashmem is presently granted to
 #line 1483
 # all domains in domain.te.
@@ -78482,14 +76994,6 @@
 #line 1483
 allow servicemanager system_server:binder { call transfer };
 #line 1483
-# servicemanager performs getpidcon on clients.
-#line 1483
-allow servicemanager system_server:dir search;
-#line 1483
-allow servicemanager system_server:file { read open };
-#line 1483
-allow servicemanager system_server:process getattr;
-#line 1483
 # rw access to /dev/binder and /dev/ashmem is presently granted to
 #line 1483
 # all domains in domain.te.
@@ -78930,14 +77434,6 @@
 #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.
@@ -79080,14 +77576,6 @@
 #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.
@@ -79380,14 +77868,6 @@
 #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.
@@ -81974,14 +80454,6 @@
 #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.
@@ -82080,14 +80552,6 @@
 #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.
@@ -82116,14 +80580,6 @@
 #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.
@@ -82155,14 +80611,6 @@
 #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.
@@ -82794,14 +81242,6 @@
 #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.
@@ -83043,14 +81483,6 @@
 #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.
@@ -83132,14 +81564,6 @@
 #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.
@@ -83156,14 +81580,6 @@
 #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.
@@ -84711,14 +83127,6 @@
 #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.
@@ -84824,14 +83232,6 @@
 #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.
@@ -85261,14 +83661,6 @@
 #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.
@@ -85339,14 +83731,6 @@
 #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.
@@ -85706,14 +84090,6 @@
 #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.
@@ -86411,14 +84787,6 @@
 #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.
@@ -86943,35 +85311,11 @@
 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
 
 
@@ -87063,7 +85407,7 @@
 allowxperm vold {
   vold_data_file
   vold_metadata_file
-  storage_area_key_file
+  
 }:file ioctl {
   0xf514
   0xc020660b
@@ -87247,14 +85591,6 @@
 #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.
@@ -87283,14 +85619,6 @@
 #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.
@@ -87310,14 +85638,6 @@
 #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.
@@ -87552,7 +85872,7 @@
   -vold
   -init
   -vendor_init
-   -vold_prepare_subdirs 
+  
 } data_file_type:dir ioctl { 0x800c6613 };
 
 # Only vold should ever add/remove file-based encryption keys.
@@ -87686,7 +86006,7 @@
     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
@@ -87715,71 +86035,9 @@
 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
 
 
@@ -88165,14 +86423,6 @@
 #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.
@@ -88510,14 +86760,6 @@
 #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.
@@ -88635,14 +86877,6 @@
 #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.
diff --git a/prebuilts/api/202504/202504_plat_sepolicy.cil b/prebuilts/api/202504/202504_plat_sepolicy.cil
index 7aec371..8cd4236 100644
--- a/prebuilts/api/202504/202504_plat_sepolicy.cil
+++ b/prebuilts/api/202504/202504_plat_sepolicy.cil
@@ -695,7 +695,7 @@
 (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 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 ))
+(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 migrate_legacy_obb_data misctrl mm_events mmd mtectrl odrefresh odsign ot_ctl ot_daemon otapreopt_chroot otapreopt_slot 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)
@@ -703,9 +703,9 @@
 (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 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 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 ))
+(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 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 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 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 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 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 ))
+(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 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 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 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 ))
@@ -716,7 +716,7 @@
 (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 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 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 ))
+(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 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 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 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)
@@ -774,17 +774,17 @@
 (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 ))
+(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 supervision_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 ))
+(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 supervision_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 ))
+(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 supervision_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 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 fwk_vold_service wearable_sensing_service wifi_mainline_supplicant_service dynamic_instrumentation_service advanced_protection_service ranging_service ))
+(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 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 supervision_service tracingproxy_service tradeinmode_service transparency_service vfio_handler_service virtualization_maintenance_service vm_tethering_service vmnic_service uce_service fwk_vold_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)
@@ -823,7 +823,7 @@
 (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 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 ))
+(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 migrate_legacy_obb_data misctrl mm_events mmd mtectrl odrefresh odsign ot_ctl ot_daemon otapreopt_chroot otapreopt_slot 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)
@@ -4730,10 +4730,6 @@
 (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)
@@ -5096,6 +5092,8 @@
 (roletype object_r statscompanion_service)
 (type statsmanager_service)
 (roletype object_r statsmanager_service)
+(type supervision_service)
+(roletype object_r supervision_service)
 (type tracingproxy_service)
 (roletype object_r tracingproxy_service)
 (type tradeinmode_service)
@@ -5110,8 +5108,6 @@
 (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 fwk_vold_service)
@@ -8846,9 +8842,6 @@
 (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)))
@@ -8976,9 +8969,6 @@
 (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
 
@@ -9254,9 +9244,6 @@
 (allow base_typeattr_250 logd (unix_stream_socket (connectto)))
 (allow base_typeattr_251 keystore (keystore2_key (delete get_info grant rebind update use)))
 (allow base_typeattr_251 keystore_maintenance_service (service_manager (find)))
-(allow keystore base_typeattr_251 (dir (search)))
-(allow keystore base_typeattr_251 (file (read open)))
-(allow keystore base_typeattr_251 (process (getattr)))
 (allow base_typeattr_251 apc_service (service_manager (find)))
 (allow base_typeattr_251 keystore_service (service_manager (find)))
 (allow base_typeattr_251 legacykeystore_service (service_manager (find)))
@@ -9266,9 +9253,6 @@
 (allow keystore base_typeattr_251 (binder (call transfer)))
 (allow base_typeattr_251 keystore (binder (transfer)))
 (allow keystore base_typeattr_251 (fd (use)))
-(allow credstore base_typeattr_251 (dir (search)))
-(allow credstore base_typeattr_251 (file (read open)))
-(allow credstore base_typeattr_251 (process (getattr)))
 (allow base_typeattr_251 credstore_service (service_manager (find)))
 (allow base_typeattr_251 credstore (binder (call transfer)))
 (allow credstore base_typeattr_251 (binder (transfer)))
@@ -9331,19 +9315,13 @@
 (allow appdomain surfaceflinger (unix_stream_socket (read write getattr getopt setopt shutdown)))
 (allow base_typeattr_253 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_253 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_253 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_253 app_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
 (allow base_typeattr_253 privapp_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
-(allow base_typeattr_253 storage_area_content_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
-(allow base_typeattr_253 storage_area_app_dir (dir (ioctl read getattr lock open watch watch_reads search)))
-(allow base_typeattr_253 storage_area_dir (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
 (allowx base_typeattr_253 app_data_file (ioctl file (0x6686)))
 (allowx base_typeattr_253 privapp_data_file (ioctl file (0x6686)))
-(allowx base_typeattr_253 storage_area_content_file (ioctl file (0x6686)))
 (allow base_typeattr_252 app_data_file (file (read write getattr map)))
 (allow base_typeattr_252 privapp_data_file (file (read write getattr map)))
 (allow base_typeattr_252 system_app_data_file (file (read write getattr map)))
-(allow base_typeattr_252 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)))
@@ -9402,9 +9380,6 @@
 (allow base_typeattr_254 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)))
@@ -9925,11 +9900,6 @@
 (neverallow base_typeattr_262 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_251 storage_area_dir fifo_file storage_area_content_file)
-(typetransition base_typeattr_251 storage_area_dir sock_file storage_area_content_file)
-(typetransition base_typeattr_251 storage_area_dir lnk_file storage_area_content_file)
-(typetransition base_typeattr_251 storage_area_dir dir storage_area_content_file)
-(typetransition base_typeattr_251 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)))
@@ -10315,22 +10285,6 @@
 (neverallow base_typeattr_275 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_276 dex2oat_exec (file (execute execute_no_trans)))
@@ -11981,9 +11935,6 @@
 (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
 
@@ -12144,9 +12095,6 @@
 (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)))
@@ -12171,9 +12119,6 @@
 (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)))
@@ -12243,17 +12188,11 @@
 (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
@@ -12297,14 +12236,8 @@
 (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)))
@@ -12334,9 +12267,6 @@
 (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)))
@@ -12355,9 +12285,6 @@
 (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)))
@@ -12470,17 +12397,11 @@
 (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)))
@@ -12583,9 +12504,6 @@
 (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)))
@@ -12594,9 +12512,6 @@
 (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)))
@@ -12899,9 +12814,6 @@
 (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)))
@@ -12980,9 +12892,6 @@
 (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)))
@@ -13032,17 +12941,11 @@
 (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)))
@@ -13096,9 +12999,6 @@
 
 (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)))
@@ -13144,9 +13044,6 @@
 (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
 
@@ -13439,9 +13336,6 @@
 (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)))
@@ -13569,7 +13463,6 @@
 (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
@@ -13730,9 +13623,6 @@
 
 (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
 
@@ -13914,9 +13804,6 @@
 (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)))
@@ -15358,78 +15245,34 @@
 (neverallow base_typeattr_435 privapp_data_file (blk_file (create unlink)))
 (neverallow base_typeattr_435 privapp_data_file (sock_file (create unlink)))
 (neverallow base_typeattr_435 privapp_data_file (fifo_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (dir (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (lnk_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (chr_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (blk_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (sock_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (fifo_file (create unlink)))
-;;* lme
-
-;;* lmx 1645 system/sepolicy/private/domain.te
-
-(neverallow base_typeattr_452 storage_area_app_dir (dir (create unlink)))
-(neverallow base_typeattr_452 storage_area_dir (dir (create unlink)))
 ;;* lme
 
 ;;* lmx 1672 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_453 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_453 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_453 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 1674 system/sepolicy/private/domain.te
-
-(neverallow base_typeattr_454 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_454 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 1689 system/sepolicy/private/domain.te
-
-(neverallow base_typeattr_455 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_455 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_455 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_455 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_455 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_455 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_455 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)))
+(neverallow base_typeattr_452 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_452 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)))
 ;;* lme
 
 ;;* lmx 1713 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_456 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_456 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_456 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 1715 system/sepolicy/private/domain.te
-
-(neverallow base_typeattr_457 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_457 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)))
+(neverallow base_typeattr_453 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_453 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)))
 ;;* lme
 
 ;;* lmx 1737 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_458 app_data_file (file (open)))
-(neverallow base_typeattr_458 app_data_file (lnk_file (open)))
-(neverallow base_typeattr_458 app_data_file (chr_file (open)))
-(neverallow base_typeattr_458 app_data_file (blk_file (open)))
-(neverallow base_typeattr_458 app_data_file (sock_file (open)))
-(neverallow base_typeattr_458 app_data_file (fifo_file (open)))
-(neverallow base_typeattr_458 privapp_data_file (file (open)))
-(neverallow base_typeattr_458 privapp_data_file (lnk_file (open)))
-(neverallow base_typeattr_458 privapp_data_file (chr_file (open)))
-(neverallow base_typeattr_458 privapp_data_file (blk_file (open)))
-(neverallow base_typeattr_458 privapp_data_file (sock_file (open)))
-(neverallow base_typeattr_458 privapp_data_file (fifo_file (open)))
-(neverallow base_typeattr_458 storage_area_content_file (file (open)))
-(neverallow base_typeattr_458 storage_area_content_file (lnk_file (open)))
-(neverallow base_typeattr_458 storage_area_content_file (chr_file (open)))
-(neverallow base_typeattr_458 storage_area_content_file (blk_file (open)))
-(neverallow base_typeattr_458 storage_area_content_file (sock_file (open)))
-(neverallow base_typeattr_458 storage_area_content_file (fifo_file (open)))
+(neverallow base_typeattr_454 app_data_file (file (open)))
+(neverallow base_typeattr_454 app_data_file (lnk_file (open)))
+(neverallow base_typeattr_454 app_data_file (chr_file (open)))
+(neverallow base_typeattr_454 app_data_file (blk_file (open)))
+(neverallow base_typeattr_454 app_data_file (sock_file (open)))
+(neverallow base_typeattr_454 app_data_file (fifo_file (open)))
+(neverallow base_typeattr_454 privapp_data_file (file (open)))
+(neverallow base_typeattr_454 privapp_data_file (lnk_file (open)))
+(neverallow base_typeattr_454 privapp_data_file (chr_file (open)))
+(neverallow base_typeattr_454 privapp_data_file (blk_file (open)))
+(neverallow base_typeattr_454 privapp_data_file (sock_file (open)))
+(neverallow base_typeattr_454 privapp_data_file (fifo_file (open)))
 ;;* lme
 
 ;;* lmx 1748 system/sepolicy/private/domain.te
@@ -15448,64 +15291,44 @@
 (neverallow base_typeattr_435 privapp_data_file (blk_file (create unlink)))
 (neverallow base_typeattr_435 privapp_data_file (sock_file (create unlink)))
 (neverallow base_typeattr_435 privapp_data_file (fifo_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (dir (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (lnk_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (chr_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (blk_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (sock_file (create unlink)))
-(neverallow base_typeattr_435 storage_area_content_file (fifo_file (create unlink)))
 ;;* lme
 
 ;;* lmx 1758 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_459 app_data_file (file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 app_data_file (dir (relabelfrom relabelto)))
-(neverallow base_typeattr_459 app_data_file (lnk_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 app_data_file (chr_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 app_data_file (blk_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 app_data_file (sock_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 app_data_file (fifo_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (dir (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (lnk_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (chr_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (blk_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (sock_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 privapp_data_file (fifo_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (dir (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (lnk_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (chr_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (blk_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (sock_file (relabelfrom relabelto)))
-(neverallow base_typeattr_459 storage_area_content_file (fifo_file (relabelfrom relabelto)))
-;;* lme
-
-;;* lmx 1760 system/sepolicy/private/domain.te
-
-(neverallow base_typeattr_452 storage_area_app_dir (dir (relabelfrom relabelto)))
-(neverallow base_typeattr_452 storage_area_dir (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (lnk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (chr_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (blk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (sock_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 app_data_file (fifo_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (dir (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (lnk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (chr_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (blk_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (sock_file (relabelfrom relabelto)))
+(neverallow base_typeattr_455 privapp_data_file (fifo_file (relabelfrom relabelto)))
 ;;* lme
 
 ;;* lmx 1783 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_460 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)))
+(neverallow base_typeattr_456 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 1798 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_461 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)))
+(neverallow base_typeattr_457 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 1800 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_462 staging_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_458 staging_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
 ;;* lme
 
 ;;* lmx 1805 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_463 staging_data_file (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow base_typeattr_459 staging_data_file (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
 ;;* lme
 
 ;;* lmx 1809 system/sepolicy/private/domain.te
@@ -15515,12 +15338,12 @@
 
 ;;* lmx 1816 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_464 base_typeattr_465 (file (execute)))
+(neverallow base_typeattr_460 base_typeattr_461 (file (execute)))
 ;;* lme
 
 ;;* lmx 1846 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_466 base_typeattr_467 (file (execute)))
+(neverallow base_typeattr_462 base_typeattr_463 (file (execute)))
 ;;* lme
 
 ;;* lmx 1853 system/sepolicy/private/domain.te
@@ -15530,22 +15353,22 @@
 
 ;;* lmx 1866 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_468 dalvikcache_data_file (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_464 dalvikcache_data_file (file (write create setattr relabelfrom append unlink link rename)))
 ;;* lme
 
 ;;* lmx 1878 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_468 dalvikcache_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_464 dalvikcache_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
 ;;* lme
 
 ;;* lmx 1893 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_469 apex_art_data_file (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_465 apex_art_data_file (file (write create setattr relabelfrom append unlink link rename)))
 ;;* lme
 
 ;;* lmx 1906 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_469 apex_art_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_465 apex_art_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
 ;;* lme
 
 ;;* lmx 1918 system/sepolicy/private/domain.te
@@ -15555,35 +15378,35 @@
 
 ;;* lmx 1946 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_470 self (capability (dac_override)))
-(neverallow base_typeattr_470 self (cap_userns (dac_override)))
+(neverallow base_typeattr_466 self (capability (dac_override)))
+(neverallow base_typeattr_466 self (cap_userns (dac_override)))
 ;;* lme
 
 ;;* lmx 1956 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_471 self (capability (dac_read_search)))
-(neverallow base_typeattr_471 self (cap_userns (dac_read_search)))
+(neverallow base_typeattr_467 self (capability (dac_read_search)))
+(neverallow base_typeattr_467 self (cap_userns (dac_read_search)))
 ;;* lme
 
 ;;* lmx 1976 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_472 base_typeattr_473 (filesystem (mount remount relabelfrom relabelto)))
+(neverallow base_typeattr_468 base_typeattr_469 (filesystem (mount remount relabelfrom relabelto)))
 ;;* lme
 
 ;;* lmx 1978 system/sepolicy/private/domain.te
 
-(neverallow domain base_typeattr_474 (filesystem (mount remount relabelfrom relabelto)))
+(neverallow domain base_typeattr_470 (filesystem (mount remount relabelfrom relabelto)))
 ;;* lme
 
 ;;* lmx 1997 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_475 self (capability (sys_rawio)))
-(neverallow base_typeattr_475 self (cap_userns (sys_rawio)))
+(neverallow base_typeattr_471 self (capability (sys_rawio)))
+(neverallow base_typeattr_471 self (cap_userns (sys_rawio)))
 ;;* lme
 
 ;;* lmx 2006 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_476 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)))
+(neverallow base_typeattr_472 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 2009 system/sepolicy/private/domain.te
@@ -15608,12 +15431,12 @@
 
 ;;* lmx 2017 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_477 firstboot_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow base_typeattr_473 firstboot_prop (file (ioctl read getattr lock map open watch watch_reads)))
 ;;* lme
 
 ;;* lmx 2021 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_478 dalvik_config_prop (property_service (set)))
+(neverallow base_typeattr_474 dalvik_config_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 2024 system/sepolicy/private/domain.te
@@ -15623,78 +15446,78 @@
 
 ;;* lmx 2028 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_479 vendor_file (file (write create setattr relabelfrom append unlink link rename execute open execute_no_trans)))
+(neverallow base_typeattr_475 vendor_file (file (write create setattr relabelfrom append unlink link rename execute open execute_no_trans)))
 ;;* lme
 
 ;;* lmx 2045 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_480 base_typeattr_481 (socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (tcp_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (udp_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (rawip_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (packet_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (key_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (unix_stream_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (unix_dgram_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_route_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_tcpdiag_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_nflog_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_xfrm_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_selinux_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_audit_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_dnrt_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_kobject_uevent_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (appletalk_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (tun_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_iscsi_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_fib_lookup_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_connector_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_netfilter_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_generic_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_scsitransport_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_rdma_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netlink_crypto_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (sctp_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (icmp_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (ax25_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (ipx_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (netrom_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (atmpvc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (x25_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (rose_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (decnet_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (atmsvc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (rds_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (irda_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (pppox_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (llc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (can_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (tipc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (bluetooth_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (iucv_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (rxrpc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (isdn_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (phonet_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (ieee802154_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (caif_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (alg_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (nfc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (vsock_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (kcm_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (qipcrtr_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (smc_socket (connect sendto)))
-(neverallow base_typeattr_480 base_typeattr_481 (xdp_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (tcp_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (udp_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (rawip_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (packet_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (key_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (unix_stream_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (unix_dgram_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_route_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_tcpdiag_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_nflog_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_xfrm_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_selinux_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_audit_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_dnrt_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_kobject_uevent_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (appletalk_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (tun_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_iscsi_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_fib_lookup_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_connector_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_netfilter_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_generic_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_scsitransport_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_rdma_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netlink_crypto_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (sctp_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (icmp_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (ax25_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (ipx_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (netrom_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (atmpvc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (x25_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (rose_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (decnet_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (atmsvc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (rds_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (irda_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (pppox_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (llc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (can_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (tipc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (bluetooth_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (iucv_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (rxrpc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (isdn_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (phonet_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (ieee802154_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (caif_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (alg_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (nfc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (vsock_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (kcm_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (qipcrtr_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (smc_socket (connect sendto)))
+(neverallow base_typeattr_476 base_typeattr_477 (xdp_socket (connect sendto)))
 ;;* lme
 
 ;;* lmx 2045 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_480 base_typeattr_481 (unix_stream_socket (connectto)))
+(neverallow base_typeattr_476 base_typeattr_477 (unix_stream_socket (connectto)))
 ;;* lme
 
 ;;* lmx 2066 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_482 base_typeattr_483 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink 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_478 base_typeattr_479 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map 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 2113 system/sepolicy/private/domain.te
@@ -15704,20 +15527,20 @@
 
 ;;* lmx 2117 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_484 system_file_type (file (mounton)))
-(neverallow base_typeattr_484 system_file_type (dir (mounton)))
-(neverallow base_typeattr_484 system_file_type (lnk_file (mounton)))
-(neverallow base_typeattr_484 system_file_type (chr_file (mounton)))
-(neverallow base_typeattr_484 system_file_type (blk_file (mounton)))
-(neverallow base_typeattr_484 system_file_type (sock_file (mounton)))
-(neverallow base_typeattr_484 system_file_type (fifo_file (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (file (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (dir (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (lnk_file (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (chr_file (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (blk_file (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (sock_file (mounton)))
-(neverallow base_typeattr_484 vendor_file_type (fifo_file (mounton)))
+(neverallow base_typeattr_480 system_file_type (file (mounton)))
+(neverallow base_typeattr_480 system_file_type (dir (mounton)))
+(neverallow base_typeattr_480 system_file_type (lnk_file (mounton)))
+(neverallow base_typeattr_480 system_file_type (chr_file (mounton)))
+(neverallow base_typeattr_480 system_file_type (blk_file (mounton)))
+(neverallow base_typeattr_480 system_file_type (sock_file (mounton)))
+(neverallow base_typeattr_480 system_file_type (fifo_file (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (file (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (dir (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (lnk_file (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (chr_file (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (blk_file (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (sock_file (mounton)))
+(neverallow base_typeattr_480 vendor_file_type (fifo_file (mounton)))
 ;;* lme
 
 ;;* lmx 2126 system/sepolicy/private/domain.te
@@ -15727,53 +15550,53 @@
 
 ;;* lmx 2145 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_485 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)))
+(neverallow base_typeattr_481 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 2151 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_486 base_typeattr_487 (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_482 base_typeattr_483 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
 ;;* lme
 
 ;;* lmx 2167 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_488 sysfs_devices_cs_etm (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_484 sysfs_devices_cs_etm (file (write create setattr relabelfrom append unlink link rename)))
 ;;* lme
 
 ;;* lmx 2177 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_489 self (capability2 (perfmon)))
+(neverallow base_typeattr_485 self (capability2 (perfmon)))
 ;;* lme
 
 ;;* lmx 2197 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_490 shell_data_file (file (open)))
+(neverallow base_typeattr_486 shell_data_file (file (open)))
 ;;* lme
 
 ;;* lmx 2215 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_491 shell_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_487 shell_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
 ;;* lme
 
 ;;* lmx 2228 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_492 shell_data_file (dir (open)))
+(neverallow base_typeattr_488 shell_data_file (dir (open)))
 ;;* lme
 
 ;;* lmx 2243 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_492 shell_data_file (dir (search)))
+(neverallow base_typeattr_488 shell_data_file (dir (search)))
 ;;* lme
 
 ;;* lmx 2255 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_493 system_app_data_file (file (create unlink open)))
-(neverallow base_typeattr_493 system_app_data_file (dir (create unlink open)))
-(neverallow base_typeattr_493 system_app_data_file (lnk_file (create unlink open)))
-(neverallow base_typeattr_493 system_app_data_file (chr_file (create unlink open)))
-(neverallow base_typeattr_493 system_app_data_file (blk_file (create unlink open)))
-(neverallow base_typeattr_493 system_app_data_file (sock_file (create unlink open)))
-(neverallow base_typeattr_493 system_app_data_file (fifo_file (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (file (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (dir (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (lnk_file (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (chr_file (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (blk_file (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (sock_file (create unlink open)))
+(neverallow base_typeattr_489 system_app_data_file (fifo_file (create unlink open)))
 ;;* lme
 
 ;;* lmx 2262 system/sepolicy/private/domain.te
@@ -15827,25 +15650,25 @@
 
 ;;* lmx 2268 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_494 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_494 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)))
+(neverallow base_typeattr_490 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_490 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 2270 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_495 proc (file (mounton)))
-(neverallow base_typeattr_495 proc (dir (mounton)))
+(neverallow base_typeattr_491 proc (file (mounton)))
+(neverallow base_typeattr_491 proc (dir (mounton)))
 ;;* lme
 
 ;;* lmx 2271 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_496 proc_type (file (mounton)))
-(neverallow base_typeattr_496 proc_type (dir (mounton)))
+(neverallow base_typeattr_492 proc_type (file (mounton)))
+(neverallow base_typeattr_492 proc_type (dir (mounton)))
 ;;* lme
 
 ;;* lmx 2275 system/sepolicy/private/domain.te
 
-(neverallow base_typeattr_497 sysfs_pgsize_migration (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_493 sysfs_pgsize_migration (file (write create setattr relabelfrom append unlink link rename)))
 ;;* lme
 
 ;;* lmx 2278 system/sepolicy/private/domain.te
@@ -15863,9 +15686,6 @@
 (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)))
@@ -15908,7 +15728,7 @@
 (allow drmserver drmserver_service (service_manager (add find)))
 ;;* lmx 61 system/sepolicy/private/drmserver.te
 
-(neverallow base_typeattr_498 drmserver_service (service_manager (add)))
+(neverallow base_typeattr_494 drmserver_service (service_manager (add)))
 ;;* lme
 
 (allow drmserver permission_service (service_manager (find)))
@@ -16051,9 +15871,6 @@
 (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)))
@@ -16063,17 +15880,11 @@
 (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)))
@@ -16309,7 +16120,7 @@
 (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_499 (service_manager (find)))
+(allow dumpstate base_typeattr_495 (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)))
@@ -16328,7 +16139,7 @@
 (allow dumpstate dumpstate_service (service_manager (add find)))
 ;;* lmx 499 system/sepolicy/private/dumpstate.te
 
-(neverallow base_typeattr_500 dumpstate_service (service_manager (add)))
+(neverallow base_typeattr_496 dumpstate_service (service_manager (add)))
 ;;* lme
 
 (allow dumpstate ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
@@ -16551,17 +16362,17 @@
 
 ;;* lmx 586 system/sepolicy/private/dumpstate.te
 
-(neverallow base_typeattr_501 dumpstate_service (service_manager (find)))
+(neverallow base_typeattr_497 dumpstate_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 596 system/sepolicy/private/dumpstate.te
 
-(neverallow base_typeattr_502 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)))
+(neverallow base_typeattr_498 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_502 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)))
+(neverallow base_typeattr_498 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)))
@@ -16594,9 +16405,6 @@
 (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)))
@@ -16627,17 +16435,17 @@
 (allow early_virtmgr kmsg_debug_device (chr_file (write lock append map open)))
 ;;* lmx 1 system/sepolicy/private/early_virtmgr.te
 
-(neverallow base_typeattr_503 vm_data_file (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_499 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_504 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)))
+(neverallow base_typeattr_500 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_505 early_virtmgr (vsock_socket (create bind connect listen accept)))
+(neverallow base_typeattr_501 early_virtmgr (vsock_socket (create bind connect listen accept)))
 ;;* lme
 
 (typetransition ephemeral_app tmpfs file appdomain_tmpfs)
@@ -16645,23 +16453,23 @@
 (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_506 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)))
+(neverallow base_typeattr_502 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_507 base_typeattr_506 (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_503 base_typeattr_502 (file (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_508 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)))
+(neverallow base_typeattr_504 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_509 ephemeral_app (process (ptrace)))
+(neverallow base_typeattr_505 ephemeral_app (process (ptrace)))
 ;;* lme
 
 (allow ephemeral_app sdcard_type (file (ioctl read write getattr lock append)))
@@ -16752,14 +16560,11 @@
 (allow evsmanagerd evsmanagerd_service (service_manager (add find)))
 ;;* lmx 13 system/sepolicy/private/evsmanagerd.te
 
-(neverallow base_typeattr_510 evsmanagerd_service (service_manager (add)))
+(neverallow base_typeattr_506 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)))
@@ -16793,7 +16598,7 @@
 (allow fastbootd self (io_uring (sqpoll)))
 ;;* lmx 170 system/sepolicy/private/fastbootd.te
 
-(neverallow base_typeattr_511 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)))
+(neverallow base_typeattr_507 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)))
@@ -16831,21 +16636,15 @@
 (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_512 fingerprintd_service (service_manager (add)))
+(neverallow base_typeattr_508 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)))
@@ -17007,17 +16806,17 @@
 (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_513 server_configurable_flags_data_file (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_509 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_513 device_config_boot_count_prop (property_service (set)))
+(neverallow base_typeattr_509 device_config_boot_count_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 61 system/sepolicy/private/flags_health_check.te
 
-(neverallow base_typeattr_513 device_config_reset_performed_prop (property_service (set)))
+(neverallow base_typeattr_509 device_config_reset_performed_prop (property_service (set)))
 ;;* lme
 
 (allow init fsck_exec (file (read getattr map execute open)))
@@ -17060,7 +16859,7 @@
 
 ;;* lmx 80 system/sepolicy/private/fsck.te
 
-(neverallow base_typeattr_514 fsck (process (transition)))
+(neverallow base_typeattr_510 fsck (process (transition)))
 ;;* lme
 
 ;;* lmx 81 system/sepolicy/private/fsck.te
@@ -17070,7 +16869,7 @@
 
 ;;* lmx 82 system/sepolicy/private/fsck.te
 
-(neverallow fsck base_typeattr_515 (file (entrypoint)))
+(neverallow fsck base_typeattr_511 (file (entrypoint)))
 ;;* lme
 
 (allow fsck system_bootstrap_lib_file (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -17108,7 +16907,7 @@
 
 ;;* lmx 50 system/sepolicy/private/fsck_untrusted.te
 
-(neverallow fsck_untrusted base_typeattr_515 (file (entrypoint)))
+(neverallow fsck_untrusted base_typeattr_511 (file (entrypoint)))
 ;;* lme
 
 ;;* lmx 55 system/sepolicy/private/fsck_untrusted.te
@@ -17131,7 +16930,7 @@
 (allow fuseblkd mnt_media_rw_stub_file (dir (mounton)))
 ;;* lmx 30 system/sepolicy/private/fuseblkd.te
 
-(neverallow base_typeattr_516 fuseblkd (process (transition)))
+(neverallow base_typeattr_512 fuseblkd (process (transition)))
 ;;* lme
 
 ;;* lmx 31 system/sepolicy/private/fuseblkd.te
@@ -17141,7 +16940,7 @@
 
 ;;* lmx 32 system/sepolicy/private/fuseblkd.te
 
-(neverallow fuseblkd base_typeattr_517 (file (entrypoint)))
+(neverallow fuseblkd base_typeattr_513 (file (entrypoint)))
 ;;* lme
 
 (allow fuseblkd_untrusted fuseblkd_exec (file (read getattr map execute open)))
@@ -17190,7 +16989,7 @@
 
 ;;* lmx 70 system/sepolicy/private/fuseblkd_untrusted.te
 
-(neverallow fuseblkd_untrusted base_typeattr_518 (file (entrypoint)))
+(neverallow fuseblkd_untrusted base_typeattr_514 (file (entrypoint)))
 ;;* lme
 
 ;;* lmx 77 system/sepolicy/private/fuseblkd_untrusted.te
@@ -17225,20 +17024,14 @@
 (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_519 gatekeeper_service (service_manager (add)))
+(neverallow base_typeattr_515 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)))
@@ -17266,9 +17059,6 @@
 (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)))
@@ -17279,23 +17069,23 @@
 (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_520 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)))
+(neverallow base_typeattr_516 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_521 base_typeattr_520 (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_517 base_typeattr_516 (file (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_522 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)))
+(neverallow base_typeattr_518 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_523 gmscore_app (process (ptrace)))
+(neverallow base_typeattr_519 gmscore_app (process (ptrace)))
 ;;* lme
 
 (allow gmscore_app sysfs_type (dir (search)))
@@ -17392,7 +17182,7 @@
 (allow gmscore_app quick_start_prop (file (read getattr map open)))
 ;;* lmx 159 system/sepolicy/private/gmscore_app.te
 
-(neverallow base_typeattr_524 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)))
+(neverallow base_typeattr_520 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)))
@@ -17500,18 +17290,12 @@
 (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)))
@@ -17542,7 +17326,7 @@
 (allow gpuservice gpu_service (service_manager (add find)))
 ;;* lmx 61 system/sepolicy/private/gpuservice.te
 
-(neverallow base_typeattr_525 gpu_service (service_manager (add)))
+(neverallow base_typeattr_521 gpu_service (service_manager (add)))
 ;;* lme
 
 (allow gpuservice property_socket (sock_file (write)))
@@ -17551,7 +17335,7 @@
 (allow gpuservice graphics_config_writable_prop (file (read getattr map open)))
 ;;* lmx 66 system/sepolicy/private/gpuservice.te
 
-(neverallow base_typeattr_526 graphics_config_writable_prop (property_service (set)))
+(neverallow base_typeattr_522 graphics_config_writable_prop (property_service (set)))
 ;;* lme
 
 (allow gpuservice permission_service (service_manager (find)))
@@ -17563,13 +17347,10 @@
 (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_527 gsi_service (service_manager (add)))
+(neverallow base_typeattr_523 gsi_service (service_manager (add)))
 ;;* lme
 
 (allow gsid vold_service (service_manager (find)))
@@ -17617,7 +17398,7 @@
 (allow gsid self (cap_userns (sys_rawio)))
 ;;* lmx 104 system/sepolicy/private/gsid.te
 
-(neverallow base_typeattr_528 gsid_prop (property_service (set)))
+(neverallow base_typeattr_524 gsid_prop (property_service (set)))
 ;;* lme
 
 (allow gsid userdata_block_device (blk_file (ioctl read getattr lock map open watch watch_reads)))
@@ -17638,27 +17419,27 @@
 (allow gsid system_server (binder (call)))
 ;;* lmx 176 system/sepolicy/private/gsid.te
 
-(neverallow base_typeattr_529 gsi_metadata_file_type (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow base_typeattr_525 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_529 base_typeattr_530 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink 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_529 base_typeattr_530 (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_529 base_typeattr_530 (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_529 base_typeattr_530 (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_529 base_typeattr_530 (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_529 base_typeattr_530 (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_525 base_typeattr_526 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink 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_525 base_typeattr_526 (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_525 base_typeattr_526 (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_525 base_typeattr_526 (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_525 base_typeattr_526 (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_525 base_typeattr_526 (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_529 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_529 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_529 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_529 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_529 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_529 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)))
+(neverallow base_typeattr_525 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_525 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_525 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_525 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_525 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_525 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
@@ -17674,23 +17455,23 @@
 
 ;;* lmx 202 system/sepolicy/private/gsid.te
 
-(neverallow base_typeattr_531 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_531 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_531 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_531 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_531 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_531 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_531 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)))
+(neverallow base_typeattr_527 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_527 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_527 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_527 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_527 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_527 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_527 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_527 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_527 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_527 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_527 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_527 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_527 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)))
+(neverallow base_typeattr_523 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_523 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_523 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_523 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_523 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_523 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)))
@@ -17701,12 +17482,12 @@
 (allow hal_allocator_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_allocator.te
 
-(neverallow base_typeattr_532 hidl_allocator_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_528 hidl_allocator_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_allocator.te
 
-(neverallow base_typeattr_533 hidl_allocator_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_529 hidl_allocator_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_allocator_client hidl_memory_hwservice (hwservice_manager (find)))
@@ -17729,12 +17510,12 @@
 (allow hal_atrace_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_atrace.te
 
-(neverallow base_typeattr_534 hal_atrace_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_530 hal_atrace_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_atrace.te
 
-(neverallow base_typeattr_535 hal_atrace_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_531 hal_atrace_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_audio_client hal_audio_server (binder (call transfer)))
@@ -17748,24 +17529,24 @@
 (allow hal_audio_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_audio.te
 
-(neverallow base_typeattr_536 hal_audio_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_532 hal_audio_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_audio.te
 
-(neverallow base_typeattr_537 hal_audio_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_533 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_536 hal_audio_service (service_manager (add)))
+(neverallow base_typeattr_532 hal_audio_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_audio.te
 
-(neverallow base_typeattr_538 hal_audio_service (service_manager (find)))
+(neverallow base_typeattr_534 hal_audio_service (service_manager (find)))
 ;;* lme
 
 (allow hal_audio ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
@@ -17790,9 +17571,6 @@
 (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)))
@@ -17801,7 +17579,7 @@
 
 ;;* lmx 42 system/sepolicy/private/hal_audio.te
 
-(neverallow base_typeattr_539 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)))
+(neverallow base_typeattr_535 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)))
@@ -17818,24 +17596,24 @@
 (allow hal_audiocontrol_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_audiocontrol.te
 
-(neverallow base_typeattr_540 hal_audiocontrol_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_536 hal_audiocontrol_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_audiocontrol.te
 
-(neverallow base_typeattr_541 hal_audiocontrol_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_537 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_540 hal_audiocontrol_service (service_manager (add)))
+(neverallow base_typeattr_536 hal_audiocontrol_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_audiocontrol.te
 
-(neverallow base_typeattr_542 hal_audiocontrol_service (service_manager (find)))
+(neverallow base_typeattr_538 hal_audiocontrol_service (service_manager (find)))
 ;;* lme
 
 (allow hal_audiocontrol_server servicemanager (binder (call transfer)))
@@ -17848,12 +17626,12 @@
 (allow hal_authgraph_server hal_authgraph_service (service_manager (add find)))
 ;;* lmx 3 system/sepolicy/private/hal_authgraph.te
 
-(neverallow base_typeattr_543 hal_authgraph_service (service_manager (add)))
+(neverallow base_typeattr_539 hal_authgraph_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 3 system/sepolicy/private/hal_authgraph.te
 
-(neverallow base_typeattr_544 hal_authgraph_service (service_manager (find)))
+(neverallow base_typeattr_540 hal_authgraph_service (service_manager (find)))
 ;;* lme
 
 (allow hal_authgraph_server servicemanager (binder (call transfer)))
@@ -17869,24 +17647,24 @@
 (allow hal_authsecret_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_authsecret.te
 
-(neverallow base_typeattr_545 hal_authsecret_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_541 hal_authsecret_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_authsecret.te
 
-(neverallow base_typeattr_546 hal_authsecret_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_542 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_545 hal_authsecret_service (service_manager (add)))
+(neverallow base_typeattr_541 hal_authsecret_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_authsecret.te
 
-(neverallow base_typeattr_547 hal_authsecret_service (service_manager (find)))
+(neverallow base_typeattr_543 hal_authsecret_service (service_manager (find)))
 ;;* lme
 
 (allow hal_authsecret_server servicemanager (binder (call transfer)))
@@ -17906,24 +17684,24 @@
 (allow hal_bluetooth_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 6 system/sepolicy/private/hal_bluetooth.te
 
-(neverallow base_typeattr_548 hal_bluetooth_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_544 hal_bluetooth_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_bluetooth.te
 
-(neverallow base_typeattr_549 hal_bluetooth_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_545 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_548 hal_bluetooth_service (service_manager (add)))
+(neverallow base_typeattr_544 hal_bluetooth_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_bluetooth.te
 
-(neverallow base_typeattr_550 hal_bluetooth_service (service_manager (find)))
+(neverallow base_typeattr_546 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)))
@@ -17935,17 +17713,11 @@
 (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)))
@@ -17990,20 +17762,17 @@
 (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_551 hal_bootctl_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_547 hal_bootctl_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_bootctl.te
 
-(neverallow base_typeattr_552 hal_bootctl_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_548 hal_bootctl_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_bootctl_server proc_bootconfig (file (ioctl read getattr lock map open watch watch_reads)))
@@ -18011,12 +17780,12 @@
 (allow hal_bootctl_server hal_bootctl_service (service_manager (add find)))
 ;;* lmx 10 system/sepolicy/private/hal_bootctl.te
 
-(neverallow base_typeattr_551 hal_bootctl_service (service_manager (add)))
+(neverallow base_typeattr_547 hal_bootctl_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 10 system/sepolicy/private/hal_bootctl.te
 
-(neverallow base_typeattr_553 hal_bootctl_service (service_manager (find)))
+(neverallow base_typeattr_549 hal_bootctl_service (service_manager (find)))
 ;;* lme
 
 (allow hal_broadcastradio_client hal_broadcastradio_server (binder (call transfer)))
@@ -18030,24 +17799,24 @@
 (allow hal_broadcastradio_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_broadcastradio.te
 
-(neverallow base_typeattr_554 hal_broadcastradio_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_550 hal_broadcastradio_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_broadcastradio.te
 
-(neverallow base_typeattr_555 hal_broadcastradio_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_551 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_554 hal_broadcastradio_service (service_manager (add)))
+(neverallow base_typeattr_550 hal_broadcastradio_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_broadcastradio.te
 
-(neverallow base_typeattr_556 hal_broadcastradio_service (service_manager (find)))
+(neverallow base_typeattr_552 hal_broadcastradio_service (service_manager (find)))
 ;;* lme
 
 (allow hal_broadcastradio_server servicemanager (binder (call transfer)))
@@ -18061,32 +17830,29 @@
 (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_557 hal_camera_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_553 hal_camera_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_camera.te
 
-(neverallow base_typeattr_558 hal_camera_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_554 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_557 hal_camera_service (service_manager (add)))
+(neverallow base_typeattr_553 hal_camera_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 9 system/sepolicy/private/hal_camera.te
 
-(neverallow base_typeattr_559 hal_camera_service (service_manager (find)))
+(neverallow base_typeattr_555 hal_camera_service (service_manager (find)))
 ;;* lme
 
 (allow hal_camera device (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -18097,7 +17863,7 @@
 (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_560 (fd (use)))
+(allow hal_camera base_typeattr_556 (fd (use)))
 (allow hal_camera surfaceflinger (fd (use)))
 (allow hal_camera hal_allocator_server (fd (use)))
 (allow hal_camera shell (fd (use)))
@@ -18117,7 +17883,7 @@
 
 ;;* lmx 42 system/sepolicy/private/hal_camera.te
 
-(neverallow base_typeattr_561 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)))
+(neverallow base_typeattr_557 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)))
@@ -18131,12 +17897,12 @@
 (allow hal_can_controller_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_can.te
 
-(neverallow base_typeattr_562 hal_can_controller_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_558 hal_can_controller_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_can.te
 
-(neverallow base_typeattr_563 hal_can_controller_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_559 hal_can_controller_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_can_bus_client hal_can_bus_server (binder (call transfer)))
@@ -18150,31 +17916,28 @@
 (allow hal_can_bus_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 9 system/sepolicy/private/hal_can.te
 
-(neverallow base_typeattr_564 hal_can_bus_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_560 hal_can_bus_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 9 system/sepolicy/private/hal_can.te
 
-(neverallow base_typeattr_565 hal_can_bus_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_561 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_562 hal_can_controller_service (service_manager (add)))
+(neverallow base_typeattr_558 hal_can_controller_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 12 system/sepolicy/private/hal_can.te
 
-(neverallow base_typeattr_566 hal_can_controller_service (service_manager (find)))
+(neverallow base_typeattr_562 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)))
@@ -18186,12 +17949,12 @@
 (allow hal_cas_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_cas.te
 
-(neverallow base_typeattr_567 hal_cas_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_563 hal_cas_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_cas.te
 
-(neverallow base_typeattr_568 hal_cas_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_564 hal_cas_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_cas_server hidl_memory_hwservice (hwservice_manager (find)))
@@ -18199,12 +17962,12 @@
 (allow hal_cas_server hal_cas_service (service_manager (add find)))
 ;;* lmx 8 system/sepolicy/private/hal_cas.te
 
-(neverallow base_typeattr_567 hal_cas_service (service_manager (add)))
+(neverallow base_typeattr_563 hal_cas_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_cas.te
 
-(neverallow base_typeattr_569 hal_cas_service (service_manager (find)))
+(neverallow base_typeattr_565 hal_cas_service (service_manager (find)))
 ;;* lme
 
 (allow hal_cas_server servicemanager (binder (call transfer)))
@@ -18270,24 +18033,24 @@
 (allow hal_codec2_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 9 system/sepolicy/private/hal_codec2.te
 
-(neverallow base_typeattr_570 hal_codec2_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_566 hal_codec2_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 9 system/sepolicy/private/hal_codec2.te
 
-(neverallow base_typeattr_571 hal_codec2_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_567 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_570 hal_codec2_service (service_manager (add)))
+(neverallow base_typeattr_566 hal_codec2_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 10 system/sepolicy/private/hal_codec2.te
 
-(neverallow base_typeattr_572 hal_codec2_service (service_manager (find)))
+(neverallow base_typeattr_568 hal_codec2_service (service_manager (find)))
 ;;* lme
 
 (allow hal_codec2_server hal_graphics_composer (fd (use)))
@@ -18295,7 +18058,7 @@
 (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_573 surfaceflinger_service (service_manager (find)))
+(allow base_typeattr_569 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_254 (fifo_file (read)))
@@ -18307,12 +18070,12 @@
 (allow hal_configstore_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_configstore.te
 
-(neverallow base_typeattr_574 hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (add)))
+(neverallow base_typeattr_570 hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_configstore.te
 
-(neverallow base_typeattr_575 hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (find)))
+(neverallow base_typeattr_571 hal_configstore_ISurfaceFlingerConfigs (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_configstore_server anr_data_file (file (append)))
@@ -18362,15 +18125,15 @@
 
 ;;* lmx 37 system/sepolicy/private/hal_configstore.te
 
-(neverallow hal_configstore_server base_typeattr_576 (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_576 (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)))
+(neverallow hal_configstore_server base_typeattr_572 (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_572 (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_577 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink 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_577 (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_577 (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 hal_configstore_server base_typeattr_573 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink 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_573 (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_573 (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
@@ -18430,24 +18193,24 @@
 (allow hal_confirmationui_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_confirmationui.te
 
-(neverallow base_typeattr_578 hal_confirmationui_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_574 hal_confirmationui_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_confirmationui.te
 
-(neverallow base_typeattr_579 hal_confirmationui_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_575 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_578 hal_confirmationui_service (service_manager (add)))
+(neverallow base_typeattr_574 hal_confirmationui_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_confirmationui.te
 
-(neverallow base_typeattr_580 hal_confirmationui_service (service_manager (find)))
+(neverallow base_typeattr_576 hal_confirmationui_service (service_manager (find)))
 ;;* lme
 
 (allow hal_confirmationui_server servicemanager (binder (call transfer)))
@@ -18462,7 +18225,7 @@
 (allow hal_contexthub_server hal_contexthub_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_contexthub.te
 
-(neverallow base_typeattr_581 hal_contexthub_service (service_manager (add)))
+(neverallow base_typeattr_577 hal_contexthub_service (service_manager (add)))
 ;;* lme
 
 (allow hal_contexthub_server servicemanager (binder (call transfer)))
@@ -18474,19 +18237,16 @@
 (allow hal_contexthub_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 10 system/sepolicy/private/hal_contexthub.te
 
-(neverallow base_typeattr_581 hal_contexthub_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_577 hal_contexthub_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 10 system/sepolicy/private/hal_contexthub.te
 
-(neverallow base_typeattr_582 hal_contexthub_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_578 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)))
@@ -18498,24 +18258,24 @@
 (allow hal_drm_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 6 system/sepolicy/private/hal_drm.te
 
-(neverallow base_typeattr_583 hal_drm_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_579 hal_drm_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_drm.te
 
-(neverallow base_typeattr_584 hal_drm_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_580 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_583 hal_drm_service (service_manager (add)))
+(neverallow base_typeattr_579 hal_drm_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_drm.te
 
-(neverallow base_typeattr_585 hal_drm_service (service_manager (find)))
+(neverallow base_typeattr_581 hal_drm_service (service_manager (find)))
 ;;* lme
 
 (allow hal_drm hidl_memory_hwservice (hwservice_manager (find)))
@@ -18541,7 +18301,7 @@
 (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_560 (fd (use)))
+(allow hal_drm_server base_typeattr_556 (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))))
@@ -18593,24 +18353,24 @@
 (allow hal_dumpstate_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 7 system/sepolicy/private/hal_dumpstate.te
 
-(neverallow base_typeattr_586 hal_dumpstate_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_582 hal_dumpstate_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_dumpstate.te
 
-(neverallow base_typeattr_587 hal_dumpstate_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_583 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_586 hal_dumpstate_service (service_manager (add)))
+(neverallow base_typeattr_582 hal_dumpstate_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_dumpstate.te
 
-(neverallow base_typeattr_588 hal_dumpstate_service (service_manager (find)))
+(neverallow base_typeattr_584 hal_dumpstate_service (service_manager (find)))
 ;;* lme
 
 (allow hal_dumpstate_server servicemanager (binder (call transfer)))
@@ -18618,9 +18378,6 @@
 (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)))
@@ -18628,14 +18385,8 @@
 (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)))
@@ -18647,19 +18398,19 @@
 (allow hal_evs_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 12 system/sepolicy/private/hal_evs.te
 
-(neverallow base_typeattr_589 hal_evs_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_585 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_590 hal_evs_service (service_manager (add)))
+(neverallow base_typeattr_586 hal_evs_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 15 system/sepolicy/private/hal_evs.te
 
-(neverallow base_typeattr_591 hal_evs_service (service_manager (find)))
+(neverallow base_typeattr_587 hal_evs_service (service_manager (find)))
 ;;* lme
 
 (allow hal_face_client hal_face_server (binder (call transfer)))
@@ -18673,34 +18424,31 @@
 (allow hal_face_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_face.te
 
-(neverallow base_typeattr_592 hal_face_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_588 hal_face_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_face.te
 
-(neverallow base_typeattr_593 hal_face_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_589 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_592 hal_face_service (service_manager (add)))
+(neverallow base_typeattr_588 hal_face_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_face.te
 
-(neverallow base_typeattr_594 hal_face_service (service_manager (find)))
+(neverallow base_typeattr_590 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_595 face_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
-(allow base_typeattr_595 face_vendor_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow base_typeattr_591 face_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_591 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)))
@@ -18708,12 +18456,12 @@
 (allow hal_fastboot_server hal_fastboot_service (service_manager (add find)))
 ;;* lmx 4 system/sepolicy/private/hal_fastboot.te
 
-(neverallow base_typeattr_596 hal_fastboot_service (service_manager (add)))
+(neverallow base_typeattr_592 hal_fastboot_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_fastboot.te
 
-(neverallow base_typeattr_597 hal_fastboot_service (service_manager (find)))
+(neverallow base_typeattr_593 hal_fastboot_service (service_manager (find)))
 ;;* lme
 
 (allow hal_fastboot_server servicemanager (binder (call transfer)))
@@ -18730,43 +18478,40 @@
 (allow hal_fingerprint_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_fingerprint.te
 
-(neverallow base_typeattr_598 hal_fingerprint_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_594 hal_fingerprint_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_fingerprint.te
 
-(neverallow base_typeattr_599 hal_fingerprint_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_595 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_598 hal_fingerprint_service (service_manager (add)))
+(neverallow base_typeattr_594 hal_fingerprint_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_fingerprint.te
 
-(neverallow base_typeattr_600 hal_fingerprint_service (service_manager (find)))
+(neverallow base_typeattr_596 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_601 fingerprint_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
-(allow base_typeattr_601 fingerprint_vendor_data_file (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(allow base_typeattr_597 fingerprint_vendor_data_file (file (ioctl read write create getattr setattr lock append map unlink rename open watch watch_reads)))
+(allow base_typeattr_597 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_601 sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
-(allow base_typeattr_601 sysfs (file (ioctl read getattr lock map open watch watch_reads)))
-(allow base_typeattr_601 sysfs (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_597 sysfs (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow base_typeattr_597 sysfs (file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_597 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)))
@@ -18775,24 +18520,24 @@
 (allow hal_gatekeeper_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 3 system/sepolicy/private/hal_gatekeeper.te
 
-(neverallow base_typeattr_602 hal_gatekeeper_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_598 hal_gatekeeper_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 3 system/sepolicy/private/hal_gatekeeper.te
 
-(neverallow base_typeattr_603 hal_gatekeeper_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_599 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_602 hal_gatekeeper_service (service_manager (add)))
+(neverallow base_typeattr_598 hal_gatekeeper_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_gatekeeper.te
 
-(neverallow base_typeattr_604 hal_gatekeeper_service (service_manager (find)))
+(neverallow base_typeattr_600 hal_gatekeeper_service (service_manager (find)))
 ;;* lme
 
 (allow hal_gatekeeper_server servicemanager (binder (call transfer)))
@@ -18811,36 +18556,30 @@
 (allow hal_gnss_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_gnss.te
 
-(neverallow base_typeattr_605 hal_gnss_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_601 hal_gnss_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_gnss.te
 
-(neverallow base_typeattr_606 hal_gnss_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_602 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_605 hal_gnss_service (service_manager (add)))
+(neverallow base_typeattr_601 hal_gnss_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_gnss.te
 
-(neverallow base_typeattr_607 hal_gnss_service (service_manager (find)))
+(neverallow base_typeattr_603 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)))
@@ -18849,12 +18588,12 @@
 (allow hal_graphics_allocator_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_graphics_allocator.te
 
-(neverallow base_typeattr_608 hal_graphics_allocator_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_604 hal_graphics_allocator_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_graphics_allocator.te
 
-(neverallow base_typeattr_609 hal_graphics_allocator_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_605 hal_graphics_allocator_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_graphics_allocator_client hal_graphics_mapper_hwservice (hwservice_manager (find)))
@@ -18871,12 +18610,12 @@
 (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_608 hal_graphics_allocator_service (service_manager (add)))
+(neverallow base_typeattr_604 hal_graphics_allocator_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 22 system/sepolicy/private/hal_graphics_allocator.te
 
-(neverallow base_typeattr_610 hal_graphics_allocator_service (service_manager (find)))
+(neverallow base_typeattr_606 hal_graphics_allocator_service (service_manager (find)))
 ;;* lme
 
 (allow hal_graphics_allocator_server servicemanager (binder (call transfer)))
@@ -18898,12 +18637,12 @@
 (allow hal_graphics_composer_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 7 system/sepolicy/private/hal_graphics_composer.te
 
-(neverallow base_typeattr_611 hal_graphics_composer_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_607 hal_graphics_composer_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_graphics_composer.te
 
-(neverallow base_typeattr_612 hal_graphics_composer_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_608 hal_graphics_composer_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_graphics_composer_server hal_graphics_mapper_hwservice (hwservice_manager (find)))
@@ -18930,12 +18669,12 @@
 (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_611 hal_graphics_composer_service (service_manager (add)))
+(neverallow base_typeattr_607 hal_graphics_composer_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 38 system/sepolicy/private/hal_graphics_composer.te
 
-(neverallow base_typeattr_613 hal_graphics_composer_service (service_manager (find)))
+(neverallow base_typeattr_609 hal_graphics_composer_service (service_manager (find)))
 ;;* lme
 
 (allow hal_health_client hal_health_server (binder (call transfer)))
@@ -18949,24 +18688,24 @@
 (allow hal_health_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_health.te
 
-(neverallow base_typeattr_614 hal_health_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_610 hal_health_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_health.te
 
-(neverallow base_typeattr_615 hal_health_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_611 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_614 hal_health_service (service_manager (add)))
+(neverallow base_typeattr_610 hal_health_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_health.te
 
-(neverallow base_typeattr_616 hal_health_service (service_manager (find)))
+(neverallow base_typeattr_612 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)))
@@ -18983,17 +18722,11 @@
 (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)))
@@ -19007,32 +18740,29 @@
 (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_617 hal_health_storage_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_613 hal_health_storage_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_health_storage.te
 
-(neverallow base_typeattr_618 hal_health_storage_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_614 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_617 hal_health_storage_service (service_manager (add)))
+(neverallow base_typeattr_613 hal_health_storage_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_health_storage.te
 
-(neverallow base_typeattr_619 hal_health_storage_service (service_manager (find)))
+(neverallow base_typeattr_615 hal_health_storage_service (service_manager (find)))
 ;;* lme
 
 (allow hal_health_storage_server gsi_metadata_file_type (dir (search)))
@@ -19047,12 +18777,12 @@
 (allow hal_identity_server hal_identity_service (service_manager (add find)))
 ;;* lmx 4 system/sepolicy/private/hal_identity.te
 
-(neverallow base_typeattr_620 hal_identity_service (service_manager (add)))
+(neverallow base_typeattr_616 hal_identity_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_identity.te
 
-(neverallow base_typeattr_621 hal_identity_service (service_manager (find)))
+(neverallow base_typeattr_617 hal_identity_service (service_manager (find)))
 ;;* lme
 
 (allow hal_identity_server servicemanager (binder (call transfer)))
@@ -19066,12 +18796,12 @@
 (allow hal_input_classifier_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_input_classifier.te
 
-(neverallow base_typeattr_622 hal_input_classifier_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_618 hal_input_classifier_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_input_classifier.te
 
-(neverallow base_typeattr_623 hal_input_classifier_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_619 hal_input_classifier_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_input_processor_client hal_input_processor_server (binder (call transfer)))
@@ -19084,12 +18814,12 @@
 (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_624 hal_input_processor_service (service_manager (add)))
+(neverallow base_typeattr_620 hal_input_processor_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_input_processor.te
 
-(neverallow base_typeattr_625 hal_input_processor_service (service_manager (find)))
+(neverallow base_typeattr_621 hal_input_processor_service (service_manager (find)))
 ;;* lme
 
 (allow hal_input_processor_server dumpstate (fifo_file (write)))
@@ -19103,12 +18833,12 @@
 (allow hal_ir_server hal_ir_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_ir.te
 
-(neverallow base_typeattr_626 hal_ir_service (service_manager (add)))
+(neverallow base_typeattr_622 hal_ir_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_ir.te
 
-(neverallow base_typeattr_627 hal_ir_service (service_manager (find)))
+(neverallow base_typeattr_623 hal_ir_service (service_manager (find)))
 ;;* lme
 
 (allow hal_ir_server servicemanager (binder (call transfer)))
@@ -19119,12 +18849,12 @@
 (allow hal_ir_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 8 system/sepolicy/private/hal_ir.te
 
-(neverallow base_typeattr_626 hal_ir_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_622 hal_ir_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_ir.te
 
-(neverallow base_typeattr_628 hal_ir_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_624 hal_ir_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_ivn_client hal_ivn_server (binder (call transfer)))
@@ -19134,12 +18864,12 @@
 (allow hal_ivn_server hal_ivn_service (service_manager (add find)))
 ;;* lmx 4 system/sepolicy/private/hal_ivn.te
 
-(neverallow base_typeattr_629 hal_ivn_service (service_manager (add)))
+(neverallow base_typeattr_625 hal_ivn_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_ivn.te
 
-(neverallow base_typeattr_630 hal_ivn_service (service_manager (find)))
+(neverallow base_typeattr_626 hal_ivn_service (service_manager (find)))
 ;;* lme
 
 (allow hal_keymaster_client hal_keymaster_server (binder (call transfer)))
@@ -19150,12 +18880,12 @@
 (allow hal_keymaster_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_keymaster.te
 
-(neverallow base_typeattr_631 hal_keymaster_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_627 hal_keymaster_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_keymaster.te
 
-(neverallow base_typeattr_632 hal_keymaster_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_628 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)))
@@ -19167,31 +18897,31 @@
 (allow hal_keymint_server hal_keymint_service (service_manager (add find)))
 ;;* lmx 3 system/sepolicy/private/hal_keymint.te
 
-(neverallow base_typeattr_633 hal_keymint_service (service_manager (add)))
+(neverallow base_typeattr_629 hal_keymint_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 3 system/sepolicy/private/hal_keymint.te
 
-(neverallow base_typeattr_634 hal_keymint_service (service_manager (find)))
+(neverallow base_typeattr_630 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_633 hal_remotelyprovisionedcomponent_service (service_manager (add)))
+(neverallow base_typeattr_629 hal_remotelyprovisionedcomponent_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_keymint.te
 
-(neverallow base_typeattr_634 hal_remotelyprovisionedcomponent_service (service_manager (find)))
+(neverallow base_typeattr_630 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_635 tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
-(allow base_typeattr_635 ion_device (chr_file (ioctl read getattr lock map open watch watch_reads)))
+(allow base_typeattr_631 tee_device (chr_file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow base_typeattr_631 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)))
@@ -19210,24 +18940,24 @@
 (allow hal_light_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_light.te
 
-(neverallow base_typeattr_636 hal_light_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_632 hal_light_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_light.te
 
-(neverallow base_typeattr_637 hal_light_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_633 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_636 hal_light_service (service_manager (add)))
+(neverallow base_typeattr_632 hal_light_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_light.te
 
-(neverallow base_typeattr_638 hal_light_service (service_manager (find)))
+(neverallow base_typeattr_634 hal_light_service (service_manager (find)))
 ;;* lme
 
 (allow hal_light_server servicemanager (binder (call transfer)))
@@ -19235,9 +18965,6 @@
 (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)))
@@ -19253,12 +18980,12 @@
 (allow hal_lowpan_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 7 system/sepolicy/private/hal_lowpan.te
 
-(neverallow base_typeattr_639 hal_lowpan_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_635 hal_lowpan_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_lowpan.te
 
-(neverallow base_typeattr_640 hal_lowpan_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_636 hal_lowpan_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_lowpan_server property_socket (sock_file (write)))
@@ -19268,7 +18995,7 @@
 (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_641 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)))
+(neverallow base_typeattr_637 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)))
@@ -19281,19 +19008,16 @@
 (allow hal_macsec_server hal_macsec_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_macsec.te
 
-(neverallow base_typeattr_642 hal_macsec_service (service_manager (add)))
+(neverallow base_typeattr_638 hal_macsec_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_macsec.te
 
-(neverallow base_typeattr_643 hal_macsec_service (service_manager (find)))
+(neverallow base_typeattr_639 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)))
@@ -19304,12 +19028,12 @@
 (allow hal_mediaquality_server hal_mediaquality_service (service_manager (add find)))
 ;;* lmx 1 system/sepolicy/private/hal_mediaquality.te
 
-(neverallow base_typeattr_644 hal_mediaquality_service (service_manager (add)))
+(neverallow base_typeattr_640 hal_mediaquality_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 1 system/sepolicy/private/hal_mediaquality.te
 
-(neverallow base_typeattr_645 hal_mediaquality_service (service_manager (find)))
+(neverallow base_typeattr_641 hal_mediaquality_service (service_manager (find)))
 ;;* lme
 
 (allow hal_mediaquality_server servicemanager (binder (call transfer)))
@@ -19326,24 +19050,24 @@
 (allow hal_memtrack_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_memtrack.te
 
-(neverallow base_typeattr_646 hal_memtrack_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_642 hal_memtrack_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_memtrack.te
 
-(neverallow base_typeattr_647 hal_memtrack_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_643 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_646 hal_memtrack_service (service_manager (add)))
+(neverallow base_typeattr_642 hal_memtrack_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_memtrack.te
 
-(neverallow base_typeattr_648 hal_memtrack_service (service_manager (find)))
+(neverallow base_typeattr_644 hal_memtrack_service (service_manager (find)))
 ;;* lme
 
 (allow hal_memtrack_server servicemanager (binder (call transfer)))
@@ -19360,12 +19084,12 @@
 (allow hal_neuralnetworks_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_neuralnetworks.te
 
-(neverallow base_typeattr_649 hal_neuralnetworks_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_645 hal_neuralnetworks_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_neuralnetworks.te
 
-(neverallow base_typeattr_650 hal_neuralnetworks_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_646 hal_neuralnetworks_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_neuralnetworks hidl_memory_hwservice (hwservice_manager (find)))
@@ -19391,12 +19115,12 @@
 (allow hal_neuralnetworks_server hal_neuralnetworks_service (service_manager (add find)))
 ;;* lmx 42 system/sepolicy/private/hal_neuralnetworks.te
 
-(neverallow base_typeattr_649 hal_neuralnetworks_service (service_manager (add)))
+(neverallow base_typeattr_645 hal_neuralnetworks_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 42 system/sepolicy/private/hal_neuralnetworks.te
 
-(neverallow base_typeattr_651 hal_neuralnetworks_service (service_manager (find)))
+(neverallow base_typeattr_647 hal_neuralnetworks_service (service_manager (find)))
 ;;* lme
 
 (allow hal_neuralnetworks_server servicemanager (binder (call transfer)))
@@ -19404,25 +19128,22 @@
 (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_652 self (capability (net_admin net_raw)))
-(neverallow base_typeattr_652 self (cap_userns (net_admin net_raw)))
+(neverallow base_typeattr_648 self (capability (net_admin net_raw)))
+(neverallow base_typeattr_648 self (cap_userns (net_admin net_raw)))
 ;;* lme
 
 ;;* lmx 40 system/sepolicy/private/hal_neverallows.te
 
-(neverallow base_typeattr_653 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_653 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 base_typeattr_649 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_649 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_654 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 base_typeattr_650 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
@@ -19460,7 +19181,7 @@
 
 ;;* lmx 98 system/sepolicy/private/hal_neverallows.te
 
-(neverallow base_typeattr_655 base_typeattr_656 (file (execute_no_trans)))
+(neverallow base_typeattr_651 base_typeattr_652 (file (execute_no_trans)))
 ;;* lme
 
 ;;* lmx 100 system/sepolicy/private/hal_neverallows.te
@@ -19487,24 +19208,24 @@
 (allow hal_nfc_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 6 system/sepolicy/private/hal_nfc.te
 
-(neverallow base_typeattr_657 hal_nfc_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_653 hal_nfc_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_nfc.te
 
-(neverallow base_typeattr_658 hal_nfc_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_654 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_657 hal_nfc_service (service_manager (add)))
+(neverallow base_typeattr_653 hal_nfc_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_nfc.te
 
-(neverallow base_typeattr_659 hal_nfc_service (service_manager (find)))
+(neverallow base_typeattr_655 hal_nfc_service (service_manager (find)))
 ;;* lme
 
 (allow hal_nfc property_socket (sock_file (write)))
@@ -19519,12 +19240,12 @@
 (allow hal_nlinterceptor_server hal_nlinterceptor_service (service_manager (add find)))
 ;;* lmx 3 system/sepolicy/private/hal_nlinterceptor.te
 
-(neverallow base_typeattr_660 hal_nlinterceptor_service (service_manager (add)))
+(neverallow base_typeattr_656 hal_nlinterceptor_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 3 system/sepolicy/private/hal_nlinterceptor.te
 
-(neverallow base_typeattr_661 hal_nlinterceptor_service (service_manager (find)))
+(neverallow base_typeattr_657 hal_nlinterceptor_service (service_manager (find)))
 ;;* lme
 
 (allow hal_nlinterceptor servicemanager (binder (call transfer)))
@@ -19542,24 +19263,24 @@
 (allow hal_oemlock_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_oemlock.te
 
-(neverallow base_typeattr_662 hal_oemlock_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_658 hal_oemlock_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_oemlock.te
 
-(neverallow base_typeattr_663 hal_oemlock_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_659 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_662 hal_oemlock_service (service_manager (add)))
+(neverallow base_typeattr_658 hal_oemlock_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_oemlock.te
 
-(neverallow base_typeattr_664 hal_oemlock_service (service_manager (find)))
+(neverallow base_typeattr_660 hal_oemlock_service (service_manager (find)))
 ;;* lme
 
 (allow hal_oemlock_server servicemanager (binder (call transfer)))
@@ -19568,9 +19289,9 @@
 (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_560 (binder (call transfer)))
-(allow base_typeattr_560 hal_omx_server (binder (transfer)))
-(allow hal_omx_server base_typeattr_560 (fd (use)))
+(allow hal_omx_server base_typeattr_556 (binder (call transfer)))
+(allow base_typeattr_556 hal_omx_server (binder (transfer)))
+(allow hal_omx_server base_typeattr_556 (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)))
@@ -19590,12 +19311,12 @@
 (allow hal_omx_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 21 system/sepolicy/private/hal_omx.te
 
-(neverallow base_typeattr_665 hal_omx_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_661 hal_omx_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 21 system/sepolicy/private/hal_omx.te
 
-(neverallow base_typeattr_666 hal_omx_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_662 hal_omx_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_omx_client hidl_token_hwservice (hwservice_manager (find)))
@@ -19635,24 +19356,24 @@
 (allow hal_power_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_power.te
 
-(neverallow base_typeattr_667 hal_power_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_663 hal_power_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_power.te
 
-(neverallow base_typeattr_668 hal_power_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_664 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_667 hal_power_service (service_manager (add)))
+(neverallow base_typeattr_663 hal_power_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_power.te
 
-(neverallow base_typeattr_669 hal_power_service (service_manager (find)))
+(neverallow base_typeattr_665 hal_power_service (service_manager (find)))
 ;;* lme
 
 (allow hal_power_server servicemanager (binder (call transfer)))
@@ -19676,24 +19397,24 @@
 (allow hal_power_stats_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_power_stats.te
 
-(neverallow base_typeattr_670 hal_power_stats_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_666 hal_power_stats_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_power_stats.te
 
-(neverallow base_typeattr_671 hal_power_stats_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_667 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_670 hal_power_stats_service (service_manager (add)))
+(neverallow base_typeattr_666 hal_power_stats_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_power_stats.te
 
-(neverallow base_typeattr_672 hal_power_stats_service (service_manager (find)))
+(neverallow base_typeattr_668 hal_power_stats_service (service_manager (find)))
 ;;* lme
 
 (allow hal_power_stats_server servicemanager (binder (call transfer)))
@@ -19709,19 +19430,16 @@
 (allow hal_rebootescrow_server hal_rebootescrow_service (service_manager (add find)))
 ;;* lmx 4 system/sepolicy/private/hal_rebootescrow.te
 
-(neverallow base_typeattr_673 hal_rebootescrow_service (service_manager (add)))
+(neverallow base_typeattr_669 hal_rebootescrow_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_rebootescrow.te
 
-(neverallow base_typeattr_674 hal_rebootescrow_service (service_manager (find)))
+(neverallow base_typeattr_670 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)))
@@ -19732,12 +19450,12 @@
 (allow hal_remoteaccess_server hal_remoteaccess_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_remoteaccess.te
 
-(neverallow base_typeattr_675 hal_remoteaccess_service (service_manager (add)))
+(neverallow base_typeattr_671 hal_remoteaccess_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_remoteaccess.te
 
-(neverallow base_typeattr_676 hal_remoteaccess_service (service_manager (find)))
+(neverallow base_typeattr_672 hal_remoteaccess_service (service_manager (find)))
 ;;* lme
 
 (allow hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server (binder (call transfer)))
@@ -19747,19 +19465,16 @@
 (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_677 hal_remotelyprovisionedcomponent_avf_service (service_manager (add)))
+(neverallow base_typeattr_673 hal_remotelyprovisionedcomponent_avf_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_remotelyprovisionedcomponent_avf.te
 
-(neverallow base_typeattr_678 hal_remotelyprovisionedcomponent_avf_service (service_manager (find)))
+(neverallow base_typeattr_674 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)))
@@ -19767,24 +19482,18 @@
 (allow hal_secretkeeper_server hal_secretkeeper_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_secretkeeper.te
 
-(neverallow base_typeattr_679 hal_secretkeeper_service (service_manager (add)))
+(neverallow base_typeattr_675 hal_secretkeeper_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_secretkeeper.te
 
-(neverallow base_typeattr_680 hal_secretkeeper_service (service_manager (find)))
+(neverallow base_typeattr_676 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)))
@@ -19797,31 +19506,28 @@
 (allow hal_secure_element_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_secure_element.te
 
-(neverallow base_typeattr_681 hal_secure_element_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_677 hal_secure_element_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_secure_element.te
 
-(neverallow base_typeattr_682 hal_secure_element_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_678 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_681 hal_secure_element_service (service_manager (add)))
+(neverallow base_typeattr_677 hal_secure_element_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_secure_element.te
 
-(neverallow base_typeattr_683 hal_secure_element_service (service_manager (find)))
+(neverallow base_typeattr_679 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)))
@@ -19831,22 +19537,22 @@
 (allow hal_sensors_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_sensors.te
 
-(neverallow base_typeattr_684 hal_sensors_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_680 hal_sensors_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_sensors.te
 
-(neverallow base_typeattr_685 hal_sensors_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_681 hal_sensors_hwservice (hwservice_manager (find)))
 ;;* lme
 
-(allow hal_sensors base_typeattr_560 (fd (use)))
+(allow hal_sensors base_typeattr_556 (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_684 hal_sensors_service (service_manager (add)))
+(neverallow base_typeattr_680 hal_sensors_service (service_manager (add)))
 ;;* lme
 
 (allow hal_sensors_server servicemanager (binder (call transfer)))
@@ -19864,24 +19570,24 @@
 (allow hal_telephony_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_telephony.te
 
-(neverallow base_typeattr_686 hal_telephony_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_682 hal_telephony_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_telephony.te
 
-(neverallow base_typeattr_687 hal_telephony_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_683 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_686 hal_radio_service (service_manager (add)))
+(neverallow base_typeattr_682 hal_radio_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_telephony.te
 
-(neverallow base_typeattr_688 hal_radio_service (service_manager (find)))
+(neverallow base_typeattr_684 hal_radio_service (service_manager (find)))
 ;;* lme
 
 (allowx hal_telephony_server self (ioctl udp_socket (0x6900 0x6902)))
@@ -19929,17 +19635,11 @@
 (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)))
@@ -19961,31 +19661,28 @@
 (allow hal_tetheroffload_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_tetheroffload.te
 
-(neverallow base_typeattr_689 hal_tetheroffload_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_685 hal_tetheroffload_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_tetheroffload.te
 
-(neverallow base_typeattr_690 hal_tetheroffload_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_686 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_689 hal_tetheroffload_service (service_manager (add)))
+(neverallow base_typeattr_685 hal_tetheroffload_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_tetheroffload.te
 
-(neverallow base_typeattr_691 hal_tetheroffload_service (service_manager (find)))
+(neverallow base_typeattr_687 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)))
@@ -19998,30 +19695,30 @@
 (allow hal_thermal_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_thermal.te
 
-(neverallow base_typeattr_692 hal_thermal_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_688 hal_thermal_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_thermal.te
 
-(neverallow base_typeattr_693 hal_thermal_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_689 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_692 hal_thermal_service (service_manager (add)))
+(neverallow base_typeattr_688 hal_thermal_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_thermal.te
 
-(neverallow base_typeattr_694 hal_thermal_service (service_manager (find)))
+(neverallow base_typeattr_690 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_692 hal_thermal_service (service_manager (add)))
+(neverallow base_typeattr_688 hal_thermal_service (service_manager (add)))
 ;;* lme
 
 (allow hal_thermal_server servicemanager (binder (call transfer)))
@@ -20040,12 +19737,12 @@
 (allow hal_threadnetwork_server hal_threadnetwork_service (service_manager (add find)))
 ;;* lmx 4 system/sepolicy/private/hal_threadnetwork.te
 
-(neverallow base_typeattr_695 hal_threadnetwork_service (service_manager (add)))
+(neverallow base_typeattr_691 hal_threadnetwork_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_threadnetwork.te
 
-(neverallow base_typeattr_696 hal_threadnetwork_service (service_manager (find)))
+(neverallow base_typeattr_692 hal_threadnetwork_service (service_manager (find)))
 ;;* lme
 
 (allow hal_threadnetwork_server servicemanager (binder (call transfer)))
@@ -20065,12 +19762,12 @@
 (allow hal_tv_cec_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_tv_cec.te
 
-(neverallow base_typeattr_697 hal_tv_cec_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_693 hal_tv_cec_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_tv_cec.te
 
-(neverallow base_typeattr_698 hal_tv_cec_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_694 hal_tv_cec_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server (binder (call transfer)))
@@ -20081,24 +19778,18 @@
 (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_699 hal_tv_hdmi_cec_service (service_manager (add)))
+(neverallow base_typeattr_695 hal_tv_hdmi_cec_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_cec.te
 
-(neverallow base_typeattr_700 hal_tv_hdmi_cec_service (service_manager (find)))
+(neverallow base_typeattr_696 hal_tv_hdmi_cec_service (service_manager (find)))
 ;;* lme
 
 (allow hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server (binder (call transfer)))
@@ -20109,24 +19800,18 @@
 (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_701 hal_tv_hdmi_connection_service (service_manager (add)))
+(neverallow base_typeattr_697 hal_tv_hdmi_connection_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_connection.te
 
-(neverallow base_typeattr_702 hal_tv_hdmi_connection_service (service_manager (find)))
+(neverallow base_typeattr_698 hal_tv_hdmi_connection_service (service_manager (find)))
 ;;* lme
 
 (allow hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server (binder (call transfer)))
@@ -20137,24 +19822,18 @@
 (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_703 hal_tv_hdmi_earc_service (service_manager (add)))
+(neverallow base_typeattr_699 hal_tv_hdmi_earc_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_tv_hdmi_earc.te
 
-(neverallow base_typeattr_704 hal_tv_hdmi_earc_service (service_manager (find)))
+(neverallow base_typeattr_700 hal_tv_hdmi_earc_service (service_manager (find)))
 ;;* lme
 
 (allow hal_tv_input_client hal_tv_input_server (binder (call transfer)))
@@ -20168,24 +19847,24 @@
 (allow hal_tv_input_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_tv_input.te
 
-(neverallow base_typeattr_705 hal_tv_input_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_701 hal_tv_input_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_tv_input.te
 
-(neverallow base_typeattr_706 hal_tv_input_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_702 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_705 hal_tv_input_service (service_manager (add)))
+(neverallow base_typeattr_701 hal_tv_input_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_tv_input.te
 
-(neverallow base_typeattr_707 hal_tv_input_service (service_manager (find)))
+(neverallow base_typeattr_703 hal_tv_input_service (service_manager (find)))
 ;;* lme
 
 (allow hal_tv_input_server servicemanager (binder (call transfer)))
@@ -20205,24 +19884,24 @@
 (allow hal_tv_tuner_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_tv_tuner.te
 
-(neverallow base_typeattr_708 hal_tv_tuner_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_704 hal_tv_tuner_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_tv_tuner.te
 
-(neverallow base_typeattr_709 hal_tv_tuner_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_705 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_708 hal_tv_tuner_service (service_manager (add)))
+(neverallow base_typeattr_704 hal_tv_tuner_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_tv_tuner.te
 
-(neverallow base_typeattr_710 hal_tv_tuner_service (service_manager (find)))
+(neverallow base_typeattr_706 hal_tv_tuner_service (service_manager (find)))
 ;;* lme
 
 (allow hal_tv_tuner_server servicemanager (binder (call transfer)))
@@ -20241,12 +19920,12 @@
 (allow hal_usb_server hal_usb_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_usb.te
 
-(neverallow base_typeattr_711 hal_usb_service (service_manager (add)))
+(neverallow base_typeattr_707 hal_usb_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_usb.te
 
-(neverallow base_typeattr_712 hal_usb_service (service_manager (find)))
+(neverallow base_typeattr_708 hal_usb_service (service_manager (find)))
 ;;* lme
 
 (allow hal_usb_server servicemanager (binder (call transfer)))
@@ -20257,12 +19936,12 @@
 (allow hal_usb_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 8 system/sepolicy/private/hal_usb.te
 
-(neverallow base_typeattr_711 hal_usb_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_707 hal_usb_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_usb.te
 
-(neverallow base_typeattr_713 hal_usb_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_709 hal_usb_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_usb self (netlink_kobject_uevent_socket (create)))
@@ -20286,12 +19965,12 @@
 (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_714 hal_usb_gadget_service (service_manager (add)))
+(neverallow base_typeattr_710 hal_usb_gadget_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_usb_gadget.te
 
-(neverallow base_typeattr_715 hal_usb_gadget_service (service_manager (find)))
+(neverallow base_typeattr_711 hal_usb_gadget_service (service_manager (find)))
 ;;* lme
 
 (allow hal_usb_gadget_server servicemanager (binder (call transfer)))
@@ -20302,12 +19981,12 @@
 (allow hal_usb_gadget_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 8 system/sepolicy/private/hal_usb_gadget.te
 
-(neverallow base_typeattr_714 hal_usb_gadget_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_710 hal_usb_gadget_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 8 system/sepolicy/private/hal_usb_gadget.te
 
-(neverallow base_typeattr_716 hal_usb_gadget_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_712 hal_usb_gadget_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_usb_gadget_server configfs (lnk_file (read create unlink)))
@@ -20327,12 +20006,12 @@
 (allow hal_uwb_server hal_uwb_service (service_manager (add find)))
 ;;* lmx 5 system/sepolicy/private/hal_uwb.te
 
-(neverallow base_typeattr_717 hal_uwb_service (service_manager (add)))
+(neverallow base_typeattr_713 hal_uwb_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_uwb.te
 
-(neverallow base_typeattr_718 hal_uwb_service (service_manager (find)))
+(neverallow base_typeattr_714 hal_uwb_service (service_manager (find)))
 ;;* lme
 
 (allow hal_uwb_server servicemanager (binder (call transfer)))
@@ -20352,24 +20031,24 @@
 (allow hal_vehicle_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 6 system/sepolicy/private/hal_vehicle.te
 
-(neverallow base_typeattr_719 hal_vehicle_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_715 hal_vehicle_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_vehicle.te
 
-(neverallow base_typeattr_720 hal_vehicle_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_716 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_719 hal_vehicle_service (service_manager (add)))
+(neverallow base_typeattr_715 hal_vehicle_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 7 system/sepolicy/private/hal_vehicle.te
 
-(neverallow base_typeattr_721 hal_vehicle_service (service_manager (find)))
+(neverallow base_typeattr_717 hal_vehicle_service (service_manager (find)))
 ;;* lme
 
 (allow hal_vibrator_client hal_vibrator_server (binder (call transfer)))
@@ -20383,24 +20062,24 @@
 (allow hal_vibrator_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_vibrator.te
 
-(neverallow base_typeattr_722 hal_vibrator_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_718 hal_vibrator_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_vibrator.te
 
-(neverallow base_typeattr_723 hal_vibrator_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_719 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_722 hal_vibrator_service (service_manager (add)))
+(neverallow base_typeattr_718 hal_vibrator_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_vibrator.te
 
-(neverallow base_typeattr_724 hal_vibrator_service (service_manager (find)))
+(neverallow base_typeattr_720 hal_vibrator_service (service_manager (find)))
 ;;* lme
 
 (allow hal_vibrator_server servicemanager (binder (call transfer)))
@@ -20417,24 +20096,18 @@
 (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_725 hal_vm_capabilities_service (service_manager (add)))
+(neverallow base_typeattr_721 hal_vm_capabilities_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_vm_capabilities.te
 
-(neverallow base_typeattr_726 hal_vm_capabilities_service (service_manager (find)))
+(neverallow base_typeattr_722 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)))
@@ -20446,12 +20119,12 @@
 (allow hal_vr_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_vr.te
 
-(neverallow base_typeattr_727 hal_vr_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_723 hal_vr_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_vr.te
 
-(neverallow base_typeattr_728 hal_vr_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_724 hal_vr_hwservice (hwservice_manager (find)))
 ;;* lme
 
 (allow hal_weaver_client hal_weaver_server (binder (call transfer)))
@@ -20462,24 +20135,24 @@
 (allow hal_weaver_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 4 system/sepolicy/private/hal_weaver.te
 
-(neverallow base_typeattr_729 hal_weaver_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_725 hal_weaver_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 4 system/sepolicy/private/hal_weaver.te
 
-(neverallow base_typeattr_730 hal_weaver_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_726 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_729 hal_weaver_service (service_manager (add)))
+(neverallow base_typeattr_725 hal_weaver_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_weaver.te
 
-(neverallow base_typeattr_731 hal_weaver_service (service_manager (find)))
+(neverallow base_typeattr_727 hal_weaver_service (service_manager (find)))
 ;;* lme
 
 (allow hal_weaver_server servicemanager (binder (call transfer)))
@@ -20496,31 +20169,28 @@
 (allow hal_wifi_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_wifi.te
 
-(neverallow base_typeattr_732 hal_wifi_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_728 hal_wifi_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_wifi.te
 
-(neverallow base_typeattr_733 hal_wifi_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_729 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_732 hal_wifi_service (service_manager (add)))
+(neverallow base_typeattr_728 hal_wifi_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_wifi.te
 
-(neverallow base_typeattr_734 hal_wifi_service (service_manager (find)))
+(neverallow base_typeattr_730 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)))
@@ -20557,31 +20227,28 @@
 (allow hal_wifi_hostapd_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_wifi_hostapd.te
 
-(neverallow base_typeattr_735 hal_wifi_hostapd_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_731 hal_wifi_hostapd_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_wifi_hostapd.te
 
-(neverallow base_typeattr_736 hal_wifi_hostapd_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_732 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_735 hal_wifi_hostapd_service (service_manager (add)))
+(neverallow base_typeattr_731 hal_wifi_hostapd_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_wifi_hostapd.te
 
-(neverallow base_typeattr_737 hal_wifi_hostapd_service (service_manager (find)))
+(neverallow base_typeattr_733 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)))
@@ -20617,24 +20284,24 @@
 (allow hal_wifi_supplicant_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hal_wifi_supplicant.te
 
-(neverallow base_typeattr_738 hal_wifi_supplicant_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_734 hal_wifi_supplicant_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 5 system/sepolicy/private/hal_wifi_supplicant.te
 
-(neverallow base_typeattr_739 hal_wifi_supplicant_hwservice (hwservice_manager (find)))
+(neverallow base_typeattr_735 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_738 hal_wifi_supplicant_service (service_manager (add)))
+(neverallow base_typeattr_734 hal_wifi_supplicant_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 6 system/sepolicy/private/hal_wifi_supplicant.te
 
-(neverallow base_typeattr_740 hal_wifi_supplicant_service (service_manager (find)))
+(neverallow base_typeattr_736 hal_wifi_supplicant_service (service_manager (find)))
 ;;* lme
 
 (allowx hal_wifi_supplicant self (ioctl udp_socket (0x6900 0x6902)))
@@ -20658,9 +20325,6 @@
 (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)))
@@ -20672,9 +20336,6 @@
 (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
 
@@ -20690,16 +20351,10 @@
 
 (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)))
@@ -20797,12 +20452,12 @@
 
 ;;* lmx 72 system/sepolicy/private/heapprofd.te
 
-(neverallow heapprofd base_typeattr_741 (file (execute execute_no_trans)))
+(neverallow heapprofd base_typeattr_737 (file (execute execute_no_trans)))
 ;;* lme
 
 ;;* lmx 11 system/sepolicy/private/hwservice.te
 
-(neverallow domain base_typeattr_742 (hwservice_manager (add find)))
+(neverallow domain base_typeattr_738 (hwservice_manager (add find)))
 ;;* lme
 
 (allow init hwservicemanager_exec (file (read getattr map execute open)))
@@ -20815,14 +20470,14 @@
 (allow hwservicemanager hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 5 system/sepolicy/private/hwservicemanager.te
 
-(neverallow base_typeattr_743 hidl_manager_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_739 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_743 hidl_token_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_739 hidl_token_hwservice (hwservice_manager (add)))
 ;;* lme
 
 (allow hwservicemanager property_socket (sock_file (write)))
@@ -20871,13 +20526,10 @@
 (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_744 idmap_service (service_manager (add)))
+(neverallow base_typeattr_740 idmap_service (service_manager (add)))
 ;;* lme
 
 (allow shell incident_exec (file (read getattr map execute open)))
@@ -20904,9 +20556,6 @@
 (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)))
@@ -20914,7 +20563,7 @@
 (allow incident incidentd (fifo_file (write)))
 ;;* lmx 37 system/sepolicy/private/incident.te
 
-(neverallow base_typeattr_745 incident_exec (file (execute execute_no_trans)))
+(neverallow base_typeattr_741 incident_exec (file (execute execute_no_trans)))
 ;;* lme
 
 (allow incidentd incident_helper_exec (file (read getattr map execute open)))
@@ -20935,7 +20584,7 @@
 (allow incident_helper incidentd (unix_stream_socket (read write)))
 ;;* lmx 14 system/sepolicy/private/incident_helper.te
 
-(neverallow base_typeattr_746 incident_helper_exec (file (execute execute_no_trans)))
+(neverallow base_typeattr_742 incident_helper_exec (file (execute execute_no_trans)))
 ;;* lme
 
 (allow init incidentd_exec (file (read getattr map execute open)))
@@ -20946,9 +20595,6 @@
 (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)))
@@ -20958,17 +20604,11 @@
 (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)))
@@ -20995,14 +20635,8 @@
 (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)))
@@ -21064,11 +20698,11 @@
 (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_747 (service_manager (find)))
+(allow incidentd base_typeattr_743 (service_manager (find)))
 (allow incidentd incident_service (service_manager (add find)))
 ;;* lmx 171 system/sepolicy/private/incidentd.te
 
-(neverallow base_typeattr_748 incident_service (service_manager (add)))
+(neverallow base_typeattr_744 incident_service (service_manager (add)))
 ;;* lme
 
 (allow incidentd dumpstate (fd (use)))
@@ -21081,17 +20715,17 @@
 (allow incidentd build_attestation_prop (file (read getattr map open)))
 ;;* lmx 212 system/sepolicy/private/incidentd.te
 
-(neverallow base_typeattr_749 incident_data_file (file (write create getattr setattr lock append map unlink rename execute open execute_no_trans)))
+(neverallow base_typeattr_745 incident_data_file (file (write create getattr setattr lock append map unlink rename execute open execute_no_trans)))
 ;;* lme
 
 ;;* lmx 214 system/sepolicy/private/incidentd.te
 
-(neverallow base_typeattr_750 incident_data_file (file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow base_typeattr_746 incident_data_file (file (ioctl read getattr lock map open watch watch_reads)))
 ;;* lme
 
 ;;* lmx 216 system/sepolicy/private/incidentd.te
 
-(neverallow base_typeattr_749 incident_data_file (dir (ioctl read write create getattr setattr lock rename open watch watch_reads add_name remove_name reparent search rmdir)))
+(neverallow base_typeattr_745 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)
@@ -21187,7 +20821,7 @@
 (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_751 (chr_file (setattr)))
+(allow init base_typeattr_747 (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)))
@@ -21289,7 +20923,7 @@
 (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_752 (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget watch)))
+(allow init base_typeattr_748 (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)))
@@ -21302,22 +20936,22 @@
 (allow init rootfs (dir (relabelfrom)))
 (allow init self (capability (chown fowner fsetid)))
 (allow init self (cap_userns (chown fowner fsetid)))
-(allow init base_typeattr_753 (dir (ioctl read create getattr setattr open search)))
-(allow init base_typeattr_754 (dir (write relabelfrom add_name remove_name rmdir)))
-(allow init base_typeattr_755 (file (read write create getattr setattr relabelfrom map unlink open)))
+(allow init base_typeattr_749 (dir (ioctl read create getattr setattr open search)))
+(allow init base_typeattr_750 (dir (write relabelfrom add_name remove_name rmdir)))
+(allow init base_typeattr_751 (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_756 (sock_file (read create getattr setattr relabelfrom unlink open)))
-(allow init base_typeattr_756 (fifo_file (read create getattr setattr relabelfrom unlink open)))
-(allow init base_typeattr_757 (lnk_file (create getattr setattr relabelfrom unlink)))
+(allow init base_typeattr_752 (sock_file (read create getattr setattr relabelfrom unlink open)))
+(allow init base_typeattr_752 (fifo_file (read create getattr setattr relabelfrom unlink open)))
+(allow init base_typeattr_753 (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_758 (file (relabelto)))
-(allow init base_typeattr_758 (dir (relabelto)))
-(allow init base_typeattr_758 (lnk_file (relabelto)))
-(allow init base_typeattr_758 (chr_file (relabelto)))
-(allow init base_typeattr_758 (blk_file (relabelto)))
-(allow init base_typeattr_758 (sock_file (relabelto)))
-(allow init base_typeattr_758 (fifo_file (relabelto)))
+(allow init base_typeattr_754 (file (relabelto)))
+(allow init base_typeattr_754 (dir (relabelto)))
+(allow init base_typeattr_754 (lnk_file (relabelto)))
+(allow init base_typeattr_754 (chr_file (relabelto)))
+(allow init base_typeattr_754 (blk_file (relabelto)))
+(allow init base_typeattr_754 (sock_file (relabelto)))
+(allow init base_typeattr_754 (fifo_file (relabelto)))
 (allow init sysfs (file (getattr relabelfrom)))
 (allow init sysfs (dir (getattr relabelfrom)))
 (allow init sysfs (lnk_file (getattr relabelfrom)))
@@ -21340,8 +20974,8 @@
 (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_759 (file (read setattr open)))
-(allow init base_typeattr_760 (dir (read setattr open search)))
+(allow init base_typeattr_755 (file (read setattr open)))
+(allow init base_typeattr_756 (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)))
@@ -21530,7 +21164,7 @@
 
 ;;* lmx 818 system/sepolicy/private/init.te
 
-(neverallow init base_typeattr_761 (file (entrypoint)))
+(neverallow init base_typeattr_757 (file (entrypoint)))
 ;;* lme
 
 ;;* lmx 821 system/sepolicy/private/init.te
@@ -21581,7 +21215,7 @@
 
 ;;* lmx 853 system/sepolicy/private/init.te
 
-(neverallow base_typeattr_762 system_data_root_file (dir (write add_name remove_name)))
+(neverallow base_typeattr_758 system_data_root_file (dir (write add_name remove_name)))
 ;;* lme
 
 ;;* lmx 856 system/sepolicy/private/init.te
@@ -21633,9 +21267,6 @@
 (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)))
@@ -21648,17 +21279,11 @@
 (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)))
@@ -21823,13 +21448,10 @@
 (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_763 installd_service (service_manager (add)))
+(neverallow base_typeattr_759 installd_service (service_manager (add)))
 ;;* lme
 
 (allow installd dumpstate (fifo_file (write getattr)))
@@ -21846,22 +21468,20 @@
 (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_764 installd_service (service_manager (find)))
+(neverallow base_typeattr_760 installd_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 242 system/sepolicy/private/installd.te
 
-(neverallow base_typeattr_765 installd (binder (call)))
+(neverallow base_typeattr_761 installd (binder (call)))
 ;;* lme
 
 ;;* lmx 248 system/sepolicy/private/installd.te
 
-(neverallow installd base_typeattr_766 (binder (call)))
+(neverallow installd base_typeattr_762 (binder (call)))
 ;;* lme
 
 (typetransition isolated_app tmpfs file appdomain_tmpfs)
@@ -21875,17 +21495,17 @@
 (allow isolated_app appdomain_tmpfs (file (read write getattr map execute)))
 ;;* lmx 10 system/sepolicy/private/isolated_app.te
 
-(neverallow base_typeattr_767 base_typeattr_284 (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_763 base_typeattr_284 (file (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_768 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)))
+(neverallow base_typeattr_764 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_769 isolated_app (process (ptrace)))
+(neverallow base_typeattr_765 isolated_app (process (ptrace)))
 ;;* lme
 
 (allow isolated_app webviewupdate_service (service_manager (find)))
@@ -21931,12 +21551,12 @@
 
 ;;* lmx 53 system/sepolicy/private/isolated_app_all.te
 
-(neverallow base_typeattr_770 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)))
+(neverallow base_typeattr_766 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_770 base_typeattr_236 (hwservice_manager (add find list)))
+(neverallow base_typeattr_766 base_typeattr_236 (hwservice_manager (add find list)))
 ;;* lme
 
 ;;* lmx 57 system/sepolicy/private/isolated_app_all.te
@@ -21946,17 +21566,17 @@
 
 ;;* lmx 61 system/sepolicy/private/isolated_app_all.te
 
-(neverallow base_typeattr_770 base_typeattr_236 (service_manager (add list)))
+(neverallow base_typeattr_766 base_typeattr_236 (service_manager (add list)))
 ;;* lme
 
 ;;* lmx 71 system/sepolicy/private/isolated_app_all.te
 
-(neverallow base_typeattr_770 base_typeattr_771 (service_manager (find)))
+(neverallow base_typeattr_766 base_typeattr_767 (service_manager (find)))
 ;;* lme
 
 ;;* lmx 74 system/sepolicy/private/isolated_app_all.te
 
-(neverallow base_typeattr_770 gpu_device (chr_file (ioctl read write getattr lock append map execute open watch watch_reads)))
+(neverallow base_typeattr_766 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
@@ -22026,7 +21646,7 @@
 
 ;;* lmx 105 system/sepolicy/private/isolated_app_all.te
 
-(neverallow base_typeattr_770 base_typeattr_772 (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_766 base_typeattr_768 (file (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
@@ -22313,32 +21933,29 @@
 (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_773 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)))
+(neverallow base_typeattr_769 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_774 base_typeattr_773 (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_770 base_typeattr_769 (file (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_775 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)))
+(neverallow base_typeattr_771 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_776 isolated_compute_app (process (ptrace)))
+(neverallow base_typeattr_772 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)))
@@ -22508,9 +22125,6 @@
 (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)))
@@ -22532,7 +22146,7 @@
 (allow keystore keystore_service (service_manager (add find)))
 ;;* lmx 62 system/sepolicy/private/keystore.te
 
-(neverallow base_typeattr_777 keystore_service (service_manager (add)))
+(neverallow base_typeattr_773 keystore_service (service_manager (add)))
 ;;* lme
 
 (allow keystore sec_key_att_app_id_provider_service (service_manager (find)))
@@ -22543,37 +22157,37 @@
 (allow keystore apc_service (service_manager (add find)))
 ;;* lmx 71 system/sepolicy/private/keystore.te
 
-(neverallow base_typeattr_777 apc_service (service_manager (add)))
+(neverallow base_typeattr_773 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_777 keystore_compat_hal_service (service_manager (add)))
+(neverallow base_typeattr_773 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_777 authorization_service (service_manager (add)))
+(neverallow base_typeattr_773 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_777 keystore_maintenance_service (service_manager (add)))
+(neverallow base_typeattr_773 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_777 keystore_metrics_service (service_manager (add)))
+(neverallow base_typeattr_773 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_777 legacykeystore_service (service_manager (add)))
+(neverallow base_typeattr_773 legacykeystore_service (service_manager (add)))
 ;;* lme
 
 (allow keystore selinuxfs (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -22592,28 +22206,28 @@
 (allow keystore keystore_config_prop (file (read getattr map open)))
 ;;* lmx 97 system/sepolicy/private/keystore.te
 
-(neverallow base_typeattr_777 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)))
+(neverallow base_typeattr_773 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_777 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_777 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_777 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_777 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)))
+(neverallow base_typeattr_773 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_773 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_773 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_773 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_778 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)))
+(neverallow base_typeattr_774 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_778 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_778 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_778 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_778 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)))
+(neverallow base_typeattr_774 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_774 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_774 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_774 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
@@ -22623,7 +22237,7 @@
 
 ;;* lmx 107 system/sepolicy/private/keystore.te
 
-(neverallow base_typeattr_778 keystore_diagnostics_prop (property_service (set)))
+(neverallow base_typeattr_774 keystore_diagnostics_prop (property_service (set)))
 ;;* lme
 
 (allow init linkerconfig_exec (file (read getattr map execute open)))
@@ -22647,7 +22261,7 @@
 (allow linkerconfig dexopt_chroot_setup (fd (use)))
 ;;* lmx 39 system/sepolicy/private/linkerconfig.te
 
-(neverallow base_typeattr_779 linkerconfig_exec (file (execute execute_no_trans)))
+(neverallow base_typeattr_775 linkerconfig_exec (file (execute execute_no_trans)))
 ;;* lme
 
 (allow init linux_vm_setup_exec (file (read getattr map execute open)))
@@ -22756,7 +22370,7 @@
 
 ;;* lmx 94 system/sepolicy/private/lmkd.te
 
-(neverallow base_typeattr_780 lmkd_prop (property_service (set)))
+(neverallow base_typeattr_776 lmkd_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 95 system/sepolicy/private/lmkd.te
@@ -22773,31 +22387,28 @@
 (allow logd device_logging_prop (file (read getattr map open)))
 ;;* lmx 17 system/sepolicy/private/logd.te
 
-(neverallow logd base_typeattr_781 (file (write create append)))
+(neverallow logd base_typeattr_777 (file (write create append)))
 ;;* lme
 
 ;;* lmx 32 system/sepolicy/private/logd.te
 
-(neverallow base_typeattr_782 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)))
+(neverallow base_typeattr_778 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_783 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)))
+(neverallow base_typeattr_779 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_784 logd_service (service_manager (add)))
+(neverallow base_typeattr_780 logd_service (service_manager (add)))
 ;;* lme
 
 (allow logd logcat_service (service_manager (find)))
@@ -22867,13 +22478,13 @@
 
 ;;* lmx 116 system/sepolicy/private/logd.te
 
-(neverallow logd base_typeattr_785 (file (write)))
-(neverallow logd base_typeattr_785 (dir (write)))
-(neverallow logd base_typeattr_785 (lnk_file (write)))
-(neverallow logd base_typeattr_785 (chr_file (write)))
-(neverallow logd base_typeattr_785 (blk_file (write)))
-(neverallow logd base_typeattr_785 (sock_file (write)))
-(neverallow logd base_typeattr_785 (fifo_file (write)))
+(neverallow logd base_typeattr_781 (file (write)))
+(neverallow logd base_typeattr_781 (dir (write)))
+(neverallow logd base_typeattr_781 (lnk_file (write)))
+(neverallow logd base_typeattr_781 (chr_file (write)))
+(neverallow logd base_typeattr_781 (blk_file (write)))
+(neverallow logd base_typeattr_781 (sock_file (write)))
+(neverallow logd base_typeattr_781 (fifo_file (write)))
 ;;* lme
 
 ;;* lmx 119 system/sepolicy/private/logd.te
@@ -22888,7 +22499,7 @@
 
 ;;* lmx 127 system/sepolicy/private/logd.te
 
-(neverallow base_typeattr_786 runtime_event_log_tags_file (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_782 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)))
@@ -22935,7 +22546,7 @@
 
 ;;* lmx 62 system/sepolicy/private/logpersist.te
 
-(neverallow base_typeattr_787 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)))
+(neverallow base_typeattr_783 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
@@ -22956,13 +22567,10 @@
 (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_788 lpdump_service (service_manager (add)))
+(neverallow base_typeattr_784 lpdump_service (service_manager (add)))
 ;;* lme
 
 (allow lpdumpd block_device (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -22984,12 +22592,12 @@
 (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_789 lpdump_service (service_manager (find)))
+(neverallow base_typeattr_785 lpdump_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 47 system/sepolicy/private/lpdumpd.te
 
-(neverallow base_typeattr_790 lpdumpd (binder (call)))
+(neverallow base_typeattr_786 lpdumpd (binder (call)))
 ;;* lme
 
 (allow init mdnsd_exec (file (read getattr map execute open)))
@@ -23010,9 +22618,6 @@
 (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)))
@@ -23022,7 +22627,7 @@
 (allow mediadrmserver mediadrmserver_service (service_manager (add find)))
 ;;* lmx 18 system/sepolicy/private/mediadrmserver.te
 
-(neverallow base_typeattr_791 mediadrmserver_service (service_manager (add)))
+(neverallow base_typeattr_787 mediadrmserver_service (service_manager (add)))
 ;;* lme
 
 (allow mediadrmserver mediaserver_service (service_manager (find)))
@@ -23075,9 +22680,6 @@
 (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)))
@@ -23087,7 +22689,7 @@
 (allow mediaextractor mediaextractor_service (service_manager (add find)))
 ;;* lmx 19 system/sepolicy/private/mediaextractor.te
 
-(neverallow base_typeattr_792 mediaextractor_service (service_manager (add)))
+(neverallow base_typeattr_788 mediaextractor_service (service_manager (add)))
 ;;* lme
 
 (allow mediaextractor mediametrics_service (service_manager (find)))
@@ -23155,16 +22757,13 @@
 (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_793 mediametrics_service (service_manager (add)))
+(neverallow base_typeattr_789 mediametrics_service (service_manager (add)))
 ;;* lme
 
 (allow mediametrics system_server (fd (use)))
@@ -23202,23 +22801,23 @@
 (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_794 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)))
+(neverallow base_typeattr_790 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_795 base_typeattr_794 (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_791 base_typeattr_790 (file (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_796 mediaprovider (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_792 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_797 mediaprovider (process (ptrace)))
+(neverallow base_typeattr_793 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)))
@@ -23250,23 +22849,23 @@
 (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_798 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)))
+(neverallow base_typeattr_794 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_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)))
+(neverallow base_typeattr_795 base_typeattr_794 (file (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_800 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)))
+(neverallow base_typeattr_796 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_801 mediaprovider_app (process (ptrace)))
+(neverallow base_typeattr_797 mediaprovider_app (process (ptrace)))
 ;;* lme
 
 (allow mediaprovider_app mnt_pass_through_file (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -23351,9 +22950,6 @@
 (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)))
@@ -23390,7 +22986,7 @@
 (allow mediaserver mediaserver_service (service_manager (add find)))
 ;;* lmx 103 system/sepolicy/private/mediaserver.te
 
-(neverallow base_typeattr_802 mediaserver_service (service_manager (add)))
+(neverallow base_typeattr_798 mediaserver_service (service_manager (add)))
 ;;* lme
 
 (allow mediaserver activity_service (service_manager (find)))
@@ -23416,9 +23012,6 @@
 (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))))
@@ -23441,27 +23034,27 @@
 (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
+;;* lmx 185 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
+;;* lmx 188 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
+;;* lmx 188 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
+;;* lmx 188 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))))
@@ -23519,9 +23112,6 @@
 (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)))
@@ -23531,7 +23121,7 @@
 (allow mediatranscoding mediatranscoding_service (service_manager (add find)))
 ;;* lmx 15 system/sepolicy/private/mediatranscoding.te
 
-(neverallow base_typeattr_803 mediatranscoding_service (service_manager (add)))
+(neverallow base_typeattr_799 mediatranscoding_service (service_manager (add)))
 ;;* lme
 
 (allow mediatranscoding mediaserver_service (service_manager (find)))
@@ -23577,16 +23167,13 @@
 (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_804 mediatuner_service (service_manager (add)))
+(neverallow base_typeattr_800 mediatuner_service (service_manager (add)))
 ;;* lme
 
 (allow mediatuner system_server (fd (use)))
@@ -23642,47 +23229,6 @@
 (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_805 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)))
@@ -23717,35 +23263,20 @@
 (dontaudit misctrl vendor_property_type (file (read)))
 ;;* lmx 16 system/sepolicy/private/mlstrustedsubject.te
 
-(neverallow base_typeattr_806 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_806 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_806 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)))
+(neverallow base_typeattr_801 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_801 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)))
 ;;* lme
 
 ;;* lmx 26 system/sepolicy/private/mlstrustedsubject.te
 
-(neverallow base_typeattr_806 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_806 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_806 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_807 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_807 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)))
+(neverallow base_typeattr_801 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_801 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)))
 ;;* lme
 
 ;;* lmx 49 system/sepolicy/private/mlstrustedsubject.te
 
-(neverallow base_typeattr_808 app_data_file (dir (read getattr search)))
-(neverallow base_typeattr_808 privapp_data_file (dir (read getattr search)))
-(neverallow base_typeattr_808 storage_area_content_file (dir (read getattr search)))
-;;* lme
-
-;;* lmx 51 system/sepolicy/private/mlstrustedsubject.te
-
-(neverallow base_typeattr_809 storage_area_app_dir (dir (read getattr search)))
-(neverallow base_typeattr_809 storage_area_dir (dir (read getattr search)))
+(neverallow base_typeattr_802 app_data_file (dir (read getattr search)))
+(neverallow base_typeattr_802 privapp_data_file (dir (read getattr search)))
 ;;* lme
 
 (allow init mm_events_exec (file (read getattr map execute open)))
@@ -23778,14 +23309,11 @@
 (allow mmd mmd_service (service_manager (add find)))
 ;;* lmx 13 system/sepolicy/private/mmd.te
 
-(neverallow base_typeattr_810 mmd_service (service_manager (add)))
+(neverallow base_typeattr_803 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)))
@@ -23820,13 +23348,13 @@
 (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_811 node_type (tcp_socket (node_bind)))
-(allow base_typeattr_811 node_type (udp_socket (node_bind)))
-(allow base_typeattr_811 node_type (rawip_socket (node_bind)))
-(allow base_typeattr_811 node_type (icmp_socket (node_bind)))
-(allow base_typeattr_811 port_type (udp_socket (name_bind)))
-(allow base_typeattr_811 port_type (tcp_socket (name_bind)))
-(allow base_typeattr_812 self (netlink_route_socket (bind nlmsg_readpriv nlmsg_getneigh)))
+(allow base_typeattr_804 node_type (tcp_socket (node_bind)))
+(allow base_typeattr_804 node_type (udp_socket (node_bind)))
+(allow base_typeattr_804 node_type (rawip_socket (node_bind)))
+(allow base_typeattr_804 node_type (icmp_socket (node_bind)))
+(allow base_typeattr_804 port_type (udp_socket (name_bind)))
+(allow base_typeattr_804 port_type (tcp_socket (name_bind)))
+(allow base_typeattr_805 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)))
@@ -23936,25 +23464,22 @@
 (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_813 netd_service (service_manager (add)))
+(neverallow base_typeattr_806 netd_service (service_manager (add)))
 ;;* lme
 
 (allow netd dnsresolver_service (service_manager (add find)))
 ;;* lmx 117 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_813 dnsresolver_service (service_manager (add)))
+(neverallow base_typeattr_806 dnsresolver_service (service_manager (add)))
 ;;* lme
 
 (allow netd mdns_service (service_manager (add find)))
 ;;* lmx 118 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_813 mdns_service (service_manager (add)))
+(neverallow base_typeattr_806 mdns_service (service_manager (add)))
 ;;* lme
 
 (allow netd dumpstate (fifo_file (write getattr)))
@@ -23972,21 +23497,18 @@
 (allow netd hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 142 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_813 system_net_netd_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_806 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_813 system_net_netd_service (service_manager (add)))
+(neverallow base_typeattr_806 system_net_netd_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 155 system/sepolicy/private/netd.te
@@ -24030,17 +23552,17 @@
 
 ;;* lmx 174 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_814 netd_service (service_manager (find)))
+(neverallow base_typeattr_807 netd_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 184 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_814 dnsresolver_service (service_manager (find)))
+(neverallow base_typeattr_807 dnsresolver_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 194 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_814 mdns_service (service_manager (find)))
+(neverallow base_typeattr_807 mdns_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 197 system/sepolicy/private/netd.te
@@ -24075,12 +23597,12 @@
 (dontaudit netd appdomain (unix_stream_socket (read write)))
 ;;* lmx 221 system/sepolicy/private/netd.te
 
-(neverallow base_typeattr_815 netd_stable_secret_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow base_typeattr_808 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_816 netd_stable_secret_prop (property_service (set)))
+(neverallow base_typeattr_809 netd_stable_secret_prop (property_service (set)))
 ;;* lme
 
 (allow netutils_wrapper system_file (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -24101,9 +23623,6 @@
 (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)))
@@ -24144,23 +23663,23 @@
 (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_817 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)))
+(neverallow base_typeattr_810 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_818 base_typeattr_817 (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_811 base_typeattr_810 (file (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_819 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)))
+(neverallow base_typeattr_812 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_820 network_stack (process (ptrace)))
+(neverallow base_typeattr_813 network_stack (process (ptrace)))
 ;;* lme
 
 (allow network_stack self (capability (net_bind_service net_broadcast net_admin net_raw)))
@@ -24279,29 +23798,29 @@
 (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_821 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)))
+(neverallow base_typeattr_814 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_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)))
+(neverallow base_typeattr_815 base_typeattr_814 (file (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_823 nfc (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_816 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_824 nfc (process (ptrace)))
+(neverallow base_typeattr_817 nfc (process (ptrace)))
 ;;* lme
 
 (allow nfc nfc_service (service_manager (add find)))
 ;;* lmx 7 system/sepolicy/private/nfc.te
 
-(neverallow base_typeattr_821 nfc_service (service_manager (add)))
+(neverallow base_typeattr_814 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)))
@@ -24336,7 +23855,7 @@
 (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_825 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)))
+(neverallow base_typeattr_818 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)))
@@ -24373,17 +23892,17 @@
 (allow odrefresh artd (fd (use)))
 ;;* lmx 65 system/sepolicy/private/odrefresh.te
 
-(neverallow base_typeattr_826 apex_art_staging_data_file (file (open)))
+(neverallow base_typeattr_819 apex_art_staging_data_file (file (open)))
 ;;* lme
 
 ;;* lmx 71 system/sepolicy/private/odrefresh.te
 
-(neverallow base_typeattr_827 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)))
+(neverallow base_typeattr_820 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_828 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)))
+(neverallow base_typeattr_821 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)))
@@ -24407,12 +23926,6 @@
 (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)))
@@ -24446,7 +23959,7 @@
 (allow odsign odsign_prop (file (read getattr map open)))
 ;;* lmx 59 system/sepolicy/private/odsign.te
 
-(neverallow base_typeattr_829 odsign_prop (property_service (set)))
+(neverallow base_typeattr_822 odsign_prop (property_service (set)))
 ;;* lme
 
 (allow odsign property_socket (sock_file (write)))
@@ -24455,12 +23968,12 @@
 (allow odsign ctl_odsign_prop (file (read getattr map open)))
 ;;* lmx 65 system/sepolicy/private/odsign.te
 
-(neverallow base_typeattr_829 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)))
+(neverallow base_typeattr_822 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_829 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)))
+(neverallow base_typeattr_822 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)))
@@ -24477,13 +23990,10 @@
 (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_830 ot_daemon_service (service_manager (add)))
+(neverallow base_typeattr_823 ot_daemon_service (service_manager (add)))
 ;;* lme
 
 (allow ot_daemon system_server (binder (call transfer)))
@@ -24495,7 +24005,7 @@
 (allow ot_daemon dumpstate (fifo_file (write)))
 ;;* lmx 53 system/sepolicy/private/ot_daemon.te
 
-(neverallow base_typeattr_831 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)))
+(neverallow base_typeattr_824 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)))
@@ -24599,9 +24109,6 @@
 (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)))
@@ -24634,12 +24141,12 @@
 (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_832 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)))
+(neverallow base_typeattr_825 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_833 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)))
+(neverallow base_typeattr_826 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
@@ -24659,17 +24166,17 @@
 
 ;;* lmx 139 system/sepolicy/private/perfetto.te
 
-(neverallow perfetto base_typeattr_834 (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 perfetto base_typeattr_827 (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_835 (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)))
+(neverallow perfetto base_typeattr_828 (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_836 (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)))
+(neverallow perfetto base_typeattr_829 (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)))
@@ -24680,9 +24187,6 @@
 (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)))
@@ -24693,7 +24197,7 @@
 (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_837 pdx_performance_client_endpoint_socket_type (unix_stream_socket (listen accept)))
+(neverallow base_typeattr_830 pdx_performance_client_endpoint_socket_type (unix_stream_socket (listen accept)))
 ;;* lme
 
 (allow performanced self (capability (setgid setuid sys_nice)))
@@ -24726,23 +24230,23 @@
 (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_838 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)))
+(neverallow base_typeattr_831 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_839 base_typeattr_838 (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_832 base_typeattr_831 (file (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_840 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)))
+(neverallow base_typeattr_833 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_841 permissioncontroller_app (process (ptrace)))
+(neverallow base_typeattr_834 permissioncontroller_app (process (ptrace)))
 ;;* lme
 
 (allow permissioncontroller_app app_api_service (service_manager (find)))
@@ -24762,23 +24266,23 @@
 (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_842 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)))
+(neverallow base_typeattr_835 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_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)))
+(neverallow base_typeattr_836 base_typeattr_835 (file (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_844 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)))
+(neverallow base_typeattr_837 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_845 platform_app (process (ptrace)))
+(neverallow base_typeattr_838 platform_app (process (ptrace)))
 ;;* lme
 
 (allow platform_app shell_data_file (dir (search)))
@@ -24802,7 +24306,7 @@
 (allow platform_app radio_cdma_ecm_prop (file (read getattr map open)))
 ;;* lmx 46 system/sepolicy/private/platform_app.te
 
-(neverallow base_typeattr_846 persist_wm_debug_prop (property_service (set)))
+(neverallow base_typeattr_839 persist_wm_debug_prop (property_service (set)))
 ;;* lme
 
 (allow platform_app property_socket (sock_file (write)))
@@ -24895,9 +24399,6 @@
 (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)))
@@ -24906,7 +24407,7 @@
 (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_847 postinstall (process (transition dyntransition)))
+(neverallow base_typeattr_840 postinstall (process (transition dyntransition)))
 ;;* lme
 
 (allow postinstall_dexopt dex2oat_exec (file (read getattr map execute open)))
@@ -25000,7 +24501,7 @@
 (allow prefetch prefetch_service_prop (file (read getattr map open)))
 ;;* lmx 24 system/sepolicy/private/prefetch.te
 
-(neverallow base_typeattr_848 ctl_prefetch_prop (property_service (set)))
+(neverallow base_typeattr_841 ctl_prefetch_prop (property_service (set)))
 ;;* lme
 
 (allow init preloads_copy_exec (file (read getattr map execute open)))
@@ -25025,23 +24526,23 @@
 (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_849 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)))
+(neverallow base_typeattr_842 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_850 base_typeattr_849 (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_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/priv_app.te
 
-(neverallow base_typeattr_851 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)))
+(neverallow base_typeattr_844 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_852 priv_app (process (ptrace)))
+(neverallow base_typeattr_845 priv_app (process (ptrace)))
 ;;* lme
 
 (typetransition priv_app devpts chr_file priv_app_devpts)
@@ -25251,12 +24752,12 @@
 
 ;;* lmx 275 system/sepolicy/private/priv_app.te
 
-(neverallow priv_app base_typeattr_853 (file (execute execute_no_trans)))
+(neverallow priv_app base_typeattr_846 (file (execute execute_no_trans)))
 ;;* lme
 
 ;;* lmx 278 system/sepolicy/private/priv_app.te
 
-(neverallow priv_app base_typeattr_853 (lnk_file (read getattr open)))
+(neverallow priv_app base_typeattr_846 (lnk_file (read getattr open)))
 ;;* lme
 
 ;;* lmx 281 system/sepolicy/private/priv_app.te
@@ -25858,27 +25359,27 @@
 (allow property_type tmpfs (filesystem (associate)))
 ;;* lmx 159 system/sepolicy/private/property.te
 
-(neverallow domain base_typeattr_854 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow domain base_typeattr_847 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
 ;;* lme
 
 ;;* lmx 159 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_229 base_typeattr_855 (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_229 base_typeattr_848 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
 ;;* lme
 
 ;;* lmx 159 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_229 base_typeattr_856 (property_service (set)))
+(neverallow base_typeattr_229 base_typeattr_849 (property_service (set)))
 ;;* lme
 
 ;;* lmx 159 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_231 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)))
+(neverallow base_typeattr_231 base_typeattr_850 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
 ;;* lme
 
 ;;* lmx 159 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_337 base_typeattr_858 (property_service (set)))
+(neverallow base_typeattr_337 base_typeattr_851 (property_service (set)))
 ;;* lme
 
 ;;* lmx 202 system/sepolicy/private/property.te
@@ -25888,7 +25389,7 @@
 
 ;;* lmx 228 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_236 base_typeattr_859 (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_236 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 236 system/sepolicy/private/property.te
@@ -25906,7 +25407,7 @@
 (dontaudit domain ctl_default_prop (property_service (set)))
 ;;* lmx 255 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_860 init_storage_prop (property_service (set)))
+(neverallow base_typeattr_853 init_storage_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 260 system/sepolicy/private/property.te
@@ -25916,92 +25417,92 @@
 
 ;;* lmx 267 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_846 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)))
+(neverallow base_typeattr_839 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 278 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_861 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)))
+(neverallow base_typeattr_854 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 284 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_862 misctrl_prop (property_service (set)))
+(neverallow base_typeattr_855 misctrl_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_863 base_typeattr_864 (property_service (set)))
+(neverallow base_typeattr_856 base_typeattr_857 (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_865 nfc_prop (property_service (set)))
+(neverallow base_typeattr_858 nfc_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_866 radio_control_prop (property_service (set)))
+(neverallow base_typeattr_859 radio_control_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_867 radio_prop (property_service (set)))
+(neverallow base_typeattr_860 radio_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_868 bluetooth_prop (property_service (set)))
+(neverallow base_typeattr_861 bluetooth_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_869 exported_bluetooth_prop (property_service (set)))
+(neverallow base_typeattr_862 exported_bluetooth_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_870 exported_camera_prop (property_service (set)))
+(neverallow base_typeattr_863 exported_camera_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_871 wifi_prop (property_service (set)))
+(neverallow base_typeattr_864 wifi_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_872 wifi_hal_prop (property_service (set)))
+(neverallow base_typeattr_865 wifi_hal_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_863 base_typeattr_873 (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_856 base_typeattr_866 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
 ;;* lme
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_874 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)))
+(neverallow base_typeattr_867 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 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_865 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)))
+(neverallow base_typeattr_858 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 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_867 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)))
+(neverallow base_typeattr_860 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 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_868 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)))
+(neverallow base_typeattr_861 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 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_871 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)))
+(neverallow base_typeattr_864 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 286 system/sepolicy/private/property.te
@@ -26021,13 +25522,13 @@
 
 ;;* lmx 286 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_846 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)))
+(neverallow base_typeattr_839 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 483 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_875 base_typeattr_876 (property_service (set)))
+(neverallow base_typeattr_868 base_typeattr_869 (property_service (set)))
 ;;* lme
 
 ;;* lmx 503 system/sepolicy/private/property.te
@@ -26048,12 +25549,12 @@
 
 ;;* lmx 532 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_877 adbd_config_prop (property_service (set)))
+(neverallow base_typeattr_870 adbd_config_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 542 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_878 adbd_prop (property_service (set)))
+(neverallow base_typeattr_871 adbd_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 550 system/sepolicy/private/property.te
@@ -26063,7 +25564,7 @@
 
 ;;* lmx 560 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_848 userspace_reboot_test_prop (property_service (set)))
+(neverallow base_typeattr_841 userspace_reboot_test_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 569 system/sepolicy/private/property.te
@@ -26078,13 +25579,13 @@
 
 ;;* lmx 591 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_879 arm64_memtag_prop (property_service (set)))
-(neverallow base_typeattr_879 gwp_asan_prop (property_service (set)))
+(neverallow base_typeattr_872 arm64_memtag_prop (property_service (set)))
+(neverallow base_typeattr_872 gwp_asan_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 600 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_880 kcmdline_prop (property_service (set)))
+(neverallow base_typeattr_873 kcmdline_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 607 system/sepolicy/private/property.te
@@ -26123,7 +25624,7 @@
 
 ;;* lmx 658 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_881 telephony_status_prop (property_service (set)))
+(neverallow base_typeattr_874 telephony_status_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 666 system/sepolicy/private/property.te
@@ -26133,12 +25634,12 @@
 
 ;;* lmx 674 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_882 surfaceflinger_display_prop (property_service (set)))
+(neverallow base_typeattr_875 surfaceflinger_display_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 681 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_863 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)))
+(neverallow base_typeattr_856 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 687 system/sepolicy/private/property.te
@@ -26153,7 +25654,7 @@
 
 ;;* lmx 702 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_883 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)))
+(neverallow base_typeattr_876 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 708 system/sepolicy/private/property.te
@@ -26163,17 +25664,17 @@
 
 ;;* lmx 716 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_884 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)))
+(neverallow base_typeattr_877 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 724 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_884 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)))
+(neverallow base_typeattr_877 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 732 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_885 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)))
+(neverallow base_typeattr_878 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 743 system/sepolicy/private/property.te
@@ -26208,7 +25709,7 @@
 
 ;;* lmx 779 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_848 sqlite_log_prop (property_service (set)))
+(neverallow base_typeattr_841 sqlite_log_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 785 system/sepolicy/private/property.te
@@ -26229,7 +25730,7 @@
 
 ;;* lmx 803 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_886 remote_prov_prop (property_service (set)))
+(neverallow base_typeattr_879 remote_prov_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 808 system/sepolicy/private/property.te
@@ -26239,7 +25740,7 @@
 
 ;;* lmx 815 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_848 rollback_test_prop (property_service (set)))
+(neverallow base_typeattr_841 rollback_test_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 821 system/sepolicy/private/property.te
@@ -26249,7 +25750,7 @@
 
 ;;* lmx 829 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_887 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)))
+(neverallow base_typeattr_880 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 835 system/sepolicy/private/property.te
@@ -26259,12 +25760,12 @@
 
 ;;* lmx 843 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_888 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)))
+(neverallow base_typeattr_881 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 851 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_889 profcollectd_node_id_prop (file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow base_typeattr_882 profcollectd_node_id_prop (file (ioctl read getattr lock map open watch watch_reads)))
 ;;* lme
 
 ;;* lmx 856 system/sepolicy/private/property.te
@@ -26279,7 +25780,7 @@
 
 ;;* lmx 869 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_890 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)))
+(neverallow base_typeattr_883 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 875 system/sepolicy/private/property.te
@@ -26289,12 +25790,12 @@
 
 ;;* lmx 882 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_848 bionic_linker_16kb_app_compat_prop (property_service (set)))
+(neverallow base_typeattr_841 bionic_linker_16kb_app_compat_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 889 system/sepolicy/private/property.te
 
-(neverallow base_typeattr_848 pm_16kb_app_compat_prop (property_service (set)))
+(neverallow base_typeattr_841 pm_16kb_app_compat_prop (property_service (set)))
 ;;* lme
 
 (typetransition radio tmpfs file appdomain_tmpfs)
@@ -26302,23 +25803,23 @@
 (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_891 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)))
+(neverallow base_typeattr_884 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_892 base_typeattr_891 (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_885 base_typeattr_884 (file (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_893 radio (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_886 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_894 radio (process (ptrace)))
+(neverallow base_typeattr_887 radio (process (ptrace)))
 ;;* lme
 
 (allow radio runtime_event_log_tags_file (file (ioctl read getattr lock map open watch watch_reads)))
@@ -26370,7 +25871,7 @@
 (allow radio radio_service (service_manager (add find)))
 ;;* lmx 51 system/sepolicy/private/radio.te
 
-(neverallow base_typeattr_891 radio_service (service_manager (add)))
+(neverallow base_typeattr_884 radio_service (service_manager (add)))
 ;;* lme
 
 (allow radio audioserver_service (service_manager (find)))
@@ -26384,23 +25885,20 @@
 (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_895 binder_cache_telephony_server_prop (property_service (set)))
+(neverallow base_typeattr_888 binder_cache_telephony_server_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 206 system/sepolicy/private/recovery.te
 
-(neverallow recovery base_typeattr_896 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
+(neverallow recovery base_typeattr_889 (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_896 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
+(neverallow recovery base_typeattr_889 (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)))
@@ -26458,7 +25956,7 @@
 
 ;;* lmx 39 system/sepolicy/private/recovery_persist.te
 
-(neverallow recovery_persist base_typeattr_897 (file (write)))
+(neverallow recovery_persist base_typeattr_890 (file (write)))
 ;;* lme
 
 (allow init recovery_refresh_exec (file (read getattr map execute open)))
@@ -26516,14 +26014,11 @@
 (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_898 remote_provisioning_service (service_manager (add)))
+(neverallow base_typeattr_891 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)))
@@ -26532,16 +26027,13 @@
 (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_899 rkp_cert_processor_service (service_manager (add)))
+(neverallow base_typeattr_892 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)))
@@ -26549,9 +26041,6 @@
 (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)))
@@ -26561,13 +26050,13 @@
 (allow rkpd rkpd_registrar_service (service_manager (add find)))
 ;;* lmx 12 system/sepolicy/private/rkpd.te
 
-(neverallow base_typeattr_900 rkpd_registrar_service (service_manager (add)))
+(neverallow base_typeattr_893 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_900 rkpd_refresh_service (service_manager (add)))
+(neverallow base_typeattr_893 rkpd_refresh_service (service_manager (add)))
 ;;* lme
 
 (allow rkpd device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
@@ -26576,23 +26065,23 @@
 (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_901 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)))
+(neverallow base_typeattr_894 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_902 base_typeattr_901 (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_895 base_typeattr_894 (file (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_903 rkpdapp (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_896 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_904 rkpdapp (process (ptrace)))
+(neverallow base_typeattr_897 rkpdapp (process (ptrace)))
 ;;* lme
 
 (allow rkpdapp device_config_remote_key_provisioning_native_prop (file (read getattr map open)))
@@ -26715,7 +26204,7 @@
 (allow runas selinuxfs (file (write lock append map open)))
 (allow runas kernel (security (check_context)))
 (allow runas self (process (setcurrent)))
-(allow runas base_typeattr_905 (process (dyntransition)))
+(allow runas base_typeattr_898 (process (dyntransition)))
 (allow runas seapp_contexts_file (file (ioctl read getattr lock map open watch watch_reads)))
 ;;* lmx 44 system/sepolicy/private/runas.te
 
@@ -26734,23 +26223,23 @@
 (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_906 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)))
+(neverallow base_typeattr_899 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_907 base_typeattr_906 (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_900 base_typeattr_899 (file (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_908 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)))
+(neverallow base_typeattr_901 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_909 runas_app (process (ptrace)))
+(neverallow base_typeattr_902 runas_app (process (ptrace)))
 ;;* lme
 
 (allow runas_app app_data_file (file (execute_no_trans)))
@@ -26772,7 +26261,7 @@
 (allow scheduler_service_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 1 system/sepolicy/private/scheduler_service_server.te
 
-(neverallow base_typeattr_910 fwk_scheduler_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_903 fwk_scheduler_hwservice (hwservice_manager (add)))
 ;;* lme
 
 (typetransition sdcardd system_data_file dir media_rw_data_file)
@@ -26819,23 +26308,23 @@
 (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_911 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)))
+(neverallow base_typeattr_904 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_912 base_typeattr_911 (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_905 base_typeattr_904 (file (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_913 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)))
+(neverallow base_typeattr_906 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_914 sdk_sandbox_34 (process (ptrace)))
+(neverallow base_typeattr_907 sdk_sandbox_34 (process (ptrace)))
 ;;* lme
 
 (allow sdk_sandbox_all system_linker_exec (file (execute_no_trans)))
@@ -26901,12 +26390,12 @@
 
 ;;* lmx 71 system/sepolicy/private/sdk_sandbox_all.te
 
-(neverallow sdk_sandbox_all base_typeattr_915 (dir (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
+(neverallow sdk_sandbox_all base_typeattr_908 (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_915 (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 sdk_sandbox_all base_typeattr_908 (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
@@ -26931,22 +26420,22 @@
 
 ;;* lmx 90 system/sepolicy/private/sdk_sandbox_all.te
 
-(neverallow base_typeattr_916 sdk_sandbox_system_data_file (dir (relabelfrom)))
+(neverallow base_typeattr_909 sdk_sandbox_system_data_file (dir (relabelfrom)))
 ;;* lme
 
 ;;* lmx 100 system/sepolicy/private/sdk_sandbox_all.te
 
-(neverallow base_typeattr_917 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)))
+(neverallow base_typeattr_910 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_916 sdk_sandbox_system_data_file (dir (relabelfrom)))
+(neverallow base_typeattr_909 sdk_sandbox_system_data_file (dir (relabelfrom)))
 ;;* lme
 
 ;;* lmx 120 system/sepolicy/private/sdk_sandbox_all.te
 
-(neverallow base_typeattr_917 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)))
+(neverallow base_typeattr_910 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
@@ -26961,12 +26450,12 @@
 
 ;;* lmx 144 system/sepolicy/private/sdk_sandbox_all.te
 
-(neverallow sdk_sandbox_all base_typeattr_918 (unix_stream_socket (connectto)))
+(neverallow sdk_sandbox_all base_typeattr_911 (unix_stream_socket (connectto)))
 ;;* lme
 
 ;;* lmx 149 system/sepolicy/private/sdk_sandbox_all.te
 
-(neverallow base_typeattr_919 sdk_sandbox_all (unix_stream_socket (connectto)))
+(neverallow base_typeattr_912 sdk_sandbox_all (unix_stream_socket (connectto)))
 ;;* lme
 
 (typetransition sdk_sandbox_audit tmpfs file appdomain_tmpfs)
@@ -26974,31 +26463,31 @@
 (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_920 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)))
+(neverallow base_typeattr_913 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_921 base_typeattr_920 (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_914 base_typeattr_913 (file (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_922 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)))
+(neverallow base_typeattr_915 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_923 sdk_sandbox_audit (process (ptrace)))
+(neverallow base_typeattr_916 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_924 (file (ioctl read write getattr lock append map open watch watch_reads)))
-(auditallow sdk_sandbox_audit base_typeattr_924 (dir (ioctl read write getattr lock open watch watch_reads add_name remove_name search)))
+(auditallow sdk_sandbox_audit base_typeattr_917 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(auditallow sdk_sandbox_audit base_typeattr_917 (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)))
@@ -27080,23 +26569,23 @@
 (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_925 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)))
+(neverallow base_typeattr_918 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_926 base_typeattr_925 (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_919 base_typeattr_918 (file (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_927 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)))
+(neverallow base_typeattr_920 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_928 sdk_sandbox_next (process (ptrace)))
+(neverallow base_typeattr_921 sdk_sandbox_next (process (ptrace)))
 ;;* lme
 
 (allow sdk_sandbox_next audioserver_service (service_manager (find)))
@@ -27176,29 +26665,29 @@
 (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_929 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)))
+(neverallow base_typeattr_922 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_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)))
+(neverallow base_typeattr_923 base_typeattr_922 (file (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_931 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)))
+(neverallow base_typeattr_924 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_932 secure_element (process (ptrace)))
+(neverallow base_typeattr_925 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_929 secure_element_service (service_manager (add)))
+(neverallow base_typeattr_922 secure_element_service (service_manager (add)))
 ;;* lme
 
 (allow secure_element app_api_service (service_manager (find)))
@@ -27208,12 +26697,12 @@
 (allow sensor_service_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 1 system/sepolicy/private/sensor_service_server.te
 
-(neverallow base_typeattr_933 fwk_sensor_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_926 fwk_sensor_hwservice (hwservice_manager (add)))
 ;;* lme
 
 ;;* lmx 84 system/sepolicy/private/service.te
 
-(neverallow domain base_typeattr_934 (service_manager (add find)))
+(neverallow domain base_typeattr_927 (service_manager (add find)))
 ;;* lme
 
 (allow init servicemanager_exec (file (read getattr map execute open)))
@@ -27239,13 +26728,13 @@
 (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_935 (binder (transfer)))
+(allow servicemanager base_typeattr_928 (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_936 service_manager_service (service_manager (add)))
+(neverallow base_typeattr_929 service_manager_service (service_manager (add)))
 ;;* lme
 
 (allow servicemanager dumpstate (fd (use)))
@@ -27285,7 +26774,7 @@
 
 ;;* lmx 39 system/sepolicy/private/sgdisk.te
 
-(neverallow sgdisk base_typeattr_937 (file (entrypoint)))
+(neverallow sgdisk base_typeattr_930 (file (entrypoint)))
 ;;* lme
 
 (typetransition shared_relro tmpfs file appdomain_tmpfs)
@@ -27293,23 +26782,23 @@
 (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_938 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)))
+(neverallow base_typeattr_931 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_939 base_typeattr_938 (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_932 base_typeattr_931 (file (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_940 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)))
+(neverallow base_typeattr_933 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_941 shared_relro (process (ptrace)))
+(neverallow base_typeattr_934 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)))
@@ -27332,23 +26821,23 @@
 (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_942 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)))
+(neverallow base_typeattr_935 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_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)))
+(neverallow base_typeattr_936 base_typeattr_935 (file (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_908 shell (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_901 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_944 shell (process (ptrace)))
+(neverallow base_typeattr_937 shell (process (ptrace)))
 ;;* lme
 
 (allow shell storaged (binder (call transfer)))
@@ -27638,13 +27127,10 @@
 (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_945 (service_manager (find)))
+(allow shell base_typeattr_938 (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)))
@@ -27764,43 +27250,43 @@
 
 ;;* lmx 548 system/sepolicy/private/shell.te
 
-(neverallow base_typeattr_848 perf_drop_caches_prop (property_service (set)))
+(neverallow base_typeattr_841 perf_drop_caches_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 549 system/sepolicy/private/shell.te
 
-(neverallow base_typeattr_946 perf_drop_caches_prop (file (read)))
+(neverallow base_typeattr_939 perf_drop_caches_prop (file (read)))
 ;;* lme
 
-(allow base_typeattr_947 simpleperf_exec (file (read getattr map execute open)))
-(allow base_typeattr_947 simpleperf (process (transition)))
+(allow base_typeattr_940 simpleperf_exec (file (read getattr map execute open)))
+(allow base_typeattr_940 simpleperf (process (transition)))
 (allow simpleperf simpleperf_exec (file (read getattr map execute open entrypoint)))
-(allow simpleperf base_typeattr_947 (process (sigchld)))
-(dontaudit base_typeattr_947 simpleperf (process (noatsecure)))
-(allow base_typeattr_947 simpleperf (process (siginh rlimitinh)))
-(typetransition base_typeattr_947 simpleperf_exec process simpleperf)
+(allow simpleperf base_typeattr_940 (process (sigchld)))
+(dontaudit base_typeattr_940 simpleperf (process (noatsecure)))
+(allow base_typeattr_940 simpleperf (process (siginh rlimitinh)))
+(typetransition base_typeattr_940 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_948 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)))
+(neverallow base_typeattr_941 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_949 base_typeattr_948 (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_942 base_typeattr_941 (file (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_908 simpleperf (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_901 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_909 simpleperf (process (ptrace)))
+(neverallow base_typeattr_902 simpleperf (process (ptrace)))
 ;;* lme
 
 (allow simpleperf untrusted_app_all (process (ptrace)))
@@ -27888,17 +27374,11 @@
 (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)))
@@ -27919,9 +27399,6 @@
 (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)))
@@ -27940,9 +27417,6 @@
 (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)))
@@ -27984,7 +27458,7 @@
 (allow snapuserd tmpfs (dir (read watch)))
 ;;* lmx 56 system/sepolicy/private/snapuserd.te
 
-(neverallow base_typeattr_950 snapuserd_prop (property_service (set)))
+(neverallow base_typeattr_943 snapuserd_prop (property_service (set)))
 ;;* lme
 
 (allow snapuserd metadata_file (dir (search)))
@@ -27998,14 +27472,14 @@
 (allow snapuserd self (io_uring (sqpoll)))
 ;;* lmx 73 system/sepolicy/private/snapuserd.te
 
-(neverallow base_typeattr_951 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)))
+(neverallow base_typeattr_944 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_952 ctl_snapuserd_prop (property_service (set)))
+(neverallow base_typeattr_945 ctl_snapuserd_prop (property_service (set)))
 ;;* lme
 
 (allow shell stats_exec (file (read getattr map execute open)))
@@ -28021,9 +27495,6 @@
 (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)))
@@ -28032,7 +27503,7 @@
 (allow statsd stats_service (service_manager (add find)))
 ;;* lmx 27 system/sepolicy/private/stats.te
 
-(neverallow base_typeattr_953 stats_service (service_manager (add)))
+(neverallow base_typeattr_946 stats_service (service_manager (add)))
 ;;* lme
 
 (allow statsd stats (fd (use)))
@@ -28044,20 +27515,17 @@
 (allow stats_service_server hidl_base_hwservice (hwservice_manager (add)))
 ;;* lmx 1 system/sepolicy/private/stats_service_server.te
 
-(neverallow base_typeattr_954 fwk_stats_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_947 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_954 fwk_stats_service (service_manager (add)))
+(neverallow base_typeattr_947 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)))
@@ -28092,7 +27560,7 @@
 (allow statsd self (io_uring (sqpoll)))
 ;;* lmx 46 system/sepolicy/private/statsd.te
 
-(neverallow base_typeattr_953 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)))
+(neverallow base_typeattr_946 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)))
@@ -28103,9 +27571,6 @@
 (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)))
@@ -28164,22 +27629,22 @@
 (allow statsd statsd (unix_dgram_socket (sendto)))
 ;;* lmx 140 system/sepolicy/private/statsd.te
 
-(neverallow base_typeattr_955 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)))
+(neverallow base_typeattr_948 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 141 system/sepolicy/private/statsd.te
 
-(neverallow base_typeattr_956 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)))
+(neverallow base_typeattr_949 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 145 system/sepolicy/private/statsd.te
 
-(neverallow base_typeattr_955 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)))
+(neverallow base_typeattr_948 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 146 system/sepolicy/private/statsd.te
 
-(neverallow base_typeattr_956 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)))
+(neverallow base_typeattr_949 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)))
@@ -28206,14 +27671,11 @@
 (allow storaged storaged_service (service_manager (add find)))
 ;;* lmx 45 system/sepolicy/private/storaged.te
 
-(neverallow base_typeattr_957 storaged_service (service_manager (add)))
+(neverallow base_typeattr_950 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)))
@@ -28247,9 +27709,6 @@
 (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)))
@@ -28365,7 +27824,7 @@
 (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_958 pdx_display_client_endpoint_socket_type (unix_stream_socket (listen accept)))
+(neverallow base_typeattr_951 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)))
@@ -28374,7 +27833,7 @@
 (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_958 pdx_display_manager_endpoint_socket_type (unix_stream_socket (listen accept)))
+(neverallow base_typeattr_951 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)))
@@ -28383,7 +27842,7 @@
 (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_958 pdx_display_screenshot_endpoint_socket_type (unix_stream_socket (listen accept)))
+(neverallow base_typeattr_951 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)))
@@ -28392,7 +27851,7 @@
 (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_958 pdx_display_vsync_endpoint_socket_type (unix_stream_socket (listen accept)))
+(neverallow base_typeattr_951 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)))
@@ -28428,23 +27887,23 @@
 (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_959 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)))
+(neverallow base_typeattr_952 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_960 base_typeattr_959 (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_953 base_typeattr_952 (file (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_961 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)))
+(neverallow base_typeattr_954 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_962 system_app (process (ptrace)))
+(neverallow base_typeattr_955 system_app (process (ptrace)))
 ;;* lme
 
 (allow system_app rootfs (dir (getattr)))
@@ -28562,15 +28021,12 @@
 (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_963 (service_manager (find)))
+(allow system_app base_typeattr_956 (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)))
@@ -28614,12 +28070,12 @@
 
 ;;* lmx 199 system/sepolicy/private/system_app.te
 
-(neverallow base_typeattr_964 adaptive_haptics_prop (property_service (set)))
+(neverallow base_typeattr_957 adaptive_haptics_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 201 system/sepolicy/private/system_app.te
 
-(neverallow base_typeattr_964 drm_forcel3_prop (property_service (set)))
+(neverallow base_typeattr_957 drm_forcel3_prop (property_service (set)))
 ;;* lme
 
 (allow system_app vendor_boot_ota_file (dir (ioctl read getattr lock open watch watch_reads search)))
@@ -28738,9 +28194,6 @@
 (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)))
@@ -29670,17 +29123,17 @@
 
 ;;* lmx 1352 system/sepolicy/private/system_server.te
 
-(neverallow system_server base_typeattr_965 (file (create unlink link open)))
+(neverallow system_server base_typeattr_958 (file (create unlink link open)))
 ;;* lme
 
 ;;* lmx 1363 system/sepolicy/private/system_server.te
 
-(neverallow system_server base_typeattr_966 (file (execute_no_trans)))
+(neverallow system_server base_typeattr_959 (file (execute_no_trans)))
 ;;* lme
 
 ;;* lmx 1368 system/sepolicy/private/system_server.te
 
-(neverallow system_server base_typeattr_967 (process (transition)))
+(neverallow system_server base_typeattr_960 (process (transition)))
 ;;* lme
 
 ;;* lmx 1369 system/sepolicy/private/system_server.te
@@ -29695,38 +29148,38 @@
 
 ;;* lmx 1375 system/sepolicy/private/system_server.te
 
-(neverallow base_typeattr_968 system_ndebug_socket (sock_file (write open)))
+(neverallow base_typeattr_961 system_ndebug_socket (sock_file (write open)))
 ;;* lme
 
 ;;* lmx 1385 system/sepolicy/private/system_server.te
 
-(neverallow base_typeattr_969 system_unsolzygote_socket (sock_file (write open)))
+(neverallow base_typeattr_962 system_unsolzygote_socket (sock_file (write open)))
 ;;* lme
 
 ;;* lmx 1416 system/sepolicy/private/system_server.te
 
-(neverallow base_typeattr_970 device_config_activity_manager_native_boot_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_input_native_boot_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_netd_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_aconfig_flags_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_edgetpu_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_media_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_nnapi_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_runtime_native_boot_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_runtime_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_surface_flinger_native_boot_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_core_experiments_team_internal_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_lmkd_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_mglru_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_mmd_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_remote_key_provisioning_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_storage_native_boot_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_sys_traced_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_window_manager_native_boot_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_connectivity_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_swcodec_native_prop (property_service (set)))
-(neverallow base_typeattr_970 device_config_tethering_u_or_later_native_prop (property_service (set)))
-(neverallow base_typeattr_970 next_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_activity_manager_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_input_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_netd_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_aconfig_flags_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_edgetpu_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_media_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_nnapi_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_runtime_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_runtime_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_surface_flinger_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_core_experiments_team_internal_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_lmkd_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_mglru_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_mmd_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_remote_key_provisioning_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_storage_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_sys_traced_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_window_manager_native_boot_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_connectivity_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_swcodec_native_prop (property_service (set)))
+(neverallow base_typeattr_963 device_config_tethering_u_or_later_native_prop (property_service (set)))
+(neverallow base_typeattr_963 next_boot_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 1423 system/sepolicy/private/system_server.te
@@ -29746,12 +29199,12 @@
 
 ;;* lmx 1441 system/sepolicy/private/system_server.te
 
-(neverallow system_server base_typeattr_971 (blk_file (write create setattr relabelfrom append unlink link rename)))
+(neverallow system_server base_typeattr_964 (blk_file (write create setattr relabelfrom append unlink link rename)))
 ;;* lme
 
 ;;* lmx 1442 system/sepolicy/private/system_server.te
 
-(neverallow system_server base_typeattr_972 (blk_file (ioctl read getattr lock map open watch watch_reads)))
+(neverallow system_server base_typeattr_965 (blk_file (ioctl read getattr lock map open watch watch_reads)))
 ;;* lme
 
 ;;* lmx 1450 system/sepolicy/private/system_server.te
@@ -29797,17 +29250,11 @@
 (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)))
@@ -29927,7 +29374,7 @@
 
 ;;* lmx 1629 system/sepolicy/private/system_server.te
 
-(neverallow base_typeattr_973 sysfs_uhid (file (write create setattr relabelfrom append unlink link rename)))
+(neverallow base_typeattr_966 sysfs_uhid (file (write create setattr relabelfrom append unlink link rename)))
 ;;* lme
 
 ;;* lmx 1635 system/sepolicy/private/system_server.te
@@ -29986,7 +29433,7 @@
 
 ;;* lmx 1706 system/sepolicy/private/system_server.te
 
-(neverallow base_typeattr_477 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)))
+(neverallow base_typeattr_473 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 1709 system/sepolicy/private/system_server.te
@@ -29996,7 +29443,7 @@
 
 ;;* lmx 1717 system/sepolicy/private/system_server.te
 
-(neverallow base_typeattr_974 power_debug_prop (property_service (set)))
+(neverallow base_typeattr_967 power_debug_prop (property_service (set)))
 ;;* lme
 
 (typetransition system_server_startup tmpfs file system_server_startup_tmpfs)
@@ -30018,19 +29465,16 @@
 (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_975 system_suspend_control_service (service_manager (add)))
+(neverallow base_typeattr_968 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_975 hal_system_suspend_service (service_manager (add)))
+(neverallow base_typeattr_968 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)))
@@ -30057,31 +29501,28 @@
 (allow init sysfs_sync_on_suspend (file (write lock append map open)))
 ;;* lmx 56 system/sepolicy/private/system_suspend.te
 
-(neverallow base_typeattr_976 system_suspend_control_service (service_manager (find)))
+(neverallow base_typeattr_969 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_977 system_suspend_control_internal_service (service_manager (add)))
+(neverallow base_typeattr_970 system_suspend_control_internal_service (service_manager (add)))
 ;;* lme
 
 ;;* lmx 12 system/sepolicy/private/system_suspend_internal_server.te
 
-(neverallow base_typeattr_978 system_suspend_control_internal_service (service_manager (find)))
+(neverallow base_typeattr_971 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_979 system_suspend_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_972 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)))
@@ -30103,7 +29544,7 @@
 (allow tombstoned anr_data_file (file (create getattr append unlink link open)))
 ;;* lmx 31 system/sepolicy/private/tombstoned.te
 
-(neverallow base_typeattr_980 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)))
+(neverallow base_typeattr_973 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)))
@@ -30136,7 +29577,7 @@
 
 ;;* lmx 44 system/sepolicy/private/toolbox.te
 
-(neverallow toolbox base_typeattr_981 (file (entrypoint)))
+(neverallow toolbox base_typeattr_974 (file (entrypoint)))
 ;;* lme
 
 (allow trace_redactor system_server (fd (use)))
@@ -30166,9 +29607,6 @@
 (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)))
@@ -30212,7 +29650,7 @@
 
 ;;* lmx 107 system/sepolicy/private/traced.te
 
-(neverallow traced base_typeattr_982 (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 traced base_typeattr_975 (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 108 system/sepolicy/private/traced.te
@@ -30222,7 +29660,7 @@
 
 ;;* lmx 114 system/sepolicy/private/traced.te
 
-(neverallow traced base_typeattr_983 (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)))
+(neverallow traced base_typeattr_976 (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 117 system/sepolicy/private/traced.te
@@ -30237,7 +29675,7 @@
 
 ;;* lmx 130 system/sepolicy/private/traced.te
 
-(neverallow base_typeattr_984 tracingproxy_service (service_manager (find)))
+(neverallow base_typeattr_977 tracingproxy_service (service_manager (find)))
 ;;* lme
 
 (allow init traced_perf_exec (file (read getattr map execute open)))
@@ -30406,7 +29844,7 @@
 
 ;;* lmx 163 system/sepolicy/private/traced_probes.te
 
-(neverallow traced_probes base_typeattr_985 (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 traced_probes base_typeattr_978 (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
@@ -30416,7 +29854,7 @@
 
 ;;* lmx 170 system/sepolicy/private/traced_probes.te
 
-(neverallow traced_probes base_typeattr_986 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton audit_access open execmod watch watch_mount watch_sb watch_with_perm watch_reads execute_no_trans entrypoint)))
+(neverallow traced_probes base_typeattr_979 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map 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
@@ -30434,23 +29872,23 @@
 (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_987 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)))
+(neverallow base_typeattr_980 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_988 base_typeattr_987 (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_981 base_typeattr_980 (file (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_989 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)))
+(neverallow base_typeattr_982 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_990 traceur_app (process (ptrace)))
+(neverallow base_typeattr_983 traceur_app (process (ptrace)))
 ;;* lme
 
 (allow traceur_app debugfs_tracing (file (ioctl read write getattr lock append map open watch watch_reads)))
@@ -30470,7 +29908,7 @@
 (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_991 (service_manager (find)))
+(allow traceur_app base_typeattr_984 (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)))
@@ -30535,9 +29973,9 @@
 (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_992 (dir (ioctl read getattr lock open watch watch_reads search)))
-(allow ueventd base_typeattr_992 (file (ioctl read getattr lock map open watch watch_reads)))
-(allow ueventd base_typeattr_992 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd base_typeattr_985 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow ueventd base_typeattr_985 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow ueventd base_typeattr_985 (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)))
@@ -30617,23 +30055,23 @@
 (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_993 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)))
+(neverallow base_typeattr_986 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_994 base_typeattr_993 (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_987 base_typeattr_986 (file (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_995 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)))
+(neverallow base_typeattr_988 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_996 untrusted_app (process (ptrace)))
+(neverallow base_typeattr_989 untrusted_app (process (ptrace)))
 ;;* lme
 
 (allow untrusted_app sdk_sandbox_data_file (fd (use)))
@@ -30648,23 +30086,23 @@
 (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_997 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)))
+(neverallow base_typeattr_990 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_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)))
+(neverallow base_typeattr_991 base_typeattr_990 (file (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_999 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)))
+(neverallow base_typeattr_992 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_1000 untrusted_app_25 (process (ptrace)))
+(neverallow base_typeattr_993 untrusted_app_25 (process (ptrace)))
 ;;* lme
 
 (allow untrusted_app_25 proc_misc (file (ioctl read getattr lock map open watch watch_reads)))
@@ -30689,23 +30127,23 @@
 (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_1001 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)))
+(neverallow base_typeattr_994 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_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)))
+(neverallow base_typeattr_995 base_typeattr_994 (file (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_1003 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)))
+(neverallow base_typeattr_996 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_1004 untrusted_app_27 (process (ptrace)))
+(neverallow base_typeattr_997 untrusted_app_27 (process (ptrace)))
 ;;* lme
 
 (allow untrusted_app_27 apk_data_file (file (execmod)))
@@ -30728,23 +30166,23 @@
 (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_1005 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)))
+(neverallow base_typeattr_998 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_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)))
+(neverallow base_typeattr_999 base_typeattr_998 (file (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_1007 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)))
+(neverallow base_typeattr_1000 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_1008 untrusted_app_29 (process (ptrace)))
+(neverallow base_typeattr_1001 untrusted_app_29 (process (ptrace)))
 ;;* lme
 
 (allow untrusted_app_29 self (netlink_route_socket (nlmsg_getneigh)))
@@ -30758,23 +30196,23 @@
 (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_1009 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)))
+(neverallow base_typeattr_1002 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_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)))
+(neverallow base_typeattr_1003 base_typeattr_1002 (file (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_1011 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)))
+(neverallow base_typeattr_1004 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_1012 untrusted_app_30 (process (ptrace)))
+(neverallow base_typeattr_1005 untrusted_app_30 (process (ptrace)))
 ;;* lme
 
 (allow untrusted_app_30 self (netlink_route_socket (nlmsg_getneigh)))
@@ -30788,23 +30226,23 @@
 (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_1013 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)))
+(neverallow base_typeattr_1006 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_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)))
+(neverallow base_typeattr_1007 base_typeattr_1006 (file (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_1015 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)))
+(neverallow base_typeattr_1008 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_1016 untrusted_app_32 (process (ptrace)))
+(neverallow base_typeattr_1009 untrusted_app_32 (process (ptrace)))
 ;;* lme
 
 (allow untrusted_app_32 sdk_sandbox_data_file (fd (use)))
@@ -30957,9 +30395,6 @@
 (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)))
@@ -30976,17 +30411,11 @@
 (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)))
@@ -30996,19 +30425,16 @@
 (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_1017 update_engine_service (service_manager (add)))
+(neverallow base_typeattr_1010 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_1017 update_engine_stable_service (service_manager (add)))
+(neverallow base_typeattr_1010 update_engine_stable_service (service_manager (add)))
 ;;* lme
 
 (allow update_engine priv_app (binder (call transfer)))
@@ -31138,9 +30564,6 @@
 (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)))
@@ -31182,9 +30605,6 @@
 (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)))
@@ -31198,14 +30618,8 @@
 (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)))
@@ -31223,7 +30637,7 @@
 (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_1018 (chr_file (setattr)))
+(allow vendor_init base_typeattr_1011 (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)))
@@ -31244,29 +30658,29 @@
 (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_1019 (dir (ioctl read write create getattr setattr relabelfrom open add_name remove_name search rmdir)))
+(allow vendor_init base_typeattr_1012 (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_1020 (file (read write create getattr setattr relabelfrom map unlink open)))
-(allow vendor_init base_typeattr_1021 (sock_file (read create getattr setattr relabelfrom unlink open)))
-(allow vendor_init base_typeattr_1021 (fifo_file (read create getattr setattr relabelfrom unlink open)))
-(allow vendor_init base_typeattr_1022 (lnk_file (create getattr setattr relabelfrom unlink)))
-(allow vendor_init base_typeattr_1023 (file (relabelto)))
-(allow vendor_init base_typeattr_1023 (dir (relabelto)))
-(allow vendor_init base_typeattr_1023 (lnk_file (relabelto)))
-(allow vendor_init base_typeattr_1023 (chr_file (relabelto)))
-(allow vendor_init base_typeattr_1023 (blk_file (relabelto)))
-(allow vendor_init base_typeattr_1023 (sock_file (relabelto)))
-(allow vendor_init base_typeattr_1023 (fifo_file (relabelto)))
+(allow vendor_init base_typeattr_1013 (file (read write create getattr setattr relabelfrom map unlink open)))
+(allow vendor_init base_typeattr_1014 (sock_file (read create getattr setattr relabelfrom unlink open)))
+(allow vendor_init base_typeattr_1014 (fifo_file (read create getattr setattr relabelfrom unlink open)))
+(allow vendor_init base_typeattr_1015 (lnk_file (create getattr setattr relabelfrom unlink)))
+(allow vendor_init base_typeattr_1016 (file (relabelto)))
+(allow vendor_init base_typeattr_1016 (dir (relabelto)))
+(allow vendor_init base_typeattr_1016 (lnk_file (relabelto)))
+(allow vendor_init base_typeattr_1016 (chr_file (relabelto)))
+(allow vendor_init base_typeattr_1016 (blk_file (relabelto)))
+(allow vendor_init base_typeattr_1016 (sock_file (relabelto)))
+(allow vendor_init base_typeattr_1016 (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_1024 (file (read setattr map open)))
+(allow vendor_init base_typeattr_1017 (file (read setattr map open)))
 (allow vendor_init tracefs_type (file (read setattr map open)))
-(allow vendor_init base_typeattr_1025 (dir (read setattr open search)))
+(allow vendor_init base_typeattr_1018 (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)))
@@ -31277,7 +30691,7 @@
 (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_1026 (file (ioctl read write getattr lock append map open watch watch_reads)))
+(allow vendor_init base_typeattr_1019 (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)))
@@ -31484,68 +30898,68 @@
 (allow vendor_init device_config_vendor_system_native_boot_prop (file (read getattr map open)))
 ;;* lmx 341 system/sepolicy/private/vendor_init.te
 
-(neverallow vendor_init base_typeattr_1027 (socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (tcp_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (udp_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (rawip_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (packet_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (key_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (unix_stream_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (unix_dgram_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_route_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_tcpdiag_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_nflog_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_xfrm_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_selinux_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_audit_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_dnrt_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_kobject_uevent_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (appletalk_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (tun_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_iscsi_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_fib_lookup_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_connector_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_netfilter_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_generic_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_scsitransport_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_rdma_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netlink_crypto_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (sctp_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (icmp_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (ax25_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (ipx_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (netrom_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (atmpvc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (x25_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (rose_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (decnet_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (atmsvc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (rds_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (irda_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (pppox_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (llc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (can_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (tipc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (bluetooth_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (iucv_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (rxrpc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (isdn_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (phonet_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (ieee802154_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (caif_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (alg_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (nfc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (vsock_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (kcm_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (qipcrtr_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (smc_socket (connect sendto)))
-(neverallow vendor_init base_typeattr_1027 (xdp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (tcp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (udp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (rawip_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (packet_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (key_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (unix_stream_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (unix_dgram_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_route_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_tcpdiag_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_nflog_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_xfrm_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_selinux_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_audit_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_dnrt_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_kobject_uevent_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (appletalk_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (tun_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_iscsi_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_fib_lookup_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_connector_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_netfilter_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_generic_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_scsitransport_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_rdma_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netlink_crypto_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (sctp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (icmp_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (ax25_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (ipx_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (netrom_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (atmpvc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (x25_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (rose_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (decnet_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (atmsvc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (rds_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (irda_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (pppox_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (llc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (can_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (tipc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (bluetooth_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (iucv_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (rxrpc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (isdn_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (phonet_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (ieee802154_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (caif_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (alg_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (nfc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (vsock_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (kcm_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (qipcrtr_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (smc_socket (connect sendto)))
+(neverallow vendor_init base_typeattr_1020 (xdp_socket (connect sendto)))
 ;;* lme
 
 ;;* lmx 341 system/sepolicy/private/vendor_init.te
 
-(neverallow vendor_init base_typeattr_1027 (unix_stream_socket (connectto)))
+(neverallow vendor_init base_typeattr_1020 (unix_stream_socket (connectto)))
 ;;* lme
 
 ;;* lmx 346 system/sepolicy/private/vendor_init.te
@@ -31560,7 +30974,7 @@
 
 ;;* lmx 348 system/sepolicy/private/vendor_init.te
 
-(neverallow vendor_init base_typeattr_761 (file (entrypoint)))
+(neverallow vendor_init base_typeattr_757 (file (entrypoint)))
 ;;* lme
 
 ;;* lmx 351 system/sepolicy/private/vendor_init.te
@@ -31622,7 +31036,7 @@
 (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_1028 vendor_toolbox_exec (file (execute execute_no_trans entrypoint)))
+(neverallow base_typeattr_1021 vendor_toolbox_exec (file (execute execute_no_trans entrypoint)))
 ;;* lme
 
 (allow init vfio_handler_exec (file (read getattr map execute open)))
@@ -31634,14 +31048,11 @@
 (allow vfio_handler vfio_handler_service (service_manager (add find)))
 ;;* lmx 1 system/sepolicy/private/vfio_handler.te
 
-(neverallow base_typeattr_1029 vfio_handler_service (service_manager (add)))
+(neverallow base_typeattr_1022 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)))
@@ -31663,9 +31074,6 @@
 (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)))
@@ -31678,14 +31086,14 @@
 (allow virtual_camera appdomain (binder (call transfer)))
 (allow appdomain virtual_camera (binder (transfer)))
 (allow virtual_camera appdomain (fd (use)))
-(allow virtual_camera base_typeattr_560 (fd (use)))
+(allow virtual_camera base_typeattr_556 (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_1030 virtual_camera_service (service_manager (add)))
+(neverallow base_typeattr_1023 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)))
@@ -31731,13 +31139,10 @@
 (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_1031 virtual_touchpad_service (service_manager (add)))
+(neverallow base_typeattr_1024 virtual_touchpad_service (service_manager (add)))
 ;;* lme
 
 (allow virtual_touchpad system_server (binder (call transfer)))
@@ -31750,9 +31155,6 @@
 (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)))
@@ -31789,7 +31191,7 @@
 (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_1032 virtualizationmanager (vsock_socket (create bind connect listen accept)))
+(neverallow base_typeattr_1025 virtualizationmanager (vsock_socket (create bind connect listen accept)))
 ;;* lme
 
 (allow virtualizationmanager hypervisor_prop (file (read getattr map open)))
@@ -31797,13 +31199,13 @@
 (dontaudit virtualizationmanager hypervisor_pvmfw_prop (file (read)))
 ;;* lmx 79 system/sepolicy/private/virtual_touchpad.te
 
-(neverallow base_typeattr_1033 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)))
+(neverallow base_typeattr_1026 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_1033 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)))
+(neverallow base_typeattr_1026 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)))
@@ -31853,19 +31255,16 @@
 (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_1034 virtualization_service (service_manager (add)))
+(neverallow base_typeattr_1027 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_1034 virtualization_maintenance_service (service_manager (add)))
+(neverallow base_typeattr_1027 virtualization_maintenance_service (service_manager (add)))
 ;;* lme
 
 (allow virtualizationservice vfio_handler_service (service_manager (find)))
@@ -31921,7 +31320,7 @@
 (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_1035 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)))
+(neverallow base_typeattr_1028 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)))
@@ -31942,24 +31341,24 @@
 (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_1036 virtualizationservice_prop (property_service (set)))
+(neverallow base_typeattr_1029 virtualizationservice_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 127 system/sepolicy/private/virtualizationservice.te
 
-(neverallow base_typeattr_1037 virtualizationservice_data_file (file (create open)))
+(neverallow base_typeattr_1030 virtualizationservice_data_file (file (create open)))
 ;;* lme
 
 ;;* lmx 135 system/sepolicy/private/virtualizationservice.te
 
-(neverallow virtualizationservice base_typeattr_1038 (process (setrlimit)))
+(neverallow virtualizationservice base_typeattr_1031 (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_1039 vfio_handler (binder (call)))
+(neverallow base_typeattr_1032 vfio_handler (binder (call)))
 ;;* lme
 
 (typetransition vmlauncher_app tmpfs file appdomain_tmpfs)
@@ -31967,23 +31366,23 @@
 (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_1040 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)))
+(neverallow base_typeattr_1033 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_1041 base_typeattr_1040 (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_1034 base_typeattr_1033 (file (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_1042 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)))
+(neverallow base_typeattr_1035 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_1043 vmlauncher_app (process (ptrace)))
+(neverallow base_typeattr_1036 vmlauncher_app (process (ptrace)))
 ;;* lme
 
 (allow vmlauncher_app app_api_service (service_manager (find)))
@@ -32032,14 +31431,11 @@
 (allow vmnic vmnic_service (service_manager (add find)))
 ;;* lmx 1 system/sepolicy/private/vmnic.te
 
-(neverallow base_typeattr_1044 vmnic_service (service_manager (add)))
+(neverallow base_typeattr_1037 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)))
@@ -32049,7 +31445,7 @@
 (allowx vmnic self (ioctl udp_socket (0x8914)))
 ;;* lmx 1 system/sepolicy/private/vmnic.te
 
-(neverallow base_typeattr_1045 vmnic (binder (call)))
+(neverallow base_typeattr_1038 vmnic (binder (call)))
 ;;* lme
 
 (allow init vold_exec (file (read getattr map execute open)))
@@ -32154,19 +31550,15 @@
 (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_1046 (dir (ioctl read getattr lock open watch watch_reads search)))
-(allow vold base_typeattr_1046 (file (ioctl read getattr lock map open watch watch_reads)))
-(allow vold base_typeattr_1046 (lnk_file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold base_typeattr_1039 (dir (ioctl read getattr lock open watch watch_reads search)))
+(allow vold base_typeattr_1039 (file (ioctl read getattr lock map open watch watch_reads)))
+(allow vold base_typeattr_1039 (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)))
@@ -32195,10 +31587,8 @@
 (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)))
@@ -32291,22 +31681,13 @@
 (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
 
@@ -32364,7 +31745,7 @@
 (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_1047 vold_service (service_manager (find)))
+(neverallow base_typeattr_1040 vold_service (service_manager (find)))
 ;;* lme
 
 ;;* lmx 405 system/sepolicy/private/vold.te
@@ -32376,7 +31757,7 @@
 
 ;;* lmx 414 system/sepolicy/private/vold.te
 
-(neverallowx base_typeattr_1048 data_file_type (ioctl dir (0x6613)))
+(neverallowx base_typeattr_439 data_file_type (ioctl dir (0x6613)))
 ;;* lme
 
 ;;* lmx 420 system/sepolicy/private/vold.te
@@ -32386,55 +31767,55 @@
 
 ;;* lmx 426 system/sepolicy/private/vold.te
 
-(neverallow base_typeattr_1049 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)))
+(neverallow base_typeattr_1041 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_1050 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)))
+(neverallow base_typeattr_1042 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_514 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)))
+(neverallow base_typeattr_510 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_1051 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_1051 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_1051 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_1051 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)))
+(neverallow base_typeattr_1043 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_1043 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_1043 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_1043 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_1050 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_1050 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_1050 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_1050 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)))
+(neverallow base_typeattr_1042 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_1042 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_1042 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_1042 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_1052 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_1052 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_1052 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_1052 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_1052 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_1052 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_1052 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_1052 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)))
+(neverallow base_typeattr_1044 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_1044 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_1044 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_1044 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_1044 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_1044 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_1044 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_1044 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_514 restorecon_prop (property_service (set)))
+(neverallow base_typeattr_510 restorecon_prop (property_service (set)))
 ;;* lme
 
 ;;* lmx 476 system/sepolicy/private/vold.te
 
-(neverallow vold base_typeattr_1053 (binder (call)))
+(neverallow vold base_typeattr_1045 (binder (call)))
 ;;* lme
 
 ;;* lmx 478 system/sepolicy/private/vold.te
@@ -32492,7 +31873,6 @@
 (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)))
@@ -32511,20 +31891,6 @@
 (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_1054 (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)))
@@ -32538,23 +31904,23 @@
 (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_1055 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)))
+(neverallow base_typeattr_1046 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_1056 base_typeattr_1055 (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_1047 base_typeattr_1046 (file (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_1057 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)))
+(neverallow base_typeattr_1048 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_1058 vzwomatrigger_app (process (ptrace)))
+(neverallow base_typeattr_1049 vzwomatrigger_app (process (ptrace)))
 ;;* lme
 
 (allow init watchdogd_exec (file (read getattr map execute open)))
@@ -32571,7 +31937,7 @@
 (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_1059 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)))
+(neverallow base_typeattr_1050 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)))
@@ -32748,9 +32114,6 @@
 
 (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)))
@@ -32760,7 +32123,7 @@
 (allow wifi_mainline_supplicant wifi_mainline_supplicant_service (service_manager (add find)))
 ;;* lmx 6 system/sepolicy/private/wifi_mainline_supplicant.te
 
-(neverallow base_typeattr_1060 wifi_mainline_supplicant_service (service_manager (add)))
+(neverallow base_typeattr_1051 wifi_mainline_supplicant_service (service_manager (add)))
 ;;* lme
 
 (allow wifi_mainline_supplicant self (capability (setgid setuid net_admin net_raw)))
@@ -32805,9 +32168,6 @@
 (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)))
@@ -32817,7 +32177,7 @@
 (allow wificond wifinl80211_service (service_manager (add find)))
 ;;* lmx 17 system/sepolicy/private/wificond.te
 
-(neverallow base_typeattr_1061 wifinl80211_service (service_manager (add)))
+(neverallow base_typeattr_1052 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)))
@@ -32834,14 +32194,11 @@
 (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_1061 system_wifi_keystore_hwservice (hwservice_manager (add)))
+(neverallow base_typeattr_1052 system_wifi_keystore_hwservice (hwservice_manager (add)))
 ;;* lme
 
 (allow wificond keystore_service (service_manager (find)))
@@ -32995,12 +32352,12 @@
 (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_1062 (process (dyntransition)))
+(neverallow zygote base_typeattr_1053 (process (dyntransition)))
 ;;* lme
 
 ;;* lmx 298 system/sepolicy/private/zygote.te
 
-(neverallow zygote base_typeattr_1063 (file (execute execute_no_trans)))
+(neverallow zygote base_typeattr_1054 (file (execute execute_no_trans)))
 ;;* lme
 
 ;;* lmx 306 system/sepolicy/private/zygote.te
@@ -33062,1230 +32419,1212 @@
 (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_1063)
-(typeattributeset base_typeattr_1063 (and (data_file_type ) (not (dalvikcache_data_file apex_art_data_file ))))
-(typeattribute base_typeattr_1062)
-(typeattributeset base_typeattr_1062 (not (appdomain app_zygote webview_zygote system_server_startup ) ))
-(typeattribute base_typeattr_1061)
-(typeattributeset base_typeattr_1061 (and (domain ) (not (wificond ))))
-(typeattribute base_typeattr_1060)
-(typeattributeset base_typeattr_1060 (and (domain ) (not (wifi_mainline_supplicant ))))
-(typeattribute base_typeattr_1059)
-(typeattributeset base_typeattr_1059 (and (domain ) (not (webview_zygote ))))
-(typeattribute base_typeattr_1058)
-(typeattributeset base_typeattr_1058 (and (domain ) (not (crash_dump runas_app simpleperf vzwomatrigger_app ))))
-(typeattribute base_typeattr_1057)
-(typeattributeset base_typeattr_1057 (and (appdomain ) (not (runas_app shell simpleperf vzwomatrigger_app ))))
-(typeattribute base_typeattr_1056)
-(typeattributeset base_typeattr_1056 (and (vzwomatrigger_app ) (not (runas_app shell simpleperf ))))
-(typeattribute base_typeattr_1055)
-(typeattributeset base_typeattr_1055 (and (domain ) (not (vzwomatrigger_app ))))
 (typeattribute base_typeattr_1054)
-(typeattributeset base_typeattr_1054 (and (data_file_type ) (not (storage_area_dir ))))
+(typeattributeset base_typeattr_1054 (and (data_file_type ) (not (dalvikcache_data_file apex_art_data_file ))))
 (typeattribute base_typeattr_1053)
-(typeattributeset base_typeattr_1053 (and (domain ) (not (hal_bootctl_server hal_health_storage_server hal_keymaster_server system_suspend_server hwservicemanager keystore servicemanager system_server ))))
+(typeattributeset base_typeattr_1053 (not (appdomain app_zygote webview_zygote system_server_startup ) ))
 (typeattribute base_typeattr_1052)
-(typeattributeset base_typeattr_1052 (and (domain ) (not (init kernel vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_1052 (and (domain ) (not (wificond ))))
 (typeattribute base_typeattr_1051)
-(typeattributeset base_typeattr_1051 (and (domain ) (not (kernel vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_1051 (and (domain ) (not (wifi_mainline_supplicant ))))
 (typeattribute base_typeattr_1050)
-(typeattributeset base_typeattr_1050 (and (domain ) (not (init vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_1050 (and (domain ) (not (webview_zygote ))))
 (typeattribute base_typeattr_1049)
-(typeattributeset base_typeattr_1049 (and (domain ) (not (vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_1049 (and (domain ) (not (crash_dump runas_app simpleperf vzwomatrigger_app ))))
 (typeattribute base_typeattr_1048)
-(typeattributeset base_typeattr_1048 (and (domain ) (not (init vendor_init vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_1048 (and (appdomain ) (not (runas_app shell simpleperf vzwomatrigger_app ))))
 (typeattribute base_typeattr_1047)
-(typeattributeset base_typeattr_1047 (and (domain ) (not (apexd system_server update_verifier vdc vold gsid ))))
+(typeattributeset base_typeattr_1047 (and (vzwomatrigger_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_1046)
-(typeattributeset base_typeattr_1046 (and (sysfs_type ) (not (sysfs_batteryinfo ))))
+(typeattributeset base_typeattr_1046 (and (domain ) (not (vzwomatrigger_app ))))
 (typeattribute base_typeattr_1045)
-(typeattributeset base_typeattr_1045 (and (domain ) (not (servicemanager virtualizationservice ))))
+(typeattributeset base_typeattr_1045 (and (domain ) (not (hal_bootctl_server hal_health_storage_server hal_keymaster_server system_suspend_server hwservicemanager keystore servicemanager system_server ))))
 (typeattribute base_typeattr_1044)
-(typeattributeset base_typeattr_1044 (and (domain ) (not (vmnic ))))
+(typeattributeset base_typeattr_1044 (and (domain ) (not (init kernel vold vold_prepare_subdirs ))))
 (typeattribute base_typeattr_1043)
-(typeattributeset base_typeattr_1043 (and (domain ) (not (crash_dump runas_app simpleperf vmlauncher_app ))))
+(typeattributeset base_typeattr_1043 (and (domain ) (not (kernel vold vold_prepare_subdirs ))))
 (typeattribute base_typeattr_1042)
-(typeattributeset base_typeattr_1042 (and (appdomain ) (not (runas_app shell simpleperf vmlauncher_app ))))
+(typeattributeset base_typeattr_1042 (and (domain ) (not (init vold vold_prepare_subdirs ))))
 (typeattribute base_typeattr_1041)
-(typeattributeset base_typeattr_1041 (and (vmlauncher_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_1041 (and (domain ) (not (vold vold_prepare_subdirs ))))
 (typeattribute base_typeattr_1040)
-(typeattributeset base_typeattr_1040 (and (domain ) (not (vmlauncher_app ))))
+(typeattributeset base_typeattr_1040 (and (domain ) (not (apexd system_server update_verifier vdc vold gsid ))))
 (typeattribute base_typeattr_1039)
-(typeattributeset base_typeattr_1039 (and (domain ) (not (servicemanager virtualizationmanager virtualizationservice ))))
+(typeattributeset base_typeattr_1039 (and (sysfs_type ) (not (sysfs_batteryinfo ))))
 (typeattribute base_typeattr_1038)
-(typeattributeset base_typeattr_1038 (and (domain ) (not (crosvm virtualizationmanager virtualizationservice ))))
+(typeattributeset base_typeattr_1038 (and (domain ) (not (servicemanager virtualizationservice ))))
 (typeattribute base_typeattr_1037)
-(typeattributeset base_typeattr_1037 (and (domain ) (not (init virtualizationmanager virtualizationservice ))))
+(typeattributeset base_typeattr_1037 (and (domain ) (not (vmnic ))))
 (typeattribute base_typeattr_1036)
-(typeattributeset base_typeattr_1036 (and (domain ) (not (init virtualizationservice ))))
+(typeattributeset base_typeattr_1036 (and (domain ) (not (crash_dump runas_app simpleperf vmlauncher_app ))))
 (typeattribute base_typeattr_1035)
-(typeattributeset base_typeattr_1035 (and (domain ) (not (dumpstate virtualizationservice ))))
+(typeattributeset base_typeattr_1035 (and (appdomain ) (not (runas_app shell simpleperf vmlauncher_app ))))
 (typeattribute base_typeattr_1034)
-(typeattributeset base_typeattr_1034 (and (domain ) (not (virtualizationservice ))))
+(typeattributeset base_typeattr_1034 (and (vmlauncher_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_1033)
-(typeattributeset base_typeattr_1033 (and (domain ) (not (dumpstate early_virtmgr init ))))
+(typeattributeset base_typeattr_1033 (and (domain ) (not (vmlauncher_app ))))
 (typeattribute base_typeattr_1032)
-(typeattributeset base_typeattr_1032 (and (domain ) (not (virtualizationmanager ))))
+(typeattributeset base_typeattr_1032 (and (domain ) (not (servicemanager virtualizationmanager virtualizationservice ))))
 (typeattribute base_typeattr_1031)
-(typeattributeset base_typeattr_1031 (and (domain ) (not (virtual_touchpad ))))
+(typeattributeset base_typeattr_1031 (and (domain ) (not (crosvm virtualizationmanager virtualizationservice ))))
 (typeattribute base_typeattr_1030)
-(typeattributeset base_typeattr_1030 (and (domain ) (not (virtual_camera ))))
+(typeattributeset base_typeattr_1030 (and (domain ) (not (init virtualizationmanager virtualizationservice ))))
 (typeattribute base_typeattr_1029)
-(typeattributeset base_typeattr_1029 (and (domain ) (not (vfio_handler ))))
+(typeattributeset base_typeattr_1029 (and (domain ) (not (init virtualizationservice ))))
 (typeattribute base_typeattr_1028)
-(typeattributeset base_typeattr_1028 (and (coredomain ) (not (init modprobe ))))
+(typeattributeset base_typeattr_1028 (and (domain ) (not (dumpstate virtualizationservice ))))
 (typeattribute base_typeattr_1027)
-(typeattributeset base_typeattr_1027 (and (domain ) (not (init logd prng_seeder su vendor_init ))))
+(typeattributeset base_typeattr_1027 (and (domain ) (not (virtualizationservice ))))
 (typeattribute base_typeattr_1026)
-(typeattributeset base_typeattr_1026 (and (sysfs_type ) (not (sysfs_usermodehelper ))))
+(typeattributeset base_typeattr_1026 (and (domain ) (not (dumpstate early_virtmgr init ))))
 (typeattribute base_typeattr_1025)
-(typeattributeset base_typeattr_1025 (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 ))))
+(typeattributeset base_typeattr_1025 (and (domain ) (not (virtualizationmanager ))))
 (typeattribute base_typeattr_1024)
-(typeattributeset base_typeattr_1024 (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 ))))
+(typeattributeset base_typeattr_1024 (and (domain ) (not (virtual_touchpad ))))
 (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 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 ))))
+(typeattributeset base_typeattr_1023 (and (domain ) (not (virtual_camera ))))
 (typeattribute base_typeattr_1022)
-(typeattributeset base_typeattr_1022 (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 ))))
+(typeattributeset base_typeattr_1022 (and (domain ) (not (vfio_handler ))))
 (typeattribute base_typeattr_1021)
-(typeattributeset base_typeattr_1021 (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 ))))
+(typeattributeset base_typeattr_1021 (and (coredomain ) (not (init modprobe ))))
 (typeattribute base_typeattr_1020)
-(typeattributeset base_typeattr_1020 (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 ))))
+(typeattributeset base_typeattr_1020 (and (domain ) (not (init logd prng_seeder su vendor_init ))))
 (typeattribute base_typeattr_1019)
-(typeattributeset base_typeattr_1019 (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 ))))
+(typeattributeset base_typeattr_1019 (and (sysfs_type ) (not (sysfs_usermodehelper ))))
 (typeattribute base_typeattr_1018)
-(typeattributeset base_typeattr_1018 (and (dev_type ) (not (vm_manager_device_type keychord_device hw_random_device port_device lowpan_device ))))
+(typeattributeset base_typeattr_1018 (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_1017)
-(typeattributeset base_typeattr_1017 (and (domain ) (not (update_engine ))))
+(typeattributeset base_typeattr_1017 (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_1016)
-(typeattributeset base_typeattr_1016 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_32 ))))
+(typeattributeset base_typeattr_1016 (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_1015)
-(typeattributeset base_typeattr_1015 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_32 ))))
+(typeattributeset base_typeattr_1015 (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_1014)
-(typeattributeset base_typeattr_1014 (and (untrusted_app_32 ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_1014 (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_1013)
-(typeattributeset base_typeattr_1013 (and (domain ) (not (untrusted_app_32 ))))
+(typeattributeset base_typeattr_1013 (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_1012)
-(typeattributeset base_typeattr_1012 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_30 ))))
+(typeattributeset base_typeattr_1012 (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_1011)
-(typeattributeset base_typeattr_1011 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_30 ))))
+(typeattributeset base_typeattr_1011 (and (dev_type ) (not (vm_manager_device_type keychord_device hw_random_device port_device lowpan_device ))))
 (typeattribute base_typeattr_1010)
-(typeattributeset base_typeattr_1010 (and (untrusted_app_30 ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_1010 (and (domain ) (not (update_engine ))))
 (typeattribute base_typeattr_1009)
-(typeattributeset base_typeattr_1009 (and (domain ) (not (untrusted_app_30 ))))
+(typeattributeset base_typeattr_1009 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_32 ))))
 (typeattribute base_typeattr_1008)
-(typeattributeset base_typeattr_1008 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_29 ))))
+(typeattributeset base_typeattr_1008 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_32 ))))
 (typeattribute base_typeattr_1007)
-(typeattributeset base_typeattr_1007 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_29 ))))
+(typeattributeset base_typeattr_1007 (and (untrusted_app_32 ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_1006)
-(typeattributeset base_typeattr_1006 (and (untrusted_app_29 ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_1006 (and (domain ) (not (untrusted_app_32 ))))
 (typeattribute base_typeattr_1005)
-(typeattributeset base_typeattr_1005 (and (domain ) (not (untrusted_app_29 ))))
+(typeattributeset base_typeattr_1005 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_30 ))))
 (typeattribute base_typeattr_1004)
-(typeattributeset base_typeattr_1004 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_27 ))))
+(typeattributeset base_typeattr_1004 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_30 ))))
 (typeattribute base_typeattr_1003)
-(typeattributeset base_typeattr_1003 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_27 ))))
+(typeattributeset base_typeattr_1003 (and (untrusted_app_30 ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_1002)
-(typeattributeset base_typeattr_1002 (and (untrusted_app_27 ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_1002 (and (domain ) (not (untrusted_app_30 ))))
 (typeattribute base_typeattr_1001)
-(typeattributeset base_typeattr_1001 (and (domain ) (not (untrusted_app_27 ))))
+(typeattributeset base_typeattr_1001 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_29 ))))
 (typeattribute base_typeattr_1000)
-(typeattributeset base_typeattr_1000 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_25 ))))
+(typeattributeset base_typeattr_1000 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_29 ))))
 (typeattribute base_typeattr_999)
-(typeattributeset base_typeattr_999 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_25 ))))
+(typeattributeset base_typeattr_999 (and (untrusted_app_29 ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_998)
-(typeattributeset base_typeattr_998 (and (untrusted_app_25 ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_998 (and (domain ) (not (untrusted_app_29 ))))
 (typeattribute base_typeattr_997)
-(typeattributeset base_typeattr_997 (and (domain ) (not (untrusted_app_25 ))))
+(typeattributeset base_typeattr_997 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_27 ))))
 (typeattribute base_typeattr_996)
-(typeattributeset base_typeattr_996 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app ))))
+(typeattributeset base_typeattr_996 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_27 ))))
 (typeattribute base_typeattr_995)
-(typeattributeset base_typeattr_995 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app ))))
+(typeattributeset base_typeattr_995 (and (untrusted_app_27 ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_994)
-(typeattributeset base_typeattr_994 (and (untrusted_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_994 (and (domain ) (not (untrusted_app_27 ))))
 (typeattribute base_typeattr_993)
-(typeattributeset base_typeattr_993 (and (domain ) (not (untrusted_app ))))
+(typeattributeset base_typeattr_993 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app_25 ))))
 (typeattribute base_typeattr_992)
-(typeattributeset base_typeattr_992 (and (vendor_file_type ) (not (vendor_app_file vendor_overlay_file ))))
+(typeattributeset base_typeattr_992 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app_25 ))))
 (typeattribute base_typeattr_991)
-(typeattributeset base_typeattr_991 (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 ))))
+(typeattributeset base_typeattr_991 (and (untrusted_app_25 ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_990)
-(typeattributeset base_typeattr_990 (and (domain ) (not (crash_dump runas_app simpleperf traceur_app ))))
+(typeattributeset base_typeattr_990 (and (domain ) (not (untrusted_app_25 ))))
 (typeattribute base_typeattr_989)
-(typeattributeset base_typeattr_989 (and (appdomain ) (not (runas_app shell simpleperf traceur_app ))))
+(typeattributeset base_typeattr_989 (and (domain ) (not (crash_dump runas_app simpleperf untrusted_app ))))
 (typeattribute base_typeattr_988)
-(typeattributeset base_typeattr_988 (and (traceur_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_988 (and (appdomain ) (not (runas_app shell simpleperf untrusted_app ))))
 (typeattribute base_typeattr_987)
-(typeattributeset base_typeattr_987 (and (domain ) (not (traceur_app ))))
+(typeattributeset base_typeattr_987 (and (untrusted_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_986)
-(typeattributeset base_typeattr_986 (and (data_file_type ) (not (packages_list_file game_mode_intervention_list_file ))))
+(typeattributeset base_typeattr_986 (and (domain ) (not (untrusted_app ))))
 (typeattribute base_typeattr_985)
-(typeattributeset base_typeattr_985 (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 ))))
+(typeattributeset base_typeattr_985 (and (vendor_file_type ) (not (vendor_app_file vendor_overlay_file ))))
 (typeattribute base_typeattr_984)
-(typeattributeset base_typeattr_984 (and (domain ) (not (dumpstate perfetto platform_app shell system_server traced traceur_app ))))
+(typeattributeset base_typeattr_984 (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_983)
-(typeattributeset base_typeattr_983 (and (data_file_type ) (not (trace_data_file perfetto_traces_data_file ))))
+(typeattributeset base_typeattr_983 (and (domain ) (not (crash_dump runas_app simpleperf traceur_app ))))
 (typeattribute base_typeattr_982)
-(typeattributeset base_typeattr_982 (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 ))))
+(typeattributeset base_typeattr_982 (and (appdomain ) (not (runas_app shell simpleperf traceur_app ))))
 (typeattribute base_typeattr_981)
-(typeattributeset base_typeattr_981 (and (fs_type file_type ) (not (toolbox_exec ))))
+(typeattributeset base_typeattr_981 (and (traceur_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_980)
-(typeattributeset base_typeattr_980 (and (domain ) (not (dumpstate init tombstoned vendor_init ))))
+(typeattributeset base_typeattr_980 (and (domain ) (not (traceur_app ))))
 (typeattribute base_typeattr_979)
-(typeattributeset base_typeattr_979 (and (domain ) (not (system_suspend_server ))))
+(typeattributeset base_typeattr_979 (and (data_file_type ) (not (packages_list_file game_mode_intervention_list_file ))))
 (typeattribute base_typeattr_978)
-(typeattributeset base_typeattr_978 (and (domain ) (not (system_suspend_internal_server atrace dumpstate system_server traced_probes traceur_app ))))
+(typeattributeset base_typeattr_978 (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_977)
-(typeattributeset base_typeattr_977 (and (domain ) (not (system_suspend_internal_server ))))
+(typeattributeset base_typeattr_977 (and (domain ) (not (dumpstate perfetto platform_app shell system_server traced traceur_app ))))
 (typeattribute base_typeattr_976)
-(typeattributeset base_typeattr_976 (and (domain ) (not (atrace bluetooth dumpstate system_server traceur_app system_suspend ))))
+(typeattributeset base_typeattr_976 (and (data_file_type ) (not (trace_data_file perfetto_traces_data_file ))))
 (typeattribute base_typeattr_975)
-(typeattributeset base_typeattr_975 (and (domain ) (not (system_suspend ))))
+(typeattributeset base_typeattr_975 (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_974)
-(typeattributeset base_typeattr_974 (and (domain ) (not (init shell system_server vendor_init ))))
+(typeattributeset base_typeattr_974 (and (fs_type file_type ) (not (toolbox_exec ))))
 (typeattribute base_typeattr_973)
-(typeattributeset base_typeattr_973 (and (domain ) (not (init system_server ueventd vendor_init ))))
+(typeattributeset base_typeattr_973 (and (domain ) (not (dumpstate init tombstoned vendor_init ))))
 (typeattribute base_typeattr_972)
-(typeattributeset base_typeattr_972 (and (dev_type ) (not (vd_device frp_block_device ))))
+(typeattributeset base_typeattr_972 (and (domain ) (not (system_suspend_server ))))
 (typeattribute base_typeattr_971)
-(typeattributeset base_typeattr_971 (and (dev_type ) (not (frp_block_device ))))
+(typeattributeset base_typeattr_971 (and (domain ) (not (system_suspend_internal_server atrace dumpstate system_server traced_probes traceur_app ))))
 (typeattribute base_typeattr_970)
-(typeattributeset base_typeattr_970 (and (domain ) (not (flags_health_check init system_server ))))
+(typeattributeset base_typeattr_970 (and (domain ) (not (system_suspend_internal_server ))))
 (typeattribute base_typeattr_969)
-(typeattributeset base_typeattr_969 (and (domain ) (not (app_zygote init system_server webview_zygote zygote ))))
+(typeattributeset base_typeattr_969 (and (domain ) (not (atrace bluetooth dumpstate system_server traceur_app system_suspend ))))
 (typeattribute base_typeattr_968)
-(typeattributeset base_typeattr_968 (and (domain ) (not (crash_dump init system_server ))))
+(typeattributeset base_typeattr_968 (and (domain ) (not (system_suspend ))))
 (typeattribute base_typeattr_967)
-(typeattributeset base_typeattr_967 (and (domain ) (not (crash_dump perfetto clatd trace_redactor ))))
+(typeattributeset base_typeattr_967 (and (domain ) (not (init shell system_server vendor_init ))))
 (typeattribute base_typeattr_966)
-(typeattributeset base_typeattr_966 (and (file_type ) (not (logcat_exec toolbox_exec ))))
+(typeattributeset base_typeattr_966 (and (domain ) (not (init system_server ueventd vendor_init ))))
 (typeattribute base_typeattr_965)
-(typeattributeset base_typeattr_965 (and (app_data_file_type ) (not (radio_data_file system_app_data_file ))))
+(typeattributeset base_typeattr_965 (and (dev_type ) (not (vd_device frp_block_device ))))
 (typeattribute base_typeattr_964)
-(typeattributeset base_typeattr_964 (and (domain ) (not (init system_app ))))
+(typeattributeset base_typeattr_964 (and (dev_type ) (not (frp_block_device ))))
 (typeattribute base_typeattr_963)
-(typeattributeset base_typeattr_963 (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 ))))
+(typeattributeset base_typeattr_963 (and (domain ) (not (flags_health_check init system_server ))))
 (typeattribute base_typeattr_962)
-(typeattributeset base_typeattr_962 (and (domain ) (not (crash_dump runas_app simpleperf system_app ))))
+(typeattributeset base_typeattr_962 (and (domain ) (not (app_zygote init system_server webview_zygote zygote ))))
 (typeattribute base_typeattr_961)
-(typeattributeset base_typeattr_961 (and (appdomain ) (not (runas_app shell simpleperf system_app ))))
+(typeattributeset base_typeattr_961 (and (domain ) (not (crash_dump init system_server ))))
 (typeattribute base_typeattr_960)
-(typeattributeset base_typeattr_960 (and (system_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_960 (and (domain ) (not (crash_dump perfetto clatd trace_redactor ))))
 (typeattribute base_typeattr_959)
-(typeattributeset base_typeattr_959 (and (domain ) (not (system_app ))))
+(typeattributeset base_typeattr_959 (and (file_type ) (not (logcat_exec toolbox_exec ))))
 (typeattribute base_typeattr_958)
-(typeattributeset base_typeattr_958 (and (domain ) (not (surfaceflinger ))))
+(typeattributeset base_typeattr_958 (and (app_data_file_type ) (not (radio_data_file system_app_data_file ))))
 (typeattribute base_typeattr_957)
-(typeattributeset base_typeattr_957 (and (domain ) (not (storaged ))))
+(typeattributeset base_typeattr_957 (and (domain ) (not (init system_app ))))
 (typeattribute base_typeattr_956)
-(typeattributeset base_typeattr_956 (and (domain ) (not (init statsd system_server vold ))))
+(typeattributeset base_typeattr_956 (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_955)
-(typeattributeset base_typeattr_955 (and (domain ) (not (init statsd vold ))))
+(typeattributeset base_typeattr_955 (and (domain ) (not (crash_dump runas_app simpleperf system_app ))))
 (typeattribute base_typeattr_954)
-(typeattributeset base_typeattr_954 (and (domain ) (not (stats_service_server ))))
+(typeattributeset base_typeattr_954 (and (appdomain ) (not (runas_app shell simpleperf system_app ))))
 (typeattribute base_typeattr_953)
-(typeattributeset base_typeattr_953 (and (domain ) (not (statsd ))))
+(typeattributeset base_typeattr_953 (and (system_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_952)
-(typeattributeset base_typeattr_952 (and (domain ) (not (fastbootd init recovery shell update_engine snapshotctl ))))
+(typeattributeset base_typeattr_952 (and (domain ) (not (system_app ))))
 (typeattribute base_typeattr_951)
-(typeattributeset base_typeattr_951 (and (domain ) (not (snapuserd ))))
+(typeattributeset base_typeattr_951 (and (domain ) (not (surfaceflinger ))))
 (typeattribute base_typeattr_950)
-(typeattributeset base_typeattr_950 (and (domain ) (not (init snapuserd ))))
+(typeattributeset base_typeattr_950 (and (domain ) (not (storaged ))))
 (typeattribute base_typeattr_949)
-(typeattributeset base_typeattr_949 (and (simpleperf ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_949 (and (domain ) (not (init statsd system_server vold ))))
 (typeattribute base_typeattr_948)
-(typeattributeset base_typeattr_948 (and (domain ) (not (simpleperf ))))
+(typeattributeset base_typeattr_948 (and (domain ) (not (init statsd vold ))))
 (typeattribute base_typeattr_947)
-(typeattributeset base_typeattr_947 (and (untrusted_app_all ephemeral_app isolated_app platform_app priv_app ) (not (runas_app ))))
+(typeattributeset base_typeattr_947 (and (domain ) (not (stats_service_server ))))
 (typeattribute base_typeattr_946)
-(typeattributeset base_typeattr_946 (and (domain ) (not (dumpstate init shell ))))
+(typeattributeset base_typeattr_946 (and (domain ) (not (statsd ))))
 (typeattribute base_typeattr_945)
-(typeattributeset base_typeattr_945 (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 ))))
+(typeattributeset base_typeattr_945 (and (domain ) (not (fastbootd init recovery shell update_engine snapshotctl ))))
 (typeattribute base_typeattr_944)
-(typeattributeset base_typeattr_944 (and (domain ) (not (crash_dump runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_944 (and (domain ) (not (snapuserd ))))
 (typeattribute base_typeattr_943)
-(typeattributeset base_typeattr_943 (and (shell ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_943 (and (domain ) (not (init snapuserd ))))
 (typeattribute base_typeattr_942)
-(typeattributeset base_typeattr_942 (and (domain ) (not (shell ))))
+(typeattributeset base_typeattr_942 (and (simpleperf ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_941)
-(typeattributeset base_typeattr_941 (and (domain ) (not (crash_dump runas_app shared_relro simpleperf ))))
+(typeattributeset base_typeattr_941 (and (domain ) (not (simpleperf ))))
 (typeattribute base_typeattr_940)
-(typeattributeset base_typeattr_940 (and (appdomain ) (not (runas_app shared_relro shell simpleperf ))))
+(typeattributeset base_typeattr_940 (and (untrusted_app_all ephemeral_app isolated_app platform_app priv_app ) (not (runas_app ))))
 (typeattribute base_typeattr_939)
-(typeattributeset base_typeattr_939 (and (shared_relro ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_939 (and (domain ) (not (dumpstate init shell ))))
 (typeattribute base_typeattr_938)
-(typeattributeset base_typeattr_938 (and (domain ) (not (shared_relro ))))
+(typeattributeset base_typeattr_938 (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_937)
-(typeattributeset base_typeattr_937 (and (fs_type file_type ) (not (sgdisk_exec ))))
+(typeattributeset base_typeattr_937 (and (domain ) (not (crash_dump runas_app shell simpleperf ))))
 (typeattribute base_typeattr_936)
-(typeattributeset base_typeattr_936 (and (domain ) (not (servicemanager ))))
+(typeattributeset base_typeattr_936 (and (shell ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_935)
-(typeattributeset base_typeattr_935 (and (domain ) (not (hwservicemanager init vendor_init vndservicemanager ))))
+(typeattributeset base_typeattr_935 (and (domain ) (not (shell ))))
 (typeattribute base_typeattr_934)
-(typeattributeset base_typeattr_934 (not (service_manager_type vndservice_manager_type ) ))
+(typeattributeset base_typeattr_934 (and (domain ) (not (crash_dump runas_app shared_relro simpleperf ))))
 (typeattribute base_typeattr_933)
-(typeattributeset base_typeattr_933 (and (domain ) (not (sensor_service_server ))))
+(typeattributeset base_typeattr_933 (and (appdomain ) (not (runas_app shared_relro shell simpleperf ))))
 (typeattribute base_typeattr_932)
-(typeattributeset base_typeattr_932 (and (domain ) (not (crash_dump runas_app secure_element simpleperf ))))
+(typeattributeset base_typeattr_932 (and (shared_relro ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_931)
-(typeattributeset base_typeattr_931 (and (appdomain ) (not (runas_app secure_element shell simpleperf ))))
+(typeattributeset base_typeattr_931 (and (domain ) (not (shared_relro ))))
 (typeattribute base_typeattr_930)
-(typeattributeset base_typeattr_930 (and (secure_element ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_930 (and (fs_type file_type ) (not (sgdisk_exec ))))
 (typeattribute base_typeattr_929)
-(typeattributeset base_typeattr_929 (and (domain ) (not (secure_element ))))
+(typeattributeset base_typeattr_929 (and (domain ) (not (servicemanager ))))
 (typeattribute base_typeattr_928)
-(typeattributeset base_typeattr_928 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_next ))))
+(typeattributeset base_typeattr_928 (and (domain ) (not (hwservicemanager init vendor_init vndservicemanager ))))
 (typeattribute base_typeattr_927)
-(typeattributeset base_typeattr_927 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_next ))))
+(typeattributeset base_typeattr_927 (not (service_manager_type vndservice_manager_type ) ))
 (typeattribute base_typeattr_926)
-(typeattributeset base_typeattr_926 (and (sdk_sandbox_next ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_926 (and (domain ) (not (sensor_service_server ))))
 (typeattribute base_typeattr_925)
-(typeattributeset base_typeattr_925 (and (domain ) (not (sdk_sandbox_next ))))
+(typeattributeset base_typeattr_925 (and (domain ) (not (crash_dump runas_app secure_element simpleperf ))))
 (typeattribute base_typeattr_924)
-(typeattributeset base_typeattr_924 (and (property_type ) (not (system_property_type ))))
+(typeattributeset base_typeattr_924 (and (appdomain ) (not (runas_app secure_element shell simpleperf ))))
 (typeattribute base_typeattr_923)
-(typeattributeset base_typeattr_923 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_audit ))))
+(typeattributeset base_typeattr_923 (and (secure_element ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_922)
-(typeattributeset base_typeattr_922 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_audit ))))
+(typeattributeset base_typeattr_922 (and (domain ) (not (secure_element ))))
 (typeattribute base_typeattr_921)
-(typeattributeset base_typeattr_921 (and (sdk_sandbox_audit ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_921 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_next ))))
 (typeattribute base_typeattr_920)
-(typeattributeset base_typeattr_920 (and (domain ) (not (sdk_sandbox_audit ))))
+(typeattributeset base_typeattr_920 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_next ))))
 (typeattribute base_typeattr_919)
-(typeattributeset base_typeattr_919 (and (domain ) (not (adbd sdk_sandbox_all ))))
+(typeattributeset base_typeattr_919 (and (sdk_sandbox_next ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_918)
-(typeattributeset base_typeattr_918 (and (domain ) (not (adbd heapprofd logd netd prng_seeder tombstoned traced traced_perf sdk_sandbox_all ))))
+(typeattributeset base_typeattr_918 (and (domain ) (not (sdk_sandbox_next ))))
 (typeattribute base_typeattr_917)
-(typeattributeset base_typeattr_917 (and (domain ) (not (init installd system_server vold_prepare_subdirs zygote sdk_sandbox_all ))))
+(typeattributeset base_typeattr_917 (and (property_type ) (not (system_property_type ))))
 (typeattribute base_typeattr_916)
-(typeattributeset base_typeattr_916 (and (domain ) (not (init installd system_server vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_916 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_audit ))))
 (typeattribute base_typeattr_915)
-(typeattributeset base_typeattr_915 (and (app_data_file_type ) (not (shell_data_file radio_data_file sdk_sandbox_data_file ))))
+(typeattributeset base_typeattr_915 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_audit ))))
 (typeattribute base_typeattr_914)
-(typeattributeset base_typeattr_914 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_34 ))))
+(typeattributeset base_typeattr_914 (and (sdk_sandbox_audit ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_913)
-(typeattributeset base_typeattr_913 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_34 ))))
+(typeattributeset base_typeattr_913 (and (domain ) (not (sdk_sandbox_audit ))))
 (typeattribute base_typeattr_912)
-(typeattributeset base_typeattr_912 (and (sdk_sandbox_34 ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_912 (and (domain ) (not (adbd sdk_sandbox_all ))))
 (typeattribute base_typeattr_911)
-(typeattributeset base_typeattr_911 (and (domain ) (not (sdk_sandbox_34 ))))
+(typeattributeset base_typeattr_911 (and (domain ) (not (adbd heapprofd logd netd prng_seeder tombstoned traced traced_perf sdk_sandbox_all ))))
 (typeattribute base_typeattr_910)
-(typeattributeset base_typeattr_910 (and (domain ) (not (scheduler_service_server ))))
+(typeattributeset base_typeattr_910 (and (domain ) (not (init installd system_server vold_prepare_subdirs zygote sdk_sandbox_all ))))
 (typeattribute base_typeattr_909)
-(typeattributeset base_typeattr_909 (and (domain ) (not (crash_dump runas_app simpleperf ))))
+(typeattributeset base_typeattr_909 (and (domain ) (not (init installd system_server vold_prepare_subdirs ))))
 (typeattribute base_typeattr_908)
-(typeattributeset base_typeattr_908 (and (appdomain ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_908 (and (app_data_file_type ) (not (shell_data_file radio_data_file sdk_sandbox_data_file ))))
 (typeattribute base_typeattr_907)
-(typeattributeset base_typeattr_907 (and (runas_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_907 (and (domain ) (not (crash_dump runas_app simpleperf sdk_sandbox_34 ))))
 (typeattribute base_typeattr_906)
-(typeattributeset base_typeattr_906 (and (domain ) (not (runas_app ))))
+(typeattributeset base_typeattr_906 (and (appdomain ) (not (runas_app shell simpleperf sdk_sandbox_34 ))))
 (typeattribute base_typeattr_905)
-(typeattributeset base_typeattr_905 (and (appdomain ) (not (system_app ))))
+(typeattributeset base_typeattr_905 (and (sdk_sandbox_34 ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_904)
-(typeattributeset base_typeattr_904 (and (domain ) (not (crash_dump rkpdapp runas_app simpleperf ))))
+(typeattributeset base_typeattr_904 (and (domain ) (not (sdk_sandbox_34 ))))
 (typeattribute base_typeattr_903)
-(typeattributeset base_typeattr_903 (and (appdomain ) (not (rkpdapp runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_903 (and (domain ) (not (scheduler_service_server ))))
 (typeattribute base_typeattr_902)
-(typeattributeset base_typeattr_902 (and (rkpdapp ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_902 (and (domain ) (not (crash_dump runas_app simpleperf ))))
 (typeattribute base_typeattr_901)
-(typeattributeset base_typeattr_901 (and (domain ) (not (rkpdapp ))))
+(typeattributeset base_typeattr_901 (and (appdomain ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_900)
-(typeattributeset base_typeattr_900 (and (domain ) (not (rkpd ))))
+(typeattributeset base_typeattr_900 (and (runas_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_899)
-(typeattributeset base_typeattr_899 (and (domain ) (not (rkp_cert_processor ))))
+(typeattributeset base_typeattr_899 (and (domain ) (not (runas_app ))))
 (typeattribute base_typeattr_898)
-(typeattributeset base_typeattr_898 (and (domain ) (not (remote_provisioning_service_server ))))
+(typeattributeset base_typeattr_898 (and (appdomain ) (not (system_app ))))
 (typeattribute base_typeattr_897)
-(typeattributeset base_typeattr_897 (and (file_type ) (not (recovery_data_file ))))
+(typeattributeset base_typeattr_897 (and (domain ) (not (crash_dump rkpdapp runas_app simpleperf ))))
 (typeattribute base_typeattr_896)
-(typeattributeset base_typeattr_896 (and (data_file_type ) (not (cache_file cache_recovery_file ))))
+(typeattributeset base_typeattr_896 (and (appdomain ) (not (rkpdapp runas_app shell simpleperf ))))
 (typeattribute base_typeattr_895)
-(typeattributeset base_typeattr_895 (and (domain ) (not (init radio ))))
+(typeattributeset base_typeattr_895 (and (rkpdapp ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_894)
-(typeattributeset base_typeattr_894 (and (domain ) (not (crash_dump radio runas_app simpleperf ))))
+(typeattributeset base_typeattr_894 (and (domain ) (not (rkpdapp ))))
 (typeattribute base_typeattr_893)
-(typeattributeset base_typeattr_893 (and (appdomain ) (not (radio runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_893 (and (domain ) (not (rkpd ))))
 (typeattribute base_typeattr_892)
-(typeattributeset base_typeattr_892 (and (radio ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_892 (and (domain ) (not (rkp_cert_processor ))))
 (typeattribute base_typeattr_891)
-(typeattributeset base_typeattr_891 (and (domain ) (not (radio ))))
+(typeattributeset base_typeattr_891 (and (domain ) (not (remote_provisioning_service_server ))))
 (typeattribute base_typeattr_890)
-(typeattributeset base_typeattr_890 (and (appdomain ) (not (system_app device_as_webcam ))))
+(typeattributeset base_typeattr_890 (and (file_type ) (not (recovery_data_file ))))
 (typeattribute base_typeattr_889)
-(typeattributeset base_typeattr_889 (and (domain ) (not (dumpstate init profcollectd ))))
+(typeattributeset base_typeattr_889 (and (data_file_type ) (not (cache_file cache_recovery_file ))))
 (typeattribute base_typeattr_888)
-(typeattributeset base_typeattr_888 (and (domain ) (not (coredomain apexd dumpstate vendor_init ))))
+(typeattributeset base_typeattr_888 (and (domain ) (not (init radio ))))
 (typeattribute base_typeattr_887)
-(typeattributeset base_typeattr_887 (and (domain ) (not (coredomain apexd dumpstate init ))))
+(typeattributeset base_typeattr_887 (and (domain ) (not (crash_dump radio runas_app simpleperf ))))
 (typeattribute base_typeattr_886)
-(typeattributeset base_typeattr_886 (and (domain ) (not (init keystore rkpdapp shell system_server ))))
+(typeattributeset base_typeattr_886 (and (appdomain ) (not (radio runas_app shell simpleperf ))))
 (typeattribute base_typeattr_885)
-(typeattributeset base_typeattr_885 (and (domain ) (not (hal_dumpstate_server dumpstate init ))))
+(typeattributeset base_typeattr_885 (and (radio ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_884)
-(typeattributeset base_typeattr_884 (and (domain ) (not (appdomain dumpstate init vendor_init ))))
+(typeattributeset base_typeattr_884 (and (domain ) (not (radio ))))
 (typeattribute base_typeattr_883)
-(typeattributeset base_typeattr_883 (and (domain ) (not (dumpstate init system_app vendor_init ))))
+(typeattributeset base_typeattr_883 (and (appdomain ) (not (system_app device_as_webcam ))))
 (typeattribute base_typeattr_882)
-(typeattributeset base_typeattr_882 (and (domain ) (not (init surfaceflinger ))))
+(typeattributeset base_typeattr_882 (and (domain ) (not (dumpstate init profcollectd ))))
 (typeattribute base_typeattr_881)
-(typeattributeset base_typeattr_881 (and (domain ) (not (appdomain hal_telephony_server init radio ))))
+(typeattributeset base_typeattr_881 (and (domain ) (not (coredomain apexd dumpstate vendor_init ))))
 (typeattribute base_typeattr_880)
-(typeattributeset base_typeattr_880 (and (domain ) (not (init shell kcmdlinectrl ))))
+(typeattributeset base_typeattr_880 (and (domain ) (not (coredomain apexd dumpstate init ))))
 (typeattribute base_typeattr_879)
-(typeattributeset base_typeattr_879 (and (domain ) (not (init shell system_app system_server mtectrl ))))
+(typeattributeset base_typeattr_879 (and (domain ) (not (init keystore rkpdapp shell system_server ))))
 (typeattribute base_typeattr_878)
-(typeattributeset base_typeattr_878 (and (domain ) (not (adbd init adbd_tradeinmode ))))
+(typeattributeset base_typeattr_878 (and (domain ) (not (hal_dumpstate_server dumpstate init ))))
 (typeattribute base_typeattr_877)
-(typeattributeset base_typeattr_877 (and (domain ) (not (adbd init system_server vendor_init adbd_tradeinmode ))))
+(typeattributeset base_typeattr_877 (and (domain ) (not (appdomain dumpstate init vendor_init ))))
 (typeattribute base_typeattr_876)
-(typeattributeset base_typeattr_876 (and (property_type ) (not (extended_core_property_type system_property_type ))))
+(typeattributeset base_typeattr_876 (and (domain ) (not (dumpstate init system_app vendor_init ))))
 (typeattribute base_typeattr_875)
-(typeattributeset base_typeattr_875 (and (coredomain ) (not (system_writes_vendor_properties_violators init ))))
+(typeattributeset base_typeattr_875 (and (domain ) (not (init surfaceflinger ))))
 (typeattribute base_typeattr_874)
-(typeattributeset base_typeattr_874 (and (domain ) (not (appdomain coredomain hal_power_server vendor_init ))))
+(typeattributeset base_typeattr_874 (and (domain ) (not (appdomain hal_telephony_server init radio ))))
 (typeattribute base_typeattr_873)
-(typeattributeset base_typeattr_873 (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 ))))
+(typeattributeset base_typeattr_873 (and (domain ) (not (init shell kcmdlinectrl ))))
 (typeattribute base_typeattr_872)
-(typeattributeset base_typeattr_872 (and (domain ) (not (hal_wifi_server dumpstate init vendor_init wificond ))))
+(typeattributeset base_typeattr_872 (and (domain ) (not (init shell system_app system_server mtectrl ))))
 (typeattribute base_typeattr_871)
-(typeattributeset base_typeattr_871 (and (domain ) (not (coredomain hal_wifi_server wificond ))))
+(typeattributeset base_typeattr_871 (and (domain ) (not (adbd init adbd_tradeinmode ))))
 (typeattribute base_typeattr_870)
-(typeattributeset base_typeattr_870 (and (domain ) (not (coredomain hal_camera_server cameraserver vendor_init ))))
+(typeattributeset base_typeattr_870 (and (domain ) (not (adbd init system_server vendor_init adbd_tradeinmode ))))
 (typeattribute base_typeattr_869)
-(typeattributeset base_typeattr_869 (and (domain ) (not (coredomain hal_bluetooth_server bluetooth vendor_init ))))
+(typeattributeset base_typeattr_869 (and (property_type ) (not (extended_core_property_type system_property_type ))))
 (typeattribute base_typeattr_868)
-(typeattributeset base_typeattr_868 (and (domain ) (not (coredomain hal_bluetooth_server bluetooth ))))
+(typeattributeset base_typeattr_868 (and (coredomain ) (not (system_writes_vendor_properties_violators init ))))
 (typeattribute base_typeattr_867)
-(typeattributeset base_typeattr_867 (and (domain ) (not (appdomain coredomain hal_telephony_server ))))
+(typeattributeset base_typeattr_867 (and (domain ) (not (appdomain coredomain hal_power_server vendor_init ))))
 (typeattribute base_typeattr_866)
-(typeattributeset base_typeattr_866 (and (domain ) (not (appdomain coredomain hal_telephony_server vendor_init ))))
+(typeattributeset base_typeattr_866 (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_865)
-(typeattributeset base_typeattr_865 (and (domain ) (not (appdomain coredomain hal_nfc_server ))))
+(typeattributeset base_typeattr_865 (and (domain ) (not (hal_wifi_server dumpstate init vendor_init wificond ))))
 (typeattribute base_typeattr_864)
-(typeattributeset base_typeattr_864 (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 ))))
+(typeattributeset base_typeattr_864 (and (domain ) (not (coredomain hal_wifi_server wificond ))))
 (typeattribute base_typeattr_863)
-(typeattributeset base_typeattr_863 (and (domain ) (not (appdomain coredomain vendor_init ))))
+(typeattributeset base_typeattr_863 (and (domain ) (not (coredomain hal_camera_server cameraserver vendor_init ))))
 (typeattribute base_typeattr_862)
-(typeattributeset base_typeattr_862 (and (domain ) (not (init misctrl ))))
+(typeattributeset base_typeattr_862 (and (domain ) (not (coredomain hal_bluetooth_server bluetooth vendor_init ))))
 (typeattribute base_typeattr_861)
-(typeattributeset base_typeattr_861 (and (domain ) (not (crash_dump dumpstate init statsd misctrl ))))
+(typeattributeset base_typeattr_861 (and (domain ) (not (coredomain hal_bluetooth_server bluetooth ))))
 (typeattribute base_typeattr_860)
-(typeattributeset base_typeattr_860 (and (domain ) (not (extra_free_kbytes init ))))
+(typeattributeset base_typeattr_860 (and (domain ) (not (appdomain coredomain hal_telephony_server ))))
 (typeattribute base_typeattr_859)
-(typeattributeset base_typeattr_859 (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 ))))
+(typeattributeset base_typeattr_859 (and (domain ) (not (appdomain coredomain hal_telephony_server vendor_init ))))
 (typeattribute base_typeattr_858)
-(typeattributeset base_typeattr_858 (and (vendor_property_type ) (not (vendor_public_property_type ))))
+(typeattributeset base_typeattr_858 (and (domain ) (not (appdomain coredomain hal_nfc_server ))))
 (typeattribute base_typeattr_857)
-(typeattributeset base_typeattr_857 (and (vendor_property_type vendor_internal_property_type ) (not (vendor_restricted_property_type vendor_public_property_type ))))
+(typeattributeset base_typeattr_857 (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_856)
-(typeattributeset base_typeattr_856 (and (system_property_type ) (not (system_public_property_type ))))
+(typeattributeset base_typeattr_856 (and (domain ) (not (appdomain coredomain vendor_init ))))
 (typeattribute base_typeattr_855)
-(typeattributeset base_typeattr_855 (and (system_property_type system_internal_property_type ) (not (system_restricted_property_type system_public_property_type ))))
+(typeattributeset base_typeattr_855 (and (domain ) (not (init misctrl ))))
 (typeattribute base_typeattr_854)
-(typeattributeset base_typeattr_854 (and (property_type ) (not (system_property_type vendor_property_type ))))
+(typeattributeset base_typeattr_854 (and (domain ) (not (crash_dump dumpstate init statsd misctrl ))))
 (typeattribute base_typeattr_853)
-(typeattributeset base_typeattr_853 (and (app_data_file_type ) (not (privapp_data_file ))))
+(typeattributeset base_typeattr_853 (and (domain ) (not (extra_free_kbytes init ))))
 (typeattribute base_typeattr_852)
-(typeattributeset base_typeattr_852 (and (domain ) (not (crash_dump priv_app runas_app simpleperf ))))
+(typeattributeset base_typeattr_852 (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_851)
-(typeattributeset base_typeattr_851 (and (appdomain ) (not (priv_app runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_851 (and (vendor_property_type ) (not (vendor_public_property_type ))))
 (typeattribute base_typeattr_850)
-(typeattributeset base_typeattr_850 (and (priv_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_850 (and (vendor_property_type vendor_internal_property_type ) (not (vendor_restricted_property_type vendor_public_property_type ))))
 (typeattribute base_typeattr_849)
-(typeattributeset base_typeattr_849 (and (domain ) (not (priv_app ))))
+(typeattributeset base_typeattr_849 (and (system_property_type ) (not (system_public_property_type ))))
 (typeattribute base_typeattr_848)
-(typeattributeset base_typeattr_848 (and (domain ) (not (init shell ))))
+(typeattributeset base_typeattr_848 (and (system_property_type system_internal_property_type ) (not (system_restricted_property_type system_public_property_type ))))
 (typeattribute base_typeattr_847)
-(typeattributeset base_typeattr_847 (and (domain ) (not (recovery update_engine ))))
+(typeattributeset base_typeattr_847 (and (property_type ) (not (system_property_type vendor_property_type ))))
 (typeattribute base_typeattr_846)
-(typeattributeset base_typeattr_846 (and (domain ) (not (dumpstate init ))))
+(typeattributeset base_typeattr_846 (and (app_data_file_type ) (not (privapp_data_file ))))
 (typeattribute base_typeattr_845)
-(typeattributeset base_typeattr_845 (and (domain ) (not (crash_dump platform_app runas_app simpleperf ))))
+(typeattributeset base_typeattr_845 (and (domain ) (not (crash_dump priv_app runas_app simpleperf ))))
 (typeattribute base_typeattr_844)
-(typeattributeset base_typeattr_844 (and (appdomain ) (not (platform_app runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_844 (and (appdomain ) (not (priv_app runas_app shell simpleperf ))))
 (typeattribute base_typeattr_843)
-(typeattributeset base_typeattr_843 (and (platform_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_843 (and (priv_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_842)
-(typeattributeset base_typeattr_842 (and (domain ) (not (platform_app ))))
+(typeattributeset base_typeattr_842 (and (domain ) (not (priv_app ))))
 (typeattribute base_typeattr_841)
-(typeattributeset base_typeattr_841 (and (domain ) (not (crash_dump runas_app simpleperf permissioncontroller_app ))))
+(typeattributeset base_typeattr_841 (and (domain ) (not (init shell ))))
 (typeattribute base_typeattr_840)
-(typeattributeset base_typeattr_840 (and (appdomain ) (not (runas_app shell simpleperf permissioncontroller_app ))))
+(typeattributeset base_typeattr_840 (and (domain ) (not (recovery update_engine ))))
 (typeattribute base_typeattr_839)
-(typeattributeset base_typeattr_839 (and (permissioncontroller_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_839 (and (domain ) (not (dumpstate init ))))
 (typeattribute base_typeattr_838)
-(typeattributeset base_typeattr_838 (and (domain ) (not (permissioncontroller_app ))))
+(typeattributeset base_typeattr_838 (and (domain ) (not (crash_dump platform_app runas_app simpleperf ))))
 (typeattribute base_typeattr_837)
-(typeattributeset base_typeattr_837 (and (domain ) (not (performanced ))))
+(typeattributeset base_typeattr_837 (and (appdomain ) (not (platform_app runas_app shell simpleperf ))))
 (typeattribute base_typeattr_836)
-(typeattributeset base_typeattr_836 (and (data_file_type ) (not (perfetto_traces_data_file perfetto_traces_bugreport_data_file perfetto_traces_profiling_data_file perfetto_configs_data_file ))))
+(typeattributeset base_typeattr_836 (and (platform_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_835)
-(typeattributeset base_typeattr_835 (and (system_data_file ) (not (perfetto_traces_data_file perfetto_traces_profiling_data_file ))))
+(typeattributeset base_typeattr_835 (and (domain ) (not (platform_app ))))
 (typeattribute base_typeattr_834)
-(typeattributeset base_typeattr_834 (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 ))))
+(typeattributeset base_typeattr_834 (and (domain ) (not (crash_dump runas_app simpleperf permissioncontroller_app ))))
 (typeattribute base_typeattr_833)
-(typeattributeset base_typeattr_833 (and (domain ) (not (adbd incidentd init perfetto shell traced trace_redactor ))))
+(typeattributeset base_typeattr_833 (and (appdomain ) (not (runas_app shell simpleperf permissioncontroller_app ))))
 (typeattribute base_typeattr_832)
-(typeattributeset base_typeattr_832 (and (domain ) (not (adbd dumpstate incidentd init perfetto priv_app shell system_server traced trace_redactor ))))
+(typeattributeset base_typeattr_832 (and (permissioncontroller_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_831)
-(typeattributeset base_typeattr_831 (and (domain ) (not (init vendor_init ot_daemon ))))
+(typeattributeset base_typeattr_831 (and (domain ) (not (permissioncontroller_app ))))
 (typeattribute base_typeattr_830)
-(typeattributeset base_typeattr_830 (and (domain ) (not (ot_daemon ))))
+(typeattributeset base_typeattr_830 (and (domain ) (not (performanced ))))
 (typeattribute base_typeattr_829)
-(typeattributeset base_typeattr_829 (and (domain ) (not (init odsign ))))
+(typeattributeset base_typeattr_829 (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_828)
-(typeattributeset base_typeattr_828 (and (domain ) (not (init system_server odrefresh ))))
+(typeattributeset base_typeattr_828 (and (system_data_file ) (not (perfetto_traces_data_file perfetto_traces_profiling_data_file ))))
 (typeattribute base_typeattr_827)
-(typeattributeset base_typeattr_827 (and (domain ) (not (artd init system_server odrefresh ))))
+(typeattributeset base_typeattr_827 (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_826)
-(typeattributeset base_typeattr_826 (and (domain ) (not (init compos_fd_server odrefresh ))))
+(typeattributeset base_typeattr_826 (and (domain ) (not (adbd incidentd init perfetto shell traced trace_redactor ))))
 (typeattribute base_typeattr_825)
-(typeattributeset base_typeattr_825 (and (domain ) (not (odrefresh ))))
+(typeattributeset base_typeattr_825 (and (domain ) (not (adbd dumpstate incidentd init perfetto priv_app shell system_server traced trace_redactor ))))
 (typeattribute base_typeattr_824)
-(typeattributeset base_typeattr_824 (and (domain ) (not (crash_dump nfc runas_app simpleperf ))))
+(typeattributeset base_typeattr_824 (and (domain ) (not (init vendor_init ot_daemon ))))
 (typeattribute base_typeattr_823)
-(typeattributeset base_typeattr_823 (and (appdomain ) (not (nfc runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_823 (and (domain ) (not (ot_daemon ))))
 (typeattribute base_typeattr_822)
-(typeattributeset base_typeattr_822 (and (nfc ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_822 (and (domain ) (not (init odsign ))))
 (typeattribute base_typeattr_821)
-(typeattributeset base_typeattr_821 (and (domain ) (not (nfc ))))
+(typeattributeset base_typeattr_821 (and (domain ) (not (init system_server odrefresh ))))
 (typeattribute base_typeattr_820)
-(typeattributeset base_typeattr_820 (and (domain ) (not (crash_dump network_stack runas_app simpleperf ))))
+(typeattributeset base_typeattr_820 (and (domain ) (not (artd init system_server odrefresh ))))
 (typeattribute base_typeattr_819)
-(typeattributeset base_typeattr_819 (and (appdomain ) (not (network_stack runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_819 (and (domain ) (not (init compos_fd_server odrefresh ))))
 (typeattribute base_typeattr_818)
-(typeattributeset base_typeattr_818 (and (network_stack ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_818 (and (domain ) (not (odrefresh ))))
 (typeattribute base_typeattr_817)
-(typeattributeset base_typeattr_817 (and (domain ) (not (network_stack ))))
+(typeattributeset base_typeattr_817 (and (domain ) (not (crash_dump nfc runas_app simpleperf ))))
 (typeattribute base_typeattr_816)
-(typeattributeset base_typeattr_816 (and (domain ) (not (init netd ))))
+(typeattributeset base_typeattr_816 (and (appdomain ) (not (nfc runas_app shell simpleperf ))))
 (typeattribute base_typeattr_815)
-(typeattributeset base_typeattr_815 (and (domain ) (not (dumpstate init netd ))))
+(typeattributeset base_typeattr_815 (and (nfc ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_814)
-(typeattributeset base_typeattr_814 (and (domain ) (not (dumpstate netd netutils_wrapper network_stack system_server ))))
+(typeattributeset base_typeattr_814 (and (domain ) (not (nfc ))))
 (typeattribute base_typeattr_813)
-(typeattributeset base_typeattr_813 (and (domain ) (not (netd ))))
+(typeattributeset base_typeattr_813 (and (domain ) (not (crash_dump network_stack runas_app simpleperf ))))
 (typeattribute base_typeattr_812)
-(typeattributeset base_typeattr_812 (and (netdomain ) (not (untrusted_app_all ephemeral_app mediaprovider priv_app sdk_sandbox_all ))))
+(typeattributeset base_typeattr_812 (and (appdomain ) (not (network_stack runas_app shell simpleperf ))))
 (typeattribute base_typeattr_811)
-(typeattributeset base_typeattr_811 (and (netdomain ) (not (ephemeral_app sdk_sandbox_all ))))
+(typeattributeset base_typeattr_811 (and (network_stack ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_810)
-(typeattributeset base_typeattr_810 (and (domain ) (not (mmd ))))
+(typeattributeset base_typeattr_810 (and (domain ) (not (network_stack ))))
 (typeattribute base_typeattr_809)
-(typeattributeset base_typeattr_809 (and (mlstrustedsubject ) (not (adbd artd installd runas system_server vold vold_prepare_subdirs zygote ))))
+(typeattributeset base_typeattr_809 (and (domain ) (not (init netd ))))
 (typeattribute base_typeattr_808)
-(typeattributeset base_typeattr_808 (and (mlstrustedsubject ) (not (adbd artd installd runas system_server zygote ))))
+(typeattributeset base_typeattr_808 (and (domain ) (not (dumpstate init netd ))))
 (typeattribute base_typeattr_807)
-(typeattributeset base_typeattr_807 (and (mlstrustedsubject ) (not (artd installd vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_807 (and (domain ) (not (dumpstate netd netutils_wrapper network_stack system_server ))))
 (typeattribute base_typeattr_806)
-(typeattributeset base_typeattr_806 (and (mlstrustedsubject ) (not (artd installd ))))
+(typeattributeset base_typeattr_806 (and (domain ) (not (netd ))))
 (typeattribute base_typeattr_805)
-(typeattributeset base_typeattr_805 (and (domain ) (not (microfuchsiad ))))
+(typeattributeset base_typeattr_805 (and (netdomain ) (not (untrusted_app_all ephemeral_app mediaprovider priv_app sdk_sandbox_all ))))
 (typeattribute base_typeattr_804)
-(typeattributeset base_typeattr_804 (and (domain ) (not (mediatuner ))))
+(typeattributeset base_typeattr_804 (and (netdomain ) (not (ephemeral_app sdk_sandbox_all ))))
 (typeattribute base_typeattr_803)
-(typeattributeset base_typeattr_803 (and (domain ) (not (mediatranscoding ))))
+(typeattributeset base_typeattr_803 (and (domain ) (not (mmd ))))
 (typeattribute base_typeattr_802)
-(typeattributeset base_typeattr_802 (and (domain ) (not (mediaserver ))))
+(typeattributeset base_typeattr_802 (and (mlstrustedsubject ) (not (adbd artd installd runas system_server zygote ))))
 (typeattribute base_typeattr_801)
-(typeattributeset base_typeattr_801 (and (domain ) (not (crash_dump runas_app simpleperf mediaprovider_app ))))
+(typeattributeset base_typeattr_801 (and (mlstrustedsubject ) (not (artd installd ))))
 (typeattribute base_typeattr_800)
-(typeattributeset base_typeattr_800 (and (appdomain ) (not (runas_app shell simpleperf mediaprovider_app ))))
+(typeattributeset base_typeattr_800 (and (domain ) (not (mediatuner ))))
 (typeattribute base_typeattr_799)
-(typeattributeset base_typeattr_799 (and (mediaprovider_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_799 (and (domain ) (not (mediatranscoding ))))
 (typeattribute base_typeattr_798)
-(typeattributeset base_typeattr_798 (and (domain ) (not (mediaprovider_app ))))
+(typeattributeset base_typeattr_798 (and (domain ) (not (mediaserver ))))
 (typeattribute base_typeattr_797)
-(typeattributeset base_typeattr_797 (and (domain ) (not (crash_dump mediaprovider runas_app simpleperf ))))
+(typeattributeset base_typeattr_797 (and (domain ) (not (crash_dump runas_app simpleperf mediaprovider_app ))))
 (typeattribute base_typeattr_796)
-(typeattributeset base_typeattr_796 (and (appdomain ) (not (mediaprovider runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_796 (and (appdomain ) (not (runas_app shell simpleperf mediaprovider_app ))))
 (typeattribute base_typeattr_795)
-(typeattributeset base_typeattr_795 (and (mediaprovider ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_795 (and (mediaprovider_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_794)
-(typeattributeset base_typeattr_794 (and (domain ) (not (mediaprovider ))))
+(typeattributeset base_typeattr_794 (and (domain ) (not (mediaprovider_app ))))
 (typeattribute base_typeattr_793)
-(typeattributeset base_typeattr_793 (and (domain ) (not (mediametrics ))))
+(typeattributeset base_typeattr_793 (and (domain ) (not (crash_dump mediaprovider runas_app simpleperf ))))
 (typeattribute base_typeattr_792)
-(typeattributeset base_typeattr_792 (and (domain ) (not (mediaextractor ))))
+(typeattributeset base_typeattr_792 (and (appdomain ) (not (mediaprovider runas_app shell simpleperf ))))
 (typeattribute base_typeattr_791)
-(typeattributeset base_typeattr_791 (and (domain ) (not (mediadrmserver ))))
+(typeattributeset base_typeattr_791 (and (mediaprovider ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_790)
-(typeattributeset base_typeattr_790 (and (domain ) (not (dumpstate servicemanager shell lpdumpd ))))
+(typeattributeset base_typeattr_790 (and (domain ) (not (mediaprovider ))))
 (typeattribute base_typeattr_789)
-(typeattributeset base_typeattr_789 (and (domain ) (not (dumpstate shell lpdumpd ))))
+(typeattributeset base_typeattr_789 (and (domain ) (not (mediametrics ))))
 (typeattribute base_typeattr_788)
-(typeattributeset base_typeattr_788 (and (domain ) (not (lpdumpd ))))
+(typeattributeset base_typeattr_788 (and (domain ) (not (mediaextractor ))))
 (typeattribute base_typeattr_787)
-(typeattributeset base_typeattr_787 (and (domain ) (not (dumpstate incidentd init ))))
+(typeattributeset base_typeattr_787 (and (domain ) (not (mediadrmserver ))))
 (typeattribute base_typeattr_786)
-(typeattributeset base_typeattr_786 (and (domain ) (not (init logd ))))
+(typeattributeset base_typeattr_786 (and (domain ) (not (dumpstate servicemanager shell lpdumpd ))))
 (typeattribute base_typeattr_785)
-(typeattributeset base_typeattr_785 (and (app_data_file_type system_data_file packages_list_file ) (not (shell_data_file ))))
+(typeattributeset base_typeattr_785 (and (domain ) (not (dumpstate shell lpdumpd ))))
 (typeattribute base_typeattr_784)
-(typeattributeset base_typeattr_784 (and (domain ) (not (logd ))))
+(typeattributeset base_typeattr_784 (and (domain ) (not (lpdumpd ))))
 (typeattribute base_typeattr_783)
-(typeattributeset base_typeattr_783 (and (appdomain ) (not (bluetooth platform_app priv_app radio shell system_app ))))
+(typeattributeset base_typeattr_783 (and (domain ) (not (dumpstate incidentd init ))))
 (typeattribute base_typeattr_782)
-(typeattributeset base_typeattr_782 (and (domain ) (not (appdomain bootstat dumpstate init logd servicemanager surfaceflinger system_server zygote ))))
+(typeattributeset base_typeattr_782 (and (domain ) (not (init logd ))))
 (typeattribute base_typeattr_781)
-(typeattributeset base_typeattr_781 (and (file_type ) (not (runtime_event_log_tags_file shell_data_file ))))
+(typeattributeset base_typeattr_781 (and (app_data_file_type system_data_file packages_list_file ) (not (shell_data_file ))))
 (typeattribute base_typeattr_780)
-(typeattributeset base_typeattr_780 (and (domain ) (not (init lmkd vendor_init ))))
+(typeattributeset base_typeattr_780 (and (domain ) (not (logd ))))
 (typeattribute base_typeattr_779)
-(typeattributeset base_typeattr_779 (and (domain ) (not (init dexopt_chroot_setup linkerconfig otapreopt_chroot ))))
+(typeattributeset base_typeattr_779 (and (appdomain ) (not (bluetooth platform_app priv_app radio shell system_app ))))
 (typeattribute base_typeattr_778)
-(typeattributeset base_typeattr_778 (and (domain ) (not (init keystore ))))
+(typeattributeset base_typeattr_778 (and (domain ) (not (appdomain bootstat dumpstate init logd servicemanager surfaceflinger system_server zygote ))))
 (typeattribute base_typeattr_777)
-(typeattributeset base_typeattr_777 (and (domain ) (not (keystore ))))
+(typeattributeset base_typeattr_777 (and (file_type ) (not (runtime_event_log_tags_file shell_data_file ))))
 (typeattribute base_typeattr_776)
-(typeattributeset base_typeattr_776 (and (domain ) (not (crash_dump isolated_compute_app runas_app simpleperf ))))
+(typeattributeset base_typeattr_776 (and (domain ) (not (init lmkd vendor_init ))))
 (typeattribute base_typeattr_775)
-(typeattributeset base_typeattr_775 (and (appdomain ) (not (isolated_compute_app runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_775 (and (domain ) (not (init dexopt_chroot_setup linkerconfig otapreopt_chroot ))))
 (typeattribute base_typeattr_774)
-(typeattributeset base_typeattr_774 (and (isolated_compute_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_774 (and (domain ) (not (init keystore ))))
 (typeattribute base_typeattr_773)
-(typeattributeset base_typeattr_773 (and (domain ) (not (isolated_compute_app ))))
+(typeattributeset base_typeattr_773 (and (domain ) (not (keystore ))))
 (typeattribute base_typeattr_772)
-(typeattributeset base_typeattr_772 (and (sysfs_type ) (not (sysfs_transparent_hugepage sysfs_usb sysfs_fs_fuse_features sysfs_fs_incfs_features sysfs_devices_system_cpu sysfs_pgsize_migration ))))
+(typeattributeset base_typeattr_772 (and (domain ) (not (crash_dump isolated_compute_app runas_app simpleperf ))))
 (typeattribute base_typeattr_771)
-(typeattributeset base_typeattr_771 (and (service_manager_type ) (not (activity_service display_service webviewupdate_service ))))
+(typeattributeset base_typeattr_771 (and (appdomain ) (not (isolated_compute_app runas_app shell simpleperf ))))
 (typeattribute base_typeattr_770)
-(typeattributeset base_typeattr_770 (and (isolated_app_all ) (not (isolated_compute_app ))))
+(typeattributeset base_typeattr_770 (and (isolated_compute_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_769)
-(typeattributeset base_typeattr_769 (and (domain ) (not (crash_dump isolated_app runas_app simpleperf ))))
+(typeattributeset base_typeattr_769 (and (domain ) (not (isolated_compute_app ))))
 (typeattribute base_typeattr_768)
-(typeattributeset base_typeattr_768 (and (appdomain ) (not (isolated_app runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_768 (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_767)
-(typeattributeset base_typeattr_767 (and (isolated_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_767 (and (service_manager_type ) (not (activity_service display_service webviewupdate_service ))))
 (typeattribute base_typeattr_766)
-(typeattributeset base_typeattr_766 (and (domain ) (not (servicemanager system_server ))))
+(typeattributeset base_typeattr_766 (and (isolated_app_all ) (not (isolated_compute_app ))))
 (typeattribute base_typeattr_765)
-(typeattributeset base_typeattr_765 (and (domain ) (not (dumpstate servicemanager system_server ))))
+(typeattributeset base_typeattr_765 (and (domain ) (not (crash_dump isolated_app runas_app simpleperf ))))
 (typeattribute base_typeattr_764)
-(typeattributeset base_typeattr_764 (and (domain ) (not (dumpstate installd system_server ))))
+(typeattributeset base_typeattr_764 (and (appdomain ) (not (isolated_app runas_app shell simpleperf ))))
 (typeattribute base_typeattr_763)
-(typeattributeset base_typeattr_763 (and (domain ) (not (installd ))))
+(typeattributeset base_typeattr_763 (and (isolated_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_762)
-(typeattributeset base_typeattr_762 (and (domain ) (not (init toolbox vendor_init vold ))))
+(typeattributeset base_typeattr_762 (and (domain ) (not (servicemanager system_server ))))
 (typeattribute base_typeattr_761)
-(typeattributeset base_typeattr_761 (and (fs_type file_type ) (not (init_exec ))))
+(typeattributeset base_typeattr_761 (and (domain ) (not (dumpstate servicemanager system_server ))))
 (typeattribute base_typeattr_760)
-(typeattributeset base_typeattr_760 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type sdcard_type rootfs ))))
+(typeattributeset base_typeattr_760 (and (domain ) (not (dumpstate installd system_server ))))
 (typeattribute base_typeattr_759)
-(typeattributeset base_typeattr_759 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type proc_type sysfs_type debugfs_type sdcard_type keychord_device rootfs ))))
+(typeattributeset base_typeattr_759 (and (domain ) (not (installd ))))
 (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 app_data_file privapp_data_file vm_data_file storage_area_app_dir storage_area_dir storage_area_content_file ))))
+(typeattributeset base_typeattr_758 (and (domain ) (not (init toolbox vendor_init vold ))))
 (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 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 ))))
+(typeattributeset base_typeattr_757 (and (fs_type file_type ) (not (init_exec ))))
 (typeattribute base_typeattr_756)
-(typeattributeset base_typeattr_756 (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 ))))
+(typeattributeset base_typeattr_756 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type sdcard_type rootfs ))))
 (typeattribute base_typeattr_755)
-(typeattributeset base_typeattr_755 (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 ))))
+(typeattributeset base_typeattr_755 (and (fs_type ) (not (bpffs_type contextmount_type fusefs_type proc_type sysfs_type debugfs_type sdcard_type keychord_device rootfs ))))
 (typeattribute base_typeattr_754)
-(typeattributeset base_typeattr_754 (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 ))))
+(typeattributeset base_typeattr_754 (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 ))))
 (typeattribute base_typeattr_753)
-(typeattributeset base_typeattr_753 (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 ))))
+(typeattributeset base_typeattr_753 (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 ))))
 (typeattribute base_typeattr_752)
-(typeattributeset base_typeattr_752 (and (fs_type ) (not (debugfs_type ))))
+(typeattributeset base_typeattr_752 (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 ))))
 (typeattribute base_typeattr_751)
-(typeattributeset base_typeattr_751 (and (dev_type ) (not (vm_manager_device_type keychord_device hw_random_device port_device ))))
+(typeattributeset base_typeattr_751 (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 ))))
 (typeattribute base_typeattr_750)
-(typeattributeset base_typeattr_750 (and (domain ) (not (incidentd init system_server vold ))))
+(typeattributeset base_typeattr_750 (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 ))))
 (typeattribute base_typeattr_749)
-(typeattributeset base_typeattr_749 (and (domain ) (not (incidentd init vold ))))
+(typeattributeset base_typeattr_749 (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 ))))
 (typeattribute base_typeattr_748)
-(typeattributeset base_typeattr_748 (and (domain ) (not (incidentd ))))
+(typeattributeset base_typeattr_748 (and (fs_type ) (not (debugfs_type ))))
 (typeattribute base_typeattr_747)
-(typeattributeset base_typeattr_747 (and (system_server_service app_api_service system_api_service ) (not (tracingproxy_service ))))
+(typeattributeset base_typeattr_747 (and (dev_type ) (not (vm_manager_device_type keychord_device hw_random_device port_device ))))
 (typeattribute base_typeattr_746)
-(typeattributeset base_typeattr_746 (and (domain ) (not (incident_helper incidentd shell ))))
+(typeattributeset base_typeattr_746 (and (domain ) (not (incidentd init system_server vold ))))
 (typeattribute base_typeattr_745)
-(typeattributeset base_typeattr_745 (and (domain ) (not (dumpstate incident shell su ))))
+(typeattributeset base_typeattr_745 (and (domain ) (not (incidentd init vold ))))
 (typeattribute base_typeattr_744)
-(typeattributeset base_typeattr_744 (and (domain ) (not (idmap ))))
+(typeattributeset base_typeattr_744 (and (domain ) (not (incidentd ))))
 (typeattribute base_typeattr_743)
-(typeattributeset base_typeattr_743 (and (domain ) (not (hwservicemanager ))))
+(typeattributeset base_typeattr_743 (and (system_server_service app_api_service system_api_service ) (not (tracingproxy_service ))))
 (typeattribute base_typeattr_742)
-(typeattributeset base_typeattr_742 (not (hwservice_manager_type ) ))
+(typeattributeset base_typeattr_742 (and (domain ) (not (incident_helper incidentd shell ))))
 (typeattribute base_typeattr_741)
-(typeattributeset base_typeattr_741 (and (vendor_file_type ) (not (vndk_sp_file ))))
+(typeattributeset base_typeattr_741 (and (domain ) (not (dumpstate incident shell su ))))
 (typeattribute base_typeattr_740)
-(typeattributeset base_typeattr_740 (and (domain ) (not (hal_wifi_supplicant_client hal_wifi_supplicant_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_740 (and (domain ) (not (idmap ))))
 (typeattribute base_typeattr_739)
-(typeattributeset base_typeattr_739 (and (domain ) (not (hal_wifi_supplicant_client hal_wifi_supplicant_server ))))
+(typeattributeset base_typeattr_739 (and (domain ) (not (hwservicemanager ))))
 (typeattribute base_typeattr_738)
-(typeattributeset base_typeattr_738 (and (domain ) (not (hal_wifi_supplicant_server ))))
+(typeattributeset base_typeattr_738 (not (hwservice_manager_type ) ))
 (typeattribute base_typeattr_737)
-(typeattributeset base_typeattr_737 (and (domain ) (not (hal_wifi_hostapd_client hal_wifi_hostapd_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_737 (and (vendor_file_type ) (not (vndk_sp_file ))))
 (typeattribute base_typeattr_736)
-(typeattributeset base_typeattr_736 (and (domain ) (not (hal_wifi_hostapd_client hal_wifi_hostapd_server ))))
+(typeattributeset base_typeattr_736 (and (domain ) (not (hal_wifi_supplicant_client hal_wifi_supplicant_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_735)
-(typeattributeset base_typeattr_735 (and (domain ) (not (hal_wifi_hostapd_server ))))
+(typeattributeset base_typeattr_735 (and (domain ) (not (hal_wifi_supplicant_client hal_wifi_supplicant_server ))))
 (typeattribute base_typeattr_734)
-(typeattributeset base_typeattr_734 (and (domain ) (not (hal_wifi_client hal_wifi_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_734 (and (domain ) (not (hal_wifi_supplicant_server ))))
 (typeattribute base_typeattr_733)
-(typeattributeset base_typeattr_733 (and (domain ) (not (hal_wifi_client hal_wifi_server ))))
+(typeattributeset base_typeattr_733 (and (domain ) (not (hal_wifi_hostapd_client hal_wifi_hostapd_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_732)
-(typeattributeset base_typeattr_732 (and (domain ) (not (hal_wifi_server ))))
+(typeattributeset base_typeattr_732 (and (domain ) (not (hal_wifi_hostapd_client hal_wifi_hostapd_server ))))
 (typeattribute base_typeattr_731)
-(typeattributeset base_typeattr_731 (and (domain ) (not (hal_weaver_client hal_weaver_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_731 (and (domain ) (not (hal_wifi_hostapd_server ))))
 (typeattribute base_typeattr_730)
-(typeattributeset base_typeattr_730 (and (domain ) (not (hal_weaver_client hal_weaver_server ))))
+(typeattributeset base_typeattr_730 (and (domain ) (not (hal_wifi_client hal_wifi_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_729)
-(typeattributeset base_typeattr_729 (and (domain ) (not (hal_weaver_server ))))
+(typeattributeset base_typeattr_729 (and (domain ) (not (hal_wifi_client hal_wifi_server ))))
 (typeattribute base_typeattr_728)
-(typeattributeset base_typeattr_728 (and (domain ) (not (hal_vr_client hal_vr_server ))))
+(typeattributeset base_typeattr_728 (and (domain ) (not (hal_wifi_server ))))
 (typeattribute base_typeattr_727)
-(typeattributeset base_typeattr_727 (and (domain ) (not (hal_vr_server ))))
+(typeattributeset base_typeattr_727 (and (domain ) (not (hal_weaver_client hal_weaver_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_726)
-(typeattributeset base_typeattr_726 (and (domain ) (not (hal_vm_capabilities_client hal_vm_capabilities_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_726 (and (domain ) (not (hal_weaver_client hal_weaver_server ))))
 (typeattribute base_typeattr_725)
-(typeattributeset base_typeattr_725 (and (domain ) (not (hal_vm_capabilities_server ))))
+(typeattributeset base_typeattr_725 (and (domain ) (not (hal_weaver_server ))))
 (typeattribute base_typeattr_724)
-(typeattributeset base_typeattr_724 (and (domain ) (not (hal_vibrator_client hal_vibrator_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_724 (and (domain ) (not (hal_vr_client hal_vr_server ))))
 (typeattribute base_typeattr_723)
-(typeattributeset base_typeattr_723 (and (domain ) (not (hal_vibrator_client hal_vibrator_server ))))
+(typeattributeset base_typeattr_723 (and (domain ) (not (hal_vr_server ))))
 (typeattribute base_typeattr_722)
-(typeattributeset base_typeattr_722 (and (domain ) (not (hal_vibrator_server ))))
+(typeattributeset base_typeattr_722 (and (domain ) (not (hal_vm_capabilities_client hal_vm_capabilities_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_721)
-(typeattributeset base_typeattr_721 (and (domain ) (not (hal_vehicle_client hal_vehicle_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_721 (and (domain ) (not (hal_vm_capabilities_server ))))
 (typeattribute base_typeattr_720)
-(typeattributeset base_typeattr_720 (and (domain ) (not (hal_vehicle_client hal_vehicle_server ))))
+(typeattributeset base_typeattr_720 (and (domain ) (not (hal_vibrator_client hal_vibrator_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_719)
-(typeattributeset base_typeattr_719 (and (domain ) (not (hal_vehicle_server ))))
+(typeattributeset base_typeattr_719 (and (domain ) (not (hal_vibrator_client hal_vibrator_server ))))
 (typeattribute base_typeattr_718)
-(typeattributeset base_typeattr_718 (and (domain ) (not (hal_uwb_client hal_uwb_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_718 (and (domain ) (not (hal_vibrator_server ))))
 (typeattribute base_typeattr_717)
-(typeattributeset base_typeattr_717 (and (domain ) (not (hal_uwb_server ))))
+(typeattributeset base_typeattr_717 (and (domain ) (not (hal_vehicle_client hal_vehicle_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_716)
-(typeattributeset base_typeattr_716 (and (domain ) (not (hal_usb_gadget_client hal_usb_gadget_server ))))
+(typeattributeset base_typeattr_716 (and (domain ) (not (hal_vehicle_client hal_vehicle_server ))))
 (typeattribute base_typeattr_715)
-(typeattributeset base_typeattr_715 (and (domain ) (not (hal_usb_gadget_client hal_usb_gadget_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_715 (and (domain ) (not (hal_vehicle_server ))))
 (typeattribute base_typeattr_714)
-(typeattributeset base_typeattr_714 (and (domain ) (not (hal_usb_gadget_server ))))
+(typeattributeset base_typeattr_714 (and (domain ) (not (hal_uwb_client hal_uwb_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_713)
-(typeattributeset base_typeattr_713 (and (domain ) (not (hal_usb_client hal_usb_server ))))
+(typeattributeset base_typeattr_713 (and (domain ) (not (hal_uwb_server ))))
 (typeattribute base_typeattr_712)
-(typeattributeset base_typeattr_712 (and (domain ) (not (hal_usb_client hal_usb_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_712 (and (domain ) (not (hal_usb_gadget_client hal_usb_gadget_server ))))
 (typeattribute base_typeattr_711)
-(typeattributeset base_typeattr_711 (and (domain ) (not (hal_usb_server ))))
+(typeattributeset base_typeattr_711 (and (domain ) (not (hal_usb_gadget_client hal_usb_gadget_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_710)
-(typeattributeset base_typeattr_710 (and (domain ) (not (hal_tv_tuner_client hal_tv_tuner_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_710 (and (domain ) (not (hal_usb_gadget_server ))))
 (typeattribute base_typeattr_709)
-(typeattributeset base_typeattr_709 (and (domain ) (not (hal_tv_tuner_client hal_tv_tuner_server ))))
+(typeattributeset base_typeattr_709 (and (domain ) (not (hal_usb_client hal_usb_server ))))
 (typeattribute base_typeattr_708)
-(typeattributeset base_typeattr_708 (and (domain ) (not (hal_tv_tuner_server ))))
+(typeattributeset base_typeattr_708 (and (domain ) (not (hal_usb_client hal_usb_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_707)
-(typeattributeset base_typeattr_707 (and (domain ) (not (hal_tv_input_client hal_tv_input_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_707 (and (domain ) (not (hal_usb_server ))))
 (typeattribute base_typeattr_706)
-(typeattributeset base_typeattr_706 (and (domain ) (not (hal_tv_input_client hal_tv_input_server ))))
+(typeattributeset base_typeattr_706 (and (domain ) (not (hal_tv_tuner_client hal_tv_tuner_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_705)
-(typeattributeset base_typeattr_705 (and (domain ) (not (hal_tv_input_server ))))
+(typeattributeset base_typeattr_705 (and (domain ) (not (hal_tv_tuner_client hal_tv_tuner_server ))))
 (typeattribute base_typeattr_704)
-(typeattributeset base_typeattr_704 (and (domain ) (not (hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_704 (and (domain ) (not (hal_tv_tuner_server ))))
 (typeattribute base_typeattr_703)
-(typeattributeset base_typeattr_703 (and (domain ) (not (hal_tv_hdmi_earc_server ))))
+(typeattributeset base_typeattr_703 (and (domain ) (not (hal_tv_input_client hal_tv_input_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_702)
-(typeattributeset base_typeattr_702 (and (domain ) (not (hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_702 (and (domain ) (not (hal_tv_input_client hal_tv_input_server ))))
 (typeattribute base_typeattr_701)
-(typeattributeset base_typeattr_701 (and (domain ) (not (hal_tv_hdmi_connection_server ))))
+(typeattributeset base_typeattr_701 (and (domain ) (not (hal_tv_input_server ))))
 (typeattribute base_typeattr_700)
-(typeattributeset base_typeattr_700 (and (domain ) (not (hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_700 (and (domain ) (not (hal_tv_hdmi_earc_client hal_tv_hdmi_earc_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_699)
-(typeattributeset base_typeattr_699 (and (domain ) (not (hal_tv_hdmi_cec_server ))))
+(typeattributeset base_typeattr_699 (and (domain ) (not (hal_tv_hdmi_earc_server ))))
 (typeattribute base_typeattr_698)
-(typeattributeset base_typeattr_698 (and (domain ) (not (hal_tv_cec_client hal_tv_cec_server ))))
+(typeattributeset base_typeattr_698 (and (domain ) (not (hal_tv_hdmi_connection_client hal_tv_hdmi_connection_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_697)
-(typeattributeset base_typeattr_697 (and (domain ) (not (hal_tv_cec_server ))))
+(typeattributeset base_typeattr_697 (and (domain ) (not (hal_tv_hdmi_connection_server ))))
 (typeattribute base_typeattr_696)
-(typeattributeset base_typeattr_696 (and (domain ) (not (hal_threadnetwork_client hal_threadnetwork_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_696 (and (domain ) (not (hal_tv_hdmi_cec_client hal_tv_hdmi_cec_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_695)
-(typeattributeset base_typeattr_695 (and (domain ) (not (hal_threadnetwork_server ))))
+(typeattributeset base_typeattr_695 (and (domain ) (not (hal_tv_hdmi_cec_server ))))
 (typeattribute base_typeattr_694)
-(typeattributeset base_typeattr_694 (and (domain ) (not (hal_thermal_client hal_thermal_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_694 (and (domain ) (not (hal_tv_cec_client hal_tv_cec_server ))))
 (typeattribute base_typeattr_693)
-(typeattributeset base_typeattr_693 (and (domain ) (not (hal_thermal_client hal_thermal_server ))))
+(typeattributeset base_typeattr_693 (and (domain ) (not (hal_tv_cec_server ))))
 (typeattribute base_typeattr_692)
-(typeattributeset base_typeattr_692 (and (domain ) (not (hal_thermal_server ))))
+(typeattributeset base_typeattr_692 (and (domain ) (not (hal_threadnetwork_client hal_threadnetwork_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_691)
-(typeattributeset base_typeattr_691 (and (domain ) (not (hal_tetheroffload_client hal_tetheroffload_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_691 (and (domain ) (not (hal_threadnetwork_server ))))
 (typeattribute base_typeattr_690)
-(typeattributeset base_typeattr_690 (and (domain ) (not (hal_tetheroffload_client hal_tetheroffload_server ))))
+(typeattributeset base_typeattr_690 (and (domain ) (not (hal_thermal_client hal_thermal_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_689)
-(typeattributeset base_typeattr_689 (and (domain ) (not (hal_tetheroffload_server ))))
+(typeattributeset base_typeattr_689 (and (domain ) (not (hal_thermal_client hal_thermal_server ))))
 (typeattribute base_typeattr_688)
-(typeattributeset base_typeattr_688 (and (domain ) (not (hal_telephony_client hal_telephony_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_688 (and (domain ) (not (hal_thermal_server ))))
 (typeattribute base_typeattr_687)
-(typeattributeset base_typeattr_687 (and (domain ) (not (hal_telephony_client hal_telephony_server ))))
+(typeattributeset base_typeattr_687 (and (domain ) (not (hal_tetheroffload_client hal_tetheroffload_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_686)
-(typeattributeset base_typeattr_686 (and (domain ) (not (hal_telephony_server ))))
+(typeattributeset base_typeattr_686 (and (domain ) (not (hal_tetheroffload_client hal_tetheroffload_server ))))
 (typeattribute base_typeattr_685)
-(typeattributeset base_typeattr_685 (and (domain ) (not (hal_sensors_client hal_sensors_server ))))
+(typeattributeset base_typeattr_685 (and (domain ) (not (hal_tetheroffload_server ))))
 (typeattribute base_typeattr_684)
-(typeattributeset base_typeattr_684 (and (domain ) (not (hal_sensors_server ))))
+(typeattributeset base_typeattr_684 (and (domain ) (not (hal_telephony_client hal_telephony_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_683)
-(typeattributeset base_typeattr_683 (and (domain ) (not (hal_secure_element_client hal_secure_element_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_683 (and (domain ) (not (hal_telephony_client hal_telephony_server ))))
 (typeattribute base_typeattr_682)
-(typeattributeset base_typeattr_682 (and (domain ) (not (hal_secure_element_client hal_secure_element_server ))))
+(typeattributeset base_typeattr_682 (and (domain ) (not (hal_telephony_server ))))
 (typeattribute base_typeattr_681)
-(typeattributeset base_typeattr_681 (and (domain ) (not (hal_secure_element_server ))))
+(typeattributeset base_typeattr_681 (and (domain ) (not (hal_sensors_client hal_sensors_server ))))
 (typeattribute base_typeattr_680)
-(typeattributeset base_typeattr_680 (and (domain ) (not (hal_secretkeeper_client hal_secretkeeper_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_680 (and (domain ) (not (hal_sensors_server ))))
 (typeattribute base_typeattr_679)
-(typeattributeset base_typeattr_679 (and (domain ) (not (hal_secretkeeper_server ))))
+(typeattributeset base_typeattr_679 (and (domain ) (not (hal_secure_element_client hal_secure_element_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_678)
-(typeattributeset base_typeattr_678 (and (domain ) (not (hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_678 (and (domain ) (not (hal_secure_element_client hal_secure_element_server ))))
 (typeattribute base_typeattr_677)
-(typeattributeset base_typeattr_677 (and (domain ) (not (hal_remotelyprovisionedcomponent_avf_server ))))
+(typeattributeset base_typeattr_677 (and (domain ) (not (hal_secure_element_server ))))
 (typeattribute base_typeattr_676)
-(typeattributeset base_typeattr_676 (and (domain ) (not (hal_remoteaccess_client hal_remoteaccess_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_676 (and (domain ) (not (hal_secretkeeper_client hal_secretkeeper_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_675)
-(typeattributeset base_typeattr_675 (and (domain ) (not (hal_remoteaccess_server ))))
+(typeattributeset base_typeattr_675 (and (domain ) (not (hal_secretkeeper_server ))))
 (typeattribute base_typeattr_674)
-(typeattributeset base_typeattr_674 (and (domain ) (not (hal_rebootescrow_client hal_rebootescrow_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_674 (and (domain ) (not (hal_remotelyprovisionedcomponent_avf_client hal_remotelyprovisionedcomponent_avf_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_673)
-(typeattributeset base_typeattr_673 (and (domain ) (not (hal_rebootescrow_server ))))
+(typeattributeset base_typeattr_673 (and (domain ) (not (hal_remotelyprovisionedcomponent_avf_server ))))
 (typeattribute base_typeattr_672)
-(typeattributeset base_typeattr_672 (and (domain ) (not (hal_power_stats_client hal_power_stats_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_672 (and (domain ) (not (hal_remoteaccess_client hal_remoteaccess_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_671)
-(typeattributeset base_typeattr_671 (and (domain ) (not (hal_power_stats_client hal_power_stats_server ))))
+(typeattributeset base_typeattr_671 (and (domain ) (not (hal_remoteaccess_server ))))
 (typeattribute base_typeattr_670)
-(typeattributeset base_typeattr_670 (and (domain ) (not (hal_power_stats_server ))))
+(typeattributeset base_typeattr_670 (and (domain ) (not (hal_rebootescrow_client hal_rebootescrow_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_669)
-(typeattributeset base_typeattr_669 (and (domain ) (not (hal_power_client hal_power_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_669 (and (domain ) (not (hal_rebootescrow_server ))))
 (typeattribute base_typeattr_668)
-(typeattributeset base_typeattr_668 (and (domain ) (not (hal_power_client hal_power_server ))))
+(typeattributeset base_typeattr_668 (and (domain ) (not (hal_power_stats_client hal_power_stats_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_667)
-(typeattributeset base_typeattr_667 (and (domain ) (not (hal_power_server ))))
+(typeattributeset base_typeattr_667 (and (domain ) (not (hal_power_stats_client hal_power_stats_server ))))
 (typeattribute base_typeattr_666)
-(typeattributeset base_typeattr_666 (and (domain ) (not (hal_omx_client hal_omx_server ))))
+(typeattributeset base_typeattr_666 (and (domain ) (not (hal_power_stats_server ))))
 (typeattribute base_typeattr_665)
-(typeattributeset base_typeattr_665 (and (domain ) (not (hal_omx_server ))))
+(typeattributeset base_typeattr_665 (and (domain ) (not (hal_power_client hal_power_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_664)
-(typeattributeset base_typeattr_664 (and (domain ) (not (hal_oemlock_client hal_oemlock_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_664 (and (domain ) (not (hal_power_client hal_power_server ))))
 (typeattribute base_typeattr_663)
-(typeattributeset base_typeattr_663 (and (domain ) (not (hal_oemlock_client hal_oemlock_server ))))
+(typeattributeset base_typeattr_663 (and (domain ) (not (hal_power_server ))))
 (typeattribute base_typeattr_662)
-(typeattributeset base_typeattr_662 (and (domain ) (not (hal_oemlock_server ))))
+(typeattributeset base_typeattr_662 (and (domain ) (not (hal_omx_client hal_omx_server ))))
 (typeattribute base_typeattr_661)
-(typeattributeset base_typeattr_661 (and (domain ) (not (hal_nlinterceptor_client hal_nlinterceptor_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_661 (and (domain ) (not (hal_omx_server ))))
 (typeattribute base_typeattr_660)
-(typeattributeset base_typeattr_660 (and (domain ) (not (hal_nlinterceptor_server ))))
+(typeattributeset base_typeattr_660 (and (domain ) (not (hal_oemlock_client hal_oemlock_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_659)
-(typeattributeset base_typeattr_659 (and (domain ) (not (hal_nfc_client hal_nfc_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_659 (and (domain ) (not (hal_oemlock_client hal_oemlock_server ))))
 (typeattribute base_typeattr_658)
-(typeattributeset base_typeattr_658 (and (domain ) (not (hal_nfc_client hal_nfc_server ))))
+(typeattributeset base_typeattr_658 (and (domain ) (not (hal_oemlock_server ))))
 (typeattribute base_typeattr_657)
-(typeattributeset base_typeattr_657 (and (domain ) (not (hal_nfc_server ))))
+(typeattributeset base_typeattr_657 (and (domain ) (not (hal_nlinterceptor_client hal_nlinterceptor_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_656)
-(typeattributeset base_typeattr_656 (and (fs_type file_type ) (not (shell_exec toolbox_exec ))))
+(typeattributeset base_typeattr_656 (and (domain ) (not (hal_nlinterceptor_server ))))
 (typeattribute base_typeattr_655)
-(typeattributeset base_typeattr_655 (and (halserverdomain ) (not (hal_dumpstate_server hal_telephony_server ))))
+(typeattributeset base_typeattr_655 (and (domain ) (not (hal_nfc_client hal_nfc_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_654)
-(typeattributeset base_typeattr_654 (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 ))))
+(typeattributeset base_typeattr_654 (and (domain ) (not (hal_nfc_client hal_nfc_server ))))
 (typeattribute base_typeattr_653)
-(typeattributeset base_typeattr_653 (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 ))))
+(typeattributeset base_typeattr_653 (and (domain ) (not (hal_nfc_server ))))
 (typeattribute base_typeattr_652)
-(typeattributeset base_typeattr_652 (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 ))))
+(typeattributeset base_typeattr_652 (and (fs_type file_type ) (not (shell_exec toolbox_exec ))))
 (typeattribute base_typeattr_651)
-(typeattributeset base_typeattr_651 (and (domain ) (not (hal_neuralnetworks_client hal_neuralnetworks_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_651 (and (halserverdomain ) (not (hal_dumpstate_server hal_telephony_server ))))
 (typeattribute base_typeattr_650)
-(typeattributeset base_typeattr_650 (and (domain ) (not (hal_neuralnetworks_client hal_neuralnetworks_server ))))
+(typeattributeset base_typeattr_650 (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_649)
-(typeattributeset base_typeattr_649 (and (domain ) (not (hal_neuralnetworks_server ))))
+(typeattributeset base_typeattr_649 (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_648)
-(typeattributeset base_typeattr_648 (and (domain ) (not (hal_memtrack_client hal_memtrack_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_648 (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_647)
-(typeattributeset base_typeattr_647 (and (domain ) (not (hal_memtrack_client hal_memtrack_server ))))
+(typeattributeset base_typeattr_647 (and (domain ) (not (hal_neuralnetworks_client hal_neuralnetworks_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_646)
-(typeattributeset base_typeattr_646 (and (domain ) (not (hal_memtrack_server ))))
+(typeattributeset base_typeattr_646 (and (domain ) (not (hal_neuralnetworks_client hal_neuralnetworks_server ))))
 (typeattribute base_typeattr_645)
-(typeattributeset base_typeattr_645 (and (domain ) (not (hal_mediaquality_client hal_mediaquality_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_645 (and (domain ) (not (hal_neuralnetworks_server ))))
 (typeattribute base_typeattr_644)
-(typeattributeset base_typeattr_644 (and (domain ) (not (hal_mediaquality_server ))))
+(typeattributeset base_typeattr_644 (and (domain ) (not (hal_memtrack_client hal_memtrack_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_643)
-(typeattributeset base_typeattr_643 (and (domain ) (not (hal_macsec_client hal_macsec_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_643 (and (domain ) (not (hal_memtrack_client hal_memtrack_server ))))
 (typeattribute base_typeattr_642)
-(typeattributeset base_typeattr_642 (and (domain ) (not (hal_macsec_server ))))
+(typeattributeset base_typeattr_642 (and (domain ) (not (hal_memtrack_server ))))
 (typeattribute base_typeattr_641)
-(typeattributeset base_typeattr_641 (and (domain ) (not (hal_lowpan_server init ueventd ))))
+(typeattributeset base_typeattr_641 (and (domain ) (not (hal_mediaquality_client hal_mediaquality_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_640)
-(typeattributeset base_typeattr_640 (and (domain ) (not (hal_lowpan_client hal_lowpan_server ))))
+(typeattributeset base_typeattr_640 (and (domain ) (not (hal_mediaquality_server ))))
 (typeattribute base_typeattr_639)
-(typeattributeset base_typeattr_639 (and (domain ) (not (hal_lowpan_server ))))
+(typeattributeset base_typeattr_639 (and (domain ) (not (hal_macsec_client hal_macsec_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_638)
-(typeattributeset base_typeattr_638 (and (domain ) (not (hal_light_client hal_light_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_638 (and (domain ) (not (hal_macsec_server ))))
 (typeattribute base_typeattr_637)
-(typeattributeset base_typeattr_637 (and (domain ) (not (hal_light_client hal_light_server ))))
+(typeattributeset base_typeattr_637 (and (domain ) (not (hal_lowpan_server init ueventd ))))
 (typeattribute base_typeattr_636)
-(typeattributeset base_typeattr_636 (and (domain ) (not (hal_light_server ))))
+(typeattributeset base_typeattr_636 (and (domain ) (not (hal_lowpan_client hal_lowpan_server ))))
 (typeattribute base_typeattr_635)
-(typeattributeset base_typeattr_635 (and (hal_keymint_server ) (not (coredomain ))))
+(typeattributeset base_typeattr_635 (and (domain ) (not (hal_lowpan_server ))))
 (typeattribute base_typeattr_634)
-(typeattributeset base_typeattr_634 (and (domain ) (not (hal_keymint_client hal_keymint_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_634 (and (domain ) (not (hal_light_client hal_light_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_633)
-(typeattributeset base_typeattr_633 (and (domain ) (not (hal_keymint_server ))))
+(typeattributeset base_typeattr_633 (and (domain ) (not (hal_light_client hal_light_server ))))
 (typeattribute base_typeattr_632)
-(typeattributeset base_typeattr_632 (and (domain ) (not (hal_keymaster_client hal_keymaster_server ))))
+(typeattributeset base_typeattr_632 (and (domain ) (not (hal_light_server ))))
 (typeattribute base_typeattr_631)
-(typeattributeset base_typeattr_631 (and (domain ) (not (hal_keymaster_server ))))
+(typeattributeset base_typeattr_631 (and (hal_keymint_server ) (not (coredomain ))))
 (typeattribute base_typeattr_630)
-(typeattributeset base_typeattr_630 (and (domain ) (not (hal_ivn_client hal_ivn_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_630 (and (domain ) (not (hal_keymint_client hal_keymint_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_629)
-(typeattributeset base_typeattr_629 (and (domain ) (not (hal_ivn_server ))))
+(typeattributeset base_typeattr_629 (and (domain ) (not (hal_keymint_server ))))
 (typeattribute base_typeattr_628)
-(typeattributeset base_typeattr_628 (and (domain ) (not (hal_ir_client hal_ir_server ))))
+(typeattributeset base_typeattr_628 (and (domain ) (not (hal_keymaster_client hal_keymaster_server ))))
 (typeattribute base_typeattr_627)
-(typeattributeset base_typeattr_627 (and (domain ) (not (hal_ir_client hal_ir_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_627 (and (domain ) (not (hal_keymaster_server ))))
 (typeattribute base_typeattr_626)
-(typeattributeset base_typeattr_626 (and (domain ) (not (hal_ir_server ))))
+(typeattributeset base_typeattr_626 (and (domain ) (not (hal_ivn_client hal_ivn_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_625)
-(typeattributeset base_typeattr_625 (and (domain ) (not (hal_input_processor_client hal_input_processor_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_625 (and (domain ) (not (hal_ivn_server ))))
 (typeattribute base_typeattr_624)
-(typeattributeset base_typeattr_624 (and (domain ) (not (hal_input_processor_server ))))
+(typeattributeset base_typeattr_624 (and (domain ) (not (hal_ir_client hal_ir_server ))))
 (typeattribute base_typeattr_623)
-(typeattributeset base_typeattr_623 (and (domain ) (not (hal_input_classifier_client hal_input_classifier_server ))))
+(typeattributeset base_typeattr_623 (and (domain ) (not (hal_ir_client hal_ir_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_622)
-(typeattributeset base_typeattr_622 (and (domain ) (not (hal_input_classifier_server ))))
+(typeattributeset base_typeattr_622 (and (domain ) (not (hal_ir_server ))))
 (typeattribute base_typeattr_621)
-(typeattributeset base_typeattr_621 (and (domain ) (not (hal_identity_client hal_identity_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_621 (and (domain ) (not (hal_input_processor_client hal_input_processor_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_620)
-(typeattributeset base_typeattr_620 (and (domain ) (not (hal_identity_server ))))
+(typeattributeset base_typeattr_620 (and (domain ) (not (hal_input_processor_server ))))
 (typeattribute base_typeattr_619)
-(typeattributeset base_typeattr_619 (and (domain ) (not (hal_health_storage_client hal_health_storage_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_619 (and (domain ) (not (hal_input_classifier_client hal_input_classifier_server ))))
 (typeattribute base_typeattr_618)
-(typeattributeset base_typeattr_618 (and (domain ) (not (hal_health_storage_client hal_health_storage_server ))))
+(typeattributeset base_typeattr_618 (and (domain ) (not (hal_input_classifier_server ))))
 (typeattribute base_typeattr_617)
-(typeattributeset base_typeattr_617 (and (domain ) (not (hal_health_storage_server ))))
+(typeattributeset base_typeattr_617 (and (domain ) (not (hal_identity_client hal_identity_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_616)
-(typeattributeset base_typeattr_616 (and (domain ) (not (hal_health_client hal_health_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_616 (and (domain ) (not (hal_identity_server ))))
 (typeattribute base_typeattr_615)
-(typeattributeset base_typeattr_615 (and (domain ) (not (hal_health_client hal_health_server ))))
+(typeattributeset base_typeattr_615 (and (domain ) (not (hal_health_storage_client hal_health_storage_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_614)
-(typeattributeset base_typeattr_614 (and (domain ) (not (hal_health_server ))))
+(typeattributeset base_typeattr_614 (and (domain ) (not (hal_health_storage_client hal_health_storage_server ))))
 (typeattribute base_typeattr_613)
-(typeattributeset base_typeattr_613 (and (domain ) (not (hal_graphics_composer_client hal_graphics_composer_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_613 (and (domain ) (not (hal_health_storage_server ))))
 (typeattribute base_typeattr_612)
-(typeattributeset base_typeattr_612 (and (domain ) (not (hal_graphics_composer_client hal_graphics_composer_server ))))
+(typeattributeset base_typeattr_612 (and (domain ) (not (hal_health_client hal_health_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_611)
-(typeattributeset base_typeattr_611 (and (domain ) (not (hal_graphics_composer_server ))))
+(typeattributeset base_typeattr_611 (and (domain ) (not (hal_health_client hal_health_server ))))
 (typeattribute base_typeattr_610)
-(typeattributeset base_typeattr_610 (and (domain ) (not (hal_graphics_allocator_client hal_graphics_allocator_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_610 (and (domain ) (not (hal_health_server ))))
 (typeattribute base_typeattr_609)
-(typeattributeset base_typeattr_609 (and (domain ) (not (hal_graphics_allocator_client hal_graphics_allocator_server ))))
+(typeattributeset base_typeattr_609 (and (domain ) (not (hal_graphics_composer_client hal_graphics_composer_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_608)
-(typeattributeset base_typeattr_608 (and (domain ) (not (hal_graphics_allocator_server ))))
+(typeattributeset base_typeattr_608 (and (domain ) (not (hal_graphics_composer_client hal_graphics_composer_server ))))
 (typeattribute base_typeattr_607)
-(typeattributeset base_typeattr_607 (and (domain ) (not (hal_gnss_client hal_gnss_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_607 (and (domain ) (not (hal_graphics_composer_server ))))
 (typeattribute base_typeattr_606)
-(typeattributeset base_typeattr_606 (and (domain ) (not (hal_gnss_client hal_gnss_server ))))
+(typeattributeset base_typeattr_606 (and (domain ) (not (hal_graphics_allocator_client hal_graphics_allocator_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_605)
-(typeattributeset base_typeattr_605 (and (domain ) (not (hal_gnss_server ))))
+(typeattributeset base_typeattr_605 (and (domain ) (not (hal_graphics_allocator_client hal_graphics_allocator_server ))))
 (typeattribute base_typeattr_604)
-(typeattributeset base_typeattr_604 (and (domain ) (not (hal_gatekeeper_client hal_gatekeeper_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_604 (and (domain ) (not (hal_graphics_allocator_server ))))
 (typeattribute base_typeattr_603)
-(typeattributeset base_typeattr_603 (and (domain ) (not (hal_gatekeeper_client hal_gatekeeper_server ))))
+(typeattributeset base_typeattr_603 (and (domain ) (not (hal_gnss_client hal_gnss_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_602)
-(typeattributeset base_typeattr_602 (and (domain ) (not (hal_gatekeeper_server ))))
+(typeattributeset base_typeattr_602 (and (domain ) (not (hal_gnss_client hal_gnss_server ))))
 (typeattribute base_typeattr_601)
-(typeattributeset base_typeattr_601 (and (hal_fingerprint ) (not (coredomain ))))
+(typeattributeset base_typeattr_601 (and (domain ) (not (hal_gnss_server ))))
 (typeattribute base_typeattr_600)
-(typeattributeset base_typeattr_600 (and (domain ) (not (hal_fingerprint_client hal_fingerprint_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_600 (and (domain ) (not (hal_gatekeeper_client hal_gatekeeper_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_599)
-(typeattributeset base_typeattr_599 (and (domain ) (not (hal_fingerprint_client hal_fingerprint_server ))))
+(typeattributeset base_typeattr_599 (and (domain ) (not (hal_gatekeeper_client hal_gatekeeper_server ))))
 (typeattribute base_typeattr_598)
-(typeattributeset base_typeattr_598 (and (domain ) (not (hal_fingerprint_server ))))
+(typeattributeset base_typeattr_598 (and (domain ) (not (hal_gatekeeper_server ))))
 (typeattribute base_typeattr_597)
-(typeattributeset base_typeattr_597 (and (domain ) (not (hal_fastboot_client hal_fastboot_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_597 (and (hal_fingerprint ) (not (coredomain ))))
 (typeattribute base_typeattr_596)
-(typeattributeset base_typeattr_596 (and (domain ) (not (hal_fastboot_server ))))
+(typeattributeset base_typeattr_596 (and (domain ) (not (hal_fingerprint_client hal_fingerprint_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_595)
-(typeattributeset base_typeattr_595 (and (hal_face ) (not (coredomain ))))
+(typeattributeset base_typeattr_595 (and (domain ) (not (hal_fingerprint_client hal_fingerprint_server ))))
 (typeattribute base_typeattr_594)
-(typeattributeset base_typeattr_594 (and (domain ) (not (hal_face_client hal_face_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_594 (and (domain ) (not (hal_fingerprint_server ))))
 (typeattribute base_typeattr_593)
-(typeattributeset base_typeattr_593 (and (domain ) (not (hal_face_client hal_face_server ))))
+(typeattributeset base_typeattr_593 (and (domain ) (not (hal_fastboot_client hal_fastboot_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_592)
-(typeattributeset base_typeattr_592 (and (domain ) (not (hal_face_server ))))
+(typeattributeset base_typeattr_592 (and (domain ) (not (hal_fastboot_server ))))
 (typeattribute base_typeattr_591)
-(typeattributeset base_typeattr_591 (and (domain ) (not (hal_evs_client hal_evs_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_591 (and (hal_face ) (not (coredomain ))))
 (typeattribute base_typeattr_590)
-(typeattributeset base_typeattr_590 (and (domain ) (not (hal_evs_server ))))
+(typeattributeset base_typeattr_590 (and (domain ) (not (hal_face_client hal_face_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_589)
-(typeattributeset base_typeattr_589 (and (domain ) (not (hal_evs_server evsmanagerd ))))
+(typeattributeset base_typeattr_589 (and (domain ) (not (hal_face_client hal_face_server ))))
 (typeattribute base_typeattr_588)
-(typeattributeset base_typeattr_588 (and (domain ) (not (hal_dumpstate_client hal_dumpstate_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_588 (and (domain ) (not (hal_face_server ))))
 (typeattribute base_typeattr_587)
-(typeattributeset base_typeattr_587 (and (domain ) (not (hal_dumpstate_client hal_dumpstate_server ))))
+(typeattributeset base_typeattr_587 (and (domain ) (not (hal_evs_client hal_evs_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_586)
-(typeattributeset base_typeattr_586 (and (domain ) (not (hal_dumpstate_server ))))
+(typeattributeset base_typeattr_586 (and (domain ) (not (hal_evs_server ))))
 (typeattribute base_typeattr_585)
-(typeattributeset base_typeattr_585 (and (domain ) (not (hal_drm_client hal_drm_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_585 (and (domain ) (not (hal_evs_server evsmanagerd ))))
 (typeattribute base_typeattr_584)
-(typeattributeset base_typeattr_584 (and (domain ) (not (hal_drm_client hal_drm_server ))))
+(typeattributeset base_typeattr_584 (and (domain ) (not (hal_dumpstate_client hal_dumpstate_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_583)
-(typeattributeset base_typeattr_583 (and (domain ) (not (hal_drm_server ))))
+(typeattributeset base_typeattr_583 (and (domain ) (not (hal_dumpstate_client hal_dumpstate_server ))))
 (typeattribute base_typeattr_582)
-(typeattributeset base_typeattr_582 (and (domain ) (not (hal_contexthub_client hal_contexthub_server ))))
+(typeattributeset base_typeattr_582 (and (domain ) (not (hal_dumpstate_server ))))
 (typeattribute base_typeattr_581)
-(typeattributeset base_typeattr_581 (and (domain ) (not (hal_contexthub_server ))))
+(typeattributeset base_typeattr_581 (and (domain ) (not (hal_drm_client hal_drm_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_580)
-(typeattributeset base_typeattr_580 (and (domain ) (not (hal_confirmationui_client hal_confirmationui_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_580 (and (domain ) (not (hal_drm_client hal_drm_server ))))
 (typeattribute base_typeattr_579)
-(typeattributeset base_typeattr_579 (and (domain ) (not (hal_confirmationui_client hal_confirmationui_server ))))
+(typeattributeset base_typeattr_579 (and (domain ) (not (hal_drm_server ))))
 (typeattribute base_typeattr_578)
-(typeattributeset base_typeattr_578 (and (domain ) (not (hal_confirmationui_server ))))
+(typeattributeset base_typeattr_578 (and (domain ) (not (hal_contexthub_client hal_contexthub_server ))))
 (typeattribute base_typeattr_577)
-(typeattributeset base_typeattr_577 (and (data_file_type ) (not (anr_data_file tombstone_data_file ))))
+(typeattributeset base_typeattr_577 (and (domain ) (not (hal_contexthub_server ))))
 (typeattribute base_typeattr_576)
-(typeattributeset base_typeattr_576 (and (domain ) (not (hal_configstore_server logd prng_seeder tombstoned ))))
+(typeattributeset base_typeattr_576 (and (domain ) (not (hal_confirmationui_client hal_confirmationui_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_575)
-(typeattributeset base_typeattr_575 (and (domain ) (not (hal_configstore_client hal_configstore_server ))))
+(typeattributeset base_typeattr_575 (and (domain ) (not (hal_confirmationui_client hal_confirmationui_server ))))
 (typeattribute base_typeattr_574)
-(typeattributeset base_typeattr_574 (and (domain ) (not (hal_configstore_server ))))
+(typeattributeset base_typeattr_574 (and (domain ) (not (hal_confirmationui_server ))))
 (typeattribute base_typeattr_573)
-(typeattributeset base_typeattr_573 (and (hal_codec2_client ) (not (isolated_app_all ))))
+(typeattributeset base_typeattr_573 (and (data_file_type ) (not (anr_data_file tombstone_data_file ))))
 (typeattribute base_typeattr_572)
-(typeattributeset base_typeattr_572 (and (domain ) (not (hal_codec2_client hal_codec2_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_572 (and (domain ) (not (hal_configstore_server logd prng_seeder tombstoned ))))
 (typeattribute base_typeattr_571)
-(typeattributeset base_typeattr_571 (and (domain ) (not (hal_codec2_client hal_codec2_server ))))
+(typeattributeset base_typeattr_571 (and (domain ) (not (hal_configstore_client hal_configstore_server ))))
 (typeattribute base_typeattr_570)
-(typeattributeset base_typeattr_570 (and (domain ) (not (hal_codec2_server ))))
+(typeattributeset base_typeattr_570 (and (domain ) (not (hal_configstore_server ))))
 (typeattribute base_typeattr_569)
-(typeattributeset base_typeattr_569 (and (domain ) (not (hal_cas_client hal_cas_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_569 (and (hal_codec2_client ) (not (isolated_app_all ))))
 (typeattribute base_typeattr_568)
-(typeattributeset base_typeattr_568 (and (domain ) (not (hal_cas_client hal_cas_server ))))
+(typeattributeset base_typeattr_568 (and (domain ) (not (hal_codec2_client hal_codec2_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_567)
-(typeattributeset base_typeattr_567 (and (domain ) (not (hal_cas_server ))))
+(typeattributeset base_typeattr_567 (and (domain ) (not (hal_codec2_client hal_codec2_server ))))
 (typeattribute base_typeattr_566)
-(typeattributeset base_typeattr_566 (and (domain ) (not (hal_can_controller_client hal_can_controller_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_566 (and (domain ) (not (hal_codec2_server ))))
 (typeattribute base_typeattr_565)
-(typeattributeset base_typeattr_565 (and (domain ) (not (hal_can_bus_client hal_can_bus_server ))))
+(typeattributeset base_typeattr_565 (and (domain ) (not (hal_cas_client hal_cas_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_564)
-(typeattributeset base_typeattr_564 (and (domain ) (not (hal_can_bus_server ))))
+(typeattributeset base_typeattr_564 (and (domain ) (not (hal_cas_client hal_cas_server ))))
 (typeattribute base_typeattr_563)
-(typeattributeset base_typeattr_563 (and (domain ) (not (hal_can_controller_client hal_can_controller_server ))))
+(typeattributeset base_typeattr_563 (and (domain ) (not (hal_cas_server ))))
 (typeattribute base_typeattr_562)
-(typeattributeset base_typeattr_562 (and (domain ) (not (hal_can_controller_server ))))
+(typeattributeset base_typeattr_562 (and (domain ) (not (hal_can_controller_client hal_can_controller_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_561)
-(typeattributeset base_typeattr_561 (and (halserverdomain ) (not (hal_camera_server ))))
+(typeattributeset base_typeattr_561 (and (domain ) (not (hal_can_bus_client hal_can_bus_server ))))
 (typeattribute base_typeattr_560)
-(typeattributeset base_typeattr_560 (and (appdomain ) (not (isolated_app ))))
+(typeattributeset base_typeattr_560 (and (domain ) (not (hal_can_bus_server ))))
 (typeattribute base_typeattr_559)
-(typeattributeset base_typeattr_559 (and (domain ) (not (hal_camera_client hal_camera_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_559 (and (domain ) (not (hal_can_controller_client hal_can_controller_server ))))
 (typeattribute base_typeattr_558)
-(typeattributeset base_typeattr_558 (and (domain ) (not (hal_camera_client hal_camera_server ))))
+(typeattributeset base_typeattr_558 (and (domain ) (not (hal_can_controller_server ))))
 (typeattribute base_typeattr_557)
-(typeattributeset base_typeattr_557 (and (domain ) (not (hal_camera_server ))))
+(typeattributeset base_typeattr_557 (and (halserverdomain ) (not (hal_camera_server ))))
 (typeattribute base_typeattr_556)
-(typeattributeset base_typeattr_556 (and (domain ) (not (hal_broadcastradio_client hal_broadcastradio_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_556 (and (appdomain ) (not (isolated_app ))))
 (typeattribute base_typeattr_555)
-(typeattributeset base_typeattr_555 (and (domain ) (not (hal_broadcastradio_client hal_broadcastradio_server ))))
+(typeattributeset base_typeattr_555 (and (domain ) (not (hal_camera_client hal_camera_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_554)
-(typeattributeset base_typeattr_554 (and (domain ) (not (hal_broadcastradio_server ))))
+(typeattributeset base_typeattr_554 (and (domain ) (not (hal_camera_client hal_camera_server ))))
 (typeattribute base_typeattr_553)
-(typeattributeset base_typeattr_553 (and (domain ) (not (hal_bootctl_client hal_bootctl_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_553 (and (domain ) (not (hal_camera_server ))))
 (typeattribute base_typeattr_552)
-(typeattributeset base_typeattr_552 (and (domain ) (not (hal_bootctl_client hal_bootctl_server ))))
+(typeattributeset base_typeattr_552 (and (domain ) (not (hal_broadcastradio_client hal_broadcastradio_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_551)
-(typeattributeset base_typeattr_551 (and (domain ) (not (hal_bootctl_server ))))
+(typeattributeset base_typeattr_551 (and (domain ) (not (hal_broadcastradio_client hal_broadcastradio_server ))))
 (typeattribute base_typeattr_550)
-(typeattributeset base_typeattr_550 (and (domain ) (not (hal_bluetooth_client hal_bluetooth_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_550 (and (domain ) (not (hal_broadcastradio_server ))))
 (typeattribute base_typeattr_549)
-(typeattributeset base_typeattr_549 (and (domain ) (not (hal_bluetooth_client hal_bluetooth_server ))))
+(typeattributeset base_typeattr_549 (and (domain ) (not (hal_bootctl_client hal_bootctl_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_548)
-(typeattributeset base_typeattr_548 (and (domain ) (not (hal_bluetooth_server ))))
+(typeattributeset base_typeattr_548 (and (domain ) (not (hal_bootctl_client hal_bootctl_server ))))
 (typeattribute base_typeattr_547)
-(typeattributeset base_typeattr_547 (and (domain ) (not (hal_authsecret_client hal_authsecret_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_547 (and (domain ) (not (hal_bootctl_server ))))
 (typeattribute base_typeattr_546)
-(typeattributeset base_typeattr_546 (and (domain ) (not (hal_authsecret_client hal_authsecret_server ))))
+(typeattributeset base_typeattr_546 (and (domain ) (not (hal_bluetooth_client hal_bluetooth_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_545)
-(typeattributeset base_typeattr_545 (and (domain ) (not (hal_authsecret_server ))))
+(typeattributeset base_typeattr_545 (and (domain ) (not (hal_bluetooth_client hal_bluetooth_server ))))
 (typeattribute base_typeattr_544)
-(typeattributeset base_typeattr_544 (and (domain ) (not (hal_authgraph_client hal_authgraph_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_544 (and (domain ) (not (hal_bluetooth_server ))))
 (typeattribute base_typeattr_543)
-(typeattributeset base_typeattr_543 (and (domain ) (not (hal_authgraph_server ))))
+(typeattributeset base_typeattr_543 (and (domain ) (not (hal_authsecret_client hal_authsecret_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_542)
-(typeattributeset base_typeattr_542 (and (domain ) (not (hal_audiocontrol_client hal_audiocontrol_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_542 (and (domain ) (not (hal_authsecret_client hal_authsecret_server ))))
 (typeattribute base_typeattr_541)
-(typeattributeset base_typeattr_541 (and (domain ) (not (hal_audiocontrol_client hal_audiocontrol_server ))))
+(typeattributeset base_typeattr_541 (and (domain ) (not (hal_authsecret_server ))))
 (typeattribute base_typeattr_540)
-(typeattributeset base_typeattr_540 (and (domain ) (not (hal_audiocontrol_server ))))
+(typeattributeset base_typeattr_540 (and (domain ) (not (hal_authgraph_client hal_authgraph_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_539)
-(typeattributeset base_typeattr_539 (and (halserverdomain ) (not (hal_audio_server hal_omx_server ))))
+(typeattributeset base_typeattr_539 (and (domain ) (not (hal_authgraph_server ))))
 (typeattribute base_typeattr_538)
-(typeattributeset base_typeattr_538 (and (domain ) (not (hal_audio_client hal_audio_server atrace shell system_app traceur_app ))))
+(typeattributeset base_typeattr_538 (and (domain ) (not (hal_audiocontrol_client hal_audiocontrol_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_537)
-(typeattributeset base_typeattr_537 (and (domain ) (not (hal_audio_client hal_audio_server ))))
+(typeattributeset base_typeattr_537 (and (domain ) (not (hal_audiocontrol_client hal_audiocontrol_server ))))
 (typeattribute base_typeattr_536)
-(typeattributeset base_typeattr_536 (and (domain ) (not (hal_audio_server ))))
+(typeattributeset base_typeattr_536 (and (domain ) (not (hal_audiocontrol_server ))))
 (typeattribute base_typeattr_535)
-(typeattributeset base_typeattr_535 (and (domain ) (not (hal_atrace_client hal_atrace_server ))))
+(typeattributeset base_typeattr_535 (and (halserverdomain ) (not (hal_audio_server hal_omx_server ))))
 (typeattribute base_typeattr_534)
-(typeattributeset base_typeattr_534 (and (domain ) (not (hal_atrace_server ))))
+(typeattributeset base_typeattr_534 (and (domain ) (not (hal_audio_client hal_audio_server atrace shell system_app traceur_app ))))
 (typeattribute base_typeattr_533)
-(typeattributeset base_typeattr_533 (and (domain ) (not (hal_allocator_client hal_allocator_server ))))
+(typeattributeset base_typeattr_533 (and (domain ) (not (hal_audio_client hal_audio_server ))))
 (typeattribute base_typeattr_532)
-(typeattributeset base_typeattr_532 (and (domain ) (not (hal_allocator_server ))))
+(typeattributeset base_typeattr_532 (and (domain ) (not (hal_audio_server ))))
 (typeattribute base_typeattr_531)
-(typeattributeset base_typeattr_531 (and (domain ) (not (init gsid ))))
+(typeattributeset base_typeattr_531 (and (domain ) (not (hal_atrace_client hal_atrace_server ))))
 (typeattribute base_typeattr_530)
-(typeattributeset base_typeattr_530 (and (gsi_metadata_file_type ) (not (gsi_public_metadata_file ))))
+(typeattributeset base_typeattr_530 (and (domain ) (not (hal_atrace_server ))))
 (typeattribute base_typeattr_529)
-(typeattributeset base_typeattr_529 (and (domain ) (not (fastbootd init gsid ))))
+(typeattributeset base_typeattr_529 (and (domain ) (not (hal_allocator_client hal_allocator_server ))))
 (typeattribute base_typeattr_528)
-(typeattributeset base_typeattr_528 (and (domain ) (not (update_engine_common fastbootd init recovery gsid ))))
+(typeattributeset base_typeattr_528 (and (domain ) (not (hal_allocator_server ))))
 (typeattribute base_typeattr_527)
-(typeattributeset base_typeattr_527 (and (domain ) (not (gsid ))))
+(typeattributeset base_typeattr_527 (and (domain ) (not (init gsid ))))
 (typeattribute base_typeattr_526)
-(typeattributeset base_typeattr_526 (and (domain ) (not (gpuservice init vendor_init ))))
+(typeattributeset base_typeattr_526 (and (gsi_metadata_file_type ) (not (gsi_public_metadata_file ))))
 (typeattribute base_typeattr_525)
-(typeattributeset base_typeattr_525 (and (domain ) (not (gpuservice ))))
+(typeattributeset base_typeattr_525 (and (domain ) (not (fastbootd init gsid ))))
 (typeattribute base_typeattr_524)
-(typeattributeset base_typeattr_524 (and (domain ) (not (dumpstate gmscore_app init vendor_init ))))
+(typeattributeset base_typeattr_524 (and (domain ) (not (update_engine_common fastbootd init recovery gsid ))))
 (typeattribute base_typeattr_523)
-(typeattributeset base_typeattr_523 (and (domain ) (not (crash_dump gmscore_app runas_app simpleperf ))))
+(typeattributeset base_typeattr_523 (and (domain ) (not (gsid ))))
 (typeattribute base_typeattr_522)
-(typeattributeset base_typeattr_522 (and (appdomain ) (not (gmscore_app runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_522 (and (domain ) (not (gpuservice init vendor_init ))))
 (typeattribute base_typeattr_521)
-(typeattributeset base_typeattr_521 (and (gmscore_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_521 (and (domain ) (not (gpuservice ))))
 (typeattribute base_typeattr_520)
-(typeattributeset base_typeattr_520 (and (domain ) (not (gmscore_app ))))
+(typeattributeset base_typeattr_520 (and (domain ) (not (dumpstate gmscore_app init vendor_init ))))
 (typeattribute base_typeattr_519)
-(typeattributeset base_typeattr_519 (and (domain ) (not (gatekeeperd ))))
+(typeattributeset base_typeattr_519 (and (domain ) (not (crash_dump gmscore_app runas_app simpleperf ))))
 (typeattribute base_typeattr_518)
-(typeattributeset base_typeattr_518 (and (fs_type file_type ) (not (fuseblkd_untrusted_exec ))))
+(typeattributeset base_typeattr_518 (and (appdomain ) (not (gmscore_app runas_app shell simpleperf ))))
 (typeattribute base_typeattr_517)
-(typeattributeset base_typeattr_517 (and (fs_type file_type ) (not (fuseblkd_exec ))))
+(typeattributeset base_typeattr_517 (and (gmscore_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_516)
-(typeattributeset base_typeattr_516 (and (domain ) (not (fuseblkd_untrusted ))))
+(typeattributeset base_typeattr_516 (and (domain ) (not (gmscore_app ))))
 (typeattribute base_typeattr_515)
-(typeattributeset base_typeattr_515 (and (fs_type file_type ) (not (fsck_exec ))))
+(typeattributeset base_typeattr_515 (and (domain ) (not (gatekeeperd ))))
 (typeattribute base_typeattr_514)
-(typeattributeset base_typeattr_514 (and (domain ) (not (init vold ))))
+(typeattributeset base_typeattr_514 (and (fs_type file_type ) (not (fuseblkd_untrusted_exec ))))
 (typeattribute base_typeattr_513)
-(typeattributeset base_typeattr_513 (and (domain ) (not (flags_health_check init ))))
+(typeattributeset base_typeattr_513 (and (fs_type file_type ) (not (fuseblkd_exec ))))
 (typeattribute base_typeattr_512)
-(typeattributeset base_typeattr_512 (and (domain ) (not (fingerprintd ))))
+(typeattributeset base_typeattr_512 (and (domain ) (not (fuseblkd_untrusted ))))
 (typeattribute base_typeattr_511)
-(typeattributeset base_typeattr_511 (and (domain ) (not (fastbootd ))))
+(typeattributeset base_typeattr_511 (and (fs_type file_type ) (not (fsck_exec ))))
 (typeattribute base_typeattr_510)
-(typeattributeset base_typeattr_510 (and (domain ) (not (evsmanagerd ))))
+(typeattributeset base_typeattr_510 (and (domain ) (not (init vold ))))
 (typeattribute base_typeattr_509)
-(typeattributeset base_typeattr_509 (and (domain ) (not (crash_dump ephemeral_app runas_app simpleperf ))))
+(typeattributeset base_typeattr_509 (and (domain ) (not (flags_health_check init ))))
 (typeattribute base_typeattr_508)
-(typeattributeset base_typeattr_508 (and (appdomain ) (not (ephemeral_app runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_508 (and (domain ) (not (fingerprintd ))))
 (typeattribute base_typeattr_507)
-(typeattributeset base_typeattr_507 (and (ephemeral_app ) (not (runas_app shell simpleperf ))))
+(typeattributeset base_typeattr_507 (and (domain ) (not (fastbootd ))))
 (typeattribute base_typeattr_506)
-(typeattributeset base_typeattr_506 (and (domain ) (not (ephemeral_app ))))
+(typeattributeset base_typeattr_506 (and (domain ) (not (evsmanagerd ))))
 (typeattribute base_typeattr_505)
-(typeattributeset base_typeattr_505 (and (domain ) (not (early_virtmgr ))))
+(typeattributeset base_typeattr_505 (and (domain ) (not (crash_dump ephemeral_app runas_app simpleperf ))))
 (typeattribute base_typeattr_504)
-(typeattributeset base_typeattr_504 (and (domain ) (not (crosvm early_virtmgr ))))
+(typeattributeset base_typeattr_504 (and (appdomain ) (not (ephemeral_app runas_app shell simpleperf ))))
 (typeattribute base_typeattr_503)
-(typeattributeset base_typeattr_503 (and (domain ) (not (crosvm early_virtmgr init ))))
+(typeattributeset base_typeattr_503 (and (ephemeral_app ) (not (runas_app shell simpleperf ))))
 (typeattribute base_typeattr_502)
-(typeattributeset base_typeattr_502 (and (domain ) (not (apexd dumpstate init system_server vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_502 (and (domain ) (not (ephemeral_app ))))
 (typeattribute base_typeattr_501)
-(typeattributeset base_typeattr_501 (and (domain ) (not (dumpstate shell system_server traceur_app ))))
+(typeattributeset base_typeattr_501 (and (domain ) (not (early_virtmgr ))))
 (typeattribute base_typeattr_500)
-(typeattributeset base_typeattr_500 (and (domain ) (not (dumpstate ))))
+(typeattributeset base_typeattr_500 (and (domain ) (not (crosvm early_virtmgr ))))
 (typeattribute base_typeattr_499)
-(typeattributeset base_typeattr_499 (and (service_manager_type ) (not (hal_service_type apex_service default_android_service dumpstate_service gatekeeper_service virtual_touchpad_service vold_service fwk_vold_service ))))
+(typeattributeset base_typeattr_499 (and (domain ) (not (crosvm early_virtmgr init ))))
 (typeattribute base_typeattr_498)
-(typeattributeset base_typeattr_498 (and (domain ) (not (drmserver ))))
+(typeattributeset base_typeattr_498 (and (domain ) (not (apexd dumpstate init system_server vold_prepare_subdirs ))))
 (typeattribute base_typeattr_497)
-(typeattributeset base_typeattr_497 (and (domain ) (not (init ueventd vendor_init ))))
+(typeattributeset base_typeattr_497 (and (domain ) (not (dumpstate shell system_server traceur_app ))))
 (typeattribute base_typeattr_496)
-(typeattributeset base_typeattr_496 (and (domain ) (not (init zygote dexopt_chroot_setup ))))
+(typeattributeset base_typeattr_496 (and (domain ) (not (dumpstate ))))
 (typeattribute base_typeattr_495)
-(typeattributeset base_typeattr_495 (and (domain ) (not (init dexopt_chroot_setup ))))
+(typeattributeset base_typeattr_495 (and (service_manager_type ) (not (hal_service_type apex_service default_android_service dumpstate_service gatekeeper_service virtual_touchpad_service vold_service fwk_vold_service ))))
 (typeattribute base_typeattr_494)
-(typeattributeset base_typeattr_494 (and (domain ) (not (gmscore_app init vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_494 (and (domain ) (not (drmserver ))))
 (typeattribute base_typeattr_493)
-(typeattributeset base_typeattr_493 (and (domain ) (not (appdomain artd installd system_server traced_probes ))))
+(typeattributeset base_typeattr_493 (and (domain ) (not (init ueventd vendor_init ))))
 (typeattribute base_typeattr_492)
-(typeattributeset base_typeattr_492 (and (domain ) (not (appdomain adbd artd dumpstate init installd simpleperf_app_runner system_server ))))
+(typeattributeset base_typeattr_492 (and (domain ) (not (init zygote dexopt_chroot_setup ))))
 (typeattribute base_typeattr_491)
-(typeattributeset base_typeattr_491 (and (domain ) (not (adbd artd dumpstate init installd shell vold ))))
+(typeattributeset base_typeattr_491 (and (domain ) (not (init dexopt_chroot_setup ))))
 (typeattribute base_typeattr_490)
-(typeattributeset base_typeattr_490 (and (domain ) (not (appdomain adbd artd dumpstate installd ))))
+(typeattributeset base_typeattr_490 (and (domain ) (not (gmscore_app init vold_prepare_subdirs ))))
 (typeattribute base_typeattr_489)
-(typeattributeset base_typeattr_489 (and (domain ) (not (init kernel vendor_modprobe uprobestats ))))
+(typeattributeset base_typeattr_489 (and (domain ) (not (appdomain artd installd system_server traced_probes ))))
 (typeattribute base_typeattr_488)
-(typeattributeset base_typeattr_488 (and (domain ) (not (ueventd vendor_init ))))
+(typeattributeset base_typeattr_488 (and (domain ) (not (appdomain adbd artd dumpstate init installd simpleperf_app_runner system_server ))))
 (typeattribute base_typeattr_487)
-(typeattributeset base_typeattr_487 (and (debugfs_type ) (not (tracefs_type ))))
+(typeattributeset base_typeattr_487 (and (domain ) (not (adbd artd dumpstate init installd shell vold ))))
 (typeattribute base_typeattr_486)
-(typeattributeset base_typeattr_486 (and (domain ) (not (vendor_modprobe ))))
+(typeattributeset base_typeattr_486 (and (domain ) (not (appdomain adbd artd dumpstate installd ))))
 (typeattribute base_typeattr_485)
-(typeattributeset base_typeattr_485 (and (domain ) (not (init traced_perf traced_probes ))))
+(typeattributeset base_typeattr_485 (and (domain ) (not (init kernel vendor_modprobe uprobestats ))))
 (typeattribute base_typeattr_484)
-(typeattributeset base_typeattr_484 (and (domain ) (not (init dexopt_chroot_setup otapreopt_chroot ))))
+(typeattributeset base_typeattr_484 (and (domain ) (not (ueventd vendor_init ))))
 (typeattribute base_typeattr_483)
-(typeattributeset base_typeattr_483 (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 ))))
+(typeattributeset base_typeattr_483 (and (debugfs_type ) (not (tracefs_type ))))
 (typeattribute base_typeattr_482)
-(typeattributeset base_typeattr_482 (and (coredomain ) (not (system_executes_vendor_violators crash_dump crosvm heapprofd init kernel shell traced_perf ueventd vold ))))
+(typeattributeset base_typeattr_482 (and (domain ) (not (vendor_modprobe ))))
 (typeattribute base_typeattr_481)
-(typeattributeset base_typeattr_481 (and (coredomain ) (not (heapprofd init logd mdnsd netd prng_seeder tombstoned traced traced_perf ))))
+(typeattributeset base_typeattr_481 (and (domain ) (not (init traced_perf traced_probes ))))
 (typeattribute base_typeattr_480)
-(typeattributeset base_typeattr_480 (and (domain ) (not (appdomain coredomain socket_between_core_and_vendor_violators ))))
+(typeattributeset base_typeattr_480 (and (domain ) (not (init dexopt_chroot_setup otapreopt_chroot ))))
 (typeattribute base_typeattr_479)
-(typeattributeset base_typeattr_479 (and (coredomain ) (not (appdomain bootanim crash_dump heapprofd init kernel traced_perf ueventd ))))
+(typeattributeset base_typeattr_479 (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_478)
-(typeattributeset base_typeattr_478 (and (domain ) (not (init vendor_init art_boot ))))
+(typeattributeset base_typeattr_478 (and (coredomain ) (not (system_executes_vendor_violators crash_dump crosvm heapprofd init kernel shell traced_perf ueventd vold ))))
 (typeattribute base_typeattr_477)
-(typeattributeset base_typeattr_477 (and (domain ) (not (dumpstate init system_server ))))
+(typeattributeset base_typeattr_477 (and (coredomain ) (not (heapprofd init logd mdnsd netd prng_seeder tombstoned traced traced_perf ))))
 (typeattribute base_typeattr_476)
-(typeattributeset base_typeattr_476 (and (domain ) (not (fsck init installd zygote ))))
+(typeattributeset base_typeattr_476 (and (domain ) (not (appdomain coredomain socket_between_core_and_vendor_violators ))))
 (typeattribute base_typeattr_475)
-(typeattributeset base_typeattr_475 (and (domain ) (not (hal_bootctl_server fastbootd init kernel recovery tee ueventd uncrypt gsid ))))
+(typeattributeset base_typeattr_475 (and (coredomain ) (not (appdomain bootanim crash_dump heapprofd init kernel traced_perf ueventd ))))
 (typeattribute base_typeattr_474)
-(typeattributeset base_typeattr_474 (and (debugfs_type ) (not (debugfs_tracing_debug ))))
+(typeattributeset base_typeattr_474 (and (domain ) (not (init vendor_init art_boot ))))
 (typeattribute base_typeattr_473)
-(typeattributeset base_typeattr_473 (and (fs_type ) (not (fusefs_type sdcard_type ))))
+(typeattributeset base_typeattr_473 (and (domain ) (not (dumpstate init system_server ))))
 (typeattribute base_typeattr_472)
-(typeattributeset base_typeattr_472 (and (domain ) (not (apexd init kernel recovery update_engine vold zygote dexopt_chroot_setup otapreopt_chroot ))))
+(typeattributeset base_typeattr_472 (and (domain ) (not (fsck init installd zygote ))))
 (typeattribute base_typeattr_471)
-(typeattributeset base_typeattr_471 (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 ) ))
+(typeattributeset base_typeattr_471 (and (domain ) (not (hal_bootctl_server fastbootd init kernel recovery tee ueventd uncrypt gsid ))))
 (typeattribute base_typeattr_470)
-(typeattributeset base_typeattr_470 (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 ) ))
+(typeattributeset base_typeattr_470 (and (debugfs_type ) (not (debugfs_tracing_debug ))))
 (typeattribute base_typeattr_469)
-(typeattributeset base_typeattr_469 (and (domain ) (not (apexd init vold_prepare_subdirs compos_fd_server composd odrefresh odsign ))))
+(typeattributeset base_typeattr_469 (and (fs_type ) (not (fusefs_type sdcard_type ))))
 (typeattribute base_typeattr_468)
-(typeattributeset base_typeattr_468 (and (domain ) (not (artd init installd zygote cppreopts dex2oat otapreopt_slot postinstall_dexopt ))))
+(typeattributeset base_typeattr_468 (and (domain ) (not (apexd init kernel recovery update_engine vold zygote dexopt_chroot_setup otapreopt_chroot ))))
 (typeattribute base_typeattr_467)
-(typeattributeset base_typeattr_467 (and (file_type ) (not (exec_type system_file_type vendor_file_type system_lib_file system_bootstrap_lib_file system_linker_exec postinstall_file ))))
+(typeattributeset base_typeattr_467 (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_466)
-(typeattributeset base_typeattr_466 (and (domain ) (not (appdomain app_zygote shell webview_zygote zygote system_server_startup ))))
+(typeattributeset base_typeattr_466 (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_465)
-(typeattributeset base_typeattr_465 (and (fs_type ) (not (rootfs ))))
+(typeattributeset base_typeattr_465 (and (domain ) (not (apexd init vold_prepare_subdirs compos_fd_server composd odrefresh odsign ))))
 (typeattribute base_typeattr_464)
-(typeattributeset base_typeattr_464 (and (domain ) (not (appdomain bootanim recovery ))))
+(typeattributeset base_typeattr_464 (and (domain ) (not (artd init installd zygote cppreopts dex2oat otapreopt_slot postinstall_dexopt ))))
 (typeattribute base_typeattr_463)
-(typeattributeset base_typeattr_463 (and (domain ) (not (apexd init installd system_server update_provider ))))
+(typeattributeset base_typeattr_463 (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_462)
-(typeattributeset base_typeattr_462 (and (domain ) (not (init installd system_server update_provider ))))
+(typeattributeset base_typeattr_462 (and (domain ) (not (appdomain app_zygote shell webview_zygote zygote system_server_startup ))))
 (typeattribute base_typeattr_461)
-(typeattributeset base_typeattr_461 (and (domain ) (not (adbd apexd crosvm init installd kernel priv_app shell system_app system_server virtualizationmanager update_provider ))))
+(typeattributeset base_typeattr_461 (and (fs_type ) (not (rootfs ))))
 (typeattribute base_typeattr_460)
-(typeattributeset base_typeattr_460 (and (domain ) (not (apexd init installd priv_app system_server virtualizationmanager update_provider ))))
+(typeattributeset base_typeattr_460 (and (domain ) (not (appdomain bootanim recovery ))))
 (typeattribute base_typeattr_459)
-(typeattributeset base_typeattr_459 (and (domain ) (not (artd installd ))))
+(typeattributeset base_typeattr_459 (and (domain ) (not (apexd init installd system_server update_provider ))))
 (typeattribute base_typeattr_458)
-(typeattributeset base_typeattr_458 (and (domain ) (not (appdomain app_zygote artd installd rs ))))
+(typeattributeset base_typeattr_458 (and (domain ) (not (init installd system_server update_provider ))))
 (typeattribute base_typeattr_457)
-(typeattributeset base_typeattr_457 (and (domain ) (not (appdomain artd installd rs vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_457 (and (domain ) (not (adbd apexd crosvm init installd kernel priv_app shell system_app system_server virtualizationmanager update_provider ))))
 (typeattribute base_typeattr_456)
-(typeattributeset base_typeattr_456 (and (domain ) (not (appdomain artd installd rs ))))
+(typeattributeset base_typeattr_456 (and (domain ) (not (apexd init installd priv_app system_server virtualizationmanager update_provider ))))
 (typeattribute base_typeattr_455)
-(typeattributeset base_typeattr_455 (and (domain ) (not (init installd vold vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_455 (and (domain ) (not (artd installd ))))
 (typeattribute base_typeattr_454)
-(typeattributeset base_typeattr_454 (and (domain ) (not (appdomain app_zygote artd installd rs system_server vold vold_prepare_subdirs zygote ))))
+(typeattributeset base_typeattr_454 (and (domain ) (not (appdomain app_zygote artd installd rs ))))
 (typeattribute base_typeattr_453)
-(typeattributeset base_typeattr_453 (and (domain ) (not (appdomain adbd app_zygote artd installd profman rs runas system_server zygote ))))
+(typeattributeset base_typeattr_453 (and (domain ) (not (appdomain artd installd rs ))))
 (typeattribute base_typeattr_452)
-(typeattributeset base_typeattr_452 (and (domain ) (not (artd installd vold_prepare_subdirs ))))
+(typeattributeset base_typeattr_452 (and (domain ) (not (appdomain adbd app_zygote artd installd profman rs runas system_server zygote ))))
 (typeattribute base_typeattr_451)
 (typeattributeset base_typeattr_451 (and (domain ) (not (gmscore_app priv_app ))))
 (typeattribute base_typeattr_450)
@@ -34633,7 +33972,7 @@
 (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 (mediaprovider_app ))))
 (typeattribute base_typeattr_278)
-(typeattributeset base_typeattr_278 (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 ))))
+(typeattributeset base_typeattr_278 (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 ))))
 (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 (untrusted_app_30 untrusted_app_29 untrusted_app_27 untrusted_app_25 ))))
 (typeattribute base_typeattr_276)
diff --git a/prebuilts/api/202504/private/mediaserver.te b/prebuilts/api/202504/private/mediaserver.te
index d72caf6..dbba2f1 100644
--- a/prebuilts/api/202504/private/mediaserver.te
+++ b/prebuilts/api/202504/private/mediaserver.te
@@ -135,7 +135,6 @@
 # /vendor apk access
 allow mediaserver vendor_app_file:file { read map getattr };
 
-use_drmservice(mediaserver)
 allow mediaserver drmserver:drmservice {
     consumeRights
     setPlaybackStatus
diff --git a/prebuilts/api/202504/public/te_macros b/prebuilts/api/202504/public/te_macros
index 2ba15b3..bd7da4c 100644
--- a/prebuilts/api/202504/public/te_macros
+++ b/prebuilts/api/202504/public/te_macros
@@ -420,10 +420,6 @@
 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.
 ')
@@ -436,10 +432,6 @@
 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.
 ')
@@ -452,10 +444,6 @@
 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;
 ')
 
 #####################################
@@ -693,12 +681,7 @@
 #####################################
 # 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;
@@ -710,25 +693,12 @@
 # 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
diff --git a/private/mediaserver.te b/private/mediaserver.te
index d72caf6..dbba2f1 100644
--- a/private/mediaserver.te
+++ b/private/mediaserver.te
@@ -135,7 +135,6 @@
 # /vendor apk access
 allow mediaserver vendor_app_file:file { read map getattr };
 
-use_drmservice(mediaserver)
 allow mediaserver drmserver:drmservice {
     consumeRights
     setPlaybackStatus
diff --git a/public/te_macros b/public/te_macros
index 2ba15b3..bd7da4c 100644
--- a/public/te_macros
+++ b/public/te_macros
@@ -420,10 +420,6 @@
 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.
 ')
@@ -436,10 +432,6 @@
 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.
 ')
@@ -452,10 +444,6 @@
 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;
 ')
 
 #####################################
@@ -693,12 +681,7 @@
 #####################################
 # 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;
@@ -710,25 +693,12 @@
 # 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
diff --git a/tests/apex_sepolicy_tests.py b/tests/apex_sepolicy_tests.py
index d8c5c2b..b1d02a6 100644
--- a/tests/apex_sepolicy_tests.py
+++ b/tests/apex_sepolicy_tests.py
@@ -119,6 +119,8 @@
             return path.startswith('./bin/') and not path.endswith('/')
         case MatchPred(pred):
             return pred(path)
+        case _:
+            sys.exit(f'unknown matcher: {matcher}')
 
 
 def check_rule(pol, path: str, tcontext: str, rule: Rule) -> List[str]:
@@ -186,15 +188,15 @@
 
 def system_vendor_rule(partition):
     exceptions = [
-        "./etc/linkerconfig.pb"
+        "./etc/linker.config.pb"
     ]
     def pred(path):
         return path not in exceptions
 
-    return pred, HasAttr(base_attr_for(partition))
+    return MatchPred(pred), HasAttr(base_attr_for(partition))
 
 
-def check_line(pol: policy.Policy, line: str, rules) -> List[str]:
+def check_line(pol: policy.Policy, line: str, rules, ignore_unknown_context=False) -> List[str]:
     """Parses a file_contexts line and runs checks"""
     # skip empty/comment line
     line = line.strip()
@@ -210,6 +212,9 @@
         return [f"Error: invalid file_contexts: {line}"]
     tcontext = context.split(':')[2]
 
+    if ignore_unknown_context and tcontext not in pol.GetAllTypes(False):
+        return []
+
     # check rules
     errors = []
     for matcher, rule in rules:
@@ -240,18 +245,19 @@
     policy_path = extract_data('precompiled_sepolicy', work_dir)
     pol = policy.Policy(policy_path, None, lib_path)
 
+    # ignore unknown contexts unless --all is specified
+    ignore_unknown_context = True
     if args.all:
-        rules = all_rules
-    else:
-        rules = generic_rules
+        ignore_unknown_context = False
 
+    rules = all_rules
     if args.partition:
         rules.append(system_vendor_rule(args.partition))
 
     errors = []
     with open(args.file_contexts, 'rt', encoding='utf-8') as file_contexts:
         for line in file_contexts:
-            errors.extend(check_line(pol, line, rules))
+            errors.extend(check_line(pol, line, rules, ignore_unknown_context))
     if len(errors) > 0:
         sys.exit('\n'.join(errors))
 
diff --git a/tests/apex_sepolicy_tests_test.py b/tests/apex_sepolicy_tests_test.py
index 2a92aee..4fcb36e 100644
--- a/tests/apex_sepolicy_tests_test.py
+++ b/tests/apex_sepolicy_tests_test.py
@@ -108,5 +108,16 @@
         self.assert_error('./bin/hw/svc u:object_r:vendor_file:s0',
                           r'Error: .*svc: can\'t be labelled as \'vendor_file\'')
 
+    def test_system_vendor(self):
+        line = './bin/foo u:object_r:vendor_file:s0'
+        rules = [apex.system_vendor_rule('system')]
+        errors = apex.check_line(self.pol, line, rules)
+        self.assertRegex(errors[0], r'Error: .* must be associated')
+
+        line = './bin/foo u:object_r:system_file:s0'
+        rules = [apex.system_vendor_rule('vendor')]
+        errors = apex.check_line(self.pol, line, rules)
+        self.assertRegex(errors[0], r'Error: .* must be associated')
+
 if __name__ == '__main__':
     unittest.main(verbosity=2)
